仓库管理发送erp增加

liweidong
wusiyu 1 day ago
parent 87a53cd5fd
commit b3fb196506
  1. 6
      blade-service-api/blade-erpdata-api/pom.xml
  2. 53
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClient.java
  3. 36
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClientFallback.java
  4. 6
      blade-service/blade-erpdata/pom.xml
  5. 51
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataWmsClient.java
  6. 26
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataWmsService.java
  7. 211
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataWmsServiceImpl.java
  8. 6
      blade-service/blade-wms/pom.xml
  9. 2
      blade-service/blade-wms/src/main/java/org/springblade/wms/controller/StMoldApplyForController.java
  10. 1
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStMoldApplyForService.java
  11. 12
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StExpireSubmissionServiceImpl.java
  12. 46
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StMoldApplyForServiceImpl.java
  13. 16
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StWmsRequestServiceImpl.java

@ -26,6 +26,12 @@
<groupId>org.springblade</groupId>
<artifactId>blade-desk-api</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-wms-api</artifactId>
<version>4.6.0.RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

@ -0,0 +1,53 @@
package org.springblade.erpdata.feign;
import org.springblade.common.constant.LauncherConstant;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.tool.api.R;
import org.springblade.wms.pojo.entity.StRealtimeStock;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Date;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IErpDataWmsClient
* @description:
* @autor: WuSiYu
* @create 2026-04-28 11:32
**/
@FeignClient(
value = LauncherConstant.APPLICATION_ERP_DATA_NAME
)
public interface IErpDataWmsClient {
String API_PREFIX = "/feign/erpdata/wms";
String SEND_ST_SUBMISSION = API_PREFIX + "/sendStSubmission";
String SEND_ERP_BUY_REQUEST = API_PREFIX + "/sendErpBuyRequest";
String CREATE_MOLD_PLAN = API_PREFIX + "/createMoldPlan";
/**
* 到期送检发送erp
*/
@GetMapping(SEND_ST_SUBMISSION)
R<String> sendStSubmission(@RequestParam("stRealtimeStock")StRealtimeStock stRealtimeStock, @RequestParam("goodsCode")String goodsCode, @RequestParam("userName")String userName) throws BusinessException;
/**
* 仓库提请发送erp
*/
@GetMapping(SEND_ERP_BUY_REQUEST)
R<String> sendErpBuyRequest(@RequestParam("extraBill")String extraBill, @RequestParam("qty")Double qty, @RequestParam("ldapName")String ldapName) throws BusinessException;
/**
* 工装计划申报发送erp
*/
@GetMapping(CREATE_MOLD_PLAN)
R<String> createMoldPlan(@RequestParam("partCode")String partCode, @RequestParam("moCode")String moCode, @RequestParam("plantype")String plantype, @RequestParam("quantity")Double quantity,
@RequestParam("needDate")Date needDate, @RequestParam("level")String level, @RequestParam("keeper")String keeper, @RequestParam("createMan")String createMan,
@RequestParam("memo")String memo, @RequestParam("urgentType")String urgentType, @RequestParam("erpWoCode")String erpWoCode) throws BusinessException;
}

@ -0,0 +1,36 @@
package org.springblade.erpdata.feign;
import org.springblade.core.tool.api.R;
import org.springblade.wms.pojo.entity.StRealtimeStock;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Date;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IErpDataWmsClientFallback
* @description:
* @autor: WuSiYu
* @create 2026-04-28 14:18
**/
@Component
public class IErpDataWmsClientFallback implements IErpDataWmsClient{
@Override
public R<String> sendStSubmission(@RequestParam("stRealtimeStock") StRealtimeStock stRealtimeStock, @RequestParam("goodsCode")String goodsCode, @RequestParam("userName")String userName) {
return R.fail("获取数据失败");
}
@Override
public R<String> sendErpBuyRequest(@RequestParam("extraBill")String extraBill, @RequestParam("qty")Double qty, @RequestParam("ldapName")String ldapName) {
return R.fail("获取数据失败");
}
@Override
public R<String> createMoldPlan(@RequestParam("partCode")String partCode, @RequestParam("moCode")String moCode, @RequestParam("plantype")String plantype, @RequestParam("quantity")Double quantity,
@RequestParam("needDate") Date needDate, @RequestParam("level")String level, @RequestParam("keeper")String keeper, @RequestParam("createMan")String createMan,
@RequestParam("memo")String memo, @RequestParam("urgentType")String urgentType, @RequestParam("erpWoCode")String erpWoCode) {
return R.fail("获取数据失败");
}
}

@ -48,6 +48,12 @@
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-wms-api</artifactId>
<version>4.6.0.RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

@ -0,0 +1,51 @@
package org.springblade.erpdata.feign;
import io.swagger.v3.oas.annotations.Hidden;
import lombok.AllArgsConstructor;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.erpdata.service.IErpDataWmsService;
import org.springblade.wms.pojo.entity.StRealtimeStock;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName ErpDataWmsClient
* @description:
* @autor: WuSiYu
* @create 2026-04-28 11:30
**/
@NonDS
@Hidden
@RestController
@AllArgsConstructor
public class ErpDataWmsClient implements IErpDataWmsClient{
private final IErpDataWmsService erpDataWmsService;
@Override
public R<String> sendStSubmission(StRealtimeStock stRealtimeStock, String goodsCode, String userName) throws BusinessException {
return R.data(erpDataWmsService.sendStSubmission(stRealtimeStock, goodsCode, userName));
}
@Override
public R<String> sendErpBuyRequest(String extraBill, Double qty, String ldapName) throws BusinessException {
return R.data(erpDataWmsService.sendErpBuyRequest(extraBill, qty, ldapName));
}
@Override
public R<String> createMoldPlan(String partCode, String moCode, String plantype, Double quantity, Date needDate, String level,
String keeper, String createMan, String memo, String urgentType, String erpWoCode) throws BusinessException {
return R.data(erpDataWmsService.createMoldPlan(partCode, moCode, plantype, quantity, needDate, level,
keeper, createMan, memo, urgentType, erpWoCode));
}
// @Override
// public R<Void> deleteMoldPlan(String erpWoCode) throws BusinessException{
// erpDataWmsService.deleteMoldPlan(erpWoCode);
// return R.success("删除工装计划成功");
// }
}

@ -0,0 +1,26 @@
package org.springblade.erpdata.service;
import org.springblade.common.exception.BusinessException;
import org.springblade.wms.pojo.entity.StRealtimeStock;
import java.util.Date;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName IErpDataWmsService
* @description:
* @autor: WuSiYu
* @create 2026-04-28 11:24
**/
public interface IErpDataWmsService {
String sendStSubmission(StRealtimeStock stRealtimeStock, String goodsCode, String userName) throws BusinessException;
String sendErpBuyRequest(String extraBill, Double qty, String ldapName) throws BusinessException;
String createMoldPlan(String partCode, String moCode, String plantype, Double quantity, Date needDate, String level, String keeper, String createMan, String memo, String urgentType, String erpWoCode) throws BusinessException;
// void deleteMoldPlan(String erpWoCode) throws BusinessException;
}

@ -0,0 +1,211 @@
package org.springblade.erpdata.service.impl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.exception.BusinessException;
import org.springblade.erpdata.service.IErpDataWmsService;
import org.springblade.wms.pojo.entity.StRealtimeStock;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.SqlOutParameter;
import org.springframework.jdbc.core.SqlParameter;
import org.springframework.jdbc.core.simple.SimpleJdbcCall;
import org.springframework.stereotype.Service;
import java.sql.Types;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @version 1.0
* @program: jonhon-mes-svr
* @ClassName ErpDataWmsServiceImpl
* @description:
* @autor: WuSiYu
* @create 2026-04-28 11:23
**/
@Slf4j
@RequiredArgsConstructor
@Service
public class ErpDataWmsServiceImpl implements IErpDataWmsService {
private final JdbcTemplate jdbcTemplate;
@Override
public String sendStSubmission(StRealtimeStock stRealtimeStock, String goodsCode, String userName) throws BusinessException {
// 1. 创建存储过程调用
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate)
// 存储过程名 + DBLink
.withProcedureName("dba_mgr.pro_rbprtchk@erp_mes_link")
// 关闭元数据(DBLink必须加)
.withoutProcedureColumnMetaDataAccess()
// 声明参数:顺序必须和存储过程一致!
.declareParameters(
new SqlParameter("v_prtno", Types.VARCHAR), // IN 物料号
new SqlParameter("v_prtlotno", Types.VARCHAR), // IN 生产标识
new SqlParameter("v_barcode", Types.VARCHAR), // IN 库存条码值
new SqlParameter("v_invqty", Types.DOUBLE), // IN 库存数量
new SqlParameter("v_splycode", Types.VARCHAR), // IN 供方代码
new SqlParameter("v_qutno", Types.VARCHAR), // IN 检验编号
new SqlParameter("v_chkname", Types.VARCHAR), // IN 送检人员
new SqlOutParameter("v_excnote", Types.VARCHAR), // OUT 错误信息
new SqlOutParameter("v_excflag", Types.VARCHAR), // OUT 状态
new SqlOutParameter("v_prtchno", Types.VARCHAR) // OUT 送检单号
);
// 2. 封装输入参数
Map<String, Object> inParams = new HashMap<>();
inParams.put("v_prtno", goodsCode);
inParams.put("v_prtlotno", stRealtimeStock.getQuantityLevel());
inParams.put("v_barcode", stRealtimeStock.getBarCode());
inParams.put("v_invqty", stRealtimeStock.getQuantity());
inParams.put("v_splycode", StringUtils.isNotBlank(stRealtimeStock.getSplyCode()) ? stRealtimeStock.getSplyCode() : "");
inParams.put("v_qutno", stRealtimeStock.getCheckCode());
inParams.put("v_chkname", userName);
// 3. 执行存储过程
Map<String, Object> resultMap = jdbcCall.execute(inParams);
// 4. 获取输出参数
String excflag = (String) resultMap.get("v_excflag");
String excnote = (String) resultMap.get("v_excnote");
String wsCode = (String) resultMap.get("v_prtchno");
// 5. 业务判断
if ("0".equals(excflag)) {
throw new BusinessException("到期送检发送失败,请联系信息部!!! " + excnote);
}
return wsCode;
}
@Override
public String sendErpBuyRequest(String extraBill, Double qty, String ldapName) throws BusinessException{
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate)
// 指定存储过程名(包含 DB Link)
.withProcedureName("dba_mgr.pro_rbinvdeptreqmtn@erp_mes_link")
// 关闭元数据访问(DBLink 必须加)
.withoutProcedureColumnMetaDataAccess()
// 显式声明参数(顺序必须和存储过程一致)
.declareParameters(
new SqlParameter("v_wono", Types.VARCHAR), // IN
new SqlParameter("v_applyqty", Types.DOUBLE), // IN
new SqlParameter("v_mtnman", 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_wono", extraBill == null ? "" : extraBill);
inParams.put("v_applyqty", qty == null ? 0D : qty);
inParams.put("v_mtnman", ldapName == null ? "" : ldapName);
// 3. 执行并获取结果 Map
Map<String, Object> resultMap = jdbcCall.execute(inParams);
// 4. 提取输出参数
String excflag = (String) resultMap.get("v_excflag");
String excnote = (String) resultMap.get("v_excnote");
// 5. 业务判断
if ("0".equals(excflag)) {
throw new BusinessException("申报信息发送erp失败!" + excnote);
}
return excflag;
}
@Override
public String createMoldPlan(String partCode, String moCode, String plantype, Double quantity, Date needDate, String level,
String keeper, String createMan, String memo, String urgentType, String erpWoCode) throws BusinessException{
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate)
// 指定存储过程名(包含 DB Link)
.withProcedureName("dba_mgr.pro_rbtoolreqm@erp_mes_link")
// 关闭元数据访问(DBLink 必须加)
.withoutProcedureColumnMetaDataAccess()
// 显式声明参数(顺序必须和存储过程一致)
.declareParameters(
new SqlParameter("v_prtno", Types.VARCHAR),
new SqlParameter("v_toolcode", Types.VARCHAR),
new SqlParameter("v_plntype", Types.VARCHAR),
new SqlParameter("v_tlreqqty", Types.INTEGER),
new SqlParameter("v_tlreqdat", Types.DATE),
new SqlParameter("v_prtmdept", Types.VARCHAR),
new SqlParameter("v_prtlotno", Types.VARCHAR),
new SqlParameter("v_WARCTLR", Types.VARCHAR),
new SqlParameter("v_operator", Types.VARCHAR),
new SqlParameter("v_remark", Types.VARCHAR),
new SqlParameter("v_stat", Types.VARCHAR),
new SqlParameter("v_toolid1", Types.VARCHAR),
new SqlOutParameter("v_excnote", Types.VARCHAR),
new SqlOutParameter("v_excflag", Types.VARCHAR),
new SqlOutParameter("v_toolid", Types.VARCHAR)
);
// 2. 封装输入参数
Map<String, Object> inParams = new HashMap<>();
inParams.put("v_prtno", partCode);
inParams.put("v_toolcode", moCode);
inParams.put("v_plntype", plantype);
inParams.put("v_tlreqqty", quantity);
inParams.put("v_tlreqdat", needDate);
inParams.put("v_prtmdept", "3600");
inParams.put("v_prtlotno", level);
inParams.put("v_WARCTLR", keeper);
inParams.put("v_operator", createMan);
inParams.put("v_remark", StringUtils.isBlank(memo) ? "" : memo);
inParams.put("v_stat", urgentType);
inParams.put("v_toolid1", StringUtils.isNotBlank(erpWoCode) ? erpWoCode : "");
// 3. 执行并获取结果 Map
Map<String, Object> resultMap = jdbcCall.execute(inParams);
// 4. 提取输出参数
String excflag = (String) resultMap.get("v_excflag");
String excnote = (String) resultMap.get("v_excnote");
String wxno = (String) resultMap.get("v_toolid");
// 5. 业务判断
if ("0".equals(excflag)) {
throw new BusinessException("模具计划发送erp" + excnote);
}
return wxno;
}
// @Override
// public void deleteMoldPlan(String erpWoCode) throws BusinessException {
// SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate)
// // 指定存储过程名(包含 DB Link)
// .withProcedureName("dba_mgr.pro_rbtooldel@erp_mes_link")
// // 关闭元数据访问(DBLink 必须加)
// .withoutProcedureColumnMetaDataAccess()
// // 显式声明参数
// .declareParameters(
// new SqlParameter("v_toolid", 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_toolid", erpWoCode);
//
// // 3. 执行并获取结果 Map
// Map<String, Object> resultMap = jdbcCall.execute(inParams);
//
// // 4. 提取输出参数
// String excflag = (String) resultMap.get("v_excflag");
// String excnote = (String) resultMap.get("v_excnote");
//
// // 5. 业务判断
// if ("0".equals(excflag)) {
// throw new BusinessException("删除工装计划失败" + excnote);
// }
// }
}

@ -89,6 +89,12 @@
<version>1.5-beta1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-erpdata-api</artifactId>
<version>4.6.0.RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

@ -134,7 +134,7 @@ public class StMoldApplyForController extends BladeController {
@ApiLog("工装计划申请表 删除")
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(stMoldApplyForService.deleteLogic(Func.toLongList(ids)));
return R.status(stMoldApplyForService.delete(Func.toLongList(ids)));
}

@ -40,5 +40,6 @@ public interface IStMoldApplyForService extends BaseService<StMoldApplyFor> {
void addOrEditProcess(List<StMoldApplyFor> list, List<Long> deleteIds, BladeUser user);
boolean delete(List<Long> deleteIds);
}

@ -4,8 +4,10 @@ import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.annotation.Resource;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.erpdata.feign.IErpDataWmsClient;
import org.springblade.wms.excel.StExpireSubmissionExcel;
import org.springblade.wms.mapper.StExpireSubmissionMapper;
import org.springblade.wms.pojo.entity.StExpireSubmission;
@ -37,6 +39,8 @@ public class StExpireSubmissionServiceImpl extends BaseServiceImpl<StExpireSubmi
IStRealtimeStockService stRealtimeStockService;
@Resource
IStGoodsService stGoodsService;
@Resource
IErpDataWmsClient erpDataWmsClient;
@Override
@ -60,8 +64,12 @@ public class StExpireSubmissionServiceImpl extends BaseServiceImpl<StExpireSubmi
String userName = user.getNickName();
// 调 ERP 接口
String esCode = baseMapper.sendStSubmission(stock, goodsCode, userName);
e.setEsCode(esCode);
try {
String esCode = erpDataWmsClient.sendStSubmission(stock, goodsCode, userName).getData();
e.setEsCode(esCode);
} catch (BusinessException ex) {
throw new RuntimeException("到期送检发送失败: " + ex.getMessage());
}
e.setEsMan(user.getUserId());
e.setEsTime(new Date());

@ -4,8 +4,14 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.annotation.Resource;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.erpdata.feign.IErpDataWmsClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springblade.wms.excel.StMoldApplyForExcel;
import org.springblade.wms.mapper.StMoldApplyForMapper;
import org.springblade.wms.pojo.entity.StMoldApplyFor;
@ -28,6 +34,10 @@ import java.util.List;
@Service
public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMapper, StMoldApplyFor> implements IStMoldApplyForService {
@Resource
IUserClient userClient;
@Resource
IErpDataWmsClient erpDataWmsClient;
@Override
public IPage<StMoldApplyForVO> selectStMoldApplyForPage(IPage<StMoldApplyForVO> page, StMoldApplyForVO stMoldApplyFor) {
@ -45,13 +55,20 @@ public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMap
plan.setCreateUser(user.getUserId());
plan.setCreateTime(new Date());
R<User> ruser = userClient.userInfoById(plan.getKeeper());
User keeper = ruser.getData();
String erpWoCode = null;
// 1. 调 ERP
String erpWoCode = baseMapper.createMoldPlan(
plan.getPartCode(), plan.getMoCode(), plan.getPlanType(),
plan.getQuantity(), plan.getNeedDate(), plan.getQuaLevel(),
plan.getKeeper(), user.getUserId(),
StrUtil.blankToDefault(plan.getMemo(), ""),
plan.getUrgentType(), StrUtil.nullToEmpty(plan.getErpWoCode()));
try {
erpWoCode = erpDataWmsClient.createMoldPlan(
plan.getPartCode(), plan.getMoCode(), plan.getPlanType(),
plan.getQuantity(), plan.getNeedDate(), plan.getQuaLevel(),
keeper.getAccount(), user.getAccount(),
StrUtil.blankToDefault(plan.getMemo(), ""),
plan.getUrgentType(), StrUtil.nullToEmpty(plan.getErpWoCode())).getData();
} catch (BusinessException e) {
throw new RuntimeException("创建模具计划失败:" + e.getMessage());
}
// 2. 本地落库
if (plan.getId() != null) { // 修改
@ -80,6 +97,23 @@ public class StMoldApplyForServiceImpl extends BaseServiceImpl<StMoldApplyForMap
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean delete(List<Long> deleteIds){
if (CollUtil.isNotEmpty(deleteIds)) {
for (Long id : deleteIds) {
StMoldApplyFor plan = this.getById(id);
if (plan == null) continue;
if (!StMoldApplyFor.MAF_STATUS_OK.equals(plan.getMafStatus())) {
baseMapper.deleteMoldPlan(plan.getErpWoCode());
plan.setMafStatus(StMoldApplyFor.MAF_STATUS_ERP_DEL);
this.updateById(plan);
}
}
this.deleteLogic(deleteIds);
}
return true;
}
@Override
public List<StMoldApplyForExcel> exportStMoldApplyFor(Wrapper<StMoldApplyFor> queryWrapper) {

@ -5,12 +5,14 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.annotation.Resource;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.desk.common.feign.IMesApprovalRecordClient;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springblade.erpdata.feign.IErpDataWmsClient;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
@ -46,6 +48,8 @@ public class StWmsRequestServiceImpl extends BaseServiceImpl<StWmsRequestMapper,
IUserClient userClient;
@Resource
ISysClient sysClient;
@Resource
IErpDataWmsClient erpDataWmsClient;
@Override
public IPage<StWmsRequestVO> selectStWmsRequestPage(IPage<StWmsRequestVO> page, StWmsRequestVO stWmsRequest) {
@ -192,10 +196,14 @@ public class StWmsRequestServiceImpl extends BaseServiceImpl<StWmsRequestMapper,
StBuyOrder stBuyOrder = stBuyOrderService.getById(request.getBoId());
R<User> ruser = userClient.userInfoById(request.getCreateUser());
User user = ruser.getData();
this.sendErpBuyRequest(
stBuyOrder.getExtraBill(),
request.getRequestQty(),
user.getAccount());
try {
erpDataWmsClient.sendErpBuyRequest(
stBuyOrder.getExtraBill(),
request.getRequestQty(),
user.getAccount());
} catch (BusinessException e) {
throw new RuntimeException("仓库提请发送ERP失败:" + e.getMessage());
}
}
}

Loading…
Cancel
Save