| | |
| | | private FieldsMapper fieldsMapper; |
| | | @Autowired |
| | | private IsptHistoriesMapper isptHistoriesMapper; |
| | | |
| | | @Autowired |
| | | private AsnOrderLogService asnOrderLogService; |
| | | |
| | | @Autowired |
| | | private WaitPakinService waitPakinService; |
| | | |
| | | @Autowired |
| | | private WaitPakinItemService waitPakinItemService; |
| | | @Autowired |
| | |
| | | private ConfigService configService; |
| | | @Autowired |
| | | private CompanysService companysService; |
| | | @Autowired |
| | | private OutStockService outStockService; |
| | | |
| | | /** |
| | | * @return |
| | |
| | | |
| | | WkOrder wkOrder = asnOrderMapper.getOne(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getCode, asnCode)); |
| | | |
| | | //判断调拔单出库是否完成 |
| | | if (wkOrder.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_OTHER_TERANSFER.type)) { |
| | | WkOrder one = outStockService.getOne(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getPoId, wkOrder.getPoId()) |
| | | .eq(WkOrder::getWkType, OrderWorkType.ORDER_WORK_TYPE_STOCK_TERANSFER.type) |
| | | .eq(WkOrder::getType, OrderType.ORDER_OUT.type)); |
| | | if (Objects.isNull(one)) { |
| | | throw new CoolException("数据错误!!"); |
| | | } |
| | | if (!one.getExceStatus().equals(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val)) { |
| | | throw new CoolException("出库单未完成,无法完成收货!!"); |
| | | } |
| | | } |
| | | |
| | | if (Objects.isNull(wkOrder)) { |
| | | throw new CoolException("数据错误:主单不存在!!"); |
| | | } |
| | | //TODO /**收货数量累加,1. 会出超收情况 2. 会有收货不足情况*/ |
| | | Double rcptedQty = Math.round((wkOrder.getQty() + receiptQty) * 10000) / 10000.0; |
| | | |
| | | wkOrder.setQty(rcptedQty).setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_EXCE_ING.val); |
| | | if (!asnOrderMapper.updateById(wkOrder)) { |
| | | throw new CoolException("已收货数量修改失败!!"); |
| | | } |
| | | |
| | | Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.ALLOW_OVER_CHANGE)); |
| | | |
| | | |
| | | List<Map<String, Object>> receipts1 = (List<Map<String, Object>>) params.get("receipts"); |
| | | for (Map<String, Object> rcpt : receipts1) { |
| | |
| | | |
| | | Companys companys = new Companys(); |
| | | if (StringUtils.isNoneBlank(orderItem.getSplrCode())) { |
| | | companys = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getCode, orderItem.getSplrCode())); |
| | | companys = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getCode, orderItem.getSplrCode())); |
| | | } |
| | | |
| | | WarehouseAreasItem item = new WarehouseAreasItem(); |
| | |
| | | } |
| | | |
| | | List<WkOrderItem> wkOrderItem = asnOrderItemMapper.selectList(new LambdaQueryWrapper<WkOrderItem>() |
| | | .eq(WkOrderItem::getAsnCode, params.getAsnCode()) |
| | | .eq(WkOrderItem::getOrderCode, params.getAsnCode()) |
| | | .eq(!Objects.isNull(params.getTrackCode()), WkOrderItem::getTrackCode, params.getTrackCode()) |
| | | .eq(!Cools.isEmpty(params.getMatnrCode()), WkOrderItem::getMatnrCode, params.getMatnrCode()) |
| | | ); |
| | |
| | | } |
| | | InspectDetlDto detlDto = new InspectDetlDto(); |
| | | detlDto.setCode(wkOrders.getCode()).setId(wkOrders.getId()).setPoCode(wkOrders.getPoCode()); |
| | | List<WkOrderItem> orderItems = asnOrderItemMapper.selectList(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getAsnCode, code)); |
| | | List<WkOrderItem> orderItems = asnOrderItemMapper.selectList(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderCode, code)); |
| | | if (orderItems.isEmpty()) { |
| | | detlDto.setItems(new ArrayList<>()); |
| | | } else { |
| | |
| | | } |
| | | WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>() |
| | | .eq(WaitPakin::getBarcode, params.getBarcode()) |
| | | .eq(WaitPakin::getIoStatus,PakinIOStatus.PAKIN_IO_STATUS_DONE.val) |
| | | .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val) |
| | | ); |
| | | if (Cools.isEmpty(waitPakin)){ |
| | | if (Cools.isEmpty(waitPakin)) { |
| | | throw new CoolException("未找到组托数据,请检查状态"); |
| | | } |
| | | List<WaitPakinItem> waitPakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, waitPakin.getId())); |
| | | if (Cools.isEmpty(waitPakinItems)){ |
| | | if (Cools.isEmpty(waitPakinItems)) { |
| | | throw new CoolException("数据错误,未找到组托明细"); |
| | | } |
| | | |
| | |
| | | if (Objects.isNull(params.getItemList()) || params.getItemList().isEmpty()) { |
| | | throw new CoolException("单据明细不能为空!!"); |
| | | } |
| | | Long OrderId = params.getItemList().stream().findFirst().get().getAsnId(); |
| | | Long OrderId = params.getItemList().stream().findFirst().get().getOrderId(); |
| | | /**获取平库订单*/ |
| | | WkOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getId, OrderId) |
| | | .eq(WkOrder::getWkType, OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type) |
| | | .eq(WkOrder::getWkType, OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type) |
| | | .eq(WkOrder::getType, OrderType.ORDER_IN.type)); |
| | | if (Objects.isNull(order)) { |
| | | throw new CoolException("非平库单据不可执行人工上架!!"); |
| | |
| | | */ |
| | | @Override |
| | | public R getUnItemByContainer(Map<String, Object> params) { |
| | | if (Cools.isEmpty(params.get("barcode")) && Cools.isEmpty(params.get("code"))){ |
| | | if (Cools.isEmpty(params.get("barcode")) && Cools.isEmpty(params.get("code"))) { |
| | | throw new CoolException("容器号与组托档编码不能全为空"); |
| | | } |
| | | //获取组拖未生成任务的组拖档 |
| | | // List<Short> asList = Arrays.asList(Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val), Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val)); |
| | | |
| | | WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>() |
| | | .eq(!Cools.isEmpty(params.get("barcode")),WaitPakin::getBarcode, params.get("barcode")) |
| | | .eq(!Cools.isEmpty(params.get("code")),WaitPakin::getCode, params.get("code")) |
| | | .eq(!Cools.isEmpty(params.get("barcode")), WaitPakin::getBarcode, params.get("barcode")) |
| | | .eq(!Cools.isEmpty(params.get("code")), WaitPakin::getCode, params.get("code")) |
| | | .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val)); |
| | | if (Objects.isNull(waitPakin)) { |
| | | return R.error("未找到该容器码的组托明细,请检查组托状态"); |
| | |
| | | items.forEach(asnOrderItem -> { |
| | | ReceiptDetlsDto detlsDto = new ReceiptDetlsDto(); |
| | | |
| | | detlsDto.setAsnCode(asnOrderItem.getAsnCode()) |
| | | detlsDto.setAsnCode(asnOrderItem.getOrderCode()) |
| | | .setId(asnOrderItem.getId()) |
| | | .setMaktx(asnOrderItem.getMaktx()) |
| | | .setFieldsIndex(asnOrderItem.getFieldsIndex()) |