From 7245942e7b3801054f42f19f3cf05714a3639a26 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 01 七月 2026 17:41:20 +0800
Subject: [PATCH] 【景宁】任务组开发

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java   |  197 ++++++++++++--------------------
 smartor/src/main/java/com/smartor/domain/PatMedInhosp.java                    |    5 
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   19 ++
 smartor/src/main/resources/mapper/smartor/ServiceTaskScheduleMapper.xml       |   24 ++++
 smartor/src/main/java/com/smartor/domain/ServiceTaskSchedule.java             |   73 ++++++++----
 smartor/src/main/java/com/smartor/common/ScheduleSubtaskBuilder.java          |    7 
 6 files changed, 171 insertions(+), 154 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/common/ScheduleSubtaskBuilder.java b/smartor/src/main/java/com/smartor/common/ScheduleSubtaskBuilder.java
index 9c89fc5..e281e01 100644
--- a/smartor/src/main/java/com/smartor/common/ScheduleSubtaskBuilder.java
+++ b/smartor/src/main/java/com/smartor/common/ScheduleSubtaskBuilder.java
@@ -107,9 +107,9 @@
      * 鎶� patTaskRelevance 鐨勫熀鍑嗘棩瀛楁鍥炲~鍒� baseSubtask 鍚庯紝濮旀墭缁欒В鑰﹀叆鍙c��
      */
     public void buildSubtasksForPatient(ServiceTask serviceTask,
-                                        ServiceTaskVO serviceTaskVO,
+                                        List<Map<String, Object>> preachformList,
                                         ServiceTaskSchedule schedule,
-                                        List<ServiceTaskScheduleDetail> detailList,
+                                        List<ServiceTaskScheduleDetail> scheduleDetailList,
                                         PatTaskRelevance patTaskRelevance,
                                         ServiceSubtask baseSubtask) {
         // 鍥炲~鍩哄噯鏃ュ瓧娈碉紙鎵嬪姩璺緞鐨� baseSubtask 鐢� VO 鎷艰锛屽熀鍑嗘棩瀛楁鍙兘鏈~鍏級
@@ -123,8 +123,7 @@
         if (baseSubtask.getAdmindate() == null) {
             baseSubtask.setAdmindate(patTaskRelevance.getVisittime());
         }
-        buildSubtasksForPatient(serviceTask, schedule, detailList, baseSubtask,
-                serviceTaskVO.getPreachformList());
+        buildSubtasksForPatient(serviceTask, schedule, scheduleDetailList, baseSubtask, preachformList);
     }
 
     /**
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
index 7957362..dd55132 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
@@ -98,6 +98,11 @@
     private String icd10code;
 
     /**
+     * 鍏ラ櫌璇婃柇ICD鍊肩紪鍙烽泦鍚�
+     */
+    @ApiModelProperty(value = "鍏ラ櫌璇婃柇ICD鍊肩紪鍙烽泦鍚�")
+    private List<String> icd10codeList;
+    /**
      * 鍏ラ櫌璇婃柇鍚嶇О
      */
     @ApiModelProperty(value = "鍏ラ櫌璇婃柇鍚嶇О")
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceTaskSchedule.java b/smartor/src/main/java/com/smartor/domain/ServiceTaskSchedule.java
index 6437d95..5290525 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceTaskSchedule.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceTaskSchedule.java
@@ -99,31 +99,6 @@
     private Date scheduleBenchmarkCustomTime;
 
     /**
-     * 瀵瑰簲绉戝
-     */
-    @ApiModelProperty("瀵瑰簲绉戝")
-    private String deptcodes;
-
-    /**
-     * 鍑洪櫌鐥呭尯
-     */
-    @ApiModelProperty("鍑洪櫌鐥呭尯")
-    private String leavehospitaldistrictcode;
-
-    /**
-     * icd10缂栫爜
-     */
-    @ApiModelProperty("icd10缂栫爜")
-    private String icdcodes;
-
-    /**
-     * 鎵嬫湳绛夌骇浠g爜
-     */
-    @ApiModelProperty("鎵嬫湳绛夌骇浠g爜")
-    @Excel(name = "鎵嬫湳绛夌骇浠g爜")
-    private String oplevelcodes;
-
-    /**
      * 鍒犻櫎鏍囪锛�0瀛樺湪 1鍒犻櫎锛�
      */
     @ApiModelProperty("鍒犻櫎鏍囪锛�0瀛樺湪 1鍒犻櫎锛�")
@@ -140,4 +115,52 @@
      */
     @ApiModelProperty("闄㈠尯ID")
     private String campusid;
+
+    /**
+     * 缁戝畾绉戝浠g爜锛堥�楀彿鍒嗛殧锛夛紝浠诲姟缁勮嚜鍔ㄧ撼鍏ュ尮閰嶇敤
+     */
+    @ApiModelProperty("缁戝畾绉戝浠g爜(閫楀彿鍒嗛殧)锛岃嚜鍔ㄧ撼鍏ョ敤")
+    private String deptCodes;
+
+    /**
+     * 缁戝畾鐥呭尯浠g爜锛堥�楀彿鍒嗛殧锛夛紝浠诲姟缁勮嚜鍔ㄧ撼鍏ュ尮閰嶇敤
+     */
+    @ApiModelProperty("缁戝畾鐥呭尯浠g爜(閫楀彿鍒嗛殧)锛岃嚜鍔ㄧ撼鍏ョ敤")
+    private String wardCodes;
+
+    /**
+     * 缁戝畾鐤剧梾ICD10浠g爜锛堥�楀彿鍒嗛殧锛夛紝浠诲姟缁勮嚜鍔ㄧ撼鍏ュ尮閰嶇敤
+     */
+    @ApiModelProperty("缁戝畾鐤剧梾ICD10浠g爜(閫楀彿鍒嗛殧)锛岃嚜鍔ㄧ撼鍏ョ敤")
+    private String icd10Codes;
+
+    /**
+     * 缁戝畾鎵嬫湳绫诲瀷浠g爜锛堥�楀彿鍒嗛殧锛夛紝浠诲姟缁勮嚜鍔ㄧ撼鍏ュ尮閰嶇敤锛堟湰鏈熸殏涓嶇敤锛�
+     */
+    @ApiModelProperty("缁戝畾鎵嬫湳绫诲瀷浠g爜(閫楀彿鍒嗛殧)锛岃嚜鍔ㄧ撼鍏ョ敤(鏈湡鏆備笉鐢�)")
+    private String oplevelCodes;
+
+    /**
+     * 缁戝畾绉戝浠g爜
+     */
+    @ApiModelProperty("缁戝畾绉戝浠g爜")
+    private String deptCode;
+
+    /**
+     * 缁戝畾鐥呭尯浠g爜
+     */
+    @ApiModelProperty("缁戝畾鐥呭尯浠g爜")
+    private String wardCode;
+
+    /**
+     * 缁戝畾鐤剧梾ICD10浠g爜
+     */
+    @ApiModelProperty("缁戝畾鐤剧梾ICD10浠g爜")
+    private String icd10Code;
+
+    /**
+     * 缁戝畾鎵嬫湳绫诲瀷浠g爜
+     */
+    @ApiModelProperty("缁戝畾鎵嬫湳绫诲瀷浠g爜")
+    private String oplevelCode;
 }
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
index afceb9e..abd8d24 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -9,6 +9,7 @@
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.smartor.common.ScheduleSubtaskBuilder;
 import com.smartor.domain.*;
 import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.mapper.*;
@@ -64,6 +65,13 @@
     private String active;
     @Autowired
     private IConfigService iSysConfigService;
+    @Autowired
+    private ServiceTaskScheduleMapper serviceTaskScheduleMapper;
+
+    @Autowired
+    private ScheduleSubtaskBuilder scheduleSubtaskBuilder;
+    @Autowired
+    private ServiceTaskScheduleDetailMapper serviceTaskScheduleDetailMapper;
 
 
     /**
@@ -336,133 +344,82 @@
      */
     public int dealOutHospInfoBySchedule(String config) {
 
-        // 涓�娆℃�ф煡鍑烘墍鏈夐渶瑕佸鐞嗙殑鍑洪櫌鎮h�咃紙涓変釜缁村害浠绘剰涓�涓湭瀹屾垚锛�
-        List<PatMedInhosp> patList = patMedInhospMapper.selectNeedProcessList();
-        log.info("銆愮粺涓�鎵弿銆戝緟澶勭悊鎮h�呮暟锛歿}", patList.size());
+        ServiceTask serviceTaskVo = new ServiceTask();
+        serviceTaskVo.setLongTask(1);
+        serviceTaskVo.setAppltype("5");
+        List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(serviceTaskVo);
 
-        for (PatMedInhosp patMedInhosp1 : patList) {
-            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
-            if (Objects.isNull(patArchive)) {
-                // 涓変釜缁村害閮芥爣璁颁负澶辫触
-                markAllFlagsAsError(patMedInhosp1, "鎮h�呭熀鏈俊鎭负绌�");
-                continue;
-            }
+        if (CollectionUtils.isEmpty(serviceTasks)) {
+            for (ServiceTask serviceTask : serviceTasks) {
+                if(!ObjectUtils.isEmpty(serviceTask.getTaskid())){
+                    ServiceTaskSchedule serviceTaskSchedule = new ServiceTaskSchedule();
+                    ServiceTaskSchedule taskSchedule = new ServiceTaskSchedule();
+                    taskSchedule.setTaskid(serviceTask.getTaskid());
+                    List<ServiceTaskSchedule> serviceTaskSchedules = serviceTaskScheduleMapper.selectServiceTaskScheduleList(taskSchedule);
+                    if(CollectionUtils.isNotEmpty(serviceTaskSchedules)){
+                        serviceTaskSchedule = serviceTaskSchedules.get(0);
+                        String deptCodes = serviceTaskSchedule.getDeptCodes();
+                        String wardCodes = serviceTaskSchedule.getWardCodes();
+                        String icd10Codes = serviceTaskSchedule.getIcd10Codes();
+                        String opLevelCodes = serviceTaskSchedule.getOplevelCodes();
 
-            // 鈹�鈹� 缁村害1锛氱瀹� 鈹�鈹�
-            if ("0".equals(patMedInhosp1.getDeptcheckFlag())) {
-                processTasksByDimension(patMedInhosp1, patArchive, config, 1);
-            }
+                        List<String> icd10CodeList = new ArrayList<>();
+                        List<String> opLevelList = new ArrayList<>();
+                        List<String> deptCodeList = new ArrayList<>();
+                        List<String> wardCodeList = new ArrayList<>();
 
-            // 鈹�鈹� 缁村害2锛氱梾鍖� 鈹�鈹�锛堟柊鍗庡尰闄㈣烦杩囷級
-            if (!active.equals("xh") && "0".equals(patMedInhosp1.getWardcheckFlag())) {
-                processTasksByDimension(patMedInhosp1, patArchive, config, 2);
-            }
+                        Integer type = 1;
+                        if (StringUtils.isNotEmpty(deptCodes)) {
+                            type = 1;
+                            deptCodeList = Arrays.asList(deptCodes.split(","));
+                        }
+                        if(StringUtils.isNotEmpty(wardCodes)) {
+                            type = 2;
+                            wardCodeList = Arrays.asList(wardCodes.split(","));
+                        }
+                        if(StringUtils.isNotEmpty(icd10Codes)) {
+                            type = 3;
+                            icd10CodeList = Arrays.asList(icd10Codes.split(","));
+                        }
+                        if (StringUtils.isNotEmpty(opLevelCodes)) {
+                            opLevelList = Arrays.asList(opLevelCodes.split(","));
+                        }
+                        PatMedInhosp patMedInhospVo = new PatMedInhosp();
+                        patMedInhospVo.setDeptcodeList(deptCodeList);
+                        patMedInhospVo.setLeavehospitaldistrictcodes(wardCodeList);
+                        patMedInhospVo.setIcd10codeList(icd10CodeList);
+                        List<PatMedInhosp> patList = patMedInhospMapper.selectPatMedInhospList(patMedInhospVo);
+                        log.info("dealOutHospInfoBySchedule 浠诲姟缁勯殢璁�, taskid = {}, 鎵弿鎮h�呬汉鏁� {}", serviceTask.getTaskid(), patList.size());
 
-            // 鈹�鈹� 缁村害3锛氱柧鐥� 鈹�鈹�锛堟柊鍗庡尰闄㈣烦杩囷級
-            if (!active.equals("xh") && "0".equals(patMedInhosp1.getDiagcheckFlag())) {
-                processTasksByDimension(patMedInhosp1, patArchive, config, 3);
+                        for(PatMedInhosp patMedInhosp : patList){
+                            ServiceTaskScheduleDetail scheduleDetailVo = new ServiceTaskScheduleDetail();
+                            scheduleDetailVo.setTaskid(serviceTask.getTaskid());
+                            scheduleDetailVo.setScheduleid(serviceTaskSchedule.getId());
+                            List<ServiceTaskScheduleDetail> serviceTaskScheduleDetails = serviceTaskScheduleDetailMapper.selectServiceTaskScheduleDetailList(scheduleDetailVo);
+
+                            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = new ArrayList<>();
+                            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
+                            if (Objects.isNull(patArchive)) {
+                                break;
+                            }
+                            //灏佽serviceSubtask
+                            ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp, patArchive, config, type);
+                            List<Map<String, Object>> preachformList = new ArrayList<>();
+                            if(StringUtils.isNotEmpty(serviceTask.getPreachformDesc())){
+                                try {
+                                    ObjectMapper objectMapper = new ObjectMapper();
+                                    preachformList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
+                                }catch (Exception e){
+                                    break;
+                                }
+                            }
+                            scheduleSubtaskBuilder.buildSubtasksForPatient(serviceTask, serviceTaskSchedule, serviceTaskScheduleDetails, serviceSubtask, preachformList);
+                        }
+                    }
+                }
             }
         }
         return 1;
-    }
-
-    /**
-     * 鎸夌淮搴︽壘鍒版墍鏈夊尮閰嶉暱鏈熶换鍔★紝鎵归噺鐢熸垚 subtask
-     * type: 1=绉戝, 2=鐥呭尯, 3=鐤剧梾
-     */
-    private void processTasksByDimension(PatMedInhosp patMedInhosp1, PatArchive patArchive, String config, int type) {
-        List<Long> matchedTaskIds = findMatchingTaskIds(patMedInhosp1, type);
-
-        if (CollectionUtils.isEmpty(matchedTaskIds)) {
-            String reason = getDimensionReason(type);
-            markFlagAsNoConfig(patMedInhosp1, type, reason);
-            return;
-        }
-
-        // 涓�鏉� inhosp 璁板綍 鈫� 澶氫釜鍖归厤浠诲姟 鈫� 澶氭潯 subtask
-        for (Long taskId : matchedTaskIds) {
-            writeInSubTask(taskId, true, patMedInhosp1, patArchive, type, config);
-        }
-    }
-
-    private String getDimensionReason(int type) {
-        switch (type) {
-            case 1: { // 绉戝
-                return "鏈壘鍒扮瀹ゅ尮閰嶇殑闀挎湡浠诲姟";
-            }
-            case 2: { // 鐥呭尯
-                return "鏈壘鍒扮梾鍖哄尮閰嶇殑闀挎湡浠诲姟";
-            }
-            case 3: { // 鐤剧梾
-                return "鏈壘鍒扮柧鐥呭尮閰嶇殑闀挎湡浠诲姟";
-            }
-        }
-        return "澶氱淮闀挎湡浠诲姟-鍖归厤绫诲瀷涓虹┖";
-    }
-
-    private void markFlagAsNoConfig(PatMedInhosp patMedInhosp, int type, String reason) {
-        switch (type) {
-            case 1: { // 绉戝
-                patMedInhosp.setDeptcheckFlag("2");
-                patMedInhosp.setRemark(reason);
-                patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
-                break;
-            }
-            case 2: { // 鐥呭尯
-                patMedInhosp.setWardcheckFlag("2");
-                patMedInhosp.setRemark(reason);
-                patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
-                break;
-            }
-            case 3: { // 鐤剧梾
-                patMedInhosp.setDiagcheckFlag("2");
-                patMedInhosp.setRemark(reason);
-                patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
-                break;
-            }
-        }
-
-    }
-
-    private void markAllFlagsAsError(PatMedInhosp patMedInhosp, String reason) {
-        patMedInhosp.setDeptcheckFlag("2");
-        patMedInhosp.setWardcheckFlag("2");
-        patMedInhosp.setDiagcheckFlag("2");
-        patMedInhosp.setRemark(reason);
-        patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
-    }
-
-    /**
-     * 鏍规嵁缁村害绫诲瀷鏌ヨ鍖归厤鐨勯暱鏈熶换鍔� ID 鍒楄〃
-     */
-    private List<Long> findMatchingTaskIds(PatMedInhosp patMedInhosp1, int type) {
-        switch (type) {
-            case 1: { // 绉戝
-                ServiceTaskdept query = new ServiceTaskdept();
-                query.setLongtask(1L);
-                query.setDeptCode(patMedInhosp1.getLeaveldeptcode());
-                query.setDeptType("1");
-                query.setOrgid(patMedInhosp1.getOrgid());
-                return serviceTaskdeptMapper.selectServiceTaskdeptList(query).stream().map(ServiceTaskdept::getTaskId).collect(Collectors.toList());
-            }
-            case 2: { // 鐥呭尯
-                ServiceTaskdept query = new ServiceTaskdept();
-                query.setLongtask(1L);
-                query.setDeptCode(patMedInhosp1.getLeavehospitaldistrictcode());
-                query.setDeptType("2");
-                query.setOrgid(patMedInhosp1.getOrgid());
-                return serviceTaskdeptMapper.selectServiceTaskdeptList(query).stream().map(ServiceTaskdept::getTaskId).collect(Collectors.toList());
-            }
-            case 3: { // 鐤剧梾
-                if (StringUtils.isEmpty(patMedInhosp1.getLeaveicd10code())) return Collections.emptyList();
-                ServiceTaskdiag query = new ServiceTaskdiag();
-                query.setLongtask(1L);
-                query.setIcd10code(patMedInhosp1.getLeaveicd10code());
-                query.setOrgid(patMedInhosp1.getOrgid());
-                return serviceTaskdiagMapper.selectServiceTaskdiagList(query).stream().map(ServiceTaskdiag::getTaskId).collect(Collectors.toList());
-            }
-        }
-        return Collections.emptyList();
     }
 
 
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 21f547c..40a747d 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;
@@ -747,8 +748,12 @@
                     scheduleVO.setOrgid(serviceTask.getOrgid());
                     scheduleVO.setCampusid(serviceTask.getCampusid());
                     scheduleVO.setCreateBy(serviceTask.getCreateBy());
-                    scheduleVO.setDeptcodes(serviceTask.getDeptcode());
-                    scheduleVO.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
+
+                    scheduleVO.setDeptCodes(serviceTaskVO.getDeptcode());
+                    scheduleVO.setWardCodes(serviceTaskVO.getLeavehospitaldistrictcode());
+                    scheduleVO.setIcd10Codes(serviceTaskVO.getIcd10code());
+                    scheduleVO.setOplevelCodes(serviceTaskVO.getOplevelcode());
+
                     log.info("----serviceTaskSchedule鐨勫�间负锛歿}", scheduleVO);
                     serviceTaskScheduleService.saveScheduleWithDetail(scheduleVO);
                 } else {
@@ -846,7 +851,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,6 +1081,10 @@
                     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);
                 }
@@ -1142,7 +1151,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) {
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceTaskScheduleMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceTaskScheduleMapper.xml
index 878fb33..eb142d0 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceTaskScheduleMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceTaskScheduleMapper.xml
@@ -17,6 +17,10 @@
         <result property="nextExecuteTime" column="next_execute_time"/>
         <result property="scheduleBenchmark" column="schedule_benchmark"/>
         <result property="scheduleBenchmarkCustomTime" column="schedule_benchmark_custom_time"/>
+        <result property="deptCodes" column="dept_codes"/>
+        <result property="wardCodes" column="ward_codes"/>
+        <result property="icd10Codes" column="icd10_codes"/>
+        <result property="oplevelCodes" column="remark"/>
         <result property="remark" column="remark"/>
         <result property="delFlag" column="del_flag"/>
         <result property="createBy" column="create_by"/>
@@ -40,6 +44,10 @@
                next_execute_time,
                schedule_benchmark,
                schedule_benchmark_custom_time,
+               deptCodes,
+               wardCodes,
+               icd10Codes,
+               oplevelCodes,
                remark,
                del_flag,
                create_by,
@@ -69,6 +77,10 @@
         where del_flag = '0'
         <if test="taskid != null">and taskid = #{taskid}</if>
         <if test="scheduleStyle != null">and schedule_style = #{scheduleStyle}</if>
+        <if test="deptCode != null">and INSTR(dept_codes,  #{deptCode}) > 0</if>
+        <if test="wardCode != null">and INSTR(ward_codes,  #{wardCode}) > 0</if>
+        <if test="icd10Code != null">and INSTR(icd10_codes,  #{icd10Code}) > 0</if>
+        <if test="oplevelCode != null">and INSTR(oplevel_codes,  #{oplevelCode}) > 0</if>
         <if test="orgid != null and orgid != ''">and orgid = #{orgid}</if>
         <if test="campusid != null and campusid != ''">and campusid = #{campusid}</if>
         order by id desc
@@ -89,6 +101,10 @@
             <if test="nextExecuteTime != null">next_execute_time,</if>
             <if test="scheduleBenchmark != null">schedule_benchmark,</if>
             <if test="scheduleBenchmarkCustomTime != null">schedule_benchmark_custom_time,</if>
+            <if test="deptCodes != null">dept_codes,</if>
+            <if test="wardCodes != null">ward_codes,</if>
+            <if test="icd10Codes != null">icd10_codes,</if>
+            <if test="oplevelCodes != null">oplevel_codes,</if>
             <if test="remark != null">remark,</if>
             <if test="delFlag != null">del_flag,</if>
             <if test="createBy != null">create_by,</if>
@@ -110,6 +126,10 @@
             <if test="nextExecuteTime != null">#{nextExecuteTime},</if>
             <if test="scheduleBenchmark != null">#{scheduleBenchmark},</if>
             <if test="scheduleBenchmarkCustomTime != null">#{scheduleBenchmarkCustomTime},</if>
+            <if test="deptCodes != null">#{deptCodes},</if>
+            <if test="wardCodes != null">#{wardCodes},</if>
+            <if test="icd10Codes != null">#{icd10Codes},</if>
+            <if test="oplevelCodes != null">#{oplevelCodes},</if>
             <if test="remark != null">#{remark},</if>
             <if test="delFlag != null">#{delFlag},</if>
             <if test="createBy != null">#{createBy},</if>
@@ -137,6 +157,10 @@
             <if test="scheduleBenchmarkCustomTime != null">
                 schedule_benchmark_custom_time = #{scheduleBenchmarkCustomTime},
             </if>
+            <if test="deptCodes != null">dept_codes = #{deptCodes},</if>
+            <if test="wardCodes != null">ward_codes = #{wardCodes},</if>
+            <if test="icd10Codes != null">icd10_codes = #{icd10Codes},</if>
+            <if test="oplevelCodes != null">oplevel_codes = #{oplevelCodes},</if>
             <if test="remark != null">remark = #{remark},</if>
             <if test="delFlag != null">del_flag = #{delFlag},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>

--
Gitblit v1.9.3