From 9526971c403417c1c007804f24884c443b9e6cd7 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 04 九月 2024 00:34:40 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java | 169 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 108 insertions(+), 61 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java index 15fb59d..eae0749 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java @@ -1,13 +1,5 @@ package com.smartor.service.impl; -import java.io.FileOutputStream; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.*; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.stream.Collectors; - import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.base.BaseException; @@ -16,7 +8,9 @@ import com.ruoyi.common.utils.StringUtils; import com.smartor.domain.*; import com.smartor.mapper.BaseTagMapper; +import com.smartor.mapper.PatArchiveMapper; import com.smartor.mapper.PatArchivetagMapper; +import com.smartor.service.IPatArchiveService; import com.smartor.service.IPatMedInhospService; import com.smartor.service.IPatMedOuthospService; import com.smartor.service.IPatMedPhysicalService; @@ -24,14 +18,23 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.poi.hssf.usermodel.HSSFDateUtil; -import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.usermodel.DataFormatter; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.smartor.mapper.PatArchiveMapper; -import com.smartor.service.IPatArchiveService; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; + +import java.io.FileOutputStream; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.stream.Collectors; /** * 鎮h�呮。妗圫ervice涓氬姟灞傚鐞� @@ -94,63 +97,62 @@ * @return 缁撴灉 */ @Override - public int insertPatArchive(PatArchive patArchive) { + public Integer insertPatArchive(PatArchive patArchive) { patArchive.setCreateTime(DateUtils.getNowDate()); - List<PatArchive> patArchives = new ArrayList<>(); - patArchives.add(patArchive); - return patArchiveMapper.insertPatArchive(patArchives); + patArchiveMapper.insertPatArchiveSingle(patArchive); + return patArchive.getId().intValue(); + } + + @Override + public Boolean update(PatArchive patArchive) { + int i = patArchiveMapper.updatePatArchive(patArchive); + if (i != 1) { + return false; + } + return true; } /** - * 淇敼鎮h�呮。妗� + * 鏂板鎴栦慨鏀规偅鑰呮。淇℃伅 * - * @param patArchive 鎮h�呮。妗� + * @param patArchiveVO 鏂板鎴栦慨鏀规偅鑰呮。淇℃伅 * @return 缁撴灉 */ @Transactional(rollbackFor = Exception.class) @Override - public Boolean updatePatArchive(PatArchive patArchive) { - patArchive.setUpdateTime(DateUtils.getNowDate()); + public Boolean saveOrUpdatePatInfo(PatArchiveVO patArchiveVO) { + //閫氳繃isoperation鏉ュ垽鏂槸鍚︽柊澧� + PatArchive patArchive = DtoConversionUtils.sourceToTarget(patArchiveVO, PatArchive.class); + if (patArchiveVO.getIsoperation() != null && patArchiveVO.getIsoperation() == 1 || patArchiveVO.getId() == null) { + //鏂板 + List<PatArchive> patArchives = new ArrayList<>(); + patArchive.setUpdateTime(DateUtils.getNowDate()); + patArchives.add(patArchive); + patArchiveMapper.insertPatArchive(patArchives); + } else if (patArchiveVO.getIsoperation() != null && patArchiveVO.getIsoperation() == 2 || patArchiveVO.getId() != null) { + //淇敼 + patArchiveVO.setIsoperation(2); + patArchiveMapper.updatePatArchive(patArchive); + } - for (String tagName : patArchive.getTagList()) { - BaseTag baseTag = new BaseTag(); - baseTag.setTagname(tagName); - List<BaseTag> baseTags = baseTagMapper.selectBaseTagList(baseTag); - - if (CollectionUtils.isEmpty(baseTags)) { - baseTag = new BaseTag(); - baseTag.setTagcategoryid(1L); - baseTag.setTagname(tagName); - baseTag.setOrgid(null); - baseTag.setDelFlag("0"); - baseTag.setCreateBy(null); - baseTag.setCreateTime(new Date()); - baseTag.setCreateBy(null); - baseTag.setCreateTime(new Date()); - baseTagMapper.insertBaseTag(baseTag); - //鐒跺悗鍐嶅線pat_archivetag琛ㄤ腑鏂板 - } else { - //濡傛灉鍦╞asetag涓瓨鍦�,鍒欐牴鎹畉agid鍜宲atid鍘籶at_archivetag琛ㄤ腑鏌ヨ鏄惁瀛樺湪 - baseTag = baseTags.get(0); - PatArchivetag patArchivetag = new PatArchivetag(); - patArchivetag.setPatid(patArchive.getPatid()); - patArchivetag.setTagid(baseTag.getTagid()); - List<PatArchivetag> patArchivetags = patArchivetagMapper.selectPatArchivetagAndBaseTagList(patArchivetag); - if (CollectionUtils.isNotEmpty(patArchivetags)) { - //濡傛灉瀛樺湪锛宑ontinue; - continue; - } else { - //濡傛灉涓嶅瓨鍦紝鍒欏垯pat_archivetag涓柊澧� - // 鏂板鎮h�呮。妗堟爣绛� + if (CollectionUtils.isNotEmpty(patArchiveVO.getTagList())) { + //澶勭悊鏍囩锛堟柊澧炪�佸垹闄わ級 + for (PatArchivetag patArchivetag : patArchiveVO.getTagList()) { + if (patArchivetag.getIsoperation() != null && patArchivetag.getIsoperation() == 1 || patArchivetag.getIsoperation() == null && patArchiveVO.getIsoperation() == 1) { + //鏂板 + patArchivetag.setUpdateBy(null); + patArchivetag.setCreateTime(new Date()); + patArchivetag.setPatid(patArchive.getId()); + patArchivetagMapper.insertPatArchivetag(patArchivetag); + } else if (patArchivetag.getIsoperation() != null && patArchivetag.getIsoperation() == 3 || patArchivetag.getIsoperation() == null && patArchiveVO.getIsoperation() == 3) { + patArchivetag.setDelFlag("1"); + //鍒犻櫎 + log.info("鏍囩鐨刬d涓猴細{}", patArchivetag.getTagid()); + patArchivetagMapper.deletePatArchivetagById(patArchivetag); } } - PatArchivetag patArchivetag = DtoConversionUtils.sourceToTarget(baseTag, PatArchivetag.class); - patArchivetag.setUpdateBy(null); - patArchivetag.setCreateTime(new Date()); - patArchivetag.setPatid(patArchive.getPatid()); - patArchivetagMapper.insertPatArchivetag(patArchivetag); + } - patArchiveMapper.updatePatArchive(patArchive); return true; } @@ -175,6 +177,49 @@ public int deletePatArchiveByPatid(Long patid) { return patArchiveMapper.deletePatArchiveByPatid(patid); } + + /** + * 鑾峰彇鎮h�呬俊鎭� + * + * @param patArchiveReq + * @return + */ + @Override + public List<ServiceSubtask> getPatientInfo(PatArchiveReq patArchiveReq) { + List<ServiceSubtask> serviceSubtaskList = new ArrayList<>(); + + List<PatArchive> patArchiveList = new ArrayList<>(); + if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 1) { + // 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 + List<PatArchive> patArchives1 = patArchiveMapper.selectPatArchiveInfoByInhosp(patArchiveReq); + if (CollectionUtils.isNotEmpty(patArchives1)) { + patArchiveList.addAll(patArchives1); + } + } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 2) { + // 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 + List<PatArchive> patArchives2 = patArchiveMapper.selectPatArchiveInfoByOuthosp(patArchiveReq); + if (CollectionUtils.isNotEmpty(patArchives2)) { + patArchiveList.addAll(patArchives2); + } + } else if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 3) { + // 鏌ョ湅浣忛櫌 1 鏌ョ湅闂ㄨ瘖 2 鏌ョ湅浣撴 3 + List<PatArchive> patArchives3 = patArchiveMapper.selectPatArchiveInfoByPhysical(patArchiveReq); + if (CollectionUtils.isNotEmpty(patArchives3)) { + patArchiveList.addAll(patArchives3); + } + } + for (PatArchive patArchive : patArchiveList) { + ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(patArchive, ServiceSubtask.class); + serviceSubtask.setCreateTime(patArchive.getCreateTime()); + serviceSubtask.setCreateBy(patArchive.getCreateBy()); + serviceSubtask.setDeptname(patArchive.getDept()); + serviceSubtask.setPhone(patArchive.getTelcode()); + serviceSubtaskList.add(serviceSubtask); + } + + return serviceSubtaskList; + } + @Override @Transactional @@ -479,14 +524,13 @@ } } - //鏍规嵁鎮h�匢D杩涜鍒嗙粍 - Map<Long, List<PatArchive>> listMap = patArchiveList.stream().collect(Collectors.groupingBy(PatArchive::getPatid)); + Map<Long, List<PatArchive>> listMap = patArchiveList.stream().collect(Collectors.groupingBy(PatArchive::getId)); //瀵规暟鎹繘琛屽皝瑁� for (List<PatArchive> list : listMap.values()) { PatArchive patArchive1 = new PatArchive(); - Set<String> stringList = new HashSet<>(); + Set<PatArchivetag> stringList = new HashSet<>(); for (int i = 0; i < list.size(); i++) { if (i == 0) { patArchive1 = DtoConversionUtils.sourceToTarget(list.get(0), PatArchive.class); @@ -494,7 +538,10 @@ patArchive1.setTag(""); } //灏嗘煡鍑虹殑tag锛屾斁鍒皃atArchive1閲岀殑TagList涓� - stringList.add(list.get(i).getTag()); + PatArchivetag patArchivetag = new PatArchivetag(); + patArchivetag.setTagname(list.get(i).getTag()); + patArchivetag.setTagid(list.get(i).getTagid()); + stringList.add(patArchivetag); } patArchive1.setTagList(stringList.stream().collect(Collectors.toList())); patArchives.add(patArchive1); @@ -515,7 +562,7 @@ for (int j = 0; j < patArchivetags1.size(); j++) { PatArchivetagAndPatientInfo patArchivetagAndPatientInfo = DtoConversionUtils.sourceToTarget(patArchivetags1.get(j), PatArchivetagAndPatientInfo.class); PatArchive patArchive = new PatArchive(); - patArchive.setPatid(patArchivetagAndPatientInfo.getPatid()); + patArchive.setId(patArchivetagAndPatientInfo.getPatid()); List<PatArchive> patArchiveList = patArchiveMapper.selectPatArchiveList(patArchive); patArchivetagAndPatientInfo.setPatNum(patArchiveList.size()); // patArchivetagAndPatientInfo.setPatArchives(patArchiveList); @@ -529,7 +576,7 @@ for (int j = 0; j < patArchivetags1.size(); j++) { PatArchivetagAndPatientInfo patArchivetagAndPatientInfo = DtoConversionUtils.sourceToTarget(patArchivetags1.get(j), PatArchivetagAndPatientInfo.class); PatArchive patArchive = new PatArchive(); - patArchive.setPatid(patArchivetagAndPatientInfo.getPatid()); + patArchive.setId(patArchivetagAndPatientInfo.getPatid()); List<PatArchive> patArchiveList = patArchiveMapper.selectPatArchiveList(patArchive); // patArchivetagAndPatientInfo.setPatArchives(patArchiveList); patArchivetagAndPatientInfo.setPatNum(patArchiveList.size()); -- Gitblit v1.9.3