db/Ë«ÁÖлð¾æMESÊý¾Ý¿âÉè¼Æ.pdma.json
@@ -4,7 +4,7 @@ "avatar": "", "version": "4.9.2", "createdTime": "2025-3-10 16:38:19", "updatedTime": "2025-9-9 17:51:22", "updatedTime": "2025-9-12 15:03:56", "dbConns": [], "profile": { "default": { @@ -71266,7 +71266,9 @@ "B57F92D3-3089-453E-A007-85C497CEE088", "EE37A932-3559-47C8-A1F3-1E788DE4A116", "D1A16DCC-C4AB-4717-A74C-1B52B918A87F", "378CF92C-B63B-4D7F-84DF-5D2F84CE4753" "378CF92C-B63B-4D7F-84DF-5D2F84CE4753", "9F7C10B2-9B87-4E80-AF35-D054CEEF11FA", "C4D7D8D8-A80F-4A15-B253-50CF701ADF78" ], "refViews": [], "refDiagrams": [], src/main/java/org/jeecg/modules/lsw/mapper/LswMaterialInventoryMapper.java
@@ -18,7 +18,8 @@ public interface LswMaterialInventoryMapper extends BaseMapper<LswMaterialInventory> { List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(@Param("materialNumberList") List<String> bomMaterialNumberList, @Param("factoryId") String factoryId); @Param("factoryId") String factoryId, @Param("heatFlag") String heatFlag); /** * åºåç»è®¡ src/main/java/org/jeecg/modules/lsw/mapper/xml/LswMaterialInventoryMapper.xml
@@ -13,7 +13,11 @@ <foreach collection="materialNumberList" item="item" separator="," open="(" close=")"> #{item} </foreach> <if test="heatFlag != null and heatFlag != ''"> AND t2.heat_treatment_flag = #{heatFlag} </if> AND t2.warehouse_id = #{factoryId} AND t2.inventory_status = 'NORMAL' AND t1.del_flag = 0 GROUP BY t1.material_number, src/main/java/org/jeecg/modules/lsw/service/ILswMaterialInventoryService.java
@@ -16,7 +16,7 @@ */ public interface ILswMaterialInventoryService extends IService<LswMaterialInventory> { /** éè¿ç©æç¼ç å线边åºidæ¥è¯¢ç©æåºå */ List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId); List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId, String heatFlag); /** * åºåç»è®¡ src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialInventoryServiceImpl.java
@@ -43,8 +43,8 @@ private IFactoryService factoryService; @Override public List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId) { return lswMaterialInventoryMapper.selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, factoryId); public List<LswMaterialInventoryVo> selectLineSideMaterialInventoryByMaterialNumber(List<String> bomMaterialNumberList, String factoryId, String heatFlag) { return lswMaterialInventoryMapper.selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, factoryId, heatFlag); } @Override src/main/java/org/jeecg/modules/mes/controller/MesProductionWorkOrderController.java
@@ -16,6 +16,9 @@ import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.base.entity.Factory; import org.jeecg.modules.base.enums.ProductionTypeEnum; import org.jeecg.modules.base.service.IFactoryService; import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum; import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum; import org.jeecg.modules.eam.entity.EamEquipment; @@ -65,6 +68,8 @@ private IEamProcessCheckDetailService eamProcessCheckDetailService; @Autowired private IEamEquipmentService eamEquipmentService; @Autowired private IFactoryService factoryService; /** * å页å表æ¥è¯¢ @@ -221,6 +226,14 @@ if (!ProductionWorkOrderStatus.PUBLISHED.name().equals(workOrder.getWorkOrderStatus())) { return Result.error("å½åå·¥åç¶æä¸è½è¿è¡é½å¥æ§æ£æ¥ï¼"); } Factory factory = factoryService.getById(workOrder.getFactoryId()); String productionType = factory.getProductionType(); if (ProductionTypeEnum.HEATTREATMENT.name().equals(productionType)) { //çå¤ç产线 List<MesKittingCompletenessCheck> list = mesProductionWorkOrderService.workOrderCompletenessCheckOnHeatTreatment(workOrder); return Result.ok(list); } //å ¶ä½äº§çº¿ List<MesKittingCompletenessCheck> list = mesProductionWorkOrderService.workOrderCompletenessCheck(workOrder); return Result.ok(list); } src/main/java/org/jeecg/modules/mes/service/IMesProductionWorkOrderService.java
@@ -23,4 +23,6 @@ IPage<MesProductionWorkOrder> queryPageList(Page<MesProductionWorkOrder> page, Map<String, String[]> parameterMap); List<MesKittingCompletenessCheck> workOrderCompletenessCheck(MesProductionWorkOrder workOrder); List<MesKittingCompletenessCheck> workOrderCompletenessCheckOnHeatTreatment(MesProductionWorkOrder workOrder); } src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java
@@ -234,7 +234,7 @@ List<String> bomMaterialNumberList = processBillMaterialsDetails.stream() .map(PmsProcessBillMaterialsDetail::getMaterialNumber).collect(Collectors.toList()); Map<String, LswMaterialInventoryVo> lswMaterialInventoryMap = lswMaterialInventoryService .selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, lineSideWarehouse.getId()).stream() .selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, lineSideWarehouse.getId(), null).stream() .collect(Collectors.toMap(LswMaterialInventoryVo::getMaterialNumber, v1 -> v1, (v1, v2) -> v1)); List<MesKittingCompletenessCheck> completenessCheckResultList = CollectionUtil.newArrayList(); //æ ¹æ®è®¢åBOMæç»ååºé½å¥æ£æ¥ç»æ @@ -260,4 +260,32 @@ }); return completenessCheckResultList; } @Override public List<MesKittingCompletenessCheck> workOrderCompletenessCheckOnHeatTreatment(MesProductionWorkOrder workOrder) { //æ¥è¯¢å·¥åæå±äº§çº¿å¯¹åºççº¿è¾¹ä» LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.list(new LambdaQueryWrapper<LineSideWarehouse>() .eq(LineSideWarehouse::getFactoryId, workOrder.getFactoryId()) .eq(LineSideWarehouse::getDelFlag, CommonConstant.DEL_FLAG_0) .eq(LineSideWarehouse::getWarehouseStatus, CommonConstant.DEFAULT_1)) .stream().findFirst().orElse(null); if (lineSideWarehouse == null) { throw new JeecgBootException("该产线æªé 置线边ä»ï¼"); } //æ¥è¯¢å·¥åçå¤çç©æå¯¹åºæ¯å¯å¨çº¿è¾¹ä»çåºå LswMaterialInventoryVo materialInventoryVo = lswMaterialInventoryService.selectLineSideMaterialInventoryByMaterialNumber(Collections .singletonList(workOrder.getMaterialNumber()), lineSideWarehouse.getId(), CommonConstant.DEFAULT_0) .stream().findFirst().orElse(null); if (materialInventoryVo == null) { throw new JeecgBootException("线边åºç©æä¸åå¨ï¼"); } MesKittingCompletenessCheck completenessCheck = new MesKittingCompletenessCheck() .setMaterialNumber(materialInventoryVo.getMaterialNumber()) .setMaterialName(materialInventoryVo.getMaterialName()) .setRequiredQuantity(workOrder.getPlanQuantity()) .setActualQuantity(materialInventoryVo.getStockQuantity()) .setProductionUnit("PC") .setCheckFlag(materialInventoryVo.getStockQuantity().compareTo(workOrder.getPlanQuantity()) > 0 ? CommonConstant.DEFAULT_1 : CommonConstant.DEFAULT_0); return Collections.singletonList(completenessCheck); } }