From 3d453a41ccd7c69a40bd9bfa31f8c5b159513b6b Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 10 十月 2025 16:09:00 +0800 Subject: [PATCH] 修改BUG --- smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 99 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 77 insertions(+), 22 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 3d84dfb..7e34d50 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java @@ -1,5 +1,8 @@ package com.smartor.service.impl; +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.utils.DateUtils; import com.ruoyi.common.utils.DtoConversionUtils; @@ -14,6 +17,8 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.time.Instant; +import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -44,7 +49,7 @@ @Autowired private ServiceSubtaskMapper serviceSubtaskMapper; @Autowired - private SysUserDeptMapper sysUserDeptMapper; + private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; @Value("${visitHosp}") private Integer visitHosp; @@ -538,10 +543,20 @@ st.setTaskid(taskid); st.setSendState(2L); List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st); - if (CollectionUtils.isEmpty(serviceTasks)) { + if (CollectionUtils.isEmpty(serviceTasks) && type == 1) { log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid); patMedInhosp1.setDeptcheckFlag("2"); - patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid); + patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid); + patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); + return; + } else if (CollectionUtils.isEmpty(serviceTasks) && type == 2) { + patMedInhosp1.setWardcheckFlag("2"); + patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid); + patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); + return; + } else if (CollectionUtils.isEmpty(serviceTasks) && type == 3) { + patMedInhosp1.setDiagcheckFlag("2"); + patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid); patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); return; } @@ -607,31 +622,17 @@ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); //閲嶆柊鏂板瀛愪换鍔� i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); + //杩欓噷闇�瑕佸叏澶辫触 + addServiceSubtaskPreachform(serviceSubtask, "5"); } } - } 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); + addServiceSubtaskPreachform(serviceSubtask, null); } if (i == 1) { //灏哻heck_flag鏀规垚1锛堝凡澶勭悊锛� @@ -654,6 +655,36 @@ patMedInhospMapper.updatePatMedInhosp(patMedInhosp2); } } + + private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) { + //灏唒reachform鐨刯son瀵硅薄锛屾斁鍒發ist闆嗗悎涓� + String preachform = serviceSubtask.getPreachform(); + ObjectMapper objectMapper = new ObjectMapper(); + if (org.apache.commons.lang3.StringUtils.isNotEmpty(preachform)) { + List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = null; + try { + serviceSubtaskPreachformList = objectMapper.readValue(preachform, new TypeReference<List<ServiceSubtaskPreachform>>() { + }); + } catch (JsonProcessingException e) { + log.error("preachform杞琇ist<ServiceSubtaskPreachform>鎶ラ敊浜嗭細{}", e.getMessage()); + } + for (ServiceSubtaskPreachform serviceSubtaskPreachform : serviceSubtaskPreachformList) { + serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); + serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); + //杩欎釜sendstate闇�瑕佸湪鏁版嵁搴撹缃竴涓粯璁ゅ�间负鈥�1鈥� + serviceSubtaskPreachform.setSendstate("1"); + if (StringUtils.isNotEmpty(sendstate)) serviceSubtaskPreachform.setSendstate(sendstate); + + serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); + return serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform); + + } + + } + + return 0; + } + //灏佽serviceSubtask private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive) { @@ -680,6 +711,8 @@ serviceSubtask.setSex(patArchive.getSex()); serviceSubtask.setAge(patArchive.getAge()); serviceSubtask.setSendstate(2L); + serviceSubtask.setManagementDoctor(patMedInhosp1.getManagementDoctor()); + serviceSubtask.setManagementDoctorCode(patMedInhosp1.getManagementDoctorCode()); serviceSubtask.setStarttime(patMedInhosp1.getStarttime()); serviceSubtask.setEndtime(patMedInhosp1.getEndtime()); serviceSubtask.setServiceType(serviceTask.getServiceType()); @@ -697,19 +730,41 @@ Date newDate = addDays(patMedInhosp1.getEndtime(), serviceTask.getSendDay().intValue()); serviceSubtask.setLongSendTime(newDate); serviceSubtask.setVisitTime(newDate); + //濡傛灉鏄�氱煡鐨勮瘽锛岄渶瑕佹彁鍓嶅嚑澶╁皢閫氳繃鐭俊鍙戝嚭鍘伙紙鍏蜂綋鍑犲ぉ锛岃繖涓彲浠ラ厤缃湪sys_conf琛ㄤ腑锛� + if ("3".equals(serviceTask.getType())) { + serviceSubtask.setVisitTime(minusDay(newDate, 2)); + } + + //鎮h�呭彂閫佹椂闂� if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) { -// log.error("serviceSubtask99999999鐨勫�间负锛歿}",serviceSubtask); String remark = patArchive.getNotrequiredreason(); serviceSubtask.setRemark(remark); serviceSubtask.setResult("error"); -// serviceSubtask.setFinishtime(new Date()); //涓嶆墽琛� serviceSubtask.setSendstate(4L); } return serviceSubtask; } + /** + * 鍑忓幓鐩稿簲澶╂暟 + * + * @param originalDate + * @param day + * @return + */ + public Date minusDay(Date originalDate, Integer day) { + // 1. 灏� Date 杞崲涓� Instant + Instant instant = originalDate.toInstant(); + + // 2. 鍦� Instant 涓婂噺鍘�2澶� + Instant twoDaysAgoInstant = instant.minus(2, ChronoUnit.DAYS); + + // 3. 灏嗚绠楀悗鐨� Instant 杞洖 Date + return Date.from(twoDaysAgoInstant); + } + //澶勭悊鍏ラ櫌淇℃伅 private void dealInHospInfo(List<PatMedInhosp> patMedInhospList) { for (PatMedInhosp patMedInhosp1 : patMedInhospList) { -- Gitblit v1.9.3