From d940590c25d7381ba7bc08b068d223d7aa0b9c77 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 30 四月 2026 20:43:12 +0800
Subject: [PATCH] 南华附一 和 登陆优化
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 292 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 218 insertions(+), 74 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 9fef770..c0797bb 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -3,10 +3,9 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.service.IConfigService;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
-import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.*;
import com.smartor.domain.entity.ServiceSubtaskEntity;
@@ -19,7 +18,6 @@
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
-import java.io.IOException;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.*;
@@ -41,8 +39,6 @@
@Autowired
private ServiceTaskdiagMapper serviceTaskdiagMapper;
@Autowired
- private ServiceTaskoperMapper serviceTaskoperMapper;
- @Autowired
private PatArchiveMapper patArchiveMapper;
@Autowired
private PatArchiveImportMapper patArchiveImportMapper;
@@ -54,6 +50,8 @@
private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper;
@Value("${spring.profiles.active}")
private String active;
+ @Autowired
+ private IConfigService iSysConfigService;
/**
@@ -80,6 +78,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());
@@ -141,16 +149,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;
}
@@ -215,7 +213,91 @@
@Override
public int dealOutHospInfo(String config) {
+ //1.鍏ラ櫌瀹f暀
+ String helibrarySwitch = iSysConfigService.selectConfigByKey("in.helibrary.switch");
+ if (StringUtils.isNotEmpty(helibrarySwitch) && "2".equals(helibrarySwitch)) {
+ PatMedInhosp inhosp = new PatMedInhosp();
+ inhosp.setInDeptcheckFlag("0");
+ inhosp.setInhospstate("0");
+ inhosp.setFuflag("1");
+ List<PatMedInhosp> inPatMedInhosps = patMedInhospMapper.selectPatMedInhospList(inhosp);
+ //1.1 绉戝
+ for (PatMedInhosp patMedInhosp1 : inPatMedInhosps) {
+ //鑾峰彇鎮h�呬俊鎭�
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
+ if (Objects.isNull(patArchive)) {
+ patMedInhosp1.setInDeptcheckFlag("2");
+ patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ continue;
+ }
+ try {
+ //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑鍏ラ櫌闀挎湡瀹f暀浠诲姟
+ ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+ serviceTaskdept.setLongtask(1L);
+ serviceTaskdept.setDeptCode(patMedInhosp1.getDeptcode());
+ serviceTaskdept.setDeptType("1");
+ serviceTaskdept.setServiceType("17");
+ 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.setInDeptcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆鍏ラ櫌闀挎湡瀹f暀浠诲姟;" : "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆鍏ラ櫌闀挎湡瀹f暀浠诲姟;");
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ } else {
+ for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
+ writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 4, config);
+ }
+ }
+
+ } catch (Exception e) {
+ log.error("浜哄憳鍏ラ櫌绉戝澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
+ patMedInhosp1.setInDeptcheckFlag("2");
+ patMedInhosp1.setLongTaskReason("浜哄憳鍏ラ櫌绉戝澶勭悊鍑哄紓甯镐簡锛�" + e.getMessage());
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ }
+ }
+
+
+ //1.2 鐥呭尯
+ inhosp.setInDeptcheckFlag(null);
+ inhosp.setInWardcheckFlag("0");
+ List<PatMedInhosp> inPatMedInhospsWard = patMedInhospMapper.selectPatMedInhospList(inhosp);
+ for (PatMedInhosp patMedInhosp1 : inPatMedInhospsWard) {
+ //鑾峰彇鎮h�呬俊鎭�
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
+ if (Objects.isNull(patArchive)) {
+ patMedInhosp1.setInDeptcheckFlag("2");
+ patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ continue;
+ }
+ //鏍规嵁鎮h�呮墍鍦ㄧ梾鍖猴紝鑾峰彇璇ョ梾鍖虹殑鍏ラ櫌闀挎湡瀹f暀浠诲姟锛堜細鍑虹幇涓�涓棶棰橈紝绉戝鍜岀梾鍖哄彂鐨勫悓涓�涓ā鏉匡級
+ ServiceTaskdept serviceTaskWard = new ServiceTaskdept();
+ serviceTaskWard.setLongtask(1L);
+ serviceTaskWard.setDeptCode(patMedInhosp1.getHospitaldistrictcode());
+ serviceTaskWard.setDeptType("2");
+ serviceTaskWard.setServiceType("17");
+ serviceTaskWard.setOrgid(patMedInhosp1.getOrgid());
+ List<ServiceTaskdept> serviceTaskWardList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskWard);
+ //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+ if (CollectionUtils.isEmpty(serviceTaskWardList) || serviceTaskWardList.size() == 0) {
+ PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+ patMedInhosp1.setInDeptcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆鍏ラ櫌闀挎湡瀹f暀浠诲姟;");
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ } else {
+ for (ServiceTaskdept serviceTaskdept1 : serviceTaskWardList) {
+ writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 5, config);
+ }
+ }
+ }
+ }
+
+ //2.鍑洪櫌闅忚
PatMedInhosp pmks = new PatMedInhosp();
//鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁
pmks.setDeptcheckFlag("0");
@@ -244,13 +326,14 @@
serviceTaskdept.setLongtask(1L);
serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode());
serviceTaskdept.setDeptType("1");
+ serviceTaskdept.setServiceType("2");
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() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆闀挎湡浠诲姟;");
+ patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆绂婚櫌闀挎湡浠诲姟;");
patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
@@ -294,17 +377,27 @@
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);
+ String errorreason = null;
+ List<ServiceTaskdept> serviceTaskdeptList = null;
+ if (!StringUtils.isEmpty(pmiBQ1.getLeavehospitaldistrictcode())) {
+ ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+ serviceTaskdept.setLongtask(1L);
+ serviceTaskdept.setDeptCode(pmiBQ1.getLeavehospitaldistrictcode());
+ serviceTaskdept.setDeptType("2");
+ serviceTaskdept.setServiceType("2");
+ serviceTaskdept.setOrgid(pmiBQ1.getOrgid());
+ serviceTaskdeptList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
+ if (CollectionUtils.isEmpty(serviceTaskdeptList)) {
+ errorreason = "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆闀挎湡浠诲姟;";
+ }
+ } else {
+ errorreason = "绂婚櫌鐥呭尯涓虹┖;";
+ }
//濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
- if (CollectionUtils.isEmpty(serviceTaskdeptList) || serviceTaskdeptList.size() == 0) {
+ if (StringUtils.isNotEmpty(errorreason)) {
PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiBQ1.getInhospid());
pmiBQ1.setWardcheckFlag("2");
- pmiBQ1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆闀挎湡浠诲姟;");
+ pmiBQ1.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorreason : errorreason);
patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
@@ -346,21 +439,40 @@
continue;
}
try {
+ String errorIcd = null;
if (StringUtils.isEmpty(pmiJB.getLeaveicd10code())) {
continue;
}
// 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔�
ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
serviceTaskdiag.setLongtask(1L);
- serviceTaskdiag.setIcd10code(pmiJB.getLeaveicd10code());
+ serviceTaskdiag.setServiceType("2");
+ if (active.equals("nhfy")) {
+ //鍗楀崕闄勪竴鐨刬cd10code鏈夐噸澶嶏紝鎵�浠ョ敤涓昏瘖鏂悕绉板幓鏌ヨ
+ serviceTaskdiag.setIcd10name(pmiJB.getLeavediagname());
+ if (StringUtils.isEmpty(pmiJB.getLeavediagname())) {
+ errorIcd = "璇ユ偅鑰呬富璇婃柇鍚嶇О涓虹┖;";
+ }
+ } else {
+ serviceTaskdiag.setIcd10code(pmiJB.getLeaveicd10code());
+ if (StringUtils.isEmpty(pmiJB.getLeaveicd10code())) {
+ errorIcd = "璇ユ偅鑰呬富璇婃柇ICD10鐮佷负绌�;";
+ }
+ }
serviceTaskdiag.setOrgid(pmiJB.getOrgid());
-
List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag);
+
//濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
- if (CollectionUtils.isEmpty(serviceTaskdiags) || serviceTaskdiags.size() == 0) {
+ if (StringUtils.isNotEmpty(errorIcd)) {
PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
pmiJB.setDiagcheckFlag("2");
- pmiJB.setLongTaskReason(patMedInhosp.getLongTaskReason() + "鎵�鎮g殑鐤剧梾鏈厤缃暱鏈熶换鍔�;");
+ pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
+ patMedInhospMapper.updatePatMedInhosp(pmiJB);
+ } else if (CollectionUtils.isEmpty(serviceTaskdiags)) {
+ errorIcd = "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆闀挎湡浠诲姟;";
+ PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
+ pmiJB.setDiagcheckFlag("2");
+ pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
patMedInhospMapper.updatePatMedInhosp(pmiJB);
} else {
for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
@@ -448,6 +560,7 @@
/**
* 澶氱淮搴﹂殢璁�
+ *
* @param config
* @return
*/
@@ -486,14 +599,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;
}
@@ -503,11 +614,11 @@
}
}
- private String getDimensionReason(int type){
+ private String getDimensionReason(int type) {
switch (type) {
case 1: { // 绉戝
return "鏈壘鍒扮瀹ゅ尮閰嶇殑闀挎湡浠诲姟";
- }
+ }
case 2: { // 鐥呭尯
return "鏈壘鍒扮梾鍖哄尮閰嶇殑闀挎湡浠诲姟";
}
@@ -518,9 +629,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");
@@ -544,14 +653,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 鍒楄〃
*/
@@ -563,8 +672,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();
@@ -572,8 +680,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();
@@ -581,8 +688,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();
@@ -748,13 +854,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-鐤剧梾 4-鍏ラ櫌绉戝 5-鍏ラ櫌鐥呭尯)
+ * @param config 閰嶇疆淇℃伅 visit.early.day
*/
//灏嗘偅鑰呮斁鍒皊ubtask涓�
private void writeInSubTask(Long taskid, Boolean check, PatMedInhosp patMedInhosp1, PatArchive patArchive, Integer type, String config) {
@@ -783,6 +888,16 @@
patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
return;
+ } else if (type == 4) {
+ patMedInhosp1.setInDeptcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭叆闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ return;
+ } else if (type == 5) {
+ patMedInhosp1.setInWardcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭叆闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ return;
}
} else {
serviceTask = serviceTasks.get(0);
@@ -791,14 +906,19 @@
return;
}
//灏佽serviceSubtask
- ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive, config);
+ ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive, config, type);
if (ObjectUtils.isEmpty(serviceSubtask)) {
return;
}
if (type != 2) {
//绉戝鍜岀柧鐥� 閮界敤 绉戝濉厖
- serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeaveldeptcode());
- serviceSubtask.setVisitDeptName(patMedInhosp1.getLeaveldeptname());
+ if (patMedInhosp1.getInhospstate().equals("1")) {
+ serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeaveldeptcode());
+ serviceSubtask.setVisitDeptName(patMedInhosp1.getLeaveldeptname());
+ } else if (patMedInhosp1.getInhospstate().equals("0")) {
+ serviceSubtask.setVisitDeptCode(patMedInhosp1.getDeptcode());
+ serviceSubtask.setVisitDeptName(patMedInhosp1.getDeptname());
+ }
} else if (type == 2) {
serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeavehospitaldistrictcode());
serviceSubtask.setVisitDeptName(patMedInhosp1.getLeavehospitaldistrictname());
@@ -932,6 +1052,8 @@
if (type == 1) patMedInhosp2.setDeptcheckFlag("1");
if (type == 2) patMedInhosp2.setWardcheckFlag("1");
if (type == 3) patMedInhosp2.setDiagcheckFlag("1");
+ if (type == 4) patMedInhosp2.setInDeptcheckFlag("1");
+ if (type == 5) patMedInhosp2.setInWardcheckFlag("1");
patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
} else {
//鐢熸垚瀛愪换鍔″け璐ワ紝
@@ -941,6 +1063,8 @@
if (type == 1) patMedInhosp2.setDeptcheckFlag("2");
if (type == 2) patMedInhosp2.setWardcheckFlag("2");
if (type == 3) patMedInhosp2.setDiagcheckFlag("2");
+ if (type == 4) patMedInhosp2.setInDeptcheckFlag("2");
+ if (type == 5) patMedInhosp2.setInWardcheckFlag("2");
patMedInhosp2.setRemark("鐢熸垚瀛愪换鍔″け璐� " + type);
patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
}
@@ -995,7 +1119,7 @@
//灏佽serviceSubtask
- private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config) {
+ private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config, Integer type) {
//澧炲姞serviceTask鍒ょ┖
// if(Objects.isNull(serviceTask)){
// return null;
@@ -1011,6 +1135,15 @@
serviceSubtask.setDrname(patMedInhosp1.getDrname());
serviceSubtask.setDeptcode(patMedInhosp1.getLeaveldeptcode());
serviceSubtask.setDeptname(patMedInhosp1.getLeaveldeptname());
+ serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getLeavehospitaldistrictcode());
+ serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname());
+ if(type == 4||type == 5){
+ //璁剧疆鍏ラ櫌鐨�
+ serviceSubtask.setDeptcode(patMedInhosp1.getDeptcode());
+ serviceSubtask.setDeptname(patMedInhosp1.getDeptname());
+ serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getHospitaldistrictcode());
+ serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getHospitaldistrictname());
+ }
serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code());
serviceSubtask.setLeavediagname(patMedInhosp1.getDiagname());
serviceSubtask.setTemplateid(serviceTask.getTemplateid());
@@ -1030,24 +1163,30 @@
serviceSubtask.setServiceType(serviceTask.getServiceType());
serviceSubtask.setPreachform(serviceTask.getPreachform());
serviceSubtask.setHospType("2");
+ if (type == 4 || type == 5) serviceSubtask.setHospType("6");
serviceSubtask.setCreateTime(new Date());
serviceSubtask.setUpdateTime(new Date());
serviceSubtask.setCreateBy(patMedInhosp1.getNurseName());
- serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getLeavehospitaldistrictcode());
- serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname());
serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
serviceSubtask.setUpdateTime(new Date());
+ //濡傛灉鏄鏁欏氨璁剧疆涓�7
+ if (serviceTask.getServiceType().equals("17")) serviceSubtask.setTaskSituation(7);
//璁剧疆鍙戦�佹椂闂�
if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L);
Date newDate = null;
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();
+ //濡傛灉绛変簬4,璇存槑鏄叆闄㈠鏁欙紝鍏ラ櫌涓嶅彲鑳芥湁endTime
+ if (type != 4 && type != 5) {
+ patMedInhosp1.setDeptcheckFlag("2");
+ patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 璇ユ偅鑰呯柧鐥呭嚭闄㈡椂闂翠负绌�,鍑洪櫌璁板綍ID涓�:" + patMedInhosp1.getInhospid());
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ //濡傛灉鍑洪櫌鏃堕棿涓虹┖锛屽垯杩斿洖涓�涓柊瀵硅薄
+ return new ServiceSubtask();
+ }
+ //鍏ラ櫌瀹f暀锛屽熀鏈綋澶╂垨闅斿ぉ灏辫鍙戝嚭
+ newDate = addDays(new Date(), serviceTask.getSendDay().intValue());
}
serviceSubtask.setLongSendTime(newDate);
serviceSubtask.setVisitTime(newDate);
@@ -1117,20 +1256,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