From b360cb8bbd470a78fca1f576536b5e09ca5e9d43 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期二, 10 三月 2026 11:34:12 +0800
Subject: [PATCH] bug修复
---
rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java | 3 +
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java | 46 +++++++++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderLog.java | 1
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 2
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java | 2
rsf-admin/src/i18n/zh.js | 6 +++
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java | 6 +++
rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx | 2
8 files changed, 64 insertions(+), 4 deletions(-)
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 76d166f..140789d 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -5,7 +5,12 @@
hello: '浣犲ソ涓栫晫',
resources: {
config: { name: '閰嶇疆鍙傛暟' },
+ asnOrderItem: { name: '鏀惰揣鏄庣粏' },
+ outStockItem: { name: '鍑哄簱鍗曟槑缁�' },
},
+ // 鎵佸钩 key锛屼緵閮ㄥ垎 i18n 鎸夊瓧绗︿覆鏌ユ壘璧勬簮鏍囬锛岄伩鍏嶆樉绀� Asnorder/Outstock
+ 'resources.asnOrderItem.name': '鏀惰揣鏄庣粏',
+ 'resources.outStockItem.name': '鍑哄簱鍗曟槑缁�',
common: {
response: {
success: "鎿嶄綔鎴愬姛",
@@ -1440,6 +1445,7 @@
bulk_actions: '%{smart_count} 鏉¤閫変腑 |||| %{smart_count} 鏉¤閫変腑',
},
page: {
+ edit: '%{name}',
empty_with_filters: '浣跨敤褰撳墠杩囨护鏉′欢鏈壘鍒扮粨鏋溿��',
loading: '鍔犺浇涓�',
},
diff --git a/rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx b/rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx
index c708e72..f1f8399 100644
--- a/rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx
+++ b/rsf-admin/src/page/statistics/stockManage/WarehouseStockList.jsx
@@ -230,7 +230,7 @@
rowClick={false}
expand={false}
expandSingle={true}
- omit={['id', 'createTime', 'locId', 'spec', 'model', 'locCode', 'orderId', 'orderItemId', 'matnrId', 'splrBatch', 'createBy', 'memo', 'fieldsIndex', 'updateBy$']}
+ omit={['id', 'createTime', 'locId', 'locCode', 'orderId', 'orderItemId', 'matnrId', 'splrBatch', 'createBy', 'memo', 'fieldsIndex', 'updateBy$']}
>
{columns.map((column) => column)}
</StyledDatagrid>}
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java
index 89571c8..cf312d1 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java
@@ -177,6 +177,9 @@
} else if (params.getCreateTime() != null) {
m.put("arrTime", params.getCreateTime());
}
+ if (params.getCreateTime() != null) {
+ m.put("createTime", params.getCreateTime());
+ }
return m;
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
index 2573e5e..260ffbb 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java
@@ -51,6 +51,12 @@
@JsonDeserialize(using = FlexibleDateDeserializer.class)
private Date arrTime;
+ @ApiModelProperty("鍒涘缓鏃堕棿锛孍RP 浼犲垯浣滀负閫氱煡鍗曞垱寤烘椂闂�")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @JsonDeserialize(using = FlexibleDateDeserializer.class)
+ private Date createTime;
+
@ApiModelProperty("鍗曟嵁鏄庣粏淇℃伅")
private List<SyncOrdersItem> orderItems;
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
index db47253..a647b93 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
@@ -34,7 +34,10 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.*;
+import java.util.stream.Collectors;
@Service
public class PdaCheckOrderServiceImpl implements PdaCheckOrderService {
@@ -62,6 +65,12 @@
private ReportMsgService reportMsgService;
@Autowired
private UserService userService;
+
+ @Autowired
+ private CheckOrderItemService checkOrderItemService;
+
+ @Autowired
+ private CheckOrderService checkOrderService;
@Override
@@ -202,6 +211,43 @@
throw new CoolException("鏇存柊宸紓鍗曞け璐�");
}
+ // 鎸夌洏鐐瑰崟鏄庣粏姹囨�诲疄鐩樻暟閲忓苟鍥炲啓
+ Set<Long> taskItemIds = diffItems.stream().map(CheckDiffItem::getTaskItemId).filter(Objects::nonNull).collect(Collectors.toSet());
+ if (!taskItemIds.isEmpty()) {
+ List<TaskItem> taskItems = taskItemService.listByIds(taskItemIds);
+ Map<Long, BigDecimal> orderItemIdToCheckQty = new HashMap<>();
+ for (CheckDiffItem di : diffItems) {
+ if (di.getTaskItemId() == null) {
+ continue;
+ }
+ TaskItem ti = taskItems.stream().filter(t -> t.getId().equals(di.getTaskItemId())).findFirst().orElse(null);
+ if (ti == null || ti.getOrderItemId() == null) {
+ continue;
+ }
+ Double cq = di.getCheckQty() != null ? di.getCheckQty() : 0.0;
+ orderItemIdToCheckQty.merge(ti.getOrderItemId(), BigDecimal.valueOf(cq), BigDecimal::add);
+ }
+ for (Map.Entry<Long, BigDecimal> e : orderItemIdToCheckQty.entrySet()) {
+ double workQty = e.getValue().setScale(6, RoundingMode.HALF_UP).doubleValue();
+ if (!checkOrderItemService.update(new LambdaUpdateWrapper<WkOrderItem>()
+ .eq(WkOrderItem::getId, e.getKey())
+ .set(WkOrderItem::getWorkQty, workQty))) {
+ throw new CoolException("鐩樼偣鍗曟槑缁嗗疄鐩樻暟閲忔洿鏂板け璐�");
+ }
+ }
+ if (checkDiff.getOrderId() != null) {
+ List<WkOrderItem> orderItems = checkOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, checkDiff.getOrderId()));
+ BigDecimal orderWorkQty = orderItems.stream()
+ .map(oi -> oi.getWorkQty() != null ? BigDecimal.valueOf(oi.getWorkQty()) : BigDecimal.ZERO)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ if (!checkOrderService.update(new LambdaUpdateWrapper<WkOrder>()
+ .eq(WkOrder::getId, checkDiff.getOrderId())
+ .set(WkOrder::getWorkQty, orderWorkQty.setScale(6, RoundingMode.HALF_UP).doubleValue()))) {
+ throw new CoolException("鐩樼偣鍗曚富琛ㄥ疄鐩樻暟閲忔洿鏂板け璐�");
+ }
+ }
+ }
+
task.setTaskStatus(TaskStsType.COMPLETE_OUT.id);
task.setUpdateBy(loginUserId);
task.setUpdateTime(new Date());
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 6d8b18f..a1b887c 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
@@ -510,7 +510,7 @@
.setArrTime(syncOrder.getArrTime())
.setStationId(syncOrder.getStationId())
.setId(null)
- .setCreateTime(new Date())
+ .setCreateTime(syncOrder.getCreateTime() != null ? syncOrder.getCreateTime() : new Date())
.setUpdateTime(new Date())
.setCreateBy(loginUserId)
.setUpdateBy(loginUserId);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderLog.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderLog.java
index cd0bd92..3b05f11 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderLog.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderLog.java
@@ -257,7 +257,6 @@
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.arrTime);
}
-
public String getRleStatus$(){
if (null == this.rleStatus){ return null; }
switch (this.rleStatus){
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
index ebd6656..87797e9 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java
@@ -72,7 +72,7 @@
* @description 鍒犻櫎宸插畬鎴愯鍗曞姞鍏og琛�
* @time 2025/3/19 19:09
*/
- @Scheduled(cron = "0 0 5 * * ?")
+ @Scheduled(cron = "0 */1 * * * ?")
@Transactional(rollbackFor = Exception.class)
public void InStockToLog() {
List<WkOrder> wkOrders = asnOrderService.list(new LambdaQueryWrapper<WkOrder>()
--
Gitblit v1.9.1