From f0a09ee996ab2605869844d6a3d812709e2bf0fa Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 16 十月 2026 16:07:25 +0800
Subject: [PATCH] 任务模块、电话模块
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 899 +++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 585 insertions(+), 314 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 919fb64..e299c66 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -1,16 +1,20 @@
package com.smartor.service.impl;
+import com.ruoyi.othervisit.api.OtherVisitFacade;
+import com.ruoyi.inhospvisit.api.InhospVisitFacade;
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.core.service.dto.PatMedReq;
+import com.ruoyi.common.core.service.dto.PatMedRes;
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;
+import com.ruoyi.inhospvisit.domain.PatMedInhospDTO;
import com.smartor.mapper.*;
import com.smartor.service.IPatMedInhospService;
import lombok.extern.slf4j.Slf4j;
@@ -26,6 +30,31 @@
import java.util.*;
import java.util.stream.Collectors;
+import com.ruoyi.othervisit.domain.PatMedOperationItem;
+import com.ruoyi.inhospvisit.domain.PatMedInhospVO;
+import com.ruoyi.inhospvisit.domain.PatMedInhosp;
+import com.ruoyi.common.core.domain.entity.PatArchive;
+import com.ruoyi.task.domain.entity.ServiceSubtaskEntity;
+import com.ruoyi.task.domain.ServiceSubtask;
+import com.ruoyi.task.domain.ServiceTask;
+import com.ruoyi.task.domain.ServiceTaskdept;
+import com.ruoyi.task.domain.ServiceTaskdiag;
+import com.ruoyi.task.domain.ServiceTaskmedical;
+import com.ruoyi.task.domain.ServiceTaskoper;
+import com.ruoyi.task.domain.ServiceTaskRule;
+import com.ruoyi.task.domain.ServiceTaskSchedule;
+import com.ruoyi.task.domain.ServiceTaskScheduleDetail;
+import com.ruoyi.task.mapper.ServiceSubtaskMapper;
+import com.ruoyi.task.mapper.ServiceTaskdeptMapper;
+import com.ruoyi.task.mapper.ServiceTaskdiagMapper;
+import com.ruoyi.task.mapper.ServiceTaskMapper;
+import com.ruoyi.task.mapper.ServiceTaskmedicalMapper;
+import com.ruoyi.task.mapper.ServiceTaskoperMapper;
+import com.ruoyi.task.mapper.ServiceTaskRuleMapper;
+import com.ruoyi.task.mapper.ServiceTaskScheduleDetailMapper;
+import com.ruoyi.task.mapper.ServiceTaskScheduleMapper;
+import com.ruoyi.task.domain.ServiceSubtaskPreachform;
+import com.ruoyi.task.common.ScheduleSubtaskBuilder;
/**
* 鎮h�呬綇闄㈣褰昐ervice涓氬姟灞傚鐞�
*
@@ -36,7 +65,13 @@
@Service
public class PatMedInhospServiceImpl implements IPatMedInhospService {
@Autowired
- private PatMedInhospMapper patMedInhospMapper;
+ private InhospVisitFacade inhospVisitFacade;
+
+ /**
+ * 鎵嬫湳鏁版嵁涓�寰嬬粡 ruoyi-othervisit 鐨勯棬闈㈠彇鐢紙璺ㄦā鍧楁暟鎹闂師鍒欙級銆�
+ */
+ @Autowired
+ private OtherVisitFacade otherVisitFacade;
@Autowired
private ServiceTaskdeptMapper serviceTaskdeptMapper;
@Autowired
@@ -54,9 +89,7 @@
@Autowired
private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper;
@Autowired
- private PatMedOperationMapper patMedOperationMapper;
- @Autowired
- private PatMedOperationItemMapper patMedOperationItemMapper;
+ private ServiceTaskmedicalMapper serviceTaskmedicalMapper;
@Autowired
private ServiceTaskRuleMapper serviceTaskRuleMapper;
@@ -64,6 +97,13 @@
private String active;
@Autowired
private IConfigService iSysConfigService;
+ @Autowired
+ private ServiceTaskScheduleMapper serviceTaskScheduleMapper;
+
+ @Autowired
+ private ScheduleSubtaskBuilder scheduleSubtaskBuilder;
+ @Autowired
+ private ServiceTaskScheduleDetailMapper serviceTaskScheduleDetailMapper;
/**
@@ -74,12 +114,12 @@
*/
@Override
public PatMedInhosp selectPatMedInhospByInhospid(Long inhospid) {
- return patMedInhospMapper.selectPatMedInhospByInhospid(inhospid);
+ return inhospVisitFacade.selectPatMedInhospByInhospid(inhospid);
}
@Override
public List<PatMedInhosp> selectPatMedInhosp(PatMedInhosp patMedInhosp) {
- return patMedInhospMapper.selectPatMedInhosp(patMedInhosp);
+ return inhospVisitFacade.selectPatMedInhosp(patMedInhosp);
}
/**
@@ -90,35 +130,110 @@
*/
@Override
public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp) {
- if (patMedInhosp.getCry() == 0) {
+ //鍏ラ櫌搴婁綅鎺掑簭鍙湪銆屽湪闄€�嶆煡璇紙cry=0锛変笅鐢熸晥锛屽叾瀹冩煡璇竴寰嬪拷鐣ワ紝淇濊瘉鍘熸湁鎺掑簭涓嶅彉
+ patMedInhosp.setBedSort(normalizeBedSort(patMedInhosp.getCry(), patMedInhosp.getBedSort()));
+ if (patMedInhosp.getCry() != null && 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) {
+ } else if (patMedInhosp.getCry() != null && patMedInhosp.getCry() == 1) {
patMedInhosp.setInhospstate("1");
+ } else if (patMedInhosp.getCry() != null && patMedInhosp.getCry() == 2) {
+ patMedInhosp.setInhospstate("2");
+ } else if (patMedInhosp.getCry() != null && patMedInhosp.getCry() == 3) {
+ patMedInhosp.setInhospstate("3");
}
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
- for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
- patMedInhosp1.setTagname(tagname);
- }
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
+ fillTagname(patMedInhospList);
return patMedInhospList;
}
- @Override
- public Map<String, Integer> queryPersonCount(PatServiceCount patServiceCount) {
- if (patServiceCount.getInterval() == 1) {
- //鍛�
- } else if (patServiceCount.getInterval() == 2) {
- //鏈�
- } else if (patServiceCount.getInterval() == 3) {
- //骞�
+ /**
+ * 鎵归噺濉厖鎮h�呮爣绛�
+ * <p>
+ * 鍘熷疄鐜版槸姣忚璋冧竴娆� getTagnameBypatid锛孲QL 寰�杩旀鏁伴殢 pageSize 绾挎�у闀匡紱
+ * 杩欓噷鎸� patid 鍘婚噸鍚庡垎鎵逛竴娆℃煡鍥烇紝缁撴灉涓庨�愯鏌ヨ瀹屽叏涓�鑷达紙鎮h�呮棤鏍囩鏃朵粛涓� null锛夈��
+ *
+ * @param patMedInhospList 寰呭~鍏呯殑浣忛櫌璁板綍锛屽厑璁镐负绌�
+ */
+ private void fillTagname(List<PatMedInhosp> patMedInhospList) {
+ if (CollectionUtils.isEmpty(patMedInhospList)) {
+ return;
+ }
+ // LinkedHashSet 鍘婚噸鍚屾椂淇濇寔椤哄簭锛岄伩鍏� IN 鍒楄〃鍑虹幇閲嶅 patid
+ Set<Long> patids = new LinkedHashSet<>();
+ for (PatMedInhosp patMedInhosp : patMedInhospList) {
+ if (patMedInhosp.getPatid() != null) {
+ patids.add(patMedInhosp.getPatid());
+ }
+ }
+ if (patids.isEmpty()) {
+ return;
}
+ Map<Long, String> tagnameMap = new HashMap<>();
+ List<Long> patidList = new ArrayList<>(patids);
+ // 鍒嗙墖锛岄槻姝� IN 鍙傛暟杩囧
+ int batchSize = 1000;
+ for (int i = 0; i < patidList.size(); i += batchSize) {
+ List<Long> batch = patidList.subList(i, Math.min(i + batchSize, patidList.size()));
+ List<Map<String, Object>> rows = inhospVisitFacade.getTagnameByPatids(batch);
+ if (CollectionUtils.isEmpty(rows)) {
+ continue;
+ }
+ for (Map<String, Object> row : rows) {
+ Object patid = row.get("patid");
+ Object tagname = row.get("tagname");
+ if (patid != null) {
+ tagnameMap.put(((Number) patid).longValue(), tagname == null ? null : tagname.toString());
+ }
+ }
+ }
+
+ for (PatMedInhosp patMedInhosp : patMedInhospList) {
+ if (patMedInhosp.getPatid() != null) {
+ patMedInhosp.setTagname(tagnameMap.get(patMedInhosp.getPatid()));
+ }
+ }
+ }
+
+ /**
+ * 褰掍竴鍖栧叆闄㈠簥浣嶆帓搴忓弬鏁�
+ * <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
+ public List<PatMedInhospDTO> selectPatMedInhospByApplication(PatMedInhosp patMedInhosp) {
+ List<PatMedInhosp> patMedInhosps = selectPatMedInhospList(patMedInhosp);
+ if (!org.springframework.util.CollectionUtils.isEmpty(patMedInhosps)) {
+ return null;
+ }
+ List<PatMedInhospDTO> patMedInhospDTOList = DtoConversionUtils.sourceToTarget(patMedInhosps, PatMedInhospDTO.class);
+ for (PatMedInhospDTO pmd : patMedInhospDTOList) {
+ ServiceSubtaskEntity serviceSubtask = new ServiceSubtaskEntity();
+ serviceSubtask.setServiceType("4");
+ serviceSubtask.setInhospid(pmd.getInhospid());
+ List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtask);
+ if (CollectionUtils.isNotEmpty(serviceSubtasks)) pmd.setFinishFlag("1");
+ }
+
+ return patMedInhospDTOList;
}
/**
@@ -128,7 +243,7 @@
* @return
*/
public List<PatMedInhosp> selectPatMedInhospListByCondition(PatMedInhospVO patMedInhospVO) {
- return patMedInhospMapper.selectPatMedInhospListByCondition(patMedInhospVO);
+ return inhospVisitFacade.selectPatMedInhospListByCondition(patMedInhospVO);
}
@@ -161,7 +276,7 @@
public PatMedRes selectPatMedInhospListCount(PatMedReq patMedReq) {
PatMedRes patMedRes = null;
// 鑾峰彇褰撳墠鐧婚檰浜虹殑閮ㄩ棬鏉冮檺
- patMedRes = patMedInhospMapper.selectPatMedInhospCount(patMedReq);
+ patMedRes = inhospVisitFacade.selectPatMedInhospCount(patMedReq);
return patMedRes;
}
@@ -175,7 +290,7 @@
public int insertPatMedInhosp(PatMedInhosp patMedInhosp) {
patMedInhosp.setCreateTime(DateUtils.getNowDate());
patMedInhosp.setUpdateTime(DateUtils.getNowDate());
- return patMedInhospMapper.insertPatMedInhosp(patMedInhosp);
+ return inhospVisitFacade.insertPatMedInhosp(patMedInhosp);
}
/**
@@ -187,7 +302,7 @@
@Override
public int updatePatMedInhosp(PatMedInhosp patMedInhosp) {
patMedInhosp.setUpdateTime(DateUtils.getNowDate());
- return patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+ return inhospVisitFacade.updatePatMedInhosp(patMedInhosp);
}
/**
@@ -198,7 +313,7 @@
*/
@Override
public int deletePatMedInhospByInhospids(Long[] inhospids) {
- return patMedInhospMapper.deletePatMedInhospByInhospids(inhospids);
+ return inhospVisitFacade.deletePatMedInhospByInhospids(inhospids);
}
/**
@@ -209,7 +324,7 @@
*/
@Override
public int deletePatMedInhospByInhospid(Long inhospid) {
- return patMedInhospMapper.deletePatMedInhospByInhospid(inhospid);
+ return inhospVisitFacade.deletePatMedInhospByInhospid(inhospid);
}
/**
@@ -220,28 +335,29 @@
*/
@Override
public int deletePatMedInhospByInhospno(String inhospno) {
- return patMedInhospMapper.deletePatMedInhospByInhospno(inhospno);
+ return inhospVisitFacade.deletePatMedInhospByInhospno(inhospno);
}
@Override
public int dealOutHospInfo(String config) {
+ PatMedInhosp pmks = new PatMedInhosp();
+ pmks.setDeptcheckFlag("0");
+ pmks.setInhospstate("1");
+ pmks.setFuflag("1");
+ List<PatMedInhosp> patMedInhosps = inhospVisitFacade.selectPatMedInhospList(pmks);
+
//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) {
+ for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
//鑾峰彇鎮h�呬俊鎭�
PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
if (Objects.isNull(patArchive)) {
patMedInhosp1.setInDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
continue;
}
try {
@@ -255,10 +371,10 @@
List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
//濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
patMedInhosp1.setInDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆鍏ラ櫌闀挎湡瀹f暀浠诲姟;" : "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆鍏ラ櫌闀挎湡瀹f暀浠诲姟;");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 4, config);
@@ -268,23 +384,24 @@
} catch (Exception e) {
log.error("浜哄憳鍏ラ櫌绉戝澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
patMedInhosp1.setInDeptcheckFlag("2");
- patMedInhosp1.setLongTaskReason("浜哄憳鍏ラ櫌绉戝澶勭悊鍑哄紓甯镐簡锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ patMedInhosp1.setLongTaskReason("浜哄憳鍏ラ櫌绉戝澶勭悊鍑哄紓甯镐簡");
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
}
//1.2 鐥呭尯
- inhosp.setInDeptcheckFlag(null);
- inhosp.setInWardcheckFlag("0");
- List<PatMedInhosp> inPatMedInhospsWard = patMedInhospMapper.selectPatMedInhospList(inhosp);
+ pmks.setInDeptcheckFlag(null);
+ pmks.setInWardcheckFlag("0");
+ pmks.setDeptcheckFlag(null);
+ List<PatMedInhosp> inPatMedInhospsWard = inhospVisitFacade.selectPatMedInhospList(pmks);
for (PatMedInhosp patMedInhosp1 : inPatMedInhospsWard) {
//鑾峰彇鎮h�呬俊鎭�
PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
if (Objects.isNull(patArchive)) {
patMedInhosp1.setInDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
continue;
}
//鏍规嵁鎮h�呮墍鍦ㄧ梾鍖猴紝鑾峰彇璇ョ梾鍖虹殑鍏ラ櫌闀挎湡瀹f暀浠诲姟锛堜細鍑虹幇涓�涓棶棰橈紝绉戝鍜岀梾鍖哄彂鐨勫悓涓�涓ā鏉匡級
@@ -297,10 +414,10 @@
List<ServiceTaskdept> serviceTaskWardList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskWard);
//濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
if (CollectionUtils.isEmpty(serviceTaskWardList) || serviceTaskWardList.size() == 0) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
patMedInhosp1.setInDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆鍏ラ櫌闀挎湡瀹f暀浠诲姟;");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskWardList) {
writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 5, config);
@@ -309,9 +426,44 @@
}
}
- //2.鍑洪櫌闅忚 - 鍩轰簬瑙勫垯鐨勪换鍔$敓鎴�
- addSubTaskByRule(config);
- //鏍规嵁鎮h�呮墍鍦ㄧ梾鍖猴紝鑾峰彇璇ョ梾鍖虹殑闀挎湡浠诲姟,鏂板崕鍖婚櫌鍙互鍏堜笉鐢ㄦ牴鎹梾鍖哄拰鐤剧梾鏉ュ仛
+ //2.鑽搧瀹f暀(鐪佺珛鍚屽痉鐨勯渶姹傦紝鍏跺畠鍦版柟娌℃彁)
+ if (active.equals("sltd")) {
+ for (PatMedInhosp patMedInhosp : patMedInhosps) {
+ String medicalCode = patMedInhosp.getMedicalCode();
+ if (StringUtils.isNotEmpty(medicalCode)) {
+ String[] split = medicalCode.split(",");
+ // 闃插尽鎬х紪绋嬶細纭繚 medicalCompany 鍜� medicalName 涓嶄负 null
+ String medicalCompanyStr = patMedInhosp.getMedicalCompany() != null ? patMedInhosp.getMedicalCompany() : "";
+ String medicalNameStr = patMedInhosp.getMedicalName() != null ? patMedInhosp.getMedicalName() : "";
+ String[] medicalCompanyArray = medicalCompanyStr.split(",");
+ String[] medicalNameArray = medicalNameStr.split(",");
+
+ for (int i = 0; i < split.length; i++) {
+ ServiceTaskmedical serviceTaskmedical = new ServiceTaskmedical();
+ //鎷胯嵂鍝佺紪鐮佸拰鍏徃鍘绘煡
+ serviceTaskmedical.setMedicalCode(split[i]);
+ // 闃叉涓嬫爣瓒婄晫锛氬鏋滄暟缁勯暱搴︿笉涓�鑷达紝鍙栨渶灏忛暱搴�
+ if (i < medicalCompanyArray.length) {
+ serviceTaskmedical.setMedicalCompany(medicalCompanyArray[i]);
+ } else {
+ log.warn("銆愯嵂鍝佸鏁欍�戣嵂鍝佺紪鐮亄}瀵瑰簲鐨勫叕鍙镐俊鎭笅鏍囪秺鐣岋紝medicalCompany 鏁扮粍闀垮害={}, 褰撳墠绱㈠紩={}", split[i], medicalCompanyArray.length, i);
+ serviceTaskmedical.setMedicalName(""); // 瓒婄晫鏃惰缃负绌�
+ }
+ List<ServiceTaskmedical> serviceTaskmedicals = serviceTaskmedicalMapper.selectServiceTaskmedicalList(serviceTaskmedical);
+ if (CollectionUtils.isNotEmpty(serviceTaskmedicals)) {
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
+ // check=true锛岃 writeInSubTask 鍐呴儴鍋氬幓閲嶆牎楠�
+ writeInSubTask(serviceTaskmedicals.get(0).getTaskId(), true, patMedInhosp, patArchive, 0, config);
+ }
+ //鏌ヤ笉鍒扮殑鑽搧灏辨槸涓嶉渶瑕佸鏁欑殑锛屽氨涓嶇浜�
+ }
+ }
+ }
+ }
+ //3.鍑洪櫌闅忚 - 鍩轰簬瑙勫垯鐨勪换鍔$敓鎴�
+ // 鑾峰彇鎵�鏈夐渶瑕佸鐞嗙殑鍑洪櫌鎮h�咃紙绉戝缁村害鏈鐞嗭級
+
+ addSubTaskByRule(config, patMedInhosps);
if (!active.equals("xh")) {
addOperationSubTask(config);
}
@@ -321,7 +473,7 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setDeptcheckFlag("0");
patMedInhosp.setInhospstate("0");
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
if (CollectionUtils.isNotEmpty(patMedInhospList) && patMedInhospList.size() > 0) {
dealInHospInfo(patMedInhospList);
}
@@ -329,139 +481,154 @@
}
/**
- * 澶氱淮搴﹂殢璁�
+ * 浠诲姟缁勯殢璁�
*
* @param config
* @return
*/
- public int dealOutHospInfoByDimension(String config) {
- // 涓�娆℃�ф煡鍑烘墍鏈夐渶瑕佸鐞嗙殑鍑洪櫌鎮h�咃紙涓変釜缁村害浠绘剰涓�涓湭瀹屾垚锛�
- List<PatMedInhosp> patList = patMedInhospMapper.selectNeedProcessList();
- log.info("銆愮粺涓�鎵弿銆戝緟澶勭悊鎮h�呮暟锛歿}", patList.size());
+ public int dealOutHospInfoBySchedule(String config) {
- for (PatMedInhosp patMedInhosp1 : patList) {
- PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
- if (Objects.isNull(patArchive)) {
- // 涓変釜缁村害閮芥爣璁颁负澶辫触
- markAllFlagsAsError(patMedInhosp1, "鎮h�呭熀鏈俊鎭负绌�");
- continue;
- }
+ ServiceTask serviceTaskVo = new ServiceTask();
+ serviceTaskVo.setLongTask(1);
+ serviceTaskVo.setAppltype("5");
+ List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(serviceTaskVo);
- // 鈹�鈹� 缁村害1锛氱瀹� 鈹�鈹�
- if ("0".equals(patMedInhosp1.getDeptcheckFlag())) {
- processTasksByDimension(patMedInhosp1, patArchive, config, 1);
- }
+ if (CollectionUtils.isNotEmpty(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();
- // 鈹�鈹� 缁村害2锛氱梾鍖� 鈹�鈹�锛堟柊鍗庡尰闄㈣烦杩囷級
- if (!active.equals("xh") && "0".equals(patMedInhosp1.getWardcheckFlag())) {
- processTasksByDimension(patMedInhosp1, patArchive, config, 2);
- }
+ List<String> icd10CodeList = new ArrayList<>();
+ List<String> opLevelCodeList = new ArrayList<>();
+ List<String> deptCodeList = new ArrayList<>();
+ List<String> wardCodeList = new ArrayList<>();
- // 鈹�鈹� 缁村害3锛氱柧鐥� 鈹�鈹�锛堟柊鍗庡尰闄㈣烦杩囷級
- if (!active.equals("xh") && "0".equals(patMedInhosp1.getDiagcheckFlag())) {
- processTasksByDimension(patMedInhosp1, patArchive, config, 3);
+ /**
+ * 闅忚绫诲瀷(1-绉戝锛�2-鐥呭尯锛�3-鐤剧梾 4-鍏ラ櫌绉戝 5-鍏ラ櫌鐥呭尯 6-鎵嬫湳)
+ */
+ Integer type = 1;
+ if (StringUtils.isNotEmpty(deptCodes)) {
+ type = 1;
+ deptCodeList = new ArrayList<>(Arrays.asList(deptCodes.split(",")));
+ }
+ if (StringUtils.isNotEmpty(wardCodes)) {
+ type = 2;
+ wardCodeList = new ArrayList<>(Arrays.asList(wardCodes.split(",")));
+ }
+ if (StringUtils.isNotEmpty(icd10Codes)) {
+ type = 3;
+ icd10CodeList = new ArrayList<>(Arrays.asList(icd10Codes.split(",")));
+ }
+ if (StringUtils.isNotEmpty(opLevelCodes)) {
+ type = 6;
+ opLevelCodeList = new ArrayList<>(Arrays.asList(opLevelCodes.split(",")));
+ }
+ //闈炴墜鏈鐞嗘柟寮�
+ if (type != 6) {
+ PatMedInhosp patMedInhospVo = new PatMedInhosp();
+ patMedInhospVo.setScheduleCheckFlag("0");
+ patMedInhospVo.setInhospstate("1");
+ patMedInhospVo.setFuflag("1");
+// patMedInhospVo.setDeptcodeList(deptCodeList);
+ patMedInhospVo.setLeaveldeptcodes(deptCodeList);
+ patMedInhospVo.setLeavehospitaldistrictcodes(wardCodeList);
+ patMedInhospVo.setIcd10codeList(icd10CodeList);
+ List<PatMedInhosp> patList = inhospVisitFacade.selectPatMedInhospList(patMedInhospVo);
+ log.info("dealOutHospInfoBySchedule 浠诲姟缁勯殢璁�, taskid = {}, 鎵弿鎮h�呬汉鏁� {}", serviceTask.getTaskid(), patList.size());
+
+ for (PatMedInhosp patMedInhosp : patList) {
+ ServiceTaskScheduleDetail scheduleDetailVo = new ServiceTaskScheduleDetail();
+ scheduleDetailVo.setTaskid(serviceTask.getTaskid());
+ scheduleDetailVo.setScheduleid(serviceTaskSchedule.getId());
+ List<ServiceTaskScheduleDetail> serviceTaskScheduleDetails = serviceTaskScheduleDetailMapper.selectServiceTaskScheduleDetailList(scheduleDetailVo);
+
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
+ if (Objects.isNull(patArchive)) {
+ continue;
+ }
+ //灏佽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) {
+ log.error("浠诲姟缁刾reachformDesc瑙f瀽澶辫触,taskid={},inhospid={}", serviceTask.getTaskid(), patMedInhosp.getInhospid());
+ }
+ }
+ scheduleSubtaskBuilder.buildSubtasksForPatient(serviceTask, serviceTaskSchedule, serviceTaskScheduleDetails, serviceSubtask, preachformList);
+ //缃杞撼鍏ユ爣璁帮紝閬垮厤涓嬫鎵弿閲嶅鐢熸垚锛堝悗缁疆娆$敱 rollTaskGroupCycle 璐熻矗锛�
+ PatMedInhosp flagUpd = new PatMedInhosp();
+ flagUpd.setInhospid(patMedInhosp.getInhospid());
+ flagUpd.setScheduleCheckFlag("1");
+ inhospVisitFacade.updatePatMedInhosp(flagUpd);
+ }
+ } else {
+ //浠诲姟缁� - 鎵嬫湳闅忚
+ if (CollectionUtils.isNotEmpty(opLevelCodeList)) {
+ PatMedOperationItem pmoi = new PatMedOperationItem();
+ //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
+ pmoi.setOpercheckFlag("0");
+ pmoi.setMainFlag("1");
+ pmoi.setDeptCodes(deptCodeList);
+ pmoi.setWardCodes(wardCodeList);
+ pmoi.setOpLevelCodes(opLevelCodeList);
+
+ //姣忔鏌ヨ鍙煡鏈�澶х殑鎵嬫湳绛夌骇璁板綍
+ List<PatMedOperationItem> patMedOperationItems = otherVisitFacade.selectOperationItemListMaxLevel(pmoi);
+ for (PatMedOperationItem patMedOperationItem : patMedOperationItems) {
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperationItem.getPatid());
+ if (Objects.isNull(patArchive)) {
+ continue;
+ }
+ PatMedInhosp patMedInhospVo = new PatMedInhosp();
+ patMedInhospVo.setPatid((patMedOperationItem.getPatid()));
+ patMedInhospVo.setScheduleCheckFlag("0");
+ patMedInhospVo.setInhospstate("1");
+ patMedInhospVo.setFuflag("1");
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhospVo);
+ if (CollectionUtils.isNotEmpty(patMedInhospList)) {
+ ServiceTaskScheduleDetail scheduleDetailVo = new ServiceTaskScheduleDetail();
+ scheduleDetailVo.setTaskid(serviceTask.getTaskid());
+ scheduleDetailVo.setScheduleid(serviceTaskSchedule.getId());
+ List<ServiceTaskScheduleDetail> serviceTaskScheduleDetails = serviceTaskScheduleDetailMapper.selectServiceTaskScheduleDetailList(scheduleDetailVo);
+ //灏佽serviceSubtask
+ ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperationItem, patArchive, config);
+ 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) {
+ log.error("浠诲姟缁�(鎵嬫湳)preachformDesc瑙f瀽澶辫触,taskid={}", serviceTask.getTaskid());
+ }
+ }
+ scheduleSubtaskBuilder.buildSubtasksForPatient(serviceTask, serviceTaskSchedule, serviceTaskScheduleDetails, serviceSubtask, preachformList);
+ //缃杞撼鍏ユ爣璁帮紝閬垮厤閲嶅鐢熸垚
+ PatMedInhosp flagUpd = new PatMedInhosp();
+ flagUpd.setInhospid(patMedInhospList.get(0).getInhospid());
+ flagUpd.setScheduleCheckFlag("1");
+ inhospVisitFacade.updatePatMedInhosp(flagUpd);
+ }
+ }
+ }
+ }
+ }
+ }
}
}
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();
}
@@ -479,9 +646,9 @@
@Override
public List<PatMedInhosp> getDocAndPat(PatMedInhosp patMedInhosp) {
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
if (StringUtils.isNotEmpty(patMedInhosp.getPatname()) || StringUtils.isNotEmpty(patMedInhosp.getNurseName()) || StringUtils.isNotEmpty(patMedInhosp.getDrname())) {
@@ -526,7 +693,7 @@
* @param check 鏄惁闇�瑕佹牎楠�
* @param patMedInhosp1 鐥呬汉鍑哄叆闄俊鎭�
* @param patArchive 鐥呬汉淇℃伅
- * @param type 闅忚绫诲瀷(1-绉戝锛�2-鐥呭尯锛�3-鐤剧梾 4-鍏ラ櫌绉戝 5-鍏ラ櫌鐥呭尯)
+ * @param type 闅忚绫诲瀷(0-瀹f暀锛�1-绉戝锛�2-鐥呭尯锛�3-鐤剧梾 4-鍏ラ櫌绉戝 5-鍏ラ櫌鐥呭尯)
* @param config 閰嶇疆淇℃伅 visit.early.day
*/
//灏嗘偅鑰呮斁鍒皊ubtask涓�
@@ -540,31 +707,38 @@
List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st);
ServiceTask serviceTask = null;
if (CollectionUtils.isEmpty(serviceTasks)) {
+ if (type == 0) {
+ log.info("璇ユ偅鑰呰嵂鍝佸鏁欓暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
+ patMedInhosp1.setMedcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呰嵂鍝佸鏁欓暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
+ return;
+ }
if (type == 1) {
log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
return;
} else if (type == 2) {
patMedInhosp1.setWardcheckFlag("2");
patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
return;
} else if (type == 3) {
patMedInhosp1.setDiagcheckFlag("2");
patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
return;
} else if (type == 4) {
patMedInhosp1.setInDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭叆闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
return;
} else if (type == 5) {
patMedInhosp1.setInWardcheckFlag("2");
patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭叆闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
return;
}
} else {
@@ -639,7 +813,7 @@
//鍐嶅叆闄㈤�昏緫
//鏅畞 鍑洪櫌棣栨锛�7澶╋級闅忚涓�瀹氳鍋�
boolean firstVisit = false;
- if (orgId.equals("47255004333112711A1001") && serviceSubtask1.getVisitCount() != null && serviceSubtask1.getVisitCount() == 1) {
+ if (orgId.equals("47255004333112711A1001")) {
firstVisit = true;
}
if (!firstVisit) {
@@ -702,6 +876,7 @@
//璇存槑璇ユ偅鑰呮槸琚繃婊ょ殑锛屼笉鐢ㄥ啀鎵ц浜�
serviceSubtask.setCreateBy(serviceTask.getCreateBy());
serviceSubtask.setCreateTime(new Date());
+ serviceSubtask.setSendstate(4L);
i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
} else {
if (StringUtils.isEmpty(serviceSubtask.getPhone())) {
@@ -717,7 +892,7 @@
addServiceSubtaskPreachform(serviceSubtask, null);
}
- //灏哻heck_flag鏀规垚1锛堝凡澶勭悊锛�
+ //灏� check_flag 鏀规垚 1锛堝凡澶勭悊锛�
if (i == 1) {
PatMedInhosp patMedInhosp2 = new PatMedInhosp();
patMedInhosp2.setInhospid(patMedInhosp1.getInhospid());
@@ -726,7 +901,7 @@
if (type == 3) patMedInhosp2.setDiagcheckFlag("1");
if (type == 4) patMedInhosp2.setInDeptcheckFlag("1");
if (type == 5) patMedInhosp2.setInWardcheckFlag("1");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp2);
} else {
//鐢熸垚瀛愪换鍔″け璐ワ紝
log.info("鐢熸垚瀛愪换鍔″け璐erviceSubtask鐨則askid涓猴細{},patid涓猴細{}", serviceSubtask.getTaskid(), serviceSubtask.getPatid());
@@ -738,7 +913,7 @@
if (type == 4) patMedInhosp2.setInDeptcheckFlag("2");
if (type == 5) patMedInhosp2.setInWardcheckFlag("2");
patMedInhosp2.setRemark("鐢熸垚瀛愪换鍔″け璐� " + type);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp2);
}
} catch (Exception e) {
//鍑洪敊鍥炴粴浜嬪姟
@@ -748,8 +923,9 @@
if (type == 1) patMedInhosp2.setDeptcheckFlag("2");
if (type == 2) patMedInhosp2.setWardcheckFlag("2");
if (type == 3) patMedInhosp2.setDiagcheckFlag("2");
+ if (type == 0) patMedInhosp2.setMedcheckFlag("2");
patMedInhosp2.setRemark("鐢熸垚瀛愪换鍔℃姤閿欏洖婊� " + type);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp2);
e.printStackTrace();
}
}
@@ -775,43 +951,48 @@
if (CollectionUtils.isEmpty(serviceTasks)) {
log.info("璇ユ墜鏈搴旀墜鏈瓑绾х殑闀挎湡浠诲姟涓嶅瓨鍦�,浠诲姟ID涓猴細{}", taskid);
patMedOperationItem.setOpercheckFlag("2");
- patMedOperationItem.setLongTaskReason(longTaskReason + " & 璇ユ墜鏈搴旀墜鏈瓑绾х殑闀挎湡浠诲姟涓嶅瓨鍦�,浠诲姟ID涓�:" + taskid);
- patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem);
+ patMedOperationItem.setLongTaskReason(" & 璇ユ墜鏈搴旀墜鏈瓑绾х殑闀挎湡浠诲姟涓嶅瓨鍦�,浠诲姟ID涓�:" + taskid +";");
+ otherVisitFacade.updateOperationItem(patMedOperationItem);
return;
} else {
serviceTask = serviceTasks.get(0);
}
- if (Objects.isNull(patMedOperationItem.getOpid())) {
- return;
- }
if (Objects.isNull(patMedOperationItem.getOplevelcode())) {
return;
}
- PatMedOperation patMedOperation = patMedOperationMapper.selectPatMedOperationById(patMedOperationItem.getOpid());
- if (Objects.isNull(patMedOperation)) {
+ if (Objects.isNull(patMedOperationItem.getPatid())) {
return;
}
- PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperation.getPatid());
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperationItem.getPatid());
if (Objects.isNull(patArchive)) {
return;
}
PatMedInhosp patMedInhosp = new PatMedInhosp();
- patMedInhosp.setPatid(patMedOperation.getPatid());
+ patMedInhosp.setPatid((patMedOperationItem.getPatid()));
patMedInhosp.setInhospstate("1");
patMedInhosp.setFuflag("1");
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ //鎵嬫湳闅忚
+ if(!active.equals("hzszlyy")){
+ patMedInhosp.setSerialnum(patMedOperationItem.getSerialnum());
+ }
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
if (CollectionUtils.isEmpty(patMedInhospList)) {
return;
}
//灏佽serviceSubtask
- ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperation, patMedOperationItem, patArchive, config);
- if (ObjectUtils.isEmpty(serviceSubtask)) {
+ ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperationItem, patArchive, config);
+ if (ObjectUtils.isEmpty(serviceSubtask) || Objects.isNull(serviceSubtask.getTaskid())) {
return;
}
- serviceSubtask.setVisitDeptCode(patMedOperation.getReqdeptcode());
- serviceSubtask.setVisitDeptName(patMedOperation.getReqdeptname());
+ if (StringUtils.isNotEmpty(patMedOperationItem.getLeaveldeptcode())) {
+ serviceSubtask.setVisitDeptCode(patMedOperationItem.getLeaveldeptcode());
+ serviceSubtask.setVisitDeptName(patMedOperationItem.getLeaveldeptname());
+ } else {
+ serviceSubtask.setVisitDeptCode(patMedOperationItem.getLeavehospitaldistrictcode());
+ serviceSubtask.setVisitDeptName(patMedOperationItem.getLeavehospitaldistrictname());
+ }
//璁板綍insertServiceSubtask璇彞杩斿洖鐘舵��
Integer i = 0;
try {
@@ -848,6 +1029,7 @@
//璇存槑璇ユ偅鑰呮槸琚繃婊ょ殑锛屼笉鐢ㄥ啀鎵ц浜�
serviceSubtask.setCreateBy(serviceTask.getCreateBy());
serviceSubtask.setCreateTime(new Date());
+ serviceSubtask.setSendstate(4L);
i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
} else {
if (StringUtils.isEmpty(serviceSubtask.getPhone())) {
@@ -868,25 +1050,28 @@
PatMedOperationItem patMedOperationItem2 = new PatMedOperationItem();
patMedOperationItem2.setId(patMedOperationItem.getId());
patMedOperationItem2.setOpercheckFlag("1");
- patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem2);
+ otherVisitFacade.updateOperationItem(patMedOperationItem2);
} else {
//鐢熸垚瀛愪换鍔″け璐ワ紝
log.info("鐢熸垚瀛愪换鍔″け璐erviceSubtask鐨則askid涓猴細{},patid涓猴細{}", serviceSubtask.getTaskid(), serviceSubtask.getPatid());
PatMedOperationItem patMedOperationItem2 = new PatMedOperationItem();
patMedOperationItem2.setId(patMedOperationItem.getId());
patMedOperationItem2.setOpercheckFlag("2");
- patMedOperationItem2.setRemark("鐢熸垚瀛愪换鍔″け璐� 4");
- patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem2);
+ patMedOperationItem2.setLongTaskReason("鐢熸垚瀛愪换鍔″け璐� 4;");
+ patMedOperationItem2.setUpdateTime(new Date());
+ otherVisitFacade.updateOperationItem(patMedOperationItem2);
}
} catch (Exception e) {
//鍑洪敊鍥炴粴浜嬪姟
- log.info("鐢熸垚瀛愪换鍔℃姤閿欏洖婊歴serviceSubtask鐨則askid涓猴細{},patid涓猴細{}", serviceSubtask.getTaskid(), serviceSubtask.getPatid());
+ log.error("鐢熸垚瀛愪换鍔℃姤閿欏洖婊歴serviceSubtask鐨則askid涓猴細{},patid涓猴細{},鎵嬫湳璇︽儏ID涓猴細{}",
+ serviceSubtask.getTaskid(), serviceSubtask.getPatid(), patMedOperationItem.getId(), e);
PatMedOperationItem patMedOperationItem2 = new PatMedOperationItem();
patMedOperationItem2.setId(patMedOperationItem.getId());
patMedOperationItem2.setOpercheckFlag("2");
- patMedOperationItem2.setRemark("鐢熸垚瀛愪换鍔℃姤閿欏洖婊� 4");
- patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem2);
+ patMedOperationItem2.setUpdateTime(new Date());
+ patMedOperationItem2.setLongTaskReason("鐢熸垚瀛愪换鍔℃姤閿欏洖婊� 4;");
+ otherVisitFacade.updateOperationItem(patMedOperationItem2);
e.printStackTrace();
}
}
@@ -894,6 +1079,10 @@
private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
//灏唒reachformDesc鐨刯son瀵硅薄锛屾斁鍒發ist闆嗗悎涓�
ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+ if (Objects.isNull(serviceTask)) {
+ log.error("addServiceSubtaskPreachform taskid={} 鏌ヤ笉鍒颁换鍔★紝璺宠繃preachform瀛愯〃鐢熸垚", serviceSubtask.getTaskid());
+ return 0;
+ }
String preachformDesc = serviceTask.getPreachformDesc();
ObjectMapper objectMapper = new ObjectMapper();
@@ -904,6 +1093,11 @@
});
} catch (JsonProcessingException e) {
log.error("preachform杞琇ist<ServiceSubtaskPreachform>鎶ラ敊浜嗭細{}", e.getMessage());
+ }
+ if (CollectionUtils.isEmpty(serviceSubtaskPreachformList)) {
+ log.error("preachformDesc瑙f瀽鍚庝负绌猴紝璺宠繃preachform瀛愯〃鐢熸垚锛宼askid涓猴細{}锛宲reachformDesc涓猴細{}",
+ serviceSubtask.getTaskid(), preachformDesc);
+ return 0;
}
for (ServiceSubtaskPreachform serviceSubtaskPreachform : serviceSubtaskPreachformList) {
serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
@@ -928,13 +1122,16 @@
//灏佽serviceSubtask
- private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config, Integer type) {
+ @Override
+ public ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config, Integer type) {
//澧炲姞serviceTask鍒ょ┖
// if(Objects.isNull(serviceTask)){
// return null;
// }
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());
@@ -954,7 +1151,8 @@
serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getHospitaldistrictname());
}
serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code());
- serviceSubtask.setLeavediagname(patMedInhosp1.getDiagname());
+ serviceSubtask.setLeavediagname(patMedInhosp1.getLeavediagname());
+ serviceSubtask.setDiagname(patMedInhosp1.getDiagname());
serviceSubtask.setTemplateid(serviceTask.getTemplateid());
serviceSubtask.setTemplatename(serviceTask.getTemplatename());
serviceSubtask.setPatid(patArchive.getId());
@@ -965,6 +1163,7 @@
serviceSubtask.setSex(patArchive.getSex());
serviceSubtask.setAge(patArchive.getAge());
serviceSubtask.setSendstate(2L);
+ serviceSubtask.setCampusid(patMedInhosp1.getCampusid());
serviceSubtask.setManagementDoctor(patMedInhosp1.getManagementDoctor());
serviceSubtask.setManagementDoctorCode(patMedInhosp1.getManagementDoctorCode());
serviceSubtask.setStarttime(patMedInhosp1.getStarttime());
@@ -992,7 +1191,7 @@
if (type != 4 && type != 5) {
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 璇ユ偅鑰呯柧鐥呭嚭闄㈡椂闂翠负绌�,鍑洪櫌璁板綍ID涓�:" + patMedInhosp1.getInhospid());
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
//濡傛灉鍑洪櫌鏃堕棿涓虹┖锛屽垯杩斿洖涓�涓柊瀵硅薄
return new ServiceSubtask();
}
@@ -1020,6 +1219,13 @@
}
}
+ //濡傛灉鎮h�呯殑鍏ラ櫌鍜屽嚭闄㈡椂闂翠竴鑷达紝鍙互涓嶇敤闅忚锛堝崡鍗庨檮涓�鑲跨槫涓�鐥呭尯鎻愬嚭锛�
+ if (active.equals("nhfy") && patMedInhosp1.getStarttime() != null && patMedInhosp1.getEndtime() != null && DateUtils.differentDaysByMillisecond(patMedInhosp1.getStarttime(), patMedInhosp1.getEndtime()) == 0) {
+ serviceSubtask.setRemark("鎮h�呭綋澶╁嚭闄紝涓嶇敤闅忚");
+ serviceSubtask.setResult("error");
+ //涓嶆墽琛�
+ serviceSubtask.setSendstate(4L);
+ }
//鎮h�呭彂閫佹椂闂�
if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
@@ -1034,18 +1240,22 @@
}
//灏佽serviceSubtask
- private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatMedOperation patMedOperation, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) {
+ 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(patMedOperation.getNurseId());
- serviceSubtask.setNurseName(patMedOperation.getNurseName());
-// serviceSubtask.setInhospid(patMedInhosp.getInhospid());
- serviceSubtask.setDrcode(patMedOperation.getDrcode());
- serviceSubtask.setDrname(patMedOperation.getDrname());
- serviceSubtask.setDeptcode(patMedOperation.getDeptcode());
- serviceSubtask.setDeptname(patMedOperation.getDeptname());
+ serviceSubtask.setNurseId(patMedInhosp1.getNurseId());
+ serviceSubtask.setNurseName(patMedInhosp1.getNurseName());
+ serviceSubtask.setInhospid(patMedInhosp1.getInhospid());
+ serviceSubtask.setDrcode(patMedInhosp1.getDrcode());
+ serviceSubtask.setDrname(patMedInhosp1.getDrname());
+ serviceSubtask.setDeptcode(patMedInhosp1.getLeaveldeptcode());
+ serviceSubtask.setDeptname(patMedInhosp1.getLeaveldeptname());
+ serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getLeavehospitaldistrictcode());
+ serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname());
serviceSubtask.setTemplateid(serviceTask.getTemplateid());
serviceSubtask.setTemplatename(serviceTask.getTemplatename());
@@ -1057,35 +1267,36 @@
serviceSubtask.setSex(patArchive.getSex());
serviceSubtask.setAge(patArchive.getAge());
serviceSubtask.setSendstate(2L);
- serviceSubtask.setManagementDoctor(patMedOperation.getDrname());
- serviceSubtask.setManagementDoctorCode(patMedOperation.getDrcode());
-// serviceSubtask.setStarttime(patMedInhosp.getStarttime());
-// serviceSubtask.setEndtime(patMedInhosp.getEndtime());
+ serviceSubtask.setManagementDoctor(patMedInhosp1.getDrname());
+ serviceSubtask.setManagementDoctorCode(patMedInhosp1.getDrcode());
+
+ serviceSubtask.setStarttime(patMedInhosp1.getStarttime());
+ serviceSubtask.setEndtime(patMedInhosp1.getEndtime());
serviceSubtask.setServiceType(serviceTask.getServiceType());
serviceSubtask.setPreachform(serviceTask.getPreachform());
serviceSubtask.setHospType("2");
serviceSubtask.setCreateTime(new Date());
serviceSubtask.setUpdateTime(new Date());
- serviceSubtask.setCreateBy(patMedOperation.getNurseName());
-// serviceSubtask.setLeavehospitaldistrictcode(patArchive.getLeavehospitaldistrictcode());
-// serviceSubtask.setLeavehospitaldistrictname(patArchive.getLeavehospitaldistrictname());
+ serviceSubtask.setCreateBy(patMedInhosp1.getNurseName());
serviceSubtask.setOperationItemId(patMedOperationItem.getId());
serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
serviceSubtask.setUpdateTime(new Date());
- //todo
//璁剧疆鍙戦�佹椂闂�
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);
+ patMedOperationItem.setOpercheckFlag("2");
+ patMedOperationItem.setLongTaskReason("璇ユ偅鑰呮墜鏈嚭闄㈡椂闂翠负绌�,鎵嬫湳璇︽儏ID涓�:" + patMedOperationItem.getId() + ";");
+ otherVisitFacade.updateOperationItem(patMedOperationItem);
+// patMedInhosp1.setDeptcheckFlag("2");
+// patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 璇ユ偅鑰呮墜鏈嚭闄㈡椂闂翠负绌�,鍑洪櫌璁板綍ID涓�:" + patMedInhosp1.getInhospid());
+// inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
//濡傛灉鍑洪櫌鏃堕棿涓虹┖锛屽垯杩斿洖涓�涓柊瀵硅薄
- return new ServiceSubtask();
+ return null;
}
serviceSubtask.setLongSendTime(newDate);
serviceSubtask.setVisitTime(newDate);
@@ -1142,7 +1353,7 @@
}
//鏅畞 鍑洪櫌棣栨锛�7澶╋級闅忚涓�瀹氳鍋�
boolean firstVisit = false;
- if (serviceSubtask1.getOrgid().equals("47255004333112711A1001") && serviceSubtask1.getVisitCount() != null && serviceSubtask1.getVisitCount() == 1) {
+ if (serviceSubtask1.getOrgid().equals("47255004333112711A1001")) {
firstVisit = true;
}
if (!firstVisit) {
@@ -1165,14 +1376,19 @@
}
}
- private void addOperationSubTask(String config) {
+ @Override
+ public void addOperationSubTask(String config) {
// 鎵嬫湳闅忚
PatMedOperationItem pmoi = new PatMedOperationItem();
- //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
+ //鑾峰彇闇�瑕佸嚭闄㈡墜鏈殢璁匡紝鏈鐞嗙殑鏁版嵁
+ if(!active.equals("hzszlyy")){
+ pmoi.setInhospstate("1");
+ }
pmoi.setOpercheckFlag("0");
pmoi.setMainFlag("1");
- List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectPatMedOperationItemList(pmoi);
+ //姣忔鏌ヨ鍙煡鏈�澶х殑鎵嬫湳绛夌骇璁板綍
+ List<PatMedOperationItem> patMedOperationItems = otherVisitFacade.selectOperationItemListMaxLevel(pmoi);
log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鎵嬫湳鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedOperationItems) ? patMedOperationItems.size() : null);
for (PatMedOperationItem opItem : patMedOperationItems) {
@@ -1182,30 +1398,51 @@
continue;
}
// 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔�
- ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
- serviceTaskoper.setLongtask(1L);
- serviceTaskoper.setOrgid(opItem.getOrgid());
- serviceTaskoper.setOplevelcode(opItem.getOplevelcode());
+ List<ServiceTaskoper> serviceTaskopersDept = new ArrayList<>();
+ if(StringUtils.isNotEmpty(opItem.getLeaveldeptcode())){
+ ServiceTaskoper serviceTaskoper1 = new ServiceTaskoper();
+ serviceTaskoper1.setLongtask(1L);
+ serviceTaskoper1.setOrgid(opItem.getOrgid());
+ serviceTaskoper1.setOplevelcode(opItem.getOplevelcode());
+ serviceTaskoper1.setDeptCode(opItem.getLeaveldeptcode());
+ serviceTaskopersDept = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper1);
+ }
- List<ServiceTaskoper> serviceTaskopers = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper);
+
+ List<ServiceTaskoper> serviceTaskopersWard = new ArrayList<>();
+ if(StringUtils.isNotEmpty(opItem.getLeavehospitaldistrictcode())){
+ ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
+ serviceTaskoper2.setLongtask(1L);
+ serviceTaskoper2.setOrgid(opItem.getOrgid());
+ serviceTaskoper2.setOplevelcode(opItem.getOplevelcode());
+ serviceTaskoper2.setWardCode(opItem.getLeavehospitaldistrictcode());
+ serviceTaskopersWard = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper2);
+ }
+
+
+ List<ServiceTaskoper> serviceTaskopers = new ArrayList<>();
+ serviceTaskopers.addAll(serviceTaskopersDept);
+ serviceTaskopers.addAll(serviceTaskopersWard);
//濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
if (CollectionUtils.isEmpty(serviceTaskopers) || serviceTaskopers.size() == 0) {
- PatMedOperationItem patMedOperationItem = patMedOperationItemMapper.selectPatMedOperationItemById(opItem.getId());
+ PatMedOperationItem patMedOperationItem = otherVisitFacade.selectOperationItemById(opItem.getId());
patMedOperationItem.setOpercheckFlag("2");
- patMedOperationItem.setLongTaskReason(patMedOperationItem.getLongTaskReason() + "鎵�鎮g殑鎵嬫湳鏈厤缃暱鏈熶换鍔�;");
- patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem);
+ patMedOperationItem.setLongTaskReason("鎵�鎮g殑鎵嬫湳鏈厤缃暱鏈熶换鍔�;");
+ patMedOperationItem.setUpdateTime(new Date());
+ otherVisitFacade.updateOperationItem(patMedOperationItem);
} else {
- for (ServiceTaskoper serviceTaskoper1 : serviceTaskopers) {
- writeInSubTaskForOp(serviceTaskoper1.getTaskId(), true, opItem, config);
+ for (ServiceTaskoper serviceTaskoper : serviceTaskopers) {
+ writeInSubTaskForOp(serviceTaskoper.getTaskId(), true, opItem, config);
}
}
} catch (Exception e) {
e.printStackTrace();
log.error("浜哄憳鎵嬫湳澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
+ opItem.setUpdateTime(new Date());
opItem.setOpercheckFlag("2");
- opItem.setLongTaskReason("浜哄憳鎵嬫湳澶勭悊寮傚父锛�" + e.getMessage());
- patMedOperationItemMapper.updatePatMedOperationItem(opItem);
+ opItem.setLongTaskReason("浜哄憳鎵嬫湳澶勭悊寮傚父");
+ otherVisitFacade.updateOperationItem(opItem);
}
}
}
@@ -1216,10 +1453,10 @@
pmjb.setDiagcheckFlag("0");
pmjb.setInhospstate("1");
pmjb.setFuflag("1");
- List<PatMedInhosp> patMedInhospJBs = patMedInhospMapper.selectPatMedInhospList(pmjb);
+ List<PatMedInhosp> patMedInhospJBs = inhospVisitFacade.selectPatMedInhospList(pmjb);
log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐤剧梾鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospJBs) ? patMedInhospJBs.size() : null);
for (PatMedInhosp patMedInhosp1 : patMedInhospJBs) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
@@ -1229,7 +1466,7 @@
if (Objects.isNull(patArchive)) {
pmiJB.setDiagcheckFlag("2");
pmiJB.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(pmiJB);
+ inhospVisitFacade.updatePatMedInhosp(pmiJB);
continue;
}
try {
@@ -1240,7 +1477,7 @@
// 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔�
ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
serviceTaskdiag.setLongtask(1L);
- serviceTaskdiag.setServiceType("2");
+// serviceTaskdiag.setServiceType("2");
if (active.equals("nhfy")) {
//鍗楀崕闄勪竴鐨刬cd10code鏈夐噸澶嶏紝鎵�浠ョ敤涓昏瘖鏂悕绉板幓鏌ヨ
serviceTaskdiag.setIcd10name(pmiJB.getLeavediagname());
@@ -1258,16 +1495,16 @@
//濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
if (StringUtils.isNotEmpty(errorIcd)) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(pmiJB.getInhospid());
pmiJB.setDiagcheckFlag("2");
pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
- patMedInhospMapper.updatePatMedInhosp(pmiJB);
+ inhospVisitFacade.updatePatMedInhosp(pmiJB);
} else if (CollectionUtils.isEmpty(serviceTaskdiags)) {
errorIcd = "璇ユ偅鑰呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟;";
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(pmiJB.getInhospid());
pmiJB.setDiagcheckFlag("2");
pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
- patMedInhospMapper.updatePatMedInhosp(pmiJB);
+ inhospVisitFacade.updatePatMedInhosp(pmiJB);
} else {
int flag = 0;
for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
@@ -1283,10 +1520,10 @@
if (flag == 0) {
log.error("璇ョ瀹ゆ垨鐥呭尯瀵逛簬鎮h�呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟,鎮h�咃細{}", pmiJB.getInhospid());
errorIcd = "璇ョ瀹ゆ垨鐥呭尯瀵逛簬鎮h�呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟;";
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(pmiJB.getInhospid());
pmiJB.setDiagcheckFlag("2");
pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
- patMedInhospMapper.updatePatMedInhosp(pmiJB);
+ inhospVisitFacade.updatePatMedInhosp(pmiJB);
}
}
@@ -1295,8 +1532,8 @@
e.printStackTrace();
log.error("浜哄憳鐤剧梾澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
pmiJB.setDiagcheckFlag("2");
- pmiJB.setLongTaskReason("浜哄憳鐤剧梾澶勭悊寮傚父锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(pmiJB);
+ pmiJB.setLongTaskReason("浜哄憳鐤剧梾澶勭悊寮傚父");
+ inhospVisitFacade.updatePatMedInhosp(pmiJB);
}
}
}
@@ -1307,10 +1544,10 @@
pmbq.setWardcheckFlag("0");
pmbq.setInhospstate("1");
pmbq.setFuflag("1");
- List<PatMedInhosp> patMedInhospBQs = patMedInhospMapper.selectPatMedInhospList(pmbq);
+ List<PatMedInhosp> patMedInhospBQs = inhospVisitFacade.selectPatMedInhospList(pmbq);
log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐥呭尯鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospBQs) ? patMedInhospBQs.size() : null);
for (PatMedInhosp patMedInhosp1 : patMedInhospBQs) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
@@ -1319,7 +1556,7 @@
if ("1".equals(pmiBQ1.getLeavehospitaldistrictcode()) && pmiBQ1.getDiagcheckFlag().equals("1")) {
pmiBQ1.setWardcheckFlag("2");
pmiBQ1.setLongTaskReason("鏍规嵁浜ゅ弶鐢熸垚闅忚浠诲姟瑙勫垯锛岀梾鍖轰换鍔″彲浠ヤ笉鐢ㄧ敓鎴�");
- patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+ inhospVisitFacade.updatePatMedInhosp(pmiBQ1);
continue;
}
@@ -1328,7 +1565,7 @@
if (Objects.isNull(patArchive)) {
pmiBQ1.setWardcheckFlag("2");
pmiBQ1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+ inhospVisitFacade.updatePatMedInhosp(pmiBQ1);
continue;
}
try {
@@ -1350,10 +1587,10 @@
}
//濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
if (StringUtils.isNotEmpty(errorreason)) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiBQ1.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(pmiBQ1.getInhospid());
pmiBQ1.setWardcheckFlag("2");
pmiBQ1.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorreason : errorreason);
- patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+ inhospVisitFacade.updatePatMedInhosp(pmiBQ1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiBQ1, patArchive, 2, config);
@@ -1364,8 +1601,8 @@
e.printStackTrace();
log.error("浜哄憳鐥呭尯澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
pmiBQ1.setWardcheckFlag("2");
- pmiBQ1.setLongTaskReason("浜哄憳鐥呭尯澶勭悊寮傚父锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+ pmiBQ1.setLongTaskReason("浜哄憳鐥呭尯澶勭悊寮傚父");
+ inhospVisitFacade.updatePatMedInhosp(pmiBQ1);
}
}
}
@@ -1376,10 +1613,10 @@
pmks.setDeptcheckFlag("0");
pmks.setInhospstate("1");
pmks.setFuflag("1");
- List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks);
+ List<PatMedInhosp> patMedInhosps = inhospVisitFacade.selectPatMedInhospList(pmks);
log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌閮ㄩ棬鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhosps) ? patMedInhosps.size() : null);
for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
@@ -1388,7 +1625,7 @@
if ("1".equals(patMedInhosp1.getLeavehospitaldistrictcode()) && patMedInhosp1.getDiagcheckFlag().equals("1")) {
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("鏍规嵁浜ゅ弶鐢熸垚闅忚浠诲姟瑙勫垯锛岄儴闂ㄤ换鍔″彲浠ヤ笉鐢ㄧ敓鎴�");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
continue;
}
//鑾峰彇鎮h�呬俊鎭�
@@ -1396,7 +1633,7 @@
if (Objects.isNull(patArchive)) {
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
continue;
}
try {
@@ -1410,10 +1647,10 @@
List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
//濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆绂婚櫌闀挎湡浠诲姟;");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1, config);
@@ -1424,8 +1661,8 @@
e.printStackTrace();
log.error("浜哄憳绉戝澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
patMedInhosp1.setDeptcheckFlag("2");
- patMedInhosp1.setLongTaskReason("浜哄憳绉戝澶勭悊寮傚父锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ patMedInhosp1.setLongTaskReason("浜哄憳绉戝澶勭悊寮傚父");
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
}
}
@@ -1461,7 +1698,7 @@
if (StringUtils.isNotEmpty(remark)) {
updateObj.setRemark(remark + " (type=" + type + ")");
}
- patMedInhospMapper.updatePatMedInhosp(updateObj);
+ inhospVisitFacade.updatePatMedInhosp(updateObj);
}
/**
@@ -1469,22 +1706,14 @@
* 鏍规嵁鎮h�呯闄㈢瀹ゆ垨鐥呭尯鏌ヨservice_task_rule锛岃幏鍙杁eptRule銆亀radRule銆乨iagRule
* 鏍规嵁瑙勫垯鍊煎喅瀹氳皟鐢ㄥ摢涓柟娉曠敓鎴愰殢璁夸换鍔�
*/
- private void addSubTaskByRule(String config) {
- // 鑾峰彇鎵�鏈夐渶瑕佸鐞嗙殑鍑洪櫌鎮h�咃紙绉戝缁村害鏈鐞嗭級
- PatMedInhosp pmks = new PatMedInhosp();
- pmks.setDeptcheckFlag("0");
- pmks.setInhospstate("1");
- pmks.setFuflag("1");
- List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks);
- log.info("銆愬熀浜庤鍒欍�戦渶瑕佸鐞嗙殑鍑洪櫌鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhosps) ? patMedInhosps.size() : null);
-
+ private void addSubTaskByRule(String config, List<PatMedInhosp> patMedInhosps) {
for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
// 鑾峰彇鎮h�呭熀鏈俊鎭�
PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
if (Objects.isNull(patArchive)) {
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
continue;
}
@@ -1549,52 +1778,52 @@
// 鈥斺�� 灏�=2鐨勬瑕佽鍒欏搴攆lag璁句负"2"锛堣烦杩囷級
log.info("銆愬熀浜庤鍒欍�戦瑕佽鍒欐湁鎴愬姛(count={})锛屽皢娆¤瑙勫垯瀵瑰簲flag璁句负2", primaryGeneratedCount);
if (deptIsSecondary) {
- updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark)?remark+";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃":"棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
+ updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark) ? remark + ";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃" : "棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
}
if (!active.equals("xh")) {
if (wardIsSecondary) {
- updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark)?remark+";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃":"棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
+ updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark) ? remark + ";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃" : "棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
}
if (diagIsSecondary) {
- updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark)?remark+";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃":"棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
+ updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark) ? remark + ";棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃" : "棣栬瑙勫垯宸茬敓鎴愶紝娆¤瑙勫垯璺宠繃");
}
}
// 鈥斺�� 瀵逛簬=1涓旂敓鎴愭垚鍔熺殑锛屽皢鍏跺搴攆lag璁句负"1"
if (deptIsPrimary && deptGenCount > 0) {
- updateCheckFlag(patMedInhosp1, 1, "1", StringUtils.isNotEmpty(remark)?remark+";绉戝棣栬瑙勫垯鐢熸垚鎴愬姛":"绉戝棣栬瑙勫垯鐢熸垚鎴愬姛");
+ updateCheckFlag(patMedInhosp1, 1, "1", StringUtils.isNotEmpty(remark) ? remark + ";绉戝棣栬瑙勫垯鐢熸垚鎴愬姛" : "绉戝棣栬瑙勫垯鐢熸垚鎴愬姛");
}
if (!active.equals("xh")) {
if (wardIsPrimary && wardGenCount > 0) {
- updateCheckFlag(patMedInhosp1, 2, "1", StringUtils.isNotEmpty(remark)?remark+";鐥呭尯棣栬瑙勫垯鐢熸垚鎴愬姛":"鐥呭尯棣栬瑙勫垯鐢熸垚鎴愬姛");
+ updateCheckFlag(patMedInhosp1, 2, "1", StringUtils.isNotEmpty(remark) ? remark + ";鐥呭尯棣栬瑙勫垯鐢熸垚鎴愬姛" : "鐥呭尯棣栬瑙勫垯鐢熸垚鎴愬姛");
}
if (diagIsPrimary && diagGenCount > 0) {
- updateCheckFlag(patMedInhosp1, 3, "1", StringUtils.isNotEmpty(remark)?remark+";鐤剧梾棣栬瑙勫垯鐢熸垚鎴愬姛":"鐤剧梾棣栬瑙勫垯鐢熸垚鎴愬姛");
+ updateCheckFlag(patMedInhosp1, 3, "1", StringUtils.isNotEmpty(remark) ? remark + ";鐤剧梾棣栬瑙勫垯鐢熸垚鎴愬姛" : "鐤剧梾棣栬瑙勫垯鐢熸垚鎴愬姛");
}
}
// 鈥斺�� 瀵逛簬=1浣嗙敓鎴愬け璐ョ殑锛屽皢鍏跺搴攆lag璁句负"2"
if (deptIsPrimary && deptGenCount == 0) {
- updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark)?remark+";绉戝棣栬瑙勫垯鐢熸垚澶辫触":"绉戝棣栬瑙勫垯鐢熸垚澶辫触");
+ updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark) ? remark + ";绉戝棣栬瑙勫垯鐢熸垚澶辫触" : "绉戝棣栬瑙勫垯鐢熸垚澶辫触");
}
if (!active.equals("xh")) {
if (wardIsPrimary && wardGenCount == 0) {
- updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark)?remark+";鐥呭尯棣栬瑙勫垯鐢熸垚澶辫触":"鐥呭尯棣栬瑙勫垯鐢熸垚澶辫触");
+ updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark) ? remark + ";鐥呭尯棣栬瑙勫垯鐢熸垚澶辫触" : "鐥呭尯棣栬瑙勫垯鐢熸垚澶辫触");
}
if (diagIsPrimary && diagGenCount == 0) {
- updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark)?remark+";鐤剧梾棣栬瑙勫垯鐢熸垚澶辫触":"鐤剧梾棣栬瑙勫垯鐢熸垚澶辫触");
+ updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark) ? remark + ";鐤剧梾棣栬瑙勫垯鐢熸垚澶辫触" : "鐤剧梾棣栬瑙勫垯鐢熸垚澶辫触");
}
}
} else {
// 鎵�鏈夐瑕佽鍒欏叏閮ㄥけ璐ワ紝灏�=1鐨刦lag璁句负"2"锛岀劧鍚庢墽琛�=2鐨勬柟娉�
log.info("銆愬熀浜庤鍒欍�戦瑕佽鍒欏叏閮ㄥけ璐ワ紝灏�=1鐨刦lag璁句负2锛屽紑濮嬫墽琛屾瑕佽鍒�");
if (deptIsPrimary) {
- updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark)?remark+";绉戝棣栬瑙勫垯鍏ㄩ儴澶辫触":"绉戝棣栬瑙勫垯鍏ㄩ儴澶辫触");
+ updateCheckFlag(patMedInhosp1, 1, "2", StringUtils.isNotEmpty(remark) ? remark + ";绉戝棣栬瑙勫垯鍏ㄩ儴澶辫触" : "绉戝棣栬瑙勫垯鍏ㄩ儴澶辫触");
}
if (!active.equals("xh")) {
if (wardIsPrimary) {
- updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark)?remark+";鐥呭尯棣栬瑙勫垯鍏ㄩ儴澶辫触":"鐥呭尯棣栬瑙勫垯鍏ㄩ儴澶辫触");
+ updateCheckFlag(patMedInhosp1, 2, "2", StringUtils.isNotEmpty(remark) ? remark + ";鐥呭尯棣栬瑙勫垯鍏ㄩ儴澶辫触" : "鐥呭尯棣栬瑙勫垯鍏ㄩ儴澶辫触");
}
if (diagIsPrimary) {
- updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark)?remark+";鐤剧梾棣栬瑙勫垯鍏ㄩ儴澶辫触":"鐤剧梾棣栬瑙勫垯鍏ㄩ儴澶辫触");
+ updateCheckFlag(patMedInhosp1, 3, "2", StringUtils.isNotEmpty(remark) ? remark + ";鐤剧梾棣栬瑙勫垯鍏ㄩ儴澶辫触" : "鐤剧梾棣栬瑙勫垯鍏ㄩ儴澶辫触");
}
}
// 鎵ц娆¤瑙勫垯(=2)鐨勬柟娉�
@@ -1629,8 +1858,8 @@
e.printStackTrace();
log.error("銆愬熀浜庤鍒欍�戞偅鑰厈}澶勭悊寮傚父锛歿}", patMedInhosp1.getInhospid(), e.getMessage());
patMedInhosp1.setDeptcheckFlag("2");
- patMedInhosp1.setLongTaskReason("鍩轰簬瑙勫垯澶勭悊寮傚父锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ patMedInhosp1.setLongTaskReason("鍩轰簬瑙勫垯澶勭悊寮傚父");
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
}
}
@@ -1653,12 +1882,12 @@
List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
if (CollectionUtils.isEmpty(serviceTaskdepts)) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setWardcheckFlag(patMedInhosp.getWardcheckFlag());
patMedInhosp1.setDiagcheckFlag(patMedInhosp.getDiagcheckFlag());
patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆绂婚櫌闀挎湡浠诲姟;");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1, config);
@@ -1669,8 +1898,8 @@
e.printStackTrace();
log.error("銆愮瀹や换鍔°�戞偅鑰厈}澶勭悊寮傚父锛歿}", patMedInhosp1.getInhospid(), e.getMessage());
patMedInhosp1.setDeptcheckFlag("2");
- patMedInhosp1.setLongTaskReason("绉戝浠诲姟澶勭悊寮傚父锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ patMedInhosp1.setLongTaskReason("绉戝浠诲姟澶勭悊寮傚父");
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
return generatedCount;
}
@@ -1701,12 +1930,12 @@
}
if (StringUtils.isNotEmpty(errorreason)) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
patMedInhosp1.setWardcheckFlag("2");
patMedInhosp1.setDeptcheckFlag(patMedInhosp.getDeptcheckFlag());
patMedInhosp1.setDiagcheckFlag(patMedInhosp.getDiagcheckFlag());
patMedInhosp1.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorreason : errorreason);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 2, config);
@@ -1717,8 +1946,8 @@
e.printStackTrace();
log.error("銆愮梾鍖轰换鍔°�戞偅鑰厈}澶勭悊寮傚父锛歿}", patMedInhosp1.getInhospid(), e.getMessage());
patMedInhosp1.setWardcheckFlag("2");
- patMedInhosp1.setLongTaskReason("鐥呭尯浠诲姟澶勭悊寮傚父锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ patMedInhosp1.setLongTaskReason("鐥呭尯浠诲姟澶勭悊寮傚父");
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
return generatedCount;
}
@@ -1737,14 +1966,14 @@
ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
serviceTaskdiag.setLongtask(1L);
- serviceTaskdiag.setServiceType("2");
+// serviceTaskdiag.setServiceType("2");
if (active.equals("nhfy")) {
serviceTaskdiag.setIcd10name(patMedInhosp1.getLeavediagname());
if (StringUtils.isEmpty(patMedInhosp1.getLeavediagname())) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
patMedInhosp1.setDiagcheckFlag("2");
patMedInhosp1.setLongTaskReason("璇ユ偅鑰呬富璇婃柇鍚嶇О涓虹┖;");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
return 0;
}
} else {
@@ -1754,10 +1983,10 @@
List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagListByIcdName(serviceTaskdiag);
if (CollectionUtils.isEmpty(serviceTaskdiags)) {
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
patMedInhosp.setDiagcheckFlag("2");
patMedInhosp.setLongTaskReason("璇ユ偅鑰呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟;");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp);
} else {
int flag = 0;
for (ServiceTaskdiag serviceTaskdiag1 : serviceTaskdiags) {
@@ -1773,21 +2002,63 @@
}
if (flag == 0) {
log.error("璇ョ瀹ゆ垨鐥呭尯瀵逛簬鎮h�呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟,鎮h�咃細{}", patMedInhosp1.getInhospid());
- PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+ PatMedInhosp patMedInhosp = inhospVisitFacade.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
patMedInhosp.setDiagcheckFlag("2");
patMedInhosp.setLongTaskReason("璇ョ瀹ゆ垨鐥呭尯瀵逛簬鎮h�呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟;");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp);
}
}
} catch (Exception e) {
e.printStackTrace();
log.error("銆愮柧鐥呬换鍔°�戞偅鑰厈}澶勭悊寮傚父锛歿}", patMedInhosp1.getInhospid(), e.getMessage());
patMedInhosp1.setDiagcheckFlag("2");
- patMedInhosp1.setLongTaskReason("鐤剧梾浠诲姟澶勭悊寮傚父锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ patMedInhosp1.setLongTaskReason("鐤剧梾浠诲姟澶勭悊寮傚父");
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
return generatedCount;
}
+ // ==========================================================================
+ // 鍑哄叆闄㈤殢璁挎ā鍧楀寲锛堢涓�鎵癸級鈥斺�� 3 涓繃娓℃湡鍏ュ彛锛堢函杞彂锛岄浂涓氬姟閫昏緫锛�
+ //
+ // 鈿狅笍 杩� 3 涓柟娉曟槸鍒绘剰鏂板鐨勶紝涓嶆槸璇姞锛�
+ // 瑙� IPatMedInhospService 閲屽悓鍚嶇殑鎺ュ彛澹版槑娉ㄩ噴锛屼互鍙�
+ // sql/_probe/verify_step16_service_restore.py 鐨� expected_added 鏂█銆�
+ // ==========================================================================
+
+ /**
+ * 銆愯繃娓℃湡鐢ㄣ�戞墜鏈殢璁挎壂鎻� 鈥斺�� 涓� {@link #addOperationSubTask(String)} 瀹屽叏绛変环銆�
+ * <p>
+ * 鈿狅笍 {@code addOperationSubTask} 鍘熷疄鐜拌繑鍥� {@code void}锛屾墍浠ヨ繖閲屾寜"澶勭悊浜� 1 杞�"杩斿洖 1锛�
+ * 浠呯敤浜庢棩蹇楋紱<b>璋冪敤鏂逛笉寰椾緷璧栬杩斿洖鍊肩殑涓氬姟鍚箟</b>銆�
+ */
+ @Override
+ public int runOperationVisit(String config) {
+ addOperationSubTask(config);
+ return 1;
+ }
+
+ /**
+ * 銆愯繃娓℃湡鐢ㄣ�戠瀹ょ淮搴︽湭澶勭悊鐨勫湪闄㈡偅鑰呫��
+ * <p>
+ * 鏉′欢涓庡師 {@code dealOutHospInfo} 绗竴娈垫煡璇㈤�愬瓧涓�鑷达細
+ * {@code deptcheckFlag="0"} + {@code inhospstate="1"} + {@code fuflag="1"}銆�
+ */
+ @Override
+ public List<PatMedInhosp> selectPendingDeptPatientsForVisit() {
+ PatMedInhosp pmks = new PatMedInhosp();
+ pmks.setDeptcheckFlag("0");
+ pmks.setInhospstate("1");
+ pmks.setFuflag("1");
+ return inhospVisitFacade.selectPatMedInhospList(pmks);
+ }
+
+ /**
+ * 銆愯繃娓℃湡鐢ㄣ�戞妸涓�鏉″凡缁勮濂界殑瀛愪换鍔¤惤搴擄紙鍘� {@code serviceSubtaskMapper.insertServiceSubtask}锛夈��
+ */
+ @Override
+ public boolean persistSubtask(ServiceSubtask serviceSubtask) {
+ return serviceSubtaskMapper.insertServiceSubtask(serviceSubtask) == 1;
+ }
}
--
Gitblit v1.9.3