Commit f7c30287 authored by suhuiguang's avatar suhuiguang

refact(注册开通):流程调整

1.联调自测修改
parent 687e0540
...@@ -86,8 +86,8 @@ public enum WorkFlowStatusEnum { ...@@ -86,8 +86,8 @@ public enum WorkFlowStatusEnum {
* 检验检测业务开通流程 * 检验检测业务开通流程
*/ */
OPENING_APPLICATION_SUBMIT("开通申请提交", "openingApplicationSubmit", "开通申请待提交", "资料校对受理已退回", "申请单位已撤回"), OPENING_APPLICATION_SUBMIT("开通申请提交", "openingApplicationSubmit", "开通申请待提交", "资料校对受理已退回", "申请单位已撤回"),
OPENING_APPLICATION_RECEIVE("资料校对", "openingApplicationReceive", "资料校对待受理", "业务开通确认已退回", "资料校对受理已撤回"), OPENING_APPLICATION_RECEIVE("资料校对", "openingApplicationReceive", "资料校对待受理", "系统对接受理已退回", "资料校对受理已撤回"),
OPENING_APPLICATION_PRELIMINARY("系统对接", "openingApplicationPreliminary", "系统对接中", "", "系统对接受理已撤回"), OPENING_APPLICATION_PRELIMINARY("系统对接", "openingApplicationPreliminary", "系统对接中", "业务开通确认已退回", "系统对接受理已撤回"),
OPENING_APPLICATION_REEXAMINE("业务开通确认", "openingApplicationReexamine", "业务开通确认待受理", "", ""); OPENING_APPLICATION_REEXAMINE("业务开通确认", "openingApplicationReexamine", "业务开通确认待受理", "", "");
......
...@@ -18,9 +18,9 @@ public enum OpenBizTypeEnumV2 { ...@@ -18,9 +18,9 @@ public enum OpenBizTypeEnumV2 {
JC("jc", "检测机构", "检测业务"), JC("jc", "检测机构", "检测业务"),
SYDW("jc-sydw", "使用单位", "使用单位电梯检测"), SYDW("jc-sydw", "使用单位", "使用单位电梯检测"),
AGW("jc-agw", "安装改造维修单位", "安改维电梯检测"); AGW("jc-agw", "安装改造维修单位", "安改维电梯检测");
private String code; private String code;
private String unitType; private String unitType;
private String description; private String description;
......
...@@ -6,6 +6,7 @@ import com.yeejoin.amos.component.feign.model.FeignClientResult; ...@@ -6,6 +6,7 @@ import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.workflow.model.*; import com.yeejoin.amos.feign.workflow.model.*;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -82,6 +83,18 @@ public interface WorkflowFeignClient { ...@@ -82,6 +83,18 @@ public interface WorkflowFeignClient {
@RequestMapping(value = "/v2/task/reject/{taskId}", method = RequestMethod.POST) @RequestMapping(value = "/v2/task/reject/{taskId}", method = RequestMethod.POST)
FeignClientResult<ProcessTaskDTO> reject(@PathVariable("taskId") String taskId, @RequestBody TaskResultDTO data) throws Exception; FeignClientResult<ProcessTaskDTO> reject(@PathVariable("taskId") String taskId, @RequestBody TaskResultDTO data) throws Exception;
/**
* 任务驳回到指定节点
*
* @param taskId 任务Id
* @param data 业务参数
* @return ProcessTaskDTO
* @throws Exception e
*/
@RequestMapping(value = "/v2/task/reject/specifiedNode/{taskId}", method = RequestMethod.POST)
FeignClientResult<ProcessTaskDTO> specifiedNode(@PathVariable("taskId") String taskId, @RequestBody TaskResultDTO data);
/** /**
* 工作流完成任务接口 * 工作流完成任务接口
* *
......
...@@ -21,4 +21,6 @@ public interface ICmWorkflowService { ...@@ -21,4 +21,6 @@ public interface ICmWorkflowService {
ProcessTaskDTO assign(FlowTaskVo taskVo); ProcessTaskDTO assign(FlowTaskVo taskVo);
ProcessTaskDTO rejectSpecifiedNode(String taskId, TaskResultDTO data);
} }
...@@ -69,7 +69,7 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService { ...@@ -69,7 +69,7 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
public ProcessTaskDTO reject(String taskId, TaskResultDTO data) { public ProcessTaskDTO reject(String taskId, TaskResultDTO data) {
ProcessTaskDTO processTaskDTO; ProcessTaskDTO processTaskDTO;
try { try {
log.info("开始请求工作流完成任务接口:/complete/standard/{taskId},请求参数:{},{}", taskId, JSONObject.toJSONString(data)); log.info("开始请求工作流驳回任务接口:/v2/task/reject/{taskId},请求参数:{},{}", taskId, JSONObject.toJSONString(data));
processTaskDTO = workflowFeignClient.reject(taskId, data).getResult(); processTaskDTO = workflowFeignClient.reject(taskId, data).getResult();
} catch (InnerInvokException e) { } catch (InnerInvokException e) {
//拦截无审核人异常信息 //拦截无审核人异常信息
...@@ -85,6 +85,25 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService { ...@@ -85,6 +85,25 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
} }
@Override @Override
public ProcessTaskDTO rejectSpecifiedNode(String taskId, TaskResultDTO data) {
ProcessTaskDTO processTaskDTO;
try {
log.info("开始请求工作流驳回到指定节点接口:/reject/specifiedNode/{taskId},请求参数:{},{}", taskId, JSONObject.toJSONString(data));
processTaskDTO = workflowFeignClient.specifiedNode(taskId, data).getResult();
} catch (InnerInvokException e) {
//拦截无审核人异常信息
String devMessage = e.getDevMessage();
devMessage = devMessage.contains(";") ? devMessage.split(";")[0] : devMessage;
log.error(devMessage);
throw new LocalBadRequest(devMessage);
} catch (Exception e) {
log.error("调用工作流完成任务接口失败", e);
throw new RuntimeException("调用工作流完成任务接口失败");
}
return processTaskDTO;
}
@Override
public ProcessTaskDTO rollBack(String processInstanceId) { public ProcessTaskDTO rollBack(String processInstanceId) {
log.info("开始请求工作流撤回接口:/rollBack/standard/{processInstanceId},请求参数:{}", processInstanceId); log.info("开始请求工作流撤回接口:/rollBack/standard/{processInstanceId},请求参数:{}", processInstanceId);
return FeignUtil.remoteCall(() -> workflowFeignClient.rollBackTask(processInstanceId)); return FeignUtil.remoteCall(() -> workflowFeignClient.rollBackTask(processInstanceId));
......
...@@ -346,13 +346,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -346,13 +346,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
if (jyjcOpeningApplication == null) { if (jyjcOpeningApplication == null) {
return false; return false;
} }
if (!String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()).equals(jyjcOpeningApplication.getStatus())) { if (!String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getName()).equals(jyjcOpeningApplication.getStatus())) {
throw new BadRequest("只有已完成的申请单才可以作废!"); throw new BadRequest("只有已完成的申请单才可以作废!");
} }
UpdateWrapper<JyjcOpeningApplication> updateWrapper = new UpdateWrapper<>(); UpdateWrapper<JyjcOpeningApplication> updateWrapper = new UpdateWrapper<>();
updateWrapper updateWrapper
.set("status", FlowStatusEnum.TO_BE_DISCARD.getCode()) .set("status", FlowStatusEnum.TO_BE_DISCARD.getName())
.set("status_name", FlowStatusEnum.TO_BE_DISCARD.getName())
.set("remark", remark) .set("remark", remark)
.eq("SEQUENCE_NBR", sequenceNbr); .eq("SEQUENCE_NBR", sequenceNbr);
return this.update(updateWrapper); return this.update(updateWrapper);
...@@ -491,7 +490,17 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -491,7 +490,17 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
} }
private String buildFullAddress(TzBaseEnterpriseInfo baseEnterpriseInfo) { private String buildFullAddress(TzBaseEnterpriseInfo baseEnterpriseInfo) {
return baseEnterpriseInfo.getAddress(); if (StringUtils.isEmpty(baseEnterpriseInfo.getAddress())) {
return trimNull(baseEnterpriseInfo.getProvince()) + trimNull(baseEnterpriseInfo.getCity()) + trimNull(baseEnterpriseInfo.getDistrict()) + trimNull(baseEnterpriseInfo.getStreet()) + trimNull(baseEnterpriseInfo.getCommunity());
}
if (baseEnterpriseInfo.getAddress().contains("省") || baseEnterpriseInfo.getAddress().contains("市") || baseEnterpriseInfo.getAddress().contains("自治区")) {
return baseEnterpriseInfo.getAddress();
}
return trimNull(baseEnterpriseInfo.getProvince()) + trimNull(baseEnterpriseInfo.getCity()) + trimNull(baseEnterpriseInfo.getDistrict()) + trimNull(baseEnterpriseInfo.getStreet()) + trimNull(baseEnterpriseInfo.getCommunity()) + trimNull(baseEnterpriseInfo.getAddress());
}
private String trimNull(String str) {
return str == null ? "" : str.trim();
} }
private String caseRegionCode2Name(String officeRegion) { private String caseRegionCode2Name(String officeRegion) {
...@@ -681,7 +690,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -681,7 +690,6 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
complete = cmWorkflowService.complete(jyjcOpeningApplication.getNextTaskId(), dto); complete = cmWorkflowService.complete(jyjcOpeningApplication.getNextTaskId(), dto);
} else { } else {
complete = cmWorkflowService.reject(jyjcOpeningApplication.getNextTaskId(), dto); complete = cmWorkflowService.reject(jyjcOpeningApplication.getNextTaskId(), dto);
} }
ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>(); ArrayList<ProcessTaskDTO> processTaskDTOS = new ArrayList<>();
processTaskDTOS.add(complete); processTaskDTOS.add(complete);
...@@ -697,6 +705,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -697,6 +705,8 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getPass()); jyjcOpeningApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getPass());
jyjcOpeningApplication.setExpiryDate(DateUtil.parseDate(params.get("expiryDate").toString())); jyjcOpeningApplication.setExpiryDate(DateUtil.parseDate(params.get("expiryDate").toString()));
jyjcOpeningApplication.setAgencyClassify(params.get("agencyClassify").toString()); jyjcOpeningApplication.setAgencyClassify(params.get("agencyClassify").toString());
jyjcOpeningApplication.setPromoter(RequestContext.getExeUserId());
this.sendMsg2User(jyjcOpeningApplication);
} else { } else {
// 驳回操作 // 驳回操作
jyjcOpeningApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getReject()); jyjcOpeningApplication.setStatus(WorkFlowStatusEnum.getMessage(workflowResultDto.getNextTaskCode()).getReject());
...@@ -749,11 +759,26 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -749,11 +759,26 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return null; return null;
} }
private void sendMsg2User(JyjcOpeningApplication jyjcOpeningApplication) {
// 系统对接中时发送对接消息
if(jyjcOpeningApplication.getStatus().equals(WorkFlowStatusEnum.OPENING_APPLICATION_PRELIMINARY.getPass())){
String createUserId = jyjcOpeningApplication.getCreateUserId();
String relationId = jyjcOpeningApplication.getSequenceNbr() + "";
String companyType = this.OpenBizType2CompanyType(jyjcOpeningApplication.getOpenBizType());
send(createUserId, relationId, companyType);
}
}
private String OpenBizType2CompanyType(String openBizType) {
return Optional.ofNullable(OpenBizTypeEnumV2.getOneByCode(openBizType)).map(OpenBizTypeEnumV2::getUnitType).orElse(null);
}
/** /**
* 发送消息给发起者 * 发送消息给发起者
*
* @param userId 接收人员 * @param userId 接收人员
*/ */
private void sendMsg2User(String userId, String relationId, String companyType){ private void send(String userId, String relationId, String companyType) {
MessageModel messageModel = new MessageModel(); MessageModel messageModel = new MessageModel();
messageModel.setUserId(userId); messageModel.setUserId(userId);
messageModel.setMsgTypeLabel("检验检验业务开通"); messageModel.setMsgTypeLabel("检验检验业务开通");
...@@ -763,7 +788,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -763,7 +788,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
messageModel.setRelationId(relationId); messageModel.setRelationId(relationId);
messageModel.setTerminal("WEB"); messageModel.setTerminal("WEB");
messageModel.setRoutePath(msgDetailPath); messageModel.setRoutePath(msgDetailPath);
// messageModel.setCompanyType(companyType); messageModel.setCompanyType(companyType);
Systemctl.messageClient.create(messageModel); Systemctl.messageClient.create(messageModel);
} }
...@@ -788,16 +813,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -788,16 +813,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
.orElseGet(Collections::emptyList) .orElseGet(Collections::emptyList)
.stream() .stream()
.filter(Objects::nonNull).forEach(itemCode -> { .filter(Objects::nonNull).forEach(itemCode -> {
BaseUnitLicence licence = new BaseUnitLicence(); BaseUnitLicence licence = new BaseUnitLicence();
BeanUtils.copyProperties(e, licence); BeanUtils.copyProperties(e, licence);
licence.setSequenceNbr(sequence.nextId()); licence.setSequenceNbr(sequence.nextId());
licence.setItemCode(itemCode); licence.setItemCode(itemCode);
licence.setEnterpriseCertSeq(cert.getSequenceNbr().toString()); licence.setEnterpriseCertSeq(cert.getSequenceNbr().toString());
licences.add(licence); licences.add(licence);
}); });
certs.add(cert); certs.add(cert);
}); });
if(!enterpriseCertSeqs.isEmpty()){ if (!enterpriseCertSeqs.isEmpty()) {
baseUnitLicenceMapper.delete(new LambdaQueryWrapper<BaseUnitLicence>().in(BaseUnitLicence::getEnterpriseCertSeq, enterpriseCertSeqs)); baseUnitLicenceMapper.delete(new LambdaQueryWrapper<BaseUnitLicence>().in(BaseUnitLicence::getEnterpriseCertSeq, enterpriseCertSeqs));
} }
if (!certs.isEmpty()) { if (!certs.isEmpty()) {
...@@ -903,6 +928,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -903,6 +928,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jsonObject.put("taskType", BusinessTypeEnum.JY_OPENING_APPLICATION.getCode()); jsonObject.put("taskType", BusinessTypeEnum.JY_OPENING_APPLICATION.getCode());
jsonObject.put("flowStatus", commonService.getDictionaryCodeByName(jyjcOpeningApplication.getStatus())); jsonObject.put("flowStatus", commonService.getDictionaryCodeByName(jyjcOpeningApplication.getStatus()));
jsonObject.put("flowStatusLabel", jyjcOpeningApplication.getStatus()); jsonObject.put("flowStatusLabel", jyjcOpeningApplication.getStatus());
this.deleteMsg(taskCode, jyjcOpeningApplication.getSequenceNbr());
// 撤回删除代办 // 撤回删除代办
taskModelService.rollbackTask(jyjcOpeningApplication.getWorkflowProstanceId(), jsonObject); taskModelService.rollbackTask(jyjcOpeningApplication.getWorkflowProstanceId(), jsonObject);
// 更新数据 // 更新数据
...@@ -920,6 +946,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -920,6 +946,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
return null; return null;
} }
private void deleteMsg(String taskCode, Long sequenceNbr) {
if(WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getCode().equals(taskCode)){
// 按照relationId查询
// 查询结果删除接口
}
}
private InstanceRuntimeData buildInstanceRuntimeData(JyjcOpeningApplicationModel jyjcOpeningApplication) { private InstanceRuntimeData buildInstanceRuntimeData(JyjcOpeningApplicationModel jyjcOpeningApplication) {
return InstanceRuntimeData.builder() return InstanceRuntimeData.builder()
.nextExecuteUserIds(jyjcOpeningApplication.getNextExecuteUserIds()) .nextExecuteUserIds(jyjcOpeningApplication.getNextExecuteUserIds())
...@@ -1009,11 +1042,11 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -1009,11 +1042,11 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
} }
private void setPageTypeByFlowStatus(Integer flowStatus, TaskModelDto dto) { private void setPageTypeByFlowStatus(Integer flowStatus, TaskModelDto dto) {
if(flowStatus == 167264){ // if(flowStatus == 167264){
dto.setPageType("edit"); dto.setPageType("edit");
} else { // } else {
dto.setPageType("look"); // dto.setPageType("look");
} // }
} }
private void updateTask(JyjcOpeningApplication model, WorkflowResultDto workflowResultDto, String operate) { private void updateTask(JyjcOpeningApplication model, WorkflowResultDto workflowResultDto, String operate) {
...@@ -1042,9 +1075,9 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp ...@@ -1042,9 +1075,9 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds()); taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
taskModelDto.setFlowCode(workflowResultDto.getNextTaskId()); taskModelDto.setFlowCode(workflowResultDto.getNextTaskId());
// 退回到发起单位或者在资料校队节点时,可编辑 // 退回到发起单位或者在资料校队节点时,可编辑
if (WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getCode().equals(taskCode) && "1".equals(operate) || WorkFlowStatusEnum.OPENING_APPLICATION_RECEIVE.getCode().equals(taskCode)) { // if (WorkFlowStatusEnum.OPENING_APPLICATION_SUBMIT.getCode().equals(taskCode) && "1".equals(operate) || WorkFlowStatusEnum.OPENING_APPLICATION_RECEIVE.getCode().equals(taskCode)) {
taskModelDto.setPageType("edit"); taskModelDto.setPageType("edit");
} // }
taskModelService.buildTaskModel(Collections.singletonList(taskModelDto)); taskModelService.buildTaskModel(Collections.singletonList(taskModelDto));
} else { } else {
JyjcOpeningApplicationModel applicationModel = new JyjcOpeningApplicationModel(); JyjcOpeningApplicationModel applicationModel = new JyjcOpeningApplicationModel();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment