From 122630d71104f57ba16821a87c88e252f72c1ff2 Mon Sep 17 00:00:00 2001 From: hongchao <3228015117@qq.com> Date: Fri, 1 Aug 2025 09:08:36 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/sgzb/app/domain/TmTask.java | 10 +++ .../app/mapper/LeaseOutDetailsMapper.java | 4 +- .../impl/LeaseOutDetailsServiceImpl.java | 39 +++++++-- .../sgzb/base/domain/RepairApplyRecord.java | 2 +- .../base/service/impl/RepairServiceImpl.java | 80 +++++++++++++++++++ .../mapper/app/LeaseApplyDetailsMapper.xml | 1 + .../mapper/app/LeaseOutDetailsMapper.xml | 29 +++++-- .../resources/mapper/app/TmTaskMapper.xml | 4 +- .../material/RepairAuditDetailsMapper.xml | 5 +- 9 files changed, 156 insertions(+), 18 deletions(-) diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/TmTask.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/TmTask.java index e0d92da..de1d1db 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/TmTask.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/domain/TmTask.java @@ -351,7 +351,10 @@ public class TmTask implements Serializable { private Date outTime; @ApiModelProperty(value = "修改前时间") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date preTime; + private BigDecimal leaseFee; private int costType; private long days; @@ -362,6 +365,13 @@ public class TmTask implements Serializable { @ApiModelProperty(value = "领料id") private Integer leaseId; + /** + * 备注 + */ + @ApiModelProperty(value = "备注") + @Excel(name = "备注", sort = 11) + private String remarkLease; + public void setLeaseFee(BigDecimal leaseFee) { this.leaseFee = leaseFee; } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java index 76d6a64..d441fc1 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/mapper/LeaseOutDetailsMapper.java @@ -118,9 +118,11 @@ public interface LeaseOutDetailsMapper { int updateOutTimeDetails(TmTask bean); - List getSlt(TmTask bean); + TmTask getSlt(TmTask bean); int updateOutTimeSlt(TmTask bean); List getSltFeeList(TmTask bean); + + int checkUpdateRecords(TmTask bean); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java index eedd667..a25ca38 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/app/service/impl/LeaseOutDetailsServiceImpl.java @@ -205,7 +205,17 @@ public class LeaseOutDetailsServiceImpl implements LeaseOutDetailsService { public TmTask getLeaseOutOrder(String parentId, String typeId) { TmTask orderHead = leaseApplyDetailsMapper.getOrderHead(parentId); List list = leaseApplyDetailsMapper.getOrderBody(parentId, typeId); + + Set processedTypeIds = new HashSet<>(); for (LeaseOutDetailRecord record : list) { + String typeIdTemp = String.valueOf(record.getTypeId()); + if (processedTypeIds.contains(typeIdTemp)) { + // 如果 typeId 已处理过,将 remark 置为 null + record.setRemark(null); + } else { + // 首次遇到该 typeId,标记为已处理 + processedTypeIds.add(typeIdTemp); + } List maWholeVoList = leaseApplyDetailsMapper.getCtList(record); if (CollUtil.isNotEmpty(maWholeVoList)) { record.setOutNum(String.valueOf(maWholeVoList.get(0).getSetsNum())); @@ -241,18 +251,31 @@ public class LeaseOutDetailsServiceImpl implements LeaseOutDetailsService { return AjaxResult.error("出库时间修改失败"); } } - - List sltList = leaseOutDetailsMapper.getSlt(bean); - if(!sltList.isEmpty()){ - int k = leaseOutDetailsMapper.updateOutTimeSlt(bean); - if (k == 0) { - return AjaxResult.error("出库时间修改失败"); + List sltList = new ArrayList<>(); + for(TmTask tmTask : detailList){ + TmTask sltDetail = leaseOutDetailsMapper.getSlt(tmTask); + if(sltDetail != null){ + sltList.add(sltDetail); } + } + if(!sltList.isEmpty()){ + for(TmTask tmTaskThree : sltList){ + tmTaskThree.setUpdateTime(bean.getUpdateTime()); + int k = leaseOutDetailsMapper.updateOutTimeSlt(tmTaskThree); + if (k == 0) { + return AjaxResult.error("出库时间修改失败"); + } + } + // 检查是否有退料记录 boolean hasBackRecord = sltList.stream().anyMatch(task -> task.getBackId() != null); if (!hasBackRecord) { - //冲减帐 - int l = updateTimeAccount(bean); + for(TmTask tmTaskTwo : sltList){ + tmTaskTwo.setOutTime(bean.getOutTime()); + tmTaskTwo.setPreTime(bean.getPreTime()); + //冲减帐 + int l = updateTimeAccount(tmTaskTwo); + } }else{ return AjaxResult.success("出库时间修改成功,但该领料单存在已退料情况,无法冲减账单"); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/RepairApplyRecord.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/RepairApplyRecord.java index 1f00ef1..1d928ac 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/RepairApplyRecord.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/RepairApplyRecord.java @@ -135,7 +135,7 @@ public class RepairApplyRecord implements Serializable { private String partChange; - private int partChangeNum; + private Integer partChangeNum; private int parentId; diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/service/impl/RepairServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/service/impl/RepairServiceImpl.java index 427ac19..3b346ba 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/service/impl/RepairServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/service/impl/RepairServiceImpl.java @@ -443,6 +443,26 @@ public class RepairServiceImpl implements RepairService { backReceiveMapper.insertBmFileInfo(fileInfo); } } + }else{ + partDetails.setMaId(bean.getMaId()); + partDetails.setTypeId(bean.getTypeId()); + partDetails.setCreateBy(loginUser.getUserid()); + partDetails.setRepairer(bean.getRepairer()); + partDetails.setCompanyId(bean.getCompanyId()); + + RepairApplyRecord beanTempTwo = new RepairApplyRecord(); + beanTempTwo.setTypeId(bean.getTypeId()); + beanTempTwo.setParentId(Math.toIntExact(beanTemp.getId())); + beanTempTwo.setPartId(null); + beanTempTwo.setPartPrice(null); + beanTempTwo.setPartNum(null); + beanTempTwo.setRepairContent(partDetails.getRepairContent()); + beanTempTwo.setPartType(null); + beanTempTwo.setRepairRemark(partDetails.getRepairRemark()); + beanTempTwo.setPartChange(null); + beanTempTwo.setPartChangeNum(null); + beanTempTwo.setCreateBy(loginUser.getUserid()); + mapper.addPartNew(beanTempTwo); } } @@ -718,6 +738,26 @@ public class RepairServiceImpl implements RepairService { backReceiveMapper.insertBmFileInfo(fileInfo); } } + }else{ + partDetails.setMaId(bean.getMaId()); + partDetails.setTypeId(bean.getTypeId()); + partDetails.setCreateBy(loginUser.getUserid()); + partDetails.setRepairer(bean.getRepairer()); + partDetails.setCompanyId(bean.getCompanyId()); + + RepairApplyRecord beanTempTwo = new RepairApplyRecord(); + beanTempTwo.setTypeId(bean.getTypeId()); + beanTempTwo.setParentId(Math.toIntExact(beanTemp.getId())); + beanTempTwo.setPartId(null); + beanTempTwo.setPartPrice(null); + beanTempTwo.setPartNum(null); + beanTempTwo.setRepairContent(partDetails.getRepairContent()); + beanTempTwo.setPartType(null); + beanTempTwo.setRepairRemark(partDetails.getRepairRemark()); + beanTempTwo.setPartChange(null); + beanTempTwo.setPartChangeNum(null); + beanTempTwo.setCreateBy(loginUser.getUserid()); + mapper.addPartNew(beanTempTwo); } } @@ -1025,6 +1065,26 @@ public class RepairServiceImpl implements RepairService { backReceiveMapper.insertBmFileInfo(fileInfo); } } + }else{ + partDetails.setMaId(bean.getMaId()); + partDetails.setTypeId(bean.getTypeId()); + partDetails.setCreateBy(loginUser.getUserid()); + partDetails.setRepairer(bean.getRepairer()); + partDetails.setCompanyId(bean.getCompanyId()); + + RepairApplyRecord beanTempTwo = new RepairApplyRecord(); + beanTempTwo.setTypeId(bean.getTypeId()); + beanTempTwo.setParentId(Math.toIntExact(beanTemp.getId())); + beanTempTwo.setPartId(null); + beanTempTwo.setPartPrice(null); + beanTempTwo.setPartNum(null); + beanTempTwo.setRepairContent(partDetails.getRepairContent()); + beanTempTwo.setPartType(null); + beanTempTwo.setRepairRemark(partDetails.getRepairRemark()); + beanTempTwo.setPartChange(null); + beanTempTwo.setPartChangeNum(null); + beanTempTwo.setCreateBy(loginUser.getUserid()); + mapper.addPartSaveNew(beanTempTwo); } } @@ -1247,6 +1307,26 @@ public class RepairServiceImpl implements RepairService { backReceiveMapper.insertBmFileInfo(fileInfo); } } + }else{ + partDetails.setMaId(bean.getMaId()); + partDetails.setTypeId(bean.getTypeId()); + partDetails.setCreateBy(loginUser.getUserid()); + partDetails.setRepairer(bean.getRepairer()); + partDetails.setCompanyId(bean.getCompanyId()); + + RepairApplyRecord beanTempTwo = new RepairApplyRecord(); + beanTempTwo.setTypeId(bean.getTypeId()); + beanTempTwo.setParentId(Math.toIntExact(beanTemp.getId())); + beanTempTwo.setPartId(null); + beanTempTwo.setPartPrice(null); + beanTempTwo.setPartNum(null); + beanTempTwo.setRepairContent(partDetails.getRepairContent()); + beanTempTwo.setPartType(null); + beanTempTwo.setRepairRemark(partDetails.getRepairRemark()); + beanTempTwo.setPartChange(null); + beanTempTwo.setPartChangeNum(null); + beanTempTwo.setCreateBy(loginUser.getUserid()); + mapper.addPartSaveNew(beanTempTwo); } } diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml index e24cb86..a759370 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/LeaseApplyDetailsMapper.xml @@ -110,6 +110,7 @@ and lod.type_id = #{typeId} + order by lod.create_time desc SELECT - id AS id + id AS id,type_id AS typeId,parent_id AS parentId,ma_id as maId FROM lease_out_details WHERE @@ -548,15 +548,19 @@ create_time = #{updateTime} WHERE parent_id = #{id} + AND DATE(create_time) = DATE(#{preTime}) @@ -565,7 +569,13 @@ SET start_time = #{updateTime} WHERE - lease_id = #{id} + lease_id = #{leaseId} + + AND type_id = #{typeId} + + + AND ma_id = #{maId} + + diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml index 226cfc6..590848e 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml @@ -1037,6 +1037,7 @@ bui.unit_name AS unitName, lai.lease_person AS leasePerson, lai.phone AS leasePhone, + lai.remark AS remarkLease, tt.create_by AS applyFor, d.`name` AS taskName, lai.lease_type AS leaseType, @@ -1278,7 +1279,7 @@ AND lod.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59') - group by lod.type_id +-- group by lod.type_id