Jelajahi Sumber

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

wangming 1 tahun lalu
induk
melakukan
1818f6e6f1

+ 1 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/LuckysheetDao.java

@@ -48,6 +48,7 @@ public interface LuckysheetDao extends BaseMapper<LuckysheetDo> {
     @Select("SELECT " +
             "NAME as SHORTNAME, " +
             "VALUE as ID, " +
+            "ID, " +
             "DICTTYPE " +
             "FROM " +
             "SYS_DICT sd " +

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

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONException;
 import com.alibaba.fastjson.JSONObject;
 import com.aspose.cells.*;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -263,9 +264,9 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
             main.setArcposition(row.getString("部位"));
             main.setArccontent(row.getString("内容"));
             main.setMainstatus(row.getString("总状态"));
-            main.setReqdate(row.getDate("提出日期"));
+            main.setReqdate(getDateDefaultNull(row, "提出日期"));
             main.setRequser(row.getString("提出者"));
-            main.setRectifydate(row.getDate("整改日期"));
+            main.setRectifydate(getDateDefaultNull(row, "整改日期"));
             main.setRemark1(row.getString("备注1"));
             main.setRemark2(row.getString("备注2"));
 
@@ -292,7 +293,7 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
                 ZhcxProjectDeviceNumberDo numberDo = summaryDataBo.getPrjDeviceNumMap().get(machineNo);
                 machine.setMachineid(numberDo.getId());
 
-                machine.setFinishdate(machineObj.getDate("完成日期"));
+                machine.setFinishdate(getDateDefaultNull(machineObj, "完成日期"));
                 machine.setStatus(machineObj.getString("状态"));
 
                 Map<String, JSONObject> orgMap = summaryDataBo.getOrgMap();
@@ -316,13 +317,15 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
                         BeanUtil.copyProperties(machine, machineEntity);
 
                         JSONObject org = orgMap.get(departNameTemp);
-                        machineEntity.setDeptid(org.getString("ID"));
-                        machineEntity.setDeptname(departNameTemp);
+                        if(ObjectUtil.isNotNull(org)) {
+                            machineEntity.setDeptid(org.getString("ID"));
+                            machineEntity.setDeptname(departNameTemp);
 
-                        machineEntity.setFirstdeptid(org.getString("PID"));
-                        machineEntity.setFirstdeptname(org.getString("pshortName"));
+                            machineEntity.setFirstdeptid(org.getString("PID"));
+                            machineEntity.setFirstdeptname(org.getString("pshortName"));
 
-                        machineEntity.setDutydeptid(org.getString("ID"));
+                            machineEntity.setDutydeptid(org.getString("ID"));
+                        }
                         machineEntity.setDutydeptname(departNameTemp);
 
                         machineEntity.setId(SecurityUtil.getUUID());
@@ -331,22 +334,21 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
 
                 } else {
                     //施工部门
-                    if(ObjectUtil.isNotEmpty(departName)) {
-                        JSONObject org = orgMap.get(departName);
-                        machine.setDeptid(org.getString("ID"));
-                        machine.setDeptname(departName);
-
-                        machine.setFirstdeptid(org.getString("PID"));
-                        machine.setFirstdeptname(org.getString("pshortName"));
+                    JSONObject departOrg = orgMap.get(departName);
+                    if(ObjectUtil.isNotEmpty(departName) && ObjectUtil.isNotNull(departOrg)) {
+                        machine.setDeptid(departOrg.getString("ID"));
+                        machine.setFirstdeptid(departOrg.getString("PID"));
+                        machine.setFirstdeptname(departOrg.getString("pshortName"));
                     }
+                    machine.setDeptname(departName);
 
                     //责任部门
                     String dutyDepartName = machineObj.getString("责任部门");
-                    if(ObjectUtil.isNotEmpty(dutyDepartName)) {
-                        JSONObject org = orgMap.get(dutyDepartName);
-                        machine.setDutydeptid(org.getString("ID"));
-                        machine.setDutydeptname(dutyDepartName);
+                    JSONObject dutyDepartOrg = orgMap.get(dutyDepartName);
+                    if(ObjectUtil.isNotEmpty(dutyDepartName) && ObjectUtil.isNotNull(dutyDepartOrg)) {
+                        machine.setDutydeptid(dutyDepartOrg.getString("ID"));
                     }
+                    machine.setDutydeptname(dutyDepartName);
 
                     machine.setId(SecurityUtil.getUUID());
                     slaveList.add(machine);
@@ -364,6 +366,29 @@ 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;
+    }
+
     /**
      * 解析数据
      * {