diff --git a/src/main/java/com/gaotao/modules/productionReturn/controller/ProductionReturnController.java b/src/main/java/com/gaotao/modules/productionReturn/controller/ProductionReturnController.java index 7b429cd..effa27e 100644 --- a/src/main/java/com/gaotao/modules/productionReturn/controller/ProductionReturnController.java +++ b/src/main/java/com/gaotao/modules/productionReturn/controller/ProductionReturnController.java @@ -24,6 +24,57 @@ public class ProductionReturnController extends AbstractController { @Autowired private ProductionReturnService productionReturnService; + /** + * 申请单退仓:获取列表 + */ + @PostMapping("getApplicationReturnList") + public R getApplicationReturnList(@RequestBody Map params) { + try { + String site = (String) params.get("site"); + String searchCode = (String) params.get("searchCode"); + + if (site == null || site.trim().isEmpty()) { + return R.error("站点不能为空"); + } + + List> resultList = productionReturnService.getApplicationReturnList(site, searchCode); + + return R.ok().put("data", resultList); + } catch (Exception e) { + logger.error("获取申请单退仓列表失败", e); + return R.error("获取数据失败: " + e.getMessage()); + } + } + + /** + * 申请单退仓:获取详情 + */ + @PostMapping("getApplicationReturnDetails") + public R getApplicationReturnDetails(@RequestBody Map params) { + try { + String site = (String) params.get("site"); + String searchCode = (String) params.get("searchCode"); + + if (site == null || site.trim().isEmpty()) { + return R.error("站点不能为空"); + } + if (searchCode == null || searchCode.trim().isEmpty()) { + return R.error("查询条件不能为空"); + } + + Map result = productionReturnService.getApplicationReturnDetails(site, searchCode); + + if (result == null || result.isEmpty()) { + return R.error("未找到详情"); + } + + return R.ok().put("data", result); + } catch (Exception e) { + logger.error("获取申请单退仓详情失败", e); + return R.error("获取详情失败: " + e.getMessage()); + } + } + /** * 获取生产待入库列表 * 数据来源:inbound_notification_head表,关联SFDC_ROLLS表 @@ -100,6 +151,11 @@ public class ProductionReturnController extends AbstractController { String buNo = (String) params.get("buNo"); String operationType = (String) params.get("operationType"); // I-添加 D-移除 String warehouseId = (String) params.get("warehouseId"); // 仓库ID + String actionType = (String) params.get("actionType"); // 生产退仓 或 申请单退仓 + + if (actionType == null || actionType.trim().isEmpty()) { + actionType = "生产退仓"; + } if (labelCode == null || labelCode.trim().isEmpty()) { return R.error("标签条码不能为空"); @@ -119,7 +175,7 @@ public class ProductionReturnController extends AbstractController { String userName = getUser().getUsername(); Map result = productionReturnService.validateLabelWithInbound( - site, buNo, inboundNo, labelCode, operationType, userName, warehouseId); + site, buNo, inboundNo, labelCode, operationType, userName, warehouseId, actionType); return R.ok().put("data", result); } catch (Exception e) { logger.error("生产标签验证失败", e); diff --git a/src/main/java/com/gaotao/modules/productionReturn/dao/ProductionReturnMapper.java b/src/main/java/com/gaotao/modules/productionReturn/dao/ProductionReturnMapper.java index f905e22..c84d386 100644 --- a/src/main/java/com/gaotao/modules/productionReturn/dao/ProductionReturnMapper.java +++ b/src/main/java/com/gaotao/modules/productionReturn/dao/ProductionReturnMapper.java @@ -9,6 +9,18 @@ import java.util.Map; @Mapper public interface ProductionReturnMapper { + /** + * 申请单退仓:获取列表 + */ + List> getApplicationReturnList(@Param("site") String site, + @Param("searchCode") String searchCode); + + /** + * 申请单退仓:获取详情 + */ + Map getApplicationReturnDetails(@Param("site") String site, + @Param("searchCode") String searchCode); + /** * 获取生产待入库列表 * 数据来源:inbound_notification_head表,关联SFDC_ROLLS表统计 diff --git a/src/main/java/com/gaotao/modules/productionReturn/service/ProductionReturnService.java b/src/main/java/com/gaotao/modules/productionReturn/service/ProductionReturnService.java index 0c2cd53..a49cfe4 100644 --- a/src/main/java/com/gaotao/modules/productionReturn/service/ProductionReturnService.java +++ b/src/main/java/com/gaotao/modules/productionReturn/service/ProductionReturnService.java @@ -5,6 +5,16 @@ import java.util.Map; public interface ProductionReturnService { + /** + * 申请单退仓:获取列表 + */ + List> getApplicationReturnList(String site, String searchCode); + + /** + * 申请单退仓:获取详情 + */ + Map getApplicationReturnDetails(String site, String searchCode); + /** * 获取生产待入库列表 * 数据来源:inbound_notification_head表,关联SFDC_ROLLS表 @@ -35,9 +45,11 @@ public interface ProductionReturnService { * @param labelCode 标签条码 * @param operationType 操作类型 I-添加 D-移除 * @param userName 当前登录人 + * @param warehouseId 仓库ID + * @param actionType 动作类型(生产退仓/申请单退仓) * @return 标签信息 */ - Map validateLabelWithInbound(String site, String buNo, String orderNo, String labelCode, String operationType, String userName, String warehouseId); + Map validateLabelWithInbound(String site, String buNo, String orderNo, String labelCode, String operationType, String userName, String warehouseId, String actionType); /** * 确认生产退仓上架(通过存储过程) diff --git a/src/main/java/com/gaotao/modules/productionReturn/service/impl/ProductionReturnServiceImpl.java b/src/main/java/com/gaotao/modules/productionReturn/service/impl/ProductionReturnServiceImpl.java index de13444..8d099b6 100644 --- a/src/main/java/com/gaotao/modules/productionReturn/service/impl/ProductionReturnServiceImpl.java +++ b/src/main/java/com/gaotao/modules/productionReturn/service/impl/ProductionReturnServiceImpl.java @@ -62,6 +62,16 @@ public class ProductionReturnServiceImpl implements ProductionReturnService { @Autowired private ErpInterfaceService erpInterfaceService; + @Override + public List> getApplicationReturnList(String site, String searchCode) { + return productionReturnMapper.getApplicationReturnList(site, searchCode); + } + + @Override + public Map getApplicationReturnDetails(String site, String searchCode) { + return productionReturnMapper.getApplicationReturnDetails(site, searchCode); + } + @Override public List> getQualifiedInboundList(String site, String warehouseId, String searchCode, String status) { SysUserEntity sysUserEntity = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); @@ -76,8 +86,8 @@ public class ProductionReturnServiceImpl implements ProductionReturnService { } @Override - public Map validateLabelWithInbound(String site, String buNo, String orderNo, String labelCode, String operationType, String userName, String warehouseId) { - logger.info("开始验证标签,标签条码: {}, 生产订单号: {}, 操作类型: {}, 仓库: {}", labelCode, orderNo, operationType, warehouseId); + public Map validateLabelWithInbound(String site, String buNo, String orderNo, String labelCode, String operationType, String userName, String warehouseId, String actionType) { + logger.info("开始验证标签,标签条码: {}, 生产订单号: {}, 操作类型: {}, 仓库: {}, 动作类型: {}", labelCode, orderNo, operationType, warehouseId, actionType); // 调用存储过程 GetScanLabelVerification List params = new ArrayList<>(); @@ -90,7 +100,7 @@ public class ProductionReturnServiceImpl implements ProductionReturnService { params.add(""); // 参数7: 空字符串 params.add(labelCode); // 参数8: 扫描的标签条码 params.add(""); // 参数9: 空字符串 - params.add("生产退仓"); // 参数10: 生产退仓 + params.add(actionType); // 参数10: 生产退仓 或 申请单退仓 params.add(operationType); // 参数11: I-添加 D-移除 params.add(userName); // 参数12: 当前登陆人 params.add(warehouseId != null ? warehouseId : ""); // 参数13: 仓库ID diff --git a/src/main/resources/mapper/productionReturn/ProductionReturnMapper.xml b/src/main/resources/mapper/productionReturn/ProductionReturnMapper.xml index 8b9d679..ab9d380 100644 --- a/src/main/resources/mapper/productionReturn/ProductionReturnMapper.xml +++ b/src/main/resources/mapper/productionReturn/ProductionReturnMapper.xml @@ -3,6 +3,68 @@ + + + + + +