feat: 签字

dev
zhanglei 2026-07-24 11:12:48 +08:00
parent 05bb8f5b58
commit 7aa13fef12
24 changed files with 115 additions and 1200 deletions

View File

@ -1,35 +0,0 @@
package org.qinan.safetyeval.adapter.web.institution;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.qinan.safetyeval.client.api.institution.EvalSignRecordApi;
import org.qinan.safetyeval.client.co.institution.EvalSignRecordCO;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.institution.EvalSignRecordSaveCmd;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@Api(tags = "机构端-签字记录")
@RestController
@RequestMapping("/safetyEval/institution/eval-sign-record")
public class EvalSignRecordController {
@Resource
private EvalSignRecordApi evalSignRecordApi;
@ApiOperation("保存签字记录")
@PostMapping("/save")
public SingleResponse<EvalSignRecordCO> save(@Validated @RequestBody EvalSignRecordSaveCmd cmd) {
return evalSignRecordApi.save(cmd);
}
@ApiOperation("签字记录列表")
@GetMapping("/list")
public SingleResponse<List<EvalSignRecordCO>> list(@ApiParam("签字任务ID") @RequestParam String signTaskId) {
return evalSignRecordApi.list(signTaskId);
}
}

View File

@ -2,15 +2,19 @@ package org.qinan.safetyeval.adapter.web.institution;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.qinan.safetyeval.client.api.institution.EvalSignTaskApi;
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
import org.qinan.safetyeval.client.co.institution.EvalSignTaskEnumsCO;
import org.qinan.safetyeval.client.dto.PageResponse;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery;
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskSaveCmd;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@ -22,33 +26,21 @@ public class EvalSignTaskController {
@Resource
private EvalSignTaskApi evalSignTaskApi;
@ApiOperation("创建签字任务")
@ApiOperation("新增签字任务")
@PostMapping("/save")
public SingleResponse<EvalSignTaskCO> save(@Validated @RequestBody EvalSignTaskSaveCmd cmd) {
return evalSignTaskApi.save(cmd);
}
@ApiOperation("修改签字任务")
@PostMapping("/modify")
public SingleResponse<EvalSignTaskCO> modify(@Validated @RequestBody EvalSignTaskSaveCmd cmd) {
return evalSignTaskApi.modify(cmd);
}
@ApiOperation("作废签字任务")
@PostMapping("/cancel")
public SingleResponse<EvalSignTaskCO> cancel(@ApiParam("任务ID") @RequestParam String id) {
return evalSignTaskApi.cancel(id);
}
@ApiOperation("签字任务详情")
@GetMapping("/get")
public SingleResponse<EvalSignTaskCO> get(@ApiParam("任务ID") @RequestParam String id) {
return evalSignTaskApi.get(id);
}
@ApiOperation("签字任务分页")
@GetMapping("/page")
public PageResponse<EvalSignTaskCO> page(@Validated EvalSignTaskPageQuery query) {
return evalSignTaskApi.page(query);
}
@ApiOperation("签字任务枚举映射")
@GetMapping("/enums")
public SingleResponse<EvalSignTaskEnumsCO> enums() {
return evalSignTaskApi.enums();
}
}

View File

@ -1,74 +0,0 @@
package org.qinan.safetyeval.app.executor.institution;
import org.qinan.safetyeval.app.executor.institution.support.EvalCmdCopy;
import org.qinan.safetyeval.app.executor.institution.support.EvalNodeCoConverter;
import org.qinan.safetyeval.app.executor.institution.support.EvalProjectNodeSupport;
import org.qinan.safetyeval.client.api.institution.EvalSignRecordApi;
import org.qinan.safetyeval.client.co.institution.EvalSignRecordCO;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.institution.EvalSignRecordSaveCmd;
import org.qinan.safetyeval.domain.entity.EvalSignRecordEntity;
import org.qinan.safetyeval.domain.entity.EvalSignTaskEntity;
import org.qinan.safetyeval.domain.exception.BizException;
import org.qinan.safetyeval.domain.exception.ErrorCode;
import org.qinan.safetyeval.domain.gateway.EvalSignRecordGateway;
import org.qinan.safetyeval.domain.gateway.EvalSignTaskGateway;
import org.qinan.safetyeval.domain.support.EvalNodeCodes;
import org.qinan.safetyeval.domain.support.EvalStatusHelper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class EvalSignRecordExecutor implements EvalSignRecordApi {
@Resource
private EvalSignRecordGateway evalSignRecordGateway;
@Resource
private EvalSignTaskGateway evalSignTaskGateway;
@Resource
private EvalProjectNodeSupport evalProjectNodeSupport;
@Override
public SingleResponse<EvalSignRecordCO> save(EvalSignRecordSaveCmd cmd) {
EvalSignTaskEntity task = requireTask(cmd.getSignTaskId());
evalProjectNodeSupport.assertWrite(task.getProjectId(), EvalNodeCodes.SIGN);
if (task.getTaskStatusCode() != null && task.getTaskStatusCode() == 3) {
throw new BizException(ErrorCode.EVAL_SIGN_TASK_INVALID);
}
EvalSignRecordEntity entity = new EvalSignRecordEntity();
entity.setOrgId(task.getOrgId());
entity.setProjectId(task.getProjectId());
entity.setSignTaskId(task.getId());
EvalCmdCopy.apply(cmd, entity);
if (entity.getSignTime() == null) {
entity.setSignTime(LocalDateTime.now());
}
entity = evalSignRecordGateway.save(entity);
task.setTaskStatusCode(2);
EvalStatusHelper.fillSignTaskStatus(2, task);
evalSignTaskGateway.modify(task);
return SingleResponse.success(EvalNodeCoConverter.toSignRecordCO(entity));
}
@Override
public SingleResponse<List<EvalSignRecordCO>> list(String signTaskId) {
EvalSignTaskEntity task = requireTask(signTaskId);
evalProjectNodeSupport.assertRead(task.getProjectId());
List<EvalSignRecordCO> list = evalSignRecordGateway.listBySignTaskId(task.getId(), task.getOrgId())
.stream().map(EvalNodeCoConverter::toSignRecordCO).collect(Collectors.toList());
return SingleResponse.success(list);
}
private EvalSignTaskEntity requireTask(String signTaskId) {
EvalSignTaskEntity task = evalSignTaskGateway.get(Long.parseLong(signTaskId));
if (task == null) {
throw new BizException(ErrorCode.EVAL_SIGN_TASK_NOT_FOUND);
}
evalProjectNodeSupport.requireProject(task.getProjectId());
return task;
}
}

View File

@ -1,102 +1,63 @@
package org.qinan.safetyeval.app.executor.institution;
import org.qinan.safetyeval.app.executor.institution.support.EvalCmdCopy;
import org.qinan.safetyeval.app.executor.institution.support.EvalNodeCoConverter;
import org.qinan.safetyeval.app.executor.institution.support.EvalProjectNodeSupport;
import org.qinan.safetyeval.app.convertor.EvalSignTaskCmdConvertor;
import org.qinan.safetyeval.client.api.institution.EvalSignTaskApi;
import org.qinan.safetyeval.client.co.institution.EnumOptionCO;
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
import org.qinan.safetyeval.client.co.institution.EvalSignTaskEnumsCO;
import org.qinan.safetyeval.client.dto.PageResponse;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery;
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskSaveCmd;
import org.qinan.safetyeval.domain.entity.EvalProjectEntity;
import org.qinan.safetyeval.domain.constant.SignTaskStatusEnum;
import org.qinan.safetyeval.domain.entity.EvalSignTaskEntity;
import org.qinan.safetyeval.domain.exception.BizException;
import org.qinan.safetyeval.domain.exception.ErrorCode;
import org.qinan.safetyeval.domain.gateway.EvalSignTaskGateway;
import org.qinan.safetyeval.domain.query.EvalSignTaskQuery;
import org.qinan.safetyeval.domain.query.PageResult;
import org.qinan.safetyeval.domain.support.EvalNodeCodes;
import org.qinan.safetyeval.domain.support.EvalStatusHelper;
import org.qinan.safetyeval.domain.service.EvalSignTaskDomainService;
import org.qinan.safetyeval.infrastructure.support.InstitutionOrgSupport;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.stream.Collectors;
@Service
public class EvalSignTaskExecutor implements EvalSignTaskApi {
@Resource
private EvalSignTaskGateway evalSignTaskGateway;
private EvalSignTaskDomainService evalSignTaskDomainService;
@Resource
private EvalProjectNodeSupport evalProjectNodeSupport;
private EvalSignTaskCmdConvertor evalSignTaskCmdConvertor;
@Resource
private InstitutionOrgSupport institutionOrgSupport;
@Override
public SingleResponse<EvalSignTaskCO> save(EvalSignTaskSaveCmd cmd) {
Long projectId = Long.parseLong(cmd.getProjectId());
EvalProjectEntity project = evalProjectNodeSupport.requireProject(projectId);
evalProjectNodeSupport.assertWrite(projectId, EvalNodeCodes.SIGN);
EvalSignTaskEntity entity = new EvalSignTaskEntity();
entity.setOrgId(project.getOrgId());
entity.setProjectId(projectId);
EvalCmdCopy.apply(cmd, entity);
if (entity.getTaskStatusCode() == null) {
entity.setTaskStatusCode(1);
}
EvalStatusHelper.fillSignTaskStatus(entity.getTaskStatusCode(), entity);
entity = evalSignTaskGateway.save(entity);
return SingleResponse.success(EvalNodeCoConverter.toSignTaskCO(entity));
}
@Override
public SingleResponse<EvalSignTaskCO> modify(EvalSignTaskSaveCmd cmd) {
EvalSignTaskEntity existing = requireTask(cmd.getId());
evalProjectNodeSupport.assertWrite(existing.getProjectId(), EvalNodeCodes.SIGN);
EvalCmdCopy.apply(cmd, existing);
EvalStatusHelper.fillSignTaskStatus(existing.getTaskStatusCode(), existing);
existing = evalSignTaskGateway.modify(existing);
return SingleResponse.success(EvalNodeCoConverter.toSignTaskCO(existing));
}
@Override
public SingleResponse<EvalSignTaskCO> cancel(String id) {
EvalSignTaskEntity existing = requireTask(id);
evalProjectNodeSupport.assertWrite(existing.getProjectId(), EvalNodeCodes.SIGN);
existing.setTaskStatusCode(3);
EvalStatusHelper.fillSignTaskStatus(3, existing);
existing = evalSignTaskGateway.modify(existing);
return SingleResponse.success(EvalNodeCoConverter.toSignTaskCO(existing));
}
@Override
public SingleResponse<EvalSignTaskCO> get(String id) {
EvalSignTaskEntity entity = requireTask(id);
evalProjectNodeSupport.assertRead(entity.getProjectId());
return SingleResponse.success(EvalNodeCoConverter.toSignTaskCO(entity));
Long orgId = institutionOrgSupport.resolveCurrentOrgId();
EvalSignTaskEntity entity = evalSignTaskCmdConvertor.convertSaveCmdToE(cmd);
entity.setOrgId(orgId);
EvalSignTaskEntity result = evalSignTaskDomainService.add(entity);
return SingleResponse.success(evalSignTaskCmdConvertor.convertEToCO(result));
}
@Override
public PageResponse<EvalSignTaskCO> page(EvalSignTaskPageQuery query) {
Long projectId = Long.parseLong(query.getProjectId());
EvalProjectEntity project = evalProjectNodeSupport.requireProject(projectId);
evalProjectNodeSupport.assertRead(projectId);
EvalSignTaskQuery domainQuery = new EvalSignTaskQuery();
domainQuery.setPageNum(query.getCurrent());
domainQuery.setPageSize(query.getSize());
domainQuery.setOrgId(project.getOrgId());
domainQuery.setProjectId(projectId);
PageResult<EvalSignTaskEntity> pageResult = evalSignTaskGateway.page(domainQuery);
EvalSignTaskQuery domainQuery = evalSignTaskCmdConvertor.convertPageQueryToQ(query);
domainQuery.setOrgId(institutionOrgSupport.resolveCurrentOrgId());
PageResult<EvalSignTaskEntity> pageResult = evalSignTaskDomainService.page(domainQuery);
return PageResponse.of(
pageResult.getRecords().stream().map(EvalNodeCoConverter::toSignTaskCO).collect(Collectors.toList()),
evalSignTaskCmdConvertor.convertEListToCOList(pageResult.getRecords()),
pageResult.getTotal());
}
private EvalSignTaskEntity requireTask(String id) {
EvalSignTaskEntity entity = evalSignTaskGateway.get(Long.parseLong(id));
if (entity == null) {
throw new BizException(ErrorCode.EVAL_SIGN_TASK_NOT_FOUND);
}
evalProjectNodeSupport.requireProject(entity.getProjectId());
return entity;
@Override
public SingleResponse<EvalSignTaskEnumsCO> enums() {
EvalSignTaskEnumsCO co = new EvalSignTaskEnumsCO();
co.setTaskStatus(Arrays.stream(SignTaskStatusEnum.values())
.map(e -> new EnumOptionCO(String.valueOf(e.getCode()), e.getValue()))
.collect(Collectors.toList()));
return SingleResponse.success(co);
}
}

View File

@ -4,8 +4,6 @@ import org.springframework.beans.BeanUtils;
import org.qinan.safetyeval.client.co.institution.EvalInternalReviewCO;
import org.qinan.safetyeval.client.co.institution.EvalProcessControlCO;
import org.qinan.safetyeval.client.co.institution.EvalReportDraftCO;
import org.qinan.safetyeval.client.co.institution.EvalSignRecordCO;
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
import org.qinan.safetyeval.client.co.institution.EvalTeamCO;
import org.qinan.safetyeval.client.co.institution.EvalTechReviewCO;
@ -34,14 +32,6 @@ public final class EvalNodeCoConverter {
return copy(entity, new EvalProcessControlCO());
}
public static EvalSignTaskCO toSignTaskCO(Object entity) {
return copy(entity, new EvalSignTaskCO());
}
public static EvalSignRecordCO toSignRecordCO(Object entity) {
return copy(entity, new EvalSignRecordCO());
}
private static <T> T copy(Object entity, T co) {
if (entity == null) {
return null;

View File

@ -1,14 +0,0 @@
package org.qinan.safetyeval.client.api.institution;
import org.qinan.safetyeval.client.co.institution.EvalSignRecordCO;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.institution.EvalSignRecordSaveCmd;
import java.util.List;
public interface EvalSignRecordApi {
SingleResponse<EvalSignRecordCO> save(EvalSignRecordSaveCmd cmd);
SingleResponse<List<EvalSignRecordCO>> list(String signTaskId);
}

View File

@ -1,20 +1,17 @@
package org.qinan.safetyeval.client.api.institution;
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
import org.qinan.safetyeval.client.co.institution.EvalSignTaskEnumsCO;
import org.qinan.safetyeval.client.dto.PageResponse;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskSaveCmd;
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery;
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskSaveCmd;
public interface EvalSignTaskApi {
SingleResponse<EvalSignTaskCO> save(EvalSignTaskSaveCmd cmd);
SingleResponse<EvalSignTaskCO> modify(EvalSignTaskSaveCmd cmd);
SingleResponse<EvalSignTaskCO> cancel(String id);
SingleResponse<EvalSignTaskCO> get(String id);
PageResponse<EvalSignTaskCO> page(EvalSignTaskPageQuery query);
SingleResponse<EvalSignTaskEnumsCO> enums();
}

View File

@ -1,195 +0,0 @@
package org.qinan.safetyeval.client.co.institution;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class EvalSignRecordCO {
private String id;
private String orgId;
private String projectId;
private String riskId;
private String surveyId;
private String signTaskId;
private LocalDate analysisDate;
@ApiModelProperty(value = "评价类型编码PRE安全预评价 ACCEPT安全验收评价 STATUS安全现状评价", example = "PRE")
private String evalTypeCode;
@ApiModelProperty(value = "评价类型名称:安全预评价/安全验收评价/安全现状评价", example = "安全预评价")
private String evalTypeName;
private String industryCode;
private String industryName;
private String evalScope;
@ApiModelProperty(value = "是否在资质业务范围内1是 2否", example = "1")
private Integer inBizScopeFlag;
private String unitOverview;
private String industryRiskDesc;
@ApiModelProperty(value = "人员专业构成是否满足1满足 2不满足", example = "1")
private Integer staffMatchCode;
@ApiModelProperty(value = "是否需要聘请专家1需要 2不需要", example = "2")
private Integer needExpertCode;
@ApiModelProperty(value = "是否有能力承担评价风险1是 2否", example = "1")
private Integer capabilityCode;
@ApiModelProperty(value = "项目可行性1可行 2不可行", example = "1")
private Integer feasibleCode;
@ApiModelProperty(value = "经济性1有经济效益 2无经济效益", example = "1")
private Integer economicCode;
@ApiModelProperty(value = "风险程度编码1低度 2中度 3高度", example = "1")
private Integer riskLevelCode;
@ApiModelProperty(value = "风险程度名称:低度/中度/高度", example = "低度")
private String riskLevelName;
@ApiModelProperty(value = "合同签订结论1签合同 2不签合同", example = "1")
private Integer signContractCode;
private String conclusionContent;
private String approverName;
@ApiModelProperty(value = "批准意见编码1同意 2退回补充 3不同意承接", example = "1")
private Integer approvalOpinionCode;
@ApiModelProperty(value = "批准意见名称:同意/退回补充/不同意承接", example = "同意")
private String approvalOpinionName;
private LocalDate approvalDate;
@ApiModelProperty(value = "节点状态编码1未开始 2进行中 3已完成 4退回", example = "2")
private Integer statusCode;
@ApiModelProperty(value = "节点状态名称:未开始/进行中/已完成/退回", example = "进行中")
private String statusName;
private String personnelId;
private String personnelName;
private String deptName;
@ApiModelProperty(value = "签字状态编码1待签 2已签", example = "1")
private Integer signStatusCode;
@ApiModelProperty(value = "签字状态名称:待签/已签", example = "待签")
private String signStatusName;
private String signFileUrl;
private Integer sortOrder;
private String orgName;
private String contractNo;
private String projectName;
private String projectIntro;
private Long amountFen;
private String projectTypeCode;
private String projectTypeName;
private String riskSummary;
private String projectRegion;
private String projectAddress;
private LocalDate contractStartDate;
private LocalDate contractEndDate;
@ApiModelProperty(value = "是否生产剧毒化学品1是 2否", example = "2")
private Integer toxicFlag;
@ApiModelProperty(value = "是否生产易制毒化学品1是 2否", example = "2")
private Integer precursorFlag;
@ApiModelProperty(value = "是否跨省建设项目1是 2否", example = "2")
private Integer crossProvinceFlag;
private String businessScope;
private String enterpriseName;
private String industryCategory;
private String officeAddress;
private String creditCode;
private String postCode;
private String enterprisePhone;
private String fax;
private String legalPerson;
private String contactName;
private Integer staffCount;
private String scanFileUrl;
private String leaderPersonnelId;
private String leaderName;
private String controlPersonnelId;
private String controlName;
private Integer memberCount;
private LocalDateTime finishTime;
private LocalDate planSurveyDate;
private String surveyPlace;
@ApiModelProperty(value = "从业告知是否完成1是 2否", example = "2")
private Integer noticeDoneFlag;
@ApiModelProperty(value = "现场勘查是否完成1是 2否", example = "2")
private Integer inspectDoneFlag;
@ApiModelProperty(value = "整改通知是否完成1是 2否", example = "2")
private Integer rectifyDoneFlag;
@ApiModelProperty(value = "企业整改报告是否完成1是 2否", example = "2")
private Integer enterpriseDoneFlag;
@ApiModelProperty(value = "整改复查是否完成1是 2否", example = "2")
private Integer reviewDoneFlag;
private String noticeContent;
private String memberSnapshot;
private String stampFileUrl;
@ApiModelProperty(value = "任务状态编码1待签 2已签 3已作废", example = "1")
private Integer taskStatusCode;
@ApiModelProperty(value = "任务状态名称:待签/已签/已作废", example = "待签")
private String taskStatusName;
private LocalDateTime planTime;
@ApiModelProperty(value = "打卡类型编码1签到 2签退", example = "1")
private Integer checkinTypeCode;
@ApiModelProperty(value = "打卡类型名称:签到/签退", example = "签到")
private String checkinTypeName;
private LocalDateTime checkinTime;
private java.math.BigDecimal longitude;
private java.math.BigDecimal latitude;
private String address;
@ApiModelProperty(value = "人脸校验是否通过1是 2否", example = "2")
private Integer facePassFlag;
private String photoUrls;
private String signImageUrl;
@ApiModelProperty(value = "附件类型编码CHECKLIST检查表 RECTIFY整改通知 ENTERPRISE企业整改报告 REVIEW复查单 OTHER其他", example = "CHECKLIST")
private String attachTypeCode;
@ApiModelProperty(value = "附件类型名称:检查表/整改通知/企业整改报告/复查单/其他", example = "检查表")
private String attachTypeName;
private String fileName;
private String fileUrl;
@ApiModelProperty(value = "复查结论编码1整改合格 2整改不合格 3继续整改", example = "1")
private Integer reviewResultCode;
@ApiModelProperty(value = "复查结论名称:整改合格/整改不合格/继续整改", example = "整改合格")
private String reviewResultName;
private String reviewContent;
private Integer draftVersionNo;
private String templateCode;
private String templateName;
private String contentUrl;
private String hintContent;
private String draftId;
private String reviewerPersonnelId;
private String reviewerName;
@ApiModelProperty(value = "审核结果编码1通过 2退回修改", example = "1")
private Integer resultCode;
@ApiModelProperty(value = "审核结果名称:通过/退回修改", example = "通过")
private String resultName;
private String opinionContent;
private LocalDateTime reviewTime;
private String controllerPersonnelId;
private String controllerName;
@ApiModelProperty(value = "前7节点是否全部完成1是 2否", example = "2")
private Integer precheckPassFlag;
@ApiModelProperty(value = "是否归档1是 2否", example = "2")
private Integer archiveFlag;
private LocalDateTime controlTime;
@ApiModelProperty(value = "所属节点编码NODE_01风险分析 NODE_02业务合同 NODE_03项目组成立 NODE_04现场踏勘 NODE_05报告编制 NODE_06内部审核 NODE_07技术审核 NODE_08过程控制", example = "NODE_01")
private String nodeCode;
@ApiModelProperty(value = "所属节点名称:风险分析/业务合同/项目组成立/现场踏勘/报告编制/内部审核/技术审核/过程控制", example = "风险分析")
private String nodeName;
private String bizTypeCode;
private String bizTypeName;
private String bizRefId;
private String signerPersonnelId;
private String signerName;
private String taskTitle;
private LocalDateTime expireTime;
private LocalDateTime signTime;
@ApiModelProperty(value = "客户端类型编码1PC 2APP", example = "1")
private Integer clientTypeCode;
@ApiModelProperty(value = "客户端类型名称PC/APP", example = "PC")
private String clientTypeName;
private String customerId;
private String reportNo;
private String reportName;
private Integer reportYear;
@ApiModelProperty(value = "是否公开1是 2否", example = "2")
private Integer publicFlag;
@ApiModelProperty(value = "资料是否完整1是 2否", example = "2")
private Integer completeFlag;
@ApiModelProperty(value = "报告状态编码1已入库 2抽查中 3待整改 4已复核", example = "1")
private Integer reportStatusCode;
@ApiModelProperty(value = "报告状态名称:已入库/抽查中/待整改/已复核", example = "已入库")
private String reportStatusName;
private LocalDateTime archiveTime;
}

View File

@ -3,7 +3,6 @@ package org.qinan.safetyeval.client.co.institution;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
@ -12,184 +11,21 @@ public class EvalSignTaskCO {
private String id;
private String orgId;
private String projectId;
private String riskId;
private String surveyId;
private String signTaskId;
private LocalDate analysisDate;
@ApiModelProperty(value = "评价类型编码PRE安全预评价 ACCEPT安全验收评价 STATUS安全现状评价", example = "PRE")
private String evalTypeCode;
@ApiModelProperty(value = "评价类型名称:安全预评价/安全验收评价/安全现状评价", example = "安全预评价")
private String evalTypeName;
private String industryCode;
private String industryName;
private String evalScope;
@ApiModelProperty(value = "是否在资质业务范围内1是 2否", example = "1")
private Integer inBizScopeFlag;
private String unitOverview;
private String industryRiskDesc;
@ApiModelProperty(value = "人员专业构成是否满足1满足 2不满足", example = "1")
private Integer staffMatchCode;
@ApiModelProperty(value = "是否需要聘请专家1需要 2不需要", example = "2")
private Integer needExpertCode;
@ApiModelProperty(value = "是否有能力承担评价风险1是 2否", example = "1")
private Integer capabilityCode;
@ApiModelProperty(value = "项目可行性1可行 2不可行", example = "1")
private Integer feasibleCode;
@ApiModelProperty(value = "经济性1有经济效益 2无经济效益", example = "1")
private Integer economicCode;
@ApiModelProperty(value = "风险程度编码1低度 2中度 3高度", example = "1")
private Integer riskLevelCode;
@ApiModelProperty(value = "风险程度名称:低度/中度/高度", example = "低度")
private String riskLevelName;
@ApiModelProperty(value = "合同签订结论1签合同 2不签合同", example = "1")
private Integer signContractCode;
private String conclusionContent;
private String approverName;
@ApiModelProperty(value = "批准意见编码1同意 2退回补充 3不同意承接", example = "1")
private Integer approvalOpinionCode;
@ApiModelProperty(value = "批准意见名称:同意/退回补充/不同意承接", example = "同意")
private String approvalOpinionName;
private LocalDate approvalDate;
@ApiModelProperty(value = "节点状态编码1未开始 2进行中 3已完成 4退回", example = "2")
private Integer statusCode;
@ApiModelProperty(value = "节点状态名称:未开始/进行中/已完成/退回", example = "进行中")
private String statusName;
private String personnelId;
private String personnelName;
private String deptName;
@ApiModelProperty(value = "签字状态编码1待签 2已签", example = "1")
private Integer signStatusCode;
@ApiModelProperty(value = "签字状态名称:待签/已签", example = "待签")
private String signStatusName;
private String signFileUrl;
private Integer sortOrder;
private String orgName;
private String contractNo;
private String projectName;
private String projectIntro;
private Long amountFen;
private String projectTypeCode;
private String projectTypeName;
private String riskSummary;
private String projectRegion;
private String projectAddress;
private LocalDate contractStartDate;
private LocalDate contractEndDate;
@ApiModelProperty(value = "是否生产剧毒化学品1是 2否", example = "2")
private Integer toxicFlag;
@ApiModelProperty(value = "是否生产易制毒化学品1是 2否", example = "2")
private Integer precursorFlag;
@ApiModelProperty(value = "是否跨省建设项目1是 2否", example = "2")
private Integer crossProvinceFlag;
private String businessScope;
private String enterpriseName;
private String industryCategory;
private String officeAddress;
private String creditCode;
private String postCode;
private String enterprisePhone;
private String fax;
private String legalPerson;
private String contactName;
private Integer staffCount;
private String scanFileUrl;
private String leaderPersonnelId;
private String leaderName;
private String controlPersonnelId;
private String controlName;
private Integer memberCount;
private LocalDateTime finishTime;
private LocalDate planSurveyDate;
private String surveyPlace;
@ApiModelProperty(value = "从业告知是否完成1是 2否", example = "2")
private Integer noticeDoneFlag;
@ApiModelProperty(value = "现场勘查是否完成1是 2否", example = "2")
private Integer inspectDoneFlag;
@ApiModelProperty(value = "整改通知是否完成1是 2否", example = "2")
private Integer rectifyDoneFlag;
@ApiModelProperty(value = "企业整改报告是否完成1是 2否", example = "2")
private Integer enterpriseDoneFlag;
@ApiModelProperty(value = "整改复查是否完成1是 2否", example = "2")
private Integer reviewDoneFlag;
private String noticeContent;
private String memberSnapshot;
private String stampFileUrl;
@ApiModelProperty(value = "任务状态编码1待签 2已签 3已作废", example = "1")
private Integer taskStatusCode;
@ApiModelProperty(value = "任务状态名称:待签/已签/已作废", example = "待签")
private String taskStatusName;
private LocalDateTime planTime;
@ApiModelProperty(value = "打卡类型编码1签到 2签退", example = "1")
private Integer checkinTypeCode;
@ApiModelProperty(value = "打卡类型名称:签到/签退", example = "签到")
private String checkinTypeName;
private LocalDateTime checkinTime;
private java.math.BigDecimal longitude;
private java.math.BigDecimal latitude;
private String address;
@ApiModelProperty(value = "人脸校验是否通过1是 2否", example = "2")
private Integer facePassFlag;
private String photoUrls;
private String signImageUrl;
@ApiModelProperty(value = "附件类型编码CHECKLIST检查表 RECTIFY整改通知 ENTERPRISE企业整改报告 REVIEW复查单 OTHER其他", example = "CHECKLIST")
private String attachTypeCode;
@ApiModelProperty(value = "附件类型名称:检查表/整改通知/企业整改报告/复查单/其他", example = "检查表")
private String attachTypeName;
private String fileName;
private String fileUrl;
@ApiModelProperty(value = "复查结论编码1整改合格 2整改不合格 3继续整改", example = "1")
private Integer reviewResultCode;
@ApiModelProperty(value = "复查结论名称:整改合格/整改不合格/继续整改", example = "整改合格")
private String reviewResultName;
private String reviewContent;
private Integer draftVersionNo;
private String templateCode;
private String templateName;
private String contentUrl;
private String hintContent;
private String draftId;
private String reviewerPersonnelId;
private String reviewerName;
@ApiModelProperty(value = "审核结果编码1通过 2退回修改", example = "1")
private Integer resultCode;
@ApiModelProperty(value = "审核结果名称:通过/退回修改", example = "通过")
private String resultName;
private String opinionContent;
private LocalDateTime reviewTime;
private String controllerPersonnelId;
private String controllerName;
@ApiModelProperty(value = "前7节点是否全部完成1是 2否", example = "2")
private Integer precheckPassFlag;
@ApiModelProperty(value = "是否归档1是 2否", example = "2")
private Integer archiveFlag;
private LocalDateTime controlTime;
@ApiModelProperty(value = "所属节点编码NODE_01风险分析 NODE_02业务合同 NODE_03项目组成立 NODE_04现场踏勘 NODE_05报告编制 NODE_06内部审核 NODE_07技术审核 NODE_08过程控制", example = "NODE_01")
private String nodeCode;
@ApiModelProperty(value = "所属节点名称:风险分析/业务合同/项目组成立/现场踏勘/报告编制/内部审核/技术审核/过程控制", example = "风险分析")
private String nodeName;
private String bizTypeCode;
private String bizTypeName;
private String bizRefId;
private String signerPersonnelId;
private String signerName;
private String taskTitle;
private LocalDateTime expireTime;
private LocalDateTime signTime;
@ApiModelProperty(value = "客户端类型编码1PC 2APP", example = "1")
private Integer clientTypeCode;
@ApiModelProperty(value = "客户端类型名称PC/APP", example = "PC")
private String clientTypeName;
private String customerId;
private String reportNo;
private String reportName;
private Integer reportYear;
@ApiModelProperty(value = "是否公开1是 2否", example = "2")
private Integer publicFlag;
@ApiModelProperty(value = "资料是否完整1是 2否", example = "2")
private Integer completeFlag;
@ApiModelProperty(value = "报告状态编码1已入库 2抽查中 3待整改 4已复核", example = "1")
private Integer reportStatusCode;
@ApiModelProperty(value = "报告状态名称:已入库/抽查中/待整改/已复核", example = "已入库")
private String reportStatusName;
private LocalDateTime archiveTime;
@ApiModelProperty(value = "任务状态编码1待签 2已签 3已作废", example = "1")
private Integer taskStatusCode;
@ApiModelProperty(value = "任务状态名称:待签/已签/已作废", example = "待签")
private String taskStatusName;
private LocalDateTime issueTime;
private String signerUrl;
private String remarks;
private String createName;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}

View File

@ -1,173 +0,0 @@
package org.qinan.safetyeval.client.dto.institution;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class EvalSignRecordSaveCmd {
private String id;
private String projectId;
private String riskId;
private String surveyId;
private String signTaskId;
private LocalDate analysisDate;
@ApiModelProperty(value = "评价类型编码PRE安全预评价 ACCEPT安全验收评价 STATUS安全现状评价", example = "PRE")
private String evalTypeCode;
@ApiModelProperty(value = "评价类型名称:安全预评价/安全验收评价/安全现状评价", example = "安全预评价")
private String evalTypeName;
private String industryCode;
private String industryName;
private String evalScope;
@ApiModelProperty(value = "是否在资质业务范围内1是 2否", example = "1")
private Integer inBizScopeFlag;
private String unitOverview;
private String industryRiskDesc;
@ApiModelProperty(value = "人员专业构成是否满足1满足 2不满足", example = "1")
private Integer staffMatchCode;
@ApiModelProperty(value = "是否需要聘请专家1需要 2不需要", example = "2")
private Integer needExpertCode;
@ApiModelProperty(value = "是否有能力承担评价风险1是 2否", example = "1")
private Integer capabilityCode;
@ApiModelProperty(value = "项目可行性1可行 2不可行", example = "1")
private Integer feasibleCode;
@ApiModelProperty(value = "经济性1有经济效益 2无经济效益", example = "1")
private Integer economicCode;
@ApiModelProperty(value = "风险程度编码1低度 2中度 3高度", example = "1")
private Integer riskLevelCode;
@ApiModelProperty(value = "风险程度名称:低度/中度/高度", example = "低度")
private String riskLevelName;
@ApiModelProperty(value = "合同签订结论1签合同 2不签合同", example = "1")
private Integer signContractCode;
private String conclusionContent;
private String approverName;
@ApiModelProperty(value = "批准意见编码1同意 2退回补充 3不同意承接", example = "1")
private Integer approvalOpinionCode;
@ApiModelProperty(value = "批准意见名称:同意/退回补充/不同意承接", example = "同意")
private String approvalOpinionName;
private LocalDate approvalDate;
@ApiModelProperty(value = "节点状态编码1未开始 2进行中 3已完成 4退回", example = "2")
private Integer statusCode;
private String personnelId;
private String personnelName;
private String deptName;
@ApiModelProperty(value = "签字状态编码1待签 2已签", example = "1")
private Integer signStatusCode;
private String signFileUrl;
private Integer sortOrder;
private String orgName;
private String contractNo;
private String projectName;
private String projectIntro;
private Long amountFen;
private String projectTypeCode;
private String projectTypeName;
private String riskSummary;
private String projectRegion;
private String projectAddress;
private LocalDate contractStartDate;
private LocalDate contractEndDate;
@ApiModelProperty(value = "是否生产剧毒化学品1是 2否", example = "2")
private Integer toxicFlag;
@ApiModelProperty(value = "是否生产易制毒化学品1是 2否", example = "2")
private Integer precursorFlag;
@ApiModelProperty(value = "是否跨省建设项目1是 2否", example = "2")
private Integer crossProvinceFlag;
private String businessScope;
private String enterpriseName;
private String industryCategory;
private String officeAddress;
private String creditCode;
private String postCode;
private String enterprisePhone;
private String fax;
private String legalPerson;
private String contactName;
private Integer staffCount;
private String scanFileUrl;
private String leaderPersonnelId;
private String leaderName;
private String controlPersonnelId;
private String controlName;
private Integer memberCount;
private LocalDate planSurveyDate;
private String surveyPlace;
@ApiModelProperty(value = "从业告知是否完成1是 2否", example = "2")
private Integer noticeDoneFlag;
@ApiModelProperty(value = "现场勘查是否完成1是 2否", example = "2")
private Integer inspectDoneFlag;
@ApiModelProperty(value = "整改通知是否完成1是 2否", example = "2")
private Integer rectifyDoneFlag;
@ApiModelProperty(value = "企业整改报告是否完成1是 2否", example = "2")
private Integer enterpriseDoneFlag;
@ApiModelProperty(value = "整改复查是否完成1是 2否", example = "2")
private Integer reviewDoneFlag;
private String noticeContent;
private String memberSnapshot;
private String stampFileUrl;
@ApiModelProperty(value = "任务状态编码1待签 2已签 3已作废", example = "1")
private Integer taskStatusCode;
private LocalDateTime planTime;
@ApiModelProperty(value = "打卡类型编码1签到 2签退", example = "1")
private Integer checkinTypeCode;
@ApiModelProperty(value = "打卡类型名称:签到/签退", example = "签到")
private String checkinTypeName;
private LocalDateTime checkinTime;
private java.math.BigDecimal longitude;
private java.math.BigDecimal latitude;
private String address;
@ApiModelProperty(value = "人脸校验是否通过1是 2否", example = "2")
private Integer facePassFlag;
private String photoUrls;
private String signImageUrl;
@ApiModelProperty(value = "附件类型编码CHECKLIST检查表 RECTIFY整改通知 ENTERPRISE企业整改报告 REVIEW复查单 OTHER其他", example = "CHECKLIST")
private String attachTypeCode;
@ApiModelProperty(value = "附件类型名称:检查表/整改通知/企业整改报告/复查单/其他", example = "检查表")
private String attachTypeName;
private String fileName;
private String fileUrl;
@ApiModelProperty(value = "复查结论编码1整改合格 2整改不合格 3继续整改", example = "1")
private Integer reviewResultCode;
@ApiModelProperty(value = "复查结论名称:整改合格/整改不合格/继续整改", example = "整改合格")
private String reviewResultName;
private String reviewContent;
private String templateCode;
private String templateName;
private String contentUrl;
private String hintContent;
private String draftId;
private String reviewerPersonnelId;
private String reviewerName;
@ApiModelProperty(value = "审核结果编码1通过 2退回修改", example = "1")
private Integer resultCode;
@ApiModelProperty(value = "审核结果名称:通过/退回修改", example = "通过")
private String resultName;
private String opinionContent;
private LocalDateTime reviewTime;
private String controllerPersonnelId;
private String controllerName;
@ApiModelProperty(value = "前7节点是否全部完成1是 2否", example = "2")
private Integer precheckPassFlag;
@ApiModelProperty(value = "是否归档1是 2否", example = "2")
private Integer archiveFlag;
private LocalDateTime controlTime;
@ApiModelProperty(value = "所属节点编码NODE_01风险分析 NODE_02业务合同 NODE_03项目组成立 NODE_04现场踏勘 NODE_05报告编制 NODE_06内部审核 NODE_07技术审核 NODE_08过程控制", example = "NODE_01")
private String nodeCode;
@ApiModelProperty(value = "所属节点名称:风险分析/业务合同/项目组成立/现场踏勘/报告编制/内部审核/技术审核/过程控制", example = "风险分析")
private String nodeName;
private String bizTypeCode;
private String bizTypeName;
private String bizRefId;
private String signerPersonnelId;
private String signerName;
private String taskTitle;
private LocalDateTime expireTime;
private LocalDateTime signTime;
@ApiModelProperty(value = "客户端类型编码1PC 2APP", example = "1")
private Integer clientTypeCode;
@ApiModelProperty(value = "客户端类型名称PC/APP", example = "PC")
private String clientTypeName;
private String remarks;
}

View File

@ -1,5 +1,6 @@
package org.qinan.safetyeval.client.dto.institution;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.qinan.safetyeval.client.dto.BasePageQuery;
@ -7,5 +8,10 @@ import org.qinan.safetyeval.client.dto.BasePageQuery;
@Data
@EqualsAndHashCode(callSuper = true)
public class EvalSignTaskPageQuery extends BasePageQuery {
@ApiModelProperty("项目id")
private String projectId;
@ApiModelProperty("待签人员id")
private String signerPersonnelId;
}

View File

@ -3,171 +3,35 @@ package org.qinan.safetyeval.client.dto.institution;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class EvalSignTaskSaveCmd {
private String id;
@ApiModelProperty(value = "项目id", required = true)
private String projectId;
private String riskId;
private String surveyId;
private String signTaskId;
private LocalDate analysisDate;
@ApiModelProperty(value = "评价类型编码PRE安全预评价 ACCEPT安全验收评价 STATUS安全现状评价", example = "PRE")
private String evalTypeCode;
@ApiModelProperty(value = "评价类型名称:安全预评价/安全验收评价/安全现状评价", example = "安全预评价")
private String evalTypeName;
private String industryCode;
private String industryName;
private String evalScope;
@ApiModelProperty(value = "是否在资质业务范围内1是 2否", example = "1")
private Integer inBizScopeFlag;
private String unitOverview;
private String industryRiskDesc;
@ApiModelProperty(value = "人员专业构成是否满足1满足 2不满足", example = "1")
private Integer staffMatchCode;
@ApiModelProperty(value = "是否需要聘请专家1需要 2不需要", example = "2")
private Integer needExpertCode;
@ApiModelProperty(value = "是否有能力承担评价风险1是 2否", example = "1")
private Integer capabilityCode;
@ApiModelProperty(value = "项目可行性1可行 2不可行", example = "1")
private Integer feasibleCode;
@ApiModelProperty(value = "经济性1有经济效益 2无经济效益", example = "1")
private Integer economicCode;
@ApiModelProperty(value = "风险程度编码1低度 2中度 3高度", example = "1")
private Integer riskLevelCode;
@ApiModelProperty(value = "风险程度名称:低度/中度/高度", example = "低度")
private String riskLevelName;
@ApiModelProperty(value = "合同签订结论1签合同 2不签合同", example = "1")
private Integer signContractCode;
private String conclusionContent;
private String approverName;
@ApiModelProperty(value = "批准意见编码1同意 2退回补充 3不同意承接", example = "1")
private Integer approvalOpinionCode;
@ApiModelProperty(value = "批准意见名称:同意/退回补充/不同意承接", example = "同意")
private String approvalOpinionName;
private LocalDate approvalDate;
@ApiModelProperty(value = "节点状态编码1未开始 2进行中 3已完成 4退回", example = "2")
private Integer statusCode;
private String personnelId;
private String personnelName;
private String deptName;
@ApiModelProperty(value = "签字状态编码1待签 2已签", example = "1")
private Integer signStatusCode;
private String signFileUrl;
private Integer sortOrder;
private String orgName;
private String contractNo;
private String projectName;
private String projectIntro;
private Long amountFen;
private String projectTypeCode;
private String projectTypeName;
private String riskSummary;
private String projectRegion;
private String projectAddress;
private LocalDate contractStartDate;
private LocalDate contractEndDate;
@ApiModelProperty(value = "是否生产剧毒化学品1是 2否", example = "2")
private Integer toxicFlag;
@ApiModelProperty(value = "是否生产易制毒化学品1是 2否", example = "2")
private Integer precursorFlag;
@ApiModelProperty(value = "是否跨省建设项目1是 2否", example = "2")
private Integer crossProvinceFlag;
private String businessScope;
private String enterpriseName;
private String industryCategory;
private String officeAddress;
private String creditCode;
private String postCode;
private String enterprisePhone;
private String fax;
private String legalPerson;
private String contactName;
private Integer staffCount;
private String scanFileUrl;
private String leaderPersonnelId;
private String leaderName;
private String controlPersonnelId;
private String controlName;
private Integer memberCount;
private LocalDate planSurveyDate;
private String surveyPlace;
@ApiModelProperty(value = "从业告知是否完成1是 2否", example = "2")
private Integer noticeDoneFlag;
@ApiModelProperty(value = "现场勘查是否完成1是 2否", example = "2")
private Integer inspectDoneFlag;
@ApiModelProperty(value = "整改通知是否完成1是 2否", example = "2")
private Integer rectifyDoneFlag;
@ApiModelProperty(value = "企业整改报告是否完成1是 2否", example = "2")
private Integer enterpriseDoneFlag;
@ApiModelProperty(value = "整改复查是否完成1是 2否", example = "2")
private Integer reviewDoneFlag;
private String noticeContent;
private String memberSnapshot;
private String stampFileUrl;
@ApiModelProperty(value = "所属节点编码")
private String nodeCode;
@ApiModelProperty("业务单据id")
private String bizRefId;
@ApiModelProperty("待签人员id")
private String signerPersonnelId;
@ApiModelProperty("签字任务标题")
private String taskTitle;
@ApiModelProperty(value = "任务状态编码1待签 2已签 3已作废", example = "1")
private Integer taskStatusCode;
private LocalDateTime planTime;
@ApiModelProperty(value = "打卡类型编码1签到 2签退", example = "1")
private Integer checkinTypeCode;
@ApiModelProperty(value = "打卡类型名称:签到/签退", example = "签到")
private String checkinTypeName;
private LocalDateTime checkinTime;
private java.math.BigDecimal longitude;
private java.math.BigDecimal latitude;
private String address;
@ApiModelProperty(value = "人脸校验是否通过1是 2否", example = "2")
private Integer facePassFlag;
private String photoUrls;
private String signImageUrl;
@ApiModelProperty(value = "附件类型编码CHECKLIST检查表 RECTIFY整改通知 ENTERPRISE企业整改报告 REVIEW复查单 OTHER其他", example = "CHECKLIST")
private String attachTypeCode;
@ApiModelProperty(value = "附件类型名称:检查表/整改通知/企业整改报告/复查单/其他", example = "检查表")
private String attachTypeName;
private String fileName;
private String fileUrl;
@ApiModelProperty(value = "复查结论编码1整改合格 2整改不合格 3继续整改", example = "1")
private Integer reviewResultCode;
@ApiModelProperty(value = "复查结论名称:整改合格/整改不合格/继续整改", example = "整改合格")
private String reviewResultName;
private String reviewContent;
private String templateCode;
private String templateName;
private String contentUrl;
private String hintContent;
private String draftId;
private String reviewerPersonnelId;
private String reviewerName;
@ApiModelProperty(value = "审核结果编码1通过 2退回修改", example = "1")
private Integer resultCode;
@ApiModelProperty(value = "审核结果名称:通过/退回修改", example = "通过")
private String resultName;
private String opinionContent;
private LocalDateTime reviewTime;
private String controllerPersonnelId;
private String controllerName;
@ApiModelProperty(value = "前7节点是否全部完成1是 2否", example = "2")
private Integer precheckPassFlag;
@ApiModelProperty(value = "是否归档1是 2否", example = "2")
private Integer archiveFlag;
private LocalDateTime controlTime;
@ApiModelProperty(value = "所属节点编码NODE_01风险分析 NODE_02业务合同 NODE_03项目组成立 NODE_04现场踏勘 NODE_05报告编制 NODE_06内部审核 NODE_07技术审核 NODE_08过程控制", example = "NODE_01")
private String nodeCode;
@ApiModelProperty(value = "所属节点名称:风险分析/业务合同/项目组成立/现场踏勘/报告编制/内部审核/技术审核/过程控制", example = "风险分析")
private String nodeName;
private String bizTypeCode;
private String bizTypeName;
private String bizRefId;
private String signerPersonnelId;
private String signerName;
private String taskTitle;
private LocalDateTime expireTime;
private LocalDateTime signTime;
@ApiModelProperty(value = "客户端类型编码1PC 2APP", example = "1")
private Integer clientTypeCode;
@ApiModelProperty(value = "客户端类型名称PC/APP", example = "PC")
private String clientTypeName;
@ApiModelProperty("下发时间")
private LocalDateTime issueTime;
@ApiModelProperty("签字图片")
private String signerUrl;
@ApiModelProperty("备注")
private String remarks;
}

View File

@ -1,31 +0,0 @@
package org.qinan.safetyeval.domain.entity;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class EvalSignRecordEntity {
private Long id;
private Long orgId;
private Long projectId;
private Long signTaskId;
private Long signerPersonnelId;
private String signerName;
private String signImageUrl;
private LocalDateTime signTime;
private Integer clientTypeCode;
private String clientTypeName;
private String deleteEnum;
private String remarks;
private String createName;
private String updateName;
private Long tenantId;
private Integer version;
private LocalDateTime createTime;
private LocalDateTime updateTime;
private Long createId;
private Long updateId;
private String env;
}

View File

@ -11,16 +11,12 @@ public class EvalSignTaskEntity {
private Long orgId;
private Long projectId;
private String nodeCode;
private String nodeName;
private String bizTypeCode;
private String bizTypeName;
private Long bizRefId;
private Long signerPersonnelId;
private String signerName;
private String taskTitle;
private Integer taskStatusCode;
private String taskStatusName;
private LocalDateTime expireTime;
private LocalDateTime issueTime;
private String signerUrl;
private String deleteEnum;
private String remarks;
private String createName;

View File

@ -1,16 +0,0 @@
package org.qinan.safetyeval.domain.gateway;
import org.qinan.safetyeval.domain.entity.EvalSignRecordEntity;
import org.qinan.safetyeval.domain.query.EvalSignRecordQuery;
import org.qinan.safetyeval.domain.query.PageResult;
import java.util.List;
public interface EvalSignRecordGateway {
EvalSignRecordEntity save(EvalSignRecordEntity entity);
EvalSignRecordEntity get(Long id);
EvalSignRecordEntity modify(EvalSignRecordEntity entity);
void delete(Long id);
java.util.List<EvalSignRecordEntity> listBySignTaskId(Long signTaskId, Long orgId);
}

View File

@ -4,13 +4,11 @@ import org.qinan.safetyeval.domain.entity.EvalSignTaskEntity;
import org.qinan.safetyeval.domain.query.EvalSignTaskQuery;
import org.qinan.safetyeval.domain.query.PageResult;
import java.util.List;
public interface EvalSignTaskGateway {
EvalSignTaskEntity save(EvalSignTaskEntity entity);
EvalSignTaskEntity get(Long id);
EvalSignTaskEntity modify(EvalSignTaskEntity entity);
void delete(Long id);
PageResult<EvalSignTaskEntity> page(EvalSignTaskQuery query);
}

View File

@ -1,15 +0,0 @@
package org.qinan.safetyeval.domain.query;
import lombok.Data;
@Data
public class EvalSignRecordQuery {
private Long pageNum;
private Long pageSize;
private Long orgId;
private Long projectId;
private Long riskId;
private Long surveyId;
private Long signTaskId;
}

View File

@ -9,7 +9,5 @@ public class EvalSignTaskQuery {
private Long pageSize;
private Long orgId;
private Long projectId;
private Long riskId;
private Long surveyId;
private Long signTaskId;
private Long signerPersonnelId;
}

View File

@ -73,26 +73,6 @@ public final class EvalStatusHelper {
}
}
public static void fillSignTaskStatus(Integer statusCode, Object target) {
if (statusCode == null || target == null) {
return;
}
setInt(target, "taskStatusCode", statusCode);
switch (statusCode) {
case 1:
setString(target, "taskStatusName", "待签");
break;
case 2:
setString(target, "taskStatusName", "已签");
break;
case 3:
setString(target, "taskStatusName", "已作废");
break;
default:
break;
}
}
public static void fillCheckinTaskStatus(Integer statusCode, Object target) {
if (statusCode == null || target == null) {
return;

View File

@ -1,34 +0,0 @@
package org.qinan.safetyeval.infrastructure.dataobject;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@TableName("eval_sign_record")
public class EvalSignRecordDO {
private Long id;
private Long orgId;
private Long projectId;
private Long signTaskId;
private Long signerPersonnelId;
private String signerName;
private String signImageUrl;
private LocalDateTime signTime;
/** 客户端类型编码1PC 2APP示例1 */
private Integer clientTypeCode;
/** 客户端类型名称PC/APP示例PC */
private String clientTypeName;
private String deleteEnum;
private String remarks;
private String createName;
private String updateName;
private Long tenantId;
private Integer version;
private LocalDateTime createTime;
private LocalDateTime updateTime;
private Long createId;
private Long updateId;
private String env;
}

View File

@ -2,6 +2,7 @@ package org.qinan.safetyeval.infrastructure.dataobject;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@ -11,21 +12,13 @@ public class EvalSignTaskDO {
private Long id;
private Long orgId;
private Long projectId;
/** 所属节点编码NODE_01风险分析 NODE_02业务合同 NODE_03项目组成立 NODE_04现场踏勘 NODE_05报告编制 NODE_06内部审核 NODE_07技术审核 NODE_08过程控制示例NODE_01 */
private String nodeCode;
/** 所属节点名称:风险分析/业务合同/项目组成立/现场踏勘/报告编制/内部审核/技术审核/过程控制,示例:风险分析 */
private String nodeName;
private String bizTypeCode;
private String bizTypeName;
private Long bizRefId;
private Long signerPersonnelId;
private String signerName;
private String taskTitle;
/** 任务状态编码1待签 2已签 3已作废示例1 */
private Integer taskStatusCode;
/** 任务状态名称:待签/已签/已作废,示例:待签 */
private String taskStatusName;
private LocalDateTime expireTime;
private LocalDateTime issueTime;
private String signerUrl;
private String deleteEnum;
private String remarks;
private String createName;

View File

@ -1,86 +0,0 @@
package org.qinan.safetyeval.infrastructure.gatewayimpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.qinan.safetyeval.domain.entity.EvalSignRecordEntity;
import org.qinan.safetyeval.domain.gateway.EvalSignRecordGateway;
import org.qinan.safetyeval.domain.query.EvalSignRecordQuery;
import org.qinan.safetyeval.domain.query.PageResult;
import org.qinan.safetyeval.infrastructure.dataobject.EvalSignRecordDO;
import org.qinan.safetyeval.infrastructure.mapper.EvalSignRecordMapper;
import org.qinan.safetyeval.infrastructure.support.EvalBeanCopy;
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
import org.qinan.safetyeval.infrastructure.support.OrgContextResolver;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class EvalSignRecordGatewayImpl implements EvalSignRecordGateway {
@Resource
private EvalSignRecordMapper evalSignRecordMapper;
@Resource
private OrgContextResolver orgContextResolver;
@Override
public EvalSignRecordEntity save(EvalSignRecordEntity entity) {
EvalSignRecordDO dataObject = toDO(entity);
InsertFieldDefaults.apply(dataObject);
evalSignRecordMapper.insert(dataObject);
entity.setId(dataObject.getId());
return entity;
}
@Override
public EvalSignRecordEntity get(Long id) {
EvalSignRecordDO dataObject = evalSignRecordMapper.selectById(id);
if (dataObject == null || !"false".equals(dataObject.getDeleteEnum())) {
return null;
}
return toEntity(dataObject);
}
@Override
public EvalSignRecordEntity modify(EvalSignRecordEntity entity) {
EvalSignRecordDO dataObject = toDO(entity);
dataObject.setId(entity.getId());
InsertFieldDefaults.applyForUpdate(dataObject);
evalSignRecordMapper.updateById(dataObject);
return get(entity.getId());
}
@Override
public void delete(Long id) {
evalSignRecordMapper.deleteById(id);
}
@Override
public List<EvalSignRecordEntity> listBySignTaskId(Long signTaskId, Long orgId) {
LambdaQueryWrapper<EvalSignRecordDO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(EvalSignRecordDO::getDeleteEnum, "false");
wrapper.eq(EvalSignRecordDO::getSignTaskId, signTaskId);
if (orgId != null) {
wrapper.eq(EvalSignRecordDO::getOrgId, orgId);
}
wrapper.orderByDesc(EvalSignRecordDO::getCreateTime);
return evalSignRecordMapper.selectList(wrapper).stream().map(this::toEntity).collect(Collectors.toList());
}
private EvalSignRecordDO toDO(EvalSignRecordEntity entity) {
EvalSignRecordDO dataObject = EvalBeanCopy.toNew(entity, EvalSignRecordDO.class);
dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId()));
return dataObject;
}
private EvalSignRecordEntity toEntity(EvalSignRecordDO dataObject) {
if (dataObject == null) {
return null;
}
return EvalBeanCopy.toNew(dataObject, EvalSignRecordEntity.class);
}
}

View File

@ -7,9 +7,9 @@ import org.qinan.safetyeval.domain.entity.EvalSignTaskEntity;
import org.qinan.safetyeval.domain.gateway.EvalSignTaskGateway;
import org.qinan.safetyeval.domain.query.EvalSignTaskQuery;
import org.qinan.safetyeval.domain.query.PageResult;
import org.qinan.safetyeval.infrastructure.convertor.EvalSignTaskDoConvertor;
import org.qinan.safetyeval.infrastructure.dataobject.EvalSignTaskDO;
import org.qinan.safetyeval.infrastructure.mapper.EvalSignTaskMapper;
import org.qinan.safetyeval.infrastructure.support.EvalBeanCopy;
import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults;
import org.qinan.safetyeval.infrastructure.support.OrgContextResolver;
import org.springframework.stereotype.Component;
@ -24,12 +24,16 @@ public class EvalSignTaskGatewayImpl implements EvalSignTaskGateway {
@Resource
private EvalSignTaskMapper evalSignTaskMapper;
@Resource
private EvalSignTaskDoConvertor evalSignTaskDoConvertor;
@Resource
private OrgContextResolver orgContextResolver;
@Override
public EvalSignTaskEntity save(EvalSignTaskEntity entity) {
EvalSignTaskDO dataObject = toDO(entity);
EvalSignTaskDO dataObject = evalSignTaskDoConvertor.convertEToDo(entity);
dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId()));
InsertFieldDefaults.apply(dataObject);
evalSignTaskMapper.insert(dataObject);
entity.setId(dataObject.getId());
@ -42,26 +46,20 @@ public class EvalSignTaskGatewayImpl implements EvalSignTaskGateway {
if (dataObject == null || !"false".equals(dataObject.getDeleteEnum())) {
return null;
}
return toEntity(dataObject);
}
@Override
public EvalSignTaskEntity modify(EvalSignTaskEntity entity) {
EvalSignTaskDO dataObject = toDO(entity);
dataObject.setId(entity.getId());
InsertFieldDefaults.applyForUpdate(dataObject);
evalSignTaskMapper.updateById(dataObject);
return get(entity.getId());
}
@Override
public void delete(Long id) {
evalSignTaskMapper.deleteById(id);
return evalSignTaskDoConvertor.convertDoToE(dataObject);
}
@Override
public PageResult<EvalSignTaskEntity> page(EvalSignTaskQuery query) {
Page<EvalSignTaskDO> page = new Page<>(query.getPageNum(), query.getPageSize());
IPage<EvalSignTaskDO> result = evalSignTaskMapper.selectPage(page, buildQueryWrapper(query));
List<EvalSignTaskEntity> entities = result.getRecords().stream()
.map(evalSignTaskDoConvertor::convertDoToE)
.collect(Collectors.toList());
return PageResult.of(entities, result.getTotal(), result.getCurrent(), result.getSize());
}
private LambdaQueryWrapper<EvalSignTaskDO> buildQueryWrapper(EvalSignTaskQuery query) {
LambdaQueryWrapper<EvalSignTaskDO> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(EvalSignTaskDO::getDeleteEnum, "false");
if (query.getOrgId() != null) {
@ -70,22 +68,10 @@ public class EvalSignTaskGatewayImpl implements EvalSignTaskGateway {
if (query.getProjectId() != null) {
wrapper.eq(EvalSignTaskDO::getProjectId, query.getProjectId());
}
wrapper.orderByDesc(EvalSignTaskDO::getCreateTime);
IPage<EvalSignTaskDO> result = evalSignTaskMapper.selectPage(page, wrapper);
List<EvalSignTaskEntity> records = result.getRecords().stream().map(this::toEntity).collect(Collectors.toList());
return PageResult.of(records, result.getTotal(), result.getCurrent(), result.getSize());
}
private EvalSignTaskDO toDO(EvalSignTaskEntity entity) {
EvalSignTaskDO dataObject = EvalBeanCopy.toNew(entity, EvalSignTaskDO.class);
dataObject.setOrgId(orgContextResolver.resolveOrgId(entity.getOrgId()));
return dataObject;
}
private EvalSignTaskEntity toEntity(EvalSignTaskDO dataObject) {
if (dataObject == null) {
return null;
if (query.getSignerPersonnelId() != null) {
wrapper.eq(EvalSignTaskDO::getSignerPersonnelId, query.getSignerPersonnelId());
}
return EvalBeanCopy.toNew(dataObject, EvalSignTaskEntity.class);
wrapper.orderByDesc(EvalSignTaskDO::getCreateTime);
return wrapper;
}
}

View File

@ -1,9 +0,0 @@
package org.qinan.safetyeval.infrastructure.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.qinan.safetyeval.infrastructure.dataobject.EvalSignRecordDO;
@Mapper
public interface EvalSignRecordMapper extends BaseMapper<EvalSignRecordDO> {
}