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