From d356dc47b237c54473ef124a53039cef54414d61 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 09 四月 2025 17:23:34 +0800 Subject: [PATCH] 新增组拖获取列表接口 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java | 3 - rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java | 4 + rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java | 17 +++++++- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 90 +++++++++++++++++++++++++++++++-------------- 4 files changed, 80 insertions(+), 34 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java index 72da8c5..aaffe4f 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/MobileController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.util.List; import java.util.Map; import java.util.Objects; @@ -130,6 +131,16 @@ return mobileService.getDeltByCode(code); } + @PreAuthorize("hasAuthority('manager:asnOrderItem:list')") + @ApiOperation("鑾峰彇鎷栫洏鏄庣粏") + @PostMapping("/asnOrderItem/container") + public R getItemByContainer(@RequestBody Map<String, Object> params) { + if (Objects.isNull(params)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return mobileService.getItemByContainer(params); + } + @PreAuthorize("hasAuthority('manager:waitPakin:update')") @ApiOperation("缁勬嫋") @PostMapping("/waitPakin/merge") @@ -193,11 +204,11 @@ } - @ApiOperation("蹇甫璐ㄦ") + @ApiOperation("蹇�熻川妫�") @PreAuthorize("hasAuthority('manager:qlyInspect:update')") @PostMapping("/inspect/check/update") - public R checkUpdate(@RequestBody QlyIsptItem params) { - if (Objects.isNull(params)) { + public R checkUpdate(@RequestBody List<QlyIsptItem> params) { + if (Objects.isNull(params) || params.isEmpty()) { return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } return mobileService.checkUpdate(params); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java index a1c2e6f..b63ead2 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/MobileService.java @@ -48,7 +48,7 @@ R checkObjs(CheckObjParams params); - R checkUpdate(QlyIsptItem params); + R checkUpdate(List<QlyIsptItem> params); R operateToStock(OpStockParams params); @@ -59,4 +59,6 @@ R taskGetLocs(String code) throws Exception; R completeOrder(Long id, Long loginUserId); + + R getItemByContainer(Map<String, Object> params); } 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 ae44e15..e831eb0 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 @@ -22,6 +22,7 @@ import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.enums.AsnExceStatus; +import com.vincent.rsf.server.manager.enums.PakinIOStatus; import com.vincent.rsf.server.manager.mapper.*; import com.vincent.rsf.server.manager.service.*; import com.vincent.rsf.server.system.constant.CodeRes; @@ -36,6 +37,7 @@ import com.vincent.rsf.server.system.service.UserLoginService; import com.vincent.rsf.server.system.utils.ExtendFieldsUtils; import com.vincent.rsf.server.system.utils.SerialRuleUtils; +import net.sf.jsqlparser.statement.select.Wait; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -494,36 +496,36 @@ if (Objects.isNull(params.getIsptCode())) { throw new CoolException("璐ㄦ鍗曚笉鑳戒负绌�"); } - if (Objects.isNull(params.getMatnrCode())) { - throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛�"); - } QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>().eq(QlyInspect::getCode, params.getIsptCode())); if (Objects.isNull(inspect)) { throw new CoolException("璐ㄦ鍗曟嵁涓嶅瓨鍦紒!"); } - QlyIsptItem isptItem = qlyIsptItemService.getOne(new LambdaQueryWrapper<QlyIsptItem>() - .eq(QlyIsptItem::getMatnrCode, params.getMatnrCode()) + List<QlyIsptItem> isptItems = qlyIsptItemService.list(new LambdaQueryWrapper<QlyIsptItem>() + .eq(StringUtils.isNotBlank(params.getMatnrCode()), QlyIsptItem::getMatnrCode, StringUtils.isNotBlank(params.getMatnrCode()) ? params.getMatnrCode() : null) .eq(QlyIsptItem::getIspectId, inspect.getId())); - if (Objects.isNull(isptItem)) { + if (Objects.isNull(isptItems)) { throw new CoolException("璐ㄦ鍗曟槑缁嗕笉瀛樺湪锛侊紒"); } - - CheckObjDto objDto = new CheckObjDto(); - objDto.setIsptCode(inspect.getCode()) - .setAsnCode(inspect.getAsnCode()) - .setId(isptItem.getId()) - .setMatnrCode(isptItem.getMatnrCode()) - .setMaktx(isptItem.getMaktx()) - .setDisQty(isptItem.getDisQty()) - .setDlyQty(isptItem.getDlyQty()) - .setRcptQty(isptItem.getRcptQty()) - .setIsptResult(isptItem.getIsptResult()) - .setSplrBatch(isptItem.getSplrBatch()) - .setSplrName(isptItem.getSplrName()) - .setPicPath(isptItem.getPicPath()) - .setMemo(isptItem.getMemo()) - .setSafeQty(isptItem.getSafeQty()); - return R.ok(objDto); + List<CheckObjDto> dtos = new ArrayList<>(); + isptItems.forEach(isptItem -> { + CheckObjDto objDto = new CheckObjDto(); + objDto.setIsptCode(inspect.getCode()) + .setAsnCode(inspect.getAsnCode()) + .setId(isptItem.getId()) + .setMatnrCode(isptItem.getMatnrCode()) + .setMaktx(isptItem.getMaktx()) + .setDisQty(isptItem.getDisQty()) + .setDlyQty(isptItem.getDlyQty()) + .setRcptQty(isptItem.getRcptQty()) + .setIsptResult(isptItem.getIsptResult()) + .setSplrBatch(isptItem.getSplrBatch()) + .setSplrName(isptItem.getSplrName()) + .setPicPath(isptItem.getPicPath()) + .setMemo(isptItem.getMemo()) + .setSafeQty(isptItem.getSafeQty()); + dtos.add(objDto); + }); + return R.ok(dtos); } /** @@ -532,14 +534,12 @@ * @return */ @Override - public R checkUpdate(QlyIsptItem params) { - if (Objects.isNull(params.getId())) { + public R checkUpdate(List<QlyIsptItem> params) { + if (Objects.isNull(params) || params.isEmpty()) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } IsptItemsParams itemsParams = new IsptItemsParams(); - List<QlyIsptItem> items = new ArrayList<>(); - items.add(params); - itemsParams.setIsptItem(items).setType("0"); + itemsParams.setIsptItem(params).setType("0"); if (qlyIsptItemService.batchUpdate(itemsParams)) { return R.ok(); } else { @@ -729,6 +729,40 @@ } /** + * @author Ryan + * @description 閫氳繃瀹瑰櫒鑾峰彇缁勬嫋鐗╂枡 + * @param + * @return + * @time 2025/4/9 16:57 + */ + @Override + public R getItemByContainer(Map<String, Object> params) { + 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(WaitPakin::getBarcode, params.get("barcode").toString()) + .in(WaitPakin::getIoStatus, asList)); + if (Objects.isNull(waitPakin)) { + return R.ok(new ArrayList<>()); + } + List<WaitPakinItem> pakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>() + .eq(WaitPakinItem::getPakinId, waitPakin.getId())); + if (pakinItems.isEmpty()) { + return R.ok(new ArrayList<>()); + } + List<String> list = pakinItems.stream().map(WaitPakinItem::getTrackCode).collect(Collectors.toList()); + LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new QueryWrapper<WarehouseAreasItem>() + .select("SUM(anfme) as anfme, track_code, asn_code, id, splr_batch, ispt_result, plat_item_id, batch, qty, work_qty, matnr_code, matnr_id, maktx") + .lambda() + .in(WarehouseAreasItem::getTrackCode, list) + .groupBy(WarehouseAreasItem::getSplrBatch, + WarehouseAreasItem::getAsnId, + WarehouseAreasItem::getAreaId, + WarehouseAreasItem::getTrackCode, + WarehouseAreasItem::getMatnrId); + return R.ok(warehouseAreasItemService.list(queryWrapper)); + } + + /** * 鑾峰彇ReceiptDetlsDtos */ private R getAsnOrderItem(List<AsnOrderItem> items) { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java index e826e7f..e4330bc 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java @@ -106,8 +106,7 @@ public List<AsnOrder> getUnInspect(Map<String, Object> params) { List<AsnOrder> asnOrders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>() .eq(AsnOrder::getStatus, 1) - .eq(!Objects.isNull(params.get("asnCode")), AsnOrder::getCode, !Objects.isNull(params.get("asnCode")) ? params.get("asnCode").toString() : "") - .eq(AsnOrder::getNtyStatus, 0)); + .eq(!Objects.isNull(params.get("asnCode")) && StringUtils.isNotBlank(params.get("asnCode").toString()), AsnOrder::getCode, StringUtils.isNotBlank(params.get("asnCode").toString()) ? params.get("asnCode").toString() : null)); return asnOrders; } -- Gitblit v1.9.1