luotaiqian 2026-07-28 17:53:20 +08:00
parent 457183cafa
commit 9ca4a49991
10 changed files with 82 additions and 3 deletions

View File

@ -256,6 +256,9 @@ create table `eval_project` (
`project_leader_name` varchar(50) default null comment '项目负责人(手填)',
`clock_in_status` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT 'NOT_CLOCKED_IN' COMMENT '人员打卡状态 未打卡 → NOT_CLOCKED_IN人员未到齐 → NOT_ALL_PRESENT正常 → NORMAL',
`archive_flag` int not null default 0 comment '项目归档(1归档0未归档)',
`archive_transferor_name` varchar(255) DEFAULT NULL COMMENT '项目归档移交人',
`archive_archivist_name` varchar(255) DEFAULT NULL COMMENT '项目归档档案管理员',
`archive_date` datetime DEFAULT NULL COMMENT '项目归档时间',
`is_statutory` tinyint not null default 0 comment '是否法定项目 1是 0否',
`delete_enum` varchar(32) default null comment '删除标识true false',
`remarks` varchar(255) default null comment '备注',

View File

@ -83,4 +83,16 @@ ALTER TABLE `qual_filing_personnel_cert_change`
-- eval_project 表添加是否法定项目字段
-- =============================================
ALTER TABLE `eval_project`
ADD COLUMN `is_statutory` tinyint NOT NULL DEFAULT 0 COMMENT '是否法定项目 1是 0否' AFTER `archive_flag`;
ADD COLUMN `is_statutory` tinyint NOT NULL DEFAULT 0 COMMENT '是否法定项目 1是 0否' AFTER `archive_flag`;
-- =============================================
-- eval_project 表添加归档移交人/档案管理员字段
-- =============================================
ALTER TABLE `eval_project`
ADD COLUMN `archive_transferor_name` varchar(255) DEFAULT NULL COMMENT '项目归档移交人' AFTER `archive_flag`;
ALTER TABLE `eval_project`
ADD COLUMN `archive_archivist_name` varchar(255) DEFAULT NULL COMMENT '项目归档档案管理员' AFTER `archive_transferor_name`;
ALTER TABLE `eval_project`
ADD COLUMN `archive_date` datetime DEFAULT NULL COMMENT '项目归档时间' AFTER `archive_archivist_name`;

View File

@ -266,6 +266,13 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
EvalProcessControlEntity entity = evalProcessControlGateway.getByProjectId(projectId, null);
EvalProcessControlDetailCO detailCO = new EvalProcessControlDetailCO();
detailCO.setControllers(evalProcessControlConvertor.toMemberCOs(members));
// 查询项目归档信息
EvalProjectEntity project = evalProjectNodeSupport.requireProject(projectId);
detailCO.setArchiveTransferorName(project.getArchiveTransferorName());
detailCO.setArchiveArchivistName(project.getArchiveArchivistName());
detailCO.setArchiveDate(project.getArchiveDate());
if (entity != null) {
detailCO.setProcessControl(evalProcessControlConvertor.toProcessCO(entity));
// 3. 通过过程控制记录id查询审核项列表
@ -337,7 +344,7 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
EvalReportEntity report = buildReport(project);
evalReportGateway.saveInternal(report);
projectStageSyncService.onArchived(projectId);
projectStageSyncService.onArchived(projectId, cmd.getArchiveTransferorName(), cmd.getArchiveArchivistName());
// 写入项目预警记录(存在则更新,不存在则新增)
upsertProjectWaring(project);
// 归档项目资料:将所有项目文件以 ARCHIVED 资料类型存入 eval_project_doc

View File

@ -1,9 +1,11 @@
package org.qinan.safetyeval.client.co.institution;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.qinan.safetyeval.client.item.response.EvalReviewItemCo;
import java.time.LocalDateTime;
import java.util.List;
/**
@ -23,4 +25,14 @@ public class EvalProcessControlDetailCO {
@ApiModelProperty("签字任务人员")
private SignTaskPersonCo signTaskPersonCo;
@ApiModelProperty("项目归档移交人")
private String archiveTransferorName;
@ApiModelProperty("项目归档档案管理员")
private String archiveArchivistName;
@ApiModelProperty("项目归档时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime archiveDate;
}

View File

@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@Data
@ -78,6 +79,16 @@ public class EvalProjectCO {
@ApiModelProperty(value = "项目归档1归档 0未归档", example = "0")
private Integer archiveFlag;
@ApiModelProperty("项目归档移交人")
private String archiveTransferorName;
@ApiModelProperty("项目归档档案管理员")
private String archiveArchivistName;
@ApiModelProperty("项目归档时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime archiveDate;
@ApiModelProperty(value = "是否法定项目 1是 0否", example = "0")
private Boolean isStatutory;

View File

@ -1,5 +1,6 @@
package org.qinan.safetyeval.client.dto.institution;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@ -8,4 +9,10 @@ import javax.validation.constraints.NotBlank;
public class EvalProcessArchiveCmd {
@NotBlank
private String projectId;
@ApiModelProperty("项目归档移交人")
private String archiveTransferorName;
@ApiModelProperty("项目归档档案管理员")
private String archiveArchivistName;
}

View File

@ -8,6 +8,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@Data
@ -66,6 +67,15 @@ public class EvalProjectAddCmd {
@ApiModelProperty(value = "项目归档1归档 0未归档", example = "0")
private Integer archiveFlag;
@ApiModelProperty("项目归档移交人")
private String archiveTransferorName;
@ApiModelProperty("项目归档档案管理员")
private String archiveArchivistName;
@ApiModelProperty("项目归档时间")
private LocalDateTime archiveDate;
@ApiModelProperty(value = "是否法定项目 1是 0否", example = "0")
private Boolean isStatutory;
}

View File

@ -3,6 +3,7 @@ package org.qinan.safetyeval.domain.entity;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class EvalProjectEntity {
@ -32,6 +33,12 @@ public class EvalProjectEntity {
private String clockInStatus;
/** 1归档 0未归档 */
private Integer archiveFlag;
/** 项目归档移交人 */
private String archiveTransferorName;
/** 项目归档档案管理员 */
private String archiveArchivistName;
/** 项目归档时间 */
private LocalDateTime archiveDate;
/** 是否法定项目 1是 0否 */
private Boolean isStatutory;
private Long tenantId;

View File

@ -6,6 +6,7 @@ import org.qinan.safetyeval.domain.gateway.EvalProjectGateway;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
/**
* / archive_flag
@ -25,12 +26,15 @@ public class ProjectStageSyncService {
evalProjectGateway.editProjectNode(projectId, projectStageEnum.getVal());
}
public void onArchived(Long projectId) {
public void onArchived(Long projectId, String archiveTransferorName, String archiveArchivistName) {
EvalProjectEntity project = evalProjectGateway.get(projectId);
if (project == null) {
return;
}
project.setArchiveFlag(1);
project.setArchiveTransferorName(archiveTransferorName);
project.setArchiveArchivistName(archiveArchivistName);
project.setArchiveDate(LocalDateTime.now());
evalProjectGateway.modify(project);
}
}

View File

@ -32,6 +32,12 @@ public class EvalProjectDO {
/** 人员打卡状态NOT_CLOCKED_IN未打卡 NOT_ALL_PRESENT人员未到齐 NORMAL正常 */
private String clockInStatus;
private Integer archiveFlag;
/** 项目归档移交人 */
private String archiveTransferorName;
/** 项目归档档案管理员 */
private String archiveArchivistName;
/** 项目归档时间 */
private LocalDateTime archiveDate;
/** 是否法定项目 1是 0否 */
private Boolean isStatutory;
private String deleteEnum;