archive file
parent
c71b875c4d
commit
d188d191ad
|
|
@ -545,27 +545,24 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (EvalProjectFileCO file : files) {
|
for (EvalProjectFileCO file : files) {
|
||||||
ProjectStageEnum stage = resolveStageByMsg(file.getProcessName());
|
if (!StringUtils.hasText(file.getProjectDocUrl())) {
|
||||||
for (JSONObject obj : parseFileUrlObjects(file.getProjectDocUrl())) {
|
continue;
|
||||||
if (!StringUtils.hasText(obj.getStr("url"))) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
evalProjectArchiveFileMapper.insert(buildArchiveFileDO(projectId, project, file, stage, obj));
|
|
||||||
}
|
}
|
||||||
|
ProjectStageEnum stage = resolveStageByMsg(file.getProcessName());
|
||||||
|
evalProjectArchiveFileMapper.insert(buildArchiveFileDO(projectId, project, file, stage));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构建单条档案文件记录:archiveType 按业务节点映射 ArchiveTypeEnum,businessNode 存 ProjectStageEnum 英文标识。
|
* 构建单条档案文件记录:files 存文件 JSON 数组原文,archiveType 按业务节点映射 ArchiveTypeEnum,
|
||||||
|
* businessNode 存 ProjectStageEnum 英文标识。
|
||||||
*/
|
*/
|
||||||
private EvalProjectArchiveFileDO buildArchiveFileDO(Long projectId, EvalProjectEntity project,
|
private EvalProjectArchiveFileDO buildArchiveFileDO(Long projectId, EvalProjectEntity project,
|
||||||
EvalProjectFileCO file, ProjectStageEnum stage, JSONObject obj) {
|
EvalProjectFileCO file, ProjectStageEnum stage) {
|
||||||
String urlName = obj.getStr("name");
|
|
||||||
EvalProjectArchiveFileDO archiveFileDO = new EvalProjectArchiveFileDO();
|
EvalProjectArchiveFileDO archiveFileDO = new EvalProjectArchiveFileDO();
|
||||||
archiveFileDO.setOrgId(project.getOrgId());
|
archiveFileDO.setOrgId(project.getOrgId());
|
||||||
archiveFileDO.setProjectId(String.valueOf(projectId));
|
archiveFileDO.setProjectId(String.valueOf(projectId));
|
||||||
archiveFileDO.setFileUrl(obj.getStr("url"));
|
archiveFileDO.setFiles(file.getProjectDocUrl());
|
||||||
archiveFileDO.setFileName(StringUtils.hasText(urlName) ? urlName : file.getItemName());
|
|
||||||
archiveFileDO.setArchiveType(resolveArchiveType(stage).getCode());
|
archiveFileDO.setArchiveType(resolveArchiveType(stage).getCode());
|
||||||
archiveFileDO.setBusinessNode(stage != null ? stage.getVal() : file.getProcessName());
|
archiveFileDO.setBusinessNode(stage != null ? stage.getVal() : file.getProcessName());
|
||||||
archiveFileDO.setRecordSource(ProjectArchiveFileSourceEnum.AUTO_PROCESS_RECORD.getCode());
|
archiveFileDO.setRecordSource(ProjectArchiveFileSourceEnum.AUTO_PROCESS_RECORD.getCode());
|
||||||
|
|
@ -642,28 +639,6 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
|
||||||
return files;
|
return files;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 将文件 projectDocUrl(JSON 数组字符串,如 [{"url":"...","name":"..."}])解析为对象列表。
|
|
||||||
* 非数组、解析失败或为空时返回空列表。
|
|
||||||
*/
|
|
||||||
private List<JSONObject> parseFileUrlObjects(String projectDocUrl) {
|
|
||||||
List<JSONObject> result = new ArrayList<>();
|
|
||||||
if (!StringUtils.hasText(projectDocUrl)) {
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
JSONArray array = JSONUtil.parseArray(projectDocUrl);
|
|
||||||
for (Object obj : array) {
|
|
||||||
if (obj instanceof JSONObject) {
|
|
||||||
result.add((JSONObject) obj);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error(e.getMessage(), e);
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 验证项目所有签字任务是否已完成(taskStatusCode=2 已签)。
|
* 验证项目所有签字任务是否已完成(taskStatusCode=2 已签)。
|
||||||
* 无签字任务或存在未完成/未作废的任务均视为未完成。
|
* 无签字任务或存在未完成/未作废的任务均视为未完成。
|
||||||
|
|
|
||||||
|
|
@ -22,13 +22,9 @@ public class EvalProjectArchiveFileAddCmd implements Serializable {
|
||||||
@NotBlank(message = "项目ID不能为空")
|
@NotBlank(message = "项目ID不能为空")
|
||||||
private String projectId;
|
private String projectId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "文件地址", required = true)
|
@ApiModelProperty(value = "文件列表(JSON 数组,如 [{\"url\":\"...\",\"name\":\"...\"}])", required = true)
|
||||||
@NotBlank(message = "文件地址不能为空")
|
@NotBlank(message = "文件列表不能为空")
|
||||||
private String fileUrl;
|
private String files;
|
||||||
|
|
||||||
@ApiModelProperty(value = "文件名称", required = true)
|
|
||||||
@Size(max = 100, message = "文件名称长度不能超过100")
|
|
||||||
private String fileName;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = ArchiveTypeEnum.REMARKS, required = true)
|
@ApiModelProperty(value = ArchiveTypeEnum.REMARKS, required = true)
|
||||||
@NotBlank(message = ArchiveTypeEnum.REMARKS + "不能为空")
|
@NotBlank(message = ArchiveTypeEnum.REMARKS + "不能为空")
|
||||||
|
|
|
||||||
|
|
@ -21,11 +21,6 @@ public class EvalProjectArchiveFileMonitorPageQry extends PageQuery {
|
||||||
@ApiModelProperty(value = "项目ID")
|
@ApiModelProperty(value = "项目ID")
|
||||||
private String projectId;
|
private String projectId;
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件名称
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "文件名称")
|
|
||||||
private String fileName;
|
|
||||||
/**
|
/**
|
||||||
* ArchiveTypeEnum.REMARKS
|
* ArchiveTypeEnum.REMARKS
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -21,11 +21,6 @@ public class EvalProjectArchiveFilePageQry extends PageQuery {
|
||||||
@ApiModelProperty(value = "项目ID")
|
@ApiModelProperty(value = "项目ID")
|
||||||
private String projectId;
|
private String projectId;
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件名称
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "文件名称")
|
|
||||||
private String fileName;
|
|
||||||
/**
|
/**
|
||||||
* ArchiveTypeEnum.REMARKS
|
* ArchiveTypeEnum.REMARKS
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -28,17 +28,11 @@ public class EvalProjectArchiveFileUpdateCmd implements Serializable {
|
||||||
@NotBlank(message = "项目ID不能为空")
|
@NotBlank(message = "项目ID不能为空")
|
||||||
private String projectId;
|
private String projectId;
|
||||||
/**
|
/**
|
||||||
* 文件地址
|
* 文件列表(JSON 数组,如 [{"url":"...","name":"..."}])
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "文件地址", required = true)
|
@ApiModelProperty(value = "文件列表(JSON 数组,如 [{\"url\":\"...\",\"name\":\"...\"}])", required = true)
|
||||||
@NotBlank(message = "文件地址不能为空")
|
@NotBlank(message = "文件列表不能为空")
|
||||||
private String fileUrl;
|
private String files;
|
||||||
/**
|
|
||||||
* 文件名称
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "文件名称", required = true)
|
|
||||||
@NotBlank(message = "文件名称不能为空")
|
|
||||||
private String fileName;
|
|
||||||
/**
|
/**
|
||||||
* ArchiveTypeEnum.REMARKS
|
* ArchiveTypeEnum.REMARKS
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -23,15 +23,10 @@ public class EvalProjectArchiveFileCo extends ClientObject {
|
||||||
@ApiModelProperty(value = "项目ID")
|
@ApiModelProperty(value = "项目ID")
|
||||||
private String projectId;
|
private String projectId;
|
||||||
/**
|
/**
|
||||||
* 文件地址
|
* 文件列表(JSON 数组,如 [{"url":"...","name":"..."}])
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "文件地址")
|
@ApiModelProperty(value = "文件列表")
|
||||||
private String fileUrl;
|
private String files;
|
||||||
/**
|
|
||||||
* 文件名称
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "文件名称")
|
|
||||||
private String fileName;
|
|
||||||
/**
|
/**
|
||||||
* ArchiveTypeEnum.REMARKS
|
* ArchiveTypeEnum.REMARKS
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -25,13 +25,9 @@ public class EvalProjectArchiveFileE extends BaseE {
|
||||||
*/
|
*/
|
||||||
private String projectId;
|
private String projectId;
|
||||||
/**
|
/**
|
||||||
* 文件地址
|
* 文件列表(JSON 数组,如 [{"url":"...","name":"..."}])
|
||||||
*/
|
*/
|
||||||
private String fileUrl;
|
private String files;
|
||||||
/**
|
|
||||||
* 文件名称
|
|
||||||
*/
|
|
||||||
private String fileName;
|
|
||||||
/**
|
/**
|
||||||
* ArchiveTypeEnum.REMARKS
|
* ArchiveTypeEnum.REMARKS
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -22,13 +22,9 @@ public class EvalProjectArchiveFileDO extends BaseDO {
|
||||||
*/
|
*/
|
||||||
private String projectId;
|
private String projectId;
|
||||||
/**
|
/**
|
||||||
* 文件地址
|
* 文件列表(JSON 数组,如 [{"url":"...","name":"..."}])
|
||||||
*/
|
*/
|
||||||
private String fileUrl;
|
private String files;
|
||||||
/**
|
|
||||||
* 文件名称
|
|
||||||
*/
|
|
||||||
private String fileName;
|
|
||||||
/**
|
/**
|
||||||
* ArchiveTypeEnum.REMARKS
|
* ArchiveTypeEnum.REMARKS
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -40,9 +40,6 @@ public class EvalProjectArchiveFileRepositoryImpl extends BaseRepositoryImpl<Eva
|
||||||
evalProjectArchiveFileDoQueryWrapper.eq("project_id", evalProjectArchiveFilePageQry.getProjectId());
|
evalProjectArchiveFileDoQueryWrapper.eq("project_id", evalProjectArchiveFilePageQry.getProjectId());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(evalProjectArchiveFilePageQry.getFileName())) {
|
|
||||||
evalProjectArchiveFileDoQueryWrapper.like("file_name", evalProjectArchiveFilePageQry.getFileName());
|
|
||||||
}
|
|
||||||
if (ObjectUtil.isNotEmpty(evalProjectArchiveFilePageQry.getArchiveType())) {
|
if (ObjectUtil.isNotEmpty(evalProjectArchiveFilePageQry.getArchiveType())) {
|
||||||
evalProjectArchiveFileDoQueryWrapper.eq("archive_type", evalProjectArchiveFilePageQry.getArchiveType());
|
evalProjectArchiveFileDoQueryWrapper.eq("archive_type", evalProjectArchiveFilePageQry.getArchiveType());
|
||||||
}
|
}
|
||||||
|
|
@ -63,9 +60,6 @@ public class EvalProjectArchiveFileRepositoryImpl extends BaseRepositoryImpl<Eva
|
||||||
if (ObjectUtil.isNotEmpty(evalProjectArchiveFileMonitorPageQry.getProjectId())) {
|
if (ObjectUtil.isNotEmpty(evalProjectArchiveFileMonitorPageQry.getProjectId())) {
|
||||||
evalProjectArchiveFileDoQueryWrapper.eq("project_id", evalProjectArchiveFileMonitorPageQry.getProjectId());
|
evalProjectArchiveFileDoQueryWrapper.eq("project_id", evalProjectArchiveFileMonitorPageQry.getProjectId());
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(evalProjectArchiveFileMonitorPageQry.getFileName())) {
|
|
||||||
evalProjectArchiveFileDoQueryWrapper.like("file_name", evalProjectArchiveFileMonitorPageQry.getFileName());
|
|
||||||
}
|
|
||||||
if (ObjectUtil.isNotEmpty(evalProjectArchiveFileMonitorPageQry.getArchiveType())) {
|
if (ObjectUtil.isNotEmpty(evalProjectArchiveFileMonitorPageQry.getArchiveType())) {
|
||||||
evalProjectArchiveFileDoQueryWrapper.eq("archive_type", evalProjectArchiveFileMonitorPageQry.getArchiveType());
|
evalProjectArchiveFileDoQueryWrapper.eq("archive_type", evalProjectArchiveFileMonitorPageQry.getArchiveType());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,7 @@
|
||||||
id="EvalProjectArchiveFileResult">
|
id="EvalProjectArchiveFileResult">
|
||||||
<id property="id" column="id"/>
|
<id property="id" column="id"/>
|
||||||
<result property="projectId" column="project_id"/>
|
<result property="projectId" column="project_id"/>
|
||||||
<result property="fileUrl" column="file_url"/>
|
<result property="files" column="files"/>
|
||||||
<result property="fileName" column="file_name"/>
|
|
||||||
<result property="archiveType" column="archive_type"/>
|
<result property="archiveType" column="archive_type"/>
|
||||||
<result property="businessNode" column="business_node"/>
|
<result property="businessNode" column="business_node"/>
|
||||||
<result property="recordSource" column="record_source"/>
|
<result property="recordSource" column="record_source"/>
|
||||||
|
|
@ -29,8 +28,7 @@
|
||||||
<sql id="selectEvalProjectArchiveFile">
|
<sql id="selectEvalProjectArchiveFile">
|
||||||
select id,
|
select id,
|
||||||
project_id,
|
project_id,
|
||||||
file_url,
|
files,
|
||||||
file_name,
|
|
||||||
archive_type,
|
archive_type,
|
||||||
business_node,
|
business_node,
|
||||||
record_source,
|
record_source,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue