From 138dead9b8a35d843a74a799e2cfbe1b12b51189 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期五, 20 六月 2025 17:46:38 +0800 Subject: [PATCH] Merge branch 'master' of http://118.89.139.230:10101/r/powerIntelligenceSystem --- src/main/java/com/whyc/service/WorkflowLinkService.java | 23 +++++-- src/main/java/com/whyc/mapper/DeviceSpareMapper.java | 3 + src/main/java/com/whyc/service/DeviceSpareService.java | 53 +++++++++++++++++ src/main/resources/mapper/DeviceSpareMapper.xml | 16 +++++ src/main/java/com/whyc/controller/DeviceSpareController.java | 7 ++ src/main/resources/mapper/WorkflowMainMapper.xml | 40 ++++++------ src/main/java/com/whyc/controller/WorkflowMainController.java | 9 +- 7 files changed, 118 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/whyc/controller/DeviceSpareController.java b/src/main/java/com/whyc/controller/DeviceSpareController.java index f08aaf2..bda2800 100644 --- a/src/main/java/com/whyc/controller/DeviceSpareController.java +++ b/src/main/java/com/whyc/controller/DeviceSpareController.java @@ -42,6 +42,13 @@ return service.add(spare,file); } + @PostMapping("addByExcel") + @ApiOperation("excel瀵煎叆") + public Response addByExcel(@RequestParam MultipartFile file) throws IOException { + return service.addByExcel(file); + } + + @PostMapping("update") @ApiOperation("淇敼") public Response update(@RequestBody DeviceSpare spare) { diff --git a/src/main/java/com/whyc/controller/WorkflowMainController.java b/src/main/java/com/whyc/controller/WorkflowMainController.java index 5b15efa..a7a1fe2 100644 --- a/src/main/java/com/whyc/controller/WorkflowMainController.java +++ b/src/main/java/com/whyc/controller/WorkflowMainController.java @@ -7,6 +7,7 @@ import com.whyc.service.WorkflowLinkService; import com.whyc.service.WorkflowMainService; import com.whyc.util.ActionUtil; +import com.whyc.util.CommonUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -45,7 +46,7 @@ @GetMapping("ownStatistics") @ApiOperation(value = "鏈汉鐨勫崟鎹粺璁�",notes = "status鍚箟:1-瀹℃壒涓�,2-瀹℃壒瀹屾垚涓旈�氳繃,3-瀹℃壒瀹屾垚涓旈┏鍥�") public Response<Map<Integer,Integer>> getOwnStatistics(int type){ - int userId = ActionUtil.getUser().getId().intValue(); + int userId = CommonUtil.getUser().getId().intValue(); return service.getOwnStatistics(userId,type); } @@ -56,7 +57,7 @@ @GetMapping("ownListPage") @ApiOperation(value = "鏈汉鐨勫崟鎹垪琛ㄥ垎椤�",notes = "status浼犲弬:0:鍏ㄩ儴,1-瀹℃壒涓�,2-瀹℃壒瀹屾垚涓旈�氳繃,3-瀹℃壒瀹屾垚涓旈┏鍥�") public Response<PageInfo<WorkflowMain>> ownListPage(int type,int status,int pageNum,int pageSize){ - int userId = ActionUtil.getUser().getId().intValue(); + int userId = CommonUtil.getUser().getId().intValue(); return service.ownListPage(userId,type,status,pageNum,pageSize); } @@ -67,7 +68,7 @@ @GetMapping("receivedStatistics") @ApiOperation(value = "鎺ユ敹鍒扮殑鍗曟嵁缁熻",notes = "status鍚箟:1-寰呮帴鍗�,6-寰呭鏍�,58-宸插鏍�") public Response<Map<Integer,Integer>> getReceivedStatistics(int type){ - User user = ActionUtil.getUser(); + User user = CommonUtil.getUser(); return service.getReceivedStatistics(type,user); } @@ -78,7 +79,7 @@ @GetMapping("receivedListPage") @ApiOperation(value = "鎺ユ敹鍒扮殑鍗曟嵁鍒楄〃鍒嗛〉", notes = "status浼犲弬:0-鍏ㄩ儴,1-寰呮帴鍗�,6-寰呭鏍�,5|8-宸插鏍�(閫氳繃|椹冲洖)") public Response<PageInfo<WorkflowMain>> getReceivedListPage(int type, int status, int pageNum, int pageSize) { - User user = ActionUtil.getUser(); + User user = CommonUtil.getUser(); return service.getReceivedListPage(type, status, user, pageNum, pageSize); } diff --git a/src/main/java/com/whyc/mapper/DeviceSpareMapper.java b/src/main/java/com/whyc/mapper/DeviceSpareMapper.java index 50a605e..ddd3748 100644 --- a/src/main/java/com/whyc/mapper/DeviceSpareMapper.java +++ b/src/main/java/com/whyc/mapper/DeviceSpareMapper.java @@ -2,7 +2,10 @@ import com.whyc.pojo.web_site.DeviceSpare; +import java.util.List; + public interface DeviceSpareMapper extends CustomMapper<DeviceSpare>{ + void outBound(List<DeviceSpare> spareList); } diff --git a/src/main/java/com/whyc/service/DeviceSpareService.java b/src/main/java/com/whyc/service/DeviceSpareService.java index 5dd1598..72a0fea 100644 --- a/src/main/java/com/whyc/service/DeviceSpareService.java +++ b/src/main/java/com/whyc/service/DeviceSpareService.java @@ -12,6 +12,7 @@ import com.whyc.util.CommonUtil; import com.whyc.util.ThreadLocalUtil; import org.apache.commons.lang.StringUtils; +import org.apache.poi.ss.usermodel.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -20,6 +21,7 @@ import javax.annotation.Resource; import java.io.File; import java.io.IOException; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -160,7 +162,7 @@ return new Response<List<DeviceSpare>>().set(1,deviceSpares); } - public void add(List<DeviceSpare> spareList) { + public void addBatch(List<DeviceSpare> spareList) { mapper.insertBatchSomeColumn(spareList); } @@ -187,4 +189,53 @@ } } + + public void outBound(List<DeviceSpare> spareList) { + mapper.outBound(spareList); + } + + public Response addByExcel(MultipartFile file) throws IOException { + //灏嗘枃浠舵祦杞寲涓簑orkbook + Workbook book = WorkbookFactory.create(file.getInputStream()); + Sheet sheet = book.getSheetAt(0); + //鑾峰彇鏈�鍚庝竴琛� + int lastRowIndex = sheet.getLastRowNum(); + List<DeviceSpare> spareList = new ArrayList<>(); + for (int i = 1; i <= lastRowIndex; i++) { + DeviceSpare spare = new DeviceSpare(); + Row row = sheet.getRow(i); + //瀵规瘡琛岀殑鍓�7鍒楄繘琛岄潪绌烘牎楠� + for (int j = 0; j < 7; j++) { + Cell cell = row.getCell(j); + //闈炲浘鐗囧垪杩涜闈炵┖鏍¢獙.涓嶅悎瑙勬棤娉曚笂浼� + if (cell == null || cell.getCellType() == CellType.BLANK) { + return new Response().set(1, false, "绗�" + (i + 1) + "琛岀" + (j + 1) + "鍒楁暟鎹负绌�"); + } + } + //鑾峰彇鍒楃殑鍊� + String name = row.getCell(0).getStringCellValue(); + String model = row.getCell(1).getStringCellValue(); + String version = row.getCell(2).getStringCellValue(); + int quantity = (int) row.getCell(3).getNumericCellValue(); + String brand = row.getCell(4).getStringCellValue(); + String type = row.getCell(5).getStringCellValue(); + String supplier = row.getCell(6).getStringCellValue(); + spare.setName(name); + spare.setModel(model); + spare.setVersion(version); + spare.setQuantity(quantity); + spare.setBrand(brand); + spare.setType(type); + spare.setSupplier(supplier); + + spareList.add(spare); + //绗竷鍒椾负鍥剧墖 TODO 寰呭鐞� + /*Cell cell = row.getCell(7); + CellType cellType = cell.getCellType(); + System.out.println("-");*/ + } + addBatch(spareList); + + return null; + } } diff --git a/src/main/java/com/whyc/service/WorkflowLinkService.java b/src/main/java/com/whyc/service/WorkflowLinkService.java index f3acc30..d7b1737 100644 --- a/src/main/java/com/whyc/service/WorkflowLinkService.java +++ b/src/main/java/com/whyc/service/WorkflowLinkService.java @@ -72,7 +72,7 @@ link.setDealAndClose(1); } }break; - //璁惧鍏ュ簱鐢宠 TODO 鍏ュ簱褰卞搷搴撳瓨 + //璁惧鍏ュ簱鐢宠 case 2: //璁惧鎶ュ簾鐢宠 case 3:{ @@ -149,19 +149,26 @@ link.setDealAndClose(1); } }break; - case 4:{ //TODO 鍑哄簱鐢宠 + case 4:{ // 鍑哄簱鐢宠 if(link.getStatus() == WorkflowEnum.LINK_STATUS_PASS.getValue().intValue()){ - mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_WAIT_FOR_DEALING.getValue()); + mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_END_PASS.getValue()); + mainInDB.setEndTime(now); + mainInDB.setEndReason(link.getDealReason()); mainService.updateById(mainInDB); + //鑾峰彇鍑哄簱鐢宠鍗曡澶� + List<WorkflowDevice> deviceListInDB = deviceService.getByMainId(mainInDB.getId()); + List<DeviceSpare> spareList = new ArrayList<>(); + deviceListInDB.forEach(device -> { + DeviceSpare spare = new DeviceSpare(); + BeanUtils.copyProperties(device,spare); + spareList.add(spare); + }); + //鏇存柊搴撳瓨 + deviceSpareService.outBound(spareList); }else if(link.getStatus() == WorkflowEnum.LINK_STATUS_REJECT.getValue().intValue()){ mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_END_REJECT.getValue()); mainInDB.setEndReason(link.getDealRejectReason()); mainInDB.setEndTime(now); - //妫�鏌ユ槸鍚︽湁鍏宠仈宸ュ崟.濡傛灉鏈夊叧鑱斿伐鍗�,鍏宠仈宸ュ崟鐘舵�侀噸缃负瀹岀粨寰呭鐞�,瀹屾垚鏃堕棿閲嶇疆涓虹┖ - if(mainInDB.getRelatedId() != null){ - Integer relatedId = mainInDB.getRelatedId(); - //mainService.resetRepairStatus(relatedId,mainInDB.getQuantity()); - } mainService.updateById(mainInDB); link.setDealAndClose(1); } diff --git a/src/main/resources/mapper/DeviceSpareMapper.xml b/src/main/resources/mapper/DeviceSpareMapper.xml new file mode 100644 index 0000000..36a7fe5 --- /dev/null +++ b/src/main/resources/mapper/DeviceSpareMapper.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.whyc.mapper.DeviceSpareMapper" > + + <update id="outBound"> + <foreach collection="list" item="item" separator=";"> + update web_site.tb_device_spare set quantity = quantity - #{item.quantity} + where name = #{item.name} + and model = #{item.model} + and version = #{item.version} + and brand = #{item.brand} + and type = #{item.type} + and supplier = #{item.supplier} + </foreach> + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/WorkflowMainMapper.xml b/src/main/resources/mapper/WorkflowMainMapper.xml index 8c5dced..b065e9e 100644 --- a/src/main/resources/mapper/WorkflowMainMapper.xml +++ b/src/main/resources/mapper/WorkflowMainMapper.xml @@ -6,8 +6,8 @@ l.id link_id, l.main_id, l.parent_id, - l.process_level as lProcessLevel, - l.process_level_name, + l.process_stage, + l.process_name, l.create_time link_create_time, l.deal_user_id, l.deal_type, @@ -55,8 +55,8 @@ <id column="link_id" property="id"/> <result column="main_id" property="mainId"/> <result column="parent_id" property="parentId"/> - <result column="lProcessLevel" property="processLevel"/> - <result column="process_level_name" property="processLevelName"/> + <result column="process_stage" property="processStage"/> + <result column="process_name" property="processName"/> <result column="link_create_time" property="createTime"/> <result column="deal_user_id" property="dealUserId"/> <result column="deal_type" property="dealType"/> @@ -83,39 +83,39 @@ <choose> <!--鍏ㄩ儴--> <when test="status==0"> - SELECT m.*,u.uName as create_user_name,<include refid="linkColumn" /> - FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user_inf u + SELECT m.*,u.name as create_user_name,<include refid="linkColumn" /> + FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user u where m.id = l.main_id - and m.create_user_id = u.uId + and m.create_user_id = u.id and m.type = #{type} - and l.deal_role_id = #{user.uRole} + and l.deal_role_id = #{user.role} and l.deal_user_id is null union all - SELECT m.*,u.uName as create_user_name,<include refid="linkColumn" /> - FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user_inf u + SELECT m.*,u.name as create_user_name,<include refid="linkColumn" /> + FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user u where m.id = l.main_id - and m.create_user_id = u.uId + and m.create_user_id = u.id and m.type = #{type} - and l.deal_user_id = #{user.uId} order by id desc + and l.deal_user_id = #{user.id} order by id desc </when> <!--寰呮帴鍗�--> <when test="status==1"> - SELECT m.*,u.uName as create_user_name,<include refid="linkColumn" /> - FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user_inf u + SELECT m.*,u.name as create_user_name,<include refid="linkColumn" /> + FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user u where m.id = l.main_id - and m.create_user_id = u.uId + and m.create_user_id = u.id and m.type = #{type} - and l.deal_role_id = #{user.uRole} + and l.deal_role_id = #{user.role} and l.deal_user_id is null and l.status = #{status} order by m.id desc </when> <otherwise> - SELECT m.*,u.uName as create_user_name,<include refid="linkColumn" /> - FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user_inf u + SELECT m.*,u.name as create_user_name,<include refid="linkColumn" /> + FROM web_site.tb_workflow_main m,web_site.tb_workflow_link l,db_user.tb_user u where m.id = l.main_id - and m.create_user_id = u.uId + and m.create_user_id = u.id and m.type = #{type} - and l.deal_user_id = #{user.uId} + and l.deal_user_id = #{user.id} and l.status = #{status} order by m.id desc </otherwise> </choose> -- Gitblit v1.9.1