From ac852588e581738264639e832dab13b926d47132 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期日, 02 十一月 2025 19:54:26 +0800
Subject: [PATCH] #新增 1. 出库单生成fieldsIndex

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |   46 +++++++++++++++++++++++++++-------------------
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AsnOrderLogSchedule.java        |    4 ++--
 2 files changed, 29 insertions(+), 21 deletions(-)

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 1e5c288..cde6838 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
@@ -117,7 +117,7 @@
     @Transactional(rollbackFor = Exception.class)
     public void reportOrders(List<WkOrder> orders) {
         for (WkOrder order : orders) {
-            if (order.getReportOnce() > 4) {
+            if (order.getReportOnce() > 4 || order.getNtyStatus() == 1) {
                 continue;
             }
             ReportParams params = new ReportParams();
@@ -191,7 +191,7 @@
 
             R reported = reportMsgService.uploadReportOrders(params);
             if (reported.get("code").equals(200)) {
-                order.setNtyStatus(1);
+                order.setNtyStatus(1).setReportOnce(order.getReportOnce() + 1) ;
                 if (!asnOrderService.updateById(order)) {
                     throw new CoolException("涓婃姤鐘舵�佷慨鏀瑰け璐ワ紒锛�");
                 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
index fdf9be2..c3fc7aa 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -68,6 +68,8 @@
 
     @Autowired
     private DictDataService dictDataService;
+    @Autowired
+    private AsnOrderService asnOrderService;
 
     @Override
     public R generateBarcode(List<Long> orders) {
@@ -248,28 +250,34 @@
         BeanUtils.copyProperties(matnr, wkOrderItem);
         wkOrderItem.setMatnrCode(matnr.getCode()).setMatnrId(matnr.getId()).setMaktx(matnr.getName());
 
-        //淇濆瓨鎵╁睍瀛楁
-        try {
-            StringBuffer sb = new StringBuffer();
-            if (Objects.isNull(wkOrderItem.getFieldsIndex()) || StringUtils.isBlank(wkOrderItem.getFieldsIndex())) {
-                List<Fields> fields = FieldsUtils.getFieldsSta();
-                for (Fields field : fields) {
-                    if (Objects.isNull(params.get(field.getFields()))) {
-                        continue;
+        WkOrder wkOrder = asnOrderService.getById(Long.parseLong(params.get("orderId").toString()));
+        if (Objects.isNull(wkOrder)) {
+            throw new CoolException("鏁版嵁閿欒锛屽崟鎹笉瀛樺湪锛侊紒");
+        }
+        if (!wkOrder.getType().equals(OrderType.ORDER_OUT.type)) {
+            //淇濆瓨鎵╁睍瀛楁
+            try {
+                StringBuffer sb = new StringBuffer();
+                if (Objects.isNull(wkOrderItem.getFieldsIndex()) || StringUtils.isBlank(wkOrderItem.getFieldsIndex())) {
+                    List<Fields> fields = FieldsUtils.getFieldsSta();
+                    for (Fields field : fields) {
+                        if (Objects.isNull(params.get(field.getFields()))) {
+                            continue;
+                        }
+                        //瀛楁鎷兼帴
+                        sb.append(params.get(field.getFields()));
                     }
-                    //瀛楁鎷兼帴
-                    sb.append(params.get(field.getFields()));
+                    sb.append(wkOrderItem.getMatnrId() + wkOrderItem.getSplrBatch());
+                    //鑾峰彇16浣島uid
+                    String uuid16 = Cools.md5Chinese(sb.toString());
+                    wkOrderItem.setFieldsIndex(uuid16);
+                    params.put("index", uuid16);
                 }
-                sb.append(wkOrderItem.getMatnrId() + wkOrderItem.getSplrBatch());
-                //鑾峰彇16浣島uid
-                String uuid16 = Cools.md5Chinese(sb.toString());
-                wkOrderItem.setFieldsIndex(uuid16);
-                params.put("index", uuid16);
+                //淇濆瓨鎴栨洿鏂板姩鎬佸瓧娈靛��
+                FieldsUtils.updateFieldsValue(params);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
             }
-            //淇濆瓨鎴栨洿鏂板姩鎬佸瓧娈靛��
-            FieldsUtils.updateFieldsValue(params);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
         }
         wkOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId);
         if (!this.saveOrUpdate(wkOrderItem)) {

--
Gitblit v1.9.1