sign
parent
737a68fa3b
commit
d057e1fdda
|
|
@ -1,11 +0,0 @@
|
||||||
-- org_equipment 表新增 设备价值 字段
|
|
||||||
ALTER TABLE `org_equipment`
|
|
||||||
ADD COLUMN `equipment_value` decimal(14, 2) NULL COMMENT '设备价值' AFTER `manufacturer`;
|
|
||||||
|
|
||||||
-- qual_filing_equipment 表新增 设备价值 字段
|
|
||||||
ALTER TABLE `qual_filing_equipment`
|
|
||||||
ADD COLUMN `equipment_value` decimal(14, 2) NULL COMMENT '设备价值' AFTER `manufacturer`;
|
|
||||||
|
|
||||||
-- qual_filing_equipment_change 表新增 设备价值 字段
|
|
||||||
ALTER TABLE `qual_filing_equipment_change`
|
|
||||||
ADD COLUMN `equipment_value` decimal(14, 2) NULL COMMENT '设备价值' AFTER `manufacturer`;
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
-- eval_process_control 新增机构负责人签字相关字段
|
||||||
|
ALTER TABLE `eval_process_control`
|
||||||
|
ADD COLUMN `org_head_signature_task_status` varchar(64) DEFAULT NULL COMMENT '机构负责人签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成',
|
||||||
|
ADD COLUMN `org_head_personnel_id` bigint DEFAULT NULL COMMENT '机构负责人',
|
||||||
|
ADD COLUMN `org_head_signature_url` varchar(512) DEFAULT NULL COMMENT '机构负责人签字';
|
||||||
|
|
@ -30,13 +30,13 @@ public class EvalProcessControlController {
|
||||||
private SmsRemote smsRemote;
|
private SmsRemote smsRemote;
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation("过程控制确认")
|
@ApiOperation("过程控制确认+过程控制下发签字")
|
||||||
@PostMapping("/confirm")
|
@PostMapping("/confirm")
|
||||||
public SingleResponse<Void> confirm(@Validated @RequestBody EvalProcessControlConfirmCmd cmd) {
|
public SingleResponse<Void> confirm(@Validated @RequestBody EvalProcessControlConfirmCmd cmd) {
|
||||||
return evalProcessControlApi.confirm(cmd);
|
return evalProcessControlApi.confirm(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("下发签字任务")
|
@ApiOperation("评价机构负责人-下发签字任务")
|
||||||
@PostMapping("/assign")
|
@PostMapping("/assign")
|
||||||
public SingleResponse<Void> assign(@Validated @RequestBody EvalProcessControlAssignCmd cmd) {
|
public SingleResponse<Void> assign(@Validated @RequestBody EvalProcessControlAssignCmd cmd) {
|
||||||
return evalProcessControlApi.assign(cmd);
|
return evalProcessControlApi.assign(cmd);
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,6 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
|
||||||
|
|
||||||
EvalProcessControlEntity entity = evalProcessControlConvertor.applyConfirmCmd(cmd);
|
EvalProcessControlEntity entity = evalProcessControlConvertor.applyConfirmCmd(cmd);
|
||||||
EvalProcessControlDO evalProcessControlDO = evalProcessControlMapper.selectOne(new LambdaQueryWrapper<EvalProcessControlDO>()
|
EvalProcessControlDO evalProcessControlDO = evalProcessControlMapper.selectOne(new LambdaQueryWrapper<EvalProcessControlDO>()
|
||||||
.select(EvalProcessControlDO::getId, EvalProcessControlDO::getReviewerSignatureTaskStatus)
|
|
||||||
.eq(EvalProcessControlDO::getProjectId, cmd.getProjectId()));
|
.eq(EvalProcessControlDO::getProjectId, cmd.getProjectId()));
|
||||||
if (cmd.getId() != null && evalProcessControlDO == null) {
|
if (cmd.getId() != null && evalProcessControlDO == null) {
|
||||||
throw new BizException(ErrorCode.EVAL_INTERNAL_REVIEW_NOT_FOUND);
|
throw new BizException(ErrorCode.EVAL_INTERNAL_REVIEW_NOT_FOUND);
|
||||||
|
|
@ -154,6 +153,7 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
|
||||||
} else {
|
} else {
|
||||||
// id为空,新增数据
|
// id为空,新增数据
|
||||||
entity.setOrgId(project.getOrgId());
|
entity.setOrgId(project.getOrgId());
|
||||||
|
entity.setReviewerSignatureTaskStatus(SignatureTaskStatusEnum.DISPATCHED.getCode());
|
||||||
entity = evalProcessControlGateway.save(entity);
|
entity = evalProcessControlGateway.save(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -168,6 +168,18 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
|
||||||
itemE.setOrgId(project.getOrgId());
|
itemE.setOrgId(project.getOrgId());
|
||||||
evalReviewItemGateway.add(itemE);
|
evalReviewItemGateway.add(itemE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SignTaskPersonCmd signTaskPersonCmd = new SignTaskPersonCmd();
|
||||||
|
signTaskPersonCmd.setSignerPersonnelId(cmd.getControllerPersonnelId());
|
||||||
|
signTaskPersonCmd.setSignerName(cmd.getControllerName());
|
||||||
|
|
||||||
|
// 保存签字任务到 eval_sign_task
|
||||||
|
upsertSignTask(entity.getId(), projectId, project.getOrgId(),
|
||||||
|
ProjectStageEnum.PROCESS_CONTROL.getMsg(), ProjectStageEnum.PROCESS_CONTROL.getVal(), signTaskPersonCmd);
|
||||||
|
safetyMessageGateway.saveSignMsg(ProjectStageEnum.PROCESS_CONTROL.getMsg()
|
||||||
|
, ProjectStageEnum.PROCESS_CONTROL.getVal(), String.valueOf(projectId)
|
||||||
|
, String.valueOf(signTaskPersonCmd.getSignerPersonnelId()));
|
||||||
|
|
||||||
return SingleResponse.success();
|
return SingleResponse.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -183,60 +195,36 @@ public class EvalProcessControlExecutor implements EvalProcessControlApi {
|
||||||
throw new BizException(ErrorCode.EVAL_PROJECT_ARCHIVED);
|
throw new BizException(ErrorCode.EVAL_PROJECT_ARCHIVED);
|
||||||
}
|
}
|
||||||
EvalProcessControlEntity entity = evalProcessControlGateway.getByProjectId(projectId, project.getOrgId());
|
EvalProcessControlEntity entity = evalProcessControlGateway.getByProjectId(projectId, project.getOrgId());
|
||||||
if (entity == null) {
|
if (entity == null || !entity.getReviewerSignatureTaskStatus().equals(SignatureTaskStatusEnum.COMPLETED.getCode())) {
|
||||||
// 没有数据则新增,并下发签字任务
|
throw new BizException(ErrorCode.UNKNOWN_ERROR.getCode(), "请先完成过程控制人签字");
|
||||||
entity = new EvalProcessControlEntity();
|
|
||||||
entity.setOrgId(project.getOrgId());
|
|
||||||
entity.setProjectId(projectId);
|
|
||||||
entity.setStatusCode(1);
|
|
||||||
entity.setReviewerSignatureTaskStatus(SignatureTaskStatusEnum.DISPATCHED.getCode());
|
|
||||||
entity.setOpinionContent(cmd.getOpinionContent());
|
|
||||||
evalProcessControlGateway.save(entity);
|
|
||||||
} else {
|
|
||||||
entity.setReviewerSignatureTaskStatus(SignatureTaskStatusEnum.DISPATCHED.getCode());
|
|
||||||
entity.setOpinionContent(cmd.getOpinionContent());
|
|
||||||
evalProcessControlGateway.modify(entity);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
entity.setOrgHeadSignatureTaskStatus(SignatureTaskStatusEnum.DISPATCHED.getCode());
|
||||||
|
entity.setOpinionContent(cmd.getOpinionContent());
|
||||||
|
evalProcessControlGateway.modify(entity);
|
||||||
|
|
||||||
// 保存签字任务到 eval_sign_task
|
// 保存签字任务到 eval_sign_task
|
||||||
upsertSignTask(entity.getId(), projectId, project.getOrgId(),
|
upsertSignTask(entity.getId(), projectId, project.getOrgId(),
|
||||||
ProjectStageEnum.PROCESS_CONTROL, cmd.getSignTaskPersonCmd());
|
ProjectStageEnum.ORG_HEAD_MSG, ProjectStageEnum.PROCESS_CONTROL.getVal(), cmd.getSignTaskPersonCmd());
|
||||||
safetyMessageGateway.saveSignMsg(ProjectStageEnum.PROCESS_CONTROL.getMsg()
|
safetyMessageGateway.saveSignMsg(ProjectStageEnum.ORG_HEAD_MSG
|
||||||
, ProjectStageEnum.PROCESS_CONTROL.getVal(), String.valueOf(projectId)
|
, ProjectStageEnum.PROCESS_CONTROL.getVal(), String.valueOf(projectId)
|
||||||
, String.valueOf(cmd.getSignTaskPersonCmd().getSignerPersonnelId()));
|
, String.valueOf(cmd.getSignTaskPersonCmd().getSignerPersonnelId()));
|
||||||
return SingleResponse.success();
|
return SingleResponse.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void upsertSignTask(Long bizRefId, Long projectId, Long orgId,
|
private void upsertSignTask(Long bizRefId, Long projectId, Long orgId,
|
||||||
ProjectStageEnum stage, SignTaskPersonCmd person) {
|
String taskTitle, String state, SignTaskPersonCmd person) {
|
||||||
EvalSignTaskDO existTask = evalSignTaskMapper.selectOne(new LambdaQueryWrapper<EvalSignTaskDO>()
|
EvalSignTaskDO task = new EvalSignTaskDO();
|
||||||
.select(EvalSignTaskDO::getId)
|
task.setOrgId(orgId);
|
||||||
.eq(EvalSignTaskDO::getProjectId, projectId)
|
task.setProjectId(projectId);
|
||||||
.eq(EvalSignTaskDO::getBizRefId, bizRefId)
|
task.setNodeCode(state);
|
||||||
.eq(EvalSignTaskDO::getDeleteEnum, BooleanQAEnum.FALSE.getValue())
|
task.setIssueTime(LocalDateTime.now());
|
||||||
.last(" limit 1 "));
|
task.setBizRefId(bizRefId);
|
||||||
if (existTask != null && existTask.getTaskStatusCode() != null && existTask.getTaskStatusCode() == 2) {
|
task.setSignerPersonnelId(person.getSignerPersonnelId());
|
||||||
throw new BizException(ErrorCode.SIGN_TASK_ALREADY_COMPLETED);
|
task.setTaskTitle(taskTitle + "签字任务");
|
||||||
}
|
task.setTaskStatusCode(1);
|
||||||
if (existTask != null) {
|
InsertFieldDefaults.apply(task);
|
||||||
EvalSignTaskDO update = new EvalSignTaskDO();
|
evalSignTaskMapper.insert(task);
|
||||||
update.setId(existTask.getId());
|
|
||||||
update.setSignerPersonnelId(person.getSignerPersonnelId());
|
|
||||||
update.setTaskStatusCode(1);
|
|
||||||
InsertFieldDefaults.applyForUpdate(update);
|
|
||||||
evalSignTaskMapper.updateById(update);
|
|
||||||
} else {
|
|
||||||
EvalSignTaskDO task = new EvalSignTaskDO();
|
|
||||||
task.setOrgId(orgId);
|
|
||||||
task.setProjectId(projectId);
|
|
||||||
task.setNodeCode(stage.getVal());
|
|
||||||
task.setIssueTime(LocalDateTime.now());
|
|
||||||
task.setBizRefId(bizRefId);
|
|
||||||
task.setSignerPersonnelId(person.getSignerPersonnelId());
|
|
||||||
task.setTaskTitle(stage.getMsg() + "签字任务");
|
|
||||||
task.setTaskStatusCode(1);
|
|
||||||
InsertFieldDefaults.apply(task);
|
|
||||||
evalSignTaskMapper.insert(task);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,12 @@ public class EvalProcessControlCO {
|
||||||
private String reviewerSignatureUrl;
|
private String reviewerSignatureUrl;
|
||||||
@ApiModelProperty(value = "审核签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成", example = "non_dispatched")
|
@ApiModelProperty(value = "审核签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成", example = "non_dispatched")
|
||||||
private String reviewerSignatureTaskStatus;
|
private String reviewerSignatureTaskStatus;
|
||||||
|
@ApiModelProperty(value = "机构负责人签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成", example = "non_dispatched")
|
||||||
|
private String orgHeadSignatureTaskStatus;
|
||||||
|
@ApiModelProperty(value = "机构负责人")
|
||||||
|
private Long orgHeadPersonnelId;
|
||||||
|
@ApiModelProperty(value = "机构负责人签字")
|
||||||
|
private String orgHeadSignatureUrl;
|
||||||
|
|
||||||
@ApiModelProperty(value = "审核结果 passed 通过,not_passed 未通过", example = "passed")
|
@ApiModelProperty(value = "审核结果 passed 通过,not_passed 未通过", example = "passed")
|
||||||
private String resultCode;
|
private String resultCode;
|
||||||
|
|
|
||||||
|
|
@ -25,4 +25,7 @@ public class EvalProcessControlAssignCmd {
|
||||||
|
|
||||||
@ApiModelProperty(value = "审核签字任务状态 dispatched 下发,non_dispatched 未下发", example = "non_dispatched", hidden = true)
|
@ApiModelProperty(value = "审核签字任务状态 dispatched 下发,non_dispatched 未下发", example = "non_dispatched", hidden = true)
|
||||||
private String reviewerSignatureTaskStatus;
|
private String reviewerSignatureTaskStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "机构负责人签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成", example = "non_dispatched", hidden = true)
|
||||||
|
private String orgHeadSignatureTaskStatus;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import lombok.Data;
|
||||||
import org.qinan.safetyeval.client.item.request.EvalReviewItemAddCmd;
|
import org.qinan.safetyeval.client.item.request.EvalReviewItemAddCmd;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -17,11 +18,21 @@ public class EvalProcessControlConfirmCmd {
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@ApiModelProperty("项目id")
|
@ApiModelProperty("项目id")
|
||||||
|
@NotNull
|
||||||
private Long projectId;
|
private Long projectId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "审核结果 passed 通过,not_passed 未通过", example = "passed")
|
@ApiModelProperty(value = "审核结果 passed 通过,not_passed 未通过", example = "passed")
|
||||||
private String resultCode;
|
private String resultCode;
|
||||||
|
|
||||||
|
@ApiModelProperty("过程控制负责人人员id")
|
||||||
|
@NotNull
|
||||||
|
private Long controllerPersonnelId;
|
||||||
|
|
||||||
|
@ApiModelProperty("过程控制负责人姓名")
|
||||||
|
@NotBlank
|
||||||
|
private String controllerName;
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "总体过程控制意见")
|
@ApiModelProperty(value = "总体过程控制意见")
|
||||||
@Size(max = 2000)
|
@Size(max = 2000)
|
||||||
private String opinionContent;
|
private String opinionContent;
|
||||||
|
|
|
||||||
|
|
@ -144,6 +144,12 @@ public class EvalProcessControlSaveCmd {
|
||||||
private String reviewerSignatureUrl;
|
private String reviewerSignatureUrl;
|
||||||
@ApiModelProperty(value = "审核签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成", example = "non_dispatched")
|
@ApiModelProperty(value = "审核签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成", example = "non_dispatched")
|
||||||
private String reviewerSignatureTaskStatus;
|
private String reviewerSignatureTaskStatus;
|
||||||
|
@ApiModelProperty(value = "机构负责人签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成", example = "non_dispatched")
|
||||||
|
private String orgHeadSignatureTaskStatus;
|
||||||
|
@ApiModelProperty(value = "机构负责人")
|
||||||
|
private String orgHeadPersonnelId;
|
||||||
|
@ApiModelProperty(value = "机构负责人签字")
|
||||||
|
private String orgHeadSignatureUrl;
|
||||||
@ApiModelProperty(value = "过程控制结论编码:1通过 2退回", example = "1")
|
@ApiModelProperty(value = "过程控制结论编码:1通过 2退回", example = "1")
|
||||||
private String resultCode;
|
private String resultCode;
|
||||||
@ApiModelProperty(value = "过程控制结论名称:通过/退回", example = "通过")
|
@ApiModelProperty(value = "过程控制结论名称:通过/退回", example = "通过")
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,13 @@ public enum ProjectStageEnum {
|
||||||
private final String msg;
|
private final String msg;
|
||||||
@Getter
|
@Getter
|
||||||
private final String node;
|
private final String node;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 过程控制中机构负责人签字
|
||||||
|
*/
|
||||||
|
public static final String ORG_HEAD = "ORG_HEAD";
|
||||||
|
public static final String ORG_HEAD_MSG = "机构负责人";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据 val(英文大写)查找枚举
|
* 根据 val(英文大写)查找枚举
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,12 @@ public class EvalProcessControlEntity {
|
||||||
private String reviewerSignatureUrl;
|
private String reviewerSignatureUrl;
|
||||||
/** 审核签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成 */
|
/** 审核签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成 */
|
||||||
private String reviewerSignatureTaskStatus;
|
private String reviewerSignatureTaskStatus;
|
||||||
|
/** 机构负责人签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成 */
|
||||||
|
private String orgHeadSignatureTaskStatus;
|
||||||
|
/** 机构负责人 */
|
||||||
|
private Long orgHeadPersonnelId;
|
||||||
|
/** 机构负责人签字 */
|
||||||
|
private String orgHeadSignatureUrl;
|
||||||
private Integer precheckPassFlag;
|
private Integer precheckPassFlag;
|
||||||
private String resultCode;
|
private String resultCode;
|
||||||
private String resultName;
|
private String resultName;
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,12 @@ public class EvalProcessControlDO {
|
||||||
private String reviewerSignatureUrl;
|
private String reviewerSignatureUrl;
|
||||||
/** 审核签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成 */
|
/** 审核签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成 */
|
||||||
private String reviewerSignatureTaskStatus;
|
private String reviewerSignatureTaskStatus;
|
||||||
|
/** 机构负责人签字任务状态 dispatched 下发,non_dispatched 未下发 , completed 已完成 */
|
||||||
|
private String orgHeadSignatureTaskStatus;
|
||||||
|
/** 机构负责人 */
|
||||||
|
private Long orgHeadPersonnelId;
|
||||||
|
/** 机构负责人签字 */
|
||||||
|
private String orgHeadSignatureUrl;
|
||||||
/** 前7节点是否全部完成:1是 2否,示例:2 */
|
/** 前7节点是否全部完成:1是 2否,示例:2 */
|
||||||
private Integer precheckPassFlag;
|
private Integer precheckPassFlag;
|
||||||
/** 过程控制结论编码:1通过 2退回,示例:1 */
|
/** 过程控制结论编码:1通过 2退回,示例:1 */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue