| | |
| | | |
| | | } else { |
| | | //出库单出库 |
| | | AsnOrder asnOrder = outStockService.getById(item.getSourceId()); |
| | | if (Objects.isNull(asnOrder)) { |
| | | WkOrder wkOrder = outStockService.getById(item.getSourceId()); |
| | | if (Objects.isNull(wkOrder)) { |
| | | throw new CoolException("数据错误:单据已不存在!!"); |
| | | } |
| | | Double workQty = Math.round((asnOrder.getWorkQty() - item.getAnfme()) * 10000) / 10000.0; |
| | | Double workQty = Math.round((wkOrder.getWorkQty() - item.getAnfme()) * 10000) / 10000.0; |
| | | |
| | | asnOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val) |
| | | wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val) |
| | | .setWorkQty(workQty.compareTo(0.00) > 0 ? workQty : 0.00) |
| | | .setUpdateBy(loginUserId) |
| | | .setUpdateTime(new Date()); |
| | | if (!outStockService.updateById(asnOrder)) { |
| | | if (!outStockService.updateById(wkOrder)) { |
| | | throw new CoolException("原单据状态修改失败!!"); |
| | | } |
| | | |
| | | AsnOrderItem orderItem = outStockItemService.getById(item.getSource()); |
| | | WkOrderItem orderItem = outStockItemService.getById(item.getSource()); |
| | | if (Objects.isNull(orderItem)) { |
| | | throw new CoolException("数据错误:单据明细已不存在!!"); |
| | | } |
| | |
| | | throw new CoolException(e.getMessage()); |
| | | } |
| | | } else if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val)) { |
| | | AsnOrderItem orderItem = asnOrderItemService.getById(key); |
| | | WkOrderItem orderItem = asnOrderItemService.getById(key); |
| | | if (Objects.isNull(orderItem)) { |
| | | throw new CoolException("单据明细不存在!!"); |
| | | } |
| | |
| | | * @version 1.0 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void saveOutStockItem(List<TaskItem> taskItems, AsnOrderItem orderItem, WaveItem waveItem, Long loginUserId) throws Exception { |
| | | public void saveOutStockItem(List<TaskItem> taskItems, WkOrderItem orderItem, WaveItem waveItem, Long loginUserId) throws Exception { |
| | | Stock stock = new Stock(); |
| | | String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_STOCK_CODE, null); |
| | | if (StringUtils.isBlank(ruleCode)) { |
| | |
| | | .setMemo("库存出库,无单据信息!!") |
| | | .setType(OrderType.ORDER_OUT.type); |
| | | } else if (!Objects.isNull(orderItem) && StringUtils.isNotBlank(orderItem.getId() + "")) { |
| | | AsnOrder asnOrder = asnOrderService.getById(orderItem.getAsnId()); |
| | | stock.setWkType(Short.parseShort(asnOrder.getWkType())) |
| | | WkOrder wkOrder = asnOrderService.getById(orderItem.getAsnId()); |
| | | stock.setWkType(Short.parseShort(wkOrder.getWkType())) |
| | | .setType(OrderType.ORDER_OUT.type); |
| | | } else { |
| | | //TODO 生成波次时需要将波次号写入单据,通过物料,批次,动态字段等唯一值反查单据信息 |