From 3d274e016ae6f40cea86254af6c6f32691978ab8 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 30 四月 2026 15:40:47 +0800
Subject: [PATCH] Merge branch 'master' into master-手术随访
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 428 +++++++++++++++++++++++++++-------------------------
1 files changed, 222 insertions(+), 206 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 65a6ad4..dadc6ce 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -85,6 +85,16 @@
*/
@Override
public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp) {
+ if (patMedInhosp.getCry() == 0) {
+ patMedInhosp.setDeptcodeList(patMedInhosp.getLeaveldeptcodes());
+ patMedInhosp.setHospitaldistrictcodeList(patMedInhosp.getLeavehospitaldistrictcodes());
+ patMedInhosp.setLeaveldeptcodes(null);
+ patMedInhosp.setLeavehospitaldistrictcodes(null);
+ patMedInhosp.setInhospstate("0");
+ } else if (patMedInhosp.getCry() == 1) {
+ patMedInhosp.setInhospstate("1");
+ }
+
List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
@@ -146,16 +156,6 @@
public PatMedRes selectPatMedInhospListCount(PatMedReq patMedReq) {
PatMedRes patMedRes = null;
// 鑾峰彇褰撳墠鐧婚檰浜虹殑閮ㄩ棬鏉冮檺
- if (org.springframework.util.CollectionUtils.isEmpty(patMedReq.getDeptcodeList())) {
-// Long userId = SecurityUtils.getUserId();
-// List<SysDept> sysDepts = sysUserDeptMapper.selectDeptListByUserId(userId);
-// List<String> deptCode = new ArrayList<>();
-// for (SysDept sysDept : sysDepts) {
-// deptCode.add(sysDept.getDeptId().toString());
-// }
-// patMedReq.setDeptcodeList(deptCode);
-// patMedRes = patMedInhospMapper.selectPatMedInhospCount(patMedReq);
- }
patMedRes = patMedInhospMapper.selectPatMedInhospCount(patMedReq);
return patMedRes;
}
@@ -221,168 +221,168 @@
@Override
public int dealOutHospInfo(String config) {
- PatMedInhosp pmks = new PatMedInhosp();
- //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁
- pmks.setDeptcheckFlag("0");
- pmks.setInhospstate("1");
- pmks.setFuflag("1");
- List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks);
- log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌閮ㄩ棬鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhosps) ? patMedInhosps.size() : null);
- for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
- patMedInhosp1.setTagname(tagname);
- }
-
- //绉戝
- for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
- //鑾峰彇鎮h�呬俊鎭�
- PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
- if (Objects.isNull(patArchive)) {
- patMedInhosp1.setDeptcheckFlag("2");
- patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
- continue;
- }
- try {
- //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑闀挎湡浠诲姟
- ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
- serviceTaskdept.setLongtask(1L);
- serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode());
- serviceTaskdept.setDeptType("1");
- serviceTaskdept.setOrgid(patMedInhosp1.getOrgid());
- List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
- //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
- if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
- patMedInhosp1.setDeptcheckFlag("2");
- patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆闀挎湡浠诲姟;");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
- } else {
- for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
- writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1, config);
- }
-// patMedInhosp1.setDeptcheckFlag("1");
+// PatMedInhosp pmks = new PatMedInhosp();
+// //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁
+// pmks.setDeptcheckFlag("0");
+// pmks.setInhospstate("1");
+// pmks.setFuflag("1");
+// List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks);
+// log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌閮ㄩ棬鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhosps) ? patMedInhosps.size() : null);
+// for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
+// String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+// patMedInhosp1.setTagname(tagname);
+// }
+//
+// //绉戝
+// for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
+// //鑾峰彇鎮h�呬俊鎭�
+// PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
+// if (Objects.isNull(patArchive)) {
+// patMedInhosp1.setDeptcheckFlag("2");
+// patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+// patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+// continue;
+// }
+// try {
+// //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑闀挎湡浠诲姟
+// ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+// serviceTaskdept.setLongtask(1L);
+// serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode());
+// serviceTaskdept.setDeptType("1");
+// serviceTaskdept.setOrgid(patMedInhosp1.getOrgid());
+// List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
+// //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+// if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) {
+// PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+// patMedInhosp1.setDeptcheckFlag("2");
+// patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆闀挎湡浠诲姟;");
// patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- log.error("浜哄憳绉戝澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
- patMedInhosp1.setDeptcheckFlag("2");
- patMedInhosp1.setLongTaskReason("浜哄憳绉戝澶勭悊寮傚父锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
- }
- }
+// } else {
+// for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
+// writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1, config);
+// }
+//// patMedInhosp1.setDeptcheckFlag("1");
+//// patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+// }
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// log.error("浜哄憳绉戝澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
+// patMedInhosp1.setDeptcheckFlag("2");
+// patMedInhosp1.setLongTaskReason("浜哄憳绉戝澶勭悊寮傚父锛�" + e.getMessage());
+// patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+// }
+// }
//鏍规嵁鎮h�呮墍鍦ㄧ梾鍖猴紝鑾峰彇璇ョ梾鍖虹殑闀挎湡浠诲姟,鏂板崕鍖婚櫌鍙互鍏堜笉鐢ㄦ牴鎹梾鍖哄拰鐤剧梾鏉ュ仛
if (!active.equals("xh")) {
- PatMedInhosp pmbq = new PatMedInhosp();
- //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁
- pmbq.setWardcheckFlag("0");
- pmbq.setInhospstate("1");
- pmbq.setFuflag("1");
- List<PatMedInhosp> patMedInhospBQs = patMedInhospMapper.selectPatMedInhospList(pmbq);
- log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐥呭尯鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospBQs) ? patMedInhospBQs.size() : null);
- for (PatMedInhosp patMedInhosp1 : patMedInhospBQs) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
- patMedInhosp1.setTagname(tagname);
- }
-
- //鐥呭尯鏁版嵁澶勭悊
- for (PatMedInhosp pmiBQ1 : patMedInhospBQs) {
- //鑾峰彇鎮h�呬俊鎭�
- PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiBQ1.getPatid());
- if (Objects.isNull(patArchive)) {
- pmiBQ1.setWardcheckFlag("2");
- pmiBQ1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
- continue;
- }
- try {
- ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
- serviceTaskdept.setLongtask(1L);
- serviceTaskdept.setDeptCode(pmiBQ1.getLeavehospitaldistrictcode());
- serviceTaskdept.setDeptType("2");
- serviceTaskdept.setOrgid(pmiBQ1.getOrgid());
- List<ServiceTaskdept> serviceTaskdeptList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
- //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
- if (CollectionUtils.isEmpty(serviceTaskdeptList) || serviceTaskdeptList.size() == 0) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiBQ1.getInhospid());
- pmiBQ1.setWardcheckFlag("2");
- pmiBQ1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆闀挎湡浠诲姟;");
- patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
- } else {
- for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
- writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiBQ1, patArchive, 2, config);
- }
-// pmiBQ1.setWardcheckFlag("1");
+// PatMedInhosp pmbq = new PatMedInhosp();
+// //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁
+// pmbq.setWardcheckFlag("0");
+// pmbq.setInhospstate("1");
+// pmbq.setFuflag("1");
+// List<PatMedInhosp> patMedInhospBQs = patMedInhospMapper.selectPatMedInhospList(pmbq);
+// log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐥呭尯鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospBQs) ? patMedInhospBQs.size() : null);
+// for (PatMedInhosp patMedInhosp1 : patMedInhospBQs) {
+// String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+// patMedInhosp1.setTagname(tagname);
+// }
+//
+// //鐥呭尯鏁版嵁澶勭悊
+// for (PatMedInhosp pmiBQ1 : patMedInhospBQs) {
+// //鑾峰彇鎮h�呬俊鎭�
+// PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiBQ1.getPatid());
+// if (Objects.isNull(patArchive)) {
+// pmiBQ1.setWardcheckFlag("2");
+// pmiBQ1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+// patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+// continue;
+// }
+// try {
+// ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+// serviceTaskdept.setLongtask(1L);
+// serviceTaskdept.setDeptCode(pmiBQ1.getLeavehospitaldistrictcode());
+// serviceTaskdept.setDeptType("2");
+// serviceTaskdept.setOrgid(pmiBQ1.getOrgid());
+// List<ServiceTaskdept> serviceTaskdeptList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
+// //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+// if (CollectionUtils.isEmpty(serviceTaskdeptList) || serviceTaskdeptList.size() == 0) {
+// PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiBQ1.getInhospid());
+// pmiBQ1.setWardcheckFlag("2");
+// pmiBQ1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆闀挎湡浠诲姟;");
// patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
- }
-
-
- } catch (Exception e) {
- e.printStackTrace();
- log.error("浜哄憳鐥呭尯澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
- pmiBQ1.setWardcheckFlag("2");
- pmiBQ1.setLongTaskReason("浜哄憳鐥呭尯澶勭悊寮傚父锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
- }
- }
-
- PatMedInhosp pmjb = new PatMedInhosp();
- //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
- pmjb.setDiagcheckFlag("0");
- pmjb.setInhospstate("1");
- pmjb.setFuflag("1");
- List<PatMedInhosp> patMedInhospJBs = patMedInhospMapper.selectPatMedInhospList(pmjb);
- log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐤剧梾鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospJBs) ? patMedInhospJBs.size() : null);
- for (PatMedInhosp patMedInhosp1 : patMedInhospJBs) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
- patMedInhosp1.setTagname(tagname);
- }
-
- for (PatMedInhosp pmiJB : patMedInhospJBs) {
- //鑾峰彇鎮h�呬俊鎭�
- PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiJB.getPatid());
- if (Objects.isNull(patArchive)) {
- pmiJB.setDiagcheckFlag("2");
- pmiJB.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(pmiJB);
- continue;
- }
- try {
- if (StringUtils.isEmpty(pmiJB.getLeaveicd10code())) {
- continue;
- }
- // 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔�
- ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
- serviceTaskdiag.setLongtask(1L);
- serviceTaskdiag.setIcd10code(pmiJB.getLeaveicd10code());
- serviceTaskdiag.setOrgid(pmiJB.getOrgid());
-
- List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag);
- //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
- if (CollectionUtils.isEmpty(serviceTaskdiags) || serviceTaskdiags.size() == 0) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
- pmiJB.setDiagcheckFlag("2");
- pmiJB.setLongTaskReason(patMedInhosp.getLongTaskReason() + "鎵�鎮g殑鐤剧梾鏈厤缃暱鏈熶换鍔�;");
- patMedInhospMapper.updatePatMedInhosp(pmiJB);
- } else {
- for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
- writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
- }
-// pmiJB.setDiagcheckFlag("1");
+// } else {
+// for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
+// writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiBQ1, patArchive, 2, config);
+// }
+//// pmiBQ1.setWardcheckFlag("1");
+//// patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+// }
+//
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// log.error("浜哄憳鐥呭尯澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
+// pmiBQ1.setWardcheckFlag("2");
+// pmiBQ1.setLongTaskReason("浜哄憳鐥呭尯澶勭悊寮傚父锛�" + e.getMessage());
+// patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+// }
+// }
+//
+// PatMedInhosp pmjb = new PatMedInhosp();
+// //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
+// pmjb.setDiagcheckFlag("0");
+// pmjb.setInhospstate("1");
+// pmjb.setFuflag("1");
+// List<PatMedInhosp> patMedInhospJBs = patMedInhospMapper.selectPatMedInhospList(pmjb);
+// log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐤剧梾鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospJBs) ? patMedInhospJBs.size() : null);
+// for (PatMedInhosp patMedInhosp1 : patMedInhospJBs) {
+// String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+// patMedInhosp1.setTagname(tagname);
+// }
+//
+// for (PatMedInhosp pmiJB : patMedInhospJBs) {
+// //鑾峰彇鎮h�呬俊鎭�
+// PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiJB.getPatid());
+// if (Objects.isNull(patArchive)) {
+// pmiJB.setDiagcheckFlag("2");
+// pmiJB.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+// patMedInhospMapper.updatePatMedInhosp(pmiJB);
+// continue;
+// }
+// try {
+// if (StringUtils.isEmpty(pmiJB.getLeaveicd10code())) {
+// continue;
+// }
+// // 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔�
+// ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
+// serviceTaskdiag.setLongtask(1L);
+// serviceTaskdiag.setIcd10code(pmiJB.getLeaveicd10code());
+// serviceTaskdiag.setOrgid(pmiJB.getOrgid());
+//
+// List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag);
+// //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+// if (CollectionUtils.isEmpty(serviceTaskdiags) || serviceTaskdiags.size() == 0) {
+// PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
+// pmiJB.setDiagcheckFlag("2");
+// pmiJB.setLongTaskReason(patMedInhosp.getLongTaskReason() + "鎵�鎮g殑鐤剧梾鏈厤缃暱鏈熶换鍔�;");
// patMedInhospMapper.updatePatMedInhosp(pmiJB);
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- log.error("浜哄憳鐤剧梾澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
- pmiJB.setDiagcheckFlag("2");
- pmiJB.setLongTaskReason("浜哄憳鐤剧梾澶勭悊寮傚父锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(pmiJB);
- }
- }
+// } else {
+// for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
+// writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
+// }
+//// pmiJB.setDiagcheckFlag("1");
+//// patMedInhospMapper.updatePatMedInhosp(pmiJB);
+// }
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// log.error("浜哄憳鐤剧梾澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
+// pmiJB.setDiagcheckFlag("2");
+// pmiJB.setLongTaskReason("浜哄憳鐤剧梾澶勭悊寮傚父锛�" + e.getMessage());
+// patMedInhospMapper.updatePatMedInhosp(pmiJB);
+// }
+// }
// 鎵嬫湳闅忚
PatMedOperationItem pmoi = new PatMedOperationItem();
//鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
@@ -441,6 +441,7 @@
/**
* 澶氱淮搴﹂殢璁�
+ *
* @param config
* @return
*/
@@ -479,14 +480,12 @@
* 鎸夌淮搴︽壘鍒版墍鏈夊尮閰嶉暱鏈熶换鍔★紝鎵归噺鐢熸垚 subtask
* type: 1=绉戝, 2=鐥呭尯, 3=鐤剧梾
*/
- private void processTasksByDimension(PatMedInhosp patMedInhosp1,
- PatArchive patArchive,
- String config, int type) {
+ 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);
+ String reason = getDimensionReason(type);
+ markFlagAsNoConfig(patMedInhosp1, type, reason);
return;
}
@@ -496,11 +495,11 @@
}
}
- private String getDimensionReason(int type){
+ private String getDimensionReason(int type) {
switch (type) {
case 1: { // 绉戝
return "鏈壘鍒扮瀹ゅ尮閰嶇殑闀挎湡浠诲姟";
- }
+ }
case 2: { // 鐥呭尯
return "鏈壘鍒扮梾鍖哄尮閰嶇殑闀挎湡浠诲姟";
}
@@ -511,9 +510,7 @@
return "澶氱淮闀挎湡浠诲姟-鍖归厤绫诲瀷涓虹┖";
}
- private void markFlagAsNoConfig(PatMedInhosp patMedInhosp,
- int type,
- String reason){
+ private void markFlagAsNoConfig(PatMedInhosp patMedInhosp, int type, String reason) {
switch (type) {
case 1: { // 绉戝
patMedInhosp.setDeptcheckFlag("2");
@@ -537,14 +534,14 @@
}
- private void markAllFlagsAsError(PatMedInhosp patMedInhosp,
- String reason){
+ private void markAllFlagsAsError(PatMedInhosp patMedInhosp, String reason) {
patMedInhosp.setDeptcheckFlag("2");
patMedInhosp.setWardcheckFlag("2");
patMedInhosp.setDiagcheckFlag("2");
patMedInhosp.setRemark(reason);
patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
}
+
/**
* 鏍规嵁缁村害绫诲瀷鏌ヨ鍖归厤鐨勯暱鏈熶换鍔� ID 鍒楄〃
*/
@@ -556,8 +553,7 @@
query.setDeptCode(patMedInhosp1.getLeaveldeptcode());
query.setDeptType("1");
query.setOrgid(patMedInhosp1.getOrgid());
- return serviceTaskdeptMapper.selectServiceTaskdeptList(query)
- .stream().map(ServiceTaskdept::getTaskId).collect(Collectors.toList());
+ return serviceTaskdeptMapper.selectServiceTaskdeptList(query).stream().map(ServiceTaskdept::getTaskId).collect(Collectors.toList());
}
case 2: { // 鐥呭尯
ServiceTaskdept query = new ServiceTaskdept();
@@ -565,8 +561,7 @@
query.setDeptCode(patMedInhosp1.getLeavehospitaldistrictcode());
query.setDeptType("2");
query.setOrgid(patMedInhosp1.getOrgid());
- return serviceTaskdeptMapper.selectServiceTaskdeptList(query)
- .stream().map(ServiceTaskdept::getTaskId).collect(Collectors.toList());
+ return serviceTaskdeptMapper.selectServiceTaskdeptList(query).stream().map(ServiceTaskdept::getTaskId).collect(Collectors.toList());
}
case 3: { // 鐤剧梾
if (StringUtils.isEmpty(patMedInhosp1.getLeaveicd10code())) return Collections.emptyList();
@@ -574,8 +569,7 @@
query.setLongtask(1L);
query.setIcd10code(patMedInhosp1.getLeaveicd10code());
query.setOrgid(patMedInhosp1.getOrgid());
- return serviceTaskdiagMapper.selectServiceTaskdiagList(query)
- .stream().map(ServiceTaskdiag::getTaskId).collect(Collectors.toList());
+ return serviceTaskdiagMapper.selectServiceTaskdiagList(query).stream().map(ServiceTaskdiag::getTaskId).collect(Collectors.toList());
}
}
return Collections.emptyList();
@@ -741,13 +735,12 @@
}
/**
- *
- * @param taskid 浠诲姟id
- * @param check 鏄惁闇�瑕佹牎楠�
+ * @param taskid 浠诲姟id
+ * @param check 鏄惁闇�瑕佹牎楠�
* @param patMedInhosp1 鐥呬汉鍑哄叆闄俊鎭�
- * @param patArchive 鐥呬汉淇℃伅
- * @param type 闅忚绫诲瀷(1-绉戝锛�2-鐥呭尯锛�3-鐤剧梾锛�
- * @param config 閰嶇疆淇℃伅 visit.early.day
+ * @param patArchive 鐥呬汉淇℃伅
+ * @param type 闅忚绫诲瀷(1-绉戝锛�2-鐥呭尯锛�3-鐤剧梾锛�
+ * @param config 閰嶇疆淇℃伅 visit.early.day
*/
//灏嗘偅鑰呮斁鍒皊ubtask涓�
private void writeInSubTask(Long taskid, Boolean check, PatMedInhosp patMedInhosp1, PatArchive patArchive, Integer type, String config) {
@@ -992,8 +985,18 @@
if (Objects.isNull(patArchive)) {
return;
}
+ PatMedInhosp patMedInhosp = new PatMedInhosp();
+ patMedInhosp.setPatid(patMedOperation.getPatid());
+ patMedInhosp.setInhospstate("1");
+ patMedInhosp.setFuflag("1");
+ List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+
+ if (CollectionUtils.isEmpty(patMedInhospList)) {
+ return;
+ }
+
//灏佽serviceSubtask
- ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedOperation, patMedOperationItem, patArchive, config);
+ ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperation, patMedOperationItem, patArchive, config);
if (ObjectUtils.isEmpty(serviceSubtask)) {
return;
}
@@ -1204,7 +1207,7 @@
}
//灏佽serviceSubtask
- private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedOperation patMedOperation, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) {
+ private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatMedOperation patMedOperation, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) {
ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
serviceSubtask.setTaskid(serviceTask.getTaskid());
if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid()))
@@ -1243,11 +1246,20 @@
serviceSubtask.setOperationItemId(patMedOperationItem.getId());
serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
serviceSubtask.setUpdateTime(new Date());
+
+ //todo
//璁剧疆鍙戦�佹椂闂�
if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L);
Date newDate = null;
- //todo
- newDate = addDays(patMedOperation.getCreateTime(), serviceTask.getSendDay().intValue());
+ if (!Objects.isNull(patMedInhosp1.getEndtime())) {
+ newDate = addDays(patMedInhosp1.getEndtime(), serviceTask.getSendDay().intValue());
+ } else {
+ patMedInhosp1.setDeptcheckFlag("2");
+ patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 璇ユ偅鑰呮墜鏈嚭闄㈡椂闂翠负绌�,鍑洪櫌璁板綍ID涓�:" + patMedInhosp1.getInhospid());
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ //濡傛灉鍑洪櫌鏃堕棿涓虹┖锛屽垯杩斿洖涓�涓柊瀵硅薄
+ return new ServiceSubtask();
+ }
serviceSubtask.setLongSendTime(newDate);
serviceSubtask.setVisitTime(newDate);
@@ -1255,7 +1267,6 @@
if ("3".equals(serviceTask.getType())) {
serviceSubtask.setVisitTime(minusDay(newDate, StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0));
}
-
//鎮h�呭彂閫佹椂闂�
if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
String remark = patArchive.getNotrequiredreason();
@@ -1302,20 +1313,25 @@
//涓嶆槸闀挎湡浠诲姟锛屼笉澶勭悊
continue;
}
- if (serviceSubtask1.getEndtime().before(patMedInhosp1.getStarttime())) {
- //濡傛灉褰撳墠寰幆鐨勫瓙浠诲姟鐨勫嚭闄㈡椂闂村湪鈥滃噯澶囨柊澧炵殑瀛愪换鍔♀�濈殑鍑洪櫌鏃堕棿涔嬪墠锛屽垯灏嗗惊鐜殑瀛愪换鍔″仠鎺�
-// log.error("鎮h�呭啀鍏ラ櫌鐨剆erviceSubtask1涓�:{}", serviceSubtask1);
- serviceSubtask1.setSendstate(4L);
- serviceSubtask1.setRemark("鎮h�呭啀鍏ラ櫌");
- serviceSubtask1.setResult("error");
-// serviceSubtask1.setFinishtime(new Date());
- serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+ //鏅畞 鍑洪櫌棣栨锛�7澶╋級闅忚涓�瀹氳鍋�
+ boolean firstVisit = false;
+ if (serviceSubtask1.getOrgid().equals("47255004333112711A1001") && serviceSubtask1.getVisitCount() != null && serviceSubtask1.getVisitCount() == 1) {
+ firstVisit = true;
}
+ if (!firstVisit) {
+ if (serviceSubtask1.getEndtime().before(patMedInhosp1.getStarttime())) {
+ //濡傛灉褰撳墠寰幆鐨勫瓙浠诲姟鐨勫嚭闄㈡椂闂村湪鈥滃噯澶囨柊澧炵殑瀛愪换鍔♀�濈殑鍑洪櫌鏃堕棿涔嬪墠锛屽垯灏嗗惊鐜殑瀛愪换鍔″仠鎺�
+// log.error("鎮h�呭啀鍏ラ櫌鐨剆erviceSubtask1涓�:{}", serviceSubtask1);
+ serviceSubtask1.setSendstate(4L);
+ serviceSubtask1.setIsVisitAgain(2);
+ serviceSubtask1.setRemark("鎮h�呭啀鍏ラ櫌");
+ serviceSubtask1.setResult("error");
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+ }
+ }
+
}
}
- //灏嗘偅鍏ョ殑鍏ラ櫌鏁版嵁璁剧疆涓哄凡澶勭悊
- //鏇存柊鐘舵�佸�� patMedInhosp1.setDeptcheckFlag("0");
- //patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
} catch (Exception e) {
log.error("鍏ラ櫌鏁版嵁淇℃伅鍑哄紓甯镐簡锛歿},{}", patMedInhosp1, e.getMessage());
}
--
Gitblit v1.9.3