From 4391af490bdc1ecbe0d0e949dc4fc3b95bead0cf Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 06 八月 2025 19:07:09 +0800
Subject: [PATCH] 8-6问题修复

---
 zy-asrs-admin/src/components/print/orderPrint/template/template1.vue              |   12 ++++-
 zy-asrs-admin/src/components/print/orderPrint/index.vue                           |    4 +
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/OrderMapper.java            |    2 
 zy-asrs-admin/src/components/order/order/orderIn.vue                              |    2 +
 zy-asrs-admin/src/components/orderDetl/show.vue                                   |    5 +-
 zy-asrs-wms/src/main/resources/mapper/asrs/OrderMapper.xml                        |    4 +-
 zy-asrs-admin/src/views/loc/locDetl/index.vue                                     |   14 +++---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java |   26 ++++++++++--
 8 files changed, 48 insertions(+), 21 deletions(-)

diff --git a/zy-asrs-admin/src/components/order/order/orderIn.vue b/zy-asrs-admin/src/components/order/order/orderIn.vue
index fbcac4e..c8fd6d6 100644
--- a/zy-asrs-admin/src/components/order/order/orderIn.vue
+++ b/zy-asrs-admin/src/components/order/order/orderIn.vue
@@ -215,6 +215,7 @@
 const showDetl = (item) => {
   showOrderDetlChild.value.openDetl = true;
   showOrderDetlChild.value.orderId = item.id;
+  showOrderDetlChild.value.inModel = 'in';
 }
 
 const printChild = ref(null);
@@ -237,6 +238,7 @@
   printChild.value.printData = printData;
   printChild.value.orderNo = record.__v_raw.orderNo
   printChild.value.open = true;
+  printChild.value.inModel = "in";
 }
 
 const handleExport = async (intl) => {
diff --git a/zy-asrs-admin/src/components/orderDetl/show.vue b/zy-asrs-admin/src/components/orderDetl/show.vue
index f9153ba..78062f8 100644
--- a/zy-asrs-admin/src/components/orderDetl/show.vue
+++ b/zy-asrs-admin/src/components/orderDetl/show.vue
@@ -18,6 +18,7 @@
 let tableData = ref([]);
 let openDetl = ref(false);
 const orderId = ref(null);
+const inModel = ref('');
 const orderInfo = ref({
     orderInfo: '',
     orderType$: '',
@@ -213,6 +214,7 @@
     orderId,
     openDetl,
     showWidth,
+    inModel,
 })
 
 </script>
@@ -257,7 +259,7 @@
                         鑱旂郴鐢佃瘽锛歿{ orderInfo.phone }}
                     </h3>
                 </div>
-                <div>
+                <div v-if="inModel != 'in'">
                     <h2>
                         鍑虹珯鍙o細{{ orderInfo.site }}
                     </h2>
@@ -272,7 +274,6 @@
                     <template v-if="column.dataIndex === 'workQty'">
                         <a-button type="link" @click="openWorkTask(record)">{{ text }}</a-button>
                     </template>
-
                     <template v-if="column.dataIndex === 'qty'">
                         <a-button type="link" @click="openCompleteQty(record)">{{ text }}</a-button>
                     </template>
diff --git a/zy-asrs-admin/src/components/print/orderPrint/index.vue b/zy-asrs-admin/src/components/print/orderPrint/index.vue
index d77db27..3eb942b 100644
--- a/zy-asrs-admin/src/components/print/orderPrint/index.vue
+++ b/zy-asrs-admin/src/components/print/orderPrint/index.vue
@@ -11,6 +11,7 @@
 const selectTemplate = ref('Template1');
 let open = ref(false);
 let data = ref({})
+let inModel = ref('');
 let printData = ref([]);
 let repeatNum = ref(1);
 let orderNo = ref('');
@@ -36,6 +37,7 @@
     open,
     orderNo,
     data,
+    inModel,
     printData
 })
 </script>
@@ -44,7 +46,7 @@
     <a-modal v-model:open="open" :title="formatMessage('', '璁㈠崟鎵撳嵃')" @ok="handleOk" :width="'80%'" v-if="open">
         <div style="height: 500px;overflow-x: hidden;overflow-y: scroll;">
             <div style="margin-top: 20px;">
-                <Component :is="template[selectTemplate]" ref="printChild" :list="printData" :repeatNum="repeatNum" :orderNo="orderNo" :data="data"/>
+                <Component :is="template[selectTemplate]" ref="printChild" :list="printData" :repeatNum="repeatNum" :inModel="inModel" :orderNo="orderNo" :data="data"/>
             </div>
         </div>
         <template #footer>
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 cc9e101..b788655 100644
--- a/zy-asrs-admin/src/components/print/orderPrint/template/template1.vue
+++ b/zy-asrs-admin/src/components/print/orderPrint/template/template1.vue
@@ -19,9 +19,13 @@
     data: {
         type: Object,
         default: {}
+    },
+    inModel: {
+        type: String,
+        default: ''
     }
 });
-const { orderNo, list, repeatNum, data } = toRefs(props)
+const { orderNo, list, repeatNum, data, inModel } = toRefs(props)
 </script>
 
 <template>
@@ -31,15 +35,17 @@
                 <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="inModel == 'in' ? '3' : '2'">蹇�掑崟鍙�</td>
                     <td align="center" colspan="4">鏀惰揣鍦板潃</td>
+                    <td align="center" colspan="1" v-if="inModel != 'in'">鍑哄簱鍙�</td>
                 </tr>
                 <template v-for="(item, index) in list" :key="index">
                     <tr style="height: 40px" v-if="index == 0">
                         <td align="center" colspan="2">{{ data.customer }}</td>
                         <td align="center" colspan="2">{{ data.phone }}</td>
-                        <td align="center" colspan="3">{{ data.logistics }}</td>
+                        <td align="center" :colspan="inModel == 'in' ? '3' : '2'">{{ data.logistics }}</td>
                         <td align="center" colspan="4">{{ data.address }}</td>
+                        <td align="center" colspan="1" v-if="inModel != 'in'">{{ data.site }}</td>
                     </tr>
                 </template>
                 <tr style="height: 100px">
diff --git a/zy-asrs-admin/src/views/loc/locDetl/index.vue b/zy-asrs-admin/src/views/loc/locDetl/index.vue
index 99a27c4..66a2c7c 100644
--- a/zy-asrs-admin/src/views/loc/locDetl/index.vue
+++ b/zy-asrs-admin/src/views/loc/locDetl/index.vue
@@ -159,13 +159,13 @@
     ellipsis: true,
     ...getColumnSearchProps('anfme'),
   },
-  // {
-  //   title: formatMessage('db.man_loc_detl.freeze', '鏄惁鍐荤粨'),
-  //   dataIndex: 'freeze$',
-  //   width: 140,
-  //   ellipsis: true,
-  //   ...getColumnSearchProps('freeze$'),
-  // },
+  {
+    title: formatMessage('db.man_loc_detl.freeze', '鏄惁鍐荤粨'),
+    dataIndex: 'freeze$',
+    width: 140,
+    ellipsis: true,
+    ...getColumnSearchProps('freeze$'),
+  },
   {
     title: formatMessage('db.man_loc_detl.status', '鐘舵��'),
     dataIndex: 'status$',
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/OrderMapper.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/OrderMapper.java
index 32e9915..463f53b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/OrderMapper.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/OrderMapper.java
@@ -13,5 +13,5 @@
 @Repository
 public interface OrderMapper extends BaseMapper<Order> {
 
-    List<OrderInfoDto> getDetlForOrderId(@Param("orderId") Long orderId, @Param("matId") Long matId);
+    List<OrderInfoDto> getDetlForOrderId(@Param("orderId") Long orderId, @Param("matnr") String matnr);
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
index e22e623..c8d37ea 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/OrderServiceImpl.java
@@ -40,6 +40,8 @@
     private OrderUtils orderUtils;
     @Autowired
     private WaitPakinService waitPakinService;
+    @Autowired
+    private LocDetlService locDetlService;
 
     @Override
     @Transactional
@@ -82,7 +84,7 @@
         }
 
         for (HashMap<String, Object> map : param.getList()) {
-            double anfme = Double.parseDouble(map.get("anfme").toString());
+            Double anfme = Double.parseDouble(map.get("anfme").toString());
             String batch = map.get("batch").toString();
             String matnr = map.get("matnr").toString();
             Double qty = 0D;
@@ -93,6 +95,20 @@
             if (map.containsKey("workQty")) {
                 workQty = Double.parseDouble(map.get("workQty").toString());
             }
+
+            if (param.getOrderType() == 2) {
+                List<LocDetl> detls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
+                        .eq(StringUtils.isNotBlank(batch), LocDetl::getBatch, batch)
+                        .eq(StringUtils.isNotBlank(matnr), LocDetl::getMatnr, matnr));
+                if (detls.isEmpty()) {
+                    throw new CoolException("鐗╂枡锛�" + matnr + "鍓╀綑搴撳瓨浣欎笅锛�0" +  "锛屾棤娉曠敓鎴愬嚭搴撳崟!!");
+                }
+                Double sum = detls.stream().mapToDouble(LocDetl::getAnfme).sum();
+                if (anfme.compareTo(sum) > 0) {
+                    throw new CoolException("鐗╂枡锛�" + matnr + "鍓╀綑搴撳瓨浣欎笅锛�" + sum + "锛屾棤娉曠敓鎴愬嚭搴撳崟!!");
+                }
+            }
+
             String memo = map.getOrDefault("memo", "").toString();
             Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr));
             if (mat == null) {
@@ -307,12 +323,12 @@
     @Override
     public List<OrderInfoDto> getDetlForOrderId(Long id, String matnr) {
         if (!Objects.isNull(matnr)) {
-            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>()
-                    .eq(StringUtils.isNotBlank(matnr), Mat::getMatnr, matnr), false);
-            if (Objects.isNull(mat)) {
+//            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>()
+//                    .eq(StringUtils.isNotBlank(matnr), Mat::getMatnr, matnr), false);
+            if (Objects.isNull(matnr)) {
                 return this.baseMapper.getDetlForOrderId(id, null);
             } else {
-                return this.baseMapper.getDetlForOrderId(id, mat.getId());
+                return this.baseMapper.getDetlForOrderId(id, matnr);
             }
         } else {
             return this.baseMapper.getDetlForOrderId(id, null);
diff --git a/zy-asrs-wms/src/main/resources/mapper/asrs/OrderMapper.xml b/zy-asrs-wms/src/main/resources/mapper/asrs/OrderMapper.xml
index a8688c6..0eaa250 100644
--- a/zy-asrs-wms/src/main/resources/mapper/asrs/OrderMapper.xml
+++ b/zy-asrs-wms/src/main/resources/mapper/asrs/OrderMapper.xml
@@ -24,8 +24,8 @@
         <if test="orderId != null">
             AND odl.order_id = #{orderId}
         </if>
-        <if test="matId != null">
-            AND odl.mat_id = #{matId}
+        <if test="matnr != null">
+            AND mm.matnr LIKE CONCAT('%', #{matnr}, '%')
         </if>
         ORDER BY
          work_qty ASC

--
Gitblit v1.9.1