From 1cdc5d243fa3bcd24fda73bd09473deb88e6e21c Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 28 十月 2025 11:07:26 +0800
Subject: [PATCH] ERP单据下发功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 70 ++++++++++++++++++++++++++++++-----
1 files changed, 60 insertions(+), 10 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 9c8c055..21cd108 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
@@ -277,7 +277,7 @@
/**
* @author Ryan
* @date 2025/8/18
- * @description: 鐗╂枡淇℃伅鍚屾
+ * @description: 鐗╂枡鍒嗙粍淇℃伅鍚屾
* @version 1.0
*/
@Override
@@ -396,7 +396,7 @@
syncOrders.forEach(syncOrder -> {
WkOrder wkOrder = new WkOrder();
DictData one = dictDataService.getOne(new LambdaQueryWrapper<DictData>().eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_BUSINESS_TYPE)
- .eq(DictData::getLabel, syncOrder.getWkType()), false);
+ .eq(DictData::getValue, syncOrder.getWkType()), false);
if (Objects.isNull(one)) {
throw new CoolException("鍗曟嵁锛�" + syncOrder.getOrderNo() + ", 涓氬姟绫诲瀷涓嶅瓨鍦紒锛�");
}
@@ -421,9 +421,11 @@
String ruleCode = SerialRuleUtils.generateRuleCode(rule, null);
wkOrder.setType(syncOrder.getType())
- .setWkType(OrderWorkType.getWorkType(syncOrder.getWkType()))
+ .setWkType(one.getValue())
.setAnfme(syncOrder.getAnfme())
.setPoCode(syncOrder.getOrderNo())
+ .setWorkQty(0.0)
+ .setQty(0.0)
.setPoId(syncOrder.getOrderId())
.setCode(ruleCode)
.setArrTime(syncOrder.getArrTime())
@@ -436,12 +438,13 @@
throw new CoolException("鍗曟嵁淇濆瓨澶辫触锛侊紒");
}
- syncOrder.getOrdersItems().forEach(orderItem -> {
+ syncOrder.getOrderItems().forEach(orderItem -> {
Map<String, Object> map = new ObjectMapper().convertValue(orderItem, Map.class);
map.put("orderId", wkOrder.getId());
map.put("poId", wkOrder.getPoId());
map.put("poCode", wkOrder.getPoCode());
map.put("order_code", wkOrder.getCode());
+ map.put("matnrCode", orderItem.getMatnr());
if (!asnOrderItemService.fieldsSave(map, loginUserId)) {
throw new CoolException("鏄庣粏淇濆瓨澶辫触锛侊紒");
@@ -576,7 +579,7 @@
revise.getItems().forEach(reviseItem -> {
ReviseLogItem logItem = new ReviseLogItem();
BeanUtils.copyProperties(reviseItem, logItem);
- Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, reviseItem.getMatnrCode()));
+ Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, reviseItem.getMatnr()));
if (Objects.isNull(matnr)) {
throw new CoolException("鐗╂枡涓嶅瓨鍦紒锛�");
}
@@ -619,15 +622,15 @@
if (Objects.isNull(wkOrder)) {
throw new CoolException("璇风‘璁ゅ崟鎹細" + order.getOrderNo() + "鏄惁宸茬粡鎵ц鎴栨槸鍚﹀悓姝ワ紒锛�");
}
- order.getOrdersItems().forEach(orderItem -> {
+ order.getOrderItems().forEach(orderItem -> {
WkOrderItem wkOrderItem = asnOrderItemService.getOne(new LambdaUpdateWrapper<WkOrderItem>()
- .eq(WkOrderItem::getMatnrCode, orderItem.getMatnrCode())
+ .eq(WkOrderItem::getMatnrCode, orderItem.getMatnr())
.eq(StringUtils.isNotEmpty(orderItem.getBatch()), WkOrderItem::getSplrBatch, orderItem.getBatch())
.eq(WkOrderItem::getOrderCode, wkOrder.getCode()));
if (!Objects.isNull(wkOrderItem)) {
if (!asnOrderItemService.update(new LambdaUpdateWrapper<WkOrderItem>()
.eq(WkOrderItem::getOrderCode, wkOrder.getCode())
- .eq(WkOrderItem::getMatnrCode, orderItem.getMatnrCode())
+ .eq(WkOrderItem::getMatnrCode, orderItem.getMatnr())
.eq(StringUtils.isNotEmpty(orderItem.getBatch()), WkOrderItem::getSplrBatch, orderItem.getBatch())
.eq(StringUtils.isNotEmpty(orderItem.getPlatItemId()), WkOrderItem::getPlatItemId, orderItem.getPlatItemId())
.set(WkOrderItem::getAnfme, orderItem.getAnfme()))) {
@@ -669,9 +672,9 @@
if (Objects.isNull(wkOrder)) {
throw new CoolException("璁㈠崟锛�" + wkOrder.getCode() + "锛屽綋鍓嶇姸鎬侊紝涓嶅彲鎵ц鍒犻櫎鎿嶄綔锛侊紒");
}
- order.getOrdersItems().forEach(orderItem -> {
+ order.getOrderItems().forEach(orderItem -> {
if (!asnOrderItemService.remove(new LambdaQueryWrapper<WkOrderItem>()
- .eq(WkOrderItem::getMatnrCode, orderItem.getMatnrCode())
+ .eq(WkOrderItem::getMatnrCode, orderItem.getMatnr())
.eq(StringUtils.isNotEmpty(orderItem.getBatch()), WkOrderItem::getSplrBatch, orderItem.getBatch())
.eq(StringUtils.isNotEmpty(orderItem.getPlatItemId()), WkOrderItem::getPlatItemId, orderItem.getPlatItemId())
.eq(WkOrderItem::getOrderCode, wkOrder.getCode()))) {
@@ -744,4 +747,51 @@
return R.ok().add(dtos);
}
+
+ /**
+ * 鍩虹鐗╂枡淇℃伅鍙樻洿
+ * @param baseMatParms
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R matUpdate(BaseMatParms baseMatParms) {
+ if (StringUtils.isBlank(baseMatParms.getMatnr())) {
+ throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛侊紒");
+ }
+ Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, baseMatParms.getMatnr()));
+ if (Objects.isNull(matnr)) {
+ BeanUtils.copyProperties(baseMatParms, matnr);
+ matnr.setCode(baseMatParms.getMatnr());
+ matnr.setName(baseMatParms.getMaktx());
+ if (!Objects.isNull(baseMatParms.getGroupName())) {
+ MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>()
+ .eq(MatnrGroup::getName, baseMatParms.getGroupName()));
+ if (Objects.isNull(matnrGroup)) {
+ matnr.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId());
+ }
+ }
+ if (!matnrService.save(matnr)) {
+ throw new CoolException("鐗╂枡鏂板澶辫触锛侊紒");
+ }
+ } else {
+ if (!Objects.isNull(baseMatParms.getGroupName())) {
+ MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>()
+ .eq(MatnrGroup::getName, baseMatParms.getGroupName()));
+ if (!Objects.isNull(matnrGroup)) {
+ matnr.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId());
+ }
+ }
+ matnr.setName(baseMatParms.getMaktx())
+ .setColor(baseMatParms.getColor())
+ .setModel(baseMatParms.getModel())
+ .setSpec(baseMatParms.getSpec());
+
+ if (!matnrService.updateById(matnr)) {
+ throw new CoolException("鐗╂枡鏇存柊澶辫触锛侊紒");
+ }
+ }
+
+ return R.ok();
+ }
}
--
Gitblit v1.9.1