heheng
2025-03-24 9a8a4a431c61d22a334003b2e8a52571ea809920
assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java
@@ -2,16 +2,19 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.gkhy.assess.common.api.CommonPage;
import com.gkhy.assess.common.constant.SuperAccountConstant;
import com.gkhy.assess.common.enums.DeleteFlagEnum;
import com.gkhy.assess.common.enums.UserIdentityEnum;
import com.gkhy.assess.common.exception.ApiException;
import com.gkhy.assess.common.utils.PageUtil;
import com.gkhy.assess.common.utils.StringUtils;
import com.gkhy.assess.system.domain.AssPlanPerson;
import com.gkhy.assess.system.domain.AssProject;
import com.gkhy.assess.system.domain.vo.PersonRecognitionVO;
import com.gkhy.assess.system.domain.vo.ProjectStaticVO;
import com.gkhy.assess.system.enums.ProgressPhaseEnum;
import com.gkhy.assess.system.enums.ReportProgressEnum;
import com.gkhy.assess.system.enums.SafetyCheckEnum;
import com.gkhy.assess.system.mapper.AssPlanPersonMapper;
import com.gkhy.assess.system.mapper.AssProjectMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -49,6 +52,11 @@
                throw new ApiException("用户机构id为空");
            }
            project.setAgencyId(user.getAgencyId());
        }else {
            //监管机构只能查看本辖区的项目
            if (!SuperAccountConstant.ADMINISTRATOR.equals(user.getUsername()) && !SuperAccountConstant.SUPER_ADMIN.equals(user.getUsername())){
                project.setCity(user.getManageRegion());
            }
        }
        PageUtil.startPage();
        List<AssProject> projects=baseMapper.projectList(project);
@@ -87,6 +95,7 @@
            throw new ApiException("用户机构id为空");
        }
        project.setAgencyId(user.getAgencyId());
        project.setSafetyCheck(project.getEstimateType() == 33 ? SafetyCheckEnum.CHECKED.getCode() :SafetyCheckEnum.UN_CHECK.getCode());
        if(!checkNameUnique(project)){
            throw new ApiException("项目名已存在");
        }
@@ -148,7 +157,7 @@
    @Override
    public boolean checkNameUnique(AssProject project) {
        Long projectId = project.getId()==null? -1L : project.getId();
        AssProject pro = baseMapper.getProjectByName(project.getName(),project.getAgencyId());
        AssProject pro = baseMapper.getProjectByName(project.getName(),project.getAgencyId(),project.getSafetyCheck());
        if (pro!=null && pro.getId().longValue() != projectId.longValue())
        {
            return false;
@@ -236,13 +245,25 @@
        project.setPhase(ProgressPhaseEnum.ARCHIVE.getCode());
        Integer archiveTotal=baseMapper.getProjectCount(project);
        project.setPhase(null);
        project.setUnFinish(1);
        project.setSafetyCheck(SafetyCheckEnum.CHECKED.getCode());
        Integer safetyCheckTotal=baseMapper.getProjectCount(project);
        project.setSafetyCheck(SafetyCheckEnum.UN_CHECK.getCode());
        Integer safetyTotal=baseMapper.getProjectCount(project);
        ProjectStaticVO projectStaticVO=new ProjectStaticVO()
                .setProjectTotal(projectTotal)
                .setRiskTotal(riskTotal)
                .setInvestigationTotal(investigationTotal)
                .setReviewTotal(reviewTotal)
                .setReportTotal(reportTotal)
                .setArchiveTotal(archiveTotal);
                .setArchiveTotal(archiveTotal)
                .setSafetyCheckTotal(safetyCheckTotal)
                .setSafetyTotal(safetyTotal)
                .setUnFinishTotal(safetyTotal+safetyCheckTotal);
        return projectStaticVO;
    }