diff --git a/src/main/java/com/gaotao/modules/purchaseReturn/controller/PurchaseReturnController.java b/src/main/java/com/gaotao/modules/purchaseReturn/controller/PurchaseReturnController.java index 8c07e60..4bf24ef 100644 --- a/src/main/java/com/gaotao/modules/purchaseReturn/controller/PurchaseReturnController.java +++ b/src/main/java/com/gaotao/modules/purchaseReturn/controller/PurchaseReturnController.java @@ -198,4 +198,45 @@ public class PurchaseReturnController extends AbstractController { return R.error("获取物料清单失败: " + e.getMessage()); } } + + /** + * 获取采购退货单明细卡片列表 + * 根据退货单号查询明细数据,按物料分组 + */ + @PostMapping("/getReturnDetailCards") + @ApiOperation("获取退货单明细卡片列表") + public R getReturnDetailCards(@RequestBody Map params) { + try { + String site = (String) params.get("site"); + String buNo = (String) params.get("buNo"); + String returnNo = (String) params.get("returnNo"); + String warehouseId = (String) params.get("warehouseId"); + String searchCode = (String) params.get("searchCode"); + + if (site == null || site.trim().isEmpty()) { + return R.error("站点不能为空"); + } + + if (buNo == null || buNo.trim().isEmpty()) { + return R.error("业务单元不能为空"); + } + + if (returnNo == null || returnNo.trim().isEmpty()) { + return R.error("退货单号不能为空"); + } + + if (warehouseId == null || warehouseId.trim().isEmpty()) { + return R.error("仓库ID不能为空"); + } + + String userName = getUser().getUsername(); + List> detailCards = purchaseReturnService.getReturnDetailCards( + site, buNo, returnNo, warehouseId, searchCode, userName); + + return R.ok().put("data", detailCards); + } catch (Exception e) { + logger.error("获取采购退货单明细卡片列表失败", e); + return R.error("获取明细卡片列表失败: " + e.getMessage()); + } + } } \ No newline at end of file diff --git a/src/main/java/com/gaotao/modules/purchaseReturn/dao/PurchaseReturnMapper.java b/src/main/java/com/gaotao/modules/purchaseReturn/dao/PurchaseReturnMapper.java index 4636681..9652cd6 100644 --- a/src/main/java/com/gaotao/modules/purchaseReturn/dao/PurchaseReturnMapper.java +++ b/src/main/java/com/gaotao/modules/purchaseReturn/dao/PurchaseReturnMapper.java @@ -99,4 +99,21 @@ public interface PurchaseReturnMapper extends BaseMapper { List> getMaterialList(@Param("site") String site, @Param("buNo") String buNo, @Param("returnNo") String returnNo); + + /** + * 获取采购退货单明细卡片列表 + * @param site 站点 + * @param buNo 业务单元 + * @param returnNo 退货单号 + * @param warehouseId 仓库ID + * @param searchCode 搜索条件 + * @param userName 用户名 + * @return 明细卡片列表 + */ + List> getReturnDetailCards(@Param("site") String site, + @Param("buNo") String buNo, + @Param("returnNo") String returnNo, + @Param("warehouseId") String warehouseId, + @Param("searchCode") String searchCode, + @Param("userName") String userName); } \ No newline at end of file diff --git a/src/main/java/com/gaotao/modules/purchaseReturn/service/PurchaseReturnService.java b/src/main/java/com/gaotao/modules/purchaseReturn/service/PurchaseReturnService.java index 357bb52..c2851fc 100644 --- a/src/main/java/com/gaotao/modules/purchaseReturn/service/PurchaseReturnService.java +++ b/src/main/java/com/gaotao/modules/purchaseReturn/service/PurchaseReturnService.java @@ -68,4 +68,18 @@ public interface PurchaseReturnService { * @return 物料清单 */ List> getMaterialList(String site, String buNo, String returnNo); + + /** + * 获取采购退货单明细卡片列表 + * 数据来源:outbound_notification_head/detail表,按物料分组 + * @param site 站点 + * @param buNo 业务单元 + * @param returnNo 退货单号 + * @param warehouseId 仓库ID + * @param searchCode 搜索条件 + * @param userName 用户名 + * @return 明细卡片列表 + */ + List> getReturnDetailCards(String site, String buNo, String returnNo, + String warehouseId, String searchCode, String userName); } \ No newline at end of file diff --git a/src/main/java/com/gaotao/modules/purchaseReturn/service/impl/PurchaseReturnServiceImpl.java b/src/main/java/com/gaotao/modules/purchaseReturn/service/impl/PurchaseReturnServiceImpl.java index 39a89a2..41e7c99 100644 --- a/src/main/java/com/gaotao/modules/purchaseReturn/service/impl/PurchaseReturnServiceImpl.java +++ b/src/main/java/com/gaotao/modules/purchaseReturn/service/impl/PurchaseReturnServiceImpl.java @@ -275,4 +275,25 @@ public class PurchaseReturnServiceImpl implements PurchaseReturnService { } } + @Override + public List> getReturnDetailCards(String site, String buNo, String returnNo, + String warehouseId, String searchCode, String userName) { + logger.info("获取采购退货单明细卡片列表,site: {}, buNo: {}, returnNo: {}", site, buNo, returnNo); + + try { + List> detailCards = purchaseReturnMapper.getReturnDetailCards( + site, buNo, returnNo, warehouseId, searchCode, userName); + + if (detailCards == null) { + detailCards = new ArrayList<>(); + } + + logger.info("获取采购退货单明细卡片列表成功,共 {} 条记录", detailCards.size()); + return detailCards; + } catch (Exception e) { + logger.error("获取采购退货单明细卡片列表失败,错误: {}", e.getMessage(), e); + throw new RuntimeException("获取明细卡片列表失败: " + e.getMessage(), e); + } + } + } diff --git a/src/main/resources/mapper/purchaseReturn/PurchaseReturnMapper.xml b/src/main/resources/mapper/purchaseReturn/PurchaseReturnMapper.xml index d7a8848..b3a017a 100644 --- a/src/main/resources/mapper/purchaseReturn/PurchaseReturnMapper.xml +++ b/src/main/resources/mapper/purchaseReturn/PurchaseReturnMapper.xml @@ -135,4 +135,38 @@ GROUP BY d.part_no, d.part_desc, d.required_qty + + +