From 80677945b8ad3f73870e0b6d5a424e7130694431 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 22 一月 2026 15:07:28 +0800
Subject: [PATCH] lsh#单据接收
---
rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java | 5 +
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Order.java | 20 +++++
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 17 +++-
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrdersItem.java | 60 +++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrderParams.java | 88 ++++++++++++++++++++++
5 files changed, 185 insertions(+), 5 deletions(-)
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Order.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Order.java
index 4c1c2c8..5b733f6 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Order.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/Order.java
@@ -75,4 +75,24 @@
private String saleUserId;
// 閿�鍞憳鍚嶇О
private String saleUserName;
+
+ public void setType(String type) {
+ if (type == null) {
+ this.type = type;
+ } else {
+ switch (type) {
+ case "1":
+ this.type = "out";
+ break;
+ case "2":
+ this.type = "in";
+ break;
+ case "3":
+ this.type = "check";
+ break;
+ default:
+ this.type = type;
+ }
+ }
+ }
}
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 f45e72f..7f3ccda 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
@@ -18,14 +18,42 @@
private static final long serialVersionUID = 1L;
+ /*
+ * 涓氬姟绫诲瀷锛屽緟ERP琛ュ厖锛屼互涓嬩负绀轰緥锛�
+ * 鍏ュ簱锛氭敹鏂欓�氱煡鍗曪紙PUR_ReceiveBill锛夈��
+ * 閲囪喘鍏ュ簱鍗曪紙STK_InStock锛夈��
+ * 閫�鏂欑敵璇峰崟锛圥UR_MRAPP锛夈��
+ * 閲囪喘閫�鏂欏崟锛圥UR_MRB锛夈��
+ * 閫�璐ч�氱煡鍗曪紙SAL_RETURNNOTICE锛夈��
+ * 閿�鍞��璐у崟锛圫AL_RETURNSTOCK锛夈��
+ * 鐢熶骇閫�鏂欏崟锛圥RD_ReturnMtrl锛夈��
+ * 鐢熶骇鍏ュ簱鍗曪紙PRD_INSTOCK锛�/
+ * 鐢熶骇姹囨姤鍗曪紙PRD_MORPT锛夈��
+ * 鍏朵粬鍏ュ簱鍗曪紙STK_MISCELLANEOUS锛�
+ * 鍑哄簱锛氬彂璐ч�氱煡鍗曪紙SAL_DELIVERYNOTICE锛夈��
+ * 閿�鍞嚭搴撳崟锛圫AL_OUTSTOCK锛夈��
+ * 鍑哄簱鐢宠鍗曪紙STK_OutStockApply锛夈��
+ * 鐢熶骇棰嗘枡鍗曪紙PRD_PickMtrl锛夈��
+ * 鐢熶骇琛ユ枡鍗曪紙PRD_FeedMtrl锛夈��
+ * 鍏朵粬鍑哄簱鍗曪紙STK_MisDelivery锛夎皟鎷細
+ * 璋冩嫧鐢宠鍗曪紙STK_TRANSFERAPPLY锛夈��
+ * 鐩存帴璋冩嫧鍗曪紙STK_TransferDirect锛�
+ * */
@ApiModelProperty("涓氬姟绫诲瀷")
private String wkType;
+
+ /*
+ * 璁㈠崟绫诲瀷锛�1 鍑哄簱鍗曪紱2 鍏ュ簱鍗曪紱3 璋冩嫧鍗曪紱
+ * */
@ApiModelProperty("鍗曟嵁绫诲瀷")
private String type;
@ApiModelProperty("鍗曞彿")
private String orderNo;
+
+ @ApiModelProperty("鍗曟嵁鍐呯爜锛屽敮涓�鏍囪瘑")
+ private Long orderInternalCode;
@ApiModelProperty("璁㈠崟ID")
private Long orderId;
@@ -33,10 +61,70 @@
@ApiModelProperty("鏁伴噺")
private Double anfme;
+ @ApiModelProperty("瀹㈡埛缂栫爜")
+ private String customerId;
+
+ @ApiModelProperty("瀹㈡埛鍚嶇О")
+ private String customerName;
+
+ @ApiModelProperty("渚涘簲鍟嗙紪鐮�")
+ private String supplierId;
+
+ @ApiModelProperty("渚涘簲鍟嗗悕绉�")
+ private String supplierName;
+
@DateTimeFormat(pattern = "yyyy-MM-dd HH:ss:mm")
@JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm")
private Date arrTime;
+ @ApiModelProperty("鍒涘缓鏃ユ湡锛屾椂闂存埑锛岀簿纭埌绉�")
+ private Long createTime;
+
+ @ApiModelProperty("涓氬姟鏃ユ湡锛屽璐︿娇鐢紝鏃堕棿鎴筹紝绮剧‘鍒扮")
+ private Long businessTime;
+
@ApiModelProperty("鍗曟嵁鏄庣粏淇℃伅")
private List<SyncOrdersItem> orderItems;
+
+ @ApiModelProperty("鏀舵枡/鍙戣揣缁勭粐")
+ private String stockOrgId;
+
+ @ApiModelProperty("鏀舵枡/鍙戣揣缁勭粐鍚嶇О")
+ private String stockOrgName;
+
+ @ApiModelProperty("閲囪喘缁勭粐")
+ private String purchaseOrgId;
+
+ @ApiModelProperty("閲囪喘缁勭粐鍚嶇О")
+ private String purchaseOrgName;
+
+ @ApiModelProperty("閲囪喘鍛�")
+ private String purchaseUserId;
+
+ @ApiModelProperty("閲囪喘鍛樺悕绉�")
+ private String purchaseUserName;
+
+ @ApiModelProperty("鐢熶骇缁勭粐")
+ private String prdOrgId;
+
+ @ApiModelProperty("鐢熶骇缁勭粐鍚嶇О")
+ private String prdOrgName;
+
+ @ApiModelProperty("閿�鍞粍缁�")
+ private String saleOrgId;
+
+ @ApiModelProperty("閿�鍞粍缁囧悕绉�")
+ private String saleOrgName;
+
+ @ApiModelProperty("閿�鍞憳")
+ private String saleUserId;
+
+ @ApiModelProperty("閿�鍞憳鍚嶇О")
+ private String saleUserName;
+
+ @ApiModelProperty("搴撳瓨鏂瑰悜")
+ private String stockDirect;
+
+ @ApiModelProperty("鍑哄叆搴撴帴椹崇珯鐐癸紝鍑哄簱鏃跺皢鐗╂枡鍑哄簱鍚庤繍杈撹嚦璇ョ珯鐐癸紝鍏ュ簱鏃朵粠璇ョ珯鐐瑰皢鐗╂枡杩愬洖搴撲腑")
+ private String stationId;
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrdersItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrdersItem.java
index 105f5e8..69fb0ee 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrdersItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncOrdersItem.java
@@ -66,4 +66,64 @@
@ApiModelProperty("鐜伴噾绁ㄥ彿")
private String crushNo;
+ @ApiModelProperty("璁″垝璺熻釜鍙�")
+ private String planNo;
+
+ @ApiModelProperty("琛屽唴鐮侊紝鍞竴鏍囪瘑")
+ private String lineId;
+
+ @ApiModelProperty("鐗╂枡缂栫爜")
+ private String matNr;
+
+ @ApiModelProperty("鐗╂枡鍚嶇О")
+ private String makTx;
+
+ @ApiModelProperty("瑙勬牸")
+ private String specs;
+
+ @ApiModelProperty("鍩烘湰鍗曚綅")
+ private String baseUnitId;
+
+ @ApiModelProperty("鎵樼洏鐮侊紝鍗婃垚鍝�/鎴愬搧鍏ュ簱ERP闇�瑕佷紶锛岄潪鍒橢RP涓嶉渶瑕佷紶")
+ private String palletId;
+
+ @ApiModelProperty("璁′环鍗曚綅")
+ private String priceUnitId;
+
+ @ApiModelProperty("寤鸿鐩爣浠撳簱")
+ private String targetWareHouseId;
+
+ @ApiModelProperty("璋冨嚭浠�")
+ private String sourceWareHouseId;
+
+ @ApiModelProperty("鍏ュ簱绫诲瀷")
+ private String inStockType;
+
+ @ApiModelProperty("璐т富绫诲瀷")
+ private String ownerTypeId;
+
+ @ApiModelProperty("璐т富")
+ private String ownerId;
+
+ @ApiModelProperty("璐т富鍚嶇О")
+ private String ownerName;
+
+ @ApiModelProperty("淇濈鑰呯被鍨�")
+ private String keeperTypeId;
+
+ @ApiModelProperty("淇濈鑰�")
+ private String keeperId;
+
+ @ApiModelProperty("淇濈鑰呭悕绉�")
+ private String keeperName;
+
+ public void setMatNr(String matNr) {
+ this.matNr = matNr;
+ this.matnr = matNr;
+ }
+
+ public void setMakTx(String makTx) {
+ this.makTx = makTx;
+ this.maktx = makTx;
+ }
}
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 1dd4ab7..aaca1fb 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
@@ -44,6 +44,8 @@
import java.util.*;
import java.util.stream.Collectors;
+import static com.vincent.rsf.server.system.utils.SerialRuleUtils.objectToMap;
+
/**
* @author Ryan
* @version 1.0
@@ -405,13 +407,13 @@
public R syncCheckOrder(List<SyncOrderParams> syncOrders, Long loginUserId) {
if (!syncOrders.isEmpty()) {
syncOrders.forEach(syncOrder -> {
- WkOrder wkOrder = new WkOrder();
+ WkOrder wkOrder = new WkOrder(syncOrder);
DictData one = dictDataService.getOne(new LambdaQueryWrapper<DictData>().eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_BUSINESS_TYPE)
.eq(DictData::getValue, syncOrder.getWkType()), false);
if (Objects.isNull(one)) {
throw new CoolException("鍗曟嵁锛�" + syncOrder.getOrderNo() + ", 涓氬姟绫诲瀷涓嶅瓨鍦紒锛�");
}
- WkOrder order = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>()
+ WkOrder order = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>()
.eq(!Objects.isNull(syncOrder.getOrderId()), WkOrder::getPoId, syncOrder.getOrderId())
.eq(WkOrder::getPoCode, syncOrder.getOrderNo()));
if (!Objects.isNull(order)) {
@@ -430,14 +432,21 @@
rule = SerialRuleCode.SYS_OUT_STOCK_CODE;
}
- String ruleCode = SerialRuleUtils.generateRuleCode(rule, null);
+ //閾跺骇鐗逛緵
+ String orderNs = null;
+ if (rule.equals(SerialRuleCode.SYS_ASN_ORDER) || rule.equals(SerialRuleCode.SYS_OUT_STOCK_CODE) ){
+ StringBuffer buffer = new StringBuffer();
+ Object poCode = syncOrder.getOrderNo();
+ orderNs = poCode == null ? "" : buffer.append(poCode).toString();
+ }
+ String ruleCode = orderNs;
wkOrder.setType(syncOrder.getType())
.setWkType(one.getValue())
.setAnfme(syncOrder.getAnfme())
.setPoCode(syncOrder.getOrderNo())
.setWorkQty(0.0)
.setQty(0.0)
- .setPoId(syncOrder.getOrderId())
+ .setPoId(syncOrder.getOrderInternalCode())
.setCode(ruleCode)
.setArrTime(syncOrder.getArrTime())
.setId(null)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
index dbdfe77..a1a564f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
@@ -185,7 +185,10 @@
}
}
} else {
- saveFields(params, params.get("index").toString());
+ Object index = params.get("index");
+ if (!Cools.isEmpty(index)) {
+ saveFields(params, params.get("index").toString());
+ }
}
}
--
Gitblit v1.9.1