From 526721dd3acad281204e33d53b5168322ee31e56 Mon Sep 17 00:00:00 2001 From: whycxzp <glperry@163.com> Date: 星期五, 20 六月 2025 11:34:55 +0800 Subject: [PATCH] 维修调度-报废库 --- src/main/java/com/whyc/pojo/web_site/WorkflowMain.java | 5 - src/main/java/com/whyc/service/WorkflowLinkService.java | 31 +++++++-- src/main/java/com/whyc/service/DeviceScrapService.java | 19 ++++++ src/main/java/com/whyc/service/DeviceSpareService.java | 25 ++++++++ src/main/java/com/whyc/pojo/web_site/DeviceScrap.java | 41 +++++++++++++ src/main/java/com/whyc/service/WorkflowMainService.java | 1 src/main/java/com/whyc/mapper/DeviceScrapMapper.java | 6 ++ 7 files changed, 117 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/whyc/mapper/DeviceScrapMapper.java b/src/main/java/com/whyc/mapper/DeviceScrapMapper.java new file mode 100644 index 0000000..9c8bf39 --- /dev/null +++ b/src/main/java/com/whyc/mapper/DeviceScrapMapper.java @@ -0,0 +1,6 @@ +package com.whyc.mapper; + +import com.whyc.pojo.web_site.DeviceScrap; + +public interface DeviceScrapMapper extends CustomMapper<DeviceScrap>{ +} diff --git a/src/main/java/com/whyc/pojo/web_site/DeviceScrap.java b/src/main/java/com/whyc/pojo/web_site/DeviceScrap.java new file mode 100644 index 0000000..4dac8f5 --- /dev/null +++ b/src/main/java/com/whyc/pojo/web_site/DeviceScrap.java @@ -0,0 +1,41 @@ +package com.whyc.pojo.web_site; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.ToString; + +import java.util.Date; + +@ToString +@Data +@TableName(schema = "web_site",value ="tb_device_scrap") +@ApiModel("璁惧鍣ㄤ欢鎶ュ簾搴�") +public class DeviceScrap { + + private Integer id; + @ApiModelProperty("鍣ㄤ欢鍚嶇О") + private String name; + @ApiModelProperty("鍣ㄤ欢鍨嬪彿") + private String model; + @ApiModelProperty("鍣ㄤ欢鐗堟湰") + private String version; + @ApiModelProperty("鏁伴噺") + private Integer quantity; + @ApiModelProperty("鍝佺墝") + private String brand; + @ApiModelProperty("绫诲瀷") + private String type; + @ApiModelProperty("渚涘簲鍟�") + private String supplier; + @ApiModelProperty("鎶ュ簾鐢宠浜篿d") + private Integer applyUserId; + @ApiModelProperty("鎶ュ簾鐢宠浜哄悕绉�") + private String applyUserName; + @ApiModelProperty("鎶ュ簾鏃堕棿") + private Date createTime; + @ApiModelProperty("鍏宠仈鎶ュ簾娴佺▼涓昏〃id,鐢ㄤ簬杩芥函") + private Integer mainId; + +} diff --git a/src/main/java/com/whyc/pojo/web_site/WorkflowMain.java b/src/main/java/com/whyc/pojo/web_site/WorkflowMain.java index 399d1be..f385245 100644 --- a/src/main/java/com/whyc/pojo/web_site/WorkflowMain.java +++ b/src/main/java/com/whyc/pojo/web_site/WorkflowMain.java @@ -38,6 +38,8 @@ /**鍒涘缓浜篿d*/ @ApiModelProperty("鍒涘缓浜篿d") private Integer createUserId; + @ApiModelProperty("鍒涘缓浜哄悕绉�") + private String createUserName; /**鍒涘缓鏃堕棿*/ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai") private Date createTime; @@ -93,9 +95,6 @@ */ @ApiModelProperty("宸ュ崟娴佺被鍨�") private Integer type; - - @TableField(exist = false) - private String createUserName; @TableField(exist = false) private List<WorkflowLink> linkList; diff --git a/src/main/java/com/whyc/service/DeviceScrapService.java b/src/main/java/com/whyc/service/DeviceScrapService.java new file mode 100644 index 0000000..f564c18 --- /dev/null +++ b/src/main/java/com/whyc/service/DeviceScrapService.java @@ -0,0 +1,19 @@ +package com.whyc.service; + +import com.whyc.mapper.DeviceScrapMapper; +import com.whyc.pojo.web_site.DeviceScrap; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class DeviceScrapService { + + @Resource + private DeviceScrapMapper mapper; + + public void add(List<DeviceScrap> scrapList) { + mapper.insertBatchSomeColumn(scrapList); + } +} diff --git a/src/main/java/com/whyc/service/DeviceSpareService.java b/src/main/java/com/whyc/service/DeviceSpareService.java index c924739..5dd1598 100644 --- a/src/main/java/com/whyc/service/DeviceSpareService.java +++ b/src/main/java/com/whyc/service/DeviceSpareService.java @@ -1,6 +1,7 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -162,4 +163,28 @@ public void add(List<DeviceSpare> spareList) { mapper.insertBatchSomeColumn(spareList); } + + public void addOrUpdate(List<DeviceSpare> spareList) { + //鏌ヨ搴撲腑鏄惁瀛樺湪璇ヨ澶�,瀛樺湪鍒欏鍔犳暟閲�. + for (DeviceSpare spare : spareList) { + QueryWrapper<DeviceSpare> query = Wrappers.query(); + query.eq("name",spare.getName()); + query.eq("model",spare.getModel()); + query.eq("version",spare.getVersion()); + query.eq("brand",spare.getBrand()); + query.eq("type",spare.getType()); + query.eq("supplier",spare.getSupplier()); + query.last(" limit 1"); + DeviceSpare spareInDB = mapper.selectOne(query); + if(spareInDB != null){ + spareInDB.setQuantity(spareInDB.getQuantity()+spare.getQuantity()); + mapper.updateById(spareInDB); + + }else{ + //涓嶅瓨鍦ㄥ垯鏂板 + mapper.insert(spare); + } + } + + } } diff --git a/src/main/java/com/whyc/service/WorkflowLinkService.java b/src/main/java/com/whyc/service/WorkflowLinkService.java index 61817af..f3acc30 100644 --- a/src/main/java/com/whyc/service/WorkflowLinkService.java +++ b/src/main/java/com/whyc/service/WorkflowLinkService.java @@ -6,11 +6,9 @@ import com.whyc.dto.Response; import com.whyc.mapper.*; import com.whyc.pojo.db_user.User; -import com.whyc.pojo.web_site.DeviceSpare; -import com.whyc.pojo.web_site.WorkflowDevice; -import com.whyc.pojo.web_site.WorkflowLink; -import com.whyc.pojo.web_site.WorkflowMain; +import com.whyc.pojo.web_site.*; import com.whyc.util.CommonUtil; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -35,6 +33,8 @@ @Autowired private DeviceSpareService deviceSpareService; + @Autowired + private DeviceScrapService deviceScrapService; public void addBatch(List<WorkflowLink> links) { @@ -81,23 +81,38 @@ mainInDB.setEndTime(now); mainInDB.setEndReason(link.getDealReason()); mainService.updateById(mainInDB); + + List<WorkflowDevice> deviceListInDB = deviceService.getByMainId(mainInDB.getId()); //鍏ュ簱 if(mainInDB.getType() == 2){ - List<WorkflowDevice> deviceListInDB = deviceService.getByMainId(mainInDB.getId()); List<DeviceSpare> spareList = new ArrayList<>(); deviceListInDB.forEach(device -> { DeviceSpare spare = new DeviceSpare(); - spare.setName(device.getName()); + /*spare.setName(device.getName()); spare.setModel(device.getModel()); spare.setVersion(device.getVersion()); spare.setQuantity(device.getQuantity()); spare.setBrand(device.getBrand()); spare.setType(device.getType()); - spare.setSupplier(device.getSupplier()); + spare.setSupplier(device.getSupplier());*/ + BeanUtils.copyProperties(device,spare); spareList.add(spare); }); - deviceSpareService.add(spareList); + deviceSpareService.addOrUpdate(spareList); + }else{ //杩涘叆鎶ュ簾搴� + List<DeviceScrap> scrapList = new ArrayList<>(); + deviceListInDB.forEach(device -> { + DeviceScrap deviceScrap = new DeviceScrap(); + BeanUtils.copyProperties(device,deviceScrap); + deviceScrap.setApplyUserId(mainInDB.getCreateUserId()); + deviceScrap.setApplyUserName(mainInDB.getCreateUserName()); + deviceScrap.setCreateTime(now); + deviceScrap.setMainId(mainInDB.getId()); + scrapList.add(deviceScrap); + }); + deviceScrapService.add(scrapList); + } }else if(link.getStatus() == WorkflowEnum.LINK_STATUS_REJECT.getValue().intValue()){ mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_END_REJECT.getValue()); diff --git a/src/main/java/com/whyc/service/WorkflowMainService.java b/src/main/java/com/whyc/service/WorkflowMainService.java index 8bce361..bed00c2 100644 --- a/src/main/java/com/whyc/service/WorkflowMainService.java +++ b/src/main/java/com/whyc/service/WorkflowMainService.java @@ -289,6 +289,7 @@ main.setOrderId(orderId); main.setTitle(title); main.setCreateUserId(user.getId()); + main.setCreateUserName(user.getName()); main.setCreateTime(now); main.setBeginTime(now); main.setStatus(mainStatus); -- Gitblit v1.9.1