From a1f5c7974cb66943c2d0edd285902bc34c4294c8 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 15 四月 2025 17:29:06 +0800
Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/MatnrsTemplate.java         |   48 +++++++++--
 rsf-admin/src/i18n/core/chineseMessages.js                                                       |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java            |    7 +
 rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java                     |  101 ++++++++++++++++++++++++-
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java                        |   12 +-
 rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx                                                 |   34 ++++++++
 7 files changed, 181 insertions(+), 25 deletions(-)

diff --git a/rsf-admin/src/i18n/core/chineseMessages.js b/rsf-admin/src/i18n/core/chineseMessages.js
index 0dc0430..5cb87b2 100644
--- a/rsf-admin/src/i18n/core/chineseMessages.js
+++ b/rsf-admin/src/i18n/core/chineseMessages.js
@@ -4,7 +4,7 @@
       add_filter: "杩囨护鏉′欢",
       add: "娣诲姞",
       back: "杩斿洖",
-      bulk_actions: "1 item selected |||| %{smart_count} items selected",
+      bulk_actions: "%{smart_count} 鏉¤閫変腑 |||| %{smart_count} 鏉¤閫変腑",
       cancel: "鍙栨秷",
       clear_array_input: "鎯呯┖鍒楄〃",
       clear_input_value: "娓呯┖",
diff --git a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
index 2d14bcd..fe32356 100644
--- a/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
+++ b/rsf-admin/src/page/basicInfo/matnr/MatnrEdit.jsx
@@ -281,6 +281,23 @@
                         </CustomTabPanel>
                         <CustomTabPanel value={value} index={1}>
                             <Grid container rowSpacing={2} columnSpacing={2}>
+                            <Grid item xs={6} display="flex" gap={1}>
+                                    <TextInput
+                                        label="table.field.matnr.name"
+                                        source="name"
+                                        parse={v => v}
+                                        required
+                                        autoFocus
+                                    />
+                                </Grid>
+                                <Grid item xs={6} display="flex" gap={1}>
+                                    <TextInput
+                                        label="table.field.matnr.code"
+                                        source="code"
+                                        required
+                                        parse={v => v}
+                                    />
+                                </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
                                     <NumberInput
                                         label="table.field.matnr.safeQty"
@@ -331,6 +348,23 @@
                         </CustomTabPanel>
                         <CustomTabPanel value={value} index={2}>
                             <Grid container rowSpacing={2} columnSpacing={2}>
+                            <Grid item xs={6} display="flex" gap={1}>
+                                    <TextInput
+                                        label="table.field.matnr.name"
+                                        source="name"
+                                        parse={v => v}
+                                        required
+                                        autoFocus
+                                    />
+                                </Grid>
+                                <Grid item xs={6} display="flex" gap={1}>
+                                    <TextInput
+                                        label="table.field.matnr.code"
+                                        source="code"
+                                        required
+                                        parse={v => v}
+                                    />
+                                </Grid>
                                 <Grid item xs={6} display="flex" gap={1}>
                                     <ReferenceInput
                                         source="rglar_id"
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java
index 7f8604e..ea2e93f 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/PageParam.java
@@ -10,10 +10,7 @@
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.function.Consumer;
 
 /**
@@ -73,6 +70,10 @@
         return this.buildWrapper(like, null, timeField);
     }
 
+    public QueryWrapper<T> buildWrapper(boolean like, List<String> fields) {
+        return this.buildWrapper(like, null,"create_time", fields);
+    }
+
     @SuppressWarnings("all")
     public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer, String timeField) {
         QueryWrapper<T> queryWrapper = new QueryWrapper<>();
@@ -97,7 +98,96 @@
                 if (this.isToUnderlineCase) {
                     key = Utils.toSymbolCase(key, '_');
                 }
-                if (like) {
+                if (like && key.contains(timeField)) {
+                    queryWrapper.like("`" +  key + "`", val);
+                } else {
+                    queryWrapper.eq("`" +  key + "`", val);
+                }
+            }
+        }
+
+        if (null != consumer) {
+            consumer.accept(queryWrapper);
+        }
+
+        if (!Cools.isEmpty(where.getTimeStart())) {
+            Date timeStart = DateUtils.convert(String.valueOf(where.getTimeStart()), DateUtils.yyyyMMdd_F);
+            queryWrapper.ge(timeField, timeStart);
+
+        }
+        if (!Cools.isEmpty(where.getTimeEnd())) {
+            Date timeStart = DateUtils.convert(String.valueOf(where.getTimeEnd()), DateUtils.yyyyMMdd_F);
+            queryWrapper.le(timeField, timeStart);
+        }
+
+        if (!Cools.isEmpty(where.getOrderBy())) {
+            if (sortIsSQL(where.getOrderBy())) {
+                setOrders(parseOrderSQL(where.getOrderBy()));
+            }
+        } else {
+//            queryWrapper.orderByDesc("create_time");
+        }
+
+        if (!Cools.isEmpty(where.getCondition()) && !Cools.isEmpty(cls)) {
+            List<String> columns = new ArrayList<>();
+            for (Field field : Cools.getAllFields(cls)){
+                if (Modifier.isFinal(field.getModifiers())
+                        || Modifier.isStatic(field.getModifiers())
+                        || Modifier.isTransient(field.getModifiers())){
+                    continue;
+                }
+
+                if (field.isAnnotationPresent(TableField.class)){
+                    TableField annotation = field.getAnnotation(TableField.class);
+                    if (!annotation.exist()) {
+                        continue;
+                    }
+                }
+
+                String column =  Utils.toSymbolCase(field.getName(), '_');
+                columns.add(column);
+            }
+            if (!columns.isEmpty()) {
+                for (int i=0;i<columns.size();i++){
+                    String column = columns.get(i);
+                    String condition = where.getCondition();
+
+                    if (i == 0) {
+                        queryWrapper.and(wrapper -> wrapper.like("`" + column + "`", condition));
+                    } else {
+                        queryWrapper.or().like("`" + column + "`", condition);
+                    }
+                }
+            }
+        }
+        return queryWrapper;
+    }
+
+    @SuppressWarnings("all")
+    public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer,String timeField, List<String> fields) {
+        QueryWrapper<T> queryWrapper = new QueryWrapper<>();
+        Map<String, Object> map = where.getMap();
+        for (String key : map.keySet()) {
+            Object val = map.get(key);
+
+            if (key.contains("Range")) {
+                ArrayList<String> list = null;
+                if (val instanceof ArrayList) {
+                    list = (ArrayList<String>) val;
+                }
+                if (null != list) {
+                    key = key.replaceAll("Range", "");
+                    if (this.isToUnderlineCase) {
+                        key = Utils.toSymbolCase(key, '_');
+                    }
+                    queryWrapper.ge(key, DateUtils.convert(list.get(0)));
+                    queryWrapper.le(key, DateUtils.convert(list.get(1)));
+                }
+            } else {
+                if (this.isToUnderlineCase) {
+                    key = Utils.toSymbolCase(key, '_');
+                }
+                if (like && !fields.contains(key)) {
                     queryWrapper.like("`" +  key + "`", val);
                 } else {
                     queryWrapper.eq("`" +  key + "`", val);
@@ -198,4 +288,5 @@
         return map;
     }
 
+
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
index 3a91dc6..d5022a8 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.vincent.rsf.framework.common.Cools;
 import com.vincent.rsf.framework.common.R;
@@ -43,7 +44,11 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<Loc, BaseParam> pageParam = new PageParam<>(baseParam, Loc.class);
-        return R.ok().add(locService.page(pageParam, pageParam.buildWrapper(true)));
+        List<String> list = new ArrayList<>();
+        list.add("row");
+        list.add("col");
+        list.add("lev");
+        return R.ok().add(locService.page(pageParam, pageParam.buildWrapper(true,list)));
     }
 
     @PreAuthorize("hasAuthority('manager:loc:list')")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
index 3978f0c..46c25f4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
@@ -43,19 +43,19 @@
     /**
      * 鍚嶇О
      */
-    @ApiModelProperty(value= "鍚嶇О")
+    @ApiModelProperty(value= "鐗╂枡鍚嶇О")
     private String name;
 
     /**
      * 缂栫爜
      */
-    @ApiModelProperty(value= "缂栫爜")
+    @ApiModelProperty(value= "鐗╂枡缂栫爜")
     private String code;
 
     /**
      * 璐т富ID
      */
-    @ApiModelProperty(value= "璐т富ID")
+    @ApiModelProperty(value= "璐т富鏍囪瘑")
     private Long shipperId;
 
 //    @ApiModelProperty(value = "璐т富缂栫爜")
@@ -64,7 +64,7 @@
     /**
      * 鍒嗙粍ID(*)
      */
-    @ApiModelProperty(value= "鍒嗙粍ID(*)")
+    @ApiModelProperty(value= "鐗╂枡鍒嗙粍(*)")
     private Long groupId;
 
     /**
@@ -82,7 +82,7 @@
     /**
      * 瑙勫垯浠g爜
      */
-    @ApiModelProperty(value= "瑙勫垯浠g爜")
+    @ApiModelProperty(value= "鎵规瑙勫垯鏍囪瘑")
     private Long rglarId;
 
     /**
@@ -118,7 +118,7 @@
     /**
      * 闀�*瀹�*楂�(m)
      */
-    @ApiModelProperty(value= "闀�*瀹�*楂�(m)")
+    @ApiModelProperty(value= "灏哄(m)")
     private String size;
 
     /**
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/MatnrsTemplate.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/MatnrsTemplate.java
index cb9e44e..cebc41b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/MatnrsTemplate.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/excel/MatnrsTemplate.java
@@ -27,9 +27,31 @@
     private String name;
 
     @NotNull
-    @Excel(name = "鍒嗙被鍔╄鐮�*")
-    @ExcelComment(example = "256874556")
-    private String groupCode;
+    @Excel(name = "鐗╂枡缂栫爜*")
+    @ExcelComment(example = "matnr123")
+    private String code;
+
+
+    @Excel(name = "璐т富鏍囪瘑")
+    @ExcelComment(example = "123")
+    private Long shipperId;
+
+
+
+    @NotNull
+    @Excel(name = "鐗╂枡鍒嗙粍")
+    @ExcelComment(example = "鎵嬫満")
+    private Long groupId;
+
+
+    @Excel(name = "ERP缂栫爜")
+    @ExcelComment(example = "erp001")
+    private String platCode;
+
+    @NotNull
+    @Excel(name = "瑙勬牸")
+    @ExcelComment(example = "HW-148*68*10")
+    private String spec;
 
     @NotNull
     @Excel(name = "鍒嗙被鍚嶇О*")
@@ -40,11 +62,6 @@
     @Excel(name = "鐗╂枡鍔╄鐮�*")
     @ExcelComment(example = "P3528461569")
     private String erpCode;
-
-    @NotNull
-    @Excel(name = "瑙勬牸")
-    @ExcelComment(example = "HW-148*68*10")
-    private String spec;
 
     @NotNull
     @Excel(name = "鍨嬪彿")
@@ -59,7 +76,7 @@
     @ExcelComment(notNull = false, example = "绱孩鑹�")
     private String color;
 
-    @Excel(name = "澶у皬")
+    @Excel(name = "灏哄")
     @ExcelComment(notNull = false, example = "148*68*10")
     private String size;
 
@@ -67,12 +84,12 @@
     @ExcelComment(notNull = false, example = "鏂颁笂甯備笁鎶樺彔")
     private String describle;
 
-    @Excel(name = "鎻忚堪")
+    @Excel(name = "鏍囧寘鏁伴噺")
     @ExcelComment(notNull = false, example = "鏂颁笂甯備笁鎶樺彔")
     private String nromNum;
 
     @NotNull
-    @Excel(name = "涓诲崟浣�")
+    @Excel(name = "鍗曚綅")
     @ExcelComment(example = "閮�")
     private String unit;
 
@@ -80,6 +97,15 @@
     @ExcelComment(example = "閮�")
     private String purUnit;
 
+    @Excel(name = "搴撲綅鍗曚綅")
+    @ExcelComment(example = "閮�")
+    private String stockUnit;
+
+    @NotNull
+    @Excel(name = "鍒嗙被鍔╄鐮�*")
+    @ExcelComment(example = "256874556")
+    private String groupCode;
+
     @Excel(name = "ABC绫�")
     @ExcelComment(notNull = false, example = "0")
     private String stockLevel;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
index 89a0a16..4fbb4bf 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
@@ -86,7 +86,7 @@
                 inspect.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_SECTION.val);
             }
             if (Double.compare(safeQty, inspect.getDlyQty()) == 0) {
-                inspect.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val);
+//                inspect.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val);
                 inspect.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val);
             }
             if (!qlyInspectService.updateById(inspect)) {

--
Gitblit v1.9.1