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/domain/PatArchive.java                             |  229 ++++++++++++++-------------
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkService.java      |   34 +++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java |   54 +++---
 smartor/src/main/java/com/smartor/service/impl/PatArchiveServiceImpl.java            |  127 ++++++++++++---
 smartor/src/main/java/com/smartor/service/IPatArchiveService.java                    |   12 +
 5 files changed, 288 insertions(+), 168 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkService.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkService.java
index 342afa6..d4a9326 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkService.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkService.java
@@ -10,7 +10,14 @@
 import com.dingtalk.api.response.*;
 import com.taobao.api.ApiException;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
+import java.io.FileOutputStream;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -23,8 +30,7 @@
      * @throws ApiException
      */
     private static String getAccessToken() throws ApiException {
-        DefaultDingTalkClient client =
-                new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
+        DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
         OapiGettokenRequest request = new OapiGettokenRequest();
         //Appkey
         request.setAppkey("dingn8iip5ubj7clrrsv");
@@ -56,7 +62,7 @@
         JSONArray jsonArray = new JSONArray(jsonObject.getJSONObject("result").getJSONArray("userid_list"));
         // 灏咼SONArray杞负List鍒楄〃
         String str = JSONObject.toJSONString(jsonArray);
-        List<String> list = JSONObject.parseObject(str,List.class);
+        List<String> list = JSONObject.parseObject(str, List.class);
 
         //鐢佃瘽鍙风爜鏁扮粍
         //   String[] split = mobile.split(",");
@@ -111,13 +117,31 @@
         }
     }
 
-    public static void main(String[] args) throws ApiException {
+    public static void main(String[] args) throws ApiException, IOException {
 //        String appId = "wx1c5243d2337753f4";
 //        String appSecret = "84a2186a0d175e88345267c716516cd3";
 //        WeChatService weChatService = new WeChatService(appId, appSecret);
 //        weChatService.sendMessageToFollowers("浣犲湪璇村暐鍛紵锛燂紵锛�");
 //        // new com.smartor.controller.BaseSmsaccountController().sendMessageToFollowers("AIJSl-IF6M05NzaXofPYbT5wgSP3bWH7I9OBmvJqsaU","www.baidu.com");
 
-        sendNotification("17607179857", "1", "2", "3");
+//        sendNotification("17607179857", "1", "2", "3");
+        Workbook workbook = new XSSFWorkbook();
+        Sheet sheet = workbook.createSheet("Sheet1");
+        // 鍒涘缓琛屽拰鍗曞厓鏍硷紝骞惰缃崟鍏冩牸鐨勫��
+        Row row = sheet.createRow(0);
+        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("鎮h�呮爣绛�");
+        row.createCell(7).setCellValue("閿欒鍘熷洜");
+
+        // 淇濆瓨宸ヤ綔绨垮埌鏂囦欢
+        FileOutputStream outputStream = new FileOutputStream("example.xlsx");
+        workbook.write(outputStream);
+        outputStream.close();
+        workbook.close();
     }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java
index 20ced08..7e545d4 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatArchiveController.java
@@ -1,29 +1,23 @@
-package com.smartor.controller;
+package com.ruoyi.web.controller.smartor;
 
-import java.util.ArrayList;
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.domain.model.LoginUser;
-import com.smartor.domain.PatUpInfoVO;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.enums.BusinessType;
-import com.smartor.domain.PatArchive;
-import com.smartor.service.IPatArchiveService;
-import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.smartor.domain.PatArchive;
+import com.smartor.domain.PatUpInfoVO;
+import com.smartor.service.IPatArchiveService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
  * 鎮h�呮。妗圕ontroller
@@ -103,18 +97,30 @@
     /**
      * 鎮h�呮枃浠跺鐞�
      *
-     * @param title
      * @param multipartFile
      */
-    @PostMapping("/filehandle")
-    public AjaxResult fileHandle(@RequestParam("multipartFile") MultipartFile multipartFile) {
+    @PostMapping("/importFilehandle")
+    public AjaxResult importFilehandle(@RequestParam("multipartFile") MultipartFile multipartFile) {
         //鑾峰彇褰撳墠鐧婚檰浜�
         LoginUser loginUser = getLoginUser();
         SysUser user = loginUser.getUser();
         String userName = user.getUserName();
 
-        PatUpInfoVO patUpInfoVO = patArchiveService.fileHandle(userName, multipartFile);
+        PatUpInfoVO patUpInfoVO = patArchiveService.importFilehandle(userName, multipartFile);
 
         return success(patUpInfoVO);
     }
+
+    /**
+     * 瀵煎嚭鎮h�呴敊璇俊鎭�
+     *
+     * @param patArchiveList
+     */
+    @PostMapping("/exportErrPatInfo")
+    public AjaxResult exportErrPatInfo(@RequestBody List<PatArchive> patArchiveList) {
+
+        return success(patArchiveService.exportErrPatInfo(patArchiveList));
+    }
+
+
 }
diff --git a/smartor/src/main/java/com/smartor/domain/PatArchive.java b/smartor/src/main/java/com/smartor/domain/PatArchive.java
index e493974..773f0e9 100644
--- a/smartor/src/main/java/com/smartor/domain/PatArchive.java
+++ b/smartor/src/main/java/com/smartor/domain/PatArchive.java
@@ -1,6 +1,7 @@
 package com.smartor.domain;
 
 import java.util.Date;
+
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -9,252 +10,258 @@
 
 /**
  * 鎮h�呮。妗堝璞� pat_archive
- * 
+ *
  * @author smartor
  * @date 2023-03-04
  */
-public class PatArchive extends BaseEntity
-{
+public class PatArchive extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /**  鑷ID  */
+    /**
+     * 鑷ID
+     */
     private Long patid;
 
-    /**  濮撳悕  */
+    /**
+     * 濮撳悕
+     */
     @Excel(name = " 濮撳悕 ")
     private String name;
 
-    /**  鎬у埆  1:鐢� 2:濂�*/
+    /**
+     * 鎬у埆  1:鐢� 2:濂�
+     */
     @Excel(name = " 鎬у埆 ")
     private Long sex;
 
-    /**  璇佷欢鍙风爜  */
+    /**
+     * 璇佷欢鍙风爜
+     */
     @Excel(name = " 璇佷欢鍙风爜 ")
     private String iccardno;
 
-    /**  鐢熸棩  */
+    /**
+     * 鐢熸棩
+     */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = " 鐢熸棩 ", width = 30, dateFormat = "yyyy-MM-dd")
     private Date birthdate;
 
-    /**  骞撮緞  */
+    /**
+     * 骞撮緞
+     */
     @Excel(name = " 骞撮緞 ")
     private Long age;
 
-    /**  鏉ユ簮  */
+    /**
+     * 鏉ユ簮
+     */
     @Excel(name = " 鏉ユ簮 ")
     private Long source;
 
-    /**  寤烘。鏃堕棿  */
+    /**
+     * 寤烘。鏃堕棿
+     */
     private Date archivetime;
 
-    /**  寤烘。浜�  */
+    /**
+     * 寤烘。浜�
+     */
     private String archiveby;
 
-    /**  鎵嬫満鍙风爜  */
+    /**
+     * 鎵嬫満鍙风爜
+     */
     @Excel(name = " 鎵嬫満鍙风爜 ")
     private String telcode;
 
-    /**  浜插睘鍙风爜  */
+    /**
+     * 浜插睘鍙风爜
+     */
     private String relativetelcode;
 
-    /**  璇佷欢绫诲瀷  */
+    /**
+     * 璇佷欢绫诲瀷
+     */
     private String iccardtype;
 
-    /**  鏈烘瀯ID  */
+    /**
+     * 鏈烘瀯ID
+     */
     @Excel(name = " 鏈烘瀯ID ")
     private String orgid;
 
-    /**  寰俊openid  */
+    /**
+     * 寰俊openid
+     */
     private String openid;
 
-    /**  鍒犻櫎鏍囪  */
+    /**
+     * 鍒犻櫎鏍囪
+     */
     private String delFlag;
 
-    /**  涓婁紶鏍囪  */
+    /**
+     * 涓婁紶鏍囪
+     */
     private Long isupload;
 
-    /**  涓婁紶鏃堕棿  */
+    /**
+     * 涓婁紶鏃堕棿
+     */
     private Date uploadTime;
 
-    public void setPatid(Long patid) 
-    {
+    /**
+     * 鏍囩
+     */
+    private String tag;
+
+    public void setPatid(Long patid) {
         this.patid = patid;
     }
 
-    public Long getPatid() 
-    {
+    public Long getPatid() {
         return patid;
     }
-    public void setName(String name) 
-    {
+
+    public void setName(String name) {
         this.name = name;
     }
 
-    public String getName() 
-    {
+    public String getName() {
         return name;
     }
-    public void setSex(Long sex) 
-    {
+
+    public void setSex(Long sex) {
         this.sex = sex;
     }
 
-    public Long getSex() 
-    {
+    public Long getSex() {
         return sex;
     }
-    public void setIccardno(String iccardno) 
-    {
+
+    public void setIccardno(String iccardno) {
         this.iccardno = iccardno;
     }
 
-    public String getIccardno() 
-    {
+    public String getIccardno() {
         return iccardno;
     }
-    public void setBirthdate(Date birthdate) 
-    {
+
+    public void setBirthdate(Date birthdate) {
         this.birthdate = birthdate;
     }
 
-    public Date getBirthdate() 
-    {
+    public Date getBirthdate() {
         return birthdate;
     }
-    public void setAge(Long age) 
-    {
+
+    public void setAge(Long age) {
         this.age = age;
     }
 
-    public Long getAge() 
-    {
+    public Long getAge() {
         return age;
     }
-    public void setSource(Long source) 
-    {
+
+    public void setSource(Long source) {
         this.source = source;
     }
 
-    public Long getSource() 
-    {
+    public Long getSource() {
         return source;
     }
-    public void setArchivetime(Date archivetime) 
-    {
+
+    public void setArchivetime(Date archivetime) {
         this.archivetime = archivetime;
     }
 
-    public Date getArchivetime() 
-    {
+    public Date getArchivetime() {
         return archivetime;
     }
-    public void setArchiveby(String archiveby) 
-    {
+
+    public void setArchiveby(String archiveby) {
         this.archiveby = archiveby;
     }
 
-    public String getArchiveby() 
-    {
+    public String getArchiveby() {
         return archiveby;
     }
-    public void setTelcode(String telcode) 
-    {
+
+    public void setTelcode(String telcode) {
         this.telcode = telcode;
     }
 
-    public String getTelcode() 
-    {
+    public String getTelcode() {
         return telcode;
     }
-    public void setRelativetelcode(String relativetelcode) 
-    {
+
+    public void setRelativetelcode(String relativetelcode) {
         this.relativetelcode = relativetelcode;
     }
 
-    public String getRelativetelcode() 
-    {
+    public String getRelativetelcode() {
         return relativetelcode;
     }
-    public void setIccardtype(String iccardtype) 
-    {
+
+    public void setIccardtype(String iccardtype) {
         this.iccardtype = iccardtype;
     }
 
-    public String getIccardtype() 
-    {
+    public String getIccardtype() {
         return iccardtype;
     }
-    public void setOrgid(String orgid) 
-    {
+
+    public void setOrgid(String orgid) {
         this.orgid = orgid;
     }
 
-    public String getOrgid() 
-    {
+    public String getOrgid() {
         return orgid;
     }
-    public void setOpenid(String openid) 
-    {
+
+    public void setOpenid(String openid) {
         this.openid = openid;
     }
 
-    public String getOpenid() 
-    {
+    public String getOpenid() {
         return openid;
     }
-    public void setDelFlag(String delFlag) 
-    {
+
+    public void setDelFlag(String delFlag) {
         this.delFlag = delFlag;
     }
 
-    public String getDelFlag() 
-    {
+    public String getDelFlag() {
         return delFlag;
     }
-    public void setIsupload(Long isupload) 
-    {
+
+    public void setIsupload(Long isupload) {
         this.isupload = isupload;
     }
 
-    public Long getIsupload() 
-    {
+    public Long getIsupload() {
         return isupload;
     }
-    public void setUploadTime(Date uploadTime) 
-    {
+
+    public void setUploadTime(Date uploadTime) {
         this.uploadTime = uploadTime;
     }
 
-    public Date getUploadTime() 
-    {
+    public Date getUploadTime() {
         return uploadTime;
+    }
+
+    public String getTag() {
+        return tag;
+    }
+
+    public void setTag(String tag) {
+        this.tag = tag;
     }
 
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("patid", getPatid())
-            .append("name", getName())
-            .append("sex", getSex())
-            .append("iccardno", getIccardno())
-            .append("birthdate", getBirthdate())
-            .append("age", getAge())
-            .append("source", getSource())
-            .append("archivetime", getArchivetime())
-            .append("archiveby", getArchiveby())
-            .append("telcode", getTelcode())
-            .append("relativetelcode", getRelativetelcode())
-            .append("iccardtype", getIccardtype())
-            .append("orgid", getOrgid())
-            .append("openid", getOpenid())
-            .append("delFlag", getDelFlag())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("isupload", getIsupload())
-            .append("uploadTime", getUploadTime())
-            .toString();
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("patid", getPatid()).append("name", getName()).append("sex", getSex()).append("iccardno", getIccardno()).append("birthdate", getBirthdate()).append("age", getAge()).append("source", getSource()).append("archivetime", getArchivetime()).append("archiveby", getArchiveby()).append("telcode", getTelcode()).append("relativetelcode", getRelativetelcode()).append("iccardtype", getIccardtype()).append("orgid", getOrgid()).append("openid", getOpenid()).append("delFlag", getDelFlag()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).append("createBy", getCreateBy()).append("createTime", getCreateTime()).append("isupload", getIsupload()).append("uploadTime", getUploadTime()).toString();
     }
 }
diff --git a/smartor/src/main/java/com/smartor/service/IPatArchiveService.java b/smartor/src/main/java/com/smartor/service/IPatArchiveService.java
index 1deee9f..fcd9b6d 100644
--- a/smartor/src/main/java/com/smartor/service/IPatArchiveService.java
+++ b/smartor/src/main/java/com/smartor/service/IPatArchiveService.java
@@ -2,8 +2,10 @@
 
 import java.util.List;
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.smartor.domain.PatArchive;
 import com.smartor.domain.PatUpInfoVO;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -68,5 +70,13 @@
      * @param title
      * @param file
      */
-    public PatUpInfoVO fileHandle( String username, MultipartFile file);
+    public PatUpInfoVO importFilehandle(String username, MultipartFile file);
+
+    /**
+     * 瀵煎嚭鎮h�呴敊璇俊鎭�
+     *
+     * @param patArchiveList
+     * @return
+     */
+    public String exportErrPatInfo(List<PatArchive> patArchiveList);
 }
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