From abae517585ad7ff0038c31339d200712c9684556 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 21 八月 2026 16:07:07 +0800
Subject: [PATCH] 修改市一同步时间范围(实时前1天,补救前5天)
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 129 +++++++++++++++++++++++-------------------
1 files changed, 71 insertions(+), 58 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 f72f6a8..d18bd66 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -342,38 +342,40 @@
}
}
- //2.鑽搧瀹f暀
- 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(",");
+ //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.setMedicalName(medicalCompanyArray[i]);
- } else {
- log.warn("銆愯嵂鍝佸鏁欍�戣嵂鍝佺紪鐮亄}瀵瑰簲鐨勫叕鍙镐俊鎭笅鏍囪秺鐣岋紝medicalCompany 鏁扮粍闀垮害={}, 褰撳墠绱㈠紩={}", split[i], medicalCompanyArray.length, i);
- serviceTaskmedical.setMedicalName(""); // 瓒婄晫鏃惰缃负绌�
+ 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);
+ }
+ //鏌ヤ笉鍒扮殑鑽搧灏辨槸涓嶉渶瑕佸鏁欑殑锛屽氨涓嶇浜�
}
- List<ServiceTaskmedical> serviceTaskmedicals = serviceTaskmedicalMapper.selectServiceTaskmedicalList(serviceTaskmedical);
- if (CollectionUtils.isNotEmpty(serviceTaskmedicals)) {
- PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
- writeInSubTask(serviceTaskmedicals.get(0).getTaskId(), false, patMedInhosp, patArchive, 0, config);
- }
- //鏌ヤ笉鍒扮殑鑽搧灏辨槸涓嶉渶瑕佸鏁欑殑锛屽氨涓嶇浜�
}
}
}
-
//3.鍑洪櫌闅忚 - 鍩轰簬瑙勫垯鐨勪换鍔$敓鎴�
// 鑾峰彇鎵�鏈夐渶瑕佸鐞嗙殑鍑洪櫌鎮h�咃紙绉戝缁村害鏈鐞嗭級
@@ -409,12 +411,12 @@
if (CollectionUtils.isNotEmpty(serviceTasks)) {
for (ServiceTask serviceTask : serviceTasks) {
- if(!ObjectUtils.isEmpty(serviceTask.getTaskid())){
+ 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)){
+ if (CollectionUtils.isNotEmpty(serviceTaskSchedules)) {
serviceTaskSchedule = serviceTaskSchedules.get(0);
String deptCodes = serviceTaskSchedule.getDeptCodes();
String wardCodes = serviceTaskSchedule.getWardCodes();
@@ -434,11 +436,11 @@
type = 1;
deptCodeList = new ArrayList<>(Arrays.asList(deptCodes.split(",")));
}
- if(StringUtils.isNotEmpty(wardCodes)) {
+ if (StringUtils.isNotEmpty(wardCodes)) {
type = 2;
wardCodeList = new ArrayList<>(Arrays.asList(wardCodes.split(",")));
}
- if(StringUtils.isNotEmpty(icd10Codes)) {
+ if (StringUtils.isNotEmpty(icd10Codes)) {
type = 3;
icd10CodeList = new ArrayList<>(Arrays.asList(icd10Codes.split(",")));
}
@@ -447,7 +449,7 @@
opLevelCodeList = new ArrayList<>(Arrays.asList(opLevelCodes.split(",")));
}
//闈炴墜鏈鐞嗘柟寮�
- if(type != 6){
+ if (type != 6) {
PatMedInhosp patMedInhospVo = new PatMedInhosp();
patMedInhospVo.setScheduleCheckFlag("0");
patMedInhospVo.setInhospstate("1");
@@ -459,7 +461,7 @@
List<PatMedInhosp> patList = patMedInhospMapper.selectPatMedInhospList(patMedInhospVo);
log.info("dealOutHospInfoBySchedule 浠诲姟缁勯殢璁�, taskid = {}, 鎵弿鎮h�呬汉鏁� {}", serviceTask.getTaskid(), patList.size());
- for(PatMedInhosp patMedInhosp : patList){
+ for (PatMedInhosp patMedInhosp : patList) {
ServiceTaskScheduleDetail scheduleDetailVo = new ServiceTaskScheduleDetail();
scheduleDetailVo.setTaskid(serviceTask.getTaskid());
scheduleDetailVo.setScheduleid(serviceTaskSchedule.getId());
@@ -473,11 +475,11 @@
ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp, patArchive, config, type);
List<Map<String, Object>> preachformList = new ArrayList<>();
- if(StringUtils.isNotEmpty(serviceTask.getPreachformDesc())){
+ if (StringUtils.isNotEmpty(serviceTask.getPreachformDesc())) {
try {
ObjectMapper objectMapper = new ObjectMapper();
preachformList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
- }catch (Exception e){
+ } catch (Exception e) {
log.error("浠诲姟缁刾reachformDesc瑙f瀽澶辫触,taskid={},inhospid={}", serviceTask.getTaskid(), patMedInhosp.getInhospid());
}
}
@@ -488,9 +490,9 @@
flagUpd.setScheduleCheckFlag("1");
patMedInhospMapper.updatePatMedInhosp(flagUpd);
}
- }else {
+ } else {
//浠诲姟缁� - 鎵嬫湳闅忚
- if(CollectionUtils.isNotEmpty(opLevelCodeList)){
+ if (CollectionUtils.isNotEmpty(opLevelCodeList)) {
PatMedOperationItem pmoi = new PatMedOperationItem();
//鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
pmoi.setOpercheckFlag("0");
@@ -499,7 +501,7 @@
pmoi.setWardCodes(wardCodeList);
pmoi.setOpLevelCodes(opLevelCodeList);
List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
- for(PatMedOperationItem patMedOperationItem : patMedOperationItems){
+ for (PatMedOperationItem patMedOperationItem : patMedOperationItems) {
PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperationItem.getPatid());
if (Objects.isNull(patArchive)) {
continue;
@@ -510,7 +512,7 @@
patMedInhospVo.setInhospstate("1");
patMedInhospVo.setFuflag("1");
List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhospVo);
- if(CollectionUtils.isNotEmpty(patMedInhospList)){
+ if (CollectionUtils.isNotEmpty(patMedInhospList)) {
ServiceTaskScheduleDetail scheduleDetailVo = new ServiceTaskScheduleDetail();
scheduleDetailVo.setTaskid(serviceTask.getTaskid());
scheduleDetailVo.setScheduleid(serviceTaskSchedule.getId());
@@ -518,11 +520,11 @@
//灏佽serviceSubtask
ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperationItem, patArchive, config);
List<Map<String, Object>> preachformList = new ArrayList<>();
- if(StringUtils.isNotEmpty(serviceTask.getPreachformDesc())){
+ if (StringUtils.isNotEmpty(serviceTask.getPreachformDesc())) {
try {
ObjectMapper objectMapper = new ObjectMapper();
preachformList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
- }catch (Exception e){
+ } catch (Exception e) {
log.error("浠诲姟缁�(鎵嬫湳)preachformDesc瑙f瀽澶辫触,taskid={}", serviceTask.getTaskid());
}
}
@@ -619,6 +621,13 @@
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);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ return;
+ }
if (type == 1) {
log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
patMedInhosp1.setDeptcheckFlag("2");
@@ -797,7 +806,7 @@
addServiceSubtaskPreachform(serviceSubtask, null);
}
- //灏哻heck_flag鏀规垚1锛堝凡澶勭悊锛�
+ //灏� check_flag 鏀规垚 1锛堝凡澶勭悊锛�
if (i == 1) {
PatMedInhosp patMedInhosp2 = new PatMedInhosp();
patMedInhosp2.setInhospid(patMedInhosp1.getInhospid());
@@ -828,6 +837,7 @@
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);
e.printStackTrace();
@@ -1135,13 +1145,15 @@
serviceSubtask.setTaskid(serviceTask.getTaskid());
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());
@@ -1153,19 +1165,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());
@@ -1264,8 +1275,10 @@
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");
--
Gitblit v1.9.3