From 947aa556843b17e1b5a003767a1cf6ae85ec39fe Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期五, 20 六月 2025 16:51:25 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/VersionUtils.java              |   54 -------------
 src/main/java/com/zy/asrs/entity/LocDetl.java                  |   65 ++++++++++++++-
 src/main/java/com/zy/common/utils/Synchro.java                 |   38 +++++++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java    |    6 +
 src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java |   36 ---------
 src/main/resources/mapper/LocDetlMapper.xml                    |    7 +
 src/main/java/com/zy/asrs/entity/WrkDetl.java                  |    4 +
 src/main/java/com/zy/asrs/service/WrkDetlService.java          |    2 
 8 files changed, 111 insertions(+), 101 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/LocDetl.java b/src/main/java/com/zy/asrs/entity/LocDetl.java
index 4bf4bf2..1e8df3f 100644
--- a/src/main/java/com/zy/asrs/entity/LocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -40,17 +40,18 @@
     @ExcelProperty("鍟嗗搧鍚嶇О")
     private String maktx;
 
-    @ApiModelProperty(value= "鎵瑰彿")
-    @ExcelProperty("鎵瑰彿")
+    @ApiModelProperty(value= "瑙勬牸")
+    @ExcelProperty("瑙勬牸")
+    private String specs;
+
+    @ApiModelProperty(value= "璐у搧鐗瑰緛")
+    @ExcelProperty("璐у搧鐗瑰緛")
     private String batch;
 
     @ApiModelProperty(value= "鍗曟嵁缂栧彿")
     @ExcelProperty("鍗曟嵁缂栧彿")
     @TableField("order_no")
     private String orderNo;
-
-    @ApiModelProperty(value= "瑙勬牸")
-    private String specs;
 
     @ApiModelProperty(value= "鍨嬪彿")
     private String model;
@@ -98,8 +99,7 @@
     private Double weight;
 
     @ApiModelProperty(value= "闀垮害")
-    @TableField("man_length")
-    private Double manLength;
+    private Double man_length;
 
     @ApiModelProperty(value= "浣撶Н")
     private Double volume;
@@ -155,6 +155,57 @@
     @ApiModelProperty(value= "澶囨敞")
     private String memo;
 
+    /**
+     * 鎷ユ湁鑰�
+     */
+    @ApiModelProperty(value= "鎷ユ湁鑰� 1: 鏉板厠   ")
+    private Integer owner;
+
+    /**
+     * 澶囩敤1
+     */
+    @ApiModelProperty(value= "澶囩敤1")
+    private String standby1 = "";
+
+    /**
+     * 澶囩敤2
+     */
+    @ApiModelProperty(value= "澶囩敤2")
+    private String standby2 = "";
+
+    /**
+     * 澶囩敤3
+     */
+    @ApiModelProperty(value= "澶囩敤3")
+    private String standby3 = "";
+
+    /**
+     * 澶囩敤1
+     */
+    @ApiModelProperty(value= "澶囩敤1")
+    @TableField("box_type1")
+    private String boxType1 = "";
+
+    /**
+     * 澶囩敤2
+     */
+    @ApiModelProperty(value= "澶囩敤2")
+    @TableField("box_type2")
+    private String boxType2 = "";
+
+    /**
+     * 澶囩敤3
+     */
+    @ApiModelProperty(value= "澶囩敤3")
+    @TableField("box_type3")
+    private String boxType3 = "";
+
+    /**
+     * 鏄惁鍐荤粨
+     */
+    @ApiModelProperty(value= "鏄惁鍐荤粨,0.鏈喕缁擄紝1.宸插喕缁�")
+    private Integer frozen;
+
     public String getLocNo$(){
         LocMastService service = SpringUtils.getBean(LocMastService.class);
         LocMast locMast = service.selectById(this.locNo);
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetl.java b/src/main/java/com/zy/asrs/entity/WrkDetl.java
index cec86f4..671c8c3 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetl.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
+import com.zy.common.utils.Synchro;
 import com.zy.system.entity.User;
 import com.zy.system.service.UserService;
 import io.swagger.annotations.ApiModelProperty;
@@ -418,5 +419,8 @@
         return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
     }
 
+    public void sync(Object source) {
+        Synchro.Copy(source, this);
+    }
 
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index 18f7637..4d4045e 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -9,8 +9,6 @@
 
 public interface WrkDetlService extends IService<WrkDetl> {
 
-    void createWorkDetail(Integer workNo, List<WaitPakin> waitPakins, String barcode);
-
     List<WrkDetl> findByWorkNo(Integer workNo);
 
     boolean updateIoTime(Integer workNo, Date ioTime);
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 689f02c..9702348 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1859,10 +1859,11 @@
             List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo()));
             for (LocDetl locDetl : locDetls) {
                 WrkDetl wrkDetl = new WrkDetl();
+                wrkDetl.sync(locDetl);
                 wrkDetl.setWrkNo(workNo);
                 wrkDetl.setIoTime(now);
                 wrkDetl.setAnfme(locDetl.getAnfme());
-                VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
+//                VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
                 wrkDetl.setAppeTime(now);
                 wrkDetl.setModiTime(now);
                 if (!wrkDetlService.insert(wrkDetl)) {
@@ -1983,10 +1984,11 @@
 
                         for (LocDetl locDetl : locDetls) {
                             WrkDetl wrkDetl = new WrkDetl();
+                            wrkDetl.sync(locDetl);
                             wrkDetl.setWrkNo(workNo);
                             wrkDetl.setIoTime(new Date());
                             wrkDetl.setAnfme(locDetl.getAnfme());
-                            VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
+//                            VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
                             wrkDetl.setAppeTime(new Date());
                             wrkDetl.setModiTime(new Date());
                             if (!wrkDetlService.insert(wrkDetl)) {
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index 017911a..a9b359b 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -1,52 +1,16 @@
 package com.zy.asrs.service.impl;
 
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.core.common.Cools;
-import com.core.exception.CoolException;
-import com.zy.asrs.entity.MatCode;
-import com.zy.asrs.entity.WaitPakin;
 import com.zy.asrs.entity.WrkDetl;
 import com.zy.asrs.mapper.WrkDetlMapper;
-import com.zy.asrs.service.MatCodeService;
 import com.zy.asrs.service.WrkDetlService;
-import com.zy.asrs.utils.VersionUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 import java.util.List;
 
 @Service("wrkDetlService")
 public class WrkDetlServiceImpl extends ServiceImpl<WrkDetlMapper, WrkDetl> implements WrkDetlService {
-
-    @Autowired
-    private MatCodeService matCodeService;
-
-    @Override
-    @Transactional
-    public void createWorkDetail(Integer workNo, List<WaitPakin> waitPakins, String barcode) {
-        if (waitPakins.isEmpty()){
-            return;
-        }
-        for (WaitPakin waitPakin : waitPakins) {
-            MatCode matCode = matCodeService.selectById(waitPakin.getMatnr());
-            if (Cools.isEmpty(matCode)){
-                throw new CoolException("鐗╂枡鏉$爜鏁版嵁涓虹┖");
-            }
-            // 淇濇寔宸ヤ綔妗f槑缁�
-            WrkDetl wrkDetl = new WrkDetl();
-            wrkDetl.setWrkNo(workNo);
-            wrkDetl.setIoTime(new Date());
-            VersionUtils.setWrkDetl(wrkDetl, matCode); // 鐗堟湰鎺у埗
-            wrkDetl.setZpallet(barcode); // 鎵樼洏鏉$爜
-            wrkDetl.setAppeTime(new Date());
-            wrkDetl.setModiTime(new Date());
-            if (!this.insert(wrkDetl)) {
-                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
-            }
-        }
-    }
 
     @Override
     public List<WrkDetl> findByWorkNo(Integer workNo) {
diff --git a/src/main/java/com/zy/asrs/utils/VersionUtils.java b/src/main/java/com/zy/asrs/utils/VersionUtils.java
index 0e8be1f..49671aa 100644
--- a/src/main/java/com/zy/asrs/utils/VersionUtils.java
+++ b/src/main/java/com/zy/asrs/utils/VersionUtils.java
@@ -1,66 +1,12 @@
 package com.zy.asrs.utils;
 
-import com.core.exception.CoolException;
-import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.LocMast;
-import com.zy.asrs.entity.MatCode;
-import com.zy.asrs.entity.WrkDetl;
 import com.zy.common.model.LocTypeDto;
 
 /**
  * Created by vincent on 2020/7/14
  */
 public class VersionUtils {
-
-    // 涓氬姟 ----------------------------------------------------------------------
-
-    public static void setWrkDetl(WrkDetl wrkDetl, MatCode matCode) {
-//        wrkDetl.setMatNo(matCode.getMatNo()); // 鐗╂枡缂栧彿
-//        wrkDetl.setMatName(matCode.getMatName()); // 鐗╂枡鎻忚堪
-//        wrkDetl.setLgnum(matCode.getStr2()); // 瑙勬牸
-//        wrkDetl.setType(matCode.getStr5()); // 鍨嬪彿
-//        wrkDetl.setColor(matCode.getBarcode()); // 鏉$爜
-//        wrkDetl.setSupplier(matCode.getStr6()); // 鎵瑰彿
-//        wrkDetl.setWarehouse(matCode.getStr7()); // 鍗曟嵁缂栧彿
-//        wrkDetl.setBrand(matCode.getStr3()); // 鍝侀」鏁�
-//        wrkDetl.setAltme(matCode.getStr1()); // 鍗曚綅
-//        wrkDetl.setBname(matCode.getStr4()); // 瀹㈡埛鍚嶇О
-    }
-
-    public static void setWrkDetl(WrkDetl wrkDetl, LocDetl locDetl) {
-        wrkDetl.setMatnr(locDetl.getMatnr()); // 浜у搧缂栧彿
-        wrkDetl.setMaktx(locDetl.getMaktx()); // 浜у搧鎻忚堪
-        wrkDetl.setSpecs(locDetl.getSpecs()); // 瑙勬牸
-        wrkDetl.setUnit(locDetl.getUnit()); // 鍗曚綅
-//        wrkDetl.setSize(locDetl.getSize()); // 灏哄
-        wrkDetl.setColor(locDetl.getColor()); // 棰滆壊
-        wrkDetl.setWeight(locDetl.getWeight()); // 鍗曢噸
-        wrkDetl.setZpallet(locDetl.getZpallet()); // 鎵樼洏鏉$爜
-    }
-
-    public static void setLocDetl(LocDetl locDetl, MatCode matCode) {
-//        locDetl.setMatNo(matCode.getMatNo()); // 鐗╂枡缂栧彿
-//        locDetl.setMatName(matCode.getMatName()); // 鐗╂枡鎻忚堪
-//        locDetl.setLgnum(matCode.getStr2()); // 瑙勬牸
-//        locDetl.setType(matCode.getStr5()); // 鍨嬪彿
-//        locDetl.setColor(matCode.getBarcode()); // 鏉$爜
-//        locDetl.setSupplier(matCode.getStr6()); // 鎵瑰彿
-//        locDetl.setWarehouse(matCode.getStr7()); // 鍗曟嵁缂栧彿
-//        locDetl.setBrand(matCode.getStr3()); // 鍝侀」鏁�
-//        locDetl.setAltme(matCode.getStr1()); // 鍗曚綅
-//        locDetl.setBname(matCode.getStr4()); // 瀹㈡埛鍚嶇О
-    }
-
-    public static void setLocDetl(LocDetl locDetl, WrkDetl wrkDetl) {
-        locDetl.setMatnr(wrkDetl.getMatnr()); // 浜у搧缂栧彿
-        locDetl.setMaktx(wrkDetl.getMaktx()); // 浜у搧鎻忚堪
-        locDetl.setSpecs(wrkDetl.getSpecs()); // 瑙勬牸
-        locDetl.setUnit(wrkDetl.getUnit()); // 鍗曚綅
-//        locDetl.setSize(wrkDetl.getSize()); // 灏哄
-        locDetl.setColor(wrkDetl.getColor()); // 棰滆壊
-        locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
-        locDetl.setZpallet(wrkDetl.getZpallet()); // 鎵樼洏鏉$爜
-    }
 
     /**
      *  搴撲綅绉昏浆鏃剁被鍨嬫娴�
diff --git a/src/main/java/com/zy/common/utils/Synchro.java b/src/main/java/com/zy/common/utils/Synchro.java
new file mode 100644
index 0000000..c23fbf1
--- /dev/null
+++ b/src/main/java/com/zy/common/utils/Synchro.java
@@ -0,0 +1,38 @@
+package com.zy.common.utils;
+
+import com.core.exception.CoolException;
+
+import java.beans.BeanInfo;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.lang.reflect.Method;
+
+/**
+ * Created by vincent on 2022/4/1
+ */
+public class Synchro {
+
+    public static void Copy(Object source, Object dest) {
+        try {
+            BeanInfo sourceBean = Introspector.getBeanInfo(source.getClass(),Object.class);
+            PropertyDescriptor[] sourceProperty = sourceBean.getPropertyDescriptors();
+            BeanInfo destBean = Introspector.getBeanInfo(dest.getClass(),Object.class);
+            PropertyDescriptor[] destProperty = destBean.getPropertyDescriptors();
+            for (PropertyDescriptor propertyDescriptor : sourceProperty) {
+                for (PropertyDescriptor descriptor : destProperty) {
+                    if (propertyDescriptor.getName().equals(descriptor.getName()) && propertyDescriptor.getPropertyType() == descriptor.getPropertyType()) {
+                        Method readMethod = propertyDescriptor.getReadMethod();
+                        Method writeMethod = descriptor.getWriteMethod();
+                        if (null != writeMethod && null != readMethod) {
+                            writeMethod.invoke(dest, readMethod.invoke(source));
+                        }
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new CoolException("灞炴�у鍒跺け璐�:" + e.getMessage());
+        }
+    }
+
+}
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 02ad6cf..e0b34c2 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -44,6 +44,13 @@
         <result column="appe_user" property="appeUser" />
         <result column="appe_time" property="appeTime" />
         <result column="memo" property="memo" />
+        <result column="frozen" property="frozen" />
+        <result column="standby1" property="standby1" />
+        <result column="standby2" property="standby2" />
+        <result column="standby3" property="standby3" />
+        <result column="box_type1" property="boxType1" />
+        <result column="box_type2" property="boxType2" />
+        <result column="box_type3" property="boxType3" />
     </resultMap>
 
     <sql id="stockOutCondition">

--
Gitblit v1.9.1