From 75cb81f0b88f313857ea431b46b929bef95d7cc8 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 29 七月 2024 10:36:59 +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