xiangpei
2025-02-24 0912a30a9687ae8526a42f6453c2679039398532
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -17,6 +17,7 @@
import com.ycl.common.constant.Constants;
import com.ycl.common.core.domain.BaseEntity;
import com.ycl.common.core.domain.entity.SysDictData;
import com.ycl.common.enums.YesOrNo;
import com.ycl.common.enums.business.FileTypeEnum;
import com.ycl.common.enums.business.ImportanceTypeEnum;
import com.ycl.common.enums.business.ProjectCategoryEnum;
@@ -325,7 +326,7 @@
            query.setProjectEndTime(DateUtils.getDayEnd(query.getProjectEndTime()));
        }
        // 异常项目暂时返回空
        if (ProjectCategoryEnum.EXCEPTION.getType().equals(query.getProjectPhase())) {
        if (YesOrNo.YES.getCode().equals(query.getExe())) {
            return Result.ok().data(new ArrayList<>()).total(0);
        }
        Long userId = SecurityUtils.getUserId();
@@ -356,7 +357,7 @@
            List<Long> departmentList = vo.getCompetentDepartmentList();
            projectVO.setAuditRole(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || (!CollectionUtils.isEmpty(departmentList) && departmentList.contains(SecurityUtils.getDeptId())));
            // 翻译项目阶段
            String phase = ProjectCategoryEnum.getPhaseByProjectStatus(projectVO.getProjectStatus(), projectVO.getProcessId() != null);
            String phase = ProjectCategoryEnum.getPhaseByProjectStatus(projectVO.getProjectPhase());
            projectVO.setProjectPhase(phase);
            if (StringUtils.isNotEmpty(projectVO.getProjectSubType())) {
                // 翻译项目子类型
@@ -455,13 +456,13 @@
        List<ProjectVO> city = new ArrayList<>();
        List<ProjectVO> county = new ArrayList<>();
        projectVOS.forEach(item -> {
            if (ProjectCategoryEnum.RESERVE.getDesc().equals(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectStatus(), item.getProcessId() != null))) {
            if (ProjectCategoryEnum.RESERVE.getDesc().equals(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectPhase()))) {
                reserve.add(item);
            } else if (ProjectCategoryEnum.PREVIOUS.getDesc().equals(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectStatus(), item.getProcessId() != null))) {
            } else if (ProjectCategoryEnum.PREVIOUS.getDesc().equals(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectPhase()))) {
                previous.add(item);
            } else if (ProjectCategoryEnum.IMPLEMENT.getDesc().equals(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectStatus(), item.getProcessId() != null))) {
            } else if (ProjectCategoryEnum.IMPLEMENT.getDesc().equals(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectPhase()))) {
                implement.add(item);
            } else if (ProjectCategoryEnum.FINISH.getDesc().equals(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectStatus(), item.getProcessId() != null))) {
            } else if (ProjectCategoryEnum.FINISH.getDesc().equals(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectPhase()))) {
                finish.add(item);
            }
@@ -586,7 +587,7 @@
            ProjectExcelTemplate excel = new ProjectExcelTemplate();
            BeanUtils.copyProperties(item, excel);
            //项目阶段
            excel.setProjectPhase(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectStatus(), item.getProcessId() != null));
            excel.setProjectPhase(ProjectCategoryEnum.getPhaseByProjectStatus(item.getProjectPhase()));
            excelList.add(excel);
        });
        Set<Integer> indexes = OutputExcelUtils.getSelectFields(query.getFieldList(), ProjectExcelTemplate.class);
@@ -817,7 +818,7 @@
                entity.setCreateBy(userId);
                entity.setUpdateBy(userId);
                //如果是储备项目(未开工项目)不需要审核
                if (ProjectConstant.COMMIT.equals(entity.getUsedStatus()) && ProjectStatusEnum.PENDDING.getType().equals(entity.getProjectStatus())) {
                if (ProjectCategoryEnum.RESERVE.getType().equals(entity.getProjectPhase())) {
                    entity.setUsedStatus(ProjectConstant.PASS);
                }
                // 管理员修改的直接通过
@@ -828,6 +829,7 @@
                    throw new RuntimeException("项目重复,项目名称、项目码已存在");
                }
                baseMapper.insert(entity);
                projectId = entity.getId();
                addPlan(entity.getId()); //添加计划表
                //添加项目中标单位
                List<ProjectInfoWinUnit> projectInfoWinUnits = new ArrayList<>();
@@ -851,26 +853,6 @@
                if (!CollectionUtils.isEmpty(projectInfoYearPlans)) {
                    projectInfoYearPlanService.saveBatch(projectInfoYearPlans);
                }
                // 新增
                if (Objects.nonNull(form.getProjectInvestmentInfoForm())) {
                    form.getProjectInvestmentInfoForm().setProjectId(projectId);
                    projectInvestmentInfoServiceImpl.add(form.getProjectInvestmentInfoForm());
                }
                if (Objects.nonNull(form.getProjectInvestmentFundingForm())) {
                    form.getProjectInvestmentFundingForm().setProjectId(projectId);
                    projectInvestmentFundingServiceImpl.add(form.getProjectInvestmentFundingForm());
                }
                if (Objects.nonNull(form.getProjectInvestmentPolicyComplianceForm())) {
                    form.getProjectInvestmentPolicyComplianceForm().setProjectId(projectId);
                    projectInvestmentPolicyComplianceServiceImpl.add(form.getProjectInvestmentPolicyComplianceForm());
                }
                if (Objects.nonNull(form.getProjectUnitRegistrationInfoForm())) {
                    form.getProjectUnitRegistrationInfoForm().setProjectId(projectId);
                    projectUnitRegistrationInfoServiceImpl.add(form.getProjectUnitRegistrationInfoForm());
                }
            } else {
                //更新
                ProjectInfo entity = baseMapper.selectById(form.getProjectInfoForm().getId());
@@ -881,7 +863,7 @@
                Long userId = SecurityUtils.getUserId();
                entity.setUpdateBy(userId);
                //如果是储备项目(未开工项目)不需要审核
                if (ProjectConstant.COMMIT.equals(entity.getUsedStatus()) && ProjectStatusEnum.PENDDING.getType().equals(entity.getProjectStatus())) {
                if (ProjectCategoryEnum.RESERVE.getType().equals(entity.getProjectPhase())) {
                    entity.setUsedStatus(ProjectConstant.PASS);
                }
                // 管理员修改的直接通过
@@ -926,19 +908,25 @@
                if (!CollectionUtils.isEmpty(projectInfoYearPlans)) {
                    projectInfoYearPlanService.saveBatch(projectInfoYearPlans);
                }
                // 更新
                if (Objects.nonNull(form.getProjectInvestmentInfoForm())) {
                    projectInvestmentInfoServiceImpl.update(form.getProjectInvestmentInfoForm());
            }
            // 更新其它项目信息表
            if (Objects.nonNull(form.getProjectInvestmentFundingForm())) {
                if (Objects.nonNull(form.getProjectInvestmentFundingForm().getId())) {
                    projectInvestmentFundingServiceImpl.update(form.getProjectInvestmentFundingForm());
                } else {
                    form.getProjectInvestmentFundingForm().setProjectId(projectId);
                    projectInvestmentFundingServiceImpl.add(form.getProjectInvestmentFundingForm());
                }
                if (Objects.nonNull(form.getProjectInvestmentFundingForm())) {
                    projectInvestmentFundingServiceImpl.update();
                }
                if (Objects.nonNull(form.getProjectInvestmentPolicyComplianceForm())) {
                    projectInvestmentPolicyComplianceServiceImpl.update(form.getProjectInvestmentPolicyComplianceForm());
                }
                if (Objects.nonNull(form.getProjectUnitRegistrationInfoForm())) {
            }
            if (Objects.nonNull(form.getProjectUnitRegistrationInfoForm())) {
                if (Objects.nonNull(form.getProjectUnitRegistrationInfoForm().getId())) {
                    projectUnitRegistrationInfoServiceImpl.update(form.getProjectUnitRegistrationInfoForm());
                } else {
                    form.getProjectUnitRegistrationInfoForm().setProjectId(projectId);
                    projectUnitRegistrationInfoServiceImpl.add(form.getProjectUnitRegistrationInfoForm());
                }
            }
        }
        return Result.ok("保存成功");