From 55ede3cff5dbbbcb8675d1592a67f20d598d49e7 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 18 四月 2025 14:21:28 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java | 15 smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java | 197 +++++++++++++++++ smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 300 ++++++++++++++++++-------- smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml | 36 ++ ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 11 + smartor/src/main/java/com/smartor/domain/PatMedInhosp.java | 16 + smartor/src/main/java/com/smartor/domain/ExternalInHospPatientDiagnoseInfo.java | 3 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java | 14 + ruoyi-admin/src/main/resources/application-druid.yml | 14 smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml | 15 + smartor/src/main/java/com/smartor/service/IPatMedOuthospService.java | 2 11 files changed, 492 insertions(+), 131 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java index 7201cc7..997d368 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java @@ -13,9 +13,11 @@ import com.smartor.domain.PatMedInhospVO; import com.smartor.domain.PatMedReq; import com.smartor.service.IPatMedInhospService; +import com.smartor.service.IPatMedOuthospService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; @@ -34,6 +36,13 @@ public class PatMedInhospController extends BaseController { @Autowired private IPatMedInhospService patMedInhospService; + + @Autowired + private IPatMedOuthospService iPatMedOuthospService; + + @Value("${visitHosp}") + private Integer visitHosp; + /** * 鏌ヨ鎮h�呬綇闄㈣褰曞垪琛� @@ -177,6 +186,11 @@ // @GetMapping("/test") // public void test() { // patMedInhospService.dealOutHospInfo(); +// +// //闂ㄨ瘖琛� +// if (visitHosp != 1) { +// iPatMedOuthospService.dealOutpatientInfo(); +// } // } } diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index e65bd6c..33c712e 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -13,10 +13,10 @@ # 鍏徃 # url: jdbc:mysql://192.168.2.9:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # 涓芥按 -# url: jdbc:mysql://127.0.0.1:3308/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 -# username: smartor -# password: Smartor.2023 -# driverClassName: com.mysql.cj.jdbc.Driver + # url: jdbc:mysql://127.0.0.1:3308/smartor-lisui?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + # username: smartor + # password: Smartor.2023 + # driverClassName: com.mysql.cj.jdbc.Driver # # 鏂板崕 # url: jdbc:mysql://192.168.191.181:3308/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # username: smartor @@ -205,9 +205,6 @@ #璇煶鍦板潃璁块棶鍓嶇紑(鍏徃) #voicePathPrefix: http://192.168.2.13:8095/profile/upload/vadio/ -#鍏佽鑷姩鐢熸垚浠诲姟 -createTaskServiceType: 2 - #绗釜灏忔椂鐢佃瘽鎷ㄦ墦鐨勪笂闄� phoneUpEveryHour: 12 #鐢佃瘽姣忓ぉ缁撴潫鏃堕棿 @@ -221,3 +218,6 @@ #admin绠$悊鍛榰serId isAdmin: 1,2,3,4,5,6,7,8,9,10,11,12,13 + +#闅忚鍖婚櫌锛�1鏂板崕 2涓芥按 +visitHosp: 2 diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java index d704bd2..347f135 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java @@ -72,6 +72,9 @@ private IPatMedInhospService iPatMedInhospService; @Autowired + private IPatMedOuthospService iPatMedOuthospService; + + @Autowired private IPatMedOperationService iPatMedOperationService; @Autowired @@ -100,6 +103,9 @@ @Value("${req_path}") private String req_path; + + @Value("${visitHosp}") + private Integer visitHosp; @Autowired private ServiceTaskMapper serviceTaskMapper; @@ -239,7 +245,12 @@ * 澶勭悊鎮h�呬俊鎭紝杩涘叆瀛愪换鍔¤〃 */ public void dealOutHospInfo() { + //鍑洪櫌琛� iPatMedInhospService.dealOutHospInfo(); + //闂ㄨ瘖琛� + if(visitHosp!=1) { + iPatMedOuthospService.dealOutpatientInfo(); + } } diff --git a/smartor/src/main/java/com/smartor/domain/ExternalInHospPatientDiagnoseInfo.java b/smartor/src/main/java/com/smartor/domain/ExternalInHospPatientDiagnoseInfo.java index 9f6c70d..01e3df0 100644 --- a/smartor/src/main/java/com/smartor/domain/ExternalInHospPatientDiagnoseInfo.java +++ b/smartor/src/main/java/com/smartor/domain/ExternalInHospPatientDiagnoseInfo.java @@ -26,4 +26,7 @@ @ApiModelProperty(value = "鐤剧梾缂栫爜") private String Icd10; + @ApiModelProperty(value = "鐤剧梾") + private String Icd10; + } diff --git a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java index e50b10a..6c4da5e 100644 --- a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java +++ b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java @@ -282,10 +282,20 @@ private String inhospstate; /** - * 闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊 + * 绉戝闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊 */ - @ApiModelProperty(value = "闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊鎴愬姛 2澶勭悊绉戝澶辫触 3澶勭悊鐤剧梾澶辫触") - private String checkFlag; + @ApiModelProperty(value = "闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊鎴愬姛 2澶勭悊澶辫触 ") + private String deptcheckFlag; + /** + * 鐥呭尯闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊 + */ + @ApiModelProperty(value = "鐥呭尯闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊鎴愬姛 2澶勭悊澶辫触 ") + private String wardcheckFlag; + /** + * 鐤剧梾闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊 + */ + @ApiModelProperty(value = "鐤剧梾闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊鎴愬姛 2澶勭悊澶辫触 ") + private String diagcheckFlag; /** * 骞撮緞 diff --git a/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java b/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java index b859f64..6bc238c 100644 --- a/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java +++ b/smartor/src/main/java/com/smartor/domain/PatMedOuthosp.java @@ -1,15 +1,13 @@ package com.smartor.domain; -import java.util.Date; - import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.ruoyi.common.annotation.Excel; -import com.ruoyi.common.core.domain.BaseEntity; + +import java.util.Date; /** * 鎮h�呴棬璇婅褰曞璞� pat_med_outhosp @@ -197,6 +195,11 @@ @ApiModelProperty(value = "鎵嬫満鍙�") private String telcode; + /** + * 鐤剧梾闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊 + */ + @ApiModelProperty(value = "鐤剧梾闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞� 1澶勭悊鎴愬姛 2澶勭悊澶辫触 ") + private String diagcheckFlag; @JsonFormat(pattern = "yyyy-MM-dd") diff --git a/smartor/src/main/java/com/smartor/service/IPatMedOuthospService.java b/smartor/src/main/java/com/smartor/service/IPatMedOuthospService.java index 07518e4..2c9bc1a 100644 --- a/smartor/src/main/java/com/smartor/service/IPatMedOuthospService.java +++ b/smartor/src/main/java/com/smartor/service/IPatMedOuthospService.java @@ -67,4 +67,6 @@ //閫氳繃鎮h�匢D鑾峰彇鍒版渶鏂扮殑deptcode public PatMedOuthosp getDeptCodeByPatId(PatMedOuthosp patMedOuthosp); + + public Integer dealOutpatientInfo(); } 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 0fa3131..c06dd26 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java @@ -28,8 +28,6 @@ public class PatMedInhospServiceImpl implements IPatMedInhospService { @Autowired private PatMedInhospMapper patMedInhospMapper; - @Autowired - private ServiceCheckMapper serviceCheckMapper; @Autowired private ServiceTaskdeptMapper serviceTaskdeptMapper; @@ -40,15 +38,7 @@ @Autowired private PatArchiveMapper patArchiveMapper; @Autowired - private TemplateDeptMapper templateDeptMapper; - @Autowired private PatArchiveImportMapper patArchiveImportMapper; - @Autowired - private Icd10AssociationMapper icd10AssociationMapper; - @Autowired - private SvyTaskTemplateMapper svyTaskTemplateMapper; - @Autowired - private IvrTaskTemplateMapper ivrTaskTemplateMappte; @Autowired private ServiceTaskMapper serviceTaskMapper; @Autowired @@ -56,13 +46,8 @@ @Autowired private SysUserDeptMapper sysUserDeptMapper; - @Value("${createTaskServiceType}") - private List<String> createTaskServiceType; - - //璁板綍闀挎湡浠诲姟鍩虹淇℃伅 - List<IvrLibaTemplate> libaTemplates = new ArrayList<>(); - List<IvrTaskTemplate> ivrTaskTemplates = new ArrayList<>(); - List<ServiceTask> serviceTaskList = new ArrayList<>(); + @Value("${visitHosp}") + private Integer visitHosp; /** * 鏌ヨ鎮h�呬綇闄㈣褰� @@ -202,12 +187,16 @@ return patMedInhospMapper.deletePatMedInhospByInhospno(inhospno); } - @Override public int dealOutHospInfo() { + //瀹氫箟涓変釜鍙橀噺鐢ㄦ潵璁板綍锛岃繖涓偅鑰呮槸涓嶆槸涓変釜闅忚閮芥槸涓虹┖ + Boolean deptIsNull = false; + Boolean wardIsNull = false; + Boolean diagIsNull = false; + PatMedInhosp patMedInhosp = new PatMedInhosp(); - //鑾峰彇闇�瑕佸嚭闄㈤殢璁匡紝鏈鐞嗙殑鏁版嵁 - patMedInhosp.setCheckFlag("0"); + //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁 + patMedInhosp.setDeptcheckFlag("0"); patMedInhosp.setInhospstate("1"); patMedInhosp.setFuflag("1"); List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); @@ -218,70 +207,76 @@ } for (PatMedInhosp patMedInhosp1 : patMedInhosps) { - //鍏堟牴鎹瀹ゅ幓service_check鏌ヨcheck_visit_flag鏄牴鎹�滅瀹も�濋殢璁匡紝杩樻槸鏍规嵁鈥滅涓�璇婃柇鈥濋殢璁� - ServiceCheck serviceCheck = new ServiceCheck(); - serviceCheck.setDeptCode(patMedInhosp1.getDeptcode()); - serviceCheck.setOrgid(patMedInhosp1.getOrgid()); - List<ServiceCheck> serviceChecks = serviceCheckMapper.selectServiceCheckList(serviceCheck); //鑾峰彇鎮h�呬俊鎭� PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid()); if (Objects.isNull(patArchive)) { - patMedInhosp1.setCheckFlag("2"); + patMedInhosp1.setDeptcheckFlag("2"); + patMedInhosp1.setWardcheckFlag("2"); + patMedInhosp1.setDiagcheckFlag("2"); patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�"); patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); continue; } try { - if (CollectionUtils.isEmpty(serviceChecks) || serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 1 || serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 3) { - //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑闀挎湡浠诲姟 - ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); + //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑闀挎湡浠诲姟 + ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); + serviceTaskdept.setLongtask(1L); + serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode()); + serviceTaskdept.setDeptType("1"); + List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept); + //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛� + if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) { + deptIsNull = true; + } else { + for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) { + writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1); + } + patMedInhosp1.setDeptcheckFlag("1"); + patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); + } + + //鏍规嵁鎮h�呮墍鍦ㄧ梾鍖猴紝鑾峰彇璇ョ梾鍖虹殑闀挎湡浠诲姟,鏂板崕鍖婚櫌鍙互鍏堜笉鐢ㄦ牴鎹梾鍖哄拰鐤剧梾鏉ュ仛 + if (visitHosp != 1) { serviceTaskdept.setLongtask(1L); - serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode()); - serviceTaskdept.setServiceType("2"); - List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept); - //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堟殏瀹氾紝灏嗗嚭鍏ラ櫌琛ㄧ殑check_flag璁剧疆涓�2 锛宭ong_task_reason 璁板綍鍘熷洜锛� - if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) { - patMedInhosp1.setCheckFlag("2"); - patMedInhosp1.setLongTaskReason("璇ユ偅鑰呮墍鍦ㄧ瀹わ紝鏈厤缃暱鏈熶换鍔�;"); + serviceTaskdept.setDeptCode(patMedInhosp1.getLeavehospitaldistrictcode()); + serviceTaskdept.setDeptType("2"); + List<ServiceTaskdept> serviceTaskdeptList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept); + //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛� + if (CollectionUtils.isEmpty(serviceTaskdeptList) || serviceTaskdeptList.size() == 0) { + wardIsNull = true; + } else { + for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) { + writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 2); + } + patMedInhosp1.setWardcheckFlag("1"); patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); - continue; - } else if (serviceTaskdepts.size() > 1) { - //濡傛灉鏌ヨ鍑哄涓换鍔★紝閭e氨鍙栫涓�涓紝骞跺湪鎮h�呭娉ㄤ竴涓� - List<Long> tempList = serviceTaskdepts.stream().map(ServiceTaskdept::getTaskId).collect(Collectors.toList()); - patMedInhosp1.setLongTaskReason("璇ユ偅鑰呮墍鍦ㄧ瀹わ紝鏈夊涓嚭闄㈤殢璁块暱鏈熶换鍔�:" + tempList); - patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); - ServiceTaskdept serviceTaskdept1 = serviceTaskdepts.get(0); - serviceTaskdepts = new ArrayList<>(); - serviceTaskdepts.add(serviceTaskdept1); } - writeInSubTask(serviceTaskdepts.get(0).getTaskId(), true, patMedInhosp1, patArchive); - } - if (serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 2 || serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 3) { - //涓芥按闇�瑕佹牴鎹闄㈢柧鐥呭璇ョ梾浜虹敓鎴愪竴娆¢殢璁� - String[] split = patMedInhosp1.getIcd10code().split(","); + // 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔� ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag(); serviceTaskdiag.setLongtask(1L); - serviceTaskdiag.setIcd10code(split[0]); - serviceTaskdiag.setServiceType("2"); + serviceTaskdiag.setIcd10code(patMedInhosp1.getLeaveldeptcode()); List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag); - PatMedInhosp patMedInhosp2 = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid()); - //濡傛灉鐤剧梾缂栫爜涓虹┖锛堟殏瀹氾紝灏嗗嚭鍏ラ櫌琛ㄧ殑check_flag璁剧疆涓�3 锛宭ong_task_reason 璁板綍鍘熷洜锛� + //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛� if (CollectionUtils.isEmpty(serviceTaskdiags) || serviceTaskdiags.size() == 0) { - patMedInhosp1.setCheckFlag("3"); - patMedInhosp1.setLongTaskReason(patMedInhosp2.getLongTaskReason() + "璇ユ偅鑰呯殑绗竴鐤剧梾缂栫爜锛屾湭閰嶇疆闀挎湡浠诲姟;"); + diagIsNull = true; + } else { + + for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) { + writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 3); + } + patMedInhosp1.setDiagcheckFlag("1"); patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); - continue; - } else if (serviceTaskdiags.size() > 1) { - //濡傛灉鏌ヨ鍑哄涓换鍔★紝閭e氨鍙栫涓�涓紝骞跺湪鎮h�呭娉ㄤ竴涓� - List<Long> tempList = serviceTaskdiags.stream().map(ServiceTaskdiag::getTaskId).collect(Collectors.toList()); - patMedInhosp1.setLongTaskReason(patMedInhosp2.getLongTaskReason() + "璇ユ偅鑰呯殑绗竴鐤剧梾缂栫爜锛屾湁澶氫釜鍑洪櫌闅忚闀挎湡浠诲姟:" + tempList); - patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); - ServiceTaskdiag serviceTaskdiag1 = serviceTaskdiags.get(0); - serviceTaskdiags = new ArrayList<>(); - serviceTaskdiags.add(serviceTaskdiag1); } - writeInSubTask(serviceTaskdiags.get(0).getTaskId(), false, patMedInhosp1, patArchive); + } + + //涓変釜閮戒负绌猴紝娌℃硶闅忚浜� + if (diagIsNull == true && deptIsNull == true && wardIsNull == true) { + patMedInhosp1.setDeptcheckFlag("2"); + patMedInhosp1.setWardcheckFlag("2"); + patMedInhosp1.setDiagcheckFlag("2"); + patMedInhosp1.setLongTaskReason("璇ユ偅鑰呮墍鍦ㄧ瀹ゃ�佺梾鍖� 鎴栨墍鎮g殑鐤剧梾锛屾湭閰嶇疆闀挎湡浠诲姟;"); + patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); } } catch (Exception e) { @@ -291,7 +286,7 @@ } //鑾峰彇鏈鐞嗗湪闄㈢殑鏁版嵁(濡傛灉鍒氬垰鍑洪櫌鐨勬偅鑰呮暟鎹殑鍑洪櫌鏃堕棿,鍦ㄤ笅闈㈡煡璇㈠嚭鐨勫叆闄㈡椂闂翠箣鍓�,閭d箣鍓嶇殑鍑洪櫌鎮h�呯殑鏁版嵁,涔熷緱鍋滄帀,鍥犱负鍙堝叆闄簡) - patMedInhosp.setCheckFlag("0"); + patMedInhosp.setDeptcheckFlag("0"); patMedInhosp.setInhospstate("0"); List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); for (PatMedInhosp patMedInhosp1 : patMedInhosps) { @@ -303,6 +298,108 @@ } return 1; } + +// +// @Override +// public int dealOutHospInfo() { +// PatMedInhosp patMedInhosp = new PatMedInhosp(); +// //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁 +// patMedInhosp.setDeptcheckFlag("0"); +// patMedInhosp.setInhospstate("1"); +// patMedInhosp.setFuflag("1"); +// List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); +// log.error("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鎮h�呬俊鎭細{}", patMedInhosps); +// for (PatMedInhosp patMedInhosp1 : patMedInhosps) { +// String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid()); +// patMedInhosp1.setTagname(tagname); +// } +// +// for (PatMedInhosp patMedInhosp1 : patMedInhosps) { +// //鍏堟牴鎹瀹ゅ幓service_check鏌ヨcheck_visit_flag鏄牴鎹�滅瀹も�濋殢璁匡紝杩樻槸鏍规嵁鈥滅涓�璇婃柇鈥濋殢璁� +// ServiceCheck serviceCheck = new ServiceCheck(); +// serviceCheck.setDeptCode(patMedInhosp1.getDeptcode()); +// serviceCheck.setOrgid(patMedInhosp1.getOrgid()); +// List<ServiceCheck> serviceChecks = serviceCheckMapper.selectServiceCheckList(serviceCheck); +// //鑾峰彇鎮h�呬俊鎭� +// PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid()); +// if (Objects.isNull(patArchive)) { +// patMedInhosp1.setDeptcheckFlag("2"); +// patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�"); +// patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); +// continue; +// } +// try { +// if (CollectionUtils.isEmpty(serviceChecks) || serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 1 || serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 3) { +// //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑闀挎湡浠诲姟 +// ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); +// serviceTaskdept.setLongtask(1L); +// serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode()); +// serviceTaskdept.setServiceType("2"); +// List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept); +// //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堟殏瀹氾紝灏嗗嚭鍏ラ櫌琛ㄧ殑check_flag璁剧疆涓�2 锛宭ong_task_reason 璁板綍鍘熷洜锛� +// if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) { +// patMedInhosp1.setDeptcheckFlag("2"); +// patMedInhosp1.setLongTaskReason("璇ユ偅鑰呮墍鍦ㄧ瀹わ紝鏈厤缃暱鏈熶换鍔�;"); +// patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); +// continue; +// } else if (serviceTaskdepts.size() > 1) { +// //濡傛灉鏌ヨ鍑哄涓换鍔★紝閭e氨鍙栫涓�涓紝骞跺湪鎮h�呭娉ㄤ竴涓� +// List<Long> tempList = serviceTaskdepts.stream().map(ServiceTaskdept::getTaskId).collect(Collectors.toList()); +// patMedInhosp1.setLongTaskReason("璇ユ偅鑰呮墍鍦ㄧ瀹わ紝鏈夊涓嚭闄㈤殢璁块暱鏈熶换鍔�:" + tempList); +// patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); +// ServiceTaskdept serviceTaskdept1 = serviceTaskdepts.get(0); +// serviceTaskdepts = new ArrayList<>(); +// serviceTaskdepts.add(serviceTaskdept1); +// } +// +// writeInSubTask(serviceTaskdepts.get(0).getTaskId(), true, patMedInhosp1, patArchive); +// } +// if (serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 2 || serviceChecks != null && serviceChecks.get(0).getCheckVisitFlag() == 3) { +// //涓芥按闇�瑕佹牴鎹闄㈢柧鐥呭璇ョ梾浜虹敓鎴愪竴娆¢殢璁� +// String[] split = patMedInhosp1.getIcd10code().split(","); +// ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag(); +// serviceTaskdiag.setLongtask(1L); +// serviceTaskdiag.setIcd10code(split[0]); +// serviceTaskdiag.setServiceType("2"); +// List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag); +// PatMedInhosp patMedInhosp2 = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid()); +// //濡傛灉鐤剧梾缂栫爜涓虹┖锛堟殏瀹氾紝灏嗗嚭鍏ラ櫌琛ㄧ殑check_flag璁剧疆涓�3 锛宭ong_task_reason 璁板綍鍘熷洜锛� +// if (CollectionUtils.isEmpty(serviceTaskdiags) || serviceTaskdiags.size() == 0) { +// patMedInhosp1.setDeptcheckFlag("3"); +// patMedInhosp1.setLongTaskReason(patMedInhosp2.getLongTaskReason() + "璇ユ偅鑰呯殑绗竴鐤剧梾缂栫爜锛屾湭閰嶇疆闀挎湡浠诲姟;"); +// patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); +// continue; +// } else if (serviceTaskdiags.size() > 1) { +// //濡傛灉鏌ヨ鍑哄涓换鍔★紝閭e氨鍙栫涓�涓紝骞跺湪鎮h�呭娉ㄤ竴涓� +// List<Long> tempList = serviceTaskdiags.stream().map(ServiceTaskdiag::getTaskId).collect(Collectors.toList()); +// patMedInhosp1.setLongTaskReason(patMedInhosp2.getLongTaskReason() + "璇ユ偅鑰呯殑绗竴鐤剧梾缂栫爜锛屾湁澶氫釜鍑洪櫌闅忚闀挎湡浠诲姟:" + tempList); +// patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); +// ServiceTaskdiag serviceTaskdiag1 = serviceTaskdiags.get(0); +// serviceTaskdiags = new ArrayList<>(); +// serviceTaskdiags.add(serviceTaskdiag1); +// } +// writeInSubTask(serviceTaskdiags.get(0).getTaskId(), false, patMedInhosp1, patArchive); +// } +// +// } catch (Exception e) { +// e.printStackTrace(); +// log.error("浜哄憳澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage()); +// } +// } +// +// //鑾峰彇鏈鐞嗗湪闄㈢殑鏁版嵁(濡傛灉鍒氬垰鍑洪櫌鐨勬偅鑰呮暟鎹殑鍑洪櫌鏃堕棿,鍦ㄤ笅闈㈡煡璇㈠嚭鐨勫叆闄㈡椂闂翠箣鍓�,閭d箣鍓嶇殑鍑洪櫌鎮h�呯殑鏁版嵁,涔熷緱鍋滄帀,鍥犱负鍙堝叆闄簡) +// patMedInhosp.setDeptcheckFlag("0"); +// patMedInhosp.setInhospstate("0"); +// List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); +// for (PatMedInhosp patMedInhosp1 : patMedInhosps) { +// String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid()); +// patMedInhosp1.setTagname(tagname); +// } +// if (CollectionUtils.isNotEmpty(patMedInhospList) && patMedInhospList.size() > 0) { +// dealInHospInfo(patMedInhospList); +// } +// return 1; +// } /** * 鑾峰彇鍑洪櫌锛屼綇闄紝闂ㄨ瘖鏈嶅姟浜烘 @@ -361,30 +458,21 @@ } //灏嗘偅鑰呮斁鍒皊ubtask涓� - private void writeInSubTask(Long taskid, Boolean check, PatMedInhosp patMedInhosp1, PatArchive patArchive) { + private void writeInSubTask(Long taskid, Boolean check, PatMedInhosp patMedInhosp1, PatArchive patArchive, Integer type) { String longTaskReason = patMedInhosp1.getLongTaskReason(); if (StringUtils.isEmpty(longTaskReason)) longTaskReason = ""; -// Long taskid = std.getTaskId(); ServiceTask st = new ServiceTask(); st.setTaskid(taskid); st.setSendState(2L); List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st); if (CollectionUtils.isEmpty(serviceTasks)) { log.error("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid); - patMedInhosp1.setCheckFlag("2"); + patMedInhosp1.setDeptcheckFlag("2"); patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid); patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); return; } ServiceTask serviceTask = serviceTasks.get(0); - if (!createTaskServiceType.contains(serviceTask.getServiceType())) { - //涓嶆槸鍏佽鐨勬湇鍔$被鍨嬶紝鍒檆ontinue - log.error("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔$殑鏈嶅姟绫诲瀷涓嶅湪鑷姩鐢熸垚鐨勬湇鍔$被鍨嬪垪琛ㄤ腑,浠诲姟ID涓猴細{}", taskid); - patMedInhosp1.setCheckFlag("2"); - patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔$殑鏈嶅姟绫诲瀷涓嶅湪鑷姩鐢熸垚鐨勬湇鍔$被鍨嬪垪琛ㄤ腑,浠诲姟ID涓猴細" + taskid); - patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); - return; - } //灏佽serviceSubtask ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive); Integer i = 0; @@ -394,6 +482,7 @@ ServiceSubtaskVO subtask = new ServiceSubtaskVO(); subtask.setPatid(patArchive.getId()); subtask.setSendstate(2L); + subtask.setTaskid(taskid); List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(subtask); log.error("璇ユ偅鑰呭緟鎵ц鐨勪换鍔�:{}", selectServiceSubtaskList); if (CollectionUtils.isNotEmpty(selectServiceSubtaskList) && selectServiceSubtaskList.size() > 0) { @@ -402,25 +491,40 @@ //涓嶆槸闀挎湡浠诲姟锛屼笉澶勭悊 continue; } - if (serviceSubtask1.getEndtime().before(serviceSubtask.getEndtime())) { - //濡傛灉褰撳墠寰幆鐨勫瓙浠诲姟鐨勫嚭闄㈡椂闂村湪鈥滃噯澶囨柊澧炵殑瀛愪换鍔♀�濈殑鍑洪櫌鏃堕棿涔嬪墠锛屽垯灏嗗惊鐜殑瀛愪换鍔″仠鎺� + //type = 1鎴�2 琛ㄧず 鈥濈瀹ゃ�佺梾鍖衡�� + if (type == 1 || type == 2) { + if (serviceSubtask1.getEndtime().before(serviceSubtask.getEndtime()) && serviceSubtask1.getServiceType().equals("2")) { + //濡傛灉褰撳墠寰幆鐨勫瓙浠诲姟鐨勫嚭闄㈡椂闂村湪鈥滃噯澶囨柊澧炵殑瀛愪换鍔♀�濈殑鍑洪櫌鏃堕棿涔嬪墠锛屽垯灏嗗惊鐜殑瀛愪换鍔″仠鎺� + serviceSubtask1.setSendstate(4L); + serviceSubtask1.setRemark("鎮h�呭啀鍏ラ櫌"); + serviceSubtask1.setResult("error"); + serviceSubtask1.setFinishtime(new Date()); + serviceSubtask1.setUpdateBy(serviceTask.getUpdateBy()); + serviceSubtask1.setUpdateTime(new Date()); + Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); + if (aBoolean) i = 1; + } else { + //鐩稿弽,鍒欏皢褰撴湁鐨勬暟鎹仠鎺� + serviceSubtask.setResult("error"); + serviceSubtask.setFinishtime(new Date()); + serviceSubtask.setSendstate(4L); + serviceSubtask.setRemark("褰撳墠鎮h�呭嚭闄㈡椂闂村悗鏈夊緟鎵ц鐨勫嚭闄㈤殢璁块暱鏈熶换鍔�"); + serviceSubtask.setCreateBy(serviceTask.getCreateBy()); + serviceSubtask.setCreateTime(new Date()); + i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); + } + } else if (type == 3) { + //type=3 琛ㄧず鐤剧梾 + //灏嗕箣鍓嶇殑鍋滄帀 serviceSubtask1.setSendstate(4L); - serviceSubtask1.setRemark("鎮h�呭啀鍏ラ櫌"); + serviceSubtask1.setRemark("鐤剧梾鎮h�呭啀鍏ラ櫌"); serviceSubtask1.setResult("error"); serviceSubtask1.setFinishtime(new Date()); serviceSubtask1.setUpdateBy(serviceTask.getUpdateBy()); - serviceSubtask1.setUpdateTime(new Date()); - Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); - if (aBoolean) i = 1; - } else { - //鐩稿弽,鍒欏皢褰撴湁鐨勬暟鎹仠鎺� - serviceSubtask.setResult("error"); - serviceSubtask.setFinishtime(new Date()); - serviceSubtask.setSendstate(4L); - serviceSubtask.setRemark("褰撳墠鎮h�呭嚭闄㈡椂闂村悗鏈夊緟鎵ц鐨勫嚭闄㈤殢璁块暱鏈熶换鍔�"); - serviceSubtask.setCreateBy(serviceTask.getCreateBy()); - serviceSubtask.setCreateTime(new Date()); + serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); + //閲嶆柊鏂板瀛愪换鍔� i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); + } } } else { @@ -450,17 +554,22 @@ //灏哻heck_flag鏀规垚1锛堝凡澶勭悊锛� PatMedInhosp patMedInhosp2 = new PatMedInhosp(); patMedInhosp2.setInhospid(patMedInhosp1.getInhospid()); - patMedInhosp2.setCheckFlag("1"); + if (type == 1) patMedInhosp2.setDeptcheckFlag("1"); + if (type == 2) patMedInhosp2.setWardcheckFlag("1"); + if (type == 3) patMedInhosp2.setDiagcheckFlag("1"); + patMedInhospMapper.updatePatMedInhosp(patMedInhosp2); } else { //鐢熸垚瀛愪换鍔″け璐ワ紝 log.error("鐢熸垚瀛愪换鍔″け璐erviceSubtask涓猴細{}", serviceSubtask); PatMedInhosp patMedInhosp2 = new PatMedInhosp(); patMedInhosp2.setInhospid(patMedInhosp1.getInhospid()); - patMedInhosp2.setRemark("鐢熸垚瀛愪换鍔″け璐�"); + if (type == 1) patMedInhosp2.setDeptcheckFlag("2"); + if (type == 2) patMedInhosp2.setWardcheckFlag("2"); + if (type == 3) patMedInhosp2.setDiagcheckFlag("2"); + patMedInhosp2.setRemark("鐢熸垚瀛愪换鍔″け璐� " + type); patMedInhospMapper.updatePatMedInhosp(patMedInhosp2); } - } //灏佽serviceSubtask @@ -538,7 +647,6 @@ serviceSubtask1.setResult("error"); serviceSubtask1.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); -// patMedInhosp1.setCheckFlag("1"); } } } diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java index 50cd264..8bc7444 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java @@ -1,21 +1,18 @@ package com.smartor.service.impl; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; +import java.util.*; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUserDept; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.DtoConversionUtils; import com.ruoyi.common.utils.SecurityUtils; -import com.smartor.domain.PatMedReq; -import com.smartor.domain.PatMedRes; -import com.smartor.mapper.SysUserDeptMapper; +import com.ruoyi.common.utils.StringUtils; +import com.smartor.domain.*; +import com.smartor.mapper.*; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.smartor.mapper.PatMedOuthospMapper; -import com.smartor.domain.PatMedOuthosp; import com.smartor.service.IPatMedOuthospService; import org.springframework.util.CollectionUtils; @@ -25,6 +22,7 @@ * @author smartor * @date 2023-03-04 */ +@Slf4j @Service public class PatMedOuthospServiceImpl implements IPatMedOuthospService { @Autowired @@ -32,6 +30,18 @@ @Autowired private SysUserDeptMapper sysUserDeptMapper; + + @Autowired + private ServiceSubtaskMapper serviceSubtaskMapper; + + @Autowired + private ServiceTaskMapper serviceTaskMapper; + + @Autowired + private ServiceTaskdiagMapper serviceTaskdiagMapper; + + @Autowired + private PatArchiveMapper patArchiveMapper; /** @@ -127,4 +137,173 @@ } return patMedOuthosps.get(0); } + + /** + * 闂ㄨ瘖鐥呬汉淇℃伅澶勭悊 + * + * @return + */ + @Override + public Integer dealOutpatientInfo() { + PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); + patMedOuthosp.setDiagcheckFlag("0"); + List<PatMedOuthosp> patMedOuthosps = selectPatMedOuthospList(patMedOuthosp); + for (PatMedOuthosp patMedOuthosp1 : patMedOuthosps) { + // 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔� + ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag(); + serviceTaskdiag.setLongtask(1L); + serviceTaskdiag.setIcd10code(patMedOuthosp1.getIcd10code()); + List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag); + PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosp1.getPatid()); + //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛� + if (org.apache.commons.collections4.CollectionUtils.isEmpty(serviceTaskdiags) || serviceTaskdiags.size() == 0) { + patMedOuthosp1.setDiagcheckFlag("2"); + patMedOuthosp1.setRemark("閫氳繃icd10,娌℃湁鎵惧埌闅忚浠诲姟ID"); + patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp1); + } else { + for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) { + writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedOuthosp1, patArchive); + } + } + + } + return 1; + } + + private void writeInSubTask(Long taskid, Boolean check, PatMedOuthosp patMedOuthosp, PatArchive patArchive) { + + ServiceTask st = new ServiceTask(); + st.setTaskid(taskid); + st.setSendState(2L); + List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st); + if (org.apache.commons.collections4.CollectionUtils.isEmpty(serviceTasks)) { + log.error("璇ユ偅鑰呯柧鐥呴殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid); + patMedOuthosp.setDiagcheckFlag("2"); + patMedOuthosp.setRemark("璇ユ偅鑰呯柧鐥呴殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid); + patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp); + return; + } + ServiceTask serviceTask = serviceTasks.get(0); + //灏佽serviceSubtask + ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedOuthosp, patArchive); + Integer i = 0; + //鍏堝垽鏂竴涓嬶紝鏄惁闇�瑕佹牎楠� + if (check) { + //鍦ㄦ柊澧炰箣鍓嶏紝鍏堥�氳繃鎮h�匢D锛宻endstate=2鏌ヨ涓�涓嬶紝鍦ㄦ墍鏈夐暱鏈熶换鍔′腑锛屾槸涓嶆槸杩樻湁璇ユ偅鑰呭緟鎵ц鐨勪换鍔★紝鏈夌殑璇�,姣旇緝涔嬪墠鐨別ndtime鏄惁灏忎簬褰撳墠鐨別ndtaime,濡傛灉涔嬪墠鐨勫皬浜庣幇鍦ㄧ殑锛屽垯鐩存帴灏嗕箣鍓嶇殑鍋滄帀锛堝師鍥犲啀鍏ラ櫌锛� + ServiceSubtaskVO subtask = new ServiceSubtaskVO(); + subtask.setPatid(patArchive.getId()); + subtask.setSendstate(2L); + subtask.setTaskid(taskid); + List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(subtask); + log.error("璇ユ偅鑰呭緟鎵ц鐨勪换鍔�:{}", selectServiceSubtaskList); + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(selectServiceSubtaskList) && selectServiceSubtaskList.size() > 0) { + for (ServiceSubtask serviceSubtask1 : selectServiceSubtaskList) { + if (Objects.isNull(serviceSubtask1.getLongSendTime())) { + //涓嶆槸闀挎湡浠诲姟锛屼笉澶勭悊 + continue; + } + + //灏嗕箣鍓嶇殑鍋滄帀 + serviceSubtask1.setSendstate(4L); + serviceSubtask1.setRemark("鐤剧梾鎮h�呭啀鍏ラ櫌"); + serviceSubtask1.setResult("error"); + serviceSubtask1.setFinishtime(new Date()); + serviceSubtask1.setUpdateBy(serviceTask.getUpdateBy()); + serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); + //閲嶆柊鏂板瀛愪换鍔� + i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); + + } + } else { + if (StringUtils.isEmpty(serviceSubtask.getPhone())) { + serviceSubtask.setRemark("鎵嬫満鍙蜂负绌�"); + serviceSubtask.setSendstate(4L); + serviceSubtask.setResult("error"); + serviceSubtask.setFinishtime(new Date()); + } + serviceSubtask.setCreateBy(serviceTask.getCreateBy()); + serviceSubtask.setCreateTime(new Date()); + i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); + } + } else { + if (StringUtils.isEmpty(serviceSubtask.getPhone())) { + serviceSubtask.setRemark("鎵嬫満鍙蜂负绌�"); + serviceSubtask.setSendstate(4L); + serviceSubtask.setResult("error"); + serviceSubtask.setFinishtime(new Date()); + + } + serviceSubtask.setCreateBy(serviceTask.getCreateBy()); + serviceSubtask.setCreateTime(new Date()); + i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); + } + if (i == 1) { + //灏哻heck_flag鏀规垚1锛堝凡澶勭悊锛� + PatMedOuthosp patMedOuthosp1 = new PatMedOuthosp(); + patMedOuthosp1.setId(patMedOuthosp.getId()); + patMedOuthosp1.setDiagcheckFlag("1"); + patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp1); + } else { + //鐢熸垚瀛愪换鍔″け璐ワ紝 + log.error("鐢熸垚瀛愪换鍔″け璐erviceSubtask涓猴細{}", serviceSubtask); + PatMedOuthosp pmo = new PatMedOuthosp(); + pmo.setId(patMedOuthosp.getId()); + pmo.setDiagcheckFlag("2"); + pmo.setRemark("鐢熸垚瀛愪换鍔″け璐�"); + patMedOuthospMapper.updatePatMedOuthosp(pmo); + } + } + + //灏佽serviceSubtask + private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedOuthosp patMedOuthosp, PatArchive patArchive) { + ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class); + serviceSubtask.setTaskid(serviceTask.getTaskid()); + if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid())) + serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid())); + serviceSubtask.setDrcode(patMedOuthosp.getDrcode()); + serviceSubtask.setDrname(patMedOuthosp.getDrname()); + serviceSubtask.setDeptcode(patMedOuthosp.getDeptcode()); + serviceSubtask.setDeptname(patMedOuthosp.getDeptname()); + serviceSubtask.setTemplateid(serviceTask.getTemplateid()); + serviceSubtask.setTemplatename(serviceTask.getTemplatename()); + serviceSubtask.setPatid(patArchive.getId()); + serviceSubtask.setSendname(patArchive.getName()); + serviceSubtask.setSfzh(patArchive.getIdcardno()); + serviceSubtask.setPhone(patArchive.getTelcode()); + if (StringUtils.isBlank(patArchive.getTelcode())) serviceSubtask.setPhone(patArchive.getRelativetelcode()); + serviceSubtask.setSex(patArchive.getSex()); + serviceSubtask.setAge(patArchive.getAge()); + serviceSubtask.setSendstate(2L); + serviceSubtask.setServiceType("3"); + serviceSubtask.setPreachform(serviceTask.getPreachform()); + serviceSubtask.setHospType("1"); + serviceSubtask.setCreateTime(new Date()); + serviceSubtask.setUpdateTime(new Date()); + serviceSubtask.setUpdateBy(serviceTask.getUpdateBy()); + serviceSubtask.setUpdateTime(new Date()); + //璁剧疆鍙戦�佹椂闂� + if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L); + Date newDate = addDays(patMedOuthosp.getAdmitdate(), serviceTask.getSendDay().intValue()); + serviceSubtask.setLongSendTime(newDate); + //鎮h�呭彂閫佹椂闂� + if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) { + String remark = patArchive.getNotrequiredreason(); + serviceSubtask.setRemark(remark); + serviceSubtask.setResult("error"); + serviceSubtask.setFinishtime(new Date()); + //涓嶆墽琛� + serviceSubtask.setSendstate(4L); + } + return serviceSubtask; + } + + private Date addDays(Date date, Integer days) { + if (days == null) { + days = 1; + } + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.DAY_OF_MONTH, days); + return calendar.getTime(); + } } diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml index e17bbef..36d4062 100644 --- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml @@ -47,7 +47,9 @@ <result property="patname" column="patname"/> <result property="patno" column="patno"/> <result property="inhospstate" column="inhospstate"/> - <result property="checkFlag" column="check_flag"/> + <result property="deptcheckFlag" column="deptcheck_flag"/> + <result property="wardcheckFlag" column="wardcheck_flag"/> + <result property="diagcheckFlag" column="diagcheck_flag"/> <result property="age" column="age"/> <result property="sex" column="sex"/> <result property="telcode" column="telcode"/> @@ -88,7 +90,9 @@ out_way_name, nurse_id, nurse_name, - check_flag, + deptcheck_flag, + wardcheck_flag, + diagcheck_flag, inhospstate, patno, long_task_reason, @@ -143,7 +147,9 @@ b.patname, b.out_way_id, b.out_way_name, - b.check_flag, + b.deptcheck_flag, + b.wardcheck_flag, + b.diagcheck_flag, b.inhospstate, b.patno, b.inhospno, @@ -243,7 +249,9 @@ <if test="patno != null ">and b.patno = #{patno}</if> <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if> <if test="nurseName != null and nurseName != ''">and b.nurse_name = #{nurseName}</if> - <if test="checkFlag != null ">and b.check_flag = #{checkFlag}</if> + <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if> + <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if> + <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if> <if test="cry != null and cry == 0 ">and b.endtime is null</if> <if test="cry != null and cry == 1 ">and b.endtime is not null</if> <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if> @@ -300,7 +308,9 @@ b.out_way_name, b.nurse_id, b.nurse_name, - b.check_flag, + b.deptcheckFlag, + b.diagcheckFlag, + b.wardcheckFlag, b.inhospstate, b.patno, b.inhospno, @@ -369,7 +379,9 @@ <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if> <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if> <if test="patno != null ">and b.patno = #{patno}</if> - <if test="checkFlag != null ">and b.check_flag = #{checkFlag}</if> + <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if> + <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if> + <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if> <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if> <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if> <if test="leavediagname != null and leavediagname != ''">and b.leavediagname like concat('%', @@ -451,7 +463,9 @@ <if test="patname!= null">patname,</if> <if test="patno != null">patno,</if> <if test="inhospstate != null">inhospstate,</if> - <if test="checkFlag != null">check_flag,</if> + <if test="deptcheckFlag != null">deptcheck_flag,</if> + <if test="wardcheckFlag != null">wardcheck_flag,</if> + <if test="diagcheckFlag != null">diagcheck_flag,</if> <if test="longTaskReason != null">long_task_reason,</if> <if test="nurseId != null ">nurse_id,</if> <if test="nurseName != null ">nurse_name,</if> @@ -511,7 +525,9 @@ <if test="patname!= null">#{patname},</if> <if test="patno != null">#{patno},</if> <if test="inhospstate != null">#{inhospstate},</if> - <if test="checkFlag != null">#{checkFlag},</if> + <if test="deptcheckFlag != null">#{deptcheckFlag},</if> + <if test="wardcheckFlag != null">#{wardcheckFlag},</if> + <if test="diagcheckFlag != null">#{diagcheckFlag},</if> <if test="longTaskReason != null">#{longTaskReason},</if> <if test="nurseId != null ">#{nurseId},</if> <if test="nurseName != null ">#{nurseName},</if> @@ -575,7 +591,9 @@ <if test="patname!= null">patname = #{patname},</if> <if test="patno != null">patno = #{patno},</if> <if test="inhospstate != null">inhospstate = #{inhospstate},</if> - <if test="checkFlag != null">check_flag = #{checkFlag},</if> + <if test="deptcheckFlag != null">deptcheck_flag = #{deptcheckFlag},</if> + <if test="wardcheckFlag != null">wardcheck_flag = #{wardcheckFlag},</if> + <if test="diagcheckFlag != null">diagcheck_flag = #{diagcheckFlag},</if> <if test="longTaskReason != null">long_task_reason = #{longTaskReason},</if> <if test="nurseId != null ">nurse_id = #{nurseId},</if> <if test="nurseName != null ">nurse_name = #{nurseName},</if> diff --git a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml index f103c31..6b2edb7 100644 --- a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml +++ b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml @@ -34,12 +34,16 @@ <result property="patname" column="patname"/> <result property="guid" column="guid"/> <result property="patno" column="patno"/> + <result property="diagcheckFlag" column="diagcheck_flag"/> + <result property="remark" column="remark"/> </resultMap> <sql id="selectPatMedOuthospVo"> select id, outhospno, + diagcheck_flag, patno, + remark, serialnum, patid, hospitalname, @@ -73,7 +77,9 @@ resultMap="PatMedOuthospResult"> select pmo.id, + pmo.remark, pmo.outhospno, + pmo.diagcheck_flag, pmo.patno, pmo.serialnum, pmo.patid, @@ -106,7 +112,7 @@ from pat_med_outhosp pmo left join pat_archive pa on pmo.patid = pa.id <where> pmo.del_flag=0 - and pmo.orgid =#{orgid} + <if test="orgid != null ">and pmo.orgid = #{orgid}</if> <if test="hospitalname != null and hospitalname != ''">and pmo.hospitalname like concat('%', #{hospitalname}, '%') @@ -131,6 +137,7 @@ <if test="patno != null ">and pmo.patno = #{patno}</if> <if test="orgid != null and orgid != ''">and pmo.orgid = #{orgid}</if> <if test="outhospno != null and outhospno != ''">and pmo.outhospno = #{outhospno}</if> + <if test="diagcheckFlag != null and diagcheckFlag != ''">and pmo.diagcheck_flag = #{diagcheckFlag}</if> </where> order by pmo.update_time desc </select> @@ -172,6 +179,8 @@ <if test="patname != null">patname,</if> <if test="guid != null">guid,</if> <if test="patno != null">patno,</if> + <if test="diagcheckFlag != null">diagcheck_flag,</if> + <if test="remark != null">remark,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="serialnum != null">#{serialnum},</if> @@ -202,6 +211,8 @@ <if test="patname != null">#{patname},</if> <if test="guid != null">#{guid},</if> <if test="patno != null">#{patno},</if> + <if test="diagcheckFlag != null">#{diagcheckFlag},</if> + <if test="remark != null">#{remark},</if> </trim> </insert> @@ -236,6 +247,8 @@ <if test="patname != null">patname = #{patname},</if> <if test="guid != null">guid = #{guid},</if> <if test="patno != null">patno = #{patno},</if> + <if test="diagcheckFlag != null">diagcheck_flag = #{diagcheckFlag},</if> + <if test="remark != null">remark = #{remark},</if> </trim> where id = #{id} </update> -- Gitblit v1.9.3