dongxin 1 жил өмнө
parent
commit
a30ee71d81

+ 20 - 3
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.protocol.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -520,18 +521,34 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
             }
             wrapper.apply("SUBSTRING(partner_companies_id, 6, " + sign + ") =" + prefix);
         }
+        List<PtlAgreementDept> deptList = new ArrayList<>();
+        if(StringUtils.isNotBlank(ptlAgreementPageVo.getDeptId())){
+            // 获取所有该部门下勾选的协议
+            LambdaQueryWrapper<PtlAgreementDept> deptWrapper = new LambdaQueryWrapper<>();
+            deptWrapper.eq(PtlAgreementDept::getDeptId, ptlAgreementPageVo.getDeptId());
+            deptList = ptlAgreementDeptService.list(deptWrapper);
+        }
+        Map<String, Object> agreeMap = new HashMap<>();
+        if(CollUtil.isNotEmpty(deptList)){
+            agreeMap = deptList.stream().collect(Collectors.toMap(PtlAgreementDept::getAgreementId,PtlAgreementDept::getDeptId));
+        }
         Page<PtlAgreement> agreementPage = page(page, wrapper);
-        agreementPage.getRecords().forEach(agreement -> {
+        for (PtlAgreement agreement : agreementPage.getRecords()) {
             LocalDate startDate = agreement.getStartDate();
+            System.out.println(startDate);
             LocalDate endDate = agreement.getEndDate();
             LocalDate now = LocalDate.now();
-            //更新是否有效
+
             if (now.isEqual(startDate) || (now.isAfter(startDate) && now.isBefore(endDate))) {
                 agreement.setIsValid("1");
             } else {
                 agreement.setIsValid("0");
             }
-        });
+            // 判断是否勾选
+            if(agreeMap.containsKey(agreement.getId())){
+                agreement.setCheck(true);
+            }
+        }
         return agreementPage;
     }