| | |
| | | if (StringUtils.isBlank(barcode)) { |
| | | return R.error("标签码不能为空!!"); |
| | | } |
| | | List<AsnOrderItem> asnOrderItem = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>() |
| | | .eq(AsnOrderItem::getTrackCode, barcode)); |
| | | List<WkOrderItem> wkOrderItem = asnOrderItemMapper.selectList(new LambdaQueryWrapper<WkOrderItem>() |
| | | .eq(WkOrderItem::getTrackCode, barcode)); |
| | | |
| | | if (Objects.isNull(asnOrderItem)) { |
| | | if (Objects.isNull(wkOrderItem)) { |
| | | throw new CoolException("单据明细不存在!!"); |
| | | } |
| | | List<AsnOrderItem> items = new ArrayList<>(); |
| | | for (AsnOrderItem record : asnOrderItem) { |
| | | List<WkOrderItem> items = new ArrayList<>(); |
| | | for (WkOrderItem record : wkOrderItem) { |
| | | if (!Objects.isNull(record.getFieldsIndex())) { |
| | | Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex()); |
| | | record.setExtendFields(fields); |
| | |
| | | |
| | | String asnCode = receipts.stream().findFirst().get().getAsnCode(); |
| | | |
| | | AsnOrder asnOrder = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>() |
| | | .eq(AsnOrder::getCode, asnCode)); |
| | | if (Objects.isNull(asnOrder)) { |
| | | WkOrder wkOrder = asnOrderMapper.getOne(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getCode, asnCode)); |
| | | if (Objects.isNull(wkOrder)) { |
| | | throw new CoolException("数据错误:主单不存在!!"); |
| | | } |
| | | //TODO /**收货数量累加,1. 会出超收情况 2. 会有收货不足情况*/ |
| | | Double rcptedQty = Math.round((asnOrder.getQty() + receiptQty) * 10000) / 10000.0; |
| | | Double rcptedQty = Math.round((wkOrder.getQty() + receiptQty) * 10000) / 10000.0; |
| | | |
| | | asnOrder.setQty(rcptedQty).setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_EXCE_ING.val); |
| | | if (!asnOrderMapper.updateById(asnOrder)) { |
| | | wkOrder.setQty(rcptedQty).setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_EXCE_ING.val); |
| | | if (!asnOrderMapper.updateById(wkOrder)) { |
| | | throw new CoolException("已收货数量修改失败!!"); |
| | | } |
| | | |
| | |
| | | // .eq(AsnOrderItem::getTrackCode, dto.getBarcode()) |
| | | // .eq(AsnOrderItem::getSplrBatch, dto.getSplrBatch())); |
| | | |
| | | AsnOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, dto.getId())); |
| | | WkOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getId, dto.getId())); |
| | | //asnOrderItemMapper.resultById(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, dto.getId())); |
| | | |
| | | if (Objects.isNull(orderItem)) { |
| | |
| | | throw new CoolException("通知单明细数量修改失败!!"); |
| | | } |
| | | /**保存明细至收货区**/ |
| | | extracted(loginUserId, dto, areasItem, orderItem, asnOrder, matnr); |
| | | extracted(loginUserId, dto, areasItem, orderItem, wkOrder, matnr); |
| | | |
| | | } |
| | | |
| | | AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, asnCode)); |
| | | WkOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getCode, asnCode)); |
| | | if (order.getQty().compareTo(order.getAnfme()) >= 0.00) { |
| | | order.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_RECEIPT_DONE.val).setRleStatus(Short.valueOf("1")); |
| | | if (!asnOrderMapper.updateById(order)) { |
| | |
| | | return R.ok("收货成功!!"); |
| | | } |
| | | |
| | | private void extracted(Long loginUserId, ReceiptDetlsDto dto, WarehouseAreas areasItem, AsnOrderItem orderItem, AsnOrder asnOrder, Matnr matnr) { |
| | | private void extracted(Long loginUserId, ReceiptDetlsDto dto, WarehouseAreas areasItem, WkOrderItem orderItem, WkOrder wkOrder, Matnr matnr) { |
| | | |
| | | Companys companys = new Companys(); |
| | | if (StringUtils.isNoneBlank(orderItem.getSplrCode())) { |
| | |
| | | .setAreaName(areasItem.getName()) |
| | | .setAreaId(areasItem.getId()) |
| | | .setAsnItemId(orderItem.getId()) |
| | | .setAsnCode(asnOrder.getCode()) |
| | | .setAsnId(asnOrder.getId()) |
| | | .setAsnCode(wkOrder.getCode()) |
| | | .setAsnId(wkOrder.getId()) |
| | | .setProdTime(dto.getProdTime()) |
| | | .setSplrId(companys.getId()) |
| | | .setWeight(dto.getWeigth()) |
| | |
| | | |
| | | List<Short> shorts = Arrays.asList(AsnExceStatus.ASN_EXCE_STATUS_TASK_CANCEL.val, AsnExceStatus.ASN_EXCE_STATUS_TASK_CLOSE |
| | | .val, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val); |
| | | AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>() |
| | | .notIn(AsnOrder::getExceStatus, shorts) |
| | | .eq(AsnOrder::getCode, params.getAsnCode())); |
| | | WkOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<WkOrder>() |
| | | .notIn(WkOrder::getExceStatus, shorts) |
| | | .eq(WkOrder::getCode, params.getAsnCode())); |
| | | if (Objects.isNull(order)) { |
| | | throw new CoolException("请检查订单状态是否已完成或已取消!!"); |
| | | } |
| | | |
| | | List<AsnOrderItem> asnOrderItem = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>() |
| | | .eq(AsnOrderItem::getAsnCode, params.getAsnCode()) |
| | | .eq(!Objects.isNull(params.getTrackCode()), AsnOrderItem::getTrackCode, params.getTrackCode()) |
| | | .eq(!Cools.isEmpty(params.getMatnrCode()), AsnOrderItem::getMatnrCode, params.getMatnrCode()) |
| | | List<WkOrderItem> wkOrderItem = asnOrderItemMapper.selectList(new LambdaQueryWrapper<WkOrderItem>() |
| | | .eq(WkOrderItem::getAsnCode, params.getAsnCode()) |
| | | .eq(!Objects.isNull(params.getTrackCode()), WkOrderItem::getTrackCode, params.getTrackCode()) |
| | | .eq(!Cools.isEmpty(params.getMatnrCode()), WkOrderItem::getMatnrCode, params.getMatnrCode()) |
| | | ); |
| | | |
| | | if (Objects.isNull(asnOrderItem)) { |
| | | if (Objects.isNull(wkOrderItem)) { |
| | | throw new CoolException("单据明细不存在!!"); |
| | | } |
| | | |
| | | List<AsnOrderItem> items = new ArrayList<>(); |
| | | for (AsnOrderItem record : asnOrderItem) { |
| | | List<WkOrderItem> items = new ArrayList<>(); |
| | | for (WkOrderItem record : wkOrderItem) { |
| | | if (!Objects.isNull(record.getFieldsIndex())) { |
| | | Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex()); |
| | | record.setExtendFields(fields); |
| | |
| | | * @description 获取所有通知单 |
| | | */ |
| | | @Override |
| | | public List<AsnOrder> getAllAsnOrders() { |
| | | List<AsnOrder> asnOrders = asnOrderMapper.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getWkType, OrderWorkType.ORDER_WORK_TYPE_PURCHASE.type)); |
| | | return asnOrders; |
| | | public List<WkOrder> getAllAsnOrders() { |
| | | List<WkOrder> wkOrders = asnOrderMapper.list(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getWkType, OrderWorkType.ORDER_WORK_TYPE_PURCHASE.type)); |
| | | return wkOrders; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Override |
| | | public R inspect(String code, Long loginUserId) { |
| | | AsnOrder asnOrders = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, code)); |
| | | if (Objects.isNull(asnOrders)) { |
| | | WkOrder wkOrders = asnOrderMapper.getOne(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getCode, code)); |
| | | if (Objects.isNull(wkOrders)) { |
| | | throw new CoolException("单据不存在!!"); |
| | | } |
| | | InspectDetlDto detlDto = new InspectDetlDto(); |
| | | detlDto.setCode(asnOrders.getCode()).setId(asnOrders.getId()).setPoCode(asnOrders.getPoCode()); |
| | | List<AsnOrderItem> orderItems = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnCode, code)); |
| | | detlDto.setCode(wkOrders.getCode()).setId(wkOrders.getId()).setPoCode(wkOrders.getPoCode()); |
| | | List<WkOrderItem> orderItems = asnOrderItemMapper.selectList(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getAsnCode, code)); |
| | | if (orderItems.isEmpty()) { |
| | | detlDto.setItems(new ArrayList<>()); |
| | | } else { |
| | |
| | | detlDto.setItems(itemDtos); |
| | | } |
| | | |
| | | List<IsptHistories> histories = isptHistoriesMapper.selectList(new LambdaQueryWrapper<IsptHistories>().eq(IsptHistories::getAsnId, asnOrders.getId())); |
| | | List<IsptHistories> histories = isptHistoriesMapper.selectList(new LambdaQueryWrapper<IsptHistories>().eq(IsptHistories::getAsnId, wkOrders.getId())); |
| | | detlDto.setHistories(histories); |
| | | return R.ok(detlDto); |
| | | } |
| | |
| | | if (org.apache.commons.lang3.StringUtils.isBlank(id)) { |
| | | throw new CoolException("参数不能为空!!"); |
| | | } |
| | | AsnOrder asnOrder = asnOrderMapper.getById(id); |
| | | if (Objects.isNull(asnOrder)) { |
| | | WkOrder wkOrder = asnOrderMapper.getById(id); |
| | | if (Objects.isNull(wkOrder)) { |
| | | throw new CoolException("单据不存在!!"); |
| | | } |
| | | List<AsnOrder> orders = new ArrayList<>(); |
| | | orders.add(asnOrder); |
| | | List<WkOrder> orders = new ArrayList<>(); |
| | | orders.add(wkOrder); |
| | | if (asnOrderMapper.notifyInspect(orders)) { |
| | | return R.ok("上报成功!!"); |
| | | } else { |
| | |
| | | } |
| | | Long OrderId = params.getItemList().stream().findFirst().get().getAsnId(); |
| | | /**获取平库订单*/ |
| | | AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>() |
| | | .eq(AsnOrder::getId, OrderId) |
| | | .eq(AsnOrder::getWkType, OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type) |
| | | .eq(AsnOrder::getType, OrderType.ORDER_IN.type)); |
| | | WkOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getId, OrderId) |
| | | .eq(WkOrder::getWkType, OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type) |
| | | .eq(WkOrder::getType, OrderType.ORDER_IN.type)); |
| | | if (Objects.isNull(order)) { |
| | | throw new CoolException("非平库单据不可执行人工上架!!"); |
| | | } |
| | |
| | | if (StringUtils.isBlank(ruleCode)) { |
| | | throw new CoolException("当前业务:" + SerialRuleCode.SYS_STOCK_CODE + ",编码规则不存在!!"); |
| | | } |
| | | List<AsnOrderItem> itemList = params.getItemList(); |
| | | double sum = itemList.stream().mapToDouble(AsnOrderItem::getAnfme).sum(); |
| | | List<WkOrderItem> itemList = params.getItemList(); |
| | | double sum = itemList.stream().mapToDouble(WkOrderItem::getAnfme).sum(); |
| | | stock.setAnfme(sum) |
| | | .setSourceId(order.getId()) |
| | | .setType(order.getType()) |
| | |
| | | */ |
| | | @Override |
| | | public R defectProducts(String trackCode) { |
| | | AsnOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getTrackCode, trackCode)); |
| | | WkOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getTrackCode, trackCode)); |
| | | return R.ok(orderItem); |
| | | } |
| | | |
| | |
| | | /** |
| | | * 获取ReceiptDetlsDtos |
| | | */ |
| | | private R getAsnOrderItem(List<AsnOrderItem> items) { |
| | | private R getAsnOrderItem(List<WkOrderItem> items) { |
| | | List<ReceiptDetlsDto> detlsDtos = new ArrayList<>(); |
| | | items.forEach(asnOrderItem -> { |
| | | ReceiptDetlsDto detlsDto = new ReceiptDetlsDto(); |