From 1c8b2be08e6c7655bab6d8a99f15b883768f0d38 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 30 七月 2024 17:15:43 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java | 137 +++++++++++++++++++++++++++++---------------- 1 files changed, 89 insertions(+), 48 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..c860b0e 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java @@ -94,63 +94,60 @@ * @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.insertPatArchive(patArchives); + if (CollectionUtils.isNotEmpty(patArchives)) { + patArchives.get(0).getId(); + log.info("鎮h�卛d涓�: {}", patArchives.get(0).getId()); + return patArchives.get(0).getId().intValue(); + } + return null; } /** - * 淇敼鎮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 +172,48 @@ public int deletePatArchiveByPatid(Long patid) { return patArchiveMapper.deletePatArchiveByPatid(patid); } + + /** + * 鑾峰彇鎮h�呬俊鎭� + * + * @param patArchiveReq + * @return + */ + @Override + public List<PatTaskRelevance> getPatientInfo(PatArchiveReq patArchiveReq) { + List<PatTaskRelevance> PatTaskRelevances = 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) { + PatTaskRelevance patTaskRelevance = DtoConversionUtils.sourceToTarget(patArchive, PatTaskRelevance.class); + patTaskRelevance.setCreateTime(patArchive.getCreateTime()); + patTaskRelevance.setCreateBy(patArchive.getCreateBy()); + patTaskRelevance.setDeptName(patArchive.getDept()); + PatTaskRelevances.add(patTaskRelevance); + } + + return PatTaskRelevances; + } + @Override @Transactional @@ -479,14 +518,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 +532,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 +556,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 +570,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