Commit be666dca authored by suhuiguang's avatar suhuiguang

feat(检验检测):计划排期

1.报检受理后增加排期流程
parent 7b4594d3
...@@ -11,7 +11,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel; ...@@ -11,7 +11,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@FeignClient(contextId = "jyjc", name = "${workflow.feign.name:AMOS-API-WORKFLOW}", path = "workflow", configuration = {XidFeignConfiguration.class}) @FeignClient(contextId = "jyjc", name = "${workflow.feign.name:AMOS-API-WORKFLOW-TZS}", path = "workflow-tzs", configuration = {XidFeignConfiguration.class})
public interface WorkflowFeignClient { public interface WorkflowFeignClient {
/*** /***
......
...@@ -50,6 +50,9 @@ public class InspectionPlanCommonServiceImpl { ...@@ -50,6 +50,9 @@ public class InspectionPlanCommonServiceImpl {
@Autowired @Autowired
private DataDictionaryServiceImpl dataDictionaryService; private DataDictionaryServiceImpl dataDictionaryService;
@Autowired
private CommonServiceImpl commonService;
private final static String msgTpl = "%s申请单号:%s,进行%s"; private final static String msgTpl = "%s申请单号:%s,进行%s";
...@@ -60,7 +63,7 @@ public class InspectionPlanCommonServiceImpl { ...@@ -60,7 +63,7 @@ public class InspectionPlanCommonServiceImpl {
ta.setInstanceId(model.getInstanceId()); ta.setInstanceId(model.getInstanceId());
ta.setStatus(model.getStatus()); ta.setStatus(model.getStatus());
ta.setPromoter(model.getPromoter()); ta.setPromoter(model.getPromoter());
ta.setSequenceNbr(model.getSequenceNbr()); ta.setSequenceNbr(Long.parseLong(model.getSSeq()));
ta.setProcessInstanceId(model.getInstanceId()); ta.setProcessInstanceId(model.getInstanceId());
ta.setProcessKey(model.getProcessKey()); ta.setProcessKey(model.getProcessKey());
ta.setNextTaskId(model.getNextTaskId()); ta.setNextTaskId(model.getNextTaskId());
...@@ -75,9 +78,10 @@ public class InspectionPlanCommonServiceImpl { ...@@ -75,9 +78,10 @@ public class InspectionPlanCommonServiceImpl {
dto.setTaskTypeLabel(BusinessTypeEnum.INSPECTION_PLAN.getName()); dto.setTaskTypeLabel(BusinessTypeEnum.INSPECTION_PLAN.getName());
dto.setRelationId(model.getInstanceId()); dto.setRelationId(model.getInstanceId());
dto.setExecuteUserIds(model.getNextExecuteUserIds()); dto.setExecuteUserIds(model.getNextExecuteUserIds());
dto.setTaskStatusLabel("未处理"); dto.setTaskStatus(commonService.getDictionaryCodeByName(model.getStatus()));
dto.setFlowStatus(Integer.valueOf(model.getStatus())); dto.setTaskStatusLabel(model.getStatus());
dto.setFlowStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName()); dto.setFlowStatus(dto.getTaskStatus());
dto.setFlowStatusLabel(model.getStatus());
dto.setStartUserId(RequestContext.getExeUserId()); dto.setStartUserId(RequestContext.getExeUserId());
dto.setStartUser(reginParams.getUserModel().getRealName()); dto.setStartUser(reginParams.getUserModel().getRealName());
dto.setStartUserCompanyName(reginParams.getCompany().getCompanyName()); dto.setStartUserCompanyName(reginParams.getCompany().getCompanyName());
...@@ -102,4 +106,5 @@ public class InspectionPlanCommonServiceImpl { ...@@ -102,4 +106,5 @@ public class InspectionPlanCommonServiceImpl {
DataDictionary dataDictionary = dataDictionaryService.getByCode(code, dictType); DataDictionary dataDictionary = dataDictionaryService.getByCode(code, dictType);
return dataDictionary != null ? dataDictionary.getName() : ""; return dataDictionary != null ? dataDictionary.getName() : "";
} }
} }
...@@ -90,7 +90,6 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl ...@@ -90,7 +90,6 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl
updateWrapper.set(JyjcInspectionApplication::getPlanData, JSONObject.toJSONString(model)); updateWrapper.set(JyjcInspectionApplication::getPlanData, JSONObject.toJSONString(model));
updateWrapper.eq(BaseEntity::getSequenceNbr, applicationSeq); updateWrapper.eq(BaseEntity::getSequenceNbr, applicationSeq);
updateWrapper.set(JyjcInspectionApplication::getPlanCreateDate, new Date()); updateWrapper.set(JyjcInspectionApplication::getPlanCreateDate, new Date());
updateWrapper.set(JyjcInspectionApplication::getPlanInspectionDate, model.getPlanInspectionDate());
inspectionApplicationService.update(updateWrapper); inspectionApplicationService.update(updateWrapper);
// 异步写入计划排期日期,统计办理时效使用 // 异步写入计划排期日期,统计办理时效使用
this.updatePlanCreateDate(applicationSeq); this.updatePlanCreateDate(applicationSeq);
...@@ -144,10 +143,13 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl ...@@ -144,10 +143,13 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl
JSONObject res = new JSONObject(); JSONObject res = new JSONObject();
JyjcCmTask jyjcCmTask = cmTaskService.getOneBySSeq(String.valueOf(applicationSeq)); JyjcCmTask jyjcCmTask = cmTaskService.getOneBySSeq(String.valueOf(applicationSeq));
BeanUtil.copyProperties(jyjcCmTask, res); BeanUtil.copyProperties(jyjcCmTask, res);
res.putAll(JSONObject.parseObject(jyjcCmTask.getFormData()));; res.putAll(Optional.ofNullable(JSONObject.parseObject(jyjcCmTask.getFormData())).orElse(new JSONObject()));
Map<String, Object> applyInfo = inspectionApplicationService.selectBySeq(Long.parseLong(applicationSeq), null); Map<String, Object> applyInfo = inspectionApplicationService.selectBySeq(Long.parseLong(applicationSeq), null);
applyInfo.remove("planData"); applyInfo.remove("planData");
res.put("applyInfo", applyInfo); res.put("applyInfo", applyInfo);
res.put("inspectionUnitCode", applyInfo.get("inspectionUnitCode"));
res.remove("operate");
res.remove("comment");
return res; return res;
} }
...@@ -191,22 +193,21 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl ...@@ -191,22 +193,21 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl
// 驳回后不能撤回 // 驳回后不能撤回
jyjcCmTask.setPromoter(OPERATE_PASS.equals(operate) ? RequestContext.getExeUserId() : ""); jyjcCmTask.setPromoter(OPERATE_PASS.equals(operate) ? RequestContext.getExeUserId() : "");
jyjcCmTask.setFormData(params.toJSONString()); jyjcCmTask.setFormData(params.toJSONString());
cmTaskService.save(jyjcCmTask); cmTaskService.saveOrUpdate(jyjcCmTask);
updateTaskModel(jyjcCmTask); updateTaskModel(jyjcCmTask);
// 创建新的待办 // 创建新的待办
createdTaskModel(jyjcCmTask, reginParams, application); createdTaskModel(jyjcCmTask, reginParams, application);
// 更新新的缓存校验数据到redis
} else { } else {
// 更新业务信息 // 更新业务信息
jyjcCmTask.setStatus(FlowStatusEnum.TO_BE_FINISHED.getName()); jyjcCmTask.setStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
jyjcCmTask.setNextTaskCode(""); jyjcCmTask.setNextTaskCode("");
jyjcCmTask.setNextTaskId(""); jyjcCmTask.setNextTaskId("");
jyjcCmTask.setPromoter("");
jyjcCmTask.setNextExecuteUserIds(""); jyjcCmTask.setNextExecuteUserIds("");
jyjcCmTask.setFormData(params.toJSONString()); jyjcCmTask.setFormData(params.toJSONString());
cmTaskService.updateById(jyjcCmTask); cmTaskService.updateById(jyjcCmTask);
LambdaUpdateWrapper<JyjcInspectionApplication> updateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<JyjcInspectionApplication> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(BaseEntity::getSequenceNbr, applicationSeq); updateWrapper.eq(BaseEntity::getSequenceNbr, applicationSeq);
updateWrapper.set(JyjcInspectionApplication::getPlanInspectionDate, planModel.getRemark2());
// 通过后将数据回写到业务的字段中,兼容之前的数据格式 // 通过后将数据回写到业务的字段中,兼容之前的数据格式
updateWrapper.set(JyjcInspectionApplication::getInspectionChargePerson, planModel.getInspectionChargePerson()); updateWrapper.set(JyjcInspectionApplication::getInspectionChargePerson, planModel.getInspectionChargePerson());
updateWrapper.set(JyjcInspectionApplication::getRemark2, planModel.getRemark2()); updateWrapper.set(JyjcInspectionApplication::getRemark2, planModel.getRemark2());
...@@ -258,12 +259,7 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl ...@@ -258,12 +259,7 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl
} }
// 流程执行时,状态及权限校验 // 流程执行时,状态及权限校验
commonService.checkForRevocationFlow(nextTaskId, instanceId); commonService.checkForRevocationFlow(nextTaskId, instanceId);
JyjcInspectionApplicationModel inspectionApplicationModel = inspectionApplicationService.queryBySeq(Long.valueOf(applicationSeq)); ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(instanceId);
if (inspectionApplicationModel == null) {
log.warn("JyjcInspectionApplicationModel Not Found!sequenceNbr => {}", applicationSeq);
return false;
};
ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(inspectionApplicationModel.getProcessInstanceId());
List<WorkflowResultDto> workflowResultDtos = taskModelService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)); List<WorkflowResultDto> workflowResultDtos = taskModelService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
WorkflowResultDto workflowResultDto = workflowResultDtos.get(0); WorkflowResultDto workflowResultDto = workflowResultDtos.get(0);
JyjcCmTask jyjcCmTask = cmTaskService.getOneBySSeq(applicationSeq); JyjcCmTask jyjcCmTask = cmTaskService.getOneBySSeq(applicationSeq);
...@@ -276,10 +272,14 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl ...@@ -276,10 +272,14 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(jyjcCmTask)); JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(jyjcCmTask));
jsonObject.put("nextTaskId", workflowResultDto.getNextTaskId()); jsonObject.put("nextTaskId", workflowResultDto.getNextTaskId());
jsonObject.put("taskType", BusinessTypeEnum.INSPECTION_PLAN.getCode()); jsonObject.put("taskType", BusinessTypeEnum.INSPECTION_PLAN.getCode());
jsonObject.put("flowStatus", this.getDictNameByCode(jyjcCmTask.getStatus())); jsonObject.put("flowStatus", commonService.getDictionaryCodeByName(jyjcCmTask.getStatus()));
jsonObject.put("flowStatusLabel", jyjcCmTask.getStatus()); jsonObject.put("flowStatusLabel", jyjcCmTask.getStatus());
// 赋空 否则后续公共代码报错
jsonObject.put("nextExecuteUser", "");
// url参数主键为业务主键,详情查询使用
jsonObject.put("sequenceNbr", jyjcCmTask.getSSeq());
jsonObject.remove("formData"); jsonObject.remove("formData");
taskModelService.rollbackTask(inspectionApplicationModel.getProcessInstanceId(), jsonObject); taskModelService.rollbackTask(instanceId, jsonObject);
commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jyjcCmTask)); commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jyjcCmTask));
return true; return true;
} catch (InterruptedException e) { } catch (InterruptedException e) {
...@@ -294,15 +294,23 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl ...@@ -294,15 +294,23 @@ public class InspectionPlanServiceImpl extends InspectionPlanCommonServiceImpl
private void updateTaskModel(JyjcCmTask model) { private void updateTaskModel(JyjcCmTask model) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params.put("relationId", model.getSequenceNbr()); params.put("relationId", model.getInstanceId());
params.put("taskStatus", model.getStatus()); params.put("taskStatus", commonService.getDictionaryCodeByName(model.getStatus()));
params.put("taskStatusLabel", model.getStatus()); params.put("taskStatusLabel", model.getStatus());
params.put("flowStatus", model.getStatus()); params.put("flowStatus", commonService.getDictionaryCodeByName(model.getStatus()));
params.put("flowStatusLabel", model.getStatus()); params.put("flowStatusLabel", model.getStatus());
JSONObject jsonModel = (JSONObject) JSONObject.toJSON(model); JSONObject jsonModel = (JSONObject) JSONObject.toJSON(model);
taskModelService.removeNoUsedKey(jsonModel); taskModelService.removeNoUsedKey(jsonModel);
Map<String, Object> modelMap = new HashMap<>(jsonModel); TaskMessageDto ta = new TaskMessageDto();
params.put("model", BeanUtil.toBeanIgnoreError(modelMap, JyjcInspectionApplicationModel.class)); ta.setInstanceId(model.getInstanceId());
ta.setStatus(model.getStatus());
ta.setPromoter(model.getPromoter());
ta.setSequenceNbr(Long.parseLong(model.getSSeq()));
ta.setProcessInstanceId(model.getInstanceId());
ta.setProcessKey(model.getProcessKey());
ta.setNextTaskId(model.getNextTaskId());
ta.setBizType(model.getSType());
params.put("model", ta);
taskModelService.updateTaskModel(params); taskModelService.updateTaskModel(params);
} }
......
...@@ -587,7 +587,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -587,7 +587,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
Page<JyjcInspectionApplicationModel> result = this.getBaseMapper().selectForPage(page, model, identity, currentApplicationUnitCode, currentInspectionUnitCode, currentUserId, sortMap, orgCode); Page<JyjcInspectionApplicationModel> result = this.getBaseMapper().selectForPage(page, model, identity, currentApplicationUnitCode, currentInspectionUnitCode, currentUserId, sortMap, orgCode);
result.getRecords().forEach(r -> { result.getRecords().forEach(r -> {
r.setLoginPersonCompanyCode(companyCode); r.setLoginPersonCompanyCode(companyCode);
this.addPlanAndConfirmStatus(r, model); // this.addPlanAndConfirmStatus(r, model);
}); });
return result; return result;
} }
...@@ -606,7 +606,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -606,7 +606,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
Page<JyjcInspectionApplicationModel> result = this.getBaseMapper().selectForPage2(page, model, client, companyCode, sortMap, reginParams.getCompany().getOrgCode(), agencyClassify); Page<JyjcInspectionApplicationModel> result = this.getBaseMapper().selectForPage2(page, model, client, companyCode, sortMap, reginParams.getCompany().getOrgCode(), agencyClassify);
result.getRecords().forEach(r -> { result.getRecords().forEach(r -> {
r.setLoginPersonCompanyCode(companyCode); r.setLoginPersonCompanyCode(companyCode);
this.addPlanAndConfirmStatus(r, model); // this.addPlanAndConfirmStatus(r, model);
}); });
return result; return result;
} }
...@@ -963,7 +963,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -963,7 +963,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
try { try {
workBenchTaskCreateService.createOneTask(jyjcInspectionApplication, reginParams); workBenchTaskCreateService.createOneTask(jyjcInspectionApplication, reginParams);
} catch (Exception e) { } catch (Exception e) {
log.error("报检受理后,创建计划排期失败,单据信息:{},错误信息:{}",jyjcInspectionApplication.getApplicationNo(), e.getMessage()); log.error("报检受理后,创建计划排期失败,单据信息:{},错误信息:{}",jyjcInspectionApplication.getApplicationNo(), e.getMessage(), e);
} }
} }
......
...@@ -15,6 +15,7 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; ...@@ -15,6 +15,7 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -24,6 +25,7 @@ import java.util.*; ...@@ -24,6 +25,7 @@ import java.util.*;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j
public class WorkBenchTaskCreateServiceImpl extends InspectionPlanCommonServiceImpl { public class WorkBenchTaskCreateServiceImpl extends InspectionPlanCommonServiceImpl {
private final CmWorkflowServiceImpl cmWorkflowService; private final CmWorkflowServiceImpl cmWorkflowService;
...@@ -34,10 +36,11 @@ public class WorkBenchTaskCreateServiceImpl extends InspectionPlanCommonServiceI ...@@ -34,10 +36,11 @@ public class WorkBenchTaskCreateServiceImpl extends InspectionPlanCommonServiceI
private final CommonServiceImpl commonService; private final CommonServiceImpl commonService;
@Value("${inspect.plan.process.key:dddd}") @Value("${inspect.plan.process.key:inspect_charge_person_confirm}")
private String processKey; private String processKey;
public void createOneTask(JyjcInspectionApplication application, ReginParams reginParams) { public void createOneTask(JyjcInspectionApplication application, ReginParams reginParams) {
log.info("开始创建工作台待办:{}, {}", application, reginParams);
// 启动流程 // 启动流程
List<WorkflowResultDto> workflowResultDtos = startProcess(application); List<WorkflowResultDto> workflowResultDtos = startProcess(application);
// 保存数据 // 保存数据
......
...@@ -79,5 +79,11 @@ ...@@ -79,5 +79,11 @@
"pageType": "edit", "pageType": "edit",
"typeName": "计划排期", "typeName": "计划排期",
"url": "/mixuap?appId=1742358052905971713&id=2039590365681446914&userId={userId}&pageType=edit" "url": "/mixuap?appId=1742358052905971713&id=2039590365681446914&userId={userId}&pageType=edit"
},
{
"type": "125",
"pageType": "look",
"typeName": "计划排期",
"url": "/mixuap?appId=1742358052905971713&id=2039590365681446914&userId={userId}&pageType=look"
} }
] ]
\ No newline at end of file
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