yzc 1 жил өмнө
parent
commit
3a2690cbdb

+ 4 - 3
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionTaskServiceImpl.java

@@ -15,8 +15,6 @@ import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.mes.entity.applicable.po.ApplicableProducts;
 import com.fjhx.mes.entity.applicable.po.ApplicableProducts;
-import com.fjhx.mes.entity.bom.po.BomDetail;
-import com.fjhx.mes.entity.bom.po.BomInfo;
 import com.fjhx.mes.entity.production.dto.ProductionTaskDto;
 import com.fjhx.mes.entity.production.dto.ProductionTaskDto;
 import com.fjhx.mes.entity.production.dto.ProductionTaskSelectDto;
 import com.fjhx.mes.entity.production.dto.ProductionTaskSelectDto;
 import com.fjhx.mes.entity.production.po.*;
 import com.fjhx.mes.entity.production.po.*;
@@ -222,7 +220,10 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
 
 
         //根据BOM明细冻结库存
         //根据BOM明细冻结库存
         List<Long> productIds = bomDetailList.stream().map(WorkOrderBom::getProductId).collect(Collectors.toList());
         List<Long> productIds = bomDetailList.stream().map(WorkOrderBom::getProductId).collect(Collectors.toList());
-        Map<Long, List<Stock>> productMap = stockService.mapKGroup(Stock::getProductId, q -> q.in(Stock::getProductId, productIds));
+        Map<Long, List<Stock>> productMap = new HashMap<>();
+        if (ObjectUtil.isNotEmpty(productIds)) {
+            productMap = stockService.mapKGroup(Stock::getProductId, q -> q.in(Stock::getProductId, productIds));
+        }
         List<Long> errProductIdList = new ArrayList();
         List<Long> errProductIdList = new ArrayList();
         for (WorkOrderBom bomDetail : bomDetailList) {
         for (WorkOrderBom bomDetail : bomDetailList) {
             Long productId = bomDetail.getProductId();
             Long productId = bomDetail.getProductId();

+ 10 - 10
hx-mes/src/main/java/com/fjhx/mes/service/work/impl/WorkOrderBomServiceImpl.java

@@ -54,16 +54,16 @@ public class WorkOrderBomServiceImpl extends ServiceImpl<WorkOrderBomMapper, Wor
         List<WorkOrderBom> workOrderBomList = list(q -> q.eq(WorkOrderBom::getWorkOrderId, dto.getWorkOrderId()));
         List<WorkOrderBom> workOrderBomList = list(q -> q.eq(WorkOrderBom::getWorkOrderId, dto.getWorkOrderId()));
 
 
         //如果工单BOM为空就查询基本BOM信息
         //如果工单BOM为空就查询基本BOM信息
-        if (ObjectUtil.isEmpty(workOrderBomList)) {
-            BomInfoVo bomInfo = bomInfoService.getProductBom(workOrder.getProductId());
-            if (ObjectUtil.isNotEmpty(bomInfo)) {
-                List<BomDetailVo> bomDetailList = bomInfo.getBomDetailVoList();
-                if (ObjectUtil.isNotEmpty(bomDetailList)) {
-                    bomDetailList.forEach(item -> item.setId(null));//清空复制过来的id
-                    workOrderBomList = BeanUtil.copyToList(bomDetailList, WorkOrderBom.class);
-                }
-            }
-        }
+//        if (ObjectUtil.isEmpty(workOrderBomList)) {
+//            BomInfoVo bomInfo = bomInfoService.getProductBom(workOrder.getProductId());
+//            if (ObjectUtil.isNotEmpty(bomInfo)) {
+//                List<BomDetailVo> bomDetailList = bomInfo.getBomDetailVoList();
+//                if (ObjectUtil.isNotEmpty(bomDetailList)) {
+//                    bomDetailList.forEach(item -> item.setId(null));//清空复制过来的id
+//                    workOrderBomList = BeanUtil.copyToList(bomDetailList, WorkOrderBom.class);
+//                }
+//            }
+//        }
 
 
         List<WorkOrderBomVo> workOrderBomVos = BeanUtil.copyToList(workOrderBomList, WorkOrderBomVo.class);
         List<WorkOrderBomVo> workOrderBomVos = BeanUtil.copyToList(workOrderBomList, WorkOrderBomVo.class);
         //赋值产品明细
         //赋值产品明细

+ 22 - 29
hx-mes/src/main/java/com/fjhx/mes/service/work/impl/WorkOrderServiceImpl.java

@@ -507,37 +507,30 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
                 .set(WorkOrder::getUpdateUser, SecurityUtils.getUserId())
                 .set(WorkOrder::getUpdateUser, SecurityUtils.getUserId())
         );
         );
 
 
+        //非定制会同时修改基本BOM
+        if (Objects.equals(workOrder.getIsCustomized(), "0")) {
+            List<WorkOrderBom> workOrderBomList = workOrderBomDto.getWorkOrderBomList();
+            //将数据转换成普通BOM
+            BomInfoDto bomInfoDto = new BomInfoDto();
+            List<BomDetail> bomDetailList = BeanUtil.copyToList(workOrderBomList, BomDetail.class);
+            bomInfoDto.setBomDetailList(bomDetailList);
+
+            //查询基本BOM
+            BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()).eq(BomInfo::getCurrentVersion, 1));
+            if (ObjectUtil.isNotEmpty(bomInfo)) {
+                //修改
+                bomInfoDto.setId(bomInfo.getId());
+                bomInfoService.editByJxst(bomInfoDto);
+            } else {
+                //添加
+                bomInfoDto.setAddType(1);
+                bomInfoDto.setProductId(workOrder.getProductId());
+                bomInfoService.addByJxst(bomInfoDto);
+            }
+        }
+
         //所有工单BOM会复制一份 工单调整BOM直接调工单BOM
         //所有工单BOM会复制一份 工单调整BOM直接调工单BOM
         workOrderBomService.edit(workOrderBomDto);
         workOrderBomService.edit(workOrderBomDto);
-
-//        //判断定制还是非定制
-//        if (Objects.equals(workOrder.getIsCustomized(), "1")) {
-//            //定制-修改定制BOM
-//            workOrderBomService.edit(workOrderBomDto);
-//        } else {
-//            //非定制-修改普通BOM
-//            List<WorkOrderBom> workOrderBomList = workOrderBomDto.getWorkOrderBomList();
-//            //将数据转换成普通BOM
-//            BomInfoDto bomInfoDto = new BomInfoDto();
-//            List<BomDetail> bomDetailList = BeanUtil.copyToList(workOrderBomList, BomDetail.class);
-//            bomInfoDto.setBomDetailList(bomDetailList);
-//
-//            //查询基本BOM
-//            BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()).eq(BomInfo::getCurrentVersion, 1));
-//            if (ObjectUtil.isNotEmpty(bomInfo)) {
-//                //修改
-//                bomInfoDto.setId(bomInfo.getId());
-//                bomInfoService.editByJxst(bomInfoDto);
-//            } else {
-//                //添加
-//                bomInfoDto.setAddType(1);
-//                bomInfoDto.setProductId(workOrder.getProductId());
-//                bomInfoService.addByJxst(bomInfoDto);
-//            }
-//        }
-
-//        //检查工单状态
-//        checkWorkOrderStatus(workOrderId);
     }
     }
 
 
 }
 }