| | |
| | | BeanUtils.copyProperties(matnr, mat); |
| | | mat.setCode(matnr.getMatnr()).setName(matnr.getMaktx()); |
| | | if (!Objects.isNull(matnr.getGroupName())) { |
| | | MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnr.getGroupName()), false); |
| | | MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnr.getGroupName()).last("limit 1"), false); |
| | | if (Objects.isNull(matnrGroup)) { |
| | | mat.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId()); |
| | | } |
| | |
| | | @Override |
| | | public R queryOrderStatus(QueryOrderParam queryParams) { |
| | | WkOrder wkOrders = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>() |
| | | .eq(WkOrder::getPoCode, queryParams.getOrderNo())); |
| | | .eq(WkOrder::getPoCode, queryParams.getOrderNo()).last("limit 1")); |
| | | if (Objects.isNull(wkOrders)) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("exceStatus", "-1"); |
| | | return R.ok("单据不存在 !!").add(map); |
| | | } |
| | | |
| | | AsnOrderLog orderLog = asnOrderLogService.getOne(new LambdaQueryWrapper<AsnOrderLog>().eq(AsnOrderLog::getCode, queryParams.getOrderNo())); |
| | | AsnOrderLog orderLog = asnOrderLogService.getOne(new LambdaQueryWrapper<AsnOrderLog>().eq(AsnOrderLog::getCode, queryParams.getOrderNo()).last("limit 1")); |
| | | if (!Objects.isNull(orderLog)) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("exceStatus", "4"); |
| | |
| | | if (Objects.isNull(companys.getCode())) { |
| | | throw new CoolException("企业编码不能为空!!"); |
| | | } |
| | | Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getName, param.getName())); |
| | | Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getName, param.getName()).last("limit 1")); |
| | | if (Objects.isNull(one)) { |
| | | String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_COMPANYS_CODE, null); |
| | | companys.setCode(ruleCode); |
| | |
| | | |
| | | List<OutStockToTaskParams> tasks = new ArrayList<>(); |
| | | for (OrderOutItemDto orderOutItemDto : orderOutTaskItemAuto){ |
| | | OutStockToTaskParams outStockToTaskParams = new OutStockToTaskParams(orderOutItemDto); |
| | | outStockToTaskParams.setId(orderOutItemDto.getLocItem().getId()); |
| | | outStockToTaskParams.setOutQty(orderOutItemDto.getOutQty()); |
| | | outStockToTaskParams.setLocCode(orderOutItemDto.getLocItem().getLocCode()); |
| | | outStockToTaskParams.setBarcode(orderOutItemDto.getLocItem().getBarcode()); |
| | | outStockToTaskParams.setSiteNo(stationId); |
| | | tasks.add(outStockToTaskParams); |
| | | for (LocItem locItem : orderOutItemDto.getLocItemList()) { |
| | | OutStockToTaskParams outStockToTaskParams = new OutStockToTaskParams(orderOutItemDto,locItem); |
| | | outStockToTaskParams.setId(locItem.getId()); |
| | | outStockToTaskParams.setOutQty(locItem.getOutQty()); |
| | | outStockToTaskParams.setLocCode(locItem.getLocCode()); |
| | | outStockToTaskParams.setBarcode(locItem.getBarcode()); |
| | | outStockToTaskParams.setSiteNo(stationId); |
| | | tasks.add(outStockToTaskParams); |
| | | } |
| | | } |
| | | if (tasks.isEmpty()){ |
| | | log.warn("订单ID {} 没有找到可出库明细,跳过自动出库", orderId); |
| | |
| | | } |
| | | } |
| | | |
| | | // 仓库编码过滤 |
| | | if (StringUtils.isNotBlank(condition.getWareHouseAreaId())) { |
| | | String wareHouseAreaId = condition.getWareHouseAreaId(); |
| | | LambdaQueryWrapper<WarehouseAreas> whWrapper = new LambdaQueryWrapper<>(); |
| | | whWrapper.eq(WarehouseAreas::getCode, wareHouseAreaId); |
| | | // 调用WarehouseService查询仓库信息(复用Service层方法) |
| | | List<WarehouseAreas> warehouses = warehouseAreasService.list(whWrapper); |
| | | if (!warehouses.isEmpty()) { |
| | | Long targetWarehouseId = warehouses.get(0).getId(); |
| | | // 过滤库位,只保留目标仓库的库位 |
| | | locMap = locMap.entrySet().stream() |
| | | .filter(entry -> Objects.equals(entry.getValue().getAreaId(), targetWarehouseId)) |
| | | .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); |
| | | |
| | | // 过滤locItems,只保留目标仓库的 |
| | | Set<Long> validLocIds = locMap.keySet(); |
| | | locItems = locItems.stream() |
| | | .filter(item -> item.getLocId() != null && validLocIds.contains(item.getLocId())) |
| | | .collect(Collectors.toList()); |
| | | |
| | | List<Long> warehouseAreaIds = Collections.singletonList(targetWarehouseId); |
| | | } else { |
| | | return R.ok().add(new ArrayList<>()); |
| | | } |
| | | } |
| | | |
| | | // 调用WarehouseService查询仓库信息(复用Service层方法) |
| | | Map<Long, Warehouse> warehouseMap = new HashMap<>(); |
| | | if (!warehouseIds.isEmpty()) { |