From 09c29c1a293546b11b8bbf308c89e8d1ba7882a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=B6=9B?= Date: Tue, 26 May 2026 21:32:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=B7=A5=E5=BA=8F=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E6=8E=A5=E5=8F=A3=E5=9B=9E=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erpdata/feign/IErpDataProduceClient.java | 6 ++++ .../feign/IErpDataProduceClientFallback.java | 5 +++ .../impl/HandoverRecordServiceImpl.java | 3 +- .../erpdata/feign/ErpDataProduceClient.java | 5 +++ .../service/IErpDataProduceService.java | 2 ++ .../impl/ErpDataProduceServiceImpl.java | 32 +++++++++++++++++++ 6 files changed, 52 insertions(+), 1 deletion(-) diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java index 0cfa3bd54..a9f62d24f 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java @@ -47,6 +47,7 @@ public interface IErpDataProduceClient { String PRO_RBINVIOGEN = API_PREFIX + "/proRbinviogen"; String PRO_RBTRANSFERLEV = API_PREFIX + "/proRbtransferlev"; String CREATE_MOLD_PLAN = API_PREFIX + "/createMoldPlan"; + String RETURN_HANDOVER_RECORD = API_PREFIX + "/returnHandoverRecord"; /** @@ -226,4 +227,9 @@ public interface IErpDataProduceClient { @RequestParam(value = "keeper", required = false)String keeper, @RequestParam(value = "createMan", required = false)String createMan, @RequestParam(value = "memo", required = false)String memo); + + @GetMapping(RETURN_HANDOVER_RECORD) + R returnHandoverRecord(@RequestParam(value = "hrCode")String hrCode, + @RequestParam(value = "partCode")String partCode, + @RequestParam(value = "batchNo")String batchNo); } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java index 825824b60..4018c9486 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java @@ -123,4 +123,9 @@ public class IErpDataProduceClientFallback implements IErpDataProduceClient { return R.fail("获取数据失败"); } + @Override + public R returnHandoverRecord(String hrCode, String partCode, String batchNo) { + return R.fail("获取数据失败"); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/HandoverRecordServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/HandoverRecordServiceImpl.java index a4b7aa67b..a6edaadaf 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/HandoverRecordServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/HandoverRecordServiceImpl.java @@ -286,7 +286,8 @@ public class HandoverRecordServiceImpl extends BaseServiceImpl returnHandoverRecord(String hrCode, String partCode, String batchNo) { + return R.data(erpDataProduceService.returnHandoverRecord(hrCode, partCode, batchNo)); + } + } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java index f22f8f110..889d2e319 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java @@ -62,4 +62,6 @@ public interface IErpDataProduceService { String createMoldPlan(String partCode, String moCode, String plantype, Integer quantity, Date needDate, String level, String keeper, String createMan, String memo); + + String returnHandoverRecord(String hrCode, String partCode, String batchNo); } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java index 324936647..467e74ac7 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java @@ -519,4 +519,36 @@ public class ErpDataProduceServiceImpl implements IErpDataProduceService { String wxno = (String) resultMap.get("v_toolid"); return wxno; } + + @Override + public String returnHandoverRecord(String hrCode, String partCode, String batchNo) { + SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate) + // 指定存储过程名(包含 DB Link) + .withProcedureName("dba_mgr.pro_inviogen_back") + // 建议关闭元数据访问(通过 DB Link 访问时可避免权限/性能问题) + .withoutProcedureColumnMetaDataAccess() + // 显式声明参数 + .declareParameters( + new SqlParameter("v_inventry", Types.VARCHAR), + new SqlParameter("v_prtno", Types.VARCHAR), + new SqlParameter("v_splcode", Types.VARCHAR), + new SqlOutParameter("v_excnote", Types.VARCHAR), + new SqlOutParameter("v_excflag", Types.VARCHAR) + ); + // 2. 封装输入参数 + Map inParams = new HashMap<>(); + inParams.put("v_inventry", hrCode); + inParams.put("v_prtno", partCode); + inParams.put("v_splcode", batchNo); + // 3. 执行并获取结果 Map + Map resultMap = jdbcCall.execute(inParams); + + // 4. 提取输出参数 + String excflag = (String) resultMap.get("v_excflag"); + String excnote = (String) resultMap.get("v_excnote"); + if ("0".equals(excflag)) { + throw new ServiceException("入库工序调用接口回退异常:" + excnote); + } + return excflag; + } }