From 6b91dfe7a4ade6b22422ccda01fa8f83772b68a5 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 08 五月 2025 15:28:50 +0800
Subject: [PATCH] 动态字段优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java |   54 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 32 insertions(+), 22 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index a81605c..b6844d9 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -271,9 +271,17 @@
             if (!Objects.isNull(rcpt)) {
                 try {
                     if (Objects.isNull(rcpt.get("fieldsindex")) || StringUtils.isBlank(rcpt.get("fieldsindex").toString())) {
+                        StringBuffer sb = new StringBuffer();
+                        if (!dto.getExtendFields().isEmpty()) {
+                            dto.getExtendFields().forEach(field -> {
+                                field.keySet().forEach(key -> {
+                                    sb.append(field.get(key));
+                                });
+                            });
+                        }
+                        sb.append(dto.getAsnCode() + dto.getMatnr());
                         //鑾峰彇16浣島uid
-//                        String uuid16 = Cools.md5(dto.getBarcode());
-                        String uuid16 = Cools.md5(dto.getId() + dto.getMatnr());
+                        String uuid16 = Cools.md5Chinese(sb.toString());
                         rcpt.put("index", uuid16);
                         orderItem.setFieldsIndex(uuid16);
                     }
@@ -434,7 +442,9 @@
      */
     @Override
     public List<Fields> getDynamicFields() {
-        return fieldsMapper.selectList(new LambdaQueryWrapper<Fields>().eq(Fields::getFlagEnable, 1).eq(Fields::getStatus, 1));
+        return fieldsMapper.selectList(new LambdaQueryWrapper<Fields>()
+                .eq(Fields::getFlagEnable, 1)
+                .eq(Fields::getStatus, 1).orderByAsc(Fields::getId));
     }
 
     /**
@@ -453,10 +463,10 @@
 
         //TODO 鍚庣画闇�鏍规嵁绛栫暐閰嶇疆锛岃幏鍙栫粍鎷栨暟鎹�傚锛氭贩瑁咃紝鎸夋壒娆℃贩瑁呯瓑
         LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new LambdaQueryWrapper<WarehouseAreasItem>()
-                .eq(!Cools.isEmpty(code), WarehouseAreasItem::getTrackCode, code)
-                .eq(!Cools.isEmpty(batch), WarehouseAreasItem::getSplrBatch, batch)
-                .eq(!Cools.isEmpty(matnrCode), WarehouseAreasItem::getMatnrCode, matnrCode)
-                .eq(!Cools.isEmpty(asnCode), WarehouseAreasItem::getAsnCode, asnCode);
+                .or().eq(!Cools.isEmpty(code), WarehouseAreasItem::getTrackCode, code)
+                .or().eq(!Cools.isEmpty(batch), WarehouseAreasItem::getSplrBatch, batch)
+                .or().eq(!Cools.isEmpty(matnrCode), WarehouseAreasItem::getMatnrCode, matnrCode)
+                .or().eq(!Cools.isEmpty(asnCode), WarehouseAreasItem::getAsnCode, asnCode);
         List<WarehouseAreasItem> list = warehouseAreasItemService.list(queryWrapper);
         list.removeIf(e -> e.getAnfme() <= e.getWorkQty());
         return R.ok(list);
@@ -878,24 +888,24 @@
                 .eq(WaitPakin::getBarcode, params.get("barcode").toString())
                 .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val));
         if (Objects.isNull(waitPakin)) {
-            return R.ok(new ArrayList<>());
+            return R.error("鏈壘鍒拌瀹瑰櫒鐮佺殑缁勬墭鏄庣粏锛岃妫�鏌ョ粍鎵樼姸鎬�");
         }
         List<WaitPakinItem> pakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>()
                 .eq(WaitPakinItem::getPakinId, waitPakin.getId()));
-        if (pakinItems.isEmpty()) {
-            return R.ok(new ArrayList<>());
-        }
-        List<Long> list = pakinItems.stream().map(WaitPakinItem::getSource).collect(Collectors.toList());
-        LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new LambdaQueryWrapper<WarehouseAreasItem>().in(WarehouseAreasItem::getId, list);
-        List<WarehouseAreasItem> warehouseAreasItems = warehouseAreasItemService.list(queryWrapper);
-        for (int i = 0; i < warehouseAreasItems.size(); i++) {
-            for (WaitPakinItem pakinItem : pakinItems) {
-                if (warehouseAreasItems.get(i).getId().equals(pakinItem.getSource())) {
-                    warehouseAreasItems.get(i).setAnfme(pakinItem.getAnfme());
-                }
-            }
-        }
-        return R.ok(warehouseAreasItems);
+//        if (pakinItems.isEmpty()) {
+//            return R.ok(new ArrayList<>());
+//        }
+//        List<Long> list = pakinItems.stream().map(WaitPakinItem::getSource).collect(Collectors.toList());
+//        LambdaQueryWrapper<WarehouseAreasItem> queryWrapper = new LambdaQueryWrapper<WarehouseAreasItem>().in(WarehouseAreasItem::getId, list);
+//        List<WarehouseAreasItem> warehouseAreasItems = warehouseAreasItemService.list(queryWrapper);
+//        for (int i = 0; i < warehouseAreasItems.size(); i++) {
+//            for (WaitPakinItem pakinItem : pakinItems) {
+//                if (warehouseAreasItems.get(i).getId().equals(pakinItem.getSource())) {
+//                    warehouseAreasItems.get(i).setAnfme(pakinItem.getAnfme());
+//                }
+//            }
+//        }
+        return R.ok(pakinItems);
     }
 
 

--
Gitblit v1.9.1