From d1995068ddc93414e01a02bd0a21626a4a6ad9a4 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 27 十月 2026 18:20:34 +0800
Subject: [PATCH] 【丽水】1、新增接口 \smartor\doc\api\dealIcd10Subtask 2、/smartor/serviceSubtask/addSubTaskAgain 随访方式控制 随访是走中心科室还是本科室 3、/smartor/serviceSubtask/addSubTaskAgain 未配置nexttaskid的默认取自己的taskid
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 56 insertions(+), 3 deletions(-)
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 7de4f20..9160c37 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -99,6 +99,8 @@
*/
@Override
public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp) {
+ //鍏ラ櫌搴婁綅鎺掑簭鍙湪銆屽湪闄€�嶆煡璇紙cry=0锛変笅鐢熸晥锛屽叾瀹冩煡璇竴寰嬪拷鐣ワ紝淇濊瘉鍘熸湁鎺掑簭涓嶅彉
+ patMedInhosp.setBedSort(normalizeBedSort(patMedInhosp.getCry(), patMedInhosp.getBedSort()));
if (patMedInhosp.getCry() != null && patMedInhosp.getCry() == 0) {
patMedInhosp.setDeptcodeList(patMedInhosp.getLeaveldeptcodes());
patMedInhosp.setHospitaldistrictcodeList(patMedInhosp.getLeavehospitaldistrictcodes());
@@ -119,6 +121,24 @@
patMedInhosp1.setTagname(tagname);
}
return patMedInhospList;
+ }
+
+ /**
+ * 褰掍竴鍖栧叆闄㈠簥浣嶆帓搴忓弬鏁�
+ * <p>
+ * asc / 1 -> asc锛堝簥浣嶆搴忥級锛宒esc / 2 -> desc锛堝簥浣嶅�掑簭锛夛紝鍏朵綑锛堝惈涓嶄紶锛�-> null锛堜笉鎺掑簭锛夈��
+ * 鍙銆屽湪闄€�嶆偅鑰呮煡璇紙cry=0锛夌敓鏁堬紝鍑洪櫌/杞绛夋煡璇㈠拷鐣ヨ鍙傛暟銆�
+ *
+ * @param cry 鍑哄叆闄㈡爣璇嗭細0鍏ラ櫌 1鍑洪櫌 2杞 3棰勫叆闄�
+ * @param bedSort 鍓嶇浼犲叆鐨勫簥浣嶆帓搴忓��
+ * @return 褰掍竴鍖栧悗鐨勬帓搴忓�硷紙asc / desc / null锛�
+ */
+ private String normalizeBedSort(Integer cry, String bedSort) {
+ if (cry == null || cry != 0 || StringUtils.isEmpty(bedSort)) return null;
+ String value = bedSort.trim().toLowerCase();
+ if ("asc".equals(value) || "1".equals(value)) return "asc";
+ if ("desc".equals(value) || "2".equals(value)) return "desc";
+ return null;
}
@Override
@@ -500,7 +520,9 @@
pmoi.setDeptCodes(deptCodeList);
pmoi.setWardCodes(wardCodeList);
pmoi.setOpLevelCodes(opLevelCodeList);
- List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
+
+ //姣忔鏌ヨ鍙煡鏈�澶х殑鎵嬫湳绛夌骇璁板綍
+ List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemListMaxLevel(pmoi);
for (PatMedOperationItem patMedOperationItem : patMedOperationItems) {
PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperationItem.getPatid());
if (Objects.isNull(patArchive)) {
@@ -990,7 +1012,8 @@
}
}
- private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
+ @Override
+ public Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
//灏唒reachformDesc鐨刯son瀵硅薄锛屾斁鍒發ist闆嗗悎涓�
ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
if (Objects.isNull(serviceTask)) {
@@ -1044,6 +1067,8 @@
// }
ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
serviceSubtask.setTaskid(serviceTask.getTaskid());
+ serviceSubtask.setOrgid(serviceTask.getOrgid());
+ serviceSubtask.setCampusid(serviceTask.getCampusid());
if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid()))
serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid()));
serviceSubtask.setNurseId(patMedInhosp1.getNurseId());
@@ -1155,6 +1180,8 @@
private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) {
ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
serviceSubtask.setTaskid(serviceTask.getTaskid());
+ serviceSubtask.setOrgid(serviceTask.getOrgid());
+ serviceSubtask.setCampusid(serviceTask.getCampusid());
if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid()))
serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid()));
serviceSubtask.setNurseId(patMedInhosp1.getNurseId());
@@ -1297,7 +1324,8 @@
pmoi.setOpercheckFlag("0");
pmoi.setMainFlag("1");
- List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
+ //姣忔鏌ヨ鍙煡鏈�澶х殑鎵嬫湳绛夌骇璁板綍
+ List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemListMaxLevel(pmoi);
log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鎵嬫湳鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedOperationItems) ? patMedOperationItems.size() : null);
for (PatMedOperationItem opItem : patMedOperationItems) {
@@ -1927,5 +1955,30 @@
return generatedCount;
}
+ @Override
+ public void dealIcd10Subtask(PatMedInhosp pmks, String config) {
+ pmks.setDiagcheckFlag("0");
+ pmks.setInhospstate("1");
+ pmks.setFuflag("1");
+ List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks);
+ log.info("dealIcd10Subtask 寰呭鐞嗗嚭闄㈢柧鐥呮偅鑰呮暟锛歿}", CollectionUtils.isEmpty(patMedInhosps) ? 0 : patMedInhosps.size());
+ if (CollectionUtils.isNotEmpty(patMedInhosps)) {
+ int matchedTaskCount = 0;
+ for (PatMedInhosp patMedInhosp : patMedInhosps) {
+ // 鑾峰彇鎮h�呭熀鏈俊鎭紝妗f涓嶅瓨鍦ㄦ椂鐩存帴鏍囪澶辫触锛岄伩鍏嶅悗缁┖鎸囬拡
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
+ if (Objects.isNull(patArchive)) {
+ PatMedInhosp updateObj = new PatMedInhosp();
+ updateObj.setInhospid(patMedInhosp.getInhospid());
+ updateObj.setDiagcheckFlag("2");
+ updateObj.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+ patMedInhospMapper.updatePatMedInhosp(updateObj);
+ continue;
+ }
+ matchedTaskCount += addIcd10SubTaskForPatient(patMedInhosp, patArchive, config);
+ }
+ log.info("dealIcd10Subtask 澶勭悊瀹屾垚锛屽緟澶勭悊锛歿}锛屽尮閰嶇柧鐥呴暱鏈熶换鍔℃鏁帮細{}", patMedInhosps.size(), matchedTaskCount);
+ }
+ }
}
--
Gitblit v1.9.3