Browse Source

加入excel行号

kongwz 4 năm trước cách đây
mục cha
commit
f1a2439b65

+ 16 - 6
src/main/java/com/diagbot/facade/KlDiagnoseImportFacade.java

@@ -126,7 +126,7 @@ public class KlDiagnoseImportFacade {
                 allData.add(importDiagnoseResVO);
             } else {
                 allFlag = false;
-                diagMessage.put(sheetName, StringUtils.join(currentErrMsg, ";  "));
+                diagMessage.put(sheetName, StringUtils.join(currentErrMsg.stream().distinct().collect(Collectors.toList()), ";  "));
             }
         }
         return allFlag;
@@ -188,6 +188,7 @@ public class KlDiagnoseImportFacade {
 
         if (ListUtil.isNotEmpty(data)) {
             for (ImportDiagnoseVO imd : data) {
+                Integer rowNum = imd.getRowNum();
                 String type = imd.getType();
                 String rule = imd.getRule();
                 String orderNo = imd.getOrderNo();
@@ -202,25 +203,34 @@ public class KlDiagnoseImportFacade {
                     orderNums.add(orderNo);
                     if (!type.contains("正则") &&
                             !concept_map.containsKey(rule + "_" + String.valueOf(LexiconExtEnum.getEnum(type).getKey()))) {
-                        currentErrMsg.add(String.format("%s不是标准词", rule));
+                        currentErrMsg.add(String.format("第%d行%s不是标准词", rowNum,rule));
                     }
                 }
                 if (StringUtil.isNotBlank(maxSymbol) &&
                         !"<=".equals(maxSymbol) && !"<".equals(maxSymbol)) {
-                    currentErrMsg.add(String.format("%s的最大符号%s不正确", rule, maxSymbol));
+                    currentErrMsg.add(String.format("第%d行%s的最大符号不正确;  ", rowNum, rule));
                 }
                 if (StringUtil.isNotBlank(minSymbol) &&
                         !">=".equals(minSymbol) && !">".equals(minSymbol)) {
-                    currentErrMsg.add(String.format("%s的最小符号%s不正确", rule, minSymbol));
+                    currentErrMsg.add(String.format("第%d行%s的最小符号不正确;  ", rowNum, rule));
                 }
                 if(LexiconExtEnum.LisSubName.getName().equals(type) && StringUtils.isNotBlank(rule)
                 && StringUtils.isBlank(eq)){
-                    currentErrMsg.add(String.format("%s的等于值不能为空", rule));
+                    currentErrMsg.add(String.format("第%d行%s的等于值不能为空", rowNum,rule));
                 }
                 if((LexiconExtEnum.Vital.getName().equals(type) || LexiconExtEnum.Age.getName().equals(type))
                         && StringUtils.isNotBlank(rule)
                 && StringUtils.isBlank(imd.getMin()) && StringUtils.isBlank(imd.getMax())){
-                    currentErrMsg.add(String.format("当类型为%s项目时,最大值和最小值至少有一个不能为空", type));
+                    currentErrMsg.add(String.format("当类型为%s项目时,最大值和最小值至少有一个不能为空;  ", type));
+                }
+                if(StringUtils.isBlank(type)){
+                    currentErrMsg.add("类型不能为空;  ");
+                }
+                if(StringUtils.isBlank(orderNo)){
+                    currentErrMsg.add("序号不能为空;  ");
+                }
+                if(StringUtils.isNotBlank(type) && !diagtypes.contains(type) && StringUtils.isBlank(rule)){
+                    currentErrMsg.add("规则不能为空;  ");
                 }
             }
 

+ 15 - 1
src/main/java/com/diagbot/vo/ImportDiagnoseVO.java

@@ -1,6 +1,7 @@
 package com.diagbot.vo;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
+import cn.afterturn.easypoi.handler.inter.IExcelDataModel;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -14,7 +15,7 @@ import java.io.Serializable;
  * @since 2020-07-28
  */
 @Data
-public class ImportDiagnoseVO implements Serializable {
+public class ImportDiagnoseVO implements Serializable, IExcelDataModel {
 
     private static final long serialVersionUID = 1L;
 
@@ -41,4 +42,17 @@ public class ImportDiagnoseVO implements Serializable {
 
     // 规则标准词id
     private Long conceptId;
+    //行号
+    private Integer rowNum;
+
+    @Override
+    public Integer getRowNum() {
+        return rowNum;
+    }
+
+    @Override
+    public void setRowNum(Integer rowNum) {
+        this.rowNum=rowNum+1;//表头占一行
+
+    }
 }