From 77d7257c02fc811a53b8d9207e4239f69c8a600c Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 15 六月 2023 14:33:36 +0800 Subject: [PATCH] 题目和标签代码提交 --- smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java | 130 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 114 insertions(+), 16 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 39b4483..55eb072 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java @@ -3,27 +3,26 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; +import java.util.stream.Collectors; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DtoConversionUtils; import com.ruoyi.common.utils.StringUtils; -import com.smartor.domain.BaseTag; -import com.smartor.domain.PatArchivetag; -import com.smartor.domain.PatUpInfoVO; +import com.smartor.domain.*; import com.smartor.mapper.BaseTagMapper; import com.smartor.mapper.PatArchivetagMapper; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.poi.hssf.usermodel.HSSFDateUtil; +import org.apache.poi.ss.formula.functions.Now; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Service; import com.smartor.mapper.PatArchiveMapper; -import com.smartor.domain.PatArchive; import com.smartor.service.IPatArchiveService; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -116,7 +115,7 @@ @Override @Transactional - public PatUpInfoVO importFilehandle(String username, MultipartFile file) { + public PatUpInfoVO importFilehandle(SysUser user, String tags, MultipartFile file) { PatUpInfoVO patUpInfoVO = new PatUpInfoVO(); Integer successNum = 0; Integer failNum = 0; @@ -213,10 +212,19 @@ } //鎮i兘鏍囩鏄惁涓虹┖ - if (ObjectUtils.isEmpty(row.getCell(7))) { - addRemark("鎮h�呮爣绛句负绌�", patArchive); + if (ObjectUtils.isEmpty(row.getCell(7)) || StringUtils.isEmpty(row.getCell(7).toString())) { + if (StringUtils.isEmpty(tags)) { + addRemark("鎮h�呮爣绛句负绌�", patArchive); + } else { + patArchive.setTag(tags); + + } } else { - patArchive.setTag(row.getCell(7).toString()); + if (StringUtils.isNotEmpty(tags)) { + patArchive.setTag(row.getCell(7).toString() + "," + tags); + } else { + patArchive.setTag(row.getCell(7).toString()); + } } //鍒ゆ柇澶囨敞鏄惁涓虹┖ @@ -231,17 +239,32 @@ patArchiveMapper.insertPatArchive(patArchive); //鏍规嵁鏍囩鍚嶆煡璇㈠嚭鏍囩淇℃伅 - String s = row.getCell(7).toString(); + String s = patArchive.getTag(); String[] split = s.split(","); for (String tagName : split) { BaseTag baseTag = new BaseTag(); baseTag.setTagname(tagName); List<BaseTag> baseTags = baseTagMapper.selectBaseTagList(baseTag); - BaseTag baseTag1 = baseTags.get(0); + + //濡傛灉璇ユ爣绛句负绌猴紝鐜版爣绛剧鐞嗘病鏈夊嚭鐜拌繃鐨勬柊鏍囩鏃讹紝鑷姩灏嗘爣绛炬坊鍔犲埌"鏍囩绠$悊"鏈垎绫烩�滀腑銆傜紪杈戜汉涓哄鍏ヨ处鍙� + if (CollectionUtils.isEmpty(baseTags)) { + baseTag = new BaseTag(); + baseTag.setTagcategoryid(1L); + baseTag.setTagname(tagName); + baseTag.setOrgid(user.getDeptId().toString()); + baseTag.setDelFlag("0"); + baseTag.setCreateBy(user.getUserName()); + baseTag.setCreateTime(new Date()); + baseTag.setCreateBy(user.getUserName()); + baseTag.setCreateTime(new Date()); + baseTagMapper.insertBaseTag(baseTag); + } else { + baseTag = baseTags.get(0); + } // 鏂板鎮h�呮。妗堟爣绛� - PatArchivetag patArchivetag = DtoConversionUtils.sourceToTarget(baseTag1, PatArchivetag.class); - patArchivetag.setUpdateBy(username); + PatArchivetag patArchivetag = DtoConversionUtils.sourceToTarget(baseTag, PatArchivetag.class); + patArchivetag.setUpdateBy(user.getUserName()); patArchivetag.setCreateTime(new Date()); patArchivetag.setPatid(patArchive.getPatid()); patArchivetagMapper.insertPatArchivetag(patArchivetag); @@ -286,6 +309,81 @@ return "瀵煎嚭鎴愬姛"; } + @Override + public List<PatArchive> patInfoByContion(PatArchiveReq patArchive) { + List<PatArchive> patArchives = new ArrayList<>(); + + //鏍规嵁鏉′欢鑾峰彇鎮h�呬俊鎭� + List<PatArchive> patArchiveList = patArchiveMapper.patInfoByContion(patArchive); + //鏍规嵁鎮h�匢D杩涜鍒嗙粍 + Map<Long, List<PatArchive>> listMap = patArchiveList.stream().collect(Collectors.groupingBy(PatArchive::getPatid)); + + //瀵规暟鎹繘琛屽皝瑁� + for (List<PatArchive> list : listMap.values()) { + PatArchive patArchive1 = new PatArchive(); + List<String> stringList = new ArrayList<>(); + for (int i = 0; i < list.size(); i++) { + if (i == 0) { + patArchive1 = DtoConversionUtils.sourceToTarget(list.get(0), PatArchive.class); + //灏嗘爣绛剧疆绌�,涓嶇┖涔熸病鏈夐棶棰� + patArchive1.setTag(""); + } + //灏嗘煡鍑虹殑tag锛屾斁鍒皃atArchive1閲岀殑TagList涓� + stringList.add(list.get(i).getTag()); + } + patArchive1.setTagList(stringList); + patArchives.add(patArchive1); + } + + return patArchives; + } + + @Override + public List<PatArchivetagAndPatientInfo> patTagByContion(List<Long> tagids) { + List<PatArchivetagAndPatientInfo> patArchivetagAndPatientInfos = new ArrayList<>(); + if (tagids.size() > 0) { + for (int i = 0; i < tagids.size(); i++) { + PatArchivetag patArchivetag = new PatArchivetag(); + patArchivetag.setTagid(tagids.get(i)); + //鑾峰彇鎮h�卲atid + List<PatArchivetag> patArchivetags1 = patArchivetagMapper.selectPatArchivetagAndBaseTagList(patArchivetag); + 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()); + List<PatArchive> patArchiveList = patArchiveMapper.selectPatArchiveList(patArchive); + patArchivetagAndPatientInfo.setPatNum(patArchiveList.size()); + // patArchivetagAndPatientInfo.setPatArchives(patArchiveList); + patArchivetagAndPatientInfos.add(patArchivetagAndPatientInfo); + } + } + } else { + PatArchivetag patArchivetag = new PatArchivetag(); + //鑾峰彇鎮h�卲atid + List<PatArchivetag> patArchivetags1 = patArchivetagMapper.selectPatArchivetagAndBaseTagList(patArchivetag); + 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()); + List<PatArchive> patArchiveList = patArchiveMapper.selectPatArchiveList(patArchive); + // patArchivetagAndPatientInfo.setPatArchives(patArchiveList); + patArchivetagAndPatientInfo.setPatNum(patArchiveList.size()); + patArchivetagAndPatientInfos.add(patArchivetagAndPatientInfo); + } + } + return patArchivetagAndPatientInfos; + } + + @Override + public List<PatArchivetagAndPatientInfo> patInfoByTag(List<Long> tagids) { + + + + + + return null; + } + private void getdata(Row row, PatArchive patArchive, Boolean head) { if (head) { row.createCell(0).setCellValue("濮撳悕"); -- Gitblit v1.9.3