From 658141dd2f6ea08bff904d7dfd987a696ece94fe Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 19 三月 2026 09:30:37 +0800
Subject: [PATCH] lsh#
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 63 +++++++++++++++++++++++--------
1 files changed, 47 insertions(+), 16 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index 845766e..68ce40f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -218,7 +218,7 @@
mat.setCode(matnr.getMatnr()).setName(matnr.getMaktx());
if (!Objects.isNull(matnr.getGroupName())) {
MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnr.getGroupName()).last("limit 1"), false);
- if (Objects.isNull(matnrGroup)) {
+ if (!Objects.isNull(matnrGroup)) {
mat.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId());
}
}
@@ -388,20 +388,36 @@
companyParams.forEach(param -> {
Companys companys = new Companys();
BeanUtils.copyProperties(param, companys);
- if (Objects.isNull(companys.getCode())) {
+ if (Objects.isNull(companys.getCode()) || StringUtils.isBlank(companys.getCode())) {
throw new CoolException("浼佷笟缂栫爜涓嶈兘涓虹┖锛侊紒");
}
- Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getName, param.getName()).last("limit 1"));
- if (Objects.isNull(one)) {
- String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_COMPANYS_CODE, null);
- companys.setCode(ruleCode);
- } else {
- throw new CoolException(one.getName() + "锛屼紒涓氬悕閲嶅锛侊紒");
+ if (Objects.isNull(companys.getName()) || StringUtils.isBlank(companys.getName())) {
+ throw new CoolException("浼佷笟鍚嶇О涓嶈兘涓虹┖锛侊紒");
}
- companys.setType(CompanysType.getCustomVal(param.getType()))
- .setId(null);
- if (!companysService.save(companys)) {
- throw new CoolException("浼佷笟淇濆瓨澶辫触锛侊紒");
+
+ // 骞傜瓑鍚屾锛氫紭鍏堟寜缂栫爜鍖归厤锛屾壘涓嶅埌鍐嶆寜鍚嶇О鍖归厤
+ Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>()
+ .eq(Companys::getCode, param.getCode())
+ .last("limit 1"));
+ if (Objects.isNull(one)) {
+ one = companysService.getOne(new LambdaQueryWrapper<Companys>()
+ .eq(Companys::getName, param.getName())
+ .last("limit 1"));
+ }
+
+ companys.setType(CompanysType.getCustomVal(param.getType()));
+ if (!Objects.isNull(one)) {
+ companys.setId(one.getId());
+ // 宸插瓨鍦ㄥ垯鏇存柊锛屼笉閲嶅鎶ラ敊
+ if (!companysService.saveOrUpdate(companys)) {
+ throw new CoolException("浼佷笟鏇存柊澶辫触锛侊紒");
+ }
+ } else {
+ companys.setId(null);
+ // 鏂板鏃朵繚鐣橢RP浼犲叆缂栫爜锛屼笉鍐嶈鐩栫敓鎴�
+ if (!companysService.save(companys)) {
+ throw new CoolException("浼佷笟淇濆瓨澶辫触锛侊紒");
+ }
}
});
return R.ok();
@@ -553,19 +569,22 @@
// 绔嬪嵆瑙﹀彂寮傛浠诲姟锛屼笉绛夊緟缁撴灉
if (!Cools.isEmpty(palletId.get()) && StringUtils.isNotBlank(syncOrder.getOrderNo()) && !Cools.isEmpty(syncOrder.getStationId())) {
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, palletId.get()));
- if (!Cools.isEmpty(loc)) {
+ if (!Cools.isEmpty(loc) && loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) {
// outStockService.getOrderOutTaskItem(orderOutTaskParam,param.getOrderItemId());
//鍑哄簱
// boolean itemsCheck = waitPakinService.mergeItemsCheck(pakinParam, loginUserId);
// if (true) {
CompletableFuture.runAsync(() -> {
try {
- asyncOutboundExecutionWcs(syncOrder.getStationId(), wkOrder.getId(), loginUserId);
+ asyncOutboundExecutionWcs(syncOrder.getStationId(), wkOrder.getId(), loginUserId,loc.getCode());
} catch (Exception e) {
log.warn("璁㈠崟 {} 寮�濮嬭嚜鍔ㄥ嚭搴�", syncOrder.getOrderNo());
}
});
// }
+ } else {
+ log.warn("璁㈠崟 {} 鑷姩鍑哄簱澶辫触锛侊紒鏈煡璇㈠埌鎸囧畾搴撳瓨锛侊紒", syncOrder.getOrderNo());
+ throw new CoolException("鑷姩鍑哄簱澶辫触锛侊紒鏈煡璇㈠埌鎸囧畾搴撳瓨锛侊紒");
}
}
}
@@ -609,8 +628,19 @@
}
@Async
- public void asyncOutboundExecutionWcs(String stationId ,Long orderId, Long loginUserId) {
+ public void asyncOutboundExecutionWcs(String stationId ,Long orderId, Long loginUserId,String locCode) {
try {
+ int i = 0;
+ while (true) {
+ i++;
+ if (i > 5) return;
+ Thread.sleep(3000);
+ WkOrder byId = asnOrderService.getById(orderId);
+ if (Cools.isEmpty(byId)) {
+ continue;
+ }
+ break;
+ }
GenWaveParams genWaveParams = new GenWaveParams();
List<Long> ids = new ArrayList<>();
@@ -639,7 +669,7 @@
// return;
// }
// outStockService.genOutStockTask(tasks, loginUserId, orderId);
- outStockService.generateWaves(genWaveParams);
+ R r = outStockService.generateWavesOrderAuto(genWaveParams, stationId,locCode);
log.info("璁㈠崟ID {} 鑷姩杞尝娆�", orderId);
} catch (Exception e) {
@@ -1476,3 +1506,4 @@
}
}
}
+
--
Gitblit v1.9.1