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 a9f62d24f..04787f2d3 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 @@ -48,6 +48,7 @@ public interface IErpDataProduceClient { String PRO_RBTRANSFERLEV = API_PREFIX + "/proRbtransferlev"; String CREATE_MOLD_PLAN = API_PREFIX + "/createMoldPlan"; String RETURN_HANDOVER_RECORD = API_PREFIX + "/returnHandoverRecord"; + String RETURN_OEM_ERP_BY_WXNO = API_PREFIX + "/returnOemErpByWxno"; /** @@ -180,8 +181,9 @@ public interface IErpDataProduceClient { /** * 获取转试的试验计划 + * * @param nameList 试验计划名称 - * @return 结果 + * @return 结果 */ @PostMapping(TRAIL_ITEM_LIST) R>> trialItemList(@RequestParam List nameList); @@ -218,18 +220,21 @@ public interface IErpDataProduceClient { @RequestParam(value = "lossQty") Integer lossQty, @RequestParam(value = "scrapQty") Integer scrapQty); @GetMapping(CREATE_MOLD_PLAN) - R createMoldPlan(@RequestParam(value = "partCode", required = false)String partCode, - @RequestParam(value = "moCode", required = false)String moCode, - @RequestParam(value = "plantype", required = false)String plantype, - @RequestParam(value = "quantity", required = false)Integer quantity, + R createMoldPlan(@RequestParam(value = "partCode", required = false) String partCode, + @RequestParam(value = "moCode", required = false) String moCode, + @RequestParam(value = "plantype", required = false) String plantype, + @RequestParam(value = "quantity", required = false) Integer quantity, @RequestParam(value = "needDate", required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date needDate, - @RequestParam(value = "level", required = false)String level, - @RequestParam(value = "keeper", required = false)String keeper, - @RequestParam(value = "createMan", required = false)String createMan, - @RequestParam(value = "memo", required = false)String memo); + @RequestParam(value = "level", required = false) String level, + @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); + R returnHandoverRecord(@RequestParam(value = "hrCode") String hrCode, + @RequestParam(value = "partCode") String partCode, + @RequestParam(value = "batchNo") String batchNo); + + @GetMapping(RETURN_OEM_ERP_BY_WXNO) + R returnOemErpByWxno(@RequestParam(value = "hrCode") String wxNo); } 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 4018c9486..0d4e89f38 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 @@ -128,4 +128,9 @@ public class IErpDataProduceClientFallback implements IErpDataProduceClient { return R.fail("获取数据失败"); } + @Override + public R returnOemErpByWxno(String wxNo) { + return R.fail("获取数据失败"); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java index 632f1e035..66766221e 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java @@ -2789,7 +2789,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl returnOemErpByWxno(String wxNo) { + return R.data(erpDataProduceService.returnOemErpByWxno(wxNo)); + } + } 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 889d2e319..f0ff48239 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 @@ -64,4 +64,6 @@ public interface IErpDataProduceService { String keeper, String createMan, String memo); String returnHandoverRecord(String hrCode, String partCode, String batchNo); + + String returnOemErpByWxno(String wxNo); } 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 467e74ac7..e3e570b83 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 @@ -551,4 +551,32 @@ public class ErpDataProduceServiceImpl implements IErpDataProduceService { } return excflag; } + + @Override + public String returnOemErpByWxno(String wxNo) { + SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate) + // 指定存储过程名(包含 DB Link) + .withProcedureName("dba_mgr.pro_rbwxdel") + // 建议关闭元数据访问(通过 DB Link 访问时可避免权限/性能问题) + .withoutProcedureColumnMetaDataAccess() + // 显式声明参数 + .declareParameters( + new SqlParameter("v_wxno", Types.VARCHAR), + new SqlOutParameter("v_excnote", Types.VARCHAR), + new SqlOutParameter("v_excflag", Types.VARCHAR) + ); + // 2. 封装输入参数 + Map inParams = new HashMap<>(); + inParams.put("v_wxno", wxNo); + // 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; + } }