| | |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 校验项目组成员是否设置了组长 |
| | | * @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); |
| | |
| | | } |
| | | 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()) |