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