lin %!s(int64=3) %!d(string=hai) anos
pai
achega
f5deacea69

+ 17 - 7
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/excel/resolver/listener/DeviceImportListener.java

@@ -8,6 +8,7 @@ import com.zcxk.core.common.pojo.ResultMessage;
 import com.zcxk.rmcp.web.excel.model.DeviceImportData;
 import com.zcxk.rmcp.web.excel.model.ExcelData;
 import com.zcxk.rmcp.web.service.DeviceService;
+import com.zcxk.rmcp.web.util.Utils;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -27,26 +28,34 @@ public class DeviceImportListener extends AnalysisEventListener<DeviceImportData
     private ExcelData excelData;
 
 
-    public DeviceImportListener(DeviceService deviceService,ExcelData excelData) {
+    public DeviceImportListener(DeviceService deviceService, ExcelData excelData) {
         this.deviceService = deviceService;
         this.excelData = excelData;
     }
 
     @Override
     public void invoke(DeviceImportData data, AnalysisContext analysisContext) {
+        try {
+            if (Utils.checkObjFieldIsNull(data)
+            ) {
+                return;
+            }
+        } catch (IllegalAccessException e) {
+            e.printStackTrace();
+        }
         if (
                 data.getDeviceNo() == null || data.getDeviceTypeName() == null
-                && data.getMeterNo() == null || data.getCompanyOrgName() == null
+                        || data.getMeterNo() == null || data.getCompanyOrgName() == null
         ) {
             data.setRemark("必填项不能为空");
             list.add(data);
             excelData.getFailNum().incrementAndGet();
             return;
         }
-        ResultMessage resultMessage = deviceService.saveExcelData(data,excelData);
-        if(resultMessage.getStatus()){
+        ResultMessage resultMessage = deviceService.saveExcelData(data, excelData);
+        if (resultMessage.getStatus()) {
             excelData.getSuccessNum().incrementAndGet();
-        }else {
+        } else {
             data.setRemark(resultMessage.getMessage());
             list.add(data);
             excelData.getFailNum().incrementAndGet();
@@ -55,9 +64,10 @@ public class DeviceImportListener extends AnalysisEventListener<DeviceImportData
 
     @Override
     public void doAfterAllAnalysed(AnalysisContext analysisContext) {
-        log.info("批量导出设备完成 successNum = {},failNum = {}",excelData.getSuccessNum().get(),excelData.getFailNum().get());
+        log.info("批量导出设备完成 successNum = {},failNum = {}", excelData.getSuccessNum().get(), excelData.getFailNum().get());
     }
-    public List<DeviceImportData> getData(){
+
+    public List<DeviceImportData> getData() {
         return list;
     }
 

+ 22 - 0
zoniot-rmcp/zoniot-rmcp-web/src/main/java/com/zcxk/rmcp/web/util/Utils.java

@@ -0,0 +1,22 @@
+package com.zcxk.rmcp.web.util;
+
+import java.lang.reflect.Field;
+
+/**
+ * @author linqingwei
+ * @date 2021-08-25 20:01
+ */
+public class Utils {
+    public static boolean checkObjFieldIsNull(Object obj) throws IllegalAccessException {
+
+        boolean flag = true;
+        for(Field f : obj.getClass().getDeclaredFields()){
+            f.setAccessible(true);
+            if(f.get(obj) == null){
+                flag = false;
+                return flag;
+            }
+        }
+        return flag;
+    }
+}