From bedd0a1cef215538df64470df6b8d4a022189136 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 28 八月 2024 14:05:16 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 155 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 132 insertions(+), 23 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 7853b90..27a3555 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java @@ -1,96 +1,205 @@ package com.smartor.service.impl; +import java.time.LocalDate; +import java.time.ZoneOffset; +import java.util.ArrayList; +import java.util.Date; import java.util.List; + import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.DtoConversionUtils; +import com.ruoyi.common.utils.StringUtils; +import com.smartor.domain.*; +import com.smartor.mapper.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import com.smartor.mapper.PatMedInhospMapper; -import com.smartor.domain.PatMedInhosp; import com.smartor.service.IPatMedInhospService; +import org.springframework.transaction.annotation.Transactional; /** * 鎮h�呬綇闄㈣褰昐ervice涓氬姟灞傚鐞� - * + * * @author smartor * @date 2023-03-04 */ +@Slf4j @Service -public class PatMedInhospServiceImpl implements IPatMedInhospService -{ +public class PatMedInhospServiceImpl implements IPatMedInhospService { @Autowired private PatMedInhospMapper patMedInhospMapper; + @Autowired + private PatArchiveMapper patArchiveMapper; + + @Autowired + private IvrLibaTemplateMapper ivrLibaTemplateMapper; + + @Autowired + private IvrTaskTemplateMapper ivrTaskTemplateMapper; + + @Autowired + private ServiceTaskMapper serviceTaskMapper; + + @Autowired + private ServiceSubtaskMapper serviceSubtaskMapper; + + //璁板綍闀挎湡浠诲姟鍩虹淇℃伅 + List<IvrLibaTemplate> libaTemplates = new ArrayList<>(); + List<IvrTaskTemplate> ivrTaskTemplates = new ArrayList<>(); + List<ServiceTask> serviceTaskList = new ArrayList<>(); + /** * 鏌ヨ鎮h�呬綇闄㈣褰� - * + * * @param inhospid 鎮h�呬綇闄㈣褰曚富閿� * @return 鎮h�呬綇闄㈣褰� */ @Override - public PatMedInhosp selectPatMedInhospByInhospid(Long inhospid) - { + public PatMedInhosp selectPatMedInhospByInhospid(Long inhospid) { return patMedInhospMapper.selectPatMedInhospByInhospid(inhospid); } /** * 鏌ヨ鎮h�呬綇闄㈣褰曞垪琛� - * + * * @param patMedInhosp 鎮h�呬綇闄㈣褰� * @return 鎮h�呬綇闄㈣褰� */ @Override - public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp) - { + public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp) { return patMedInhospMapper.selectPatMedInhospList(patMedInhosp); } /** * 鏂板鎮h�呬綇闄㈣褰� - * + * * @param patMedInhosp 鎮h�呬綇闄㈣褰� * @return 缁撴灉 */ @Override - public int insertPatMedInhosp(PatMedInhosp patMedInhosp) - { + public int insertPatMedInhosp(PatMedInhosp patMedInhosp) { patMedInhosp.setCreateTime(DateUtils.getNowDate()); + patMedInhosp.setUpdateTime(DateUtils.getNowDate()); return patMedInhospMapper.insertPatMedInhosp(patMedInhosp); } /** * 淇敼鎮h�呬綇闄㈣褰� - * + * * @param patMedInhosp 鎮h�呬綇闄㈣褰� * @return 缁撴灉 */ @Override - public int updatePatMedInhosp(PatMedInhosp patMedInhosp) - { + public int updatePatMedInhosp(PatMedInhosp patMedInhosp) { patMedInhosp.setUpdateTime(DateUtils.getNowDate()); return patMedInhospMapper.updatePatMedInhosp(patMedInhosp); } /** * 鎵归噺鍒犻櫎鎮h�呬綇闄㈣褰� - * + * * @param inhospids 闇�瑕佸垹闄ょ殑鎮h�呬綇闄㈣褰曚富閿� * @return 缁撴灉 */ @Override - public int deletePatMedInhospByInhospids(Long[] inhospids) - { + public int deletePatMedInhospByInhospids(Long[] inhospids) { return patMedInhospMapper.deletePatMedInhospByInhospids(inhospids); } /** * 鍒犻櫎鎮h�呬綇闄㈣褰曚俊鎭� - * + * * @param inhospid 鎮h�呬綇闄㈣褰曚富閿� * @return 缁撴灉 */ @Override - public int deletePatMedInhospByInhospid(Long inhospid) - { + public int deletePatMedInhospByInhospid(Long inhospid) { return patMedInhospMapper.deletePatMedInhospByInhospid(inhospid); } + + @Transactional(rollbackFor = Exception.class) + @Override + public int dealOupHospInfo() { + //鑾峰彇闀挎湡妯℃澘 + IvrLibaTemplate ivrTemp = new IvrLibaTemplate(); + ivrTemp.setDelFlag("0"); + ivrTemp.setLongTemp(1); + List<IvrLibaTemplate> ivrLibaTemplates = ivrLibaTemplateMapper.selectIvrLibaTemplateList(ivrTemp); + + if (CollectionUtils.isNotEmpty(ivrLibaTemplates)) { + for (IvrLibaTemplate ivrLibaTemplate : ivrLibaTemplates) { + //鑾峰彇鍒颁换鍔℃ā鏉夸俊鎭� + IvrTaskTemplate ivrTaskTemplate = new IvrTaskTemplate(); + ivrTaskTemplate.setLibtemplateid(ivrLibaTemplate.getId().toString()); + List<IvrTaskTemplate> ivrTaskTemplates = ivrTaskTemplateMapper.selectIvrTaskTemplateList(ivrTaskTemplate); + if (CollectionUtils.isNotEmpty(ivrTaskTemplates)) { + IvrTaskTemplate ivrTaskTemplate1 = ivrTaskTemplates.get(0); + //閫氳繃浠诲姟妯℃澘ID鑾峰彇浠诲姟 + ServiceTask ServiceTask = new ServiceTask(); + ServiceTask.setTemplateid(ivrTaskTemplate1.getId()); + List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(ServiceTask); + if (CollectionUtils.isNotEmpty(serviceTasks)) { + serviceTaskList.add(serviceTasks.get(0)); + } + ivrTaskTemplates.add(ivrTaskTemplate1); + } + libaTemplates.add(ivrLibaTemplate); + } + } + + PatMedInhosp patMedInhosp = new PatMedInhosp(); + //鑾峰彇鏈鐞嗙殑鏁版嵁 + patMedInhosp.setCheckFlag("0"); + patMedInhosp.setInhospstate("1"); + List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); + for (PatMedInhosp patMedInhosp1 : patMedInhosps) { + PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid()); + //閫氳繃icd10code鍘昏幏鍙栫浉搴旂殑ivr_liba_template_id + if (StringUtils.isNotEmpty(patMedInhosp1.getIcd10code())) { + for (IvrLibaTemplate ivrLibaTemplate : libaTemplates) { + String icdCode = patMedInhosp1.getIcd10code().split(",")[0]; + if (ivrLibaTemplate.getIcd10code().equals(icdCode)) { + //閫氳繃妯℃澘ID鑾峰彇浠诲姟妯℃澘 + for (IvrTaskTemplate ivrTaskTemplate : ivrTaskTemplates) { + if (ivrTaskTemplate.getLibtemplateid().equals(ivrLibaTemplate.getId().toString())) { + for (ServiceTask serviceTask : serviceTaskList) { + if (serviceTask.getTemplateid() == ivrTaskTemplate.getId()) { + //灏嗚鎮h�咃紝鎻掑叆鍒板瓙浠诲姟琛ㄤ腑 + ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class); + serviceSubtask.setId(null); + serviceSubtask.setTaskid(serviceTask.getTaskid()); + serviceSubtask.setLibtemplateid(ivrLibaTemplate.getId()); + serviceSubtask.setTemplateid(ivrTaskTemplate.getId()); + serviceSubtask.setTemplatename(ivrLibaTemplate.getTemplateName()); + serviceSubtask.setPatid(patMedInhosp1.getPatid()); + serviceSubtask.setSendname(patMedInhosp1.getPatname()); + serviceSubtask.setPhone(patArchive.getTelcode()); + serviceSubtask.setSex(patArchive.getSex()); + serviceSubtask.setAge(patArchive.getAge()); + serviceSubtask.setSendstate(2L); + serviceSubtask.setServiceform(serviceTask.getPreachform()); + serviceSubtask.setHospType("2"); + //鎮h�呭彂閫佹椂闂� + LocalDate currentDate = LocalDate.now(); + LocalDate newDate = currentDate.plusDays(ivrTaskTemplate.getSendDay()); + serviceSubtask.setLongSendTime(Date.from(newDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant())); + serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); + //灏哻heck_flag鏀规垚1锛堝凡澶勭悊锛� + PatMedInhosp patMedInhosp2 = new PatMedInhosp(); + patMedInhosp2.setInhospid(patMedInhosp1.getInhospid()); + patMedInhosp2.setCheckFlag("1"); + patMedInhospMapper.updatePatMedInhosp(patMedInhosp2); + } + } + } + } + } + } + } + } + return 1; + } } -- Gitblit v1.9.3