手动创建任务去掉触发条件。

This commit is contained in:
haown 2024-07-18 15:40:53 +08:00
parent 789068d2ee
commit a77afdb4ef
2 changed files with 29 additions and 30 deletions

View File

@ -156,9 +156,6 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
@Transactional(rollbackFor = Exception.class)
@Override
public AjaxResult insertSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute) {
if (CollectionUtils.isEmpty(signPatientManageRoute.getTriggerConditionList())) {
return AjaxResult.error("请选择触发条件");
}
// 新增主表
signPatientManageRoute.setTaskCreateType(TaskCreateTypeEnum.MANUAL_CREATE.getInfo());
signPatientManageRoute.setCreateBy(SecurityUtils.getUsername());
@ -182,25 +179,25 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
if (insertBatchCount < 0) {
return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!");
}
List<SignRouteTriggerCondition> signRouteTriggerConditions = new ArrayList<SignRouteTriggerCondition>();
for (SignRouteTriggerConditionVO signRouteTriggerCondition : signPatientManageRoute.getTriggerConditionList()) {
if (StringUtils.isBlank(signRouteTriggerCondition.getTriggerConditionCode()) || StringUtils.isBlank(signRouteTriggerCondition.getTriggerConditionOperator()) || StringUtils.isBlank(signRouteTriggerCondition.getTriggerConditionValue())) {
return AjaxResult.error("请选择完整的触发条件");
}
SignRouteTriggerCondition triggerCondition = new SignRouteTriggerCondition();
signRouteTriggerCondition.setPatientManageRouteId(signPatientManageRoute.getId());
signRouteTriggerCondition.setCreateTime(LocalDateTime.now());
signRouteTriggerCondition.setCreateBy(SecurityUtils.getUsername());
BeanUtils.copyBeanProp(triggerCondition, signRouteTriggerCondition);
signRouteTriggerConditions.add(triggerCondition);
}
if (CollectionUtils.isEmpty(signRouteTriggerConditions)) {
return AjaxResult.success();
}
int insertTriggerCondition = signRouteTriggerConditionMapper.insertBatch(signRouteTriggerConditions);
if (insertTriggerCondition < 0) {
return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!");
}
//List<SignRouteTriggerCondition> signRouteTriggerConditions = new ArrayList<SignRouteTriggerCondition>();
//for (SignRouteTriggerConditionVO signRouteTriggerCondition : signPatientManageRoute.getTriggerConditionList()) {
// if (StringUtils.isBlank(signRouteTriggerCondition.getTriggerConditionCode()) || StringUtils.isBlank(signRouteTriggerCondition.getTriggerConditionOperator()) || StringUtils.isBlank(signRouteTriggerCondition.getTriggerConditionValue())) {
// return AjaxResult.error("请选择完整的触发条件");
// }
// SignRouteTriggerCondition triggerCondition = new SignRouteTriggerCondition();
// signRouteTriggerCondition.setPatientManageRouteId(signPatientManageRoute.getId());
// signRouteTriggerCondition.setCreateTime(LocalDateTime.now());
// signRouteTriggerCondition.setCreateBy(SecurityUtils.getUsername());
// BeanUtils.copyBeanProp(triggerCondition, signRouteTriggerCondition);
// signRouteTriggerConditions.add(triggerCondition);
//}
//if (CollectionUtils.isEmpty(signRouteTriggerConditions)) {
// return AjaxResult.success();
//}
//int insertTriggerCondition = signRouteTriggerConditionMapper.insertBatch(signRouteTriggerConditions);
//if (insertTriggerCondition < 0) {
// return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!");
//}
return AjaxResult.success();
}
@ -449,7 +446,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
if (CollectionUtils.isNotEmpty(manualRouteList)) {
// 查询节点信息组装成返回的数据类型
manualRouteList.forEach(route -> {
boolean satisfy = signPatientManageRouteNodeService.getSignTriggerConditon(route.getId(), signPatientRecord.getPatientId());
//boolean satisfy = signPatientManageRouteNodeService.getSignTriggerConditon(route.getId(), signPatientRecord.getPatientId());
// 查询节点
List<SpecialDiseaseNodeAuditVo> nodeList = signPatientManageRouteNodeMapper.selectByRouteId(route.getId());
nodeList.forEach(node-> {
@ -461,7 +458,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
.diseaseTypeName(route.getDiseaseTypeName())
.routeName(route.getRouteName())
.diseaseTypeId(route.getDiseaseTypeId())
.conditionSatisfyStatus(satisfy)
.conditionSatisfyStatus(true)
.nodeList(nodeList).build()
);
});
@ -584,15 +581,15 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
List<SignPatientManageRoute> createRouteList = signPatientManageRouteMapper.selectSignPatientManageRouteList(manageRouteQuery);
if (CollectionUtils.isNotEmpty(createRouteList)) {
List<Long> manageRouteIds = createRouteList.stream().map(SignPatientManageRoute::getId).collect(Collectors.toList());
for (Long routeId : manageRouteIds) {
boolean satisfy = signPatientManageRouteNodeService.getSignTriggerConditon(routeId, signPatientRecord.getPatientId());
routeSatisfyMap.put(routeId, satisfy);
}
//for (Long routeId : manageRouteIds) {
// boolean satisfy = signPatientManageRouteNodeService.getSignTriggerConditon(routeId, signPatientRecord.getPatientId());
// routeSatisfyMap.put(routeId, satisfy);
//}
List<SignPatientManageNodeAuditVo> manageNodeList = signPatientManageRouteNodeMapper.selectAuditNodeInfo(manageRouteIds);
// 根据node去替换模板信息
manageNodeList.forEach(manageNode -> {
// 判断触发条件是否满足
manageNode.setConditionSatisfyStatus(routeSatisfyMap.get(manageNode.getManageRouteId()));
manageNode.setConditionSatisfyStatus(true);
manageNode.setRouteNodeNameCN(RouteNodeNameEnum.getNameByInfo(manageNode.getRouteNodeName()).getName());
JSONObject templateDetail = new JSONObject();
if (StringUtils.isNotBlank(manageNode.getTaskNodeType())) {

View File

@ -875,7 +875,9 @@ public class SignPatientManageRouteNodeServiceImpl implements ISignPatientManage
BeanUtils.copyBeanProp(manageNode, manageRouteNode);
// 替换文本
List<LabelFieldInfoContentVo> nodeParams = groupBySn.get(portraitSn);
nodeParams.addAll(publicLabelFields);
if (CollectionUtils.isNotEmpty(publicLabelFields)) {
nodeParams.addAll(publicLabelFields);
}
Map<String, String> map = nodeParams.stream().collect(Collectors.toMap(LabelFieldInfoContentVo::getFieldCode,LabelFieldInfoContentVo::getFieldValue,(key1,key2)->key2));
Document document = Jsoup.parse(manageNode.getNodeContent());