Browse Source

自定义导出

guarantee-lsq 1 year ago
parent
commit
30ff21d246

+ 10 - 0
platform-dao/src/main/java/com/platform/dao/vo/export/sb/CustomParams.java

@@ -0,0 +1,10 @@
+package com.platform.dao.vo.export.sb;
+
+import lombok.Data;
+
+import java.io.Serializable;
+@Data
+public class CustomParams implements Serializable {
+    private String name;
+    private String content;
+}

+ 24 - 0
platform-dao/src/main/java/com/platform/dao/vo/sb/SbInfoVO.java

@@ -5,6 +5,7 @@ import com.platform.dao.entity.check.CheckStandard;
 import com.platform.dao.entity.part.PartInfo;
 import com.platform.dao.entity.part.PartInfo;
 import com.platform.dao.entity.upms.SysFile;
 import com.platform.dao.entity.upms.SysFile;
 import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
 import com.platform.dao.vo.query.longyanpurchaseorder.LongYanPurchaseOrderVO;
+import com.platform.office.annotation.Excel;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
@@ -596,4 +597,27 @@ public class SbInfoVO extends BaseVO implements Serializable {
     private String reportNo;
     private String reportNo;
 
 
     private String parentPositionId;
     private String parentPositionId;
+
+    @Excel(name="额定电压V",styleType=1)
+    private String eddy;
+    @Excel(name="单机功率KW",styleType=1)
+    private String djgl;
+    @Excel(name="额定电流",styleType=1)
+    private String eddl;
+    @Excel(name="转速",styleType=1)
+    private String zs;
+    @Excel(name="功率因数",styleType=1)
+    private String glys;
+    @Excel(name="接线方式",styleType=1)
+    private String lxfs;
+    @Excel(name="绝缘等级",styleType=1)
+    private String jydj;
+    @Excel(name="电机效率",styleType=1)
+    private String djxl;
+    @Excel(name="防护等级",styleType=1)
+    private String fhdj;
+    @Excel(name="防爆标志",styleType=1)
+    private String fbbz;
+    @Excel(name="防爆合格证号",styleType=1)
+    private String fbhgzh;
 }
 }

+ 2 - 2
platform-office/src/main/java/com/platform/office/poi/excel/imports/ExcelImportServer.java

@@ -167,8 +167,8 @@ public class ExcelImportServer extends ImportBaseService {
         while (rows.hasNext() && (row == null || sheet.getLastRowNum() - row.getRowNum() > params.getLastOfInvalidRow())) {
         while (rows.hasNext() && (row == null || sheet.getLastRowNum() - row.getRowNum() > params.getLastOfInvalidRow())) {
             row = rows.next();
             row = rows.next();
             int tempNum = params.getKeyIndex();
             int tempNum = params.getKeyIndex();
-            //System.out.println("---------------111------------"+tempNum);
+            System.out.println("---------------111------------"+tempNum);
-            //System.out.println("----------------3333-----------"+row.getCell(tempNum));
+            System.out.println("----------------3333-----------"+row.getCell(tempNum));
             // 判断是集合元素还是不是集合元素,如果是就继续加入这个集合,不是就创建新的对象
             // 判断是集合元素还是不是集合元素,如果是就继续加入这个集合,不是就创建新的对象
             if ((row.getCell(params.getKeyIndex()) == null && StringUtils.isNotEmpty(getKeyValue(row.getCell(params.getKeyIndex())))) && object != null) {
             if ((row.getCell(params.getKeyIndex()) == null && StringUtils.isNotEmpty(getKeyValue(row.getCell(params.getKeyIndex())))) && object != null) {
                 for (ExcelCollectionParams param : excelCollection) {
                 for (ExcelCollectionParams param : excelCollection) {

+ 30 - 1
platform-service/src/main/java/com/platform/service/sb/impl/SbInfoServiceImpl.java

@@ -54,6 +54,7 @@ import com.platform.dao.util.UserUtil;
 import com.platform.dao.util.compare.FieldComparedUtils;
 import com.platform.dao.util.compare.FieldComparedUtils;
 import com.platform.dao.vo.SysUserDeptVO;
 import com.platform.dao.vo.SysUserDeptVO;
 import com.platform.dao.vo.SysUserVO;
 import com.platform.dao.vo.SysUserVO;
+import com.platform.dao.vo.export.sb.CustomParams;
 import com.platform.dao.vo.export.sb.ExportSbInfoVO;
 import com.platform.dao.vo.export.sb.ExportSbInfoVO;
 import com.platform.dao.vo.export.sb.ExportYiBiaoSbInfoVO;
 import com.platform.dao.vo.export.sb.ExportYiBiaoSbInfoVO;
 import com.platform.dao.vo.query.sb.SbChangeRecordVO;
 import com.platform.dao.vo.query.sb.SbChangeRecordVO;
@@ -1654,7 +1655,7 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
             }
             }
 
 
             // 自定义参数
             // 自定义参数
-            if (StringUtils.isNotBlank(sbInfo.getParamList()) && sbInfo.getParamList() != "") {
+            /*if (StringUtils.isNotBlank(sbInfo.getParamList()) && sbInfo.getParamList() != "") {
                 JSONArray jsonArray = JSONArray.parseArray(sbInfo.getParamList());
                 JSONArray jsonArray = JSONArray.parseArray(sbInfo.getParamList());
                 StringBuffer sBuffer = new StringBuffer();
                 StringBuffer sBuffer = new StringBuffer();
                 if (jsonArray != null) {
                 if (jsonArray != null) {
@@ -1666,6 +1667,28 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
                     }
                     }
                 }
                 }
                 sbInfo.setParamList(sBuffer.toString());
                 sbInfo.setParamList(sBuffer.toString());
+            }*/
+
+            try{
+                if (StringUtils.isNotBlank(sbInfo.getParamList()) && sbInfo.getParamList() != "[]"){
+                    List<CustomParams> params = JSONArray.parseArray(sbInfo.getParamList(),CustomParams.class);
+                    Map<String,String> paramsMap = new HashMap<>();
+                    params.forEach(item->{
+                        paramsMap.put(item.getName(),item.getContent());
+                    });
+                    Class clazz = sbInfo.getClass();
+                    Field[] fields = clazz.getDeclaredFields();
+                    for (Field field : fields) {
+                        Excel excel = field.getAnnotation(Excel.class);
+                        if (excel != null && excel.styleType() == 1) {
+                            String content = paramsMap.get(excel.name());
+                            Method requestMethod = clazz.getMethod(getSetMethod(field.getName()),String.class);
+                            requestMethod.invoke(sbInfo,content);
+                        }
+                    }
+                }
+            }catch (Exception e){
+
             }
             }
         }
         }
         return vos;
         return vos;
@@ -2880,6 +2903,12 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
         return "get" + Character.toUpperCase(cha) + fieldName.substring(1);
         return "get" + Character.toUpperCase(cha) + fieldName.substring(1);
     }
     }
 
 
+
+    public String getSetMethod(String fieldName) {
+        char cha = fieldName.charAt(0);
+        return "set" + Character.toUpperCase(cha) + fieldName.substring(1);
+    }
+
     /**
     /**
      * 全部参数修改
      * 全部参数修改
      *
      *