Browse Source

船舶导入调整

zhuang 5 tháng trước cách đây
mục cha
commit
84a1e93e4c

+ 50 - 53
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxShipOffshoreServiceImpl.java

@@ -164,58 +164,54 @@ public class ZhcxShipOffshoreServiceImpl extends ServiceImpl<ZhcxShipOffshoreDao
                 list.stream().collect(Collectors.groupingBy(ZhcxShipOffshoreVo::getCode));
         List<ZhcxShipOffshoreDo> offshoreDoList = new ArrayList<>();
         List<ZhcxShipOffshoreDetailDo> offshoreDetailDoList = new ArrayList<>();
-        collect.forEach((k, vos) -> {
-            ZhcxShipOffshoreDo zhcxShipOffshoreDo = new ZhcxShipOffshoreDo();
-            zhcxShipOffshoreDo.setId(SecurityUtil.getUUID());
-            zhcxShipOffshoreDo.setCode(vos.get(0).getCode());
-            zhcxShipOffshoreDo.setName(vos.get(0).getName());
-            zhcxShipOffshoreDo.setDockdate(vos.get(0).getDockdate());
-            zhcxShipOffshoreDo.setOffshoredate(vos.get(0).getOffshoredate());
-            zhcxShipOffshoreDo.setRemark(vos.get(0).getRemark());
-//            List<String> prjCodeList = vos.stream()
-//                    .map(ZhcxShipOffshoreVo::getProjectcode).collect(Collectors.toList());
-//            LambdaQueryWrapper<ZhcxSeaBindProofDo> wrapper = new LambdaQueryWrapper<>();
-//            wrapper.in(ZhcxSeaBindProofDo::getProjectcode, prjCodeList);
-//            wrapper.eq(ZhcxSeaBindProofDo::getDeleted,"0");
-//            wrapper.eq(ZhcxSeaBindProofDo::getStatus,"审批通过");
-//            List<ZhcxSeaBindProofDo> zhcxSeaBindProofDos = zhcxSeaBindProofService.list(wrapper);
-//            Map<String, List<ZhcxSeaBindProofDo>> collect2 =
-//                    zhcxSeaBindProofDos.stream().collect(Collectors.groupingBy(ZhcxSeaBindProofDo::getProjectcode));
-            boolean unlaflag = true;
-            int size = vos.size();
-            AtomicInteger i = new AtomicInteger();
-            vos.forEach(item -> {
-                ZhcxShipOffshoreDetailDo zhcxShipOffshoreDetailDo = new ZhcxShipOffshoreDetailDo();
-                zhcxShipOffshoreDetailDo.setId(SecurityUtil.getUUID());
-                zhcxShipOffshoreDetailDo.setDockdate(item.getDockdate());
-                zhcxShipOffshoreDetailDo.setPid(zhcxShipOffshoreDo.getId());
-                zhcxShipOffshoreDetailDo.setProjectcode(item.getProjectcode());
-                zhcxShipOffshoreDetailDo.setProjectname(item.getProjectname());
-                zhcxShipOffshoreDetailDo.setProjectid(item.getProjectid());
-                zhcxShipOffshoreDetailDo.setMachineno(item.getMachineno());
-                zhcxShipOffshoreDetailDo.setMachineid(item.getMachineid());
-                zhcxShipOffshoreDetailDo.setColor("绿");
-                LambdaQueryWrapper<ZhcxSeaBindProofDo> wrapper = new LambdaQueryWrapper<>();
-                wrapper.eq(ZhcxSeaBindProofDo::getProjectcode, item.getProjectcode());
-                wrapper.eq(ZhcxSeaBindProofDo::getDeleted,"0");
-                wrapper.eq(ZhcxSeaBindProofDo::getStatus,"审批通过");
-                //wrapper.likeRight(ZhcxSeaBindProofDo::getCraneno,item.getMachineno());
-                wrapper.apply("FIND_IN_SET({0}, CRANENO)", item.getMachineno());
-                List<ZhcxSeaBindProofDo> zhcxSeaBindProofDos = zhcxSeaBindProofService.list(wrapper);
-                if(zhcxSeaBindProofDos.size() > 0){
-                    i.getAndIncrement();
+        collect.forEach((k, v) -> {
+            Map<Date, List<ZhcxShipOffshoreVo>> collect1 =
+                    v.stream().filter(e -> Objects.nonNull(e.getOffshoredate()))
+                            .collect(Collectors.groupingBy(ZhcxShipOffshoreVo::getOffshoredate));
+            collect1.forEach((k1, vos) -> {
+                ZhcxShipOffshoreDo zhcxShipOffshoreDo = new ZhcxShipOffshoreDo();
+                zhcxShipOffshoreDo.setId(SecurityUtil.getUUID());
+                zhcxShipOffshoreDo.setCode(vos.get(0).getCode());
+                zhcxShipOffshoreDo.setName(vos.get(0).getName());
+                zhcxShipOffshoreDo.setDockdate(vos.get(0).getDockdate());
+                zhcxShipOffshoreDo.setOffshoredate(vos.get(0).getOffshoredate());
+                zhcxShipOffshoreDo.setRemark(vos.get(0).getRemark());
+                boolean unlaflag = true;
+                int size = vos.size();
+                AtomicInteger i = new AtomicInteger();
+                vos.forEach(item -> {
+                    ZhcxShipOffshoreDetailDo zhcxShipOffshoreDetailDo = new ZhcxShipOffshoreDetailDo();
+                    zhcxShipOffshoreDetailDo.setId(SecurityUtil.getUUID());
+                    zhcxShipOffshoreDetailDo.setDockdate(item.getDockdate());
+                    zhcxShipOffshoreDetailDo.setPid(zhcxShipOffshoreDo.getId());
+                    zhcxShipOffshoreDetailDo.setProjectcode(item.getProjectcode());
+                    zhcxShipOffshoreDetailDo.setProjectname(item.getProjectname());
+                    zhcxShipOffshoreDetailDo.setProjectid(item.getProjectid());
+                    zhcxShipOffshoreDetailDo.setMachineno(item.getMachineno());
+                    zhcxShipOffshoreDetailDo.setMachineid(item.getMachineid());
+                    zhcxShipOffshoreDetailDo.setColor("绿");
+                    LambdaQueryWrapper<ZhcxSeaBindProofDo> wrapper = new LambdaQueryWrapper<>();
+                    wrapper.eq(ZhcxSeaBindProofDo::getProjectcode, item.getProjectcode());
+                    wrapper.eq(ZhcxSeaBindProofDo::getDeleted,"0");
+                    wrapper.eq(ZhcxSeaBindProofDo::getStatus,"审批通过");
+                    //wrapper.likeRight(ZhcxSeaBindProofDo::getCraneno,item.getMachineno());
+                    wrapper.apply("FIND_IN_SET({0}, CRANENO)", item.getMachineno());
+                    List<ZhcxSeaBindProofDo> zhcxSeaBindProofDos = zhcxSeaBindProofService.list(wrapper);
+                    if(zhcxSeaBindProofDos.size() > 0){
+                        i.getAndIncrement();
+                    }
+                    offshoreDetailDoList.add(zhcxShipOffshoreDetailDo);
+                });
+                if(size != 0 && i.get() == size){
+                    unlaflag = false;
+                }
+                if(unlaflag){
+                    zhcxShipOffshoreDo.setStatus("未离岸");
+                }else{
+                    zhcxShipOffshoreDo.setStatus("已离岸");
                 }
-                offshoreDetailDoList.add(zhcxShipOffshoreDetailDo);
+                offshoreDoList.add(zhcxShipOffshoreDo);
             });
-            if(size != 0 && i.get() == size){
-                unlaflag = false;
-            }
-            if(unlaflag){
-                zhcxShipOffshoreDo.setStatus("未离岸");
-            }else{
-                zhcxShipOffshoreDo.setStatus("已离岸");
-            }
-            offshoreDoList.add(zhcxShipOffshoreDo);
         });
         if (offshoreDoList.size() > 0) {
             service.remove(null);
@@ -313,11 +309,12 @@ public class ZhcxShipOffshoreServiceImpl extends ServiceImpl<ZhcxShipOffshoreDao
                 date = simpleDateFormat.parse(stringValue);
                 break;
             } catch (ParseException e) {
-                log.error("格式化时间失败", e);
-                //return null;
-                //errmsg.append("第").append(index+1).append("行格式化时间失败,请确认;<br>");
+                //log.error("格式化时间失败", e);
             }
         }
+        if (date == null) {
+            log.error("格式化时间失败:{}"+stringValue);
+        }
         return date;
     }
 }