From a1a7c03eae40f4b0344fce652e1a240cf5283624 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 13 九月 2024 16:37:42 +0800
Subject: [PATCH] #合并订单出库,统一转波次出库前最新代码

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java |  105 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 89 insertions(+), 16 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java
index cef2f5a..7040908 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java
@@ -1,10 +1,16 @@
 package com.zy.asrs.wms.asrs.entity;
 
 import com.baomidou.mybatisplus.annotation.TableLogic;
-import java.text.SimpleDateFormat;
-import java.util.Date;
 
+import java.lang.reflect.Field;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.zy.asrs.common.utils.Synchro;
 import com.zy.asrs.wms.asrs.service.LocService;
+import com.zy.asrs.wms.asrs.service.MatFieldService;
 import com.zy.asrs.wms.asrs.service.MatService;
 import com.zy.asrs.wms.system.entity.Host;
 import com.zy.asrs.wms.system.entity.User;
@@ -53,15 +59,15 @@
     private String locNo;
 
     /**
-     * 鐗╂枡
+     * 鍟嗗搧
      */
-    @ApiModelProperty(value= "鐗╂枡")
+    @ApiModelProperty(value= "鍟嗗搧")
     private Long matId;
 
     /**
-     * 鐗╂枡鍙�
+     * 鍟嗗搧缂栧彿
      */
-    @ApiModelProperty(value= "鐗╂枡鍙�")
+    @ApiModelProperty(value= "鍟嗗搧缂栧彿")
     private String matnr;
 
     /**
@@ -83,12 +89,6 @@
     private Double anfme;
 
     /**
-     * 鎵╁睍
-     */
-    @ApiModelProperty(value= "鎵╁睍")
-    private String extend;
-
-    /**
      * 鎵�灞炴満鏋�
      */
     @ApiModelProperty(value= "鎵�灞炴満鏋�")
@@ -104,7 +104,6 @@
      * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  
      */
     @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
-    @TableLogic
     private Integer deleted;
 
     /**
@@ -141,7 +140,7 @@
 
     public LocDetl() {}
 
-    public LocDetl(Long locId,String locNo,Long matId,String matnr,String orderNo,String batch,Double anfme,String extend,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) {
+    public LocDetl(Long locId,String locNo,Long matId,String matnr,String orderNo,String batch,Double anfme,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) {
         this.locId = locId;
         this.locNo = locNo;
         this.matId = matId;
@@ -149,7 +148,6 @@
         this.orderNo = orderNo;
         this.batch = batch;
         this.anfme = anfme;
-        this.extend = extend;
         this.hostId = hostId;
         this.status = status;
         this.deleted = deleted;
@@ -164,7 +162,7 @@
 //            null,    // 搴撲綅
 //            null,    // 搴撲綅鍙穂闈炵┖]
 //            null,    // 鐗╂枡
-//            null,    // 鐗╂枡鍙�
+//            null,    // 鍟嗗搧缂栧彿
 //            null,    // 璁㈠崟鍙�
 //            null,    // 鎵瑰彿
 //            null,    // 鏁伴噺
@@ -262,5 +260,80 @@
         return null;
     }
 
+    public void sync(Object source) {
+        Synchro.Copy(source, this);
+    }
+
+    //鍔ㄦ�佹墿灞曞瓧娈�
+    public transient Map<String, Object> dynamicFields = new HashMap<>();
+
+    @JsonAnyGetter
+    public Map<String,Object> getDynamicFields() {
+        return dynamicFields;
+    }
+
+    public void syncField(List<LocDetlField> list) {
+        ArrayList<String> keys = new ArrayList<>();
+        Field[] fields = this.getClass().getFields();
+        for (Field field : fields) {
+            keys.add(field.getName());
+        }
+
+        Map<String, Object> dynamicFields = new HashMap<>();
+        for (LocDetlField locDetlField : list) {
+            if (keys.contains(locDetlField.getName())) {
+                continue;
+            }
+            dynamicFields.put(locDetlField.getName(), locDetlField.getValue());
+        }
+
+        this.dynamicFields = dynamicFields;
+    }
+
+    public void syncFieldMap(Map<String, Object> map) {
+        ArrayList<String> keys = new ArrayList<>();
+        Field[] fields = this.getClass().getDeclaredFields();
+        for (Field field : fields) {
+            keys.add(field.getName());
+        }
+        keys.add("detlId");
+
+        Map<String, Object> dynamicFields = new HashMap<>();
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            if (keys.contains(entry.getKey())) {
+                continue;
+            }
+            dynamicFields.put(entry.getKey(), entry.getValue());
+        }
+
+        this.dynamicFields = dynamicFields;
+    }
+
+    public String getFieldString(String key) {
+        return dynamicFields.get(key).toString();
+    }
+
+    public void setField(String key, Object value) {
+        dynamicFields.put(key, value);
+    }
+
+    public List<Map<String, Object>> getDynamicFieldsList() {
+        MatFieldService service = SpringUtils.getBean(MatFieldService.class);
+        List<MatField> matFields = service.list(new LambdaQueryWrapper<MatField>().eq(MatField::getFieldType, 1));
+        HashMap<String, Object> fieldMap = new HashMap<>();
+        for (MatField matField : matFields) {
+            fieldMap.put(matField.getName(), matField.getDescribe());
+        }
+
+        List<Map<String, Object>> list = new ArrayList<>();
+        for (Map.Entry<String, Object> entry : dynamicFields.entrySet()) {
+            HashMap<String, Object> map = new HashMap<>();
+            map.put("key", entry.getKey());
+            map.put("value", entry.getValue());
+            map.put("desc", fieldMap.get(entry.getKey()));
+            list.add(map);
+        }
+        return list;
+    }
 
 }

--
Gitblit v1.9.1