Browse Source

新增合同金额排序

master
gjh 2 weeks ago
parent
commit
964ffef6ea
  1. 6
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouContractinfoController.java
  2. 4
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouContractinfoMapper.java
  3. 12
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml
  4. 5
      huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouContractinfo.java
  5. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouContractinfoService.java
  6. 17
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java
  7. 21
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java

6
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("根据合同支付日期进行排序");
}
}

4
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouContractinfoMapper.java

@ -23,4 +23,8 @@ public interface HuzhouContractinfoMapper extends BaseMapper<HuzhouContractinfo>
//根据一组项目id返回总金额、总中央资金、总省级资金
Map<String, BigDecimal> getTotalByProjectIds(@Param("projectIds") List<String> projectIds);
List<HuzhouContractinfo> getSortedContracts(); // 查询已排序的数据
int updateSortFlag(@Param("id") String id, @Param("sortFlag") int sortFlag);
}

12
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml

@ -281,7 +281,19 @@
</select>
<select id="getSortedContracts" resultType="com.easy.admin.modules.huzhou.entity.HuzhouContractinfo">
SELECT *
FROM `guoyan_huzhou`.`huzhou_contractinfo`
WHERE flag = '计划'
ORDER BY `project_id`, `pay_date` ASC
LIMIT 0, 1000
</select>
<update id="updateSortFlag">
UPDATE huzhou_contractinfo
SET sort_flag = #{sortFlag}
WHERE id = #{id}
</update>
<!-- <select id="getContractProjectPageList1111" resultType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo" parameterType="com.easy.admin.modules.huzhou.entity.HuzhouProjectinfo">-->
<!-- SELECT * from huzhou_projectinfo u-->

5
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;
}

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouContractinfoService.java

@ -58,4 +58,6 @@ public interface IHuzhouContractinfoService extends IService<HuzhouContractinfo>
ContractPayInfoDTO queryContractPaySituation(HuzhouProjectinfo projectInfo);
HuzhouContractinfo getContractInfoByProjectId(String projectId);
void setSortedContracts();
}

17
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouContractinfoServiceImpl.java

@ -635,5 +635,22 @@ public class HuzhouContractinfoServiceImpl extends ServiceImpl<HuzhouContractinf
return huzhouContractinfo;
}
@Override
public void setSortedContracts() {
List<HuzhouContractinfo> contracts = contractinfoMapper.getSortedContracts();
Map<String, Integer> 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());
}
}
}

21
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPlaninfofileServiceImpl.java

@ -124,7 +124,15 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
if (CollectionUtil.isNotEmpty(contractList)){
hasOldContractInfo(contractList,planinfoid);
}
// 增加计数器
Map<String, Integer> 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<HuzhouPlaninfofil
LambdaQueryWrapper<HuzhouContractinfo> qw = new LambdaQueryWrapper<>();
qw.eq(HuzhouContractinfo::getProjectId, contractList.get(0).getProjectId())
.eq(HuzhouContractinfo::getFlag, taskName.equals("合同签订") ? "计划" : "实际");
//.eq(HuzhouContractinfo::getTaskName, taskName);
// 3.查询数据库中符合条件的合同信息
List<HuzhouContractinfo> dbList = contractinfoService.list(qw);
@ -723,6 +731,15 @@ public class HuzhouPlaninfofileServiceImpl extends ServiceImpl<HuzhouPlaninfofil
contract.setFlag(contractinfoService.hasContractinfoByTaskName(itemProjectId, itemTaskName) ? "实际" : "计划");
return contract;
}).collect(Collectors.toList());
Map<String, Integer> 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);
}

Loading…
Cancel
Save