From c81fc5e2a4f4153be2bb8602ed14a0743e6ecd29 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期四, 05 三月 2026 11:14:50 +0800
Subject: [PATCH] RCS对接优化
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java | 72 ++++++++++++++++++++++-------------
1 files changed, 45 insertions(+), 27 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
index 57332f5..8de29f8 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
@@ -231,9 +231,10 @@
if (Objects.isNull(param)) {
return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
}
- if (Objects.isNull(param.get("fieldsIndex"))) {
- return R.error("绁ㄥ彿涓嶈兘涓虹┖锛侊紒");
- }
+ // 绁ㄥ彿鏆備笉浣跨敤锛屾敞閲婃牎楠�
+ // if (Objects.isNull(param.get("fieldsIndex"))) {
+ // return R.error("绁ㄥ彿涓嶈兘涓虹┖锛侊紒");
+ // }
if (Objects.isNull(param.get("barcode"))) {
return R.error("鏂欑鐮佷笉鑳戒负绌猴紒锛�");
}
@@ -246,28 +247,42 @@
if (Objects.isNull(task)) {
throw new CoolException("鏁版嵁閿欒锛屼换鍔℃。宸蹭笉瀛樺湪锛侊紒");
}
- FieldsItem fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>()
- .eq(FieldsItem::getValue, param.get("fieldsIndex").toString())
- .last("limit 1"));
- if (Objects.isNull(fieldsItem)) {
- return R.error("鏁版嵁閿欒锛岀エ鍙蜂笉瀛樺湪锛侊紒");
- }
- TaskItem taskItem = taskItemService.getOne(new LambdaQueryWrapper<TaskItem>()
+ // 绁ㄥ彿鏆備笉浣跨敤锛屾寜浠诲姟鍙栫涓�鏉℃槑缁�
+ // FieldsItem fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>()
+ // .eq(FieldsItem::getValue, param.get("fieldsIndex").toString())
+ // .last("limit 1"));
+ // if (Objects.isNull(fieldsItem)) {
+ // return R.error("鏁版嵁閿欒锛岀エ鍙蜂笉瀛樺湪锛侊紒");
+ // }
+ TaskItem taskItem = null;
+ FieldsItem fieldsItem = null;
+ if (param.get("fieldsIndex") != null && StringUtils.isNotBlank(param.get("fieldsIndex").toString())) {
+ fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>()
+ .eq(FieldsItem::getValue, param.get("fieldsIndex").toString())
+ .last("limit 1"));
+ if (fieldsItem != null) {
+ taskItem = taskItemService.getOne(new LambdaQueryWrapper<TaskItem>()
.eq(TaskItem::getFieldsIndex, fieldsItem.getUuid())
- .eq(TaskItem::getTaskId, task.getId()));
+ .eq(TaskItem::getTaskId, task.getId()));
+ }
+ }
+ if (taskItem == null) {
+ taskItem = taskItemService.getOne(new LambdaQueryWrapper<TaskItem>()
+ .eq(TaskItem::getTaskId, task.getId())
+ .last("limit 1"));
+ }
if (Objects.isNull(taskItem)) {
return R.error("鏁版嵁閿欒锛屼换鍔℃。鏄庣粏涓嶅瓨鍦紒锛�");
}
-// Long orderId = Long.valueOf(param.get("orderId").toString());
-// List<WkOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getOrderId, orderId));
-// if (orderItems.isEmpty()) {
-// return R.error("鏁版嵁閿欒锛岃鍗曟暟鎹笉瀛樺湪锛侊紒");
-// }
- //鏍规嵁绱㈠紩鑾峰彇鍔ㄦ�佸瓧娈礦alue鍊�
- Map<String, String> fields = new HashMap<>();
- Fields fields1 = fieldsService.getById(fieldsItem.getFieldsId());
- fields.put(fields1.getFields(), fieldsItem.getValue());
- taskItem.setExtendFields(fields);
+ // 绁ㄥ彿鏆備笉浣跨敤锛氫粎褰撴湁 fieldsItem 鏃惰缃� extendFields
+ if (fieldsItem != null) {
+ Fields fields1 = fieldsService.getById(fieldsItem.getFieldsId());
+ if (fields1 != null) {
+ Map<String, String> fields = new HashMap<>();
+ fields.put(fields1.getFields(), fieldsItem.getValue());
+ taskItem.setExtendFields(fields);
+ }
+ }
return R.ok().add(taskItem);
}
@@ -373,10 +388,10 @@
throw new CoolException("缂撳瓨鏁版嵁涓㈠け锛侊紒");
}
Double v1 = Math.round((workItem.getAnfme() - serviceOne.getQty()) * 1000000) / 1000000.0;
- //涓嶇鏄惁鍏佽瓒呮敹锛岄兘闇�鍒ゆ柇鏄惁瓒呭嚭搴撳瓨鑼冨洿
- if (taskItem.getAnfme().compareTo(v1) > 0) {
- throw new CoolException("鎷h揣鏁伴噺瓒呭嚭褰撳墠绁ㄥ彿搴撳瓨鏁伴噺锛侊紒");
- }
+ //涓嶇鏄惁鍏佽瓒呮敹锛岄兘闇�鍒ゆ柇鏄惁瓒呭嚭搴撳瓨鑼冨洿锛堢エ鍙锋殏涓嶄娇鐢紝璇ュ垽鏂敞閲婏級
+ // if (taskItem.getAnfme().compareTo(v1) > 0) {
+ // throw new CoolException("鎷h揣鏁伴噺瓒呭嚭褰撳墠绁ㄥ彿搴撳瓨鏁伴噺锛侊紒");
+ // }
if (!Boolean.parseBoolean(config.getVal())) {
Double v = Math.round((item.getQty() + taskItem.getAnfme()) * 1000000) / 1000000.0;
if (item.getAnfme().compareTo(v) < 0.0) {
@@ -488,6 +503,9 @@
return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
}
for (TaskItem item : items) {
+ // 绁ㄥ彿鏆備笉浣跨敤锛岃烦杩囦慨鏀瑰嚭搴撲换鍔℃。鏄庣粏绁ㄥ彿閫昏緫
+ continue;
+ /*
if (Objects.isNull(item.getCrushNo())) {
continue;
}
@@ -496,7 +514,7 @@
Map<String, String> fields = FieldsUtils.getFields(byId.getFieldsIndex());
byId.setExtendFields(fields);
}
- if (byId.getExtendFields().get("crushNo").equals(item.getCrushNo())) {
+ if (byId.getExtendFields() != null && byId.getExtendFields().get("crushNo") != null && byId.getExtendFields().get("crushNo").equals(item.getCrushNo())) {
continue;
}
FieldsItem fieldsItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>()
@@ -530,7 +548,7 @@
//鏇存柊搴撲綅淇℃伅
locItemWorkingService.updateById(oldOne);
locItemWorkingService.updateById(one);
-
+ */
}
return R.ok();
}
--
Gitblit v1.9.1