xiangpei
2025-04-10 8d2f2f78c0c02205b91946f4f5cfdc03bcb3383a
business/src/main/java/com/ycl/service/impl/ProjectInfoServiceImpl.java
@@ -832,6 +832,12 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result editProject(ProjectForm form) {
        // 草稿的情况,需要判定有没有选业主单位(因为草稿不校验必填),没选则默认设置为当前人的单位
        if (ProjectConstant.DRAFT.equals(form.getProjectInfoForm().getUsedStatus())) {
            if (Objects.isNull(form.getProjectInfoForm().getProjectOwnerUnit())) {
                form.getProjectInfoForm().setProjectOwnerUnit(SecurityUtils.getDeptId());
            }
        }
        Long projectId = form.getProjectInfoForm().getId();
        if (ObjectUtil.isNotNull(form.getProjectInfoForm())) {
            if (ObjectUtil.isNull(form.getProjectInfoForm().getId())) {
@@ -840,12 +846,12 @@
                Long userId = SecurityUtils.getUserId();
                entity.setCreateBy(userId);
                entity.setUpdateBy(userId);
                //如果是储备项目(未开工项目)不需要审核
                if (ProjectCategoryEnum.RESERVE.getType().equals(entity.getProjectPhase())) {
                //如果是储备项目(未开工项目)不需要审核(草稿除外)
                if (ProjectCategoryEnum.RESERVE.getType().equals(entity.getProjectPhase()) && ! ProjectConstant.DRAFT.equals(entity.getUsedStatus())) {
                    entity.setUsedStatus(ProjectConstant.PASS);
                }
                // 管理员修改的直接通过
                if (SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
                // 管理员修改的直接通过(管理员保存为草稿,那么状态还是草稿)
                if (SecurityUtils.isAdmin(SecurityUtils.getUserId()) && ! ProjectConstant.DRAFT.equals(entity.getUsedStatus())) {
                    entity.setUsedStatus(ProjectConstant.PASS);
                }
                if(!checkProjectNameAndIdIsUnique(entity,null)){
@@ -885,12 +891,12 @@
                ProjectInfoForm.getEntityByForm(form.getProjectInfoForm(), entity);
                Long userId = SecurityUtils.getUserId();
                entity.setUpdateBy(userId);
                //如果是储备项目(未开工项目)不需要审核
                if (ProjectCategoryEnum.RESERVE.getType().equals(entity.getProjectPhase())) {
                //如果是储备项目(未开工项目)不需要审核(草稿除外)
                if (ProjectCategoryEnum.RESERVE.getType().equals(entity.getProjectPhase()) && ! ProjectConstant.DRAFT.equals(entity.getUsedStatus())) {
                    entity.setUsedStatus(ProjectConstant.PASS);
                }
                // 管理员修改的直接通过
                if (SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
                // 管理员修改的直接通过(管理员保存为草稿,那么状态还是草稿)
                if (SecurityUtils.isAdmin(SecurityUtils.getUserId()) && ! ProjectConstant.DRAFT.equals(entity.getUsedStatus())) {
                    entity.setUsedStatus(ProjectConstant.PASS);
                }
                if(!checkProjectNameAndIdIsUnique(entity, entity.getId())){
@@ -946,6 +952,10 @@
                if (Objects.nonNull(form.getProjectUnitRegistrationInfoForm().getId())) {
                    projectUnitRegistrationInfoServiceImpl.update(form.getProjectUnitRegistrationInfoForm());
                } else {
                    // 先删掉之前的,再新增
                    new LambdaUpdateChainWrapper<>(projectUnitRegistrationInfoServiceImpl.getBaseMapper())
                            .eq(ProjectUnitRegistrationInfo::getProjectId, projectId)
                            .remove();
                    form.getProjectUnitRegistrationInfoForm().setProjectId(projectId);
                    projectUnitRegistrationInfoServiceImpl.add(form.getProjectUnitRegistrationInfoForm());
                }