From 5d2cfd4562f74496a5263db3451c1e78ff53aead Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期四, 27 三月 2025 08:44:16 +0800
Subject: [PATCH] 单据增加查询返回字段

---
 assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssEstimatePlanServiceImpl.java |   26 +++++++++++++++++++++++---
 1 files changed, 23 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 b402d2f..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
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.assess.common.exception.ApiException;
 import com.gkhy.assess.system.domain.AssEstimatePlan;
+import com.gkhy.assess.system.domain.AssEstimateSchedule;
 import com.gkhy.assess.system.domain.AssPlanPerson;
 import com.gkhy.assess.system.enums.PlayRoleEnum;
 import com.gkhy.assess.system.enums.ReportProgressEnum;
@@ -12,6 +13,8 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 /**
  * <p>
@@ -41,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) {
@@ -67,18 +71,34 @@
         }
     }
 
+    /**
+     * 校验项目组成员是否设置了组长
+     * @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);
+        List<AssEstimateSchedule> estimateScheduleList=estimatePlan.getEstimateSchedules();
+        if(estimateScheduleList!=null&&estimateScheduleList.size()>0){
+            estimateScheduleService.updateBatchById(estimateScheduleList);
+        }
         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