From 5d468e5ccd96dc068d91d593c770643ecdc6f1af Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 03 七月 2025 16:34:41 +0800
Subject: [PATCH] 1. 入库历史订单明细数据丢失 2. 库存信息响应问题 3. 出库明细新加客户信息 4. 库存明细增加查询条件 5. 出库修改物料来源

---
 zy-asrs-admin/src/components/print/orderPrint/template/template1.vue                     |   92 +++++----
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/ViewLocDetl.java                   |  133 ++++++++------
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Order.java                         |    3 
 zy-asrs-admin/src/views/base/zpalletBarcode/index.vue                                    |    2 
 zy-asrs-admin/src/components/orderLog/index.vue                                          |    3 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java             |   47 ++++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderDetlLogService.java          |    2 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlLogController.java    |    2 
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderDetlLogServiceImpl.java |    4 
 zy-asrs-admin/src/components/orderDetl/edit.vue                                          |   10 +
 zy-asrs-admin/src/components/order/order/orderOut.vue                                    |    3 
 zy-asrs-admin/src/views/loc/locDetl/index.vue                                            |   77 ++++---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderLog.java                      |    4 
 zy-asrs-admin/src/components/order/order/edit.vue                                        |   14 -
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/OrderTimer.java                     |   86 ++++-----
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java      |   14 
 16 files changed, 286 insertions(+), 210 deletions(-)

diff --git a/zy-asrs-admin/src/components/order/order/edit.vue b/zy-asrs-admin/src/components/order/order/edit.vue
index abd0d30..06a1d9b 100644
--- a/zy-asrs-admin/src/components/order/order/edit.vue
+++ b/zy-asrs-admin/src/components/order/order/edit.vue
@@ -144,20 +144,8 @@
                         optionLabelProp="label">
                     </a-select>
                 </a-form-item>
-                <!-- <a-form-item :label="formatMessage('db.man_order.order_no', '鐗╂祦鍏徃')" name="orderNo" >
-                    <a-input v-model:value="formData.orderNo" />
-                </a-form-item>
-                <a-form-item :label="formatMessage('db.man_order.order_no', '蹇�掑崟鍙�')" name="orderNo">
-                    <a-input v-model:value="formData.orderNo"/>
-                </a-form-item>
-                <a-form-item :label="formatMessage('db.man_order.order_no', '鐗╂祦鍏徃')" name="orderNo" >
-                    <a-input v-model:value="formData.orderNo"/>
-                </a-form-item>
-                <a-form-item :label="formatMessage('db.man_order.order_no', '蹇�掑崟鍙�')" name="orderNo">
-                    <a-input v-model:value="formData.orderNo"/>
-                </a-form-item> -->
                 <a-form-item :label="formatMessage('db.man_order.update_time', '璁㈠崟鏄庣粏')" name="orderDetl">
-                    <OrderDetlComponent ref="orderDetlChild" v-if="open" />
+                    <OrderDetlComponent ref="orderDetlChild" v-if="open" :ioModel="props.ioModel"/>
                 </a-form-item>
                 <a-form-item>
                     <a-button type="primary" html-type="submit" ref="submitButton"
diff --git a/zy-asrs-admin/src/components/order/order/orderOut.vue b/zy-asrs-admin/src/components/order/order/orderOut.vue
index 52cbacb..85a6da8 100644
--- a/zy-asrs-admin/src/components/order/order/orderOut.vue
+++ b/zy-asrs-admin/src/components/order/order/orderOut.vue
@@ -410,7 +410,6 @@
                         style="width: 140px;margin-right: 10px;" show-search allowClear :options="orderTypeQueryList"
                         optionFilterProp="label" optionLabelProp="label">
                     </a-select>
-
                     <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')"
                         style="width: 200px;" @search="onSearch" />
                 </div>
@@ -473,9 +472,7 @@
                 </template>
             </template>
         </a-table>
-
         <ShowOrderDetlComponent ref="showOrderDetlChild" />
-
     </div>
   <OrderPrint ref="printChild" />
 </template>
diff --git a/zy-asrs-admin/src/components/orderDetl/edit.vue b/zy-asrs-admin/src/components/orderDetl/edit.vue
index ef4ac13..2b23c19 100644
--- a/zy-asrs-admin/src/components/orderDetl/edit.vue
+++ b/zy-asrs-admin/src/components/orderDetl/edit.vue
@@ -13,6 +13,10 @@
 
 const TABLE_KEY = 'table-locDetl';
 
+const props = defineProps({
+    ioModel: null
+})
+
 let tableData = ref([]);
 let deleteDetlId = ref([]);
 let orderId = ref(null);
@@ -226,7 +230,11 @@
 
 function matQuery(condition) {
     matFetching.value = true;
-    post('/api/mat/page', {
+    let url = '/api/mat/page'
+    if (props.ioModel == 2) {
+        url = '/api/locs/mats/page'
+    } 
+    post(url, {
         current: 1,
         pageSize: 10,
         condition: condition
diff --git a/zy-asrs-admin/src/components/orderLog/index.vue b/zy-asrs-admin/src/components/orderLog/index.vue
index 227aab7..5de80e4 100644
--- a/zy-asrs-admin/src/components/orderLog/index.vue
+++ b/zy-asrs-admin/src/components/orderLog/index.vue
@@ -194,7 +194,8 @@
 
 const showDetl = (item) => {
   showOrderDetlChild.value.openDetl = true;
-  showOrderDetlChild.value.orderId = item.id;
+  showOrderDetlChild.value.orderId = item.orderNo;
+  
 }
 
 const handleExport = async (intl) => {
diff --git a/zy-asrs-admin/src/components/print/orderPrint/template/template1.vue b/zy-asrs-admin/src/components/print/orderPrint/template/template1.vue
index ae08ee5..c2762bc 100644
--- a/zy-asrs-admin/src/components/print/orderPrint/template/template1.vue
+++ b/zy-asrs-admin/src/components/print/orderPrint/template/template1.vue
@@ -1,13 +1,13 @@
 <script setup>
-import {toRefs, ref, defineProps, watch} from 'vue';
+import { toRefs, ref, defineProps, watch } from 'vue';
 import { globalState } from '@/config.js'
 import { formatMessage } from '@/utils/localeUtils';
 
 const props = defineProps({
-  orderNo: {
-    type: String,
-    default: ''
-  },
+    orderNo: {
+        type: String,
+        default: ''
+    },
     list: {
         type: Array,
         default: []
@@ -17,45 +17,59 @@
         default: 1
     }
 });
-const { orderNo,list, repeatNum } = toRefs(props)
+const { orderNo, list, repeatNum } = toRefs(props)
 
 </script>
 
 <template>
     <div id="printOrder">
-                <div>
-                    <table class="contain" width="1200"
-                        style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
-                        <tr style="height: 100px">
-                            <td colspan="1" align="center" scope="col">璁㈠崟鍙�</td>
-                            <td colspan="2" align="center" scope="col">{{orderNo}}</td>
-                            <td class="barcode" colspan="9" align="center" scope="col">
-                                <img :src="globalState.url + '/api/code/auth?type=1&param=' + orderNo" width="70%;" />
-                                <div style="letter-spacing: 2px;margin-top: 1px; text-align: center;">
-                                    <span>{{ orderNo }} </span>
-                                </div>
-                            </td>
-                        </tr>
-                      <tr style="height: 40px">
-                        <td align="center" colspan="1">搴忓彿</td>
-                        <td align="center" colspan="2">鍟嗗搧缂栧彿</td>
-                        <td align="center" colspan="3">鍟嗗搧鍚嶇О</td>
-                        <td align="center" colspan="2">鎵规</td>
-                        <td align="center" colspan="2">瑙勬牸</td>
-                        <td align="center" colspan="1">鏁伴噺 </td>
-                      </tr>
-                        <template v-for="(item, index) in list" :key="index">
-                        <tr style="height: 40px">
-                          <td align="center" colspan="1">{{index + 1}}</td>
-                          <td align="center" colspan="2">{{ item.matnr }}</td>
-                          <td align="center" colspan="3">{{ item.maktx }}</td>
-                          <td align="center" colspan="2">{{ item.batch }}</td>
-                          <td align="center" colspan="2">{{ item.specs }}</td>
-                          <td align="center" colspan="1">{{ item.anfme }}</td>
-                        </tr>
-                        </template>
-                    </table>
-                </div>
+        <div>
+            <table class="contain" width="1200" style="overflow: hidden;font-size: xx-small;table-layout: fixed;">
+
+                <tr style="height: 40px">
+                    <td align="center" colspan="2">瀹㈡埛鍚嶇О</td>
+                    <td align="center" colspan="2">鑱旂郴鐢佃瘽</td>
+                    <td align="center" colspan="3">蹇�掑崟鍙�</td>
+                    <td align="center" colspan="4">鏀惰揣鍦板潃</td>
+                </tr>
+                <template v-for="(item, index) in list" :key="index">
+                    <tr style="height: 40px">
+                        <td align="center" colspan="2">{{ item.customer }}</td>
+                        <td align="center" colspan="2">{{ item.phone }}</td>
+                        <td align="center" colspan="3">{{ item.logistics }}</td>
+                        <td align="center" colspan="4">{{ item.address }}</td>
+                    </tr>
+                </template>
+                <tr style="height: 100px">
+                    <td colspan="1" align="center" scope="col">璁㈠崟鍙�</td>
+                    <td colspan="2" align="center" scope="col">{{ orderNo }}</td>
+                    <td class="barcode" colspan="8" align="center" scope="col" >
+                        <img :src="globalState.url + '/api/code/auth?type=1&param=' + orderNo" width="70%;" />
+                        <div style="letter-spacing: 2px;margin-top: 1px; text-align: center;">
+                            <span>{{ orderNo }} </span>
+                        </div>
+                    </td>
+                </tr>
+                <tr style="height: 40px">
+                    <td align="center" colspan="1">搴忓彿</td>
+                    <td align="center" colspan="2">鍟嗗搧缂栧彿</td>
+                    <td align="center" colspan="3">鍟嗗搧鍚嶇О</td>
+                    <td align="center" colspan="2">鎵规</td>
+                    <td align="center" colspan="2">瑙勬牸</td>
+                    <td align="center" colspan="1">鏁伴噺 </td>
+                </tr>
+                <template v-for="(item, index) in list" :key="index">
+                    <tr style="height: 40px">
+                        <td align="center" colspan="1">{{ index + 1 }}</td>
+                        <td align="center" colspan="2">{{ item.matnr }}</td>
+                        <td align="center" colspan="3">{{ item.maktx }}</td>
+                        <td align="center" colspan="2">{{ item.batch }}</td>
+                        <td align="center" colspan="2">{{ item.specs }}</td>
+                        <td align="center" colspan="1">{{ item.anfme }}</td>
+                    </tr>
+                </template>
+            </table>
+        </div>
     </div>
 </template>
 
diff --git a/zy-asrs-admin/src/views/base/zpalletBarcode/index.vue b/zy-asrs-admin/src/views/base/zpalletBarcode/index.vue
index 053ff00..1f6c2b5 100644
--- a/zy-asrs-admin/src/views/base/zpalletBarcode/index.vue
+++ b/zy-asrs-admin/src/views/base/zpalletBarcode/index.vue
@@ -299,7 +299,7 @@
         <a-form-item :label="formatMessage('db.man_container.type', '鎵樼洏绫诲瀷')" name="type" >
           <a-select v-model:value="pakinType" :options="[
             { label: '骞冲簱鎵樼洏', value: 1 },
-            { label: '绔嬪簱鎵樼洏', value: 2 },
+            { label: '绔嬪簱鎵樼洏', value: 2 },  
           ]">
           </a-select>
         </a-form-item>
diff --git a/zy-asrs-admin/src/views/loc/locDetl/index.vue b/zy-asrs-admin/src/views/loc/locDetl/index.vue
index 266438f..2b2d2fd 100644
--- a/zy-asrs-admin/src/views/loc/locDetl/index.vue
+++ b/zy-asrs-admin/src/views/loc/locDetl/index.vue
@@ -20,6 +20,7 @@
   matnr: null,
   orderNo: null,
   batch: null,
+  tagId: null,
 })
 const editChild = ref(null)
 
@@ -76,32 +77,39 @@
     ...getColumnSearchProps('matnr'),
   },
   {
-        title: formatMessage('db.man_loc_detl.maktx', '鍟嗗搧鍚嶇О'),
-        dataIndex: 'maktx',
-        width: 140,
-        ellipsis: true,
-        ...getColumnSearchProps('maktx'),
-    },
-   {
-        title: formatMessage('db.man_loc_detl.specs', '瑙勬牸'),
-        dataIndex: 'specs',
-        width: 140,
-        ellipsis: true,
-        ...getColumnSearchProps('specs'),
-    },
-   {
-        title: formatMessage('db.man_loc_detl.model', '鍨嬪彿'),
-        dataIndex: 'model',
-        width: 140,
-        ellipsis: true,
-        ...getColumnSearchProps('model'),
+    title: formatMessage('db.man_loc_detl.maktx', '鍟嗗搧鍚嶇О'),
+    dataIndex: 'maktx',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('maktx'),
   },
   {
-        title: formatMessage('db.man_loc_detl.dewell', '鍏ュ簱鏃堕棿'),
-        dataIndex: 'dewell$',
-        width: 140,
-        ellipsis: true,
-        ...getColumnSearchProps('dewell$'),
+    title: formatMessage('db.man_loc_detl.specs', '瑙勬牸'),
+    dataIndex: 'specs',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('specs'),
+  },
+  {
+    title: formatMessage('db.man_loc_detl.model', '鍨嬪彿'),
+    dataIndex: 'model',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('model'),
+  },
+  {
+    title: formatMessage('db.man_loc_detl.model', '鍝佺被'),
+    dataIndex: 'tagId$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('tagId$'),
+  },
+  {
+    title: formatMessage('db.man_loc_detl.dewell', '鍏ュ簱鏃堕棿'),
+    dataIndex: 'dewell$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('dewell$'),
   },
   {
     title: formatMessage('db.man_loc_detl.order_no', '璁㈠崟鍙�'),
@@ -195,15 +203,6 @@
         width: 140,
       })
     })
-
-    // tmp.push({
-    //   title: formatMessage('common.operation', '鎿嶄綔'),
-    //   name: 'oper',
-    //   dataIndex: 'oper',
-    //   key: 'oper',
-    //   width: 140,
-    // })
-
     state.columns = tmp;
   } else if (result.code === 401) {
     message.error(result.msg);
@@ -310,12 +309,20 @@
           style="width: 140px;margin-right: 10px;" />
         <a-input v-model:value="searchParam.matnr" :placeholder="formatMessage('page.locDetl.matnr.input', '璇疯緭鍏ュ晢鍝佺紪鍙�')"
           style="width: 140px;margin-right: 10px;" />
+        <a-input v-model:value="searchParam.maktx" :placeholder="formatMessage('page.locDetl.maktx.input', '璇疯緭鍏ュ晢鍝佸悕绉�')"
+          style="width: 140px;margin-right: 10px;" />
         <a-input v-model:value="searchParam.orderNo"
           :placeholder="formatMessage('page.locDetl.orderNo.input', '璇疯緭鍏ヨ鍗曞彿')"
           style="width: 140px;margin-right: 10px;" />
         <a-input v-model:value="searchParam.batch" :placeholder="formatMessage('page.locDetl.batch.input', '璇疯緭鍏ユ壒鍙�')"
           style="width: 140px;margin-right: 10px;" />
-
+        <a-select v-model:value="searchParam.tagId" :placeholder="formatMessage('page.locDetl.orderNo.input', '璇烽�夋嫨鍝佺被')" :options="[
+          { label: '榛樿鍒嗙被', value: 10 },{ label: '鏈烘补', value: 11 }, { label: '鍙橀�熺娌�', value: 17 }, { label: '鐏姳濉�', value: 18 },
+          { label: '鍏绘姢鍝�', value: 25 },{ label: '娌规紗鑰楁潗', value: 26 }, { label: '鐞冨ご鎽嗚噦', value: 27 }, { label: '鐮傜焊绫�', value: 31 },
+          { label: '鑿滅摐甯�', value: 32 }, { label: '閬斀绫�', value: 33 }, { label: '鎶涘厜绫�', value: 34 }, { label: '闄ゅ皹绫�', value: 35 },
+          { label: '婕忔枟绫�', value: 36 }, { label: '闃叉姢绫�', value: 37 }, { label: '鐑ゆ埧淇濆吇绫�', value: 38 }, { label: '璋冩紗缃�', value: 39 },
+          { label: '鍠锋灙', value: 40 }, { label: '璐规柉鎵樼郴鍒�', value: 41 },]" style="width: 140px;margin-right: 10px;">
+        </a-select>
         <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')"
           style="width: 200px;" @search="onSearch" />
       </div>
@@ -334,7 +341,7 @@
           <div style="display: flex;justify-content: space-evenly;">
             <a-button type="link" primary @click="handleEdit(record)">{{ formatMessage('page.edit', '缂栬緫') }}</a-button>
             <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '鍒犻櫎')
-              }}</a-button>
+            }}</a-button>
           </div>
         </template>
       </template>
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java
index ab47108..d327bc4 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java
@@ -9,19 +9,17 @@
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.R;
 import com.zy.asrs.framework.exception.CoolException;
-import com.zy.asrs.wms.asrs.entity.MatField;
-import com.zy.asrs.wms.asrs.entity.MatFieldValue;
-import com.zy.asrs.wms.asrs.entity.Tag;
+import com.zy.asrs.wms.asrs.entity.*;
 import com.zy.asrs.wms.asrs.entity.template.MatTemplate;
 import com.zy.asrs.wms.asrs.service.MatFieldService;
 import com.zy.asrs.wms.asrs.service.MatFieldValueService;
 import com.zy.asrs.wms.asrs.service.TagService;
+import com.zy.asrs.wms.asrs.service.impl.LocDetlServiceImpl;
 import com.zy.asrs.wms.common.annotation.CacheData;
 import com.zy.asrs.wms.common.annotation.OperationLog;
 import com.zy.asrs.wms.common.domain.BaseParam;
 import com.zy.asrs.wms.common.domain.KeyValVo;
 import com.zy.asrs.wms.common.domain.PageParam;
-import com.zy.asrs.wms.asrs.entity.Mat;
 import com.zy.asrs.wms.asrs.service.MatService;
 import com.zy.asrs.wms.system.controller.BaseController;
 import com.zy.asrs.wms.utils.ExcelUtil;
@@ -33,6 +31,7 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/api")
@@ -46,6 +45,8 @@
     private MatFieldValueService matFieldValueService;
     @Autowired
     private TagService tagService;
+    @Autowired
+    private LocDetlServiceImpl locDetlService;
 
     @PreAuthorize("hasAuthority('asrs:mat:list')")
     @PostMapping("/mat/page")
@@ -70,6 +71,44 @@
         return R.ok().add(data);
     }
 
+
+    /**
+     * @author Ryan
+     * @date 2025/7/3
+     * @description: 鑾峰彇鍙嚭搴撶墿鏂欎俊鎭�
+     * @version 1.0
+     */
+    @PreAuthorize("hasAuthority('asrs:mat:list')")
+    @PostMapping("/locs/mats/page")
+    public R getOutPage(@RequestBody Map<String, Object> param) {
+        List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>().select(LocDetl::getMatId));
+        if (locDetls.isEmpty()) {
+            return R.ok();
+        }
+        /**鑾峰彇瀛樼墿鏂欎俊鎭�*/
+        Set<Long> ids = locDetls.stream().map(LocDetl::getMatId).collect(Collectors.toSet());
+
+        BaseParam baseParam = buildParam(param, BaseParam.class);
+        PageParam<Mat, BaseParam> pageParam = new PageParam<>(baseParam, Mat.class);
+        QueryWrapper<Mat> queryWrapper = pageParam.buildWrapper(true);
+        queryWrapper.orderByDesc("utiliz");
+        queryWrapper.in("id", ids);
+
+        PageParam<Mat, BaseParam> page = matService.page(pageParam, queryWrapper);
+
+        JSONObject data = JSON.parseObject(JSON.toJSONString(page));
+
+        List<Mat> records = page.getRecords();
+        data.put("records", records);
+        for (Mat mat : records) {
+            List<MatFieldValue> list = matFieldValueService.list(new LambdaQueryWrapper<MatFieldValue>()
+                    .eq(MatFieldValue::getMatId, mat.getId()));
+            mat.syncField(list);
+        }
+        return R.ok(data);
+    }
+
+
     @PreAuthorize("hasAuthority('asrs:mat:list')")
     @PostMapping("/mat/list")
     @CacheData(tableName = {"man_mat"})
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlLogController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlLogController.java
index 6b8f66c..345c30f 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlLogController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlLogController.java
@@ -49,7 +49,7 @@
     @PreAuthorize("hasAuthority('asrs:orderDetl:list')")
     @GetMapping("/orderDetlLog/orderId/{orderId}")
     @CacheData(tableName = {"man_order_detl_log"})
-    public R list(@PathVariable("orderId") Long orderId) {
+    public R list(@PathVariable("orderId") String orderId) {
         return R.ok().add(orderDetlLogService.getOrderDetlByOrderId(orderId));
     }
 
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Order.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Order.java
index 3f2c2d4..d8c68e7 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Order.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/Order.java
@@ -66,6 +66,9 @@
     @ApiModelProperty(value= "鍗曟嵁鐘舵��")
     private Long orderSettle;
 
+    @ApiModelProperty("瀹㈡埛鍚嶇О")
+    private String customer;
+
     @ApiModelProperty("鐗╂祦鍚嶇О")
     private String logisticsName;
 
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderLog.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderLog.java
index a21b3eb..587d716 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderLog.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/OrderLog.java
@@ -39,6 +39,10 @@
     @TableId(value = "id", type = IdType.INPUT)
     private Long id;
 
+
+    @ApiModelProperty("鍘熷崟ID")
+    private Long orderId;
+
     /**
      * 璁㈠崟缂栧彿
      */
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/ViewLocDetl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/ViewLocDetl.java
index c6999f5..bf47a32 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/ViewLocDetl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/ViewLocDetl.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.framework.common.SpringUtils;
 import com.zy.asrs.wms.asrs.service.LocService;
 import com.zy.asrs.wms.asrs.service.MatService;
+import com.zy.asrs.wms.asrs.service.TagService;
 import com.zy.asrs.wms.system.entity.Host;
 import com.zy.asrs.wms.system.entity.User;
 import com.zy.asrs.wms.system.service.HostService;
@@ -85,11 +86,23 @@
     @ApiModelProperty(value= "鎵�灞炴満鏋�")
     private Long hostId;
 
+    @ApiModelProperty("鐗╂枡鍚嶇О")
+    private String maktx;
+
+    @ApiModelProperty("瑙勬牸")
+    private String specs;
+
+    @ApiModelProperty("鍨嬪彿")
+    private String model;
+
     /**
      * 鐘舵�� 1: 姝e父  0: 绂佺敤
      */
     @ApiModelProperty(value= "鐘舵�� 1: 姝e父  0: 绂佺敤  ")
     private Integer status;
+
+    @ApiModelProperty("鍒嗙被鏍囪瘑")
+    private Long tagId;
 
     /**
      * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�
@@ -184,12 +197,22 @@
         return null;
     }
 
-    @Delegate(types = Mat.class)
-    public Mat getMatId$(){
-        MatService service = SpringUtils.getBean(MatService.class);
-        Mat mat = service.getById(this.matId);
-        return mat;
+    public String getTagId$() {
+        TagService tagService = SpringUtils.getBean(TagService.class);
+        Tag byId = tagService.getById(this.tagId);
+        if (!Cools.isEmpty(byId)){
+            return byId.getName();
+        }
+        return null;
     }
+
+
+//    @Delegate(types = Mat.class)
+//    public Mat getMatId$(){
+//        MatService service = SpringUtils.getBean(MatService.class);
+//        Mat mat = service.getById(this.matId);
+//        return mat;
+//    }
 
     public String getDewell$() {
         return DateUtils.diff(new Date(), createTime) + "澶�";
@@ -278,56 +301,56 @@
     }
 
     //鍔ㄦ�佹墿灞曞瓧娈�
-    public transient Map<String, Object> dynamicFields = new HashMap<>();
+//    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);
-    }
+//    @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);
+//    }
 
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderDetlLogService.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderDetlLogService.java
index 161b962..3492350 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderDetlLogService.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/OrderDetlLogService.java
@@ -7,6 +7,6 @@
 
 public interface OrderDetlLogService extends IService<OrderDetlLog> {
 
-    List<OrderDetlLog> getOrderDetlByOrderId(Long orderId);
+    List<OrderDetlLog> getOrderDetlByOrderId(String orderId);
 
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java
index 666a234..179df20 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocDetlServiceImpl.java
@@ -44,13 +44,13 @@
         PageParam<ViewLocDetl, BaseParam> result = viewLocDetlMapper.selectPage(pageParam, buildWrapper);
 
         //瑙f瀽鍔ㄦ�佸瓧娈�
-        JSONObject data = JSON.parseObject(JSON.toJSONString(result));
-        List<ViewLocDetl> records = result.getRecords();
-        data.put("records", records);
-        for (ViewLocDetl locDetl : records) {
-            Map<String, Object> resultMap = viewLocDetlMapper.getById(locDetl.getId());
-            locDetl.syncFieldMap(resultMap);
-        }
+//        JSONObject data = JSON.parseObject(JSON.toJSONString(result));
+//        List<ViewLocDetl> records = result.getRecords();
+//        data.put("records", records);
+//        for (ViewLocDetl locDetl : records) {
+//            Map<String, Object> resultMap = viewLocDetlMapper.getById(locDetl.getId());
+//            locDetl.syncFieldMap(resultMap);
+//        }
         return result;
     }
 
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderDetlLogServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderDetlLogServiceImpl.java
index d3c39fe..f764961 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderDetlLogServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderDetlLogServiceImpl.java
@@ -23,8 +23,8 @@
     private OrderDetlFieldLogService orderDetlFieldLogService;
 
     @Override
-    public List<OrderDetlLog> getOrderDetlByOrderId(Long orderId) {
-        List<OrderDetlLog> orderDetlLogs = this.list(new LambdaQueryWrapper<OrderDetlLog>().eq(OrderDetlLog::getOrderId, orderId));
+    public List<OrderDetlLog> getOrderDetlByOrderId(String orderId) {
+        List<OrderDetlLog> orderDetlLogs = this.list(new LambdaQueryWrapper<OrderDetlLog>().eq(OrderDetlLog::getOrderNo, orderId));
         for (OrderDetlLog orderDetlLog : orderDetlLogs) {
             List<OrderDetlFieldLog> list = orderDetlFieldLogService.list(new LambdaQueryWrapper<OrderDetlFieldLog>().eq(OrderDetlFieldLog::getDetlId, orderDetlLog.getId()));
             orderDetlLog.syncField(list);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/OrderTimer.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/OrderTimer.java
index 88a2d54..d89849d 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/OrderTimer.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/OrderTimer.java
@@ -31,67 +31,59 @@
     @Autowired
     private OrderDetlFieldLogService orderDetlFieldLogService;
 
-    @Scheduled(cron = "0/3 * * * * ? ")
+    @Scheduled(cron = "0/13 * * * * ? ")
     @Transactional(rollbackFor = Exception.class)
     public void orderToHistory() {
-        InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());
-        try {
-            List<Order> list = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getOrderSettle, OrderSettleType.COMPLETE.val()));
-            if (list.isEmpty()) {
-                return;
+        List<Order> list = orderService.list(new LambdaQueryWrapper<Order>().eq(Order::getOrderSettle, OrderSettleType.COMPLETE.val()));
+        if (list.isEmpty()) {
+            return;
+        }
+        for (Order order : list) {
+            //杞巻鍙叉。
+            OrderLog orderLog = new OrderLog();
+            orderLog.sync(order);
+            orderLog.setOrderId(order.getId());
+            orderLog.setId(null);
+            if (!orderLogService.save(orderLog)) {
+                throw new CoolException("璁㈠崟杞巻鍙叉。澶辫触");
             }
 
-            for (Order order : list) {
-                //杞巻鍙叉。
-                OrderLog orderLog = new OrderLog();
-                orderLog.sync(order);
-                orderLog.setId(null);
-                if (!orderLogService.save(orderLog)) {
-                    throw new CoolException("璁㈠崟杞巻鍙叉。澶辫触");
+            //璁㈠崟鏄庣粏杞巻鍙叉。
+            List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+                    .eq(OrderDetl::getOrderId, order.getId()));
+            for (OrderDetl orderDetl : orderDetls) {
+                OrderDetlLog orderDetlLog = new OrderDetlLog();
+                orderDetlLog.sync(orderDetl);
+                orderDetlLog.setId(null);
+                if(!orderDetlLogService.save(orderDetlLog)) {
+                    throw new CoolException("璁㈠崟鏄庣粏杞巻鍙叉。澶辫触");
                 }
 
-                //璁㈠崟鏄庣粏杞巻鍙叉。
-                List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
-                for (OrderDetl orderDetl : orderDetls) {
-                    OrderDetlLog orderDetlLog = new OrderDetlLog();
-                    orderDetlLog.sync(orderDetl);
-                    orderDetlLog.setId(null);
-                    if(!orderDetlLogService.save(orderDetlLog)) {
-                        throw new CoolException("璁㈠崟鏄庣粏杞巻鍙叉。澶辫触");
+                //鏄庣粏鎵╁睍瀛楁杞巻鍙叉。
+                List<OrderDetlField> orderDetlFields = orderDetlFieldService.list(new LambdaQueryWrapper<OrderDetlField>().eq(OrderDetlField::getDetlId, orderDetl.getId()));
+                for (OrderDetlField orderDetlField : orderDetlFields) {
+                    OrderDetlFieldLog orderDetlFieldLog = new OrderDetlFieldLog();
+                    orderDetlFieldLog.sync(orderDetlField);
+                    if(!orderDetlFieldLogService.save(orderDetlFieldLog)) {
+                        throw new CoolException("鏄庣粏鎵╁睍瀛楁杞巻鍙叉。澶辫触");
                     }
 
-                    //鏄庣粏鎵╁睍瀛楁杞巻鍙叉。
-                    List<OrderDetlField> orderDetlFields = orderDetlFieldService.list(new LambdaQueryWrapper<OrderDetlField>().eq(OrderDetlField::getDetlId, orderDetl.getId()));
-                    for (OrderDetlField orderDetlField : orderDetlFields) {
-                        OrderDetlFieldLog orderDetlFieldLog = new OrderDetlFieldLog();
-                        orderDetlFieldLog.sync(orderDetlField);
-                        if(!orderDetlFieldLogService.save(orderDetlFieldLog)) {
-                            throw new CoolException("鏄庣粏鎵╁睍瀛楁杞巻鍙叉。澶辫触");
-                        }
-
-                        //鍒犻櫎鏄庣粏鎵╁睍瀛楁
-                        if (!orderDetlFieldService.removeById(orderDetlField.getId())) {
-                            throw new CoolException("鍒犻櫎鏄庣粏鎵╁睍瀛楁澶辫触");
-                        }
-                    }
-
-                    //鍒犻櫎璁㈠崟鏄庣粏
-                    if (!orderDetlService.removeById(orderDetl)) {
-                        throw new CoolException("鍒犻櫎璁㈠崟鏄庣粏澶辫触");
+                    //鍒犻櫎鏄庣粏鎵╁睍瀛楁
+                    if (!orderDetlFieldService.removeById(orderDetlField.getId())) {
+                        throw new CoolException("鍒犻櫎鏄庣粏鎵╁睍瀛楁澶辫触");
                     }
                 }
 
-                //鍒犻櫎璁㈠崟
-                if (!orderService.removeById(order.getId())) {
-                    throw new CoolException("鍒犻櫎璁㈠崟澶辫触");
+                //鍒犻櫎璁㈠崟鏄庣粏
+                if (!orderDetlService.removeById(orderDetl)) {
+                    throw new CoolException("鍒犻櫎璁㈠崟鏄庣粏澶辫触");
                 }
             }
 
-        } catch (Exception e) {
-            e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-        }finally {
-            InterceptorIgnoreHelper.clearIgnoreStrategy();
+            //鍒犻櫎璁㈠崟
+            if (!orderService.removeById(order.getId())) {
+                throw new CoolException("鍒犻櫎璁㈠崟澶辫触");
+            }
         }
     }
 

--
Gitblit v1.9.1