From 997d3676de243cc1d84c62990d104fd81a25d54a Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 06 六月 2023 17:33:33 +0800 Subject: [PATCH] 患者错误信息 --- smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java | 127 +++++++++++++++++++++++++++++++++--------- 1 files changed, 100 insertions(+), 27 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 714d832..39b4483 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java @@ -1,9 +1,12 @@ package com.smartor.service.impl; +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 com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DtoConversionUtils; @@ -113,7 +116,7 @@ @Override @Transactional - public PatUpInfoVO fileHandle(String username, MultipartFile file) { + public PatUpInfoVO importFilehandle(String username, MultipartFile file) { PatUpInfoVO patUpInfoVO = new PatUpInfoVO(); Integer successNum = 0; Integer failNum = 0; @@ -130,8 +133,8 @@ continue; } PatArchive patArchive = new PatArchive(); - if (ObjectUtils.isEmpty(row.getCell(3))) { - patArchive.setRemark("韬唤璇佸彿涓虹┖"); + if (ObjectUtils.isEmpty(row.getCell(3)) || StringUtils.isEmpty(row.getCell(3).toString())) { + addRemark("韬唤璇佸彿涓虹┖", patArchive); } else { patArchive.setIccardno(row.getCell(3).toString()); //鏍规嵁韬唤璇侊紝鍏堝幓鎮h�呯鐞嗚〃閲岀湅鐪嬫湁娌℃湁杩欎釜浜�,濡傛灉鏈夎繖涓汉锛屼篃涓嶉渶瑕佹彃鍏ユ偅鑰呰〃 @@ -142,31 +145,30 @@ } //鍒ゆ柇濮撳悕鏄惁涓虹┖ - if (ObjectUtils.isEmpty(row.getCell(0))) { - patArchive.setRemark(patArchive.getRemark() + "," + "濮撳悕涓虹┖"); - errorpatArchiveList.add(patArchive); + if (Objects.isNull(row.getCell(0)) || StringUtils.isEmpty(row.getCell(0).toString())) { + addRemark("濮撳悕涓虹┖", patArchive); } else { patArchive.setName(row.getCell(0).toString()); } //鍒ゆ柇鎬у埆鏄惁涓虹┖ - if (ObjectUtils.isEmpty(row.getCell(1))) { - patArchive.setRemark(patArchive.getRemark() + "," + "鎬у埆涓虹┖"); + if (ObjectUtils.isEmpty(row.getCell(1)) || StringUtils.isEmpty(row.getCell(1).toString())) { + addRemark("鎬у埆涓虹┖", patArchive); } else { patArchive.setSex(row.getCell(1).toString().equals("鐢�") ? 1L : 2L); } //鍒ゆ柇璇佷欢绫诲瀷鏄惁涓虹┖ - if (ObjectUtils.isEmpty(row.getCell(2))) { - patArchive.setRemark("璇佷欢绫诲瀷涓虹┖"); + if (ObjectUtils.isEmpty(row.getCell(2)) || StringUtils.isEmpty(row.getCell(2).toString())) { + addRemark("璇佷欢绫诲瀷涓虹┖", patArchive); } else { patArchive.setIccardtype(row.getCell(2).toString()); } //鍒ゆ柇鍑虹敓鏃ユ湡鏄惁涓虹┖ - if (ObjectUtils.isEmpty(row.getCell(4))) { - patArchive.setRemark("鍑虹敓鏃ユ湡涓虹┖"); + if (ObjectUtils.isEmpty(row.getCell(4)) || StringUtils.isEmpty(row.getCell(4).toString())) { + addRemark("鍑虹敓鏃ユ湡涓虹┖", patArchive); } else { //鏍煎紡杞崲锛岃浆鎴愭棩鏈� SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); @@ -181,8 +183,8 @@ } //鍒ゆ柇鏈汉鑱旂郴鏄惁涓虹┖锛屽拰闀垮害鏄惁姝g‘ - if (ObjectUtils.isEmpty(row.getCell(5))) { - patArchive.setRemark("鏈汉鑱旂郴鐢佃瘽涓虹┖"); + if (ObjectUtils.isEmpty(row.getCell(5)) || StringUtils.isEmpty(row.getCell(5).toString())) { + addRemark("鏈汉鑱旂郴鐢佃瘽涓虹┖", patArchive); } else { //鏍煎紡杞崲锛岃浆鎴愭枃鏈� if (row.getCell(5).getCellType().toString().equals("NUMERIC")) { @@ -196,8 +198,8 @@ } //鍒ゆ柇浜插睘鑱旂郴鏂瑰紡鏄惁涓虹┖锛岄暱搴︽槸鍚︽纭� - if (ObjectUtils.isEmpty(row.getCell(6))) { - patArchive.setRemark("鏈汉鑱旂郴鐢佃瘽涓虹┖"); + if (ObjectUtils.isEmpty(row.getCell(6)) || StringUtils.isEmpty(row.getCell(6).toString())) { + addRemark("浜插睘鑱旂郴鏂瑰紡涓虹┖", patArchive); } else { //鏍煎紡杞崲锛岃浆鎴愭枃鏈� if (row.getCell(6).getCellType().toString().equals("NUMERIC")) { @@ -212,7 +214,9 @@ //鎮i兘鏍囩鏄惁涓虹┖ if (ObjectUtils.isEmpty(row.getCell(7))) { - patArchive.setRemark("鎮h�呮爣绛句负绌�"); + addRemark("鎮h�呮爣绛句负绌�", patArchive); + } else { + patArchive.setTag(row.getCell(7).toString()); } //鍒ゆ柇澶囨敞鏄惁涓虹┖ @@ -227,17 +231,21 @@ patArchiveMapper.insertPatArchive(patArchive); //鏍规嵁鏍囩鍚嶆煡璇㈠嚭鏍囩淇℃伅 - BaseTag baseTag = new BaseTag(); - baseTag.setTagname(row.getCell(7).toString()); - List<BaseTag> baseTags = baseTagMapper.selectBaseTagList(baseTag); - BaseTag baseTag1 = baseTags.get(0); + String s = row.getCell(7).toString(); + 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); - // 鏂板鎮h�呮。妗堟爣绛� - PatArchivetag patArchivetag = DtoConversionUtils.sourceToTarget(baseTag1, PatArchivetag.class); - patArchivetag.setUpdateBy(username); - patArchivetag.setCreateTime(new Date()); - patArchivetag.setPatid(patArchive.getPatid()); - patArchivetagMapper.insertPatArchivetag(patArchivetag); + // 鏂板鎮h�呮。妗堟爣绛� + PatArchivetag patArchivetag = DtoConversionUtils.sourceToTarget(baseTag1, PatArchivetag.class); + patArchivetag.setUpdateBy(username); + patArchivetag.setCreateTime(new Date()); + patArchivetag.setPatid(patArchive.getPatid()); + patArchivetagMapper.insertPatArchivetag(patArchivetag); + } successNum = successNum + 1; } @@ -251,5 +259,70 @@ return patUpInfoVO; } + @Override + public String exportErrPatInfo(List<PatArchive> patArchiveList) { + // 鍒涘缓宸ヤ綔绨垮拰宸ヤ綔琛� + Workbook workbook = new XSSFWorkbook(); + Sheet sheet = workbook.createSheet("Sheet1"); + // 鍒涘缓琛屽拰鍗曞厓鏍硷紝骞惰缃崟鍏冩牸鐨勫�� + Row row = sheet.createRow(0); + getdata(row, null, true); + + for (int i = 0; i < patArchiveList.size(); i++) { + row = sheet.createRow(i + 1); + getdata(row, patArchiveList.get(i), false); + } + // 淇濆瓨宸ヤ綔绨垮埌鏂囦欢 + FileOutputStream outputStream = null; + try { + outputStream = new FileOutputStream("鎮h�呴敊璇俊鎭�.xlsx"); + workbook.write(outputStream); + outputStream.close(); + workbook.close(); + } catch (Exception e) { + e.printStackTrace(); + return "瀵煎嚭澶辫触"; + } + return "瀵煎嚭鎴愬姛"; + } + + private void getdata(Row row, PatArchive patArchive, Boolean head) { + if (head) { + row.createCell(0).setCellValue("濮撳悕"); + row.createCell(1).setCellValue("鎬у埆"); + row.createCell(2).setCellValue("璇佷欢绫诲瀷"); + row.createCell(3).setCellValue("璇佷欢鍙风爜"); + row.createCell(4).setCellValue("鍑虹敓鏃ユ湡"); + row.createCell(5).setCellValue("鏈汉鑱旂郴鏂瑰紡"); + row.createCell(6).setCellValue("浜插睘鑱旂郴鏂瑰紡"); + row.createCell(7).setCellValue("鎮h�呮爣绛�"); + row.createCell(8).setCellValue("閿欒鍘熷洜"); + } else { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd"); + row.createCell(0).setCellValue(patArchive.getName()); + row.createCell(1).setCellValue(patArchive.getSex() == 1 ? "鐢�" : "濂�"); + row.createCell(2).setCellValue(patArchive.getIccardtype()); + row.createCell(3).setCellValue(patArchive.getIccardno()); + if (ObjectUtils.isNotEmpty(patArchive.getBirthdate())) { + row.createCell(4).setCellValue(simpleDateFormat.format(patArchive.getBirthdate()).toString()); + } + row.createCell(5).setCellValue(patArchive.getTelcode()); + row.createCell(6).setCellValue(patArchive.getRelativetelcode()); + row.createCell(7).setCellValue(patArchive.getTag()); + row.createCell(8).setCellValue(patArchive.getRemark()); + + + } + + } + + public void addRemark(String info, PatArchive patArchive) { + if (StringUtils.isNotEmpty(patArchive.getRemark()) == true) { + patArchive.setRemark(patArchive.getRemark() + "," + info); + } else { + patArchive.setRemark(info); + } + } + } -- Gitblit v1.9.3