Explorar o código

整改数据保存,默认值保存

wangming hai 1 ano
pai
achega
9808cf2e10

+ 4 - 26
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxProjectManageServiceImpl.java

@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.rongwei.bscommon.sys.dao.LuckysheetDao;
 import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bscommon.sys.utils.LuckySheet4SummaryHelp;
 import com.rongwei.bscommon.sys.utils.ProjectSummaryExcelHelp;
 import com.rongwei.bsentity.domain.ZhcxProjectDeviceNumberDo;
 import com.rongwei.bsentity.domain.ZhcxProjectManageDo;
@@ -264,9 +265,9 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
             main.setArcposition(row.getString("部位"));
             main.setArccontent(row.getString("内容"));
             main.setMainstatus(row.getString("总状态"));
-            main.setReqdate(getDateDefaultNull(row, "提出日期"));
+            main.setReqdate(LuckySheet4SummaryHelp.getDateDefaultNull(row, "提出日期"));
             main.setRequser(row.getString("提出者"));
-            main.setRectifydate(getDateDefaultNull(row, "整改日期"));
+            main.setRectifydate(LuckySheet4SummaryHelp.getDateDefaultNull(row, "整改日期"));
             main.setRemark1(row.getString("备注1"));
             main.setRemark2(row.getString("备注2"));
 
@@ -293,7 +294,7 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
                 ZhcxProjectDeviceNumberDo numberDo = summaryDataBo.getPrjDeviceNumMap().get(machineNo);
                 machine.setMachineid(numberDo.getId());
 
-                machine.setFinishdate(getDateDefaultNull(machineObj, "完成日期"));
+                machine.setFinishdate(LuckySheet4SummaryHelp.getDateDefaultNull(machineObj, "完成日期"));
                 machine.setStatus(machineObj.getString("状态"));
 
                 Map<String, JSONObject> orgMap = summaryDataBo.getOrgMap();
@@ -366,29 +367,6 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
         }
     }
 
-    /**
-     * 主要作用是,无法转换日期给null
-     *
-     * @param obj
-     * @param dateKey
-     * @return
-     */
-    private Date getDateDefaultNull(JSONObject obj, String dateKey) {
-
-        if(ObjectUtil.isEmpty(obj) || ObjectUtil.isEmpty(dateKey)) {
-            return null;
-        }
-
-        try {
-            return obj.getDate(dateKey);
-        } catch (JSONException e) {
-            if(e.getMessage().startsWith("can not cast to Date")) {
-                return null;
-            }
-        }
-        return null;
-    }
-
     /**
      * 解析数据
      * {

+ 89 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/utils/LuckySheet4SummaryHelp.java

@@ -1,12 +1,19 @@
 package com.rongwei.bscommon.sys.utils;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONException;
 import com.alibaba.fastjson.JSONObject;
 import com.rongwei.bsentity.dto.luckysheet.AssembleCellParam;
 import com.rongwei.bsentity.dto.project.ProjectSummaryParamExcelDto;
 import com.rongwei.bsentity.dto.project.SheetInfoParam;
 import com.rongwei.rwcommon.utils.StringUtils;
 
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -24,6 +31,88 @@ public class LuckySheet4SummaryHelp {
      */
     public static final String[] MAIN_TITLE_SECOND = {"总状态","提出日期","整改期限","提出者","备注1","备注2"};
 
+    /**
+     * 字符串转日期格式  无法转换日期给null
+     *
+     * @param obj
+     * @param dateKey
+     * @return
+     */
+    public static Date getDateDefaultNull(JSONObject obj, String dateKey) {
+
+        if(ObjectUtil.isEmpty(obj) || ObjectUtil.isEmpty(dateKey)) {
+            return null;
+        }
+
+        try {
+            return obj.getDate(dateKey);
+        } catch (JSONException e) {
+            if(e.getMessage().startsWith("can not cast to Date")) {
+                return null;
+            }
+        } catch (Exception e) {
+            String dateValue = obj.getString(dateKey);
+            try {
+                DateTime dateTime = DateUtil.parse(dateValue, getDateFormat(dateValue));
+                return dateTime;
+            } catch (Exception ex) {
+                return null;
+            }
+
+        }
+        return null;
+    }
+
+    /**
+     * 获取匹配符
+     *
+     * @param strVal
+     * @return
+     */
+    public static String getDateFormat(String strVal) {
+        String delimiter = "-";
+        if(strVal.contains(".")) {
+            delimiter = ".";
+        } else if(strVal.contains("/")) {
+            delimiter = "/";
+        } else if(strVal.contains("年")) {
+            delimiter = "年";
+        }
+
+        StringBuilder ymdSb = new StringBuilder();
+        if("年".equals(delimiter)) {
+            ymdSb.append("yyyy");
+            ymdSb.append("年");
+            ymdSb.append("MM");
+            ymdSb.append("月");
+            ymdSb.append("dd");
+            ymdSb.append("日");
+        } else {
+            ymdSb.append("yyyy");
+            ymdSb.append(delimiter);
+            ymdSb.append("MM");
+            ymdSb.append(delimiter);
+            ymdSb.append("dd");
+        }
+
+        if(strVal.length() == 10) {
+            return ymdSb.toString();
+        }
+
+        if (strVal.length() == "yyyy-MM-dd HH:mm:ss".length()) {
+            ymdSb.append(" HH:mm:ss");
+        } else if (strVal.length() == 29 && strVal.charAt(26) == ':' && strVal.charAt(28) == '0') {
+            ymdSb.append("'T'HH:mm:ss.SSSXXX");
+        } else if (strVal.length() == 23 && strVal.charAt(19) == ',') {
+            ymdSb.append(" HH:mm:ss,SSS");
+        } else {
+            ymdSb.append(" HH:mm:ss.SSS");
+        }
+
+        return ymdSb.toString();
+    }
+
+
     /**
      * {
      * 		"c": 0,