From 28aaf2ffa1dbb860a292ba330a7e9362e60e7832 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: Fri, 12 Jul 2024 16:41:03 +0800
Subject: [PATCH] update
---
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