From d67891153f82b9d7606f91bd2db0f8dd4d2a258d Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 02 七月 2026 17:44:45 +0800
Subject: [PATCH] 【市一】任务组调试
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 119 ++++++++++++++---------------------------------------------
1 files changed, 28 insertions(+), 91 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 14acb1a..78cfc09 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -16,6 +16,7 @@
import com.ruoyi.system.mapper.SysConfigMapper;
import com.smartor.common.FtpService;
import com.smartor.common.MtSubmitSmUtil;
+import com.smartor.common.ScheduleSubtaskBuilder;
import com.smartor.config.PhoneUtils;
import com.smartor.domain.DTO.ServiceSubtaskDetailDTO;
import com.smartor.domain.*;
@@ -119,7 +120,7 @@
private IServiceTaskScheduleService serviceTaskScheduleService;
@Autowired
- private com.smartor.common.ScheduleSubtaskBuilder scheduleSubtaskBuilder;
+ private ScheduleSubtaskBuilder scheduleSubtaskBuilder;
@Autowired
private FtpService ftpService;
@@ -721,16 +722,27 @@
ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
- serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
+// serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
serviceTaskoper.setTaskId(serviceTask.getTaskid());
serviceTaskoper.setTaskName(serviceTask.getTaskName());
serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
serviceTaskoper.setGuid(serviceTask.getGuid());
serviceTaskoper.setOrgid(serviceTask.getOrgid());
serviceTaskoper.setCreateTime(new Date());
+ //閰嶇疆绉戝銆佺梾鍖�
+ serviceTaskoper.setDeptCode(serviceTaskVO.getDeptcode());
+ serviceTaskoper.setDeptName(serviceTaskVO.getDeptname());
+ serviceTaskoper.setWardCode(serviceTaskVO.getLeavehospitaldistrictcode());
+ serviceTaskoper.setWardName(serviceTaskVO.getLeavehospitaldistrictname());
+ //澶氶�夋墜鏈瓑绾�
if (StringUtils.isNotEmpty(serviceTaskVO.getOplevelcode())) {
- log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
- serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+ String[] opLevelcodes = serviceTaskVO.getOplevelcode().split(",");
+ for (String opLevelcode : opLevelcodes) {
+ //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
+ log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+ serviceTaskoper.setOplevelcode(opLevelcode);
+ serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+ }
}
} else if (serviceTaskVO.getAppltype().equals("5")) {
@@ -747,10 +759,14 @@
scheduleVO.setOrgid(serviceTask.getOrgid());
scheduleVO.setCampusid(serviceTask.getCampusid());
scheduleVO.setCreateBy(serviceTask.getCreateBy());
+
+ scheduleVO.setDeptCodes(serviceTaskVO.getDeptcode());
+ scheduleVO.setWardCodes(serviceTaskVO.getLeavehospitaldistrictcode());
+ scheduleVO.setIcd10Codes(serviceTaskVO.getIcd10code());
+ scheduleVO.setOplevelCodes(serviceTaskVO.getOplevelcode());
+
log.info("----serviceTaskSchedule鐨勫�间负锛歿}", scheduleVO);
serviceTaskScheduleService.saveScheduleWithDetail(scheduleVO);
- // 缁戝畾缁村害鍐欐潯浠惰〃锛堜緵 HIS 鑷姩绾冲叆鍖归厤锛宭ongtask 鎭�=1锛�
- bindDimensionCondition(serviceTask, serviceTaskVO);
} else {
ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
serviceTaskdept.setTaskId(serviceTask.getTaskid());
@@ -846,7 +862,7 @@
List<ServiceTaskScheduleDetail> detailList =
serviceTaskScheduleService.selectDetailByScheduleid(schedule.getId());
scheduleSubtaskBuilder.buildSubtasksForPatient(
- serviceTask, serviceTaskVO, schedule, detailList, patTaskRelevance, serviceSubtask);
+ serviceTask, serviceTaskVO.getPreachformList(), schedule, detailList, patTaskRelevance, serviceSubtask);
continue;
}
@@ -1076,11 +1092,12 @@
scheduleVO.setTaskid(serviceTask.getTaskid());
scheduleVO.setOrgid(serviceTask.getOrgid());
scheduleVO.setCampusid(serviceTask.getCampusid());
+ scheduleVO.setDeptCodes(serviceTaskVO.getDeptcode());
+ scheduleVO.setWardCodes(serviceTaskVO.getLeavehospitaldistrictcode());
+ scheduleVO.setIcd10Codes(serviceTaskVO.getIcd10code());
+ scheduleVO.setOplevelCodes(serviceTaskVO.getOplevelcode());
scheduleVO.setCreateBy(serviceTask.getUpdateBy());
serviceTaskScheduleService.saveScheduleWithDetail(scheduleVO);
- // 鍏堟竻鏃х淮搴︽潯浠惰〃锛屽啀鎸夋渶鏂板叆鍙傞噸鍐欙紙闃茶繃鏈熺淮搴︽畫鐣欏鑷磋绾冲叆锛�
- clearDimensionCondition(serviceTask.getTaskid());
- bindDimensionCondition(serviceTask, serviceTaskVO);
}
}
if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) {
@@ -1145,7 +1162,7 @@
serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
serviceSubtask.setCreateBy(serviceTask.getUpdateBy());
scheduleSubtaskBuilder.buildSubtasksForPatient(
- serviceTask, serviceTaskVO, schedule, detailList, patTaskRelevance, serviceSubtask);
+ serviceTask, serviceTaskVO.getPreachformList(), schedule, detailList, patTaskRelevance, serviceSubtask);
continue;
}
if (patTaskRelevance.getIsoperation() == 2) {
@@ -1199,86 +1216,6 @@
Map<String, Integer> map = new HashMap<>();
map.put("taskId", serviceTask.getTaskid().intValue());
return map;
- }
-
- /**
- * 浠诲姟缁勶紙appltype=5锛夌粦瀹氱淮搴﹀啓鏉′欢琛紝渚� HIS 鑷姩绾冲叆鍖归厤銆�
- * longtask 鎭�=1锛堝惁鍒欑嫭绔嬫壂鎻�/涓绘壂鎻忔寜 longtask=1 鏌ヤ笉鍒帮級銆�
- * 澶嶇敤鐜版湁 service_taskdept锛堢瀹eptType=1/鐥呭尯deptType=2锛夈�乻ervice_taskdiag锛堢柧鐥咃級銆�
- * 鎵嬫湳缁村害鏈湡涓嶅啓锛堟殏涓嶆敮鎸佽嚜鍔ㄧ撼鍏ワ級銆�
- */
- private void bindDimensionCondition(ServiceTask serviceTask, ServiceTaskVO vo) {
- // 绉戝
- if (StringUtils.isNotEmpty(vo.getDeptcode())) {
- for (String deptCode : vo.getDeptcode().split(",")) {
- if (StringUtils.isEmpty(deptCode)) continue;
- ServiceTaskdept d = new ServiceTaskdept();
- d.setTaskId(serviceTask.getTaskid());
- d.setTaskName(serviceTask.getTaskName());
- d.setOrgid(serviceTask.getOrgid());
- d.setLongtask(1L);
- d.setDeptCode(deptCode);
- d.setDeptType("1");
- d.setServiceType(vo.getServiceType());
- serviceTaskdeptService.insertServiceTaskdept(d);
- }
- }
- // 鐥呭尯
- if (StringUtils.isNotEmpty(vo.getLeavehospitaldistrictcode())) {
- for (String wardCode : vo.getLeavehospitaldistrictcode().split(",")) {
- if (StringUtils.isEmpty(wardCode)) continue;
- ServiceTaskdept d = new ServiceTaskdept();
- d.setTaskId(serviceTask.getTaskid());
- d.setTaskName(serviceTask.getTaskName());
- d.setOrgid(serviceTask.getOrgid());
- d.setLongtask(1L);
- d.setDeptCode(wardCode);
- d.setDeptType("2");
- d.setServiceType(vo.getServiceType());
- serviceTaskdeptService.insertServiceTaskdept(d);
- }
- }
- // 鐤剧梾锛堢敤 split(",")锛屽嬁鐓ф妱 appltype=3 鐜扮綉鐨� split("$") bug锛�
- if (StringUtils.isNotEmpty(vo.getIcd10code())) {
- String[] codes = vo.getIcd10code().split(",");
- String[] names = StringUtils.isNotEmpty(vo.getIcd10name()) ? vo.getIcd10name().split(",") : new String[0];
- for (int i = 0; i < codes.length; i++) {
- if (StringUtils.isEmpty(codes[i])) continue;
- ServiceTaskdiag dg = new ServiceTaskdiag();
- dg.setTaskId(serviceTask.getTaskid());
- dg.setTaskName(serviceTask.getTaskName());
- dg.setOrgid(serviceTask.getOrgid());
- dg.setLongtask(1L);
- dg.setServiceType(vo.getServiceType());
- dg.setIcd10code(codes[i]);
- dg.setIcd10name(i < names.length ? names[i] : null);
- dg.setGuid(serviceTask.getGuid());
- dg.setCreateTime(new Date());
- serviceTaskdiagService.insertServiceTaskdiag(dg);
- }
- }
- }
-
- /**
- * 浠诲姟缁勪慨鏀规椂锛屽厛杞垹璇� task 鏃х殑缁村害鏉′欢琛ㄨ褰曪紙闃茶繃鏈熺淮搴︽畫鐣欏鑷磋绾冲叆锛夈��
- */
- private void clearDimensionCondition(Long taskId) {
- ServiceTaskdept dq = new ServiceTaskdept();
- dq.setTaskId(taskId);
- List<ServiceTaskdept> depts = serviceTaskdeptService.selectServiceTaskdeptList(dq);
- if (CollectionUtils.isNotEmpty(depts)) {
- for (ServiceTaskdept d : depts) {
- serviceTaskdeptService.deleteServiceTaskdeptById(d.getId());
- }
- }
- ServiceTaskdiag gq = new ServiceTaskdiag();
- gq.setTaskId(taskId);
- List<ServiceTaskdiag> diags = serviceTaskdiagService.selectServiceTaskdiagList(gq);
- if (CollectionUtils.isNotEmpty(diags)) {
- for (ServiceTaskdiag g : diags) {
- serviceTaskdiagService.deleteServiceTaskdiagById(g.getId());
- }
- }
}
@Override
--
Gitblit v1.9.3