diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StExpireSubmissionMapper.xml b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StExpireSubmissionMapper.xml
index 2b20d6a8..998660bc 100644
--- a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StExpireSubmissionMapper.xml
+++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StExpireSubmissionMapper.xml
@@ -25,7 +25,12 @@
diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java
index 2df3982e..f68df69a 100644
--- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java
+++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StBuyOrderServiceImpl.java
@@ -26,6 +26,7 @@ import org.springblade.wms.pojo.entity.StGoods;
import org.springblade.wms.pojo.vo.StBuyOrderVO;
import org.springblade.wms.service.IStBuyOrderService;
import org.springblade.wms.service.IStGoodsService;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -46,6 +47,7 @@ public class StBuyOrderServiceImpl extends BaseServiceImpl partRelationEntityList = partClient.getSubPart(partOne.getId());
List glassCakePartList = new ArrayList<>();
diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StHttpRequestService.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StHttpRequestService.java
index 4ba371eb..2154b610 100644
--- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StHttpRequestService.java
+++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StHttpRequestService.java
@@ -8,8 +8,10 @@ import okhttp3.*;
import org.springblade.wms.pojo.dto.ErpStPurOtherDTO;
import org.springblade.wms.pojo.dto.StPdmPartDTO;
import org.springblade.wms.pojo.dto.StPdmPartResponseDTO;
+import org.springblade.wms.service.IStBuyOrderService;
import org.springblade.wms.service.ISyDockingLogService;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.io.IOException;
@@ -41,8 +43,9 @@ public class StHttpRequestService {
@Resource
private ISyDockingLogService syDockingLogService;
- // @Resource
-// private IStBuyOrderService stBuyOrderService;
+ @Resource
+ @Lazy
+ private IStBuyOrderService stBuyOrderService;
// private final ISyDockingLogService syDockingLogService;
//
// private final IStBuyOrderService stBuyOrderService;
@@ -215,7 +218,7 @@ public class StHttpRequestService {
// 4. 处理响应结果(和原逻辑一致)
if (result != null && "200".equals(result.getString("retCode"))) {
// 成功:更新额外单号
-// stBuyOrderService.httpUpdateBo(erpStPurOtherDto.getBoId(), result.getString("responseBody"));
+ stBuyOrderService.httpUpdateBo(erpStPurOtherDto.getBoId(), result.getString("responseBody"));
} else {
// 失败:记录日志并跳过
String errorDesc = result != null ? result.getString("errorDesc") : "未知错误";
diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StLendServiceImpl.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StLendServiceImpl.java
index 6f5d6765..bcfc611d 100644
--- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StLendServiceImpl.java
+++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StLendServiceImpl.java
@@ -85,7 +85,7 @@ public class StLendServiceImpl extends BaseServiceImpl imp
}
// 统一赋值公共属性
stLend.setDeptId(user.getDeptId());
- stLend.setLeMan(user.getUserId()); // 经手人也赋值为当前登录用户
+ stLend.setLeMan(stLend.getLeMan());
stLend.setMemo(stLend.getMemo());
}
@@ -104,7 +104,6 @@ public class StLendServiceImpl extends BaseServiceImpl imp
return batchFlag;
}
- // ========== 完全复用你的【物料借出核心方法】lendInterface 只改 PfUserInfo → BladeUser,逻辑一行不变 ==========
private void lendInterface(Long leId, BladeUser user) throws Exception {
List storeBillList = new ArrayList<>();
StLend stLend = this.getById(leId);
diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StOtherReceiptRecordServiceImpl.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StOtherReceiptRecordServiceImpl.java
index d3b786e4..8fbc6dfa 100644
--- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StOtherReceiptRecordServiceImpl.java
+++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StOtherReceiptRecordServiceImpl.java
@@ -292,9 +292,24 @@ public class StOtherReceiptRecordServiceImpl extends BaseServiceImpl list = baseMapper.selectByWoCode(woCode);
WorkOrder workOrder = baseMapper.getByWoCode(woCode);
- YieldOrder yieldOrder = baseMapper.getByYoId(workOrder.getYoId());
+ if (workOrder == null) {
+ throw new RuntimeException("根据工单编号【" + woCode + "】未查询到工单信息");
+ }
+
+ Long yoId = workOrder.getYoId();
+ if (yoId == null) {
+ throw new RuntimeException("工单【" + woCode + "】未查到生产订单ID");
+ }
+
+ YieldOrder yieldOrder = baseMapper.getByYoId(yoId);
+ if (yieldOrder == null) {
+ throw new RuntimeException("根据生产订单ID【" + yoId + "】未查询到生产订单信息");
+ }
DsPartEntity partOne = partClient.getPart(workOrder.getPartCode(),yieldOrder.getPartVersion());
+ if (partOne == null) {
+ throw new RuntimeException("根据零件编号【" + workOrder.getPartCode() + "】未查询到零件信息");
+ }
List partRelationEntityList = partClient.getSubPart(partOne.getId());
List glassCakePartList = new ArrayList<>();