Browse Source

内部报验派单逻辑更改

wangming 11 months ago
parent
commit
112e465dc1

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

@@ -46,16 +46,16 @@ public interface LuckysheetDao extends BaseMapper<LuckysheetDo> {
      * @return
      */
     @Select("SELECT " +
-            "VALUE as SHORTNAME, " +
-            "ID, " +
-            "DICTTYPE " +
+            " VALUE AS SHORTNAME, " +
+            " ID, " +
+            " DICTTYPE, PID " +
             "FROM " +
-            "SYS_DICT sd " +
+            " SYS_DICT sd " +
             "WHERE " +
-            "DICTTYPE = 'rectification_organization' " +
-            "AND DELETED = '0' " +
-            "AND PID <> '-1' " +
+            " DICTTYPE = 'rectification_organization' " +
+            " AND DELETED = '0' " +
+            " AND PID <> '-1' " +
             "ORDER BY " +
-            "SORT")
+            " SORT")
     List<JSONObject> getWorkshopDict();
 }

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

@@ -140,7 +140,11 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
         //获取项目机号
         List<String> deviceNumberList = projectDeviceNumberService.getDeviceNumberByProjectId(manageDo.getId());
 
+        //组织机构  去掉顶级部门
         List<JSONObject> workshopList = getWorkshop();
+        workshopList = workshopList.stream()
+                .filter(item -> !LuckySheet4SummaryHelp.RECTIFY_DICT_TOP.equals(item.getString("PID")))
+                .collect(Collectors.toList());
 
         //构件
         List<String> structureList = itpProjectNodesService.getStructureByProjectId(manageDo.getId());
@@ -488,14 +492,14 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
     @Override
     public List<JSONObject> getWorkshop() {
         //正常组织结构
-        List<JSONObject> workshopList = luckysheetDao.getWorkshop();
+//        List<JSONObject> workshopList = luckysheetDao.getWorkshop();
 
         //额外数据字典中配置
         List<JSONObject> workshopDictList = luckysheetDao.getWorkshopDict();
 
-        workshopList.addAll(workshopDictList);
+//        workshopList.addAll(workshopDictList);
 
-        return workshopList;
+        return workshopDictList;
     }
 
     /**
@@ -812,6 +816,11 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
         List<ZhcxProjectRectifyMachineDo> slaveList = new ArrayList<>();
         for (String rowIndex : rowMap.keySet()) {
             JSONObject row = rowMap.get(rowIndex);
+
+            if(ObjectUtil.isNull(row) || row.size() == 0) {
+                continue;
+            }
+
             //主表
             ZhcxProjectRectifyDo main = new ZhcxProjectRectifyDo();
             main.setId(SecurityUtil.getUUID());
@@ -861,6 +870,7 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
                 machine.setStatus(LuckySheet4SummaryHelp.getCommonStatus(mochineStatus));
 
                 Map<String, JSONObject> orgMap = summaryDataBo.getOrgMap();
+                Map<String, JSONObject> orgIdMap = summaryDataBo.getOrgIdMap();
 
                 //责任部门
                 String departName = machineObj.getString("施工部门");
@@ -887,18 +897,46 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
                         ZhcxProjectRectifyMachineDo machineEntity = new ZhcxProjectRectifyMachineDo();
                         BeanUtil.copyProperties(machine, machineEntity);
 
+                        machineEntity.setDeptname(realDepartName);
+                        machineEntity.setDutydeptname(realDepartName);
+
                         JSONObject org = orgMap.get(realDepartName);
                         if(ObjectUtil.isNotNull(org)) {
                             machineEntity.setDeptid(org.getString("ID"));
-                            machineEntity.setFirstdeptid(org.getString("PID"));
-                            machineEntity.setFirstdeptname(org.getString("PSHORTNAME"));
+                            //一级部门
+                            JSONObject firstObj = orgIdMap.get(org.getString("PID"));
+                            //如果上一级选择的基地内id,表示选择的是一级部门
+                            // 选择一级部门
+                            if("366d678e57384d0e92c4c5d0d3af2485".equals(firstObj.getString("ID"))) {//基地外
+                                machineEntity.setFirstdeptid(org.getString("ID"));
+                                machineEntity.setFirstdeptname(realDepartName);
+                                machineEntity.setIfoutsidebase("outside");
+                            } else if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("ID"))) {//长兴基地
+                                machineEntity.setFirstdeptid(org.getString("ID"));
+                                machineEntity.setFirstdeptname(realDepartName);
+                                machineEntity.setIfoutsidebase("inside");
+                            }
+                            //选择二级部门情况
+                            else {
+                                //一级部门
+                                machineEntity.setFirstdeptid(firstObj.getString("ID"));
+                                machineEntity.setFirstdeptname(firstObj.getString("SHORTNAME"));
+
+                                //基地内外
+                                if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("PID"))) {//长兴基地
+                                    machineEntity.setIfoutsidebase("inside");
+                                } else {
+                                    machineEntity.setIfoutsidebase("outside");
+                                }
+                            }
+
+                            machineEntity.setDutydeptid(machineEntity.getDeptid());
+                            machineEntity.setFirstdutydeptid(machineEntity.getFirstdeptid());
+                            machineEntity.setFirstdutydeptname(machineEntity.getFirstdeptname());
+                            machineEntity.setDutyifoutsidebase(machineEntity.getIfoutsidebase());
 
-                            machineEntity.setDutydeptid(org.getString("ID"));
-                            machineEntity.setFirstdutydeptid(org.getString("PID"));
-                            machineEntity.setFirstdutydeptname(org.getString("PSHORTNAME"));
                         }
-                        machineEntity.setDeptname(realDepartName);
-                        machineEntity.setDutydeptname(realDepartName);
+
                         machineEntity.setBatchid(summaryDataBo.getBatchId());
 
                         machineEntity.setId(SecurityUtil.getUUID());
@@ -914,13 +952,42 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
                     }
 
                     //施工部门
+                    machine.setDeptname(realDepartName);
+
                     JSONObject departOrg = orgMap.get(realDepartName);
                     if(ObjectUtil.isNotEmpty(departName) && ObjectUtil.isNotNull(departOrg)) {
                         machine.setDeptid(departOrg.getString("ID"));
-                        machine.setFirstdeptid(departOrg.getString("PID"));
-                        machine.setFirstdeptname(departOrg.getString("PSHORTNAME"));
+
+                        //一级部门
+                        JSONObject firstObj = orgIdMap.get(departOrg.getString("PID"));
+                        //如果上一级选择的基地内id,表示选择的是一级部门
+                        // 选择一级部门
+                        if("366d678e57384d0e92c4c5d0d3af2485".equals(firstObj.getString("ID"))) {//基地外
+                            machine.setFirstdeptid(departOrg.getString("ID"));
+                            machine.setFirstdeptname(realDepartName);
+                            machine.setIfoutsidebase("outside");
+                        } else if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("ID"))) {//长兴基地
+                            machine.setFirstdeptid(departOrg.getString("ID"));
+                            machine.setFirstdeptname(realDepartName);
+                            machine.setIfoutsidebase("inside");
+                        }
+                        //选择二级部门情况
+                        else {
+                            //一级部门
+                            machine.setFirstdeptid(firstObj.getString("ID"));
+                            machine.setFirstdeptname(firstObj.getString("SHORTNAME"));
+
+                            //基地内外
+                            if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("PID"))) {//长兴基地
+                                machine.setIfoutsidebase("inside");
+                            } else {
+                                machine.setIfoutsidebase("outside");
+                            }
+                        }
+
+//                        machine.setFirstdeptid(departOrg.getString("PID"));
+//                        machine.setFirstdeptname(departOrg.getString("PSHORTNAME"));
                     }
-                    machine.setDeptname(realDepartName);
 
                     //责任部门
                     String dutyDepartName = machineObj.getString("责任部门");
@@ -930,14 +997,42 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
                     if(ObjectUtil.isEmpty(realDepartName)) {
                         continue;
                     }
+                    machine.setDutydeptname(realDutyDepartName);
 
                     JSONObject dutyDepartOrg = orgMap.get(realDutyDepartName);
                     if(ObjectUtil.isNotEmpty(realDutyDepartName) && ObjectUtil.isNotNull(dutyDepartOrg)) {
                         machine.setDutydeptid(dutyDepartOrg.getString("ID"));
-                        machine.setFirstdutydeptid(dutyDepartOrg.getString("PID"));
-                        machine.setFirstdutydeptname(dutyDepartOrg.getString("PSHORTNAME"));
+
+                        //一级部门
+                        JSONObject firstObj = orgIdMap.get(departOrg.getString("PID"));
+                        //如果上一级选择的基地内id,表示选择的是一级部门
+                        // 选择一级部门
+                        if("366d678e57384d0e92c4c5d0d3af2485".equals(firstObj.getString("ID"))) {//基地外
+                            machine.setFirstdutydeptid(departOrg.getString("ID"));
+                            machine.setFirstdutydeptname(realDepartName);
+                            machine.setDutyifoutsidebase("outside");
+                        } else if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("ID"))) {//长兴基地
+                            machine.setFirstdutydeptid(departOrg.getString("ID"));
+                            machine.setFirstdutydeptname(realDepartName);
+                            machine.setDutyifoutsidebase("inside");
+                        }
+                        //选择二级部门情况
+                        else {
+                            //一级部门
+                            machine.setFirstdutydeptid(firstObj.getString("ID"));
+                            machine.setFirstdutydeptname(firstObj.getString("SHORTNAME"));
+
+                            //基地内外
+                            if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("PID"))) {//长兴基地
+                                machine.setDutyifoutsidebase("inside");
+                            } else {
+                                machine.setDutyifoutsidebase("outside");
+                            }
+                        }
+
+//                        machine.setFirstdutydeptid(dutyDepartOrg.getString("PID"));
+//                        machine.setFirstdutydeptname(dutyDepartOrg.getString("PSHORTNAME"));
                     }
-                    machine.setDutydeptname(realDutyDepartName);
                     machine.setBatchid(summaryDataBo.getBatchId());
 
                     machine.setId(SecurityUtil.getUUID());
@@ -1143,7 +1238,11 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
         //组织机构
         List<JSONObject> workshopList = getWorkshop();
         Map<String, JSONObject> workshopMap = new HashMap<>();
-        workshopList.forEach(item -> workshopMap.put(item.getString("SHORTNAME"), item));
+        Map<String, JSONObject> workshopIdMap = new HashMap<>();
+        workshopList.forEach(item -> {
+            workshopMap.put(item.getString("SHORTNAME"), item);
+            workshopIdMap.put(item.getString("ID"), item);
+        });
 
         //项目
         ZhcxProjectManageDo project = getById(dto.getProjectId());
@@ -1151,6 +1250,7 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
         return SaveSummaryDataBo.builder()
                 .prjDeviceNumMap(deviceNumMap)
                 .orgMap(workshopMap)
+                .orgIdMap(workshopIdMap)
                 .project(project)
                 .batchId(dto.getBatchId())
                 .build();
@@ -1181,7 +1281,7 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
         //项目
         JSONObject prjTitle = new JSONObject();
 
-        String[] mainCols = { "总状态","提出日期","整改期限","提出者","备注1","备注2" };
+        String[] mainCols = ArrayUtil.addAll(LuckySheet4SummaryHelp.MAIN_TITLE_FIRST, LuckySheet4SummaryHelp.MAIN_TITLE_SECOND);
 
         //每个单元格
         for(int m = 0, n = celldatas.size(); m < n; m++) {

+ 6 - 1
business-common/src/main/java/com/rongwei/bscommon/sys/utils/LuckySheet4SummaryHelp.java

@@ -31,10 +31,15 @@ public class LuckySheet4SummaryHelp {
     public static final List<String> DATA_VERIFY_STATUS = Arrays.asList(new String[] {"OK", "X", "√"});
 
     /**
-     *
+     *
      */
     public static final List<String> WRONG_STATUS = Arrays.asList(new String[] {"×"});
 
+    /**
+     * 整改数据字典顶层id
+     */
+    public static final String RECTIFY_DICT_TOP = "baaae3cc994d4bfaa25f9a4bf674578d";
+
     /**
      * 获取单元格值
      *

+ 12 - 0
business-entity/src/main/java/com/rongwei/bsentity/domain/ZhcxProjectRectifyMachineDo.java

@@ -128,4 +128,16 @@ public class ZhcxProjectRectifyMachineDo extends BaseDo {
     @TableField("BATCHID")
     private String batchid;
 
+    /**
+     * 施工内外标识
+     */
+    @TableField("IFOUTSIDEBASE")
+    private String ifoutsidebase;
+
+    /**
+     * 责任内外标识
+     */
+    @TableField("DUTYIFOUTSIDEBASE")
+    private String dutyifoutsidebase;
+
 }

+ 6 - 1
business-entity/src/main/java/com/rongwei/bsentity/dto/project/SaveSummaryDataBo.java

@@ -20,10 +20,15 @@ public class SaveSummaryDataBo {
     private Map<String, ZhcxProjectDeviceNumberDo> prjDeviceNumMap;
 
     /**
-     * 组织机构
+     * 组织机构 key为名称
      */
     private Map<String, JSONObject> orgMap;
 
+    /**
+     * 组织机构,key为组织机构id
+     */
+    private Map<String, JSONObject> orgIdMap;
+
     /**
      * 项目id
      */