自动分派逻辑修改

liweidong
李涛 3 days ago
parent ae0f9ab5b0
commit e5f1cbe1b2
  1. 20
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataOemClient.java
  2. 5
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataOemClientFallback.java
  3. 22
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderAssignSteerImpl.java
  4. 5
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataOemClientImpl.java
  5. 2
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataOemService.java
  6. 28
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataOemServiceImpl.java

@ -38,6 +38,7 @@ public interface IErpDataOemClient {
String PRICE_SHEET_DATA_ALL = API_PREFIX + "/priceSheetDataAll"; String PRICE_SHEET_DATA_ALL = API_PREFIX + "/priceSheetDataAll";
String FULL_ORDER_OUTSOURCING = API_PREFIX + "/fullOrderOutsourcing"; String FULL_ORDER_OUTSOURCING = API_PREFIX + "/fullOrderOutsourcing";
String COLLABORATIVE_OUTSOURCING = API_PREFIX + "/collaborativeOutsourcing"; String COLLABORATIVE_OUTSOURCING = API_PREFIX + "/collaborativeOutsourcing";
String QUERY_OEM_AND_CAID = API_PREFIX + "/queryOemAndCaid";
/** /**
* 关闭erp外协订单 * 关闭erp外协订单
@ -75,9 +76,9 @@ public interface IErpDataOemClient {
*/ */
@GetMapping(FULL_ORDER_OUTSOURCING) @GetMapping(FULL_ORDER_OUTSOURCING)
R<String> fullOrderOutsourcing(@RequestParam("v_prtno") String v_prtno, @RequestParam("v_prtlotno") String v_prtlotno, @RequestParam("v_splcode") String v_splcode, R<String> 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_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("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(value = "v_pricetype", required = false) String v_pricetype);
/** /**
@ -103,9 +104,12 @@ public interface IErpDataOemClient {
*/ */
@GetMapping(COLLABORATIVE_OUTSOURCING) @GetMapping(COLLABORATIVE_OUTSOURCING)
R<String> collaborativeOutsourcing(@RequestParam("v_prtno") String v_prtno, @RequestParam("v_prtlotno") String v_prtlotno, @RequestParam("v_woreqdat") String v_woreqdat, R<String> 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_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_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_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_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_craft_id") Long v_craft_id);
@GetMapping(QUERY_OEM_AND_CAID)
R<String> queryOemAndCaid(@RequestParam(value = "v_usedept", required = false) String ocCode, @RequestParam("v_prtno") String prodIdent);
} }

@ -46,4 +46,9 @@ public class IErpDataOemClientFallback implements IErpDataOemClient {
return R.fail("整单外协订单接收 失败"); return R.fail("整单外协订单接收 失败");
} }
@Override
public R<String> queryOemAndCaid(String ocCode, String prodIdent) {
return R.fail("查询OEM和CAID 失败");
}
} }

@ -10,6 +10,7 @@ import org.springblade.core.tool.utils.Func;
import org.springblade.desk.order.mapper.YieldOrderAssignSteerMapper; import org.springblade.desk.order.mapper.YieldOrderAssignSteerMapper;
import org.springblade.desk.order.pojo.entity.YieldOrderAssignSteer; import org.springblade.desk.order.pojo.entity.YieldOrderAssignSteer;
import org.springblade.desk.order.service.IYieldOrderAssignSteerService; import org.springblade.desk.order.service.IYieldOrderAssignSteerService;
import org.springblade.erpdata.feign.IErpDataOemClient;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -23,6 +24,7 @@ import java.util.List;
@Service @Service
public class YieldOrderAssignSteerImpl extends BaseServiceImpl<YieldOrderAssignSteerMapper, YieldOrderAssignSteer> implements IYieldOrderAssignSteerService { public class YieldOrderAssignSteerImpl extends BaseServiceImpl<YieldOrderAssignSteerMapper, YieldOrderAssignSteer> implements IYieldOrderAssignSteerService {
private final IErpDataOemClient erpDataOemClient;
@Override @Override
public YieldOrderAssignSteer findByOcIdLstAndCaId(List<Long> ocIdLst, Long oemCaId, String partCode) { public YieldOrderAssignSteer findByOcIdLstAndCaId(List<Long> ocIdLst, Long oemCaId, String partCode) {
@ -56,22 +58,10 @@ public class YieldOrderAssignSteerImpl extends BaseServiceImpl<YieldOrderAssignS
if (StringUtils.isBlank(ocCode) || StringUtils.isBlank(prodIdent)) { if (StringUtils.isBlank(ocCode) || StringUtils.isBlank(prodIdent)) {
return false; return false;
} }
String result = erpDataOemClient.queryOemAndCaid(ocCode, prodIdent).getData();
//TODO 调用ERP存储过程 if ("1".equals(result)) {
// ProcedureCall pc = this.getSession().createStoredProcedureCall("dba_mgr.pro_wxprtlotno@erp_mes_link"); return true;
// // 设置输入参数 }
// pc.registerParameter("v_splycode", String.class, ParameterMode.IN).bindValue(ocCode);
// pc.registerParameter("v_prtlotno", String.class, ParameterMode.IN).bindValue(prodIdent);
// // 设置输出参数
// pc.registerParameter("v_excnote", String.class, ParameterMode.OUT);
// pc.registerParameter("v_excflag", String.class, ParameterMode.OUT);
// // 获取输出参数的值
// String v_excnote = pc.getOutputs().getOutputParameterValue("v_excnote").toString();
// String v_excflag = pc.getOutputs().getOutputParameterValue("v_excflag").toString();
// if ("1".equals(v_excflag)) {
// return true;
// }
return false; return false;
} }
} }

@ -82,4 +82,9 @@ public class ErpDataOemClientImpl implements IErpDataOemClient {
Date woreqdat = DateUtil.parse(v_woreqdat, "yyyy-MM-dd HH:mm:ss"); Date woreqdat = DateUtil.parse(v_woreqdat, "yyyy-MM-dd HH:mm:ss");
return R.data(erpDataOemService.collaborativeOutsourcing(v_prtno, v_prtlotno, woreqdat, v_woporqty, v_usedeptcode, v_usedept, v_splcode, v_splycode, v_kdofplat, v_wono, v_sono, v_mtnman, v_planner, v_yardman, v_roam_no, v_craft_no, v_craft_id)); return R.data(erpDataOemService.collaborativeOutsourcing(v_prtno, v_prtlotno, woreqdat, v_woporqty, v_usedeptcode, v_usedept, v_splcode, v_splycode, v_kdofplat, v_wono, v_sono, v_mtnman, v_planner, v_yardman, v_roam_no, v_craft_no, v_craft_id));
} }
@Override
public R<String> queryOemAndCaid(String ocCode, String prodIdent) {
return R.data(erpDataOemService.queryOemAndCaid(ocCode, prodIdent));
}
} }

@ -73,4 +73,6 @@ public interface IErpDataOemService {
* @param v_craft_id 零件工艺ID * @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 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);
} }

@ -186,6 +186,34 @@ public class ErpDataOemServiceImpl implements IErpDataOemService {
return oldWono; 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<String, Object> inParams = new HashMap<>();
inParams.put("v_splycode", ocCode);
inParams.put("v_prtlotno", prodIdent);
// 3. 执行并获取结果 Map
Map<String, Object> resultMap = jdbcCall.execute(inParams);
// 4. 提取输出参数
String excflag = (String) resultMap.get("v_excflag");
String excnote = (String) resultMap.get("v_excnote");
return excflag;
}
/** /**
* 将ResultSet转换为List<Map>的通用方法 * 将ResultSet转换为List<Map>的通用方法
*/ */

Loading…
Cancel
Save