From 964ffef6eae80532c0b708acda798f631e270072 Mon Sep 17 00:00:00 2001 From: gjh <1421wake> Date: Wed, 18 Jun 2025 13:54:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=90=88=E5=90=8C=E9=87=91?= =?UTF-8?q?=E9=A2=9D=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HuzhouContractinfoController.java | 6 ++++++ .../huzhou/dao/HuzhouContractinfoMapper.java | 4 ++++ .../dao/mapping/HuzhouContractinfoMapper.xml | 12 +++++++++++ .../huzhou/entity/HuzhouContractinfo.java | 5 +++++ .../service/IHuzhouContractinfoService.java | 2 ++ .../impl/HuzhouContractinfoServiceImpl.java | 17 +++++++++++++++ .../impl/HuzhouPlaninfofileServiceImpl.java | 21 +++++++++++++++++-- 7 files changed, 65 insertions(+), 2 deletions(-) diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouContractinfoController.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouContractinfoController.java index 8c7db1b..5aa1bba 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouContractinfoController.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouContractinfoController.java @@ -154,4 +154,10 @@ public class HuzhouContractinfoController { return Result.ok(rs); } + + @GetMapping("/setSortedContracts") + public Result setSortedContracts(){ + contractinfoService.setSortedContracts(); + return Result.ok("根据合同支付日期进行排序"); + } } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouContractinfoMapper.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouContractinfoMapper.java index 2caa674..09a2479 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouContractinfoMapper.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouContractinfoMapper.java @@ -23,4 +23,8 @@ public interface HuzhouContractinfoMapper extends BaseMapper //根据一组项目id返回总金额、总中央资金、总省级资金 Map getTotalByProjectIds(@Param("projectIds") List projectIds); + + List getSortedContracts(); // 查询已排序的数据 + + int updateSortFlag(@Param("id") String id, @Param("sortFlag") int sortFlag); } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml index cb42136..149b576 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml @@ -281,7 +281,19 @@ + + + UPDATE huzhou_contractinfo + SET sort_flag = #{sortFlag} + WHERE id = #{id} + diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouContractinfo.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouContractinfo.java index 941b7df..163a1c9 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouContractinfo.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouContractinfo.java @@ -65,5 +65,10 @@ public class HuzhouContractinfo extends BaseEntity implements Serializable { * 计划实际标识符 */ private String flag; + + /** + * 排序标识 + */ + private int sortFlag; } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouContractinfoService.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouContractinfoService.java index f6afce1..9194d06 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouContractinfoService.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouContractinfoService.java @@ -58,4 +58,6 @@ public interface IHuzhouContractinfoService extends IService ContractPayInfoDTO queryContractPaySituation(HuzhouProjectinfo projectInfo); HuzhouContractinfo getContractInfoByProjectId(String projectId); + + void setSortedContracts(); } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java index 454747b..1075e34 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java @@ -635,5 +635,22 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl contracts = contractinfoMapper.getSortedContracts(); + + Map counterMap = new HashMap<>(); + + for (HuzhouContractinfo contract : contracts) { + String projectId = contract.getProjectId(); + Integer count = counterMap.getOrDefault(projectId, 0) + 1; + contract.setSortFlag(count); + counterMap.put(projectId, count); + log.info("projectId:{}--->第:{}笔支付", projectId, count); + // 可以选择批量更新,也可以先收集完再更新 + contractinfoMapper.updateSortFlag(contract.getId(), contract.getSortFlag()); + } + } + } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java index b6bd53e..8690859 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java @@ -124,7 +124,15 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl counterMap = new HashMap<>(); + for (HuzhouContractinfo contract : contractList) { + String projectId = contract.getProjectId(); + Integer count = counterMap.getOrDefault(projectId, 0) + 1; + contract.setSortFlag(count); + counterMap.put(projectId, count); + log.info("projectId:{}--->第:{}笔支付", projectId, count); + } //立项审批和合同签订 金额输入 HuzhouProjectinfoMoney huzhouProjectinfoMoney = new HuzhouProjectinfoMoney(); if(approvalMoneyFieldsValue!=null){ @@ -679,7 +687,7 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl qw = new LambdaQueryWrapper<>(); qw.eq(HuzhouContractinfo::getProjectId, contractList.get(0).getProjectId()) .eq(HuzhouContractinfo::getFlag, taskName.equals("合同签订") ? "计划" : "实际"); - //.eq(HuzhouContractinfo::getTaskName, taskName); + // 3.查询数据库中符合条件的合同信息 List dbList = contractinfoService.list(qw); @@ -723,6 +731,15 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl counterMap = new HashMap<>(); + for (HuzhouContractinfo contract : collectForSave) { + String projectId = contract.getProjectId(); + Integer count = counterMap.getOrDefault(projectId, 0) + 1; + contract.setSortFlag(count); + counterMap.put(projectId, count); + log.info("projectId:{}--->第:{}笔支付", projectId, count); + } + contractinfoService.saveBatch(collectForSave); log.info("新增原有合同信息:{}", collectForSave); }