From e4e220916dd2a4aa649a9b0162e5b5ed0dc9d7e5 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 20 五月 2025 10:36:54 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 419 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 301 insertions(+), 118 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 a6bab80..c44c160 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�呬綇闄㈣褰� @@ -89,6 +74,19 @@ patMedInhosp1.setTagname(tagname); } return patMedInhospList; + } + + @Override + public Map<String, Integer> queryPersonCount(PatServiceCount patServiceCount) { + if (patServiceCount.getInterval() == 1) { + //鍛� + } else if (patServiceCount.getInterval() == 2) { + //鏈� + } else if (patServiceCount.getInterval() == 3) { + //骞� + } + + return null; } /** @@ -202,87 +200,52 @@ return patMedInhospMapper.deletePatMedInhospByInhospno(inhospno); } - @Override public int dealOutHospInfo() { - PatMedInhosp patMedInhosp = new PatMedInhosp(); - //鑾峰彇闇�瑕佸嚭闄㈤殢璁匡紝鏈鐞嗙殑鏁版嵁 - patMedInhosp.setCheckFlag("0"); - patMedInhosp.setInhospstate("1"); - patMedInhosp.setFuflag("1"); - List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); - log.error("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鎮h�呬俊鎭細{}", patMedInhosps); + + PatMedInhosp pmks = new PatMedInhosp(); + //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁 + pmks.setDeptcheckFlag("0"); + pmks.setInhospstate("1"); + pmks.setFuflag("1"); + List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks); + 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.setCheckFlag("2"); + 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.setCheckFlag("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); + //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑闀挎湡浠诲姟 + ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); + serviceTaskdept.setLongtask(1L); + serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode()); + serviceTaskdept.setDeptType("1"); + serviceTaskdept.setOrgid(patMedInhosp1.getOrgid()); + List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept); + //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛� + if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) { + PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid()); + patMedInhosp1.setDeptcheckFlag("2"); + patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆闀挎湡浠诲姟;"); + patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); + } else { + for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) { + writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1); } - - writeInSubTask(serviceTaskdepts.get(0).getTaskId(), true, patMedInhosp1, patArchive); - } else 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.setCheckFlag("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); + patMedInhosp1.setDeptcheckFlag("1"); + patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); } - } catch (Exception e) { e.printStackTrace(); @@ -290,19 +253,225 @@ } } + //鏍规嵁鎮h�呮墍鍦ㄧ梾鍖猴紝鑾峰彇璇ョ梾鍖虹殑闀挎湡浠诲姟,鏂板崕鍖婚櫌鍙互鍏堜笉鐢ㄦ牴鎹梾鍖哄拰鐤剧梾鏉ュ仛 + if (visitHosp != 1) { + + PatMedInhosp pmbq = new PatMedInhosp(); + //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁 + pmbq.setWardcheckFlag("0"); + pmbq.setInhospstate("1"); + pmbq.setFuflag("1"); + List<PatMedInhosp> patMedInhospBQs = patMedInhospMapper.selectPatMedInhospList(pmbq); + log.error("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐥呭尯鎮h�呬俊鎭細{}", patMedInhosps); + for (PatMedInhosp patMedInhosp1 : patMedInhospBQs) { + String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid()); + patMedInhosp1.setTagname(tagname); + } + + //鐥呭尯鏁版嵁澶勭悊 + for (PatMedInhosp pmiBQ1 : patMedInhospBQs) { + //鑾峰彇鎮h�呬俊鎭� + PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiBQ1.getPatid()); + if (Objects.isNull(patArchive)) { + pmiBQ1.setWardcheckFlag("2"); + pmiBQ1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�"); + patMedInhospMapper.updatePatMedInhosp(pmiBQ1); + continue; + } + try { + ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); + serviceTaskdept.setLongtask(1L); + serviceTaskdept.setDeptCode(pmiBQ1.getLeavehospitaldistrictcode()); + serviceTaskdept.setDeptType("2"); + serviceTaskdept.setOrgid(pmiBQ1.getOrgid()); + List<ServiceTaskdept> serviceTaskdeptList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept); + //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛� + if (CollectionUtils.isEmpty(serviceTaskdeptList) || serviceTaskdeptList.size() == 0) { + PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiBQ1.getInhospid()); + pmiBQ1.setWardcheckFlag("2"); + pmiBQ1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆闀挎湡浠诲姟;"); + patMedInhospMapper.updatePatMedInhosp(pmiBQ1); + } else { + for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) { + writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiBQ1, patArchive, 2); + } + pmiBQ1.setWardcheckFlag("1"); + patMedInhospMapper.updatePatMedInhosp(pmiBQ1); + } + + + } catch (Exception e) { + e.printStackTrace(); + log.error("浜哄憳澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage()); + } + } + + PatMedInhosp pmjb = new PatMedInhosp(); + //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁 + pmjb.setDiagcheckFlag("0"); + pmjb.setInhospstate("1"); + pmjb.setFuflag("1"); + List<PatMedInhosp> patMedInhospJBs = patMedInhospMapper.selectPatMedInhospList(pmjb); + log.error("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐤剧梾鎮h�呬俊鎭細{}", patMedInhosps); + for (PatMedInhosp patMedInhosp1 : patMedInhospJBs) { + String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid()); + patMedInhosp1.setTagname(tagname); + } + + for (PatMedInhosp pmiJB : patMedInhospJBs) { + //鑾峰彇鎮h�呬俊鎭� + PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiJB.getPatid()); + if (Objects.isNull(patArchive)) { + pmiJB.setDiagcheckFlag("2"); + pmiJB.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�"); + patMedInhospMapper.updatePatMedInhosp(pmiJB); + continue; + } + try { + if (StringUtils.isEmpty(pmiJB.getLeaveicd10code())) { + continue; + } + // 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔� + ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag(); + serviceTaskdiag.setLongtask(1L); + serviceTaskdiag.setIcd10code(pmiJB.getLeaveicd10code()); + serviceTaskdiag.setOrgid(pmiJB.getOrgid()); + + List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag); + //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛� + if (CollectionUtils.isEmpty(serviceTaskdiags) || serviceTaskdiags.size() == 0) { + PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid()); + pmiJB.setDiagcheckFlag("2"); + pmiJB.setLongTaskReason(patMedInhosp.getLongTaskReason() + "鎵�鎮g殑鐤剧梾鏈厤缃暱鏈熶换鍔�;"); + patMedInhospMapper.updatePatMedInhosp(pmiJB); + } else { + for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) { + writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3); + } + pmiJB.setDiagcheckFlag("1"); + patMedInhospMapper.updatePatMedInhosp(pmiJB); + } + + } catch (Exception e) { + e.printStackTrace(); + log.error("浜哄憳澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage()); + } + } + } + //鑾峰彇鏈鐞嗗湪闄㈢殑鏁版嵁(濡傛灉鍒氬垰鍑洪櫌鐨勬偅鑰呮暟鎹殑鍑洪櫌鏃堕棿,鍦ㄤ笅闈㈡煡璇㈠嚭鐨勫叆闄㈡椂闂翠箣鍓�,閭d箣鍓嶇殑鍑洪櫌鎮h�呯殑鏁版嵁,涔熷緱鍋滄帀,鍥犱负鍙堝叆闄簡) - patMedInhosp.setCheckFlag("0"); + PatMedInhosp patMedInhosp = new PatMedInhosp(); + //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁 + 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; } + +// +// @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; +// } /** * 鑾峰彇鍑洪櫌锛屼綇闄紝闂ㄨ瘖鏈嶅姟浜烘 @@ -313,7 +482,7 @@ @Override public List<PatMedRes> getDeptRanking(PatMedReq patMedReq) { - return patMedInhospMapper.getDeptRanking(patMedReq); + return serviceSubtaskMapper.getDeptRanking(patMedReq); } @Override @@ -361,30 +530,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 +554,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 +563,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 +626,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 @@ -476,6 +657,8 @@ serviceSubtask.setDrname(patMedInhosp1.getDrname()); serviceSubtask.setDeptcode(patMedInhosp1.getLeaveldeptcode()); serviceSubtask.setDeptname(patMedInhosp1.getLeaveldeptname()); + serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code()); + serviceSubtask.setLeavediagname(patMedInhosp1.getDiagname()); serviceSubtask.setTemplateid(serviceTask.getTemplateid()); serviceSubtask.setTemplatename(serviceTask.getTemplatename()); serviceSubtask.setPatid(patArchive.getId()); @@ -488,7 +671,7 @@ serviceSubtask.setSendstate(2L); serviceSubtask.setStarttime(patMedInhosp1.getStarttime()); serviceSubtask.setEndtime(patMedInhosp1.getEndtime()); - serviceSubtask.setServiceType("2"); + serviceSubtask.setServiceType(serviceTask.getServiceType()); serviceSubtask.setPreachform(serviceTask.getPreachform()); serviceSubtask.setHospType("2"); serviceSubtask.setCreateTime(new Date()); @@ -504,6 +687,7 @@ serviceSubtask.setLongSendTime(newDate); //鎮h�呭彂閫佹椂闂� if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) { +// log.error("serviceSubtask99999999鐨勫�间负锛歿}",serviceSubtask); String remark = patArchive.getNotrequiredreason(); serviceSubtask.setRemark(remark); serviceSubtask.setResult("error"); @@ -523,7 +707,7 @@ subtask.setPatid(patMedInhosp1.getPatid()); subtask.setSendstate(2L); List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(subtask); - log.error("鍏ラ櫌鐨勬偅鑰呭緟鎵ц鐨勪换鍔�:{}", selectServiceSubtaskList); +// log.error("鍏ラ櫌鐨勬偅鑰呭緟鎵ц鐨勪换鍔�:{}", selectServiceSubtaskList); if (CollectionUtils.isNotEmpty(selectServiceSubtaskList) && selectServiceSubtaskList.size() > 0) { for (ServiceSubtask serviceSubtask1 : selectServiceSubtaskList) { if (Objects.isNull(serviceSubtask1.getLongSendTime())) { @@ -532,13 +716,12 @@ } if (serviceSubtask1.getEndtime().before(patMedInhosp1.getStarttime())) { //濡傛灉褰撳墠寰幆鐨勫瓙浠诲姟鐨勫嚭闄㈡椂闂村湪鈥滃噯澶囨柊澧炵殑瀛愪换鍔♀�濈殑鍑洪櫌鏃堕棿涔嬪墠锛屽垯灏嗗惊鐜殑瀛愪换鍔″仠鎺� - log.error("鎮h�呭啀鍏ラ櫌鐨剆erviceSubtask1涓�:{}", serviceSubtask1); +// log.error("鎮h�呭啀鍏ラ櫌鐨剆erviceSubtask1涓�:{}", serviceSubtask1); serviceSubtask1.setSendstate(4L); serviceSubtask1.setRemark("鎮h�呭啀鍏ラ櫌"); serviceSubtask1.setResult("error"); serviceSubtask1.setFinishtime(new Date()); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); -// patMedInhosp1.setCheckFlag("1"); } } } -- Gitblit v1.9.3