waring
parent
f0f7384ca9
commit
84c3573e27
|
|
@ -6,6 +6,7 @@ import io.swagger.annotations.ApiParam;
|
|||
import org.qinan.safetyeval.client.api.institution.EvalProcessControlApi;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProcessControlCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProcessControlDetailCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProcessArchiveCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProcessControlConfirmCmd;
|
||||
|
|
@ -15,6 +16,7 @@ import org.springframework.validation.annotation.Validated;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Api(tags = "机构端-过程控制")
|
||||
@RestController
|
||||
|
|
@ -60,4 +62,10 @@ public class EvalProcessControlController {
|
|||
return evalProcessControlApi.archive(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("项目过程文件列表")
|
||||
@GetMapping("/process-files")
|
||||
public SingleResponse<List<EvalProjectFileCO>> processFiles(@ApiParam("项目ID") @RequestParam Long projectId) {
|
||||
return evalProcessControlApi.listProjectFiles(projectId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -7,6 +7,7 @@ import org.qinan.safetyeval.app.item.convertor.EvalReviewItemCmdConvertor;
|
|||
import org.qinan.safetyeval.client.api.institution.EvalProcessControlApi;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProcessControlCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProcessControlDetailCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProcessArchiveCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProcessControlConfirmCmd;
|
||||
|
|
@ -17,22 +18,33 @@ import org.qinan.safetyeval.client.item.response.EvalReviewItemCo;
|
|||
import org.qinan.safetyeval.domain.constant.EvalTypeEnum;
|
||||
import org.qinan.safetyeval.domain.constant.ProjectStageEnum;
|
||||
import org.qinan.safetyeval.domain.constant.ReviewDimensionEnum;
|
||||
import org.qinan.safetyeval.domain.entity.EvalContractEntity;
|
||||
import org.qinan.safetyeval.domain.entity.EvalInternalReviewEntity;
|
||||
import org.qinan.safetyeval.domain.entity.EvalProjectEntity;
|
||||
import org.qinan.safetyeval.domain.entity.EvalProjectMemberEntity;
|
||||
import org.qinan.safetyeval.domain.entity.EvalProcessControlEntity;
|
||||
import org.qinan.safetyeval.domain.entity.EvalReportDraftEntity;
|
||||
import org.qinan.safetyeval.domain.entity.EvalReportEntity;
|
||||
import org.qinan.safetyeval.domain.entity.EvalSignTaskEntity;
|
||||
import org.qinan.safetyeval.domain.entity.EvalSurveyAttachEntity;
|
||||
import org.qinan.safetyeval.domain.entity.EvalSurveyEntity;
|
||||
import org.qinan.safetyeval.domain.entity.EvalTechReviewEntity;
|
||||
import org.qinan.safetyeval.domain.exception.BizException;
|
||||
import org.qinan.safetyeval.domain.exception.ErrorCode;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalContractGateway;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalInternalReviewGateway;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalProcessControlGateway;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalProjectMemberGateway;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalReportDraftGateway;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalReportGateway;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalSignTaskGateway;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalSurveyAttachGateway;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalSurveyGateway;
|
||||
import org.qinan.safetyeval.domain.gateway.EvalTechReviewGateway;
|
||||
import org.qinan.safetyeval.domain.item.gateway.EvalReviewItemGateway;
|
||||
import org.qinan.safetyeval.domain.item.model.EvalReviewItemE;
|
||||
import org.qinan.safetyeval.domain.query.EvalReportDraftQuery;
|
||||
import org.qinan.safetyeval.domain.query.EvalReportQuery;
|
||||
import org.qinan.safetyeval.domain.query.EvalSignTaskQuery;
|
||||
import org.qinan.safetyeval.domain.query.PageResult;
|
||||
import org.qinan.safetyeval.domain.service.EvalArchivePrecheckService;
|
||||
|
|
@ -81,6 +93,16 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
|
|||
private EvalReviewItemCmdConvertor evalReviewItemCmdConvertor;
|
||||
@Resource
|
||||
private EvalProjectWaringGateway evalProjectWaringGateway;
|
||||
@Resource
|
||||
private EvalContractGateway evalContractGateway;
|
||||
@Resource
|
||||
private EvalSurveyGateway evalSurveyGateway;
|
||||
@Resource
|
||||
private EvalSurveyAttachGateway evalSurveyAttachGateway;
|
||||
@Resource
|
||||
private EvalInternalReviewGateway evalInternalReviewGateway;
|
||||
@Resource
|
||||
private EvalTechReviewGateway evalTechReviewGateway;
|
||||
|
||||
@Override
|
||||
public SingleResponse<EvalProcessControlCO> getOrSave(EvalProcessControlSaveCmd cmd) {
|
||||
|
|
@ -237,6 +259,104 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
|
|||
return SingleResponse.success(EvalNodeCoConverter.toProcessCO(entity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<List<EvalProjectFileCO>> listProjectFiles(Long projectId) {
|
||||
EvalProjectEntity project = evalProjectNodeSupport.requireProject(projectId);
|
||||
Long orgId = project.getOrgId();
|
||||
List<EvalProjectFileCO> files = new java.util.ArrayList<>();
|
||||
|
||||
// 业务合同-合同扫描件
|
||||
EvalContractEntity contract = evalContractGateway.getByProjectId(projectId, orgId);
|
||||
if (contract != null && contract.getScanFileUrl() != null) {
|
||||
files.add(buildFile(contract.getId(), ProjectStageEnum.BUSINESS_CONTRACT.getMsg(),
|
||||
"合同扫描件", "合同扫描件", contract.getScanFileUrl()));
|
||||
}
|
||||
|
||||
// 现场踏勘-附件
|
||||
EvalSurveyEntity survey = evalSurveyGateway.getByProjectId(projectId, orgId);
|
||||
if (survey != null) {
|
||||
List<EvalSurveyAttachEntity> attaches = evalSurveyAttachGateway.listBySurveyId(survey.getId(), orgId);
|
||||
if (attaches != null) {
|
||||
for (EvalSurveyAttachEntity attach : attaches) {
|
||||
if (attach.getFileUrl() != null) {
|
||||
String itemName = attach.getAttachTypeName() != null ? attach.getAttachTypeName() : "踏勘附件";
|
||||
String name = attach.getFileName() != null ? attach.getFileName() : itemName;
|
||||
files.add(buildFile(attach.getId(), ProjectStageEnum.SITE_SURVEY.getMsg(),
|
||||
itemName, name, attach.getFileUrl()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 报告编制-报告草稿
|
||||
EvalReportDraftQuery draftQuery = new EvalReportDraftQuery();
|
||||
draftQuery.setProjectId(projectId);
|
||||
draftQuery.setOrgId(orgId);
|
||||
draftQuery.setPageNum(1L);
|
||||
draftQuery.setPageSize(100L);
|
||||
PageResult<EvalReportDraftEntity> drafts = evalReportDraftGateway.page(draftQuery);
|
||||
if (drafts != null && !CollectionUtils.isEmpty(drafts.getRecords())) {
|
||||
for (EvalReportDraftEntity draft : drafts.getRecords()) {
|
||||
if (draft.getContentUrl() != null) {
|
||||
String name = draft.getTemplateName() != null ? draft.getTemplateName() : "报告草稿";
|
||||
String itemName = "V" + (draft.getDraftVersionNo() != null ? draft.getDraftVersionNo() : 0);
|
||||
files.add(buildFile(draft.getId(), ProjectStageEnum.REPORT_PREPARATION.getMsg(),
|
||||
itemName, name, draft.getContentUrl()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 内部审核-内审签字
|
||||
EvalInternalReviewEntity internalReview = evalInternalReviewGateway.getByProjectId(projectId, orgId);
|
||||
if (internalReview != null && internalReview.getReviewerSignatureUrl() != null) {
|
||||
files.add(buildFile(internalReview.getId(), ProjectStageEnum.INTERNAL_REVIEW.getMsg(),
|
||||
"内审签字", "内审签字", internalReview.getReviewerSignatureUrl()));
|
||||
}
|
||||
|
||||
// 技术审核-技审签字
|
||||
EvalTechReviewEntity techReview = evalTechReviewGateway.getByProjectId(projectId, orgId);
|
||||
if (techReview != null && techReview.getReviewerSignatureUrl() != null) {
|
||||
files.add(buildFile(techReview.getId(), ProjectStageEnum.TECHNICAL_REVIEW.getMsg(),
|
||||
"技审签字", "技审签字", techReview.getReviewerSignatureUrl()));
|
||||
}
|
||||
|
||||
// 过程控制-归档交接单
|
||||
EvalProcessControlEntity processControl = evalProcessControlGateway.getByProjectId(projectId, orgId);
|
||||
if (processControl != null && processControl.getHandoverFormUrl() != null) {
|
||||
files.add(buildFile(processControl.getId(), ProjectStageEnum.PROCESS_CONTROL.getMsg(),
|
||||
"归档交接单", "归档交接单", processControl.getHandoverFormUrl()));
|
||||
}
|
||||
|
||||
// 过程控制-归档报告
|
||||
EvalReportQuery reportQuery = new EvalReportQuery();
|
||||
reportQuery.setProjectId(projectId);
|
||||
reportQuery.setOrgId(orgId);
|
||||
reportQuery.setPageNum(1L);
|
||||
reportQuery.setPageSize(100L);
|
||||
PageResult<EvalReportEntity> reports = evalReportGateway.page(reportQuery);
|
||||
if (reports != null && !CollectionUtils.isEmpty(reports.getRecords())) {
|
||||
for (EvalReportEntity report : reports.getRecords()) {
|
||||
if (report.getFileUrl() != null) {
|
||||
String name = report.getFileName() != null ? report.getFileName() : "归档报告";
|
||||
files.add(buildFile(report.getId(), ProjectStageEnum.PROCESS_CONTROL.getMsg(),
|
||||
"归档报告", name, report.getFileUrl()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return SingleResponse.success(files);
|
||||
}
|
||||
|
||||
private EvalProjectFileCO buildFile(Long id, String processName, String itemName, String name, String url) {
|
||||
EvalProjectFileCO co = new EvalProjectFileCO();
|
||||
co.setId(id != null ? String.valueOf(id) : null);
|
||||
co.setProcessName(processName);
|
||||
co.setItemName(itemName);
|
||||
co.setName(name);
|
||||
co.setUrl(url);
|
||||
return co;
|
||||
}
|
||||
|
||||
private EvalReportEntity buildReport(EvalProjectEntity project) {
|
||||
EvalReportEntity report = new EvalReportEntity();
|
||||
report.setOrgId(project.getOrgId());
|
||||
|
|
|
|||
|
|
@ -2,12 +2,15 @@ package org.qinan.safetyeval.client.api.institution;
|
|||
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProcessControlCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProcessControlDetailCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectFileCO;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProcessArchiveCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProcessControlConfirmCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProcessControlSaveCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProcessHandoverFormCmd;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface EvalProcessControlApi {
|
||||
SingleResponse<EvalProcessControlCO> getOrSave(EvalProcessControlSaveCmd cmd);
|
||||
SingleResponse<Void> confirm(EvalProcessControlConfirmCmd cmd);
|
||||
|
|
@ -15,4 +18,5 @@ public interface EvalProcessControlApi {
|
|||
SingleResponse<EvalProcessControlDetailCO> getDetailByProject(Long projectId);
|
||||
SingleResponse<EvalProcessControlCO> generateHandoverForm(EvalProcessHandoverFormCmd cmd);
|
||||
SingleResponse<EvalProcessControlCO> archive(EvalProcessArchiveCmd cmd);
|
||||
SingleResponse<List<EvalProjectFileCO>> listProjectFiles(Long projectId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
package org.qinan.safetyeval.client.co.institution;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class EvalProjectFileCO {
|
||||
|
||||
@ApiModelProperty(value = "所属流程名称(对应ProjectStageEnum.msg:风险分析/业务合同/项目组/现场踏勘/报告编制/内部审核/技术审核/过程控制)", example = "风险分析")
|
||||
private String processName;
|
||||
|
||||
@ApiModelProperty("条目名称")
|
||||
private String itemName;
|
||||
|
||||
@ApiModelProperty("文件名称")
|
||||
private String materialName;
|
||||
|
||||
@ApiModelProperty("文件地址")
|
||||
private String projectDocUrl;
|
||||
|
||||
@ApiModelProperty("资料类型")
|
||||
private String materialType;
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue