diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataOemClient.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataOemClient.java index cc6dbc497..b3346f9fb 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataOemClient.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataOemClient.java @@ -38,6 +38,7 @@ public interface IErpDataOemClient { String PRICE_SHEET_DATA_ALL = API_PREFIX + "/priceSheetDataAll"; String FULL_ORDER_OUTSOURCING = API_PREFIX + "/fullOrderOutsourcing"; String COLLABORATIVE_OUTSOURCING = API_PREFIX + "/collaborativeOutsourcing"; + String QUERY_OEM_AND_CAID = API_PREFIX + "/queryOemAndCaid"; /** * 关闭erp外协订单 @@ -75,9 +76,9 @@ public interface IErpDataOemClient { */ @GetMapping(FULL_ORDER_OUTSOURCING) R fullOrderOutsourcing(@RequestParam("v_prtno") String v_prtno, @RequestParam("v_prtlotno") String v_prtlotno, @RequestParam("v_splcode") String v_splcode, - @RequestParam("v_splycode") String v_splycode, @RequestParam("v_seqcc") String v_seqcc, @RequestParam("v_sono") String v_sono, - @RequestParam("v_planner") String v_planner, @RequestParam("v_pedate") String v_pedate, @RequestParam("v_woporqty") Double v_woporqty, - @RequestParam(value = "v_pricetype", required = false) String v_pricetype); + @RequestParam("v_splycode") String v_splycode, @RequestParam("v_seqcc") String v_seqcc, @RequestParam("v_sono") String v_sono, + @RequestParam("v_planner") String v_planner, @RequestParam("v_pedate") String v_pedate, @RequestParam("v_woporqty") Double v_woporqty, + @RequestParam(value = "v_pricetype", required = false) String v_pricetype); /** @@ -103,9 +104,12 @@ public interface IErpDataOemClient { */ @GetMapping(COLLABORATIVE_OUTSOURCING) R collaborativeOutsourcing(@RequestParam("v_prtno") String v_prtno, @RequestParam("v_prtlotno") String v_prtlotno, @RequestParam("v_woreqdat") String v_woreqdat, - @RequestParam("v_woporqty") Double v_woporqty, @RequestParam(value = "v_usedeptcode", required = false) String v_usedeptcode, @RequestParam(value = "v_usedept", required = false) String v_usedept, - @RequestParam("v_splcode") String v_splcode, @RequestParam("v_splycode") String v_splycode, @RequestParam("v_kdofplat") String v_kdofplat, - @RequestParam("v_wono") String v_wono, @RequestParam("v_sono") String v_sono, @RequestParam("v_mtnman") String v_mtnman, - @RequestParam("v_planner") String v_planner, @RequestParam("v_yardman") String v_yardman, @RequestParam("v_roam_no") String v_roam_no, @RequestParam("v_craft_no") String v_craft_no, - @RequestParam("v_craft_id") Long v_craft_id); + @RequestParam("v_woporqty") Double v_woporqty, @RequestParam(value = "v_usedeptcode", required = false) String v_usedeptcode, @RequestParam(value = "v_usedept", required = false) String v_usedept, + @RequestParam("v_splcode") String v_splcode, @RequestParam("v_splycode") String v_splycode, @RequestParam("v_kdofplat") String v_kdofplat, + @RequestParam("v_wono") String v_wono, @RequestParam("v_sono") String v_sono, @RequestParam("v_mtnman") String v_mtnman, + @RequestParam("v_planner") String v_planner, @RequestParam("v_yardman") String v_yardman, @RequestParam("v_roam_no") String v_roam_no, @RequestParam("v_craft_no") String v_craft_no, + @RequestParam("v_craft_id") Long v_craft_id); + + @GetMapping(QUERY_OEM_AND_CAID) + R queryOemAndCaid(@RequestParam(value = "v_usedept", required = false) String ocCode, @RequestParam("v_prtno") String prodIdent); } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataOemClientFallback.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataOemClientFallback.java index d16568d6b..cd1428432 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataOemClientFallback.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataOemClientFallback.java @@ -46,4 +46,9 @@ public class IErpDataOemClientFallback implements IErpDataOemClient { return R.fail("整单外协订单接收 失败"); } + @Override + public R queryOemAndCaid(String ocCode, String prodIdent) { + return R.fail("查询OEM和CAID 失败"); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderAssignSteerImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderAssignSteerImpl.java index 6e2c06387..8f128aa72 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderAssignSteerImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderAssignSteerImpl.java @@ -10,6 +10,7 @@ import org.springblade.core.tool.utils.Func; import org.springblade.desk.order.mapper.YieldOrderAssignSteerMapper; import org.springblade.desk.order.pojo.entity.YieldOrderAssignSteer; import org.springblade.desk.order.service.IYieldOrderAssignSteerService; +import org.springblade.erpdata.feign.IErpDataOemClient; import org.springframework.stereotype.Service; import java.util.List; @@ -23,6 +24,7 @@ import java.util.List; @Service public class YieldOrderAssignSteerImpl extends BaseServiceImpl implements IYieldOrderAssignSteerService { + private final IErpDataOemClient erpDataOemClient; @Override public YieldOrderAssignSteer findByOcIdLstAndCaId(List ocIdLst, Long oemCaId, String partCode) { @@ -56,22 +58,10 @@ public class YieldOrderAssignSteerImpl extends BaseServiceImpl queryOemAndCaid(String ocCode, String prodIdent) { + return R.data(erpDataOemService.queryOemAndCaid(ocCode, prodIdent)); + } } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataOemService.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataOemService.java index 48e634ce5..65e9cdf76 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataOemService.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataOemService.java @@ -73,4 +73,6 @@ public interface IErpDataOemService { * @param v_craft_id 零件工艺ID */ String collaborativeOutsourcing(String v_prtno, String v_prtlotno, Date v_woreqdat, Double v_woporqty, String v_usedeptcode, String v_usedept, String v_splcode, String v_splycode, String v_kdofplat, String v_wono, String v_sono, String v_mtnman, String v_planner, String v_yardman, String v_roam_no, String v_craft_no, Long v_craft_id); + + String queryOemAndCaid(String ocCode, String prodIdent); } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataOemServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataOemServiceImpl.java index b848a3dec..665c464a4 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataOemServiceImpl.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataOemServiceImpl.java @@ -186,6 +186,34 @@ public class ErpDataOemServiceImpl implements IErpDataOemService { return oldWono; } + @Override + public String queryOemAndCaid(String ocCode, String prodIdent) { + SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate) + // 指定存储过程名(包含 DB Link) + .withProcedureName("dba_mgr.pro_wxprtlotno") + // 建议关闭元数据访问(通过 DB Link 访问时可避免权限/性能问题) + .withoutProcedureColumnMetaDataAccess() + // 显式声明参数 + .declareParameters( + new SqlParameter("v_splycode", Types.VARCHAR), // IN + new SqlParameter("v_prtlotno", Types.VARCHAR), // IN + new SqlOutParameter("v_excnote", Types.VARCHAR), // OUT + new SqlOutParameter("v_excflag", Types.VARCHAR) // OUT + ); + // 2. 封装输入参数 + Map inParams = new HashMap<>(); + inParams.put("v_splycode", ocCode); + inParams.put("v_prtlotno", prodIdent); + + // 3. 执行并获取结果 Map + Map resultMap = jdbcCall.execute(inParams); + + // 4. 提取输出参数 + String excflag = (String) resultMap.get("v_excflag"); + String excnote = (String) resultMap.get("v_excnote"); + return excflag; + } + /** * 将ResultSet转换为List的通用方法 */