From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 二月 2025 10:08:32 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/LocDetl.java |  125 +++++++++++++++++++++++++++++++++++------
 1 files changed, 105 insertions(+), 20 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..f4cb63e 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,22 +1,23 @@
 package com.zy.asrs.wms.asrs.entity;
 
-import com.baomidou.mybatisplus.annotation.TableLogic;
+import java.lang.reflect.Field;
 import java.text.SimpleDateFormat;
-import java.util.Date;
+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;
 import org.springframework.format.annotation.DateTimeFormat;
-import java.text.SimpleDateFormat;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import com.zy.asrs.framework.common.Cools;
@@ -25,7 +26,6 @@
 import com.zy.asrs.wms.system.service.HostService;
 
 import java.io.Serializable;
-import java.util.Date;
 
 @Data
 @TableName("man_loc_detl")
@@ -53,15 +53,15 @@
     private String locNo;
 
     /**
-     * 鐗╂枡
+     * 鍟嗗搧
      */
-    @ApiModelProperty(value= "鐗╂枡")
+    @ApiModelProperty(value= "鍟嗗搧")
     private Long matId;
 
     /**
-     * 鐗╂枡鍙�
+     * 鍟嗗搧缂栧彿
      */
-    @ApiModelProperty(value= "鐗╂枡鍙�")
+    @ApiModelProperty(value= "鍟嗗搧缂栧彿")
     private String matnr;
 
     /**
@@ -83,12 +83,6 @@
     private Double anfme;
 
     /**
-     * 鎵╁睍
-     */
-    @ApiModelProperty(value= "鎵╁睍")
-    private String extend;
-
-    /**
      * 鎵�灞炴満鏋�
      */
     @ApiModelProperty(value= "鎵�灞炴満鏋�")
@@ -104,7 +98,6 @@
      * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  
      */
     @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
-    @TableLogic
     private Integer deleted;
 
     /**
@@ -139,9 +132,15 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    /**
+     * 搴撳瓨鍐荤粨 1: 鍐荤粨  0: 姝e父
+     */
+    @ApiModelProperty(value= "搴撳瓨鍐荤粨 1: 鍐荤粨  0: 姝e父")
+    private Integer freeze;
+
     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,    // 鏁伴噺
@@ -204,6 +202,18 @@
             return String.valueOf(host.getName());
         }
         return null;
+    }
+
+    public String getFreeze$(){
+        if (null == this.freeze){ return null; }
+        switch (this.freeze){
+            case 1:
+                return "鍐荤粨";
+            case 0:
+                return "姝e父";
+            default:
+                return String.valueOf(this.freeze);
+        }
     }
 
     public String getStatus$(){
@@ -262,5 +272,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