Quellcode durchsuchen

整改问题修复

wangming vor 9 Monaten
Ursprung
Commit
7f51c657fc

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

@@ -30,6 +30,7 @@ import com.rongwei.rwcommoncomponent.excel.aspose.ExcelUtils;
 import com.rongwei.rwcommoncomponent.file.dto.SysFileItemParamDto;
 import com.rongwei.rwcommoncomponent.file.service.SysFileItemService;
 import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
+import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -853,261 +854,271 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
 
         List<ZhcxProjectRectifyDo> mainList = new ArrayList<>();
         List<ZhcxProjectRectifyMachineDo> slaveList = new ArrayList<>();
-        for (String rowIndex : rowMap.keySet()) {
-            JSONObject row = rowMap.get(rowIndex);
+        String rowIdx = null;
+        try {
+            for (String rowIndex : rowMap.keySet()) {
+                JSONObject row = rowMap.get(rowIndex);
 
-            if(ObjectUtil.isNull(row) || row.size() == 0) {
-                continue;
-            }
+                if(ObjectUtil.isNull(row) || row.size() == 0) {
+                    continue;
+                }
 
-            //主表
-            ZhcxProjectRectifyDo main = new ZhcxProjectRectifyDo();
-            main.setId(SecurityUtil.getUUID());
-            main.setDeleted("0");
-            //项目
-            main.setPrjid(summaryDataBo.getProject().getId());
-            main.setPrjcode(summaryDataBo.getProject().getProjectCode());
-            main.setPrjname(summaryDataBo.getProject().getProjectEname());
-
-            main.setBatchid(summaryDataBo.getBatchId());
-
-            main.setSeqsort(row.getInteger("总序号"));
-            main.setSupervisorcode(row.getString("监理编号"));
-            main.setArcposition(row.getString("部位"));
-            main.setArccontent(row.getString("内容"));
-            String status = row.getString("总状态");
-            main.setMainstatus(LuckySheet4SummaryHelp.getCommonStatus(status));
-            main.setReqdate(LuckySheet4SummaryHelp.getDateDefaultNull(row, "提出日期"));
-            main.setRequser(row.getString("提出者"));
+                rowIdx = rowIndex;
+
+                //主表
+                ZhcxProjectRectifyDo main = new ZhcxProjectRectifyDo();
+                main.setId(SecurityUtil.getUUID());
+                main.setDeleted("0");
+                //项目
+                main.setPrjid(summaryDataBo.getProject().getId());
+                main.setPrjcode(summaryDataBo.getProject().getProjectCode());
+                main.setPrjname(summaryDataBo.getProject().getProjectEname());
+
+                main.setBatchid(summaryDataBo.getBatchId());
+
+                main.setSeqsort(row.getInteger("总序号"));
+                main.setSupervisorcode(row.getString("监理编号"));
+                main.setArcposition(row.getString("部位"));
+                main.setArccontent(row.getString("内容"));
+                String status = row.getString("总状态");
+                main.setMainstatus(LuckySheet4SummaryHelp.getCommonStatus(status));
+                main.setReqdate(LuckySheet4SummaryHelp.getDateDefaultNull(row, "提出日期"));
+                main.setRequser(row.getString("提出者"));
 //            main.setRectifydate(LuckySheet4SummaryHelp.getDateDefaultNull(row, "整改期限"));
-            main.setRectifydate(row.getString("整改期限"));
-            main.setRemark1(row.getString("备注1"));
-            main.setRemark2(row.getString("备注2"));
+                main.setRectifydate(row.getString("整改期限"));
+                main.setRemark1(row.getString("备注1"));
+                main.setRemark2(row.getString("备注2"));
 
-            main.setMachineno(StringUtils.join(summaryDataBo.getPrjDeviceNumMap().keySet(), ","));
+                main.setMachineno(StringUtils.join(summaryDataBo.getPrjDeviceNumMap().keySet(), ","));
 
-            mainList.add(main);
+                mainList.add(main);
 
-            JSONObject children = row.getJSONObject("children");
-            if(ObjectUtil.isNull(children)) {
-                continue;
-            }
-
-            //从表
-            for(String machineNo : children.keySet()) {
+                JSONObject children = row.getJSONObject("children");
+                if(ObjectUtil.isNull(children)) {
+                    continue;
+                }
 
-                JSONObject machineObj = children.getJSONObject(machineNo);
+                //从表
+                for(String machineNo : children.keySet()) {
 
-                ZhcxProjectRectifyMachineDo machine = new ZhcxProjectRectifyMachineDo();
-                machine.setPrjid(main.getPrjid());
-                machine.setRectifyid(main.getId());
-                machine.setDeleted("0");
+                    JSONObject machineObj = children.getJSONObject(machineNo);
 
-                machine.setMachineno(machineNo);
-                ZhcxProjectDeviceNumberDo numberDo = summaryDataBo.getPrjDeviceNumMap().get(machineNo);
+                    ZhcxProjectRectifyMachineDo machine = new ZhcxProjectRectifyMachineDo();
+                    machine.setPrjid(main.getPrjid());
+                    machine.setRectifyid(main.getId());
+                    machine.setDeleted("0");
 
-                if(ObjectUtil.isNotNull(numberDo)) {
-                    machine.setMachineid(numberDo.getId());
-                }
+                    machine.setMachineno(machineNo);
+                    ZhcxProjectDeviceNumberDo numberDo = summaryDataBo.getPrjDeviceNumMap().get(machineNo);
 
-                machine.setFinishdate(LuckySheet4SummaryHelp.getDateDefaultNull(machineObj, "完成日期"));
-                String mochineStatus = machineObj.getString("状态");
-                machine.setStatus(LuckySheet4SummaryHelp.getCommonStatus(mochineStatus));
-
-                machine.setSubcontractorname(machineObj.getString("施工分包商/班组"));
-                machine.setDutysubcontractorname(machineObj.getString("责任分包商/班组"));
-
-                Map<String, JSONObject> orgMap = summaryDataBo.getOrgMap();
-                Map<String, JSONObject> orgIdMap = summaryDataBo.getOrgIdMap();
-
-                //责任部门
-                String departName = machineObj.getString("施工部门");
-                if(ObjectUtil.isNotEmpty(departName)
-                        && (departName.contains(",") || departName.contains(",") || departName.contains("、"))) {
-                    String[] departNames = null;
-                    if(departName.contains(",")) {
-                        departNames = departName.split(",");
-                    } else if(departName.contains(",")) {
-                        departNames = departName.split(",");
-                    } else if(departName.contains("、")) {
-                        departNames = departName.split("、");
+                    if(ObjectUtil.isNotNull(numberDo)) {
+                        machine.setMachineid(numberDo.getId());
                     }
 
-                    for(String depName : departNames) {
+                    machine.setFinishdate(LuckySheet4SummaryHelp.getDateDefaultNull(machineObj, "完成日期"));
+                    String mochineStatus = machineObj.getString("状态");
+                    machine.setStatus(LuckySheet4SummaryHelp.getCommonStatus(mochineStatus));
 
-                        //去掉无用部分
-                        String realDepartName = getRealDepartName(depName);
+                    machine.setSubcontractorname(machineObj.getString("施工分包商/班组"));
+                    machine.setDutysubcontractorname(machineObj.getString("责任分包商/班组"));
 
-                        if(ObjectUtil.isEmpty(realDepartName)) {
-                            continue;
-                        }
+                    Map<String, JSONObject> orgMap = summaryDataBo.getOrgMap();
+                    Map<String, JSONObject> orgIdMap = summaryDataBo.getOrgIdMap();
 
-                        ZhcxProjectRectifyMachineDo machineEntity = new ZhcxProjectRectifyMachineDo();
-                        BeanUtil.copyProperties(machine, machineEntity);
+                    //责任部门
+                    String departName = machineObj.getString("施工部门");
+                    if(ObjectUtil.isNotEmpty(departName)
+                            && (departName.contains(",") || departName.contains(",") || departName.contains("、"))) {
+                        String[] departNames = null;
+                        if(departName.contains(",")) {
+                            departNames = departName.split(",");
+                        } else if(departName.contains(",")) {
+                            departNames = departName.split(",");
+                        } else if(departName.contains("、")) {
+                            departNames = departName.split("、");
+                        }
 
-                        machineEntity.setDeptname(realDepartName);
-                        machineEntity.setDutydeptname(realDepartName);
+                        for(String depName : departNames) {
 
-                        JSONObject org = orgMap.get(realDepartName);
-                        if(ObjectUtil.isNotNull(org)) {
-                            machineEntity.setDeptid(org.getString("ID"));
+                            //去掉无用部分
+                            String realDepartName = getRealDepartName(depName);
 
-                            //如果上一级选择的基地内id,表示选择的是一级部门
-                            // 选择一级部门
-                            if("366d678e57384d0e92c4c5d0d3af2485".equals(org.getString("PID"))) {//基地外
-                                machineEntity.setFirstdeptid(org.getString("ID"));
-                                machineEntity.setFirstdeptname(realDepartName);
-                                machineEntity.setIfoutsidebase("outside");
-                            } else if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(org.getString("PID"))) {//长兴基地
-                                machineEntity.setFirstdeptid(org.getString("ID"));
-                                machineEntity.setFirstdeptname(realDepartName);
-                                machineEntity.setIfoutsidebase("inside");
+                            if(ObjectUtil.isEmpty(realDepartName)) {
+                                continue;
                             }
-                            //选择二级部门情况
-                            else {
-                                //一级部门
-                                JSONObject firstObj = orgIdMap.get(org.getString("PID"));
 
-                                if(ObjectUtil.isNotNull(firstObj)) {
+                            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"));
+
+                                //如果上一级选择的基地内id,表示选择的是一级部门
+                                // 选择一级部门
+                                if("366d678e57384d0e92c4c5d0d3af2485".equals(org.getString("PID"))) {//基地外
+                                    machineEntity.setFirstdeptid(org.getString("ID"));
+                                    machineEntity.setFirstdeptname(realDepartName);
+                                    machineEntity.setIfoutsidebase("outside");
+                                } else if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(org.getString("PID"))) {//长兴基地
+                                    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");
+                                    JSONObject firstObj = orgIdMap.get(org.getString("PID"));
+
+                                    if(ObjectUtil.isNotNull(firstObj)) {
+                                        //一级部门
+                                        machineEntity.setFirstdeptid(firstObj.getString("ID"));
+                                        machineEntity.setFirstdeptname(firstObj.getString("SHORTNAME"));
+
+                                        //基地内外
+                                        if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("PID"))) {//长兴基地
+                                            machineEntity.setIfoutsidebase("inside");
+                                        } else {
+                                            machineEntity.setIfoutsidebase("outside");
+                                        }
                                     } else {
-                                        machineEntity.setIfoutsidebase("outside");
+                                        machineEntity.setIfoutsidebase("otherside");
                                     }
-                                } else {
-                                    machineEntity.setIfoutsidebase("otherside");
+
                                 }
 
-                            }
 
+                                machineEntity.setDutydeptid(machineEntity.getDeptid());
+                                machineEntity.setFirstdutydeptid(machineEntity.getFirstdeptid());
+                                machineEntity.setFirstdutydeptname(machineEntity.getFirstdeptname());
+                                machineEntity.setDutyifoutsidebase(machineEntity.getIfoutsidebase());
+
+                            }
 
-                            machineEntity.setDutydeptid(machineEntity.getDeptid());
-                            machineEntity.setFirstdutydeptid(machineEntity.getFirstdeptid());
-                            machineEntity.setFirstdutydeptname(machineEntity.getFirstdeptname());
-                            machineEntity.setDutyifoutsidebase(machineEntity.getIfoutsidebase());
+                            machineEntity.setBatchid(summaryDataBo.getBatchId());
 
+                            machineEntity.setId(SecurityUtil.getUUID());
+                            slaveList.add(machineEntity);
                         }
 
-                        machineEntity.setBatchid(summaryDataBo.getBatchId());
+                    } else {
 
-                        machineEntity.setId(SecurityUtil.getUUID());
-                        slaveList.add(machineEntity);
-                    }
+                        //去掉无用
+                        String realDepartName = getRealDepartName(departName);
+                        if(ObjectUtil.isEmpty(realDepartName)) {
+                            continue;
+                        }
 
-                } else {
+                        //施工部门
+                        machine.setDeptname(realDepartName);
 
-                    //去掉无用
-                    String realDepartName = getRealDepartName(departName);
-                    if(ObjectUtil.isEmpty(realDepartName)) {
-                        continue;
-                    }
+                        JSONObject departOrg = orgMap.get(realDepartName);
+                        if(ObjectUtil.isNotEmpty(departName) && ObjectUtil.isNotNull(departOrg)) {
+                            machine.setDeptid(departOrg.getString("ID"));
 
-                    //施工部门
-                    machine.setDeptname(realDepartName);
-
-                    JSONObject departOrg = orgMap.get(realDepartName);
-                    if(ObjectUtil.isNotEmpty(departName) && ObjectUtil.isNotNull(departOrg)) {
-                        machine.setDeptid(departOrg.getString("ID"));
-
-                        // 选择一级部门
-                        if ("366d678e57384d0e92c4c5d0d3af2485".equals(departOrg.getString("PID"))) {//基地外
-                            machine.setFirstdeptid(departOrg.getString("ID"));
-                            machine.setFirstdeptname(realDepartName);
-                            machine.setIfoutsidebase("outside");
-                        } else if ("b0bd3ed27bfb4af08535c39f464b3d3a".equals(departOrg.getString("PID"))) {//长兴基地
-                            machine.setFirstdeptid(departOrg.getString("ID"));
-                            machine.setFirstdeptname(realDepartName);
-                            machine.setIfoutsidebase("inside");
-                        }
-                        //其他情况视为选择二级部门
-                        else { //选择二级部门情况
-                            JSONObject firstObj = orgIdMap.get(departOrg.getString("PID")); //一级部门
-                            //如果上一级选择的基地内id,表示选择的是一级部门
-                            if(ObjectUtil.isNotEmpty(firstObj)) {
-                                //一级部门
-                                machine.setFirstdeptid(firstObj.getString("ID"));
-                                machine.setFirstdeptname(firstObj.getString("SHORTNAME"));
+                            // 选择一级部门
+                            if ("366d678e57384d0e92c4c5d0d3af2485".equals(departOrg.getString("PID"))) {//基地外
+                                machine.setFirstdeptid(departOrg.getString("ID"));
+                                machine.setFirstdeptname(realDepartName);
+                                machine.setIfoutsidebase("outside");
+                            } else if ("b0bd3ed27bfb4af08535c39f464b3d3a".equals(departOrg.getString("PID"))) {//长兴基地
+                                machine.setFirstdeptid(departOrg.getString("ID"));
+                                machine.setFirstdeptname(realDepartName);
+                                machine.setIfoutsidebase("inside");
+                            }
+                            //其他情况视为选择二级部门
+                            else { //选择二级部门情况
+                                JSONObject firstObj = orgIdMap.get(departOrg.getString("PID")); //一级部门
+                                //如果上一级选择的基地内id,表示选择的是一级部门
+                                if(ObjectUtil.isNotEmpty(firstObj)) {
+                                    //一级部门
+                                    machine.setFirstdeptid(firstObj.getString("ID"));
+                                    machine.setFirstdeptname(firstObj.getString("SHORTNAME"));
 
-                                //基地内外
-                                if ("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("PID"))) {//长兴基地
-                                    machine.setIfoutsidebase("inside");
-                                } else {
-                                    machine.setIfoutsidebase("outside");
-                                }
+                                    //基地内外
+                                    if ("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("PID"))) {//长兴基地
+                                        machine.setIfoutsidebase("inside");
+                                    } else {
+                                        machine.setIfoutsidebase("outside");
+                                    }
 
+                                }
+                                else {
+                                    machine.setIfoutsidebase("otherside");
+                                }
                             }
-                            else {
-                                machine.setIfoutsidebase("otherside");
-                            }
-                        }
 //                        machine.setFirstdeptid(departOrg.getString("PID"));
 //                        machine.setFirstdeptname(departOrg.getString("PSHORTNAME"));
-                    } else {
-                        machine.setIfoutsidebase("otherside");
-                    }
+                        } else {
+                            machine.setIfoutsidebase("otherside");
+                        }
 
-                    //责任部门
-                    String dutyDepartName = machineObj.getString("责任部门");
+                        //责任部门
+                        String dutyDepartName = machineObj.getString("责任部门");
 
-                    //去掉无用
-                    String realDutyDepartName = getRealDepartName(dutyDepartName);
-                    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"));
-
-                        // 选择一级部门
-                        if("366d678e57384d0e92c4c5d0d3af2485".equals(dutyDepartOrg.getString("PID"))) {//基地外
-                            machine.setFirstdutydeptid(dutyDepartOrg.getString("ID"));
-                            machine.setFirstdutydeptname(realDepartName);
-                            machine.setDutyifoutsidebase("outside");
-                        } else if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(dutyDepartOrg.getString("PID"))) {//长兴基地
-                            machine.setFirstdutydeptid(dutyDepartOrg.getString("ID"));
-                            machine.setFirstdutydeptname(realDepartName);
-                            machine.setDutyifoutsidebase("inside");
+                        //去掉无用
+                        String realDutyDepartName = getRealDepartName(dutyDepartName);
+                        if(ObjectUtil.isEmpty(realDepartName)) {
+                            continue;
                         }
-                        //其他情况视为选择二级部门
-                        else {  //选择二级部门情况
-                            //一级部门
-                            JSONObject firstObj = orgIdMap.get(dutyDepartOrg.getString("PID"));
-                            //如果上一级选择的基地内id,表示选择的是一级部门
-                            if(ObjectUtil.isNotEmpty(firstObj)) {
+                        machine.setDutydeptname(realDutyDepartName);
+
+                        JSONObject dutyDepartOrg = orgMap.get(realDutyDepartName);
+                        if(ObjectUtil.isNotEmpty(realDutyDepartName) && ObjectUtil.isNotNull(dutyDepartOrg)) {
+                            machine.setDutydeptid(dutyDepartOrg.getString("ID"));
+
+                            // 选择一级部门
+                            if("366d678e57384d0e92c4c5d0d3af2485".equals(dutyDepartOrg.getString("PID"))) {//基地外
+                                machine.setFirstdutydeptid(dutyDepartOrg.getString("ID"));
+                                machine.setFirstdutydeptname(realDepartName);
+                                machine.setDutyifoutsidebase("outside");
+                            } else if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(dutyDepartOrg.getString("PID"))) {//长兴基地
+                                machine.setFirstdutydeptid(dutyDepartOrg.getString("ID"));
+                                machine.setFirstdutydeptname(realDepartName);
+                                machine.setDutyifoutsidebase("inside");
+                            }
+                            //其他情况视为选择二级部门
+                            else {  //选择二级部门情况
                                 //一级部门
-                                machine.setFirstdutydeptid(firstObj.getString("ID"));
-                                machine.setFirstdutydeptname(firstObj.getString("SHORTNAME"));
+                                JSONObject firstObj = orgIdMap.get(dutyDepartOrg.getString("PID"));
+                                //如果上一级选择的基地内id,表示选择的是一级部门
+                                if(ObjectUtil.isNotEmpty(firstObj)) {
+                                    //一级部门
+                                    machine.setFirstdutydeptid(firstObj.getString("ID"));
+                                    machine.setFirstdutydeptname(firstObj.getString("SHORTNAME"));
 
-                                //基地内外
-                                if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("PID"))) {//长兴基地
-                                    machine.setDutyifoutsidebase("inside");
+                                    //基地内外
+                                    if("b0bd3ed27bfb4af08535c39f464b3d3a".equals(firstObj.getString("PID"))) {//长兴基地
+                                        machine.setDutyifoutsidebase("inside");
+                                    } else {
+                                        machine.setDutyifoutsidebase("outside");
+                                    }
                                 } else {
-                                    machine.setDutyifoutsidebase("outside");
+                                    machine.setDutyifoutsidebase("otherside");
                                 }
-                            } else {
-                                machine.setDutyifoutsidebase("otherside");
                             }
-                        }
 
 //                        machine.setFirstdutydeptid(dutyDepartOrg.getString("PID"));
 //                        machine.setFirstdutydeptname(dutyDepartOrg.getString("PSHORTNAME"));
-                    } else {
-                        machine.setDutyifoutsidebase("otherside");
-                    }
-                    machine.setBatchid(summaryDataBo.getBatchId());
+                        } else {
+                            machine.setDutyifoutsidebase("otherside");
+                        }
+                        machine.setBatchid(summaryDataBo.getBatchId());
 
-                    machine.setId(SecurityUtil.getUUID());
-                    slaveList.add(machine);
+                        machine.setId(SecurityUtil.getUUID());
+                        slaveList.add(machine);
+                    }
                 }
+
             }
 
+        } catch (NumberFormatException e) {
+            log.error("格式化数字错误", e);
+            int rowIdxInt = Integer.valueOf(rowIdx) + 1;
+            throw new CustomException("第".concat(String.valueOf(rowIdxInt)).concat("行总序号请填写数字"));
         }
 
         if(ObjectUtil.isNotEmpty(mainList)) {