From 56287f4037defafbd3a3bbebd1827fd20a8b91d4 Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: 星期一, 06 一月 2025 11:12:05 +0800
Subject: [PATCH] 项目拆单
---
assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppAccessoryFileController.java | 2
assess-admin/src/main/resources/application-dev.yml | 2
assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java | 8 ++
assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java | 18 +++++
assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectStaticVO.java | 9 +++
assess-system/src/main/java/com/gkhy/assess/system/enums/SafetyCheckEnum.java | 32 ++++++++++
assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMapper.java | 2
assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssWorkNotificationServiceImpl.java | 9 ++
assess-system/src/main/resources/mapper/AssProjectMapper.xml | 38 ++++++++++++
assess-system/src/main/java/com/gkhy/assess/system/enums/AccessoryFileTypeEnum.java | 3
10 files changed, 114 insertions(+), 9 deletions(-)
diff --git a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppAccessoryFileController.java b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppAccessoryFileController.java
index 42e8cf7..08bf615 100644
--- a/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppAccessoryFileController.java
+++ b/assess-admin/src/main/java/com/gkhy/assess/admin/controller/app/AppAccessoryFileController.java
@@ -34,7 +34,7 @@
@PostMapping("/uploadFile")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "body", name = "projectId", dataType = "long", required = true, value = "项目id"),
- @ApiImplicitParam(paramType = "body", name = "moduleType", dataType = "int", required = true, value = "上传模块code:1主要装置前的合影照片,2现场勘验照片,3企业陪同人员图片,4现场勘验视频,5现场勘验记录附件,6评审记录附件,7评价结论,8过程控制记录文档附件,9项目归档材料,10报备申请附件,11项目整改情况附件")
+ @ApiImplicitParam(paramType = "body", name = "moduleType", dataType = "int", required = true, value = "上传模块code:1主要装置前的合影照片,2现场勘验照片,3企业陪同人员图片,4现场勘验视频,5现场勘验记录附件,6评审记录附件,7评价结论,8过程控制记录文档附件,9项目归档材料,10报备申请附件,11项目整改情况附件,12从业报告附件")
})
public CommonResult uploadFile(@RequestParam @NotNull Long projectId,@RequestParam @NotNull Integer moduleType, @RequestParam MultipartFile file){
return CommonResult.success(assAccessoryFileService.uploadFile(projectId,moduleType,file));
diff --git a/assess-admin/src/main/resources/application-dev.yml b/assess-admin/src/main/resources/application-dev.yml
index e579e73..d35069a 100644
--- a/assess-admin/src/main/resources/application-dev.yml
+++ b/assess-admin/src/main/resources/application-dev.yml
@@ -7,7 +7,7 @@
master:
url: jdbc:mysql://localhost:3306/smart_assess?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai&useSSL=false
username: root
- password: password
+ password: 123456
slave:
enabled: false
url:
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java
index 6639a88..1f204f0 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/AssProject.java
@@ -199,4 +199,12 @@
@ApiModelProperty("机构名称")
@TableField(exist = false)
private String agencyName;
+
+ @ApiModelProperty("是否检验检测 0否1是")
+ @TableField(exist = false)
+ private Integer safetyCheck;
+
+ @ApiModelProperty("未完成:1")
+ @TableField(exist = false)
+ private Integer unFinish;
}
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectStaticVO.java b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectStaticVO.java
index 664c082..afb61ee 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectStaticVO.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/domain/vo/ProjectStaticVO.java
@@ -28,4 +28,13 @@
@ApiModelProperty("项目归档总数")
private Integer archiveTotal;
+
+ @ApiModelProperty("未完成检验检测总数")
+ private Integer safetyCheckTotal;
+
+ @ApiModelProperty("未完成安全评价总数")
+ private Integer safetyTotal;
+
+ @ApiModelProperty("未完总数")
+ private Integer unFinishTotal;
}
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/enums/AccessoryFileTypeEnum.java b/assess-system/src/main/java/com/gkhy/assess/system/enums/AccessoryFileTypeEnum.java
index 6e7a39e..a49f674 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/enums/AccessoryFileTypeEnum.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/enums/AccessoryFileTypeEnum.java
@@ -18,7 +18,8 @@
PROCESS_ATTACHMENT(8, "过程控制记录文档附件"),
PROJECT_MATERIAL(9, "项目归档材料"),
FILING_APPLY(10, "报备申请附件"),
- PROJECT_RECITIFICATON(11, "项目整改情况附件");
+ PROJECT_RECITIFICATON(11, "项目整改情况附件"),
+ EMPLOYMENT_NOTICE(12, "从业告知书附件");
private final Integer code;
private final String info;
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/enums/SafetyCheckEnum.java b/assess-system/src/main/java/com/gkhy/assess/system/enums/SafetyCheckEnum.java
new file mode 100644
index 0000000..2dac7f1
--- /dev/null
+++ b/assess-system/src/main/java/com/gkhy/assess/system/enums/SafetyCheckEnum.java
@@ -0,0 +1,32 @@
+package com.gkhy.assess.system.enums;
+
+/**
+ * 项目五大阶段
+ *
+ */
+public enum SafetyCheckEnum
+{
+ UN_CHECK(0, "非检验检测"),
+ CHECKED(1, "检验检测");
+
+ private final Integer code;
+ private final String info;
+
+ SafetyCheckEnum(Integer code, String info)
+ {
+ this.code = code;
+ this.info = info;
+ }
+
+ public Integer getCode()
+ {
+ return code;
+ }
+
+ public String getInfo()
+ {
+ return info;
+ }
+
+
+}
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMapper.java b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMapper.java
index 890aac0..6456c1a 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMapper.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/mapper/AssProjectMapper.java
@@ -39,7 +39,7 @@
* @param name
* @return
*/
- AssProject getProjectByName(@Param("name")String name,@Param("agencyId")Long agencyId);
+ AssProject getProjectByName(@Param("name")String name,@Param("agencyId")Long agencyId,@Param("safetyCheck")Integer safetyCheck);
/**
* 获取项目状态
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java
index b524d6d..62fb995 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssProjectServiceImpl.java
@@ -14,6 +14,7 @@
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;
@@ -94,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("项目名已存在");
}
@@ -155,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;
@@ -243,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;
}
diff --git a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssWorkNotificationServiceImpl.java b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssWorkNotificationServiceImpl.java
index b422bac..13d47b4 100644
--- a/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssWorkNotificationServiceImpl.java
+++ b/assess-system/src/main/java/com/gkhy/assess/system/service/impl/AssWorkNotificationServiceImpl.java
@@ -3,8 +3,10 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.assess.common.exception.ApiException;
import com.gkhy.assess.system.domain.AssWorkNotification;
+import com.gkhy.assess.system.enums.AccessoryFileTypeEnum;
import com.gkhy.assess.system.enums.ReportProgressEnum;
import com.gkhy.assess.system.mapper.AssWorkNotificationMapper;
+import com.gkhy.assess.system.service.AssAccessoryFileService;
import com.gkhy.assess.system.service.AssProjectService;
import com.gkhy.assess.system.service.AssWorkNotificationService;
import com.gkhy.assess.system.utils.ShiroUtils;
@@ -24,13 +26,18 @@
public class AssWorkNotificationServiceImpl extends ServiceImpl<AssWorkNotificationMapper, AssWorkNotification> implements AssWorkNotificationService {
@Autowired
private AssProjectService projectService;
-
+ @Autowired
+ private AssAccessoryFileService accessoryFileService;
@Override
@Transactional(rollbackFor = RuntimeException.class)
public int addWorkNotification(AssWorkNotification workNotification) {
Long projectId=workNotification.getProjectId();
projectService.checkUserAllowed(projectId);
checkWorkNotificationCount(projectId);
+ Integer fileCount=accessoryFileService.getAccessoryFileCountByProjectId(projectId,null, AccessoryFileTypeEnum.EMPLOYMENT_NOTICE.getCode());
+ if(fileCount==0){
+ throw new ApiException("未上传从业告知书");
+ }
//校验项目状态
projectService.checkReportProgress(projectId, ReportProgressEnum.ESTIMATE_PLAN);
workNotification.setCreateBy(ShiroUtils.getSysUser().getUsername());
diff --git a/assess-system/src/main/resources/mapper/AssProjectMapper.xml b/assess-system/src/main/resources/mapper/AssProjectMapper.xml
index 941e57a..4d286f8 100644
--- a/assess-system/src/main/resources/mapper/AssProjectMapper.xml
+++ b/assess-system/src/main/resources/mapper/AssProjectMapper.xml
@@ -78,6 +78,18 @@
</if>
<where>
and p.del_flag = 0
+ <if test="safetyCheck != null and safetyCheck == 0">
+ and p.estimate_type != 33
+ </if>
+ <if test="safetyCheck != null and safetyCheck == 1">
+ and p.estimate_type = 33
+ </if>
+ <if test="unFinish != null and unFinish == 1">
+ and p.report_progress != 14
+ </if>
+ <if test="agencyName != null and agencyName != ''">
+ and a.name=#{agencyName}
+ </if>
<if test="name != null and name != ''">
AND p.name like concat('%', #{name}, '%')
</if>
@@ -131,7 +143,14 @@
<select id="getProjectByName" resultType="com.gkhy.assess.system.domain.AssProject">
select id,name from ass_project
- where name=#{name} and agency_id=#{agencyId} and del_flag=0 limit 1
+ where name=#{name} and agency_id=#{agencyId} and del_flag=0
+ <if test="safetyCheck != null and safetyCheck == 0">
+ and estimate_type != 33
+ </if>
+ <if test="safetyCheck != null and safetyCheck == 1">
+ and estimate_type = 33
+ </if>
+ limit 1
</select>
<select id="getReportProgress" resultType="java.lang.Integer">
@@ -176,15 +195,30 @@
</select>
<select id="getProjectCount" resultType="java.lang.Integer">
- select count(distinct p.id) from ass_project p
+ select Ifnull(count(distinct p.id),0) from ass_project p
<if test="params.lostMaterial != null">
left join ass_project_material m on m.project_id=p.id
</if>
+ <if test="agencyName != null and agencyName != ''">
+ left join sys_agency a on a.id=p.agency_id
+ </if>
<where>
and p.del_flag=0
+ <if test="safetyCheck != null and safetyCheck == 0">
+ and p.estimate_type != 33
+ </if>
+ <if test="safetyCheck != null and safetyCheck == 1">
+ and p.estimate_type = 33
+ </if>
+ <if test="unFinish != null and unFinish == 1">
+ and p.report_progress != 14
+ </if>
<if test="agencyId!=null and agencyId!=''">
and p.agency_id=#{agencyId}
</if>
+ <if test="agencyName != null and agencyName != ''">
+ and a.name=#{agencyName}
+ </if>
<if test="name != null and name != ''">
AND p.name like concat('%', #{name}, '%')
</if>
--
Gitblit v1.9.2