| | |
| | | private BasStationService basStationService; |
| | | @Autowired |
| | | private MatnrService matnrService; |
| | | @Autowired |
| | | private AsnOrderItemService asnOrderItemService; |
| | | |
| | | /** 入库/出库保存前:若规格或型号为空则从物料带出 */ |
| | | private void fillSpecModelFromMatnr(LocItem item) { |
| | |
| | | if (map.getType().equals(Constants.TASK_TYPE_OUT_STOCK) |
| | | || map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK) |
| | | || map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) { |
| | | // 出库量达到库位库存(含容差)视为全版出库,避免浮点误差导致误判为拣料/部分出库 |
| | | // 出库量达到库位库存(含容差)视为全板出库,避免浮点误差导致误判为拣料/部分出库 |
| | | if (orgQtyBd.subtract(outQtyBd).compareTo(FULL_OUT_QTY_TOLERANCE) > 0) { |
| | | // 拣料出库(部分出库) |
| | | DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>() |
| | |
| | | taskItem.setWkType(order.getWkType()) |
| | | .setSourceCode(order.getCode()) |
| | | .setSourceId(order.getId()) |
| | | .setOrderId(order.getId()) |
| | | .setOrderItemId(item.getOrderItemId()); |
| | | String poOrCode = StringUtils.isNotBlank(order.getPoCode()) ? order.getPoCode() : order.getCode(); |
| | | if (StringUtils.isBlank(taskItem.getPlatOrderCode()) && StringUtils.isNotBlank(poOrCode)) { |
| | | taskItem.setPlatOrderCode(poOrCode); |
| | | } |
| | | if (item.getOrderItemId() != null) { |
| | | WkOrderItem oi = asnOrderItemService.getById(item.getOrderItemId()); |
| | | if (oi != null) { |
| | | if (StringUtils.isBlank(taskItem.getPlatItemId()) && StringUtils.isNotBlank(oi.getPlatItemId())) { |
| | | taskItem.setPlatItemId(oi.getPlatItemId()); |
| | | } |
| | | if (StringUtils.isBlank(taskItem.getPlatWorkCode()) && StringUtils.isNotBlank(oi.getPlatWorkCode())) { |
| | | taskItem.setPlatWorkCode(oi.getPlatWorkCode()); |
| | | } |
| | | if (StringUtils.isBlank(taskItem.getPlatOrderCode())) { |
| | | String p = StringUtils.isNotBlank(oi.getPlatOrderCode()) ? oi.getPlatOrderCode() : poOrCode; |
| | | if (StringUtils.isNotBlank(p)) { |
| | | taskItem.setPlatOrderCode(p); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } else if (map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) { |
| | | taskItem.setSourceId(wave.getId()) |
| | | .setWkType(OrderWorkType.ORDER_WORK_TYPE_OTHER.type) |