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 | 465 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 315 insertions(+), 150 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 55d97ad..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,18 +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.common.ScheduleSubtaskBuilder;
import com.smartor.domain.*;
-import com.smartor.domain.DTO.PatMedInhospDTO;
-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;
@@ -28,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涓氬姟灞傚鐞�
*
@@ -38,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
@@ -57,8 +90,6 @@
private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper;
@Autowired
private ServiceTaskmedicalMapper serviceTaskmedicalMapper;
- @Autowired
- private PatMedOperationItemMapper patMedOperationItemMapper;
@Autowired
private ServiceTaskRuleMapper serviceTaskRuleMapper;
@@ -83,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);
}
/**
@@ -99,6 +130,8 @@
*/
@Override
public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp) {
+ //鍏ラ櫌搴婁綅鎺掑簭鍙湪銆屽湪闄€�嶆煡璇紙cry=0锛変笅鐢熸晥锛屽叾瀹冩煡璇竴寰嬪拷鐣ワ紝淇濊瘉鍘熸湁鎺掑簭涓嶅彉
+ patMedInhosp.setBedSort(normalizeBedSort(patMedInhosp.getCry(), patMedInhosp.getBedSort()));
if (patMedInhosp.getCry() != null && patMedInhosp.getCry() == 0) {
patMedInhosp.setDeptcodeList(patMedInhosp.getLeaveldeptcodes());
patMedInhosp.setHospitaldistrictcodeList(patMedInhosp.getLeavehospitaldistrictcodes());
@@ -113,12 +146,76 @@
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;
+ }
+
+ /**
+ * 鎵归噺濉厖鎮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
@@ -139,19 +236,6 @@
return patMedInhospDTOList;
}
- @Override
- public Map<String, Integer> queryPersonCount(PatServiceCount patServiceCount) {
- if (patServiceCount.getInterval() == 1) {
- //鍛�
- } else if (patServiceCount.getInterval() == 2) {
- //鏈�
- } else if (patServiceCount.getInterval() == 3) {
- //骞�
- }
-
- return null;
- }
-
/**
* 鏌ヨ褰撳墠鐧婚檰浜鸿嚜宸憋紙鐥呭尯銆侀儴闂級鐨勬偅鑰呬綇闄㈣褰曞垪琛�
*
@@ -159,7 +243,7 @@
* @return
*/
public List<PatMedInhosp> selectPatMedInhospListByCondition(PatMedInhospVO patMedInhospVO) {
- return patMedInhospMapper.selectPatMedInhospListByCondition(patMedInhospVO);
+ return inhospVisitFacade.selectPatMedInhospListByCondition(patMedInhospVO);
}
@@ -192,7 +276,7 @@
public PatMedRes selectPatMedInhospListCount(PatMedReq patMedReq) {
PatMedRes patMedRes = null;
// 鑾峰彇褰撳墠鐧婚檰浜虹殑閮ㄩ棬鏉冮檺
- patMedRes = patMedInhospMapper.selectPatMedInhospCount(patMedReq);
+ patMedRes = inhospVisitFacade.selectPatMedInhospCount(patMedReq);
return patMedRes;
}
@@ -206,7 +290,7 @@
public int insertPatMedInhosp(PatMedInhosp patMedInhosp) {
patMedInhosp.setCreateTime(DateUtils.getNowDate());
patMedInhosp.setUpdateTime(DateUtils.getNowDate());
- return patMedInhospMapper.insertPatMedInhosp(patMedInhosp);
+ return inhospVisitFacade.insertPatMedInhosp(patMedInhosp);
}
/**
@@ -218,7 +302,7 @@
@Override
public int updatePatMedInhosp(PatMedInhosp patMedInhosp) {
patMedInhosp.setUpdateTime(DateUtils.getNowDate());
- return patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+ return inhospVisitFacade.updatePatMedInhosp(patMedInhosp);
}
/**
@@ -229,7 +313,7 @@
*/
@Override
public int deletePatMedInhospByInhospids(Long[] inhospids) {
- return patMedInhospMapper.deletePatMedInhospByInhospids(inhospids);
+ return inhospVisitFacade.deletePatMedInhospByInhospids(inhospids);
}
/**
@@ -240,7 +324,7 @@
*/
@Override
public int deletePatMedInhospByInhospid(Long inhospid) {
- return patMedInhospMapper.deletePatMedInhospByInhospid(inhospid);
+ return inhospVisitFacade.deletePatMedInhospByInhospid(inhospid);
}
/**
@@ -251,7 +335,7 @@
*/
@Override
public int deletePatMedInhospByInhospno(String inhospno) {
- return patMedInhospMapper.deletePatMedInhospByInhospno(inhospno);
+ return inhospVisitFacade.deletePatMedInhospByInhospno(inhospno);
}
@Override
@@ -260,7 +344,7 @@
pmks.setDeptcheckFlag("0");
pmks.setInhospstate("1");
pmks.setFuflag("1");
- List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks);
+ List<PatMedInhosp> patMedInhosps = inhospVisitFacade.selectPatMedInhospList(pmks);
//1.鍏ラ櫌瀹f暀
String helibrarySwitch = iSysConfigService.selectConfigByKey("in.helibrary.switch");
@@ -273,7 +357,7 @@
if (Objects.isNull(patArchive)) {
patMedInhosp1.setInDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
continue;
}
try {
@@ -287,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);
@@ -300,8 +384,8 @@
} catch (Exception e) {
log.error("浜哄憳鍏ラ櫌绉戝澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
patMedInhosp1.setInDeptcheckFlag("2");
- patMedInhosp1.setLongTaskReason("浜哄憳鍏ラ櫌绉戝澶勭悊鍑哄紓甯镐簡锛�" + e.getMessage());
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ patMedInhosp1.setLongTaskReason("浜哄憳鍏ラ櫌绉戝澶勭悊鍑哄紓甯镐簡");
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
}
@@ -310,14 +394,14 @@
pmks.setInDeptcheckFlag(null);
pmks.setInWardcheckFlag("0");
pmks.setDeptcheckFlag(null);
- List<PatMedInhosp> inPatMedInhospsWard = patMedInhospMapper.selectPatMedInhospList(pmks);
+ 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暀浠诲姟锛堜細鍑虹幇涓�涓棶棰橈紝绉戝鍜岀梾鍖哄彂鐨勫悓涓�涓ā鏉匡級
@@ -330,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);
@@ -389,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);
}
@@ -458,7 +542,7 @@
patMedInhospVo.setLeaveldeptcodes(deptCodeList);
patMedInhospVo.setLeavehospitaldistrictcodes(wardCodeList);
patMedInhospVo.setIcd10codeList(icd10CodeList);
- List<PatMedInhosp> patList = patMedInhospMapper.selectPatMedInhospList(patMedInhospVo);
+ List<PatMedInhosp> patList = inhospVisitFacade.selectPatMedInhospList(patMedInhospVo);
log.info("dealOutHospInfoBySchedule 浠诲姟缁勯殢璁�, taskid = {}, 鎵弿鎮h�呬汉鏁� {}", serviceTask.getTaskid(), patList.size());
for (PatMedInhosp patMedInhosp : patList) {
@@ -488,7 +572,7 @@
PatMedInhosp flagUpd = new PatMedInhosp();
flagUpd.setInhospid(patMedInhosp.getInhospid());
flagUpd.setScheduleCheckFlag("1");
- patMedInhospMapper.updatePatMedInhosp(flagUpd);
+ inhospVisitFacade.updatePatMedInhosp(flagUpd);
}
} else {
//浠诲姟缁� - 鎵嬫湳闅忚
@@ -500,7 +584,9 @@
pmoi.setDeptCodes(deptCodeList);
pmoi.setWardCodes(wardCodeList);
pmoi.setOpLevelCodes(opLevelCodeList);
- List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
+
+ //姣忔鏌ヨ鍙煡鏈�澶х殑鎵嬫湳绛夌骇璁板綍
+ List<PatMedOperationItem> patMedOperationItems = otherVisitFacade.selectOperationItemListMaxLevel(pmoi);
for (PatMedOperationItem patMedOperationItem : patMedOperationItems) {
PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperationItem.getPatid());
if (Objects.isNull(patArchive)) {
@@ -511,7 +597,7 @@
patMedInhospVo.setScheduleCheckFlag("0");
patMedInhospVo.setInhospstate("1");
patMedInhospVo.setFuflag("1");
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhospVo);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhospVo);
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
ServiceTaskScheduleDetail scheduleDetailVo = new ServiceTaskScheduleDetail();
scheduleDetailVo.setTaskid(serviceTask.getTaskid());
@@ -533,7 +619,7 @@
PatMedInhosp flagUpd = new PatMedInhosp();
flagUpd.setInhospid(patMedInhospList.get(0).getInhospid());
flagUpd.setScheduleCheckFlag("1");
- patMedInhospMapper.updatePatMedInhosp(flagUpd);
+ inhospVisitFacade.updatePatMedInhosp(flagUpd);
}
}
}
@@ -560,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())) {
@@ -625,34 +711,34 @@
log.info("璇ユ偅鑰呰嵂鍝佸鏁欓暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
patMedInhosp1.setMedcheckFlag("2");
patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呰嵂鍝佸鏁欓暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ 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 {
@@ -727,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) {
@@ -815,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());
@@ -827,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) {
//鍑洪敊鍥炴粴浜嬪姟
@@ -839,7 +925,7 @@
if (type == 3) patMedInhosp2.setDiagcheckFlag("2");
if (type == 0) patMedInhosp2.setMedcheckFlag("2");
patMedInhosp2.setRemark("鐢熸垚瀛愪换鍔℃姤閿欏洖婊� " + type);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp2);
e.printStackTrace();
}
}
@@ -865,8 +951,8 @@
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);
@@ -889,7 +975,7 @@
if(!active.equals("hzszlyy")){
patMedInhosp.setSerialnum(patMedOperationItem.getSerialnum());
}
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
if (CollectionUtils.isEmpty(patMedInhospList)) {
return;
@@ -897,7 +983,7 @@
//灏佽serviceSubtask
ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperationItem, patArchive, config);
- if (ObjectUtils.isEmpty(serviceSubtask)) {
+ if (ObjectUtils.isEmpty(serviceSubtask) || Objects.isNull(serviceSubtask.getTaskid())) {
return;
}
if (StringUtils.isNotEmpty(patMedOperationItem.getLeaveldeptcode())) {
@@ -964,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();
}
}
@@ -990,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();
@@ -1000,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());
@@ -1032,6 +1130,8 @@
// }
ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
serviceSubtask.setTaskid(serviceTask.getTaskid());
+ serviceSubtask.setOrgid(serviceTask.getOrgid());
+ serviceSubtask.setCampusid(serviceTask.getCampusid());
if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid()))
serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid()));
serviceSubtask.setNurseId(patMedInhosp1.getNurseId());
@@ -1091,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();
}
@@ -1143,15 +1243,19 @@
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(patMedOperationItem.getNurseId());
- serviceSubtask.setNurseName(patMedOperationItem.getNurseName());
-// serviceSubtask.setInhospid(patMedInhosp.getInhospid());
- serviceSubtask.setDrcode(patMedOperationItem.getDrcode());
- serviceSubtask.setDrname(patMedOperationItem.getDrname());
- serviceSubtask.setDeptcode(patMedOperationItem.getDeptcode());
- serviceSubtask.setDeptname(patMedOperationItem.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());
@@ -1163,19 +1267,18 @@
serviceSubtask.setSex(patArchive.getSex());
serviceSubtask.setAge(patArchive.getAge());
serviceSubtask.setSendstate(2L);
- serviceSubtask.setManagementDoctor(patMedOperationItem.getDrname());
- serviceSubtask.setManagementDoctorCode(patMedOperationItem.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(patMedOperationItem.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());
@@ -1186,11 +1289,14 @@
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);
@@ -1247,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) {
@@ -1274,12 +1380,15 @@
public void addOperationSubTask(String config) {
// 鎵嬫湳闅忚
PatMedOperationItem pmoi = new PatMedOperationItem();
- //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
-// pmoi.setInhospstate("1");
+ //鑾峰彇闇�瑕佸嚭闄㈡墜鏈殢璁匡紝鏈鐞嗙殑鏁版嵁
+ if(!active.equals("hzszlyy")){
+ pmoi.setInhospstate("1");
+ }
pmoi.setOpercheckFlag("0");
pmoi.setMainFlag("1");
- List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
+ //姣忔鏌ヨ鍙煡鏈�澶х殑鎵嬫湳绛夌骇璁板綍
+ List<PatMedOperationItem> patMedOperationItems = otherVisitFacade.selectOperationItemListMaxLevel(pmoi);
log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鎵嬫湳鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedOperationItems) ? patMedOperationItems.size() : null);
for (PatMedOperationItem opItem : patMedOperationItems) {
@@ -1289,37 +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.setDeptCode(opItem.getLeaveldeptcode());
- }else {
- serviceTaskoper.setWardCode(opItem.getLeavehospitaldistrictcode());
+ 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("浜哄憳鎵嬫湳澶勭悊寮傚父");
- patMedOperationItemMapper.updatePatMedOperationItem(opItem);
+ otherVisitFacade.updateOperationItem(opItem);
}
}
}
@@ -1330,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);
}
@@ -1343,7 +1466,7 @@
if (Objects.isNull(patArchive)) {
pmiJB.setDiagcheckFlag("2");
pmiJB.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(pmiJB);
+ inhospVisitFacade.updatePatMedInhosp(pmiJB);
continue;
}
try {
@@ -1372,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) {
@@ -1397,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);
}
}
@@ -1410,7 +1533,7 @@
log.error("浜哄憳鐤剧梾澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
pmiJB.setDiagcheckFlag("2");
pmiJB.setLongTaskReason("浜哄憳鐤剧梾澶勭悊寮傚父");
- patMedInhospMapper.updatePatMedInhosp(pmiJB);
+ inhospVisitFacade.updatePatMedInhosp(pmiJB);
}
}
}
@@ -1421,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);
}
@@ -1433,7 +1556,7 @@
if ("1".equals(pmiBQ1.getLeavehospitaldistrictcode()) && pmiBQ1.getDiagcheckFlag().equals("1")) {
pmiBQ1.setWardcheckFlag("2");
pmiBQ1.setLongTaskReason("鏍规嵁浜ゅ弶鐢熸垚闅忚浠诲姟瑙勫垯锛岀梾鍖轰换鍔″彲浠ヤ笉鐢ㄧ敓鎴�");
- patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+ inhospVisitFacade.updatePatMedInhosp(pmiBQ1);
continue;
}
@@ -1442,7 +1565,7 @@
if (Objects.isNull(patArchive)) {
pmiBQ1.setWardcheckFlag("2");
pmiBQ1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+ inhospVisitFacade.updatePatMedInhosp(pmiBQ1);
continue;
}
try {
@@ -1464,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);
@@ -1479,7 +1602,7 @@
log.error("浜哄憳鐥呭尯澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
pmiBQ1.setWardcheckFlag("2");
pmiBQ1.setLongTaskReason("浜哄憳鐥呭尯澶勭悊寮傚父");
- patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+ inhospVisitFacade.updatePatMedInhosp(pmiBQ1);
}
}
}
@@ -1490,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);
}
@@ -1502,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�呬俊鎭�
@@ -1510,7 +1633,7 @@
if (Objects.isNull(patArchive)) {
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
continue;
}
try {
@@ -1524,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);
@@ -1539,7 +1662,7 @@
log.error("浜哄憳绉戝澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("浜哄憳绉戝澶勭悊寮傚父");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
}
}
@@ -1575,7 +1698,7 @@
if (StringUtils.isNotEmpty(remark)) {
updateObj.setRemark(remark + " (type=" + type + ")");
}
- patMedInhospMapper.updatePatMedInhosp(updateObj);
+ inhospVisitFacade.updatePatMedInhosp(updateObj);
}
/**
@@ -1590,7 +1713,7 @@
if (Objects.isNull(patArchive)) {
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
continue;
}
@@ -1736,7 +1859,7 @@
log.error("銆愬熀浜庤鍒欍�戞偅鑰厈}澶勭悊寮傚父锛歿}", patMedInhosp1.getInhospid(), e.getMessage());
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("鍩轰簬瑙勫垯澶勭悊寮傚父");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
}
}
@@ -1759,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);
@@ -1776,7 +1899,7 @@
log.error("銆愮瀹や换鍔°�戞偅鑰厈}澶勭悊寮傚父锛歿}", patMedInhosp1.getInhospid(), e.getMessage());
patMedInhosp1.setDeptcheckFlag("2");
patMedInhosp1.setLongTaskReason("绉戝浠诲姟澶勭悊寮傚父");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
return generatedCount;
}
@@ -1807,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);
@@ -1824,7 +1947,7 @@
log.error("銆愮梾鍖轰换鍔°�戞偅鑰厈}澶勭悊寮傚父锛歿}", patMedInhosp1.getInhospid(), e.getMessage());
patMedInhosp1.setWardcheckFlag("2");
patMedInhosp1.setLongTaskReason("鐥呭尯浠诲姟澶勭悊寮傚父");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
}
return generatedCount;
}
@@ -1847,10 +1970,10 @@
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 {
@@ -1860,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) {
@@ -1879,10 +2002,10 @@
}
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) {
@@ -1890,10 +2013,52 @@
log.error("銆愮柧鐥呬换鍔°�戞偅鑰厈}澶勭悊寮傚父锛歿}", patMedInhosp1.getInhospid(), e.getMessage());
patMedInhosp1.setDiagcheckFlag("2");
patMedInhosp1.setLongTaskReason("鐤剧梾浠诲姟澶勭悊寮傚父");
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ 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