| | |
| | | |
| | | // 级联取消关联的生产工单(跟随工单当前状态,且不误伤合并下发的共享工单) |
| | | if (mps.getWorkOrderId() != null) { |
| | | // 新增逻辑:若该工单有报工记录,则不允许取消 MPS |
| | | Long feedbackCount = feedbackMapper.selectCount(MesProFeedbackDO::getWorkOrderId, mps.getWorkOrderId()); |
| | | if (feedbackCount != null && feedbackCount > 0) { |
| | | throw exception(PRO_MPS_WORK_ORDER_HAS_FEEDBACK); |
| | | } |
| | | |
| | | // 1. 统计该工单被多少条 MPS 引用:合并下发的多条 MPS 共享同一个工单 |
| | | Long refCount = mpsMapper.selectCount(MesProMpsDO::getWorkOrderId, mps.getWorkOrderId()); |
| | | if (refCount != null && refCount > 1) { |
| | |
| | | |
| | | @Override |
| | | public PageResult<MesProMpsDO> getMpsPage(MesProMpsPageReqVO pageReqVO) { |
| | | // 获取用户有权限的客户 ID 列表 |
| | | List<Long> permittedClientIds = customerApi.getPermittedCustomerIds(); |
| | | return mpsMapper.selectPage(pageReqVO, permittedClientIds); |
| | | return mpsMapper.selectPage(pageReqVO, (List<Long>) null); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | Long routeId = routeProduct.getRouteId(); |
| | | |
| | | // 2. 校验工艺路线是否有工序 |
| | | List<MesProRouteProcessDO> routeProcesses = routeProcessService.getRouteProcessListByRouteId(routeId); |
| | | // 2. 校验工艺路线是否有工序(按产品过滤其它产品的产出物料) |
| | | List<MesProRouteProcessDO> routeProcesses = routeProcessService |
| | | .getRouteProcessListByProductId(mps.getProductId()); |
| | | if (CollUtil.isEmpty(routeProcesses)) { |
| | | throw exception(PRO_ROUTE_ENABLE_NO_PROCESS); |
| | | } |
| | |
| | | .map(Long::valueOf).collect(Collectors.toList())); |
| | | } |
| | | process.setColorCode(rp.getColorCode()); |
| | | // 带入工艺路线产品配置的报工仓库 |
| | | process.setWarehouseId(routeProduct.getWarehouseId()); |
| | | process.setLocationId(routeProduct.getLocationId()); |
| | | process.setAreaId(routeProduct.getAreaId()); |
| | | // 带入工序投料BOM |
| | | List<MesProRouteProductBomDO> routeBomItems = bomMap != null ? bomMap.get(rp.getProcessId()) : null; |
| | | if (CollUtil.isNotEmpty(routeBomItems)) { |
| | |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |