kongzy
2024-07-12 28aaf2ffa1dbb860a292ba330a7e9362e60e7832
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())