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