.gitignore
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,47 @@ # ==================== æå»ºäº§ç© ==================== target/ out/ *.class # ==================== IDE / ç¼è¾å¨ ==================== .idea/ *.iml *.ipr *.iws .vscode/ .settings/ .project .classpath # ==================== 临æ¶ç®å½ ==================== tmp/ .tmp/ _backups/ recovered/ __pycache__/ *.pyc # ==================== å¤ä»½ä¸ä¸´æ¶æä»¶ ==================== *.bak *.bak[0-9] *.bak-* *.bak[0-9]-* *.orig *.rej *~ # ==================== 䏿¬¡æ§ææ¥èæ¬ / æ¢é / æ¥å¿ï¼ä¸å ¥åºï¼ ==================== # sql/ ä¸ç䏿¬¡æ§ä¿®å¤ãææ¥ãå¼å ³é ç½®èæ¬ä» æ¬å°çåï¼ä¸å ¥åºï¼ # ä» ä¿çå å åºçº¿èæ¬ä¸æ°åºåå§åèæ¬ã /sql/*.sql !/sql/quartz.sql !/sql/ry_20220822.sql !/sql/pat_specific_archive_generate_config_lishui_mch_20261104.sql sql/_probe/ *.log _dbcheck.txt package-lock.json # ==================== æ¬å°ä¸´æ¶é ç½® ==================== ruoyi-admin/src/main/resources/tempfile_*.yml ruoyi-admin/src/main/resources/logback-backup.xml ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -63,6 +63,12 @@ @Value("${spring.profiles.active}") private String active; /** * 管çåç¨æ·IDå表ï¼é 置项 isAdminï¼ã管çåä¸åãç¨æ·-é¨é¨å ³ç³»è¡¨ãéå¶ï¼ç´æ¥çæ¬æºæå ¨é¨ç§å®¤/ç åºã */ @Value("${isAdmin:1}") private List<Long> isAdmin; // @Value("${wx_appid}") // private String wxAppid; // @@ -240,23 +246,43 @@ ajax.put("user", user); ajax.put("roles", roles); ajax.put("permissions", permissions); List<SysDept> sysDeptKSs = null; List<SysDept> sysDeptBQs = null; // ç§å®¤/ç åºä¸æçæ°æ®æºï¼ // · 管çåï¼è´¦å· adminï¼æå½ä¸é ç½® isAdmin çç¨æ·IDï¼ï¼ç´æ¥æ¥ sys_dept åæ¬æºæå ¨é¨ç§å®¤/ç åºï¼ // ä¸åå ³è sys_user_deptï¼ä¹ä¸æé¢åºè¿æ»¤ââ管çåå¤©ç¶æ¥æå ¨é¨ç§å®¤æéï¼ // · æ®éç¨æ·ï¼ä»ç¶æãç¨æ·-é¨é¨å ³ç³»è¡¨ãåªè¿åèªå·±åä¸çç§å®¤/ç åºï¼ä¿æåé»è¾ï¼ã SysUserDept sysUserDept = new SysUserDept(); sysUserDept.setUserId(user.getUserId()); sysUserDept.setDeptType("1"); sysUserDept.setOrgid(user.getOrgid()); sysUserDept.setCampusid(user.getCampusid()); sysDeptKSs = sysDeptService.selectLeafSysDeptListBySysUserDept(sysUserDept); if (!isAdminUser(user)) { sysUserDept.setUserId(user.getUserId()); sysUserDept.setCampusid(user.getCampusid()); } sysUserDept.setDeptType("1"); List<SysDept> sysDeptKSs = sysDeptService.selectLeafSysDeptListBySysUserDept(sysUserDept); ajax.put("belongDepts", sysDeptKSs); sysUserDept.setDeptType("2"); sysDeptBQs = sysDeptService.selectLeafSysDeptListBySysUserDept(sysUserDept); List<SysDept> sysDeptBQs = sysDeptService.selectLeafSysDeptListBySysUserDept(sysUserDept); ajax.put("belongWards", sysDeptBQs); return ajax; } /** * æ¯å¦ç®¡çåï¼è´¦å·å为 adminï¼æç¨æ·IDå½ä¸é 置项 isAdminã * <p> * 管çååç§å®¤/ç åºæ¶ä¸èµ° sys_user_deptï¼HIS ééæç¡®æé¤ adminï¼è¯¥è¡¨é管çåæ²¡ææ°æ®ï¼ï¼ * å¦åä¼åºç°ãç»å½æåä½ç§å®¤/ç åºä¸æä¸ºç©ºãã */ private boolean isAdminUser(SysUser user) { if (user == null) { return false; } if ("admin".equalsIgnoreCase(user.getUserName())) { return true; } return user.getUserId() != null && isAdmin != null && isAdmin.contains(user.getUserId()); } /** * è·åè·¯ç±ä¿¡æ¯ * * @return è·¯ç±ä¿¡æ¯ ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitSubtaskDraft.java
@@ -112,6 +112,19 @@ /** è¯æåç§° */ private String diagname; /** * éè¦æ§æ è®°ç¼ç ï¼2026-11 æ°å¢ï¼ï¼æ¥æº {@code pat_med_inhosp.importance_flag_code}ï¼ * è½åºå° {@code service_subtask.importance_flag_code}ã * <p> * å¤æãæ¥é´ãå°±çè¿ä¸ªå段ï¼{@code ImportFlagEnum} ç {@code FH0165.01} æ¥é´ææ¯ / * {@code FH0165.02} æ¥é´è¯çï¼ç°åºåºåçæ¯ä¸ææè¿°ãæ¥é´ææ¯ããæ¥é´è¯çãï¼å¯è½å¤å¼ï¼ã * <p> * â ï¸ ä¸ {@code deptcode}/{@code leaveldeptcode} 飿¹ä¸åï¼<b>ä¸å维度æ¹å</b> * ï¼å ¥é¢å®£æ type=4/5 ä¹ç §æ ·å¸¦åå¼ï¼ï¼å®æè¿°çæ¯ãè¿æ¬¡ä½é¢çéè¦æ§/æ¥é´å±æ§ãï¼ä¸ç§å®¤æ å ³ã * é¨è¯é¾è·¯ï¼{@link OuthospSubtaskDraft}ï¼æ²¡æè¿ä¸ªæ¥æºï¼æä¸º {@code null}ã */ private String importanceFlagCode; // ==================== 模æ¿ï¼å serviceTaskï¼ ==================== /** é®å·æ¨¡æ¿ID */ private Long templateid; @@ -517,6 +530,14 @@ this.diagname = diagname; } public String getImportanceFlagCode() { return importanceFlagCode; } public void setImportanceFlagCode(String importanceFlagCode) { this.importanceFlagCode = importanceFlagCode; } public Long getTemplateid() { return templateid; } ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/domain/row/VisitInhospRow.java
@@ -545,7 +545,14 @@ private String outWayName; /** è¿æ»¤ï¼å°±è¯æ¥æºID */ private String encounterSourceId; /** è¿æ»¤ï¼éè¦ç¨åº¦ä»£ç */ /** * éè¦æ§æ è®°ï¼2026-11 èµ·<b>ä¸ååªæ¯è¿æ»¤æ¡ä»¶</b>ï¼{@code selectForScan} / {@code selectByInhospid} * å·²ç»æ {@code b.importance_flag_code} æ¥åºæ¥ï¼å»ºå任塿¶åæ ·å¸¦ç» {@code service_subtask}ï¼ã * <p> * åå¼ï¼ç°åºåºå䏿æè¿°ï¼ãæ¥é´ææ¯ããæ¥é´è¯çããæ ããç¹çº¦äººåãã离ä¼äººåãï¼å¯è½éå·å¤å¼ï¼ï¼ * ä¹æåºæ {@code ImportFlagEnum} å {@code FH0165.01} / {@code FH0165.02} çç¼ç ã * å¤æãæ¥é´ãå°±å¤æå® ââ æ¬ç±»åªè´è´£æ¬è¿ï¼ä¸åå¼åå½ä¸ã */ private String importanceFlagCode; /** è¿æ»¤ï¼æ¥è¯å级代ç */ private String emergencyLevelCode; ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/support/VisitSubtaskFactory.java
@@ -146,6 +146,12 @@ d.setDeptname(inhosp.getDeptname()); d.setHospitaldistrictcode(inhosp.getHospitaldistrictcode()); d.setHospitaldistrictname(inhosp.getHospitaldistrictname()); // ---- 2026-11 æ°å¢ï¼éè¦æ§æ è®°ï¼å«ãæ¥é´ãï¼åæ ·å¸¦èµ° ---- // èæ¯ï¼å¤ææ¥é´å°±ç pat_med_inhosp.importance_flag_codeï¼ç°åºåºå䏿æè¿° // ãæ¥é´ææ¯ããæ¥é´è¯çãï¼ä¹æåºæ ImportFlagEnum å FH0165.01/02ï¼ã // åä»»å¡è½ä¸ä»½ï¼é访å表就è½ç´æ¥æãæ¥é´ãçï¼ä¸ç¨æ¯è¡åæ¥ä½é¢ç»è®°è¡¨ã // å£å¾ï¼åæ ·æ·è´ãä¸åå¼åå½ä¸ï¼ä¸é type 4/5 æ¹åï¼ä¸ç§å®¤/ç åºç»´åº¦æ å ³ï¼ã d.setImportanceFlagCode(inhosp.getImportanceFlagCode()); // ---- å L1128-1134ï¼type 4/5 æ¹ç¨å ¥é¢ç»´åº¦ ---- if (type != null && (type == 4 || type == 5)) { d.setLeaveldeptcode(inhosp.getDeptcode()); @@ -308,6 +314,8 @@ d.setHospitaldistrictname(inhosp.getHospitaldistrictname()); d.setLeavehospitaldistrictcode(inhosp.getLeavehospitaldistrictcode()); d.setLeavehospitaldistrictname(inhosp.getLeavehospitaldistrictname()); // 2026-11ï¼éè¦æ§æ è®°ï¼å«ãæ¥é´ãï¼åæ ·å¸¦èµ°ï¼å£å¾å boxedServiceSubtaskï¼ d.setImportanceFlagCode(inhosp.getImportanceFlagCode()); // ---- å L1242-1251 ---- d.setTemplateid(serviceTask.getTemplateid()); d.setTemplatename(serviceTask.getTemplatename()); ruoyi-inhospvisit/src/main/resources/mapper/inhospvisit/VisitInhospMapper.xml
@@ -74,6 +74,8 @@ <result property="longTaskReason" column="long_task_reason"/> <result property="remark" column="remark"/> <result property="medicalCode" column="medical_code"/> <!-- 2026-11ï¼éè¦æ§æ è®°ç¼ç ï¼æ¥é´ææ¯/æ¥é´è¯ç/æ â¦ï¼ï¼å»ºå任塿¶åæ ·å¸¦ç» service_subtask --> <result property="importanceFlagCode" column="importance_flag_code"/> </resultMap> <!-- @@ -125,6 +127,7 @@ b.fuflag, b.fudate, b.remark, b.importance_flag_code, b.medical_code FROM pat_med_inhosp b @@ -337,6 +340,7 @@ leaveldeptname, leavehospitaldistrictcode, leavehospitaldistrictname, importance_flag_code, campusid from pat_med_inhosp where inhospid = #{inhospid} ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -334,6 +334,10 @@ public List<SysDept> selectLeafSysDeptListBySysUserDept(SysUserDept sysUserDept){ List<SysDept> list = deptMapper.selectSysDeptListBySysUserDept(sysUserDept); // userId 为空 = 管çååæ¬æºæå ¨éç§å®¤/ç åºï¼è¦ãå ¨é¨ãï¼ä¸è½åæå¶åèç¹è¿æ»¤æç¶çº§é¨é¨ if (sysUserDept != null && sysUserDept.getUserId() == null) { return list == null ? new ArrayList<>() : list; } if(CollectionUtils.isNotEmpty(list)){ list = TreeUtils.getLeafDepts(list); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -146,7 +146,10 @@ deptIds.add(sysDept.getDeptId()); } SysUserDept sysUserDept = new SysUserDept(); sysUserDept.setUserId(sysUser.getUserId()); // 管çåï¼ä¸æç¨æ·è¿æ»¤ï¼sys_user_dept éæ²¡æ admin çæ°æ®ï¼ï¼ç´æ¥åæ¬æºæå ¨é¨ç§å®¤/ç åº if (!isAdminUser(sysUser)) { sysUserDept.setUserId(sysUser.getUserId()); } sysUserDept.setDeptType(sysUser.getSearchscope()); sysUserDept.setOrgid(sysUser.getOrgid()); List<SysUserDept> sysUserDeptKSs = null; @@ -201,7 +204,7 @@ if (sysUser.getUserType().equals("æ£è ") && StringUtils.isNotEmpty(split[3]) && !split[3].equals("null") && !sysUser.getUserType().equals(split[3].trim())) throw new BaseException("å½åç¨æ·ç±»åä¸ç»å½ç¨æ·ç±»åä¸ä¸è´"); boolean isAdmin = StringUtils.isNotEmpty(split[0]) && "admin".equals(split[0]); boolean isAdmin = isAdminUser(sysUser); IUserExtInfoService userExtInfoService = SpringUtils.getBean(IUserExtInfoService.class); Executor executor = SpringUtils.getBean("threadPoolTaskExecutor"); @@ -220,7 +223,7 @@ // çå¾ æºæä¿¡æ¯ Map<String, String> userOrgInfo = new HashMap<>(); try { userOrgInfo = orgInfoFuture.get(5, TimeUnit.SECONDS); userOrgInfo = orgInfoFuture.get(50, TimeUnit.SECONDS); } catch (Exception e) { log.warn("è·åç¨æ·æºæä¿¡æ¯è¶ æ¶æå¼å¸¸", e); } @@ -258,8 +261,8 @@ CompletableFuture<List<SysDept>> ksFuture = CompletableFuture.supplyAsync(() -> selectLeafSysDeptForAdmin(deptKS), executor); CompletableFuture<List<SysDept>> bqFuture = CompletableFuture.supplyAsync(() -> selectLeafSysDeptForAdmin(deptBQ), executor); try { sysUserDeptKSs = distinctByDeptCode(DtoConversionUtils.sourceToTarget(ksFuture.get(5, TimeUnit.SECONDS), SysUserDept.class)); sysUserDeptBQs = distinctByDeptCode(DtoConversionUtils.sourceToTarget(bqFuture.get(5, TimeUnit.SECONDS), SysUserDept.class)); sysUserDeptKSs = distinctByDeptCode(DtoConversionUtils.sourceToTarget(ksFuture.get(50, TimeUnit.SECONDS), SysUserDept.class)); sysUserDeptBQs = distinctByDeptCode(DtoConversionUtils.sourceToTarget(bqFuture.get(50, TimeUnit.SECONDS), SysUserDept.class)); } catch (Exception e) { log.warn("è·åadminç§å®¤/ç åºä¿¡æ¯è¶ æ¶æå¼å¸¸", e); } @@ -358,6 +361,23 @@ log.warn("è·å满æåº¦å类失败ï¼å·²éçº§ä¸ºç©ºç»æï¼ä¸å½±åç»å½ï¼ãorgid={}", orgid, e); return Collections.emptyMap(); } } /** * æ¯å¦ç®¡çåï¼è´¦å·å为 adminï¼æç¨æ·IDå½ä¸é 置项 isAdminã * <p> * 管çååç§å®¤/ç åºæ¶ä¸æ sys_user_dept è¿æ»¤ââHIS ééåè¯¥è¡¨æ¶æç¡®æé¤äº admin * ï¼CollectHISMapper ç yhyksxx/yhybfxx 齿 {@code ud.user_id != 'admin'}ï¼ï¼ * èµ°å ³èæ¥è¯¢ä¼å¾å°ç©ºå表ï¼è¡¨ç°ä¸ºãç»å½æåä½åå»ºä»»å¡æ¶éä¸å°ç§å®¤ç åºãã */ private boolean isAdminUser(SysUser sysUser) { if (sysUser == null) { return false; } if ("admin".equalsIgnoreCase(sysUser.getUserName())) { return true; } return sysUser.getUserId() != null && isAdmin != null && isAdmin.contains(sysUser.getUserId()); } /** @@ -1022,8 +1042,11 @@ public List<SysUserDept> selectLeafSysDeptList(SysUserDept sysUserDept){ List<SysDept> list = sysDeptMapper.selectSysDeptListBySysUserDept(sysUserDept); if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){ list = TreeUtils.getLeafDepts(list); // userId 为空 = 管çååæ¬æºæå ¨éï¼è¦ãææç§å®¤ç åºãï¼ä¸è½åæå¶åèç¹è¿æ»¤ if (sysUserDept == null || sysUserDept.getUserId() != null) { if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){ list = TreeUtils.getLeafDepts(list); } } List<SysUserDept> list1 = DtoConversionUtils.sourceToTarget(list, SysUserDept.class); return list1; @@ -1031,11 +1054,9 @@ public List<SysDept> selectLeafSysDeptForAdmin(SysDept sysDept){ SysUserDept sysUserDept = DtoConversionUtils.sourceToTarget(sysDept, SysUserDept.class); List<SysDept> list = sysDeptMapper.selectSysDeptListBySysUserDept(sysUserDept); if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){ list = TreeUtils.getLeafDepts(list); } return list; // 管çå忝ï¼sysUserDept ä¸å¸¦ userIdï¼mapper ä¼ç´æ¥æ¥ sys_deptï¼ä¸å ³è sys_user_deptï¼ï¼ // è¿åæ¬æºæå ¨é¨ç§å®¤/ç åºï¼è¿éä¸ååå¶åè¿æ»¤ï¼å¦åãææç§å®¤ç åºãä¼è¢«ç æç¶çº§é¨é¨ã return sysDeptMapper.selectSysDeptListBySysUserDept(sysUserDept); } /** ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -283,17 +283,36 @@ where dept_id = #{deptId} </delete> <!-- æ¥è¯¢ç§å®¤/ç åºï¼ · userId æå¼ï¼æ®éç¨æ· / ç¨æ·ç¼è¾é¡µï¼æ¥æä¸ªç¨æ·åä¸çé¨é¨ï¼â å ³è sys_user_deptï¼ Â· userId 为空ï¼ç®¡çåï¼çæ¬æºæå ¨é¨ç§å®¤/ç åºï¼â åªæ¥ sys_deptï¼ä¸å ³èå ³ç³»è¡¨ã 为ä»ä¹è¦åæ¯ï¼HIS ééå sys_user_dept æ¶æç¡®æé¤äº adminï¼CollectHISMapper ç yhyksxx/yhybfxx 齿 ud.user_id != 'admin'ï¼ï¼ç®¡çåå¨å ³ç³»è¡¨éæ²¡ææ°æ®ï¼èµ° inner join ä¼å¾å°ç©ºå表ï¼è¡¨ç°å°±æ¯ãç»å½æåä½åå»ºä»»å¡æ¶éä¸å°ç§å®¤ç åºãã å¦å¤ä¸åé¢åºè¿æ»¤ï¼ç®¡çåè·¨é¢åºï¼ï¼é¢åºé离åªå¯¹æ®éç¨æ·çæã --> <select id="selectSysDeptListBySysUserDept" parameterType="com.ruoyi.common.core.domain.entity.SysUserDept" resultMap="SysDeptResult"> <include refid="selectDeptVo"/> inner join sys_user_dept ud on d.dept_code = ud.dept_code where 1=1 and d.del_flag = 0 and ud.del_flag = 0 <if test="orgid != null">and d.orgid = #{orgid} and ud.orgid = #{orgid}</if> <if test="campusid != null">and d.campusid = #{campusid}</if> <if test="userId != null">and ud.user_id = #{userId}</if> <if test="deptType != null and deptType != ''">and d.dept_type = #{deptType}</if> <choose> <when test="userId != null"> <include refid="selectDeptVo"/> inner join sys_user_dept ud on d.dept_code = ud.dept_code where 1=1 and d.del_flag = 0 and ud.del_flag = 0 <if test="orgid != null">and d.orgid = #{orgid} and ud.orgid = #{orgid}</if> <if test="campusid != null">and d.campusid = #{campusid}</if> <if test="deptType != null and deptType != ''">and d.dept_type = #{deptType}</if> and ud.user_id = #{userId} </when> <otherwise> <include refid="selectDeptVo"/> where d.del_flag = 0 <if test="orgid != null">and d.orgid = #{orgid}</if> <if test="deptType != null and deptType != ''">and d.dept_type = #{deptType}</if> </otherwise> </choose> </select> </mapper> ruoyi-task/src/main/java/com/ruoyi/task/api/contract/OperationSubtaskWriter.java
@@ -485,6 +485,8 @@ serviceSubtask.setLeaveldeptname(patMedInhosp1.getLeaveldeptname()); serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getLeavehospitaldistrictcode()); serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname()); // 2026-11ï¼éè¦æ§æ è®°ï¼å«ãæ¥é´ãï¼éä»»å¡èµ°ï¼ä¾¿äºåä»»å¡åè¡¨ç´æ¥ææ¥é´çé serviceSubtask.setImportanceFlagCode(patMedInhosp1.getImportanceFlagCode()); serviceSubtask.setTemplateid(serviceTask.getTemplateid()); serviceSubtask.setTemplatename(serviceTask.getTemplatename()); @@ -620,6 +622,8 @@ serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code()); serviceSubtask.setLeavediagname(patMedInhosp1.getLeavediagname()); serviceSubtask.setDiagname(patMedInhosp1.getDiagname()); // 2026-11ï¼éè¦æ§æ è®°ï¼å«ãæ¥é´ãï¼éä»»å¡èµ°ï¼å£å¾åä¸ï¼ serviceSubtask.setImportanceFlagCode(patMedInhosp1.getImportanceFlagCode()); serviceSubtask.setTemplateid(serviceTask.getTemplateid()); serviceSubtask.setTemplatename(serviceTask.getTemplatename()); serviceSubtask.setPatid(patArchive.getId()); ruoyi-task/src/main/java/com/ruoyi/task/api/contract/VisitTaskCreateApiImpl.java
@@ -285,6 +285,10 @@ e.setLeaveicd10code(d.getLeaveicd10code()); e.setLeavediagname(d.getLeavediagname()); e.setDiagname(d.getDiagname()); // 2026-11ï¼éè¦æ§æ è®°ç¼ç ï¼æ¥é´ææ¯/æ¥é´è¯ç/æ â¦ï¼ï¼æ¥èª pat_med_inhosp.importance_flag_codeã // åªæãåºå ¥é¢é访ãé¾è·¯ä¼å¡«å¼ï¼VisitSubtaskFactoryï¼ï¼é¨è¯/ææ¯çè稿é为 null â // insert çæ¡ä»¶åç´æ¥è·³è¿ï¼ä¸æ¹é åè¿äºåä¸åçææä¸è´ã e.setImportanceFlagCode(d.getImportanceFlagCode()); e.setTemplateid(d.getTemplateid()); e.setTemplatename(d.getTemplatename()); e.setLibtemplateid(d.getLibtemplateid()); ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtask.java
@@ -708,6 +708,25 @@ private String diagType; /** * éè¦æ§æ è®°ç¼ç ï¼2026-11 æ°å¢ï¼<b>å»ºä»»å¡æ¶ä» {@code pat_med_inhosp.importance_flag_code} 忥</b>ï¼ã * <p> * 为ä»ä¹åæ¥ï¼å¤æãæ¥é´ãå°±çè¿ä¸ªå段ï¼è service_subtask ä¸åªæ {@code inhospid}ï¼ * ä¸è½ä¸ä»½çè¯æãæ¥é´ãçå任塿¯è¡é½è¦åæ¥ä½é¢ç»è®°è¡¨ï¼JOIN / åæ¥è¯¢ï¼ï¼å表ä¸ç»è®¡é½åæ ¢ã * <p> * å弿¯<b>åæ ·æ·è´</b>ï¼ä¸å¨æ¬è¡¨åå½ä¸ï¼ * <ul> * <li>æä¸¾ç¼ç å£å¾ï¼{@code ImportFlagEnum}ï¼ï¼{@code FH0165.01} æ¥é´ææ¯ã{@code FH0165.02} æ¥é´è¯çã * {@code FH0165.03} æ ã{@code FH0165.98} ç¹çº¦äººåã{@code FH0165.99} 离ä¼äººåï¼</li> * <li>ç°åºä¹æå<b>䏿æè¿°</b>çåºï¼ãæ¥é´ææ¯ããæ¥é´è¯çãâ¦ï¼ï¼è¿åå¨éå·å¤å¼ï¼å¦ {@code æ ,æ¥é´ææ¯}ï¼ã</li> * </ul> * æä»¥æ¥è¯¢ä¾§æä¾ã精确å¼ãåãéå INãä¸¤ç§æ¡ä»¶ï¼è§ {@code serviceSubtaskWhere}ã * <p> * â ï¸ è¿æ¯<b>建任å¡é£ä¸å»çå¿«ç §</b>ï¼ä¹åä½é¢è®°å½æ¹äºæ è®°ï¼ä¸ä¼èªå¨ååå·²æåä»»å¡ã */ @ApiModelProperty(value = "éè¦æ§æ è®°ç¼ç ï¼æ¥é´ææ¯/æ¥é´è¯ç/æ /ç¹çº¦äººå/离ä¼äººåï¼æ FH0165.xxï¼") private String importanceFlagCode; /** * å¼å§åºé¢æ¥æ */ @JsonFormat(pattern = "yyyy-MM-dd") ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtaskRes.java
@@ -243,6 +243,17 @@ private String deptname; /** * éè¦æ§æ è®°ç¼ç ï¼2026-11 æ°å¢ï¼ï¼å»ºä»»å¡æ¶ä» {@code pat_med_inhosp.importance_flag_code} åæ¥ï¼ * å表æ¥å£åæ ·è¿åã * <p> * å¤æãæ¥é´ãçè¿éï¼{@code ImportFlagEnum} ç {@code FH0165.01}ï¼æ¥é´ææ¯ï¼/ * {@code FH0165.02}ï¼æ¥é´è¯çï¼ï¼ç°åºåºåçæ¯ä¸ææè¿°ãæ¥é´ææ¯ããæ¥é´è¯çãï¼ * è¿å¯è½åºç° {@code æ ,æ¥é´ææ¯} è¿ç±»å¤å¼ ââ æä»¥å端å«ç¨çå¼å¤æï¼æãå å«ãå¹é ã */ @ApiModelProperty(value = "éè¦æ§æ è®°ç¼ç ï¼æ¥é´ææ¯/æ¥é´è¯ç/æ /ç¹çº¦äººå/离ä¼äººåï¼") private String importanceFlagCode; /** * æä¸å¼å§åéæ¶é´éå¶ */ @Excel(name = " æä¸å¼å§åéæ¶é´éå¶ ") ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceTaskVO.java
@@ -70,9 +70,9 @@ private List<String> leavehospitaldistrictcodes; /** * åºé¢ç åºç¼å· * åºé¢é¨é¨ç¼å·éåï¼ç¹ä½ç¼å·ï¼ */ @ApiModelProperty(value = "åºé¢é¨é¨ç¼å·éå") @ApiModelProperty(value = "åºé¢é¨é¨ç¼å·éåï¼ç¹ä½ç¼å·ï¼") private List<String> leaveldeptcodes; /** @@ -468,8 +468,8 @@ /** * éç¨æ¡ä»¶ç±»åï¼1ãæç§å®¤ã2ãæç åºã3ãæç¾ç è¯æã4ãæææ¯ç±»åã5ãæä»»å¡ç» */ @ApiModelProperty("éç¨æ¡ä»¶ç±»åï¼1ãæç§å®¤ã2ãæç åºã3ãæç¾ç è¯æã4ãæææ¯ç±»åã5ãæä»»å¡ç» 6.æè¯åç¼ç ") @Excel(name = "éç¨æ¡ä»¶ç±»åï¼1ãæç§å®¤ã2ãæç åºã3ãæç¾ç è¯æã4ãæææ¯ç±»åã5ãæä»»å¡ç» 6.æè¯åç¼ç " ) @ApiModelProperty("éç¨æ¡ä»¶ç±»åï¼1ãæç§å®¤ã2ãæç åºã3ãæç¾ç è¯æã4ãæææ¯ç±»åã5ãæä»»å¡ç» 6.æè¯åç¼ç 7.æç¹ä½ï¼åå¾·éæ±ï¼") @Excel(name = "éç¨æ¡ä»¶ç±»åï¼1ãæç§å®¤ã2ãæç åºã3ãæç¾ç è¯æã4ãæææ¯ç±»åã5ãæä»»å¡ç» 6.æè¯åç¼ç 7.æç¹ä½ï¼åå¾·éæ±ï¼" ) private String appltype; @ApiModelProperty(value = "é访é¨é¨ç¼ç ") ruoyi-task/src/main/java/com/ruoyi/task/domain/entity/ServiceSubtaskEntity.java
@@ -732,6 +732,31 @@ private String managementDoctor; /** * éè¦æ§æ è®°ç¼ç ï¼2026-11 æ°å¢ï¼<b>æ¥è¯¢æ¡ä»¶</b>ï¼ï¼ç²¾ç¡®å¹é ã * <p> * å¯¹åº {@code service_subtask.importance_flag_code}ï¼å»ºä»»å¡æ¶ä» * {@code pat_med_inhosp.importance_flag_code} åæ ·åæ¥ã * æä¸¾è§ {@code com.ruoyi.common.enums.ImportFlagEnum} * ï¼{@code FH0165.01} æ¥é´ææ¯ã{@code FH0165.02} æ¥é´è¯çâ¦ï¼ï¼ * ç°åºåºä¹å¯è½å䏿æè¿°ã */ @ApiModelProperty(value = "éè¦æ§æ è®°ç¼ç ï¼ç²¾ç¡®å¹é ï¼å¦ FH0165.01 / æ¥é´ææ¯ï¼") private String importanceFlagCode; /** * éè¦æ§æ è®°ç¼ç éåï¼æ¥è¯¢æ¡ä»¶ï¼ï¼{@code IN} å¹é ï¼ç¨äºãæ¥é´ãè¿ç±» * ãè¦åæ¶å½ä¸å¤ä¸ªåå¼ãçåºæ¯ã * <p> * ä¾ï¼åªçæ¥é´ â {@code ["æ¥é´ææ¯","æ¥é´è¯ç"]}ï¼ä¸ææè¿°å£å¾ï¼æ * {@code ["FH0165.01","FH0165.02"]}ï¼æä¸¾ç¼ç å£å¾ï¼ã * <p> * â ï¸ çå¼/IN é½å¹é ä¸å°éå·å¤å¼ï¼å¦ {@code æ ,æ¥é´ææ¯}ï¼ï¼è¿ç±»æ°æ®æå°ï¼ * éè¦æ¶è¯·ç¨ {@code find_in_set} åç¬å SQLï¼å«æè¯ä¹å¡è¿è¿ä¸ªå段ã */ @ApiModelProperty(value = "éè¦æ§æ è®°ç¼ç éåï¼IN å¹é ï¼ç¨äºä¸æ¬¡çå¤ä¸ªæ è®°ï¼") private List<String> importanceFlagCodes; /** * å¼å§åºé¢æ¥æ */ @JsonFormat(pattern = "yyyy-MM-dd") ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceSubtaskServiceImpl.java
@@ -1608,6 +1608,61 @@ } /** * åéå·ä¸²éç第ä¸ä¸ªå¼ï¼ä»»å¡ä¸ç§å®¤/ç åºæ¯å¤éï¼è {@code service_subtask} ä¸é½æ¯åå¼åï¼ã */ private String firstValue(String value) { if (StringUtils.isEmpty(value)) { return null; } for (String item : value.split(",")) { if (StringUtils.isNotEmpty(item.trim())) { return item.trim(); } } return null; } /** * ä»»å¡é ç½®ï¼{@link ServiceTaskVO}ï¼â åä»»å¡ï¼{@link ServiceSubtask}ï¼çåæ®µæ¬è¿ã * <p> * <b>为ä»ä¹ä¸è½ç´æ¥ {@code DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class)}ï¼</b> * 宿¯çº¯ååæ·è´ï¼è两边ååç {@code deptcode / deptname} <b>è¯ä¹ä¸å</b>ï¼ * <ul> * <li>{@code ServiceTaskVO.deptcode / deptname} = ä»»å¡çãéç¨ç§å®¤ãï¼ * åºé¢é访ï¼serviceType=2ï¼/ åºé¢å®£æï¼4ï¼/ é¨è¯é访ï¼3ï¼çåºæ¯ä¸å°±æ¯<b>离é¢ç§å®¤</b>ï¼</li> * <li>{@code ServiceSubtask.deptcode / deptname} = <b>å¨é¢ç§å®¤</b> * ï¼2026-11 ç±å sendlimitpbegin/pend å¤ç¨èæ¥ï¼è§ {@code ServiceSubtask} åæ®µæ³¨éï¼ã</li> * </ul> * äºæ¯çº¯ååæ·è´ä¼æã离é¢ç§å®¤ãåè¿ãå¨é¢ç§å®¤ãåï¼åææä¸¤ä¸ªï¼ * <ol> * <li>æå¨é¢ç»´åº¦çï¼{@code deptcodes} â {@code service_subtask.deptcode}ï¼ä¼è¯¯å½ä¸è¿äºåä»»å¡ï¼</li> * <li>æç¦»é¢ç»´åº¦çï¼{@code leaveldeptcodes} â {@code service_subtask.leaveldeptcode}ï¼æ¶ï¼ * æ£è èªå·±æ²¡å¸¦ç§å®¤çé£äºï¼å端æå¨å¾éæ£è å¾å¸¸è§ï¼ä¼å 为 {@code leaveldeptcode} ä¸ºç©ºèæ¥ä¸å°ã</li> * </ol> * å æ¤è¿éæé¡¹ç®æ¢å®å£å¾ï¼{@code doc/service_subtask_åæ®µæ¹å_æ¹å¨æ¸ å.md} §8ï¼è¿å æ¡ * ãé¿æä»»å¡ / ä»»å¡ç» / æå¨å»ºä»»å¡ãè·¯å¾<b>ä¸å¡«å¨é¢ç»´åº¦</b>ï¼ç»ä¸å¤çï¼ * <b>å¨é¢ç»´åº¦ 4 忏 空</b>ï¼å¨é¢ç§å®¤/å¨é¢ç åºåªæ HIS é¾è·¯è½ä» {@code pat_med_inhosp} æ¿å°ï¼ï¼ * <b>ç§å®¤ / ç åºä¸å¾è½ç¦»é¢ç»´åº¦</b>ï¼{@code leaveldeptcode/name}ã{@code leavehospitaldistrictcode/name}ï¼ã * * @param serviceTaskVO 建任å¡å ¥å * @return å·²æç¦»é¢ç»´åº¦å½ä½çåä»»å¡å¯¹è±¡ï¼å¨é¢ç»´åº¦ä¸ºç©ºï¼ */ private ServiceSubtask toSubtaskFromTaskVO(ServiceTaskVO serviceTaskVO) { ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class); // â å¨é¢ç»´åº¦å¿ é¡»æ¸ ç©ºï¼ä»»å¡é ç½®çç§å®¤ä¸æ¯æ£è æ¬äººçå¨é¢ç§å®¤ serviceSubtask.setDeptcode(null); serviceSubtask.setDeptname(null); serviceSubtask.setHospitaldistrictcode(null); serviceSubtask.setHospitaldistrictname(null); // â¡ ç§å®¤ / ç åº â 离é¢ç»´åº¦ï¼å¤é串å第ä¸ä¸ªï¼å任塿¯åå¼åï¼ serviceSubtask.setLeaveldeptcode(firstValue(serviceTaskVO.getDeptcode())); serviceSubtask.setLeaveldeptname(firstValue(serviceTaskVO.getDeptname())); serviceSubtask.setLeavehospitaldistrictcode(firstValue(serviceTaskVO.getLeavehospitaldistrictcode())); serviceSubtask.setLeavehospitaldistrictname(firstValue(serviceTaskVO.getLeavehospitaldistrictname())); return serviceSubtask; } /** * åä¸ä»»å¡ * * @return ç»æ @@ -1834,7 +1889,8 @@ // } //å°ä»»å¡ä¿¡æ¯æ¾å°æå¡è¡¨ä¸ ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class); // ç§å®¤/ç åºæã离é¢ç»´åº¦ãå½ä½ï¼åºé¢é访çç§å®¤ç åºå°±æ¯ç¦»é¢ç§å®¤/ç åºï¼ï¼è§ toSubtaskFromTaskVO ServiceSubtask serviceSubtask = toSubtaskFromTaskVO(serviceTaskVO); serviceSubtask.setTaskid(serviceTask.getTaskid().longValue()); serviceSubtask.setTemplatename(ObjectUtils.isNotEmpty(tempid) ? tempName : serviceTask.getTemplatename()); serviceSubtask.setTemplateid(ObjectUtils.isNotEmpty(tempid) ? tempid : serviceTask.getTemplateid()); @@ -1855,15 +1911,18 @@ serviceSubtask.setInhospid(patTaskRelevance.getHospid()); //æ°å»ºå®æå°±æ¯å¾ åéç¶æ serviceSubtask.setSendstate(2L); String subtaskDeptCode = patTaskRelevance.getDeptcode(); if (StringUtils.isEmpty(subtaskDeptCode) && StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) { // service_subtask.leaveldeptcode 为åå¼å段ï¼ä¸è½åå ¥ä»»å¡çå¤ç§å®¤æ¼æ¥ä¸²ï¼å第ä¸ä¸ªç§å®¤å åº subtaskDeptCode = serviceTaskVO.getDeptcode().split(",")[0].trim(); } serviceSubtask.setLeaveldeptcode(subtaskDeptCode); serviceSubtask.setLeaveldeptname(StringUtils.isNotEmpty(patTaskRelevance.getDeptName()) ? patTaskRelevance.getDeptName() : serviceTaskVO.getDeptname()); serviceSubtask.setLeavehospitaldistrictcode(patTaskRelevance.getLeavehospitaldistrictcode()); serviceSubtask.setLeavehospitaldistrictname(patTaskRelevance.getLeavehospitaldistrictname()); // 离é¢ç»´åº¦ï¼åºé¢é访 = åºé¢ç§å®¤ / åºé¢ç åºï¼ï¼ // æ£è èªå¸¦çåºé¢ç§å®¤/ç åºä¼å ï¼æ£è 侧没带ï¼å端æå¨å¾éå¾å¸¸è§ï¼æ¶åéå°ä»»å¡é ç½®ï¼ // ä¸è½æ æ¡ä»¶è¦ç ââ å¦å伿 toSubtaskFromTaskVO æä»»å¡é ç½®å 好ç离é¢ç»´åº¦æ¹æ nullï¼ // ç»æãä»»å¡é äºç§å®¤ç åºãçæåºæ¥çåä»»å¡ç¦»é¢ç§å®¤/ç åºå´æ¯ç©ºãã serviceSubtask.setLeaveldeptcode(firstNonBlank(patTaskRelevance.getDeptcode(), firstValue(serviceTaskVO.getDeptcode()))); serviceSubtask.setLeaveldeptname(firstNonBlank(patTaskRelevance.getDeptName(), firstValue(serviceTaskVO.getDeptname()))); serviceSubtask.setLeavehospitaldistrictcode(firstNonBlank(patTaskRelevance.getLeavehospitaldistrictcode(), firstValue(serviceTaskVO.getLeavehospitaldistrictcode()))); serviceSubtask.setLeavehospitaldistrictname(firstNonBlank(patTaskRelevance.getLeavehospitaldistrictname(), firstValue(serviceTaskVO.getLeavehospitaldistrictname()))); serviceSubtask.setType(serviceTaskVO.getType()); serviceSubtask.setHospType(patTaskRelevance.getHospType()); serviceSubtask.setOpenid(patTaskRelevance.getOpenid()); @@ -2221,7 +2280,8 @@ } if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) { for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) { ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class); // ç§å®¤/ç åºæã离é¢ç»´åº¦ãå½ä½ï¼åºé¢é访çç§å®¤ç åºå°±æ¯ç¦»é¢ç§å®¤/ç åºï¼ï¼è§ toSubtaskFromTaskVO ServiceSubtask serviceSubtask = toSubtaskFromTaskVO(serviceTaskVO); serviceSubtask.setLibtemplateid(ObjectUtils.isEmpty(serviceTaskVO.getLibtemplateid()) ? null : Long.valueOf(serviceTaskVO.getLibtemplateid())); serviceSubtask.setLibtemplatename(serviceTaskVO.getLibtemplatename()); serviceSubtask.setTemplateid(serviceTask.getTemplateid()); @@ -2233,10 +2293,16 @@ serviceSubtask.setAddr(patTaskRelevance.getAddr()); serviceSubtask.setPatid(patTaskRelevance.getPatid()); serviceSubtask.setOpenid(patTaskRelevance.getOpenid()); serviceSubtask.setLeaveldeptcode(patTaskRelevance.getDeptcode()); serviceSubtask.setLeavehospitaldistrictname(patTaskRelevance.getLeavehospitaldistrictname()); serviceSubtask.setLeavehospitaldistrictcode(patTaskRelevance.getLeavehospitaldistrictcode()); serviceSubtask.setLeaveldeptname(patTaskRelevance.getDeptName()); // 离é¢ç»´åº¦ï¼æ£è èªå¸¦çåºé¢ç§å®¤/ç åºä¼å ï¼æ²¡å¸¦æ¶åéå°ä»»å¡é ç½®ï¼å¦å伿 // toSubtaskFromTaskVO æä»»å¡é ç½®å 好ç弿¹æ nullï¼åºé¢é访就æã离é¢ç§å®¤/ç åºä¸ºç©ºãï¼ serviceSubtask.setLeaveldeptcode(firstNonBlank(patTaskRelevance.getDeptcode(), firstValue(serviceTaskVO.getDeptcode()))); serviceSubtask.setLeaveldeptname(firstNonBlank(patTaskRelevance.getDeptName(), firstValue(serviceTaskVO.getDeptname()))); serviceSubtask.setLeavehospitaldistrictcode(firstNonBlank(patTaskRelevance.getLeavehospitaldistrictcode(), firstValue(serviceTaskVO.getLeavehospitaldistrictcode()))); serviceSubtask.setLeavehospitaldistrictname(firstNonBlank(patTaskRelevance.getLeavehospitaldistrictname(), firstValue(serviceTaskVO.getLeavehospitaldistrictname()))); serviceSubtask.setType(serviceTaskVO.getType()); serviceSubtask.setCreateTime(DateUtils.getNowDate()); serviceSubtask.setDrname(patTaskRelevance.getDrname()); ruoyi-task/src/main/resources/mapper/task/ServiceSubtaskMapper.xml
@@ -109,6 +109,8 @@ <result property="isManuallyCalled" column="is_manually_called"/> <result property="campusid" column="campusid"/> <result property="diagType" column="diag_type"/> <!-- 2026-11ï¼éè¦æ§æ è®°ç¼ç ï¼æ¥é´ææ¯/æ¥é´è¯ç/æ â¦ï¼ï¼å»ºä»»å¡æ¶åèª pat_med_inhosp --> <result property="importanceFlagCode" column="importance_flag_code"/> </resultMap> <resultMap type="com.ruoyi.task.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2"> @@ -244,6 +246,7 @@ hospitaldistrictname, deptcode, deptname, importance_flag_code, stop_state, leavehospitaldistrictcode, leavehospitaldistrictname, @@ -384,16 +387,34 @@ <sql id="filterLeaveDimAnd"> /* f-v3 */ <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> AND leavehospitaldistrictcode IN AND ( leavehospitaldistrictcode IN <foreach collection="leavehospitaldistrictcodes" item="lvWardCodeItem" open="(" separator="," close=")"> #{lvWardCodeItem} </foreach> <!-- å»¶ç»æ¤çä»»å¡ï¼service_type='99'ï¼å¯ä»¥å¨æ£è è¿æ²¡åºé¢æ¶çæï¼ è¿ç±»è®°å½åªæãå¨é¢ç»´åº¦ãï¼hospitaldistrictcode / deptcodeï¼ï¼åºé¢ç»´åº¦æ¯ NULLã NULL ä¸å¹é ä»»ä½ INï¼ä»»å¡ä¼ãæç¤ºçææåãå表éå´æ¥ä¸å°ãï¼ æä»¥åºé¢ç»´åº¦ä¸ºç©ºæ¶ç¨åä¸å¥ç¼ç ä½ç³»çå¨é¢ç»´åº¦å åºã --> OR (service_type = '99' AND (leavehospitaldistrictcode IS NULL OR leavehospitaldistrictcode = '') AND hospitaldistrictcode IN <foreach collection="leavehospitaldistrictcodes" item="lvWardCodeItem" open="(" separator="," close=")"> #{lvWardCodeItem} </foreach>) ) </if> <if test="leaveldeptcodes != null and leaveldeptcodes.size() > 0"> AND leaveldeptcode IN AND ( leaveldeptcode IN <foreach collection="leaveldeptcodes" item="lvDeptCodeItem" open="(" separator="," close=")"> #{lvDeptCodeItem} </foreach> OR (service_type = '99' AND (leaveldeptcode IS NULL OR leaveldeptcode = '') AND deptcode IN <foreach collection="leaveldeptcodes" item="lvDeptCodeItem" open="(" separator="," close=")"> #{lvDeptCodeItem} </foreach>) ) </if> </sql> @@ -434,20 +455,38 @@ or (leaveldeptcodes != null and leaveldeptcodes.size() > 0)"> AND ( <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0"> ( leavehospitaldistrictcode IN <foreach collection="leavehospitaldistrictcodes" item="lvWardCodeItem" open="(" separator="," close=")"> #{lvWardCodeItem} </foreach> <!-- å»¶ç»æ¤çä»»å¡ï¼service_type='99'ï¼å¯ä»¥å¨æ£è è¿æ²¡åºé¢æ¶çæï¼ è¿ç±»è®°å½åªæãå¨é¢ç»´åº¦ãï¼hospitaldistrictcode / deptcodeï¼ï¼åºé¢ç»´åº¦æ¯ NULLã NULL ä¸å¹é ä»»ä½ INï¼ä»»å¡ä¼ãæç¤ºçææåãå表éå´æ¥ä¸å°ãï¼ æä»¥åºé¢ç»´åº¦ä¸ºç©ºæ¶ç¨åä¸å¥ç¼ç ä½ç³»çå¨é¢ç»´åº¦å åºã --> OR (service_type = '99' AND (leavehospitaldistrictcode IS NULL OR leavehospitaldistrictcode = '') AND hospitaldistrictcode IN <foreach collection="leavehospitaldistrictcodes" item="lvWardCodeItem" open="(" separator="," close=")"> #{lvWardCodeItem} </foreach>) ) </if> <if test="(leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0) and (leaveldeptcodes != null and leaveldeptcodes.size() > 0)"> OR </if> <if test="leaveldeptcodes != null and leaveldeptcodes.size() > 0"> ( leaveldeptcode IN <foreach collection="leaveldeptcodes" item="lvDeptCodeItem" open="(" separator="," close=")"> #{lvDeptCodeItem} </foreach> OR (service_type = '99' AND (leaveldeptcode IS NULL OR leaveldeptcode = '') AND deptcode IN <foreach collection="leaveldeptcodes" item="lvDeptCodeItem" open="(" separator="," close=")"> #{lvDeptCodeItem} </foreach>) ) </if> ) </if> @@ -684,6 +723,26 @@ <if test="operatorNo != null and operatorNo != ''">and operator_no = #{operatorNo}</if> <if test="wechat != null and wechat != ''">and wechat = #{wechat}</if> <if test="hospType != null and hospType != ''">and hosp_type = #{hospType}</if> <!-- 2026-11ï¼éè¦æ§æ è®°çéï¼å¯¹åº service_subtask.importance_flag_codeï¼å»ºä»»å¡æ¶åèª pat_med_inhosp.importance_flag_codeï¼ã两ç§åæ³ï¼ â 精确åå¼ importanceFlagCode = 'FH0165.01'ï¼ææè¿°å£å¾ 'æ¥é´ææ¯'ï¼ â¡ ç²¾ç¡®å¤å¼ importanceFlagCodes = ['FH0165.01','FH0165.02'] 该åééæ¶å°±è¢«æ¼æ**æè¿°ä¸²**ï¼ImportFlagEnum ç descï¼ï¼å¤å¼ç¨è±æéå·æ¼æ¥ï¼ å¦ 'æ ,æ¥é´ææ¯'ï¼è§ ServiceSLTDHealthcareRecordServiceImpl#hospitalizedApplyï¼ââ çå¼/IN åªå½ä¸åå¼è¡ï¼å¤å¼è¡ï¼ç°åºä» 7 æ¡ï¼é½å¨åºé¢è®°å½ä¸ï¼è¦çå ¨éèªè¡å find_in_setã两ç§å£å¾å¹¶åï¼æåºåæä¸¾ç¼ç ãæåºå䏿æè¿°ï¼ï¼ä¼ ä»ä¹æä»ä¹ç²¾ç¡®æ¯ï¼ ä¸åå¼åå½ä¸ã --> <if test="importanceFlagCode != null and importanceFlagCode != ''"> and importance_flag_code = #{importanceFlagCode} </if> <if test="importanceFlagCodes != null and importanceFlagCodes.size() > 0"> AND importance_flag_code IN <foreach collection="importanceFlagCodes" item="impFlagItem" open="(" separator="," close=")"> #{impFlagItem} </foreach> </if> <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if> <if test="libtemplatename != null ">and libtemplatename = #{libtemplatename}</if> <if test="openid != null ">and openid = #{openid}</if> @@ -1172,6 +1231,8 @@ <if test="hospitaldistrictname != null and hospitaldistrictname != ''">hospitaldistrictname,</if> <if test="deptcode != null and deptcode != ''">deptcode,</if> <if test="deptname != null and deptname != ''">deptname,</if> <!-- 2026-11ï¼éè¦æ§æ è®°ç¼ç ï¼æ¥é´ææ¯/æ¥é´è¯çâ¦ï¼ï¼å»ºä»»å¡æ¶ä» pat_med_inhosp 忥 --> <if test="importanceFlagCode != null and importanceFlagCode != ''">importance_flag_code,</if> <if test="labelstatus != null">labelstatus,</if> <if test="updateBy != null">update_by,</if> <if test="updateTime != null">update_time,</if> @@ -1281,6 +1342,7 @@ <if test="hospitaldistrictname != null and hospitaldistrictname != ''">#{hospitaldistrictname},</if> <if test="deptcode != null and deptcode != ''">#{deptcode},</if> <if test="deptname != null and deptname != ''">#{deptname},</if> <if test="importanceFlagCode != null and importanceFlagCode != ''">#{importanceFlagCode},</if> <if test="labelstatus != null">#{labelstatus},</if> <if test="updateBy != null">#{updateBy},</if> <if test="updateTime != null">#{updateTime},</if> smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -828,6 +828,9 @@ serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code()); serviceSubtask.setLeavediagname(patMedInhosp1.getLeavediagname()); serviceSubtask.setDiagname(patMedInhosp1.getDiagname()); // 2026-11ï¼éè¦æ§æ è®°ï¼å«ãæ¥é´ãï¼éä»»å¡èµ°ï¼ä¸ ruoyi-inhospvisit çå£å¾ä¸è´ã // æ¬æ¡é¾è·¯æ¯ã人工æ°å¢é访 / ç¾ç 维度ãä»å¨ç¨çéçå®ç°ã serviceSubtask.setImportanceFlagCode(patMedInhosp1.getImportanceFlagCode()); serviceSubtask.setTemplateid(serviceTask.getTemplateid()); serviceSubtask.setTemplatename(serviceTask.getTemplatename()); serviceSubtask.setPatid(patArchive.getId()); @@ -933,6 +936,8 @@ serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname()); serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code()); serviceSubtask.setLeavediagname(patMedInhosp1.getLeavediagname()); // 2026-11ï¼éè¦æ§æ è®°ï¼å«ãæ¥é´ãï¼éä»»å¡èµ°ï¼å£å¾åä¸ï¼ serviceSubtask.setImportanceFlagCode(patMedInhosp1.getImportanceFlagCode()); serviceSubtask.setTemplateid(serviceTask.getTemplateid()); serviceSubtask.setTemplatename(serviceTask.getTemplatename());