diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java index c995183f..fdb2b032 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java @@ -1651,6 +1651,7 @@ public class NormalPGIController extends BaseController { // 首先判断当前包是否已经收货了 WmsPackage pacageScanVO = wmsPackageService.lambdaQuery().eq(WmsPackage::getPackageCode, request.getPackageCode()) .one(); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request.getItems())).throwMessage("没有收货的物料信息"); VUtil.trueThrowBusinessError(ObjectUtil.isNull(pacageScanVO)).throwMessage("打包码不存在"); VUtil.trueThrowBusinessError(pacageScanVO.getPackageStatus() == 0).throwMessage("此打包码尚未打包"); VUtil.trueThrowBusinessError(pacageScanVO.getPackageStatus() == 2).throwMessage("此打包码已完成收货"); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java index d8089f66..9a249192 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java @@ -109,6 +109,7 @@ public class OutPurchaseController extends BaseController { .gt(WmsReturnRequestItem::getLeft, 0) .list(); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(items)).throwMessage("所有物料均已完成"); + order.setPoNum(items.get(0).getPoNumberNew()); ZWM3A05VO vo = new ZWM3A05VO() .setPurchaseOrderId(order.getId()) .setLifnr(order.getSupplierCode()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java index 4f559779..6ea485c8 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/PurchaseReturnController.java @@ -76,6 +76,7 @@ public class PurchaseReturnController extends BaseController { /** * 获取送货单的入库信息 + * * @param request * @return */ @@ -93,6 +94,7 @@ public class PurchaseReturnController extends BaseController { /** * 获取退货申请单详情 + * * @param request * @return */ @@ -109,6 +111,7 @@ public class PurchaseReturnController extends BaseController { /** * 获取送货单的入库信息 + * * @param request * @return */ @@ -121,6 +124,7 @@ public class PurchaseReturnController extends BaseController { /** * 新增退货申请单 + * * @param request * @return */ @@ -140,6 +144,7 @@ public class PurchaseReturnController extends BaseController { /** * 删除申请单 + * * @param request * @return */ @@ -160,6 +165,7 @@ public class PurchaseReturnController extends BaseController { /** * 审核申请单 + * * @param request * @return */ @@ -193,7 +199,7 @@ public class PurchaseReturnController extends BaseController { VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(returnRequestItems)) .throwMessage("没有有效的数据"); if (request.getApprovalStatus().equals(1)) { - if (request.getDocumentType().equals(1)) { //25 + if (request.getDocumentType().equals(1)) { //25 仅退货 ZWM3A25HeadDTO headDTO25 = new ZWM3A25HeadDTO(); List itemDTOList25 = new ArrayList<>(); headDTO25.setReturnType("2"); @@ -212,7 +218,18 @@ public class PurchaseReturnController extends BaseController { } ZWM3A25ReturnDTO zwm3a25ReturnDTO = sapService.ZWM3A25(headDTO25, itemDTOList25); log.info(" zwm3a25ReturnDTO: " + JSONUtil.toJsonStr(zwm3a25ReturnDTO)); - } else if (request.getDocumentType().equals(2)) { //24 + zwm3a25ReturnDTO.getItemReturnDTOList().forEach(item -> { + String materialNo = item.getMatnr().replace("00000000",""); + WmsReturnRequestItem dbItem = returnRequestItems.stream() + .filter(it -> StrUtil.equals(it.getMaterialCode(), materialNo) + ) + .findFirst() + .get(); + dbItem.setPoLineNumberNew(item.getEbelp()); + dbItem.setPoNumberNew(item.getEbeln()); + }); + returnRequestItemService.updateBatchById(returnRequestItems); + } else if (request.getDocumentType().equals(2)) { //24 退换货 ZWM3A24HeadDTO headDTO24 = new ZWM3A24HeadDTO(); List itemDTOList24 = new ArrayList<>(); headDTO24.setReturnType("1"); @@ -230,22 +247,24 @@ public class PurchaseReturnController extends BaseController { } ZWM3A24ReturnDTO retrunDto24 = sapService.ZWM3A24(headDTO24, itemDTOList24); log.info(" zwm3a24ReturnDTO: " + JSONUtil.toJsonStr(retrunDto24)); - retrunDto24.getItemReturnDTOList().forEach(item -> { - WmsReturnRequestItem dbItem=returnRequestItems.stream() - .filter(it -> StrUtil.equals(it.getMaterialCode(), item.getMatnr()) - && Objects.equals(Integer.parseInt(it.getPoLineNumber()), item.getEbelp_old()) - ) - .findFirst() - .get(); - dbItem.setPoLineNumberNew(item.getEbelp_new()); - }); - returnRequestItemService.updateBatchById(returnRequestItems); + for (ZWM3A24ItemReturnDTO item : retrunDto24.getItemReturnDTOList()) { + if (Objects.equals(item.getRetpo(), "X")) { + String materialNo = item.getMatnr().replace("00000000",""); + WmsReturnRequestItem dbItem = returnRequestItems.stream() + .filter(it -> it.getMaterialCode().equals(materialNo)) + .findFirst().orElse( null); + dbItem.setPoLineNumberNew(item.getEbelp()); + dbItem.setPoNumberNew(item.getEbeln()); + returnRequestItemService.updateBatchById(returnRequestItems); + } + } + } } //修改状态 returnRequestService.lambdaUpdate() .set(WmsReturnRequest::getApprovalStatus, request.getApprovalStatus()) - .set(WmsReturnRequest::getDocumentType,request.getDocumentType()) + .set(WmsReturnRequest::getDocumentType, request.getDocumentType()) .set(WmsReturnRequest::getApproveTime, LocalDateTime.now()) .set(WmsReturnRequest::getApproverId, UserUtil.getUserId()) .set(WmsReturnRequest::getApproverName, UserUtil.getUserName()) @@ -256,6 +275,7 @@ public class PurchaseReturnController extends BaseController { /** * 码验证 + * * @param qrCodeMaster * @return */ @@ -301,6 +321,7 @@ public class PurchaseReturnController extends BaseController { /** * 保存申请单 + * * @return */ private List SaveApply(List purchaseReturnDTOList, Short dataSource) { @@ -357,6 +378,7 @@ public class PurchaseReturnController extends BaseController { /** * 申请退货(PDA) + * * @param request * @return */ @@ -455,17 +477,17 @@ public class PurchaseReturnController extends BaseController { if (CollectionUtil.isEmpty(inventoryLockVOS)) { return ApiResult.success(); } else { - throw new DataAlertException(STATE.OutOfStock, inventoryLockVOS); + return ApiResult.errorWithExtras(STATE.OutOfStock, inventoryLockVOS); } } /** * 扫码获取扫码信息 + * * @param request * @return * @author - * */ @PostMapping("pda/scan") @ApiMark(moduleName = "扫码", apiName = "扫码获取扫码信息") @@ -485,6 +507,14 @@ public class PurchaseReturnController extends BaseController { @GetMapping("exportTicket") public void exportTicket(HttpServletResponse response, @Valid @RequestParam @NotNull Long id) throws Exception { WmsReturnRequest order = returnRequestService.getById(id); + List orderItem = returnRequestItemService.lambdaQuery() + .eq(WmsReturnRequestItem::getApplicationId, id) + .list(); + if(CollectionUtil.isNotEmpty(orderItem)) + { + order.setPoNum(orderItem.get(0).getPoNumberNew()); + } + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("申请单不存在"); VUtil.trueThrowBusinessError(order.getApprovalStatus() != 1).throwMessage("申请单未审核通过"); UserSupplier supplier = userSupplierService.getByCode(order.getSupplierCode()); diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemReturnDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemReturnDTO.java index de616b18..672d410b 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemReturnDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A24ItemReturnDTO.java @@ -12,35 +12,30 @@ public class ZWM3A24ItemReturnDTO{ */ private String werks; - /** - * 原订单行号 - */ - private Integer ebelp_old; - /** - * 新单行号 + * 定单行号 */ - private Integer ebelp_new; + private Integer ebelp; /** * 库存地点 */ private String lgort; -// /** -// * 物料描述(短文本) -// */ -// private String maktx; + /** + * 物料描述(短文本) + */ + private String maktx; -// /** -// * 退货项目 -// */ -// private String retpo; + /** + * 退货项目 + */ + private String retpo; -// /** -// * 采购凭证号 -// */ -// private String ebeln; + /** + * 采购凭证号 + */ + private String ebeln; /** * 物料号 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemDTO.java index ad31bf1c..d541c50b 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemDTO.java @@ -5,39 +5,39 @@ import lombok.Data; import java.math.BigDecimal; @Data -public class ZWM3A25ItemDTO{ +public class ZWM3A25ItemDTO { - /** - * 工厂 - */ - private String werks; + /** + * 工厂 + */ + private String werks; - /** - * 数量 - */ - private BigDecimal menge_Ret; + /** + * 数量 + */ + private BigDecimal menge_Ret; - /** - * 消息 - */ - private String msg; + /** + * 消息 + */ + private String msg; - /** - * 库存地点 - */ - private String lgort; + /** + * 库存地点 + */ + private String lgort; - /** - * 新单行号 - */ - //private String ebelpNew; - /** - * 物料号 - */ - private String matnr; + /** + * 新单行号 + */ + private String ebelpNew; + /** + * 物料号 + */ + private String matnr; - /** - * 原订单行号 - */ - private Integer ebelp_old; + /** + * 原订单行号 + */ + private Integer ebelp_old; } \ No newline at end of file diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemReturnDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemReturnDTO.java index 9f6220ba..0a98c6d3 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemReturnDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/ZWM3A25ItemReturnDTO.java @@ -11,9 +11,9 @@ public class ZWM3A25ItemReturnDTO{ private String werks; /** - * 退货单明细 + * 新的采购单行号 */ - private String ebelp; + private Integer ebelp; /** * 库存地点 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QRCodeSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QRCodeSearchQO.java index 3c54cede..64289072 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QRCodeSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QRCodeSearchQO.java @@ -11,7 +11,7 @@ import java.util.List; @Accessors(chain = true) public class QRCodeSearchQO { /** - * 包装编号 + * 物料码编号 */ @NotNull @NotBlank diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsReturnRequestItem.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsReturnRequestItem.java index f539e82d..c451deb8 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsReturnRequestItem.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsReturnRequestItem.java @@ -78,17 +78,6 @@ public class WmsReturnRequestItem implements Serializable { */ private BigDecimal requestQuantity; - /** - * 剩余数量 - */ - @TableField(value = "\"left\"") - private BigDecimal left; - - /** - * sap过账的行号 - */ - private Integer poLineNumberNew; - /** * 出库状态 */ @@ -128,4 +117,20 @@ public class WmsReturnRequestItem implements Serializable { * 单位 */ private String unit; + + /** + * 剩余数量 + */ + @TableField(value ="\"left\"") + private BigDecimal left; + + /** + * sap过账的行号 + */ + private Integer poLineNumberNew; + + /** + * 新的采购单号 + */ + private String poNumberNew; } diff --git a/nflg-wms-repository/src/test/java/com/nflg/wms/repository/CodeGeneratorTest.java b/nflg-wms-repository/src/test/java/com/nflg/wms/repository/CodeGeneratorTest.java index 861e4511..3247b0f1 100644 --- a/nflg-wms-repository/src/test/java/com/nflg/wms/repository/CodeGeneratorTest.java +++ b/nflg-wms-repository/src/test/java/com/nflg/wms/repository/CodeGeneratorTest.java @@ -33,7 +33,7 @@ public class CodeGeneratorTest { ) .strategyConfig(builder -> { builder - .addInclude("opt_record") //只生成指定表 + .addInclude("wms_return_request_item") //只生成指定表 .entityBuilder().idType(IdType.ASSIGN_ID) .enableLombok() .enableChainModel()