From 669fe984048785873c20fbd0ce8abb3cd52c1fce Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 29 四月 2025 15:22:24 +0800 Subject: [PATCH] 新增出库单优化 --- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 76 +++++++++++++++++++++++++++++++++++++- 1 files changed, 74 insertions(+), 2 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java index 36b6564..33a6fb9 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java @@ -17,6 +17,7 @@ import com.vincent.rsf.server.common.utils.CommonUtil; import com.vincent.rsf.server.common.utils.FieldsUtils; import com.vincent.rsf.server.common.utils.JwtUtil; +import com.vincent.rsf.server.manager.controller.params.GenerateTaskParams; import com.vincent.rsf.server.manager.controller.params.IsptItemsParams; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import com.vincent.rsf.server.manager.entity.*; @@ -123,6 +124,8 @@ private LocAreaRelaMapper locAreaRelaMapper; @Autowired private LocAreaMapper locAreaMapper; + @Autowired + private DeviceSiteMapper deviceSiteMapper; /** * @author Ryan @@ -245,6 +248,7 @@ // } AsnOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>() .eq(AsnOrderItem::getAsnCode, asnCode) + .eq(AsnOrderItem::getTrackCode, dto.getBarcode()) .eq(AsnOrderItem::getMatnrId, dto.getMatnrId())); if (Objects.isNull(orderItem)) { throw new CoolException("閫氱煡鍗曟槑缁嗕笉瀛樺湪锛侊紒"); @@ -650,7 +654,9 @@ itemList.forEach(asnOrderItem -> { LocItem item = new LocItem(); BeanUtils.copyProperties(asnOrderItem, item); - item.setId(loc.getId()) + item.setLocId(loc.getId()) + .setId(null) + .setLocCode(loc.getCode()) .setOrderId(order.getId()) .setOrderItemId(asnOrderItem.getId()) .setWkType(Short.parseShort(order.getWkType())) @@ -822,6 +828,71 @@ } /** + * @author Ryan + * @description 鑾峰彇鍏ュ簱缁勬嫋淇℃伅 + * @param barcode + * @return + */ + @Override + public R getPakinInStock(String barcode) { + WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, barcode)); + if (Objects.isNull(waitPakin)) { + throw new CoolException("缁勬嫋鍗曟嵁涓嶅瓨鍦紒锛�"); + } + List<WaitPakinItem> pakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, waitPakin.getId())); + if (pakinItems.isEmpty()) { + return R.ok(new ArrayList<>()); + } + return R.ok(pakinItems); + } + + /** + * @author Ryan + * @description 鑾峰彇搴撳彛绔欑偣淇℃伅 + * @return + */ + @Override + public R getDeviceSites() { + List<DeviceSite> sites = deviceSiteMapper.selectList(new LambdaQueryWrapper<DeviceSite>() + .select(DeviceSite::getId, DeviceSite::getSite, DeviceSite::getName) + .eq(DeviceSite::getStatus, 1) + .groupBy(DeviceSite::getSite, DeviceSite::getId, DeviceSite::getName)); + return R.ok(sites); + } + + /** + * @author Ryan + * @description 鑾峰彇鎺ㄨ崘搴撲綅 + * @return + */ + @Override + public R getRecommondLocs() { + return R.ok(locService.list(new LambdaQueryWrapper<Loc>().last("limit 10"))); + } + + /** + * @param map + * @param loginUserId + * @return + * @author Ryan + * @description 鐢熸垚浠诲姟鍒楄〃 + */ + @Override + public R generateTask(Map<String, Object> map, Long loginUserId) { + String barcode = map.get("barcode").toString(); + List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, barcode)); + if (waitPakins.isEmpty()) { + throw new CoolException("鍗曟嵁涓嶅瓨鍦� 锛侊紒"); + } + GenerateTaskParams taskParams = new GenerateTaskParams(); + taskParams.setWaitPakins(waitPakins) + .setSiteId(Long.parseLong(map.get("site").toString())) + .setLocCode(map.get("locCode").toString()); + return R.ok(taskService.generateTasks(taskParams, loginUserId)); + + } + + /** * 鑾峰彇ReceiptDetlsDtos */ private R getAsnOrderItem(List<AsnOrderItem> items) { @@ -855,7 +926,8 @@ } //鑾峰彇褰撳墠搴撳瓨淇℃伅 LocItem stockItem = locItemService.getOne(new LambdaQueryWrapper<LocItem>() - .eq(LocItem::getOrderItemId, asnOrderItem.getId()) +// .eq(LocItem::getOrderItemId, asnOrderItem.getId()) + .eq(LocItem::getFieldsIndex, asnOrderItem.getFieldsIndex()) .eq(LocItem::getBatch, asnOrderItem.getBatch()) .eq(LocItem::getMatnrId, asnOrderItem.getMatnrId())); //SET 褰撳墠搴撳瓨鏁伴噺 -- Gitblit v1.9.1