Преглед изворни кода

Merge remote-tracking branch 'origin/dev-scheduling' into dev-scheduling

xiahan пре 1 година
родитељ
комит
b1f733cc1f

+ 76 - 74
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductDetailServiceImpl.java

@@ -125,19 +125,20 @@ public class ApsProductDetailServiceImpl extends ServiceImpl<ApsProductDetailDao
         }
 
         //本系统的订单信息
-        List<ApsProductionOrderDo> apsProductionOrderDos = apsProductDetailDao.getProductionOrders(hasOrderNos);
-        List<ApsProductDetailDo> apsProductDetailDos = apsProductDetailDao.getProductDetails(hasOrderNos);
         List<ApsProductionOrderDo> apsProductionOrderDoList = new ArrayList<>();
         List<ApsProductDetailDo> apsProductDetailDoList = new ArrayList<>();
         List<String> delProductDetailIdList = new ArrayList<>();
+        if (hasOrderNos.size() > 0) {
+            List<ApsProductionOrderDo> apsProductionOrderDos = apsProductDetailDao.getProductionOrders(hasOrderNos);
+            List<ApsProductDetailDo> apsProductDetailDos = apsProductDetailDao.getProductDetails(hasOrderNos);
 //        List<ApsCustomerManagementDo> customDatas = apsProductDetailDao.getCustomerData();
-        //明细 物料、合金、合金状态转换
-        List<ApsProcessMaterialDo> materialDos = apsProductDetailDao.getMaterialData();
-        List<ApsProcessMaterialDo> metalDos = apsProductDetailDao.getMetalData();
-        List<ApsProcessMaterialDo> metalStateDos = apsProductDetailDao.getMetalStateData();
-        for (ApsProductionOrderDo apsProductionOrderDo : apsProductionOrderDos) {
-            //主表
-            VNcOrderVo vNcOrderVo = vNcOrderVoList.stream().filter(nco -> nco.getOrderno().equals(apsProductionOrderDo.getCustomorderno())).findAny().orElse(null);
+            //明细 物料、合金、合金状态转换
+            List<ApsProcessMaterialDo> materialDos = apsProductDetailDao.getMaterialData();
+            List<ApsProcessMaterialDo> metalDos = apsProductDetailDao.getMetalData();
+            List<ApsProcessMaterialDo> metalStateDos = apsProductDetailDao.getMetalStateData();
+            for (ApsProductionOrderDo apsProductionOrderDo : apsProductionOrderDos) {
+                //主表
+                VNcOrderVo vNcOrderVo = vNcOrderVoList.stream().filter(nco -> nco.getOrderno().equals(apsProductionOrderDo.getCustomorderno())).findAny().orElse(null);
 //            ApsCustomerManagementDo apsCustomerManagementDo = customDatas.stream().filter(cus -> cus.getCustomername().equals(vNcOrderVo.getCustomname())).findAny().orElse(null);
 //            if (apsCustomerManagementDo != null) {
 //                apsProductionOrderDo.setCustomid(apsCustomerManagementDo.getId());
@@ -149,18 +150,72 @@ public class ApsProductDetailServiceImpl extends ServiceImpl<ApsProductDetailDao
 //                apsProductionOrderDo.setDeliverytime(null);
 //            }
 
-            apsProductionOrderDo.setOrderdate(vNcOrderVo.getOrderdate());
-            apsProductionOrderDo.setRemark(vNcOrderVo.getRemark());
-            apsProductionOrderDo.setDeliverydate(vNcOrderVo.getDeliverydate());
-            apsProductionOrderDo.setBelongfactory(vNcOrderVo.getBelongfactory());
+                apsProductionOrderDo.setOrderdate(vNcOrderVo.getOrderdate());
+                apsProductionOrderDo.setRemark(vNcOrderVo.getRemark());
+                apsProductionOrderDo.setDeliverydate(vNcOrderVo.getDeliverydate());
+                apsProductionOrderDo.setBelongfactory(vNcOrderVo.getBelongfactory());
+
+                //明细
+                //客户订单系统的明细数据
+                List<VNcOrderDetailVo> vNcOrderDetailVoList = vNcOrderDetailVos.stream().filter(vod -> vod.getOrderno().equals(apsProductionOrderDo.getCustomorderno())).collect(Collectors.toList());
+                for (ApsProductDetailDo apsProductDetailDo : apsProductDetailDos) {
+                    VNcOrderDetailVo vNcOrderDetailVo = vNcOrderDetailVoList.stream().filter(vodl -> vodl.getId().equals(apsProductDetailDo.getCustomorderdetailid())).findAny().orElse(null);
+                    if (vNcOrderDetailVo != null) {
+                        //存在则更新
+                        //物料
+                        ApsProcessMaterialDo apsProcessMaterialDo = materialDos.stream().filter(apm -> apm.getMaterialname().equals(vNcOrderDetailVo.getMaterialname())).findAny().orElse(null);
+                        if (apsProcessMaterialDo != null) {
+                            apsProductDetailDo.setMaterialcode(apsProcessMaterialDo.getMaterialcode());
+                            apsProductDetailDo.setNumberunit(apsProcessMaterialDo.getMaterialunit());
+                        } else {
+                            apsProductDetailDo.setMaterialcode("");
+                            apsProductDetailDo.setMaterialname("");
+                            apsProductDetailDo.setNumberunit("");
+                        }
+
+                        //合金
+                        ApsProcessMaterialDo metalDo = metalDos.stream().filter(apm -> apm.getMaterialname().equals(vNcOrderDetailVo.getAlloy())).findAny().orElse(null);
+                        if (metalDo != null) {
+                            apsProductDetailDo.setAlloy(metalDo.getMaterialcode());
+                        } else {
+                            apsProductDetailDo.setAlloy("");
+                        }
+
+                        //合金状态
+                        ApsProcessMaterialDo metalStateDo = metalStateDos.stream().filter(apm -> apm.getMaterialname().equals(vNcOrderDetailVo.getAlloystatus())).findAny().orElse(null);
+                        if (metalStateDo != null) {
+                            apsProductDetailDo.setAlloystatus(metalStateDo.getMaterialcode());
+                        } else {
+                            apsProductDetailDo.setAlloystatus("");
+                        }
+
+                        apsProductDetailDo.setSpecialfication(vNcOrderDetailVo.getSpecialfication());
+                        apsProductDetailDo.setThickness(vNcOrderDetailVo.getThickness());
+                        apsProductDetailDo.setProwidth(vNcOrderDetailVo.getProwidth());
+                        apsProductDetailDo.setProlength(vNcOrderDetailVo.getProlength());
+                        apsProductDetailDo.setTotalordercount(vNcOrderDetailVo.getTotalordercount());
+                        apsProductDetailDo.setRollnum(vNcOrderDetailVo.getRollnum());
+                        apsProductDetailDo.setRemark(vNcOrderDetailVo.getRemark());
+
+                        apsProductDetailDoList.add(apsProductDetailDo);
+                    } else {
+                        //不存在则删除
+                        delProductDetailIdList.add(apsProductDetailDo.getId());
+                    }
+
+                    vNcOrderDetailVoList.remove(vNcOrderDetailVo);
+                }
+
+                //客户系统新增的明细
+                for (VNcOrderDetailVo vNcOrderDetailVo : vNcOrderDetailVoList) {
+                    ApsProductDetailDo apsProductDetailDo = BeanUtil.toBean(vNcOrderDetailVo, ApsProductDetailDo.class);
+                    apsProductDetailDo.setId(SecurityUtil.getUUID());
+                    apsProductDetailDo.setProductstatus("10");
+                    apsProductDetailDo.setMainid(apsProductionOrderDo.getId());
+                    apsProductDetailDo.setCustomorderdetailid(vNcOrderDetailVo.getId());
+                    apsProductDetailDo.setTenantid(apsProductionOrderDo.getTenantid());
+                    apsProductDetailDo.setCustomorderno(apsProductionOrderDo.getCustomorderno());
 
-            //明细
-            //客户订单系统的明细数据
-            List<VNcOrderDetailVo> vNcOrderDetailVoList = vNcOrderDetailVos.stream().filter(vod -> vod.getOrderno().equals(apsProductionOrderDo.getCustomorderno())).collect(Collectors.toList());
-            for (ApsProductDetailDo apsProductDetailDo : apsProductDetailDos) {
-                VNcOrderDetailVo vNcOrderDetailVo = vNcOrderDetailVoList.stream().filter(vodl -> vodl.getId().equals(apsProductDetailDo.getCustomorderdetailid())).findAny().orElse(null);
-                if (vNcOrderDetailVo != null) {
-                    //存在则更新
                     //物料
                     ApsProcessMaterialDo apsProcessMaterialDo = materialDos.stream().filter(apm -> apm.getMaterialname().equals(vNcOrderDetailVo.getMaterialname())).findAny().orElse(null);
                     if (apsProcessMaterialDo != null) {
@@ -188,64 +243,11 @@ public class ApsProductDetailServiceImpl extends ServiceImpl<ApsProductDetailDao
                         apsProductDetailDo.setAlloystatus("");
                     }
 
-                    apsProductDetailDo.setSpecialfication(vNcOrderDetailVo.getSpecialfication());
-                    apsProductDetailDo.setThickness(vNcOrderDetailVo.getThickness());
-                    apsProductDetailDo.setProwidth(vNcOrderDetailVo.getProwidth());
-                    apsProductDetailDo.setProlength(vNcOrderDetailVo.getProlength());
-                    apsProductDetailDo.setTotalordercount(vNcOrderDetailVo.getTotalordercount());
-                    apsProductDetailDo.setRollnum(vNcOrderDetailVo.getRollnum());
-                    apsProductDetailDo.setRemark(vNcOrderDetailVo.getRemark());
-
                     apsProductDetailDoList.add(apsProductDetailDo);
-                } else {
-                    //不存在则删除
-                    delProductDetailIdList.add(apsProductDetailDo.getId());
                 }
 
-                vNcOrderDetailVoList.remove(vNcOrderDetailVo);
+                apsProductionOrderDoList.add(apsProductionOrderDo);
             }
-
-            //客户系统新增的明细
-            for (VNcOrderDetailVo vNcOrderDetailVo : vNcOrderDetailVoList) {
-                ApsProductDetailDo apsProductDetailDo = BeanUtil.toBean(vNcOrderDetailVo, ApsProductDetailDo.class);
-                apsProductDetailDo.setId(SecurityUtil.getUUID());
-                apsProductDetailDo.setProductstatus("10");
-                apsProductDetailDo.setMainid(apsProductionOrderDo.getId());
-                apsProductDetailDo.setCustomorderdetailid(vNcOrderDetailVo.getId());
-                apsProductDetailDo.setTenantid(apsProductionOrderDo.getTenantid());
-                apsProductDetailDo.setCustomorderno(apsProductionOrderDo.getCustomorderno());
-
-                //物料
-                ApsProcessMaterialDo apsProcessMaterialDo = materialDos.stream().filter(apm -> apm.getMaterialname().equals(vNcOrderDetailVo.getMaterialname())).findAny().orElse(null);
-                if (apsProcessMaterialDo != null) {
-                    apsProductDetailDo.setMaterialcode(apsProcessMaterialDo.getMaterialcode());
-                    apsProductDetailDo.setNumberunit(apsProcessMaterialDo.getMaterialunit());
-                } else {
-                    apsProductDetailDo.setMaterialcode("");
-                    apsProductDetailDo.setMaterialname("");
-                    apsProductDetailDo.setNumberunit("");
-                }
-
-                //合金
-                ApsProcessMaterialDo metalDo = metalDos.stream().filter(apm -> apm.getMaterialname().equals(vNcOrderDetailVo.getAlloy())).findAny().orElse(null);
-                if (metalDo != null) {
-                    apsProductDetailDo.setAlloy(metalDo.getMaterialcode());
-                } else {
-                    apsProductDetailDo.setAlloy("");
-                }
-
-                //合金状态
-                ApsProcessMaterialDo metalStateDo = metalStateDos.stream().filter(apm -> apm.getMaterialname().equals(vNcOrderDetailVo.getAlloystatus())).findAny().orElse(null);
-                if (metalStateDo != null) {
-                    apsProductDetailDo.setAlloystatus(metalStateDo.getMaterialcode());
-                } else {
-                    apsProductDetailDo.setAlloystatus("");
-                }
-
-                apsProductDetailDoList.add(apsProductDetailDo);
-            }
-
-            apsProductionOrderDoList.add(apsProductionOrderDo);
         }
 
         boolean bool1 = true;