From 28aaf2ffa1dbb860a292ba330a7e9362e60e7832 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期五, 12 七月 2024 16:41:03 +0800
Subject: [PATCH] update

---
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java
index ee94840..b192665 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java
@@ -44,9 +44,10 @@
         Long projectId=estimatePlan.getProjectId();
         projectService.checkUserAllowed(projectId);
         checkEstimatePlanCount(projectId);
-        planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(estimatePlan.getAuserId()).setProjectId(projectId));
         //校验项目状态
         projectService.checkReportProgress(projectId, ReportProgressEnum.ESTIMATE_TASK);
+        //校验是否设置了组长
+        checkMajorPlanPersonCount(projectId);
         estimatePlan.setCreateBy(ShiroUtils.getSysUser().getUsername());
         int row=baseMapper.insert(estimatePlan);
         if(row>0) {
@@ -70,10 +71,22 @@
         }
     }
 
+    /**
+     * 校验项目组成员是否设置了组长
+     * @param projectId
+     */
+    public void checkMajorPlanPersonCount(Long projectId){
+        int count=planPersonService.getMajorPlanPersonCountByProject(projectId);
+        if(count<1){
+            throw new ApiException("项目组成员中必须有一个人设置为组长");
+        }
+    }
+
     @Override
     @Transactional(rollbackFor = RuntimeException.class)
     public int editEstimatePlan(AssEstimatePlan estimatePlan) {
         projectService.checkUserAllowed(estimatePlan.getProjectId());
+        checkMajorPlanPersonCount(estimatePlan.getProjectId());
         AssEstimatePlan oldPlan=getById(estimatePlan.getId());
         estimatePlan.setUpdateBy(ShiroUtils.getSysUser().getUsername());
         int row=baseMapper.updateById(estimatePlan);
@@ -83,9 +96,9 @@
         }
         if(row>0) {
             if (estimatePlan.getAuserId() != null && !estimatePlan.getAuserId().equals(oldPlan.getAuserId())) {
-                planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(estimatePlan.getAuserId()).setProjectId(oldPlan.getProjectId()));
+              //  planPersonService.checkPersonUnique(new AssPlanPerson().setPersonId(estimatePlan.getAuserId()).setProjectId(oldPlan.getProjectId()));
                 //todo 删除旧的项目成员
-                planPersonService.deletePlanPersonByPersonId(oldPlan.getAuserId());
+                planPersonService.deletePlanPersonByPersonId(oldPlan.getAuserId(),estimatePlan.getProjectId(),PlayRoleEnum.ANGENCY_LEADER.getCode());
                 //todo 新增新的项目成员
                 planPersonService.addPlanPerson(new AssPlanPerson().setPersonId(estimatePlan.getAuserId())
                         .setPlayRole(PlayRoleEnum.ANGENCY_LEADER.getCode())

--
Gitblit v1.9.2