| | |
| | | import com.vincent.rsf.server.api.service.WcsService; |
| | | import com.vincent.rsf.server.api.utils.LocUtils; |
| | | import com.vincent.rsf.server.common.constant.Constants; |
| | | import com.vincent.rsf.server.common.utils.QuantityUtils; |
| | | import com.vincent.rsf.server.manager.controller.params.CheckLocQueryParams; |
| | | import com.vincent.rsf.server.manager.controller.params.LocToTaskParams; |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | |
| | | private BasStationService basStationService; |
| | | @Autowired |
| | | private MatnrService matnrService; |
| | | |
| | | @Autowired |
| | | private AsnOrderItemService asnOrderItemService; |
| | | /** 入库/出库保存前:若规格或型号为空则从物料带出 */ |
| | | private void fillSpecModelFromMatnr(LocItem item) { |
| | | if (item == null || item.getMatnrId() == null) { |
| | |
| | | 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) |
| | |
| | | if (!taskItemService.saveBatch(taskItems)) { |
| | | throw new CoolException("任务明细生成失败!!"); |
| | | } |
| | | List<TaskItem> persistedItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId())); |
| | | for (TaskItem ti : persistedItems) { |
| | | if (ti.getAnfme() == null) { |
| | | throw new CoolException("任务明细数量异常"); |
| | | } |
| | | taskService.enqueueCloudWmsOutNotifyLogEarly(task, ti, QuantityUtils.toScaledBigDecimal(ti.getAnfme())); |
| | | } |
| | | }); |
| | | } |
| | | |