入库工序调用接口回退

liweidong
李涛 4 days ago
parent 9501e28569
commit 09c29c1a29
  1. 6
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java
  2. 5
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java
  3. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/HandoverRecordServiceImpl.java
  4. 5
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java
  5. 2
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java
  6. 32
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java

@ -47,6 +47,7 @@ public interface IErpDataProduceClient {
String PRO_RBINVIOGEN = API_PREFIX + "/proRbinviogen"; String PRO_RBINVIOGEN = API_PREFIX + "/proRbinviogen";
String PRO_RBTRANSFERLEV = API_PREFIX + "/proRbtransferlev"; String PRO_RBTRANSFERLEV = API_PREFIX + "/proRbtransferlev";
String CREATE_MOLD_PLAN = API_PREFIX + "/createMoldPlan"; 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 = "keeper", required = false)String keeper,
@RequestParam(value = "createMan", required = false)String createMan, @RequestParam(value = "createMan", required = false)String createMan,
@RequestParam(value = "memo", required = false)String memo); @RequestParam(value = "memo", required = false)String memo);
@GetMapping(RETURN_HANDOVER_RECORD)
R<String> returnHandoverRecord(@RequestParam(value = "hrCode")String hrCode,
@RequestParam(value = "partCode")String partCode,
@RequestParam(value = "batchNo")String batchNo);
} }

@ -123,4 +123,9 @@ public class IErpDataProduceClientFallback implements IErpDataProduceClient {
return R.fail("获取数据失败"); return R.fail("获取数据失败");
} }
@Override
public R<String> returnHandoverRecord(String hrCode, String partCode, String batchNo) {
return R.fail("获取数据失败");
}
} }

@ -286,7 +286,8 @@ public class HandoverRecordServiceImpl extends BaseServiceImpl<HandoverRecordMap
@Override @Override
public void returnHandoverRecord(String hrCode, String partCode, String batchNo) { public void returnHandoverRecord(String hrCode, String partCode, String batchNo) {
// todo 入库工序调用接口回退(调用erp) // 入库工序调用接口回退(调用erp)
erpDataProduceClient.returnHandoverRecord(hrCode, partCode, batchNo);
} }
private String getCustodianByRecDept(String partCode, String recDept) { private String getCustodianByRecDept(String partCode, String recDept) {

@ -132,5 +132,10 @@ public class ErpDataProduceClient implements IErpDataProduceClient {
return R.data(erpDataProduceService.createMoldPlan(partCode, moCode, plantype, quantity, needDate, level, keeper, createMan, memo)); return R.data(erpDataProduceService.createMoldPlan(partCode, moCode, plantype, quantity, needDate, level, keeper, createMan, memo));
} }
@Override
public R<String> returnHandoverRecord(String hrCode, String partCode, String batchNo) {
return R.data(erpDataProduceService.returnHandoverRecord(hrCode, partCode, batchNo));
}
} }

@ -62,4 +62,6 @@ public interface IErpDataProduceService {
String createMoldPlan(String partCode, String moCode, String plantype, Integer quantity, Date needDate, String level, String createMoldPlan(String partCode, String moCode, String plantype, Integer quantity, Date needDate, String level,
String keeper, String createMan, String memo); String keeper, String createMan, String memo);
String returnHandoverRecord(String hrCode, String partCode, String batchNo);
} }

@ -519,4 +519,36 @@ public class ErpDataProduceServiceImpl implements IErpDataProduceService {
String wxno = (String) resultMap.get("v_toolid"); String wxno = (String) resultMap.get("v_toolid");
return wxno; 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<String, Object> inParams = new HashMap<>();
inParams.put("v_inventry", hrCode);
inParams.put("v_prtno", partCode);
inParams.put("v_splcode", batchNo);
// 3. 执行并获取结果 Map
Map<String, Object> 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;
}
} }

Loading…
Cancel
Save