From 219a08427376efdd304e9b11e481ccd8276018bb Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期六, 18 十月 2025 11:14:29 +0800
Subject: [PATCH] 巷道形式存取放物料

---
 Wms/WMS.BLL/BllTransServer/RcsServer.cs                |    2 
 Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs    |   93 ++-
 HTML/views/HouseWithinSetting/HopperTransport.html     | 1355 ++++++++++++++++++++++++++++++++---------------------
 Wms/Wms/appsettings.json                               |    2 
 Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs |    7 
 Wms/Utility/Tools/RcsHelper.cs                         |    6 
 Wms/Wms/Controllers/DownApiController.cs               |    4 
 7 files changed, 879 insertions(+), 590 deletions(-)

diff --git a/HTML/views/HouseWithinSetting/HopperTransport.html b/HTML/views/HouseWithinSetting/HopperTransport.html
index 57b295a..8d51500 100644
--- a/HTML/views/HouseWithinSetting/HopperTransport.html
+++ b/HTML/views/HouseWithinSetting/HopperTransport.html
@@ -1,63 +1,66 @@
 <!DOCTYPE html>
 <html>
-
-<head>
-    <meta charset="utf-8">
+  <head>
+    <meta charset="utf-8" />
     <title>鏂欐枟杞繍</title>
-    <meta name="renderer" content="webkit">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-    <meta name="viewport"
-        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
-    <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
-    <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
-    <link rel="stylesheet" href="../../css/public.css" media="all">
+    <meta name="renderer" content="webkit" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
+    <meta
+      name="viewport"
+      content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0" />
+    <link
+      rel="stylesheet"
+      href="../../layuiadmin/layui/css/layui.css"
+      media="all" />
+    <link
+      rel="stylesheet"
+      href="../../layuiadmin/style/admin.css"
+      media="all" />
+    <link rel="stylesheet" href="../../css/public.css" media="all" />
 
     <style type="text/css">
-        .layui-table-view .layui-table[lay-size=sm] .layui-table-cell {
-            height: auto;
-            line-height: 23px;
-        }
+      .layui-table-view .layui-table[lay-size="sm"] .layui-table-cell {
+        height: auto;
+        line-height: 23px;
+      }
 
-        /* 琛ㄦ牸涓嬫媺灏忕澶撮殣钘� */
-        .layui-table-grid-down {
-            display: none;
-        }
-        .flesDiv{
-            display: flex;
-            justify-content: center;
-            align-items: center;
-        }
-        .solidDiv{
-            border: 1px solid black;
-        }
-        .showDiv{
-            display: block;
-        }
-        .hideDiv{
-            display: none;
-        }
+      /* 琛ㄦ牸涓嬫媺灏忕澶撮殣钘� */
+      .layui-table-grid-down {
+        display: none;
+      }
+      .flesDiv {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+      }
+      .solidDiv {
+        border: 1px solid black;
+      }
+      .showDiv {
+        display: block;
+      }
+      .hideDiv {
+        display: none;
+      }
     </style>
+  </head>
 
-</head>
+  <body id="body">
+    <div class="layui-fluid" style="padding-bottom: 0; height: 99%">
+      <div class="layui-card" style="height: 99%">
+        <div class="layui-card-body" style="height: 100%">
+          <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
+            <ul class="layui-tab-title" id="tab">
+              <li class="layui-this">鍙枡</li>
+              <li>鍙溅</li>
+              <!-- <li>杞﹂棿鍒拌溅闂�</li> -->
+            </ul>
 
-<body id="body">
-
-    <div class="layui-fluid" style="padding-bottom: 0;height: 99%;">
-        <div class="layui-card" style="height: 99%;">
-            <div class="layui-card-body" style="height: 100%;">
-                
-                    <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
-                        <ul class="layui-tab-title" id="tab">
-                            <li class="layui-this">鍙枡</li>
-                            <li>鍙溅</li>
-                            <!-- <li>杞﹂棿鍒拌溅闂�</li> -->
-                        </ul>
- 
-                        <div class="layui-tab-content">
-                            <div class="layui-tab-item layui-show ">
-                                <div class="flesDiv" >
-                                    <form class="layui-form" action="" style="width: 40%;">
-                                        <!-- <div class="layui-form-item">
+            <div class="layui-tab-content">
+              <div class="layui-tab-item layui-show">
+                <div class="flesDiv">
+                  <form class="layui-form" action="" style="width: 40%">
+                    <!-- <div class="layui-form-item">
                                             <label class="layui-form-label" style="width: 80px;">妤煎眰</label>
                                             <div class="layui-input-block">
                                                 <select name="Layer" lay-filter="">
@@ -67,108 +70,154 @@
                                                 </select>
                                             </div>
                                         </div> -->
-                                       
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">鍖哄煙</label>
-                                            <div class="layui-input-block">
-                                                <select id="AreaSelect" name="AreaSelect" lay-filter="AreaSelect" >
-                                                    <option value=""></option>
-                                                </select>
-                                                
-                                            </div>
-                                        </div>
-                                           
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">鐩爣浣嶇疆</label>
-                                            <div class="layui-input-block"> 
-                                                <select id="LocateSelect" name="LocateSelect" lay-filter="LocateSelect" >
-                                                    <option value=""></option> 
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">妗剁被鍨�</label>
-                                            <div class="layui-input-block">
-                                                <select id="PalletStatus" name="PalletStatus" lay-filter="PalletStatus" >
-                                                    <option value=""></option>
-                                                    <option value="0">鍑�妗�</option>
-                                                    <option value="2">婊℃《</option> 
-                                                    <!-- <option value="3">鑴忔《</option>  -->
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" id="StandardDiv">
-                                            <label class="layui-form-label" style="width: 80px;">瑙勬牸</label>
-                                            <div class="layui-input-block">
-                                                <select name="Standard" lay-filter="Standard" >
-                                                    <option value="400L">400L</option> 
-                                                    <option value="800L">800L</option> 
-                                                    <option value="1000L">1000L</option> 
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" id="SkuSelectDiv">
-                                            <label class="layui-form-label" style="width: 80px;">鐗╂枡</label>
-                                            <div class="layui-input-block">
-                                                <select id="SkuSelect" name="SkuSelect" lay-filter="SkuSelect" >
-                                                    <option value=""></option>
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" id="LotNoSelectDiv">
-                                            <label class="layui-form-label" style="width: 80px;">鎵规</label>
-                                            <div class="layui-input-block">
-                                                <select id="LotNoSelect" name="LotNoSelect" lay-filter="LotNoSelect" >
-                                                    <option value=""></option>
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" >
-                                            <div class="layui-input-block">
-                                                <button type="submit" class="layui-btn" lay-submit
-                                                    lay-filter="demo1">绔嬪嵆鎻愪氦</button>
-                                                <button type="reset" class="layui-btn layui-btn-primary">閲嶇疆</button>
-                                            </div>
-                                        </div>
 
-                                    </form>
-                                </div>
-                                
-                            </div>
-                            <div class="layui-tab-item">
-                                <div class="flesDiv" >
-                                    <form class="layui-form" action="" style="width: 40%;">
-                                        
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">鍖哄煙</label>
-                                            <div class="layui-input-block">
-                                                <select id="AreaSelect2" name="AreaSelect2" lay-filter="AreaSelect2" >
-                                                    <option value=""></option>
-                                                </select>
-                                                
-                                            </div>
-                                        </div>
-                                           
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">璧峰浣嶇疆</label>
-                                            <div class="layui-input-block"> 
-                                                <select id="LocateSelect2" name="LocateSelect2" lay-filter="LocateSelect2" >
-                                                    <option value=""></option> 
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">妗剁被鍨�</label>
-                                            <div class="layui-input-block">
-                                                <select id="PalletStatus2" name="PalletStatus2" lay-filter="PalletStatus2" >
-                                                    <option value=""></option>
-                                                     <option value="0">鍑�妗�</option> 
-                                                    <option value="2">婊℃《</option> 
-                                                    <option value="3">鑴忔《</option> 
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <!-- <div class="layui-form-item" id="StandardDiv2">
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鍖哄煙</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="AreaSelect"
+                          name="AreaSelect"
+                          lay-filter="AreaSelect">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鐩爣浣嶇疆</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="LocateSelect"
+                          name="LocateSelect"
+                          lay-filter="LocateSelect">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >妗剁被鍨�</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="PalletStatus"
+                          name="PalletStatus"
+                          lay-filter="PalletStatus">
+                          <option value=""></option>
+                          <option value="0">鍑�妗�</option>
+                          <option value="2">婊℃《</option>
+                          <!-- <option value="3">鑴忔《</option>  -->
+                        </select>
+                      </div>
+                    </div>
+                    <div class="layui-form-item" id="StandardDiv">
+                      <label class="layui-form-label" style="width: 80px"
+                        >瑙勬牸</label
+                      >
+                      <div class="layui-input-block">
+                        <select name="Standard" lay-filter="Standard">
+                          <option value="400L">400L</option>
+                          <option value="800L">800L</option>
+                          <option value="1000L">1000L</option>
+                        </select>
+                      </div>
+                    </div>
+                    <div class="layui-form-item" id="SkuSelectDiv">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鐗╂枡</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="SkuSelect"
+                          name="SkuSelect"
+                          lay-filter="SkuSelect">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+                    <div class="layui-form-item" id="LotNoSelectDiv">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鎵规</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="LotNoSelect"
+                          name="LotNoSelect"
+                          lay-filter="LotNoSelect">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+                    <div class="layui-form-item">
+                      <div class="layui-input-block">
+                        <button
+                          type="submit"
+                          class="layui-btn"
+                          lay-submit
+                          lay-filter="demo1">
+                          绔嬪嵆鎻愪氦
+                        </button>
+                        <button
+                          type="reset"
+                          class="layui-btn layui-btn-primary">
+                          閲嶇疆
+                        </button>
+                      </div>
+                    </div>
+                  </form>
+                </div>
+              </div>
+              <div class="layui-tab-item">
+                <div class="flesDiv">
+                  <form class="layui-form" action="" style="width: 40%">
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鍖哄煙</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="AreaSelect2"
+                          name="AreaSelect2"
+                          lay-filter="AreaSelect2">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >璧峰浣嶇疆</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="LocateSelect2"
+                          name="LocateSelect2"
+                          lay-filter="LocateSelect2">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >妗剁被鍨�</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="PalletStatus2"
+                          name="PalletStatus2"
+                          lay-filter="PalletStatus2">
+                          <option value=""></option>
+                          <option value="0">鍑�妗�</option>
+                          <option value="2">婊℃《</option>
+                          <option value="3">鑴忔《</option>
+                        </select>
+                      </div>
+                    </div>
+                    <!-- <div class="layui-form-item" id="StandardDiv2">
                                             <label class="layui-form-label" style="width: 80px;">瑙勬牸</label>
                                             <div class="layui-input-block">
                                                 <select name="Standard2" lay-filter="Standard2" lay-search>
@@ -178,148 +227,222 @@
                                                 </select>
                                             </div>
                                         </div> -->
-                                        <div class="layui-form-item" id="SkuSelectDiv2">
-                                            <label class="layui-form-label" style="width: 80px;">鐗╂枡</label>
-                                            <div class="layui-input-block">
-                                                <select id="SkuSelect2" name="SkuSelect2" lay-filter="SkuSelect2" >
-                                                    <option value=""></option>
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" id="LotNoSelectDiv2">
-                                            <label class="layui-form-label" style="width: 80px;">鎵规</label>
-                                            <div class="layui-input-block">
-                                                <input type="text" id="LotNoInput" name="LotNoInput" placeholder="" autocomplete="off"
-								                    class="layui-input">
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" id="WeightSelectDiv2">
-                                            <label class="layui-form-label" style="width: 80px;">閲嶉噺</label>
-                                            <div class="layui-input-block"> 
-                                                <input type="text" id="WeightInput" name="WeightInput" placeholder="" autocomplete="off"
-								                    class="layui-input">
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" >
-                                            <div class="layui-input-block">
-                                                <button type="submit" class="layui-btn" lay-submit
-                                                    lay-filter="demo2">绔嬪嵆鎻愪氦</button>
-                                                <button type="reset" class="layui-btn layui-btn-primary">閲嶇疆</button>
-                                            </div>
-                                        </div>
-
-                                    </form>
-                                </div>
-                                
-
-                            </div>
-
-                            <div class="layui-tab-item">
-                                <div class="flesDiv" >
-                                    <form class="layui-form" action="" style="width: 40%;">
-                                        
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">璧峰鍖哄煙</label>
-                                            <div class="layui-input-block">
-                                                <select id="AreaSelect3" name="AreaSelect3" lay-filter="AreaSelect3" >
-                                                    <option value=""></option>
-                                                </select>
-                                                
-                                            </div>
-                                        </div>
-                                           
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">璧峰浣嶇疆</label>
-                                            <div class="layui-input-block"> 
-                                                <select id="LocateSelect3" name="LocateSelect3" lay-filter="LocateSelect3" >
-                                                    <option value=""></option> 
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">鐩爣鍖哄煙</label>
-                                            <div class="layui-input-block">
-                                                <select id="AreaSelect4" name="AreaSelect4" lay-filter="AreaSelect4" >
-                                                    <option value=""></option>
-                                                </select>
-                                                
-                                            </div>
-                                        </div>
-                                           
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">鐩爣浣嶇疆</label>
-                                            <div class="layui-input-block"> 
-                                                <select id="LocateSelect4" name="LocateSelect4" lay-filter="LocateSelect4" >
-                                                    <option value=""></option> 
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item">
-                                            <label class="layui-form-label" style="width: 80px;">妗剁被鍨�</label>
-                                            <div class="layui-input-block">
-                                                <select id="PalletStatus2" name="PalletStatus2" lay-filter="PalletStatus2" >
-                                                    <option value=""></option>
-                                                     <option value="0">鍑�妗�</option> 
-                                                    <option value="2">婊℃《</option> 
-                                                    <option value="3">鑴忔《</option> 
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" id="SkuSelectDiv2">
-                                            <label class="layui-form-label" style="width: 80px;">鐗╂枡</label>
-                                            <div class="layui-input-block">
-                                                <select id="SkuSelect2" name="SkuSelect2" lay-filter="SkuSelect2" >
-                                                    <option value=""></option>
-                                                </select>
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" id="LotNoSelectDiv2">
-                                            <label class="layui-form-label" style="width: 80px;">鎵规</label>
-                                            <div class="layui-input-block">
-                                                <input type="text" id="LotNoInput" name="LotNoInput" placeholder="" autocomplete="off"
-								                    class="layui-input">
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" id="WeightSelectDiv2">
-                                            <label class="layui-form-label" style="width: 80px;">閲嶉噺</label>
-                                            <div class="layui-input-block"> 
-                                                <input type="text" id="WeightInput" name="WeightInput" placeholder="" autocomplete="off"
-								                    class="layui-input">
-                                            </div>
-                                        </div>
-                                        <div class="layui-form-item" >
-                                            <div class="layui-input-block">
-                                                <button type="submit" class="layui-btn" lay-submit
-                                                    lay-filter="demo3">绔嬪嵆鎻愪氦</button>
-                                                <button type="reset" class="layui-btn layui-btn-primary">閲嶇疆</button>
-                                            </div>
-                                        </div>
-
-                                    </form>
-                                </div>
-                                
-
-                            </div>
-
-                        </div>
+                    <div class="layui-form-item" id="SkuSelectDiv2">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鐗╂枡</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="SkuSelect2"
+                          name="SkuSelect2"
+                          lay-filter="SkuSelect2">
+                          <option value=""></option>
+                        </select>
+                      </div>
                     </div>
+                    <div class="layui-form-item" id="LotNoSelectDiv2">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鎵规</label
+                      >
+                      <div class="layui-input-block">
+                        <input
+                          type="text"
+                          id="LotNoInput"
+                          name="LotNoInput"
+                          placeholder=""
+                          autocomplete="off"
+                          class="layui-input" />
+                      </div>
+                    </div>
+                    <div class="layui-form-item" id="WeightSelectDiv2">
+                      <label class="layui-form-label" style="width: 80px"
+                        >閲嶉噺</label
+                      >
+                      <div class="layui-input-block">
+                        <input
+                          type="text"
+                          id="WeightInput"
+                          name="WeightInput"
+                          placeholder=""
+                          autocomplete="off"
+                          class="layui-input" />
+                      </div>
+                    </div>
+                    <div class="layui-form-item">
+                      <div class="layui-input-block">
+                        <button
+                          type="submit"
+                          class="layui-btn"
+                          lay-submit
+                          lay-filter="demo2">
+                          绔嬪嵆鎻愪氦
+                        </button>
+                        <button
+                          type="reset"
+                          class="layui-btn layui-btn-primary">
+                          閲嶇疆
+                        </button>
+                      </div>
+                    </div>
+                  </form>
+                </div>
+              </div>
+
+              <div class="layui-tab-item">
+                <div class="flesDiv">
+                  <form class="layui-form" action="" style="width: 40%">
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >璧峰鍖哄煙</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="AreaSelect3"
+                          name="AreaSelect3"
+                          lay-filter="AreaSelect3">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >璧峰浣嶇疆</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="LocateSelect3"
+                          name="LocateSelect3"
+                          lay-filter="LocateSelect3">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鐩爣鍖哄煙</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="AreaSelect4"
+                          name="AreaSelect4"
+                          lay-filter="AreaSelect4">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鐩爣浣嶇疆</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="LocateSelect4"
+                          name="LocateSelect4"
+                          lay-filter="LocateSelect4">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+                    <div class="layui-form-item">
+                      <label class="layui-form-label" style="width: 80px"
+                        >妗剁被鍨�</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="PalletStatus2"
+                          name="PalletStatus2"
+                          lay-filter="PalletStatus2">
+                          <option value=""></option>
+                          <option value="0">鍑�妗�</option>
+                          <option value="2">婊℃《</option>
+                          <option value="3">鑴忔《</option>
+                        </select>
+                      </div>
+                    </div>
+                    <div class="layui-form-item" id="SkuSelectDiv2">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鐗╂枡</label
+                      >
+                      <div class="layui-input-block">
+                        <select
+                          id="SkuSelect2"
+                          name="SkuSelect2"
+                          lay-filter="SkuSelect2">
+                          <option value=""></option>
+                        </select>
+                      </div>
+                    </div>
+                    <div class="layui-form-item" id="LotNoSelectDiv2">
+                      <label class="layui-form-label" style="width: 80px"
+                        >鎵规</label
+                      >
+                      <div class="layui-input-block">
+                        <input
+                          type="text"
+                          id="LotNoInput"
+                          name="LotNoInput"
+                          placeholder=""
+                          autocomplete="off"
+                          class="layui-input" />
+                      </div>
+                    </div>
+                    <div class="layui-form-item" id="WeightSelectDiv2">
+                      <label class="layui-form-label" style="width: 80px"
+                        >閲嶉噺</label
+                      >
+                      <div class="layui-input-block">
+                        <input
+                          type="text"
+                          id="WeightInput"
+                          name="WeightInput"
+                          placeholder=""
+                          autocomplete="off"
+                          class="layui-input" />
+                      </div>
+                    </div>
+                    <div class="layui-form-item">
+                      <div class="layui-input-block">
+                        <button
+                          type="submit"
+                          class="layui-btn"
+                          lay-submit
+                          lay-filter="demo3">
+                          绔嬪嵆鎻愪氦
+                        </button>
+                        <button
+                          type="reset"
+                          class="layui-btn layui-btn-primary">
+                          閲嶇疆
+                        </button>
+                      </div>
+                    </div>
+                  </form>
+                </div>
+              </div>
             </div>
+          </div>
         </div>
+      </div>
     </div>
 
     <script src="../../layuiadmin/layui/layui.js"></script>
     <script src="../../js/public.js"></script>
     <script src="../../js/jquery-3.5.1.min.js"></script>
     <script src="../../js/jquery.cookie.js"></script>
-    <script type="text/javascript">
-
-    </script>
+    <script type="text/javascript"></script>
     <script>
-        layui.config({
-            base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
-        }).extend({
-            index: 'lib/index' //涓诲叆鍙fā鍧�
-        }).use(['index', 'table', 'laypage', 'element', 'layer', 'laydate'], function () {
+      layui
+        .config({
+          base: "../../layuiadmin/", //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+        })
+        .extend({
+          index: "lib/index", //涓诲叆鍙fā鍧�
+        })
+        .use(
+          ["index", "table", "laypage", "element", "layer", "laydate"],
+          function () {
             var table = layui.table;
             var form = layui.form;
             var element = layui.element;
@@ -328,324 +451,470 @@
             var laydate = layui.laydate;
             var a = 0;
 
-            var bodyHeight = $("#body").outerHeight(); 
+            var bodyHeight = $("#body").outerHeight();
 
-            var hh = bodyHeight - 146 ;//6鏄痓ody涓婂唴杈硅窛 
-            $(".layui-card-body").attr("style","height:"+hh+"px");
+            var hh = bodyHeight - 146; //6鏄痓ody涓婂唴杈硅窛
+            $(".layui-card-body").attr("style", "height:" + hh + "px");
             //tab鍒囨崲鍒ゆ柇鍊�
-            var yemianid = 0; 
+            var yemianid = 0;
             //鐩戝惉Tab鍒囨崲锛屼互鏀瑰彉鍦板潃hash鍊�
-            element.on('tab(docDemoTabBrief)', function (data) {
-                yemianid = data.index;
-                console.log(yemianid);
+            element.on("tab(docDemoTabBrief)", function (data) {
+              yemianid = data.index;
+              console.log(yemianid);
 
-                if (yemianid == 0) {
-
-                } else if (yemianid == 1) {
-                }
+              if (yemianid == 0) {
+              } else if (yemianid == 1) {
+              }
             });
 
             $("#StandardDiv").hide();
             $("#SkuSelectDiv").hide();
             $("#LotNoSelectDiv").hide();
 
-
             var doing = true;
             // 鍙枡鎻愪氦浜嬩欢
-            form.on('submit(demo1)', function (data) {
-                var field = data.field; // 鑾峰彇琛ㄥ崟瀛楁鍊�
-                var param = {
-                    AreaNo: field.AreaSelect,
-                    LocateNo : field.LocateSelect,
-                    PlnStatus:field.PalletStatus,
-                    Standard:field.Standard,
-                    SkuNo:field.SkuSelect,
-                    LotNo:field.LotNoSelect
-                };
-                sendData(IP + "/DownApi/jiaoLiaoHopper", param, 'post', function(res) {
-                    if (res.code == 0) { //鎴愬姛
-                        layer.msg(res.msg, {
-                            icon: 1,
-                            time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        }, function() {
-                           
-                        });
-                    } else { //涓嶆垚鍔�
-                        layer.msg(res.msg, {
-                            icon: 2,
-                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        }, function() {});
-                    }
-                });
-                return false; // 闃绘榛樿 form 璺宠浆
-            });
-            
-            // 鍙溅鎻愪氦浜嬩欢
-            form.on('submit(demo2)', function (data) {
-                var field = data.field; // 鑾峰彇琛ㄥ崟瀛楁鍊�
-                console.log("field.WeightInput:"+field.WeightInput);
-                
-                if(field.WeightInput.length != 0)
-                {
-                    a = parseFloat(field.WeightInput);
+            form.on("submit(demo1)", function (data) {
+              var field = data.field; // 鑾峰彇琛ㄥ崟瀛楁鍊�
+              var param = {
+                AreaNo: field.AreaSelect,
+                LocateNo: field.LocateSelect,
+                PlnStatus: field.PalletStatus,
+                Standard: field.Standard,
+                SkuNo: field.SkuSelect,
+                LotNo: field.LotNoSelect,
+              };
+              sendData(
+                IP + "/DownApi/jiaoLiaoHopper",
+                param,
+                "post",
+                function (res) {
+                  if (res.code == 0) {
+                    //鎴愬姛
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 1,
+                        time: 1000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  } else {
+                    //涓嶆垚鍔�
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 2,
+                        time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  }
                 }
-                var param = {
-                    AreaNo: field.AreaSelect2,
-                    LocateNo : field.LocateSelect2,
-                    PlnStatus:field.PalletStatus2,
-                    SkuNo:field.SkuSelect2,
-                    LotNo:field.LotNoInput,
-                    Weight:a
-                };
-                console.log(param);
-                
-                sendData(IP + "/DownApi/jiaoCheHopper", param, 'post', function(res) {
-                    if (res.code == 0) { //鎴愬姛
-                        layer.msg(res.msg, {
-                            icon: 1,
-                            time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        }, function() {
-                           
-                        });
-                    } else { //涓嶆垚鍔�
-                        layer.msg(res.msg, {
-                            icon: 2,
-                            time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-                        }, function() {});
-                    }
-                });
-                return false; // 闃绘榛樿 form 璺宠浆
-            });
-        
-            GetArea();
-            
-            form.on('select(AreaSelect)', function(data) {
-                GetLocate(data.value);
-                GetPlnStatus(data.value)
+              );
+              return false; // 闃绘榛樿 form 璺宠浆
             });
 
-            form.on('select(PalletStatus)', function(data) {
-                
-                //0锛氬噣妗� 1锛氶娣� 2锛氬崐鎴愬搧 3锛氳剰妗�
-                if (data.value == "0") {
-                    $("#StandardDiv").show();
-                    $("#SkuSelectDiv").hide();
-                    $("#LotNoSelectDiv").hide();
-                } else {
-                    $("#StandardDiv").hide();
-                    $("#SkuSelectDiv").show();
-                    $("#LotNoSelectDiv").show();
-                    GetSku(data.value)
+            // 鍙溅鎻愪氦浜嬩欢
+            form.on("submit(demo2)", function (data) {
+              var field = data.field; // 鑾峰彇琛ㄥ崟瀛楁鍊�
+              console.log("field.WeightInput:" + field.WeightInput);
+
+              if (field.WeightInput.length != 0) {
+                a = parseFloat(field.WeightInput);
+              }
+              var param = {
+                AreaNo: field.AreaSelect2,
+                LocateNo: field.LocateSelect2,
+                PlnStatus: field.PalletStatus2,
+                SkuNo: field.SkuSelect2,
+                LotNo: field.LotNoInput,
+                Weight: a,
+              };
+              console.log(param);
+
+              sendData(
+                IP + "/DownApi/jiaoCheHopper",
+                param,
+                "post",
+                function (res) {
+                  if (res.code == 0) {
+                    //鎴愬姛
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 1,
+                        time: 1000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  } else {
+                    //涓嶆垚鍔�
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 2,
+                        time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  }
                 }
+              );
+              return false; // 闃绘榛樿 form 璺宠浆
             });
-            
-            form.on('select(SkuSelect)', function(data) {
-                GetLotNo(data.value);
+
+            GetArea();
+
+            form.on("select(AreaSelect)", function (data) {
+              GetLocate(data.value);
+              GetPlnStatus(data.value);
+            });
+
+            form.on("select(PalletStatus)", function (data) {
+              //0锛氬噣妗� 1锛氶娣� 2锛氬崐鎴愬搧 3锛氳剰妗�
+              if (data.value == "0") {
+                $("#StandardDiv").show();
+                $("#SkuSelectDiv").hide();
+                $("#LotNoSelectDiv").hide();
+              } else {
+                $("#StandardDiv").hide();
+                $("#SkuSelectDiv").show();
+                $("#LotNoSelectDiv").show();
+                GetSku(data.value);
+              }
+            });
+
+            form.on("select(SkuSelect)", function (data) {
+              GetLotNo(data.value);
             });
 
             // 鑾峰彇鍖哄煙
             function GetArea() {
-                $("#AreaSelect").empty();
-                $("#AreaSelect").append('<option value =""></option>');
-                
-                //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
-				sendData(IP + "/DownApi/GetAreaListByUser", {}, 'get', function(res) {
-					if (res.code == 0) { //鎴愬姛 
-                        
-                        console.log(res.data); 
-                        for (var i = 0; i < res.data.length; i++) {
-                            $("#AreaSelect").append('<option value =' + res.data[i].AreaNo + '>' + res.data[i].AreaName +'</option>');
-                        } 
-					    form.render('select');
-					} else { //涓嶆垚鍔�
-						layer.msg(res.msg, {
-							icon: 2,
-							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-						}, function() {});
-					}
-				});
+              $("#AreaSelect").empty();
+              $("#AreaSelect").append('<option value =""></option>');
+
+              //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
+              sendData(
+                IP + "/DownApi/GetAreaListByUser",
+                {},
+                "get",
+                function (res) {
+                  if (res.code == 0) {
+                    //鎴愬姛
+
+                    console.log(res.data);
+                    for (var i = 0; i < res.data.length; i++) {
+                      $("#AreaSelect").append(
+                        "<option value =" +
+                          res.data[i].AreaNo +
+                          ">" +
+                          res.data[i].AreaName +
+                          "</option>"
+                      );
+                    }
+                    form.render("select");
+                  } else {
+                    //涓嶆垚鍔�
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 2,
+                        time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  }
+                }
+              );
             }
-        
+
             // 鑾峰彇鍌ㄤ綅
             function GetLocate(val) {
-                $("#LocateSelect").empty();
-                $("#LocateSelect").append('<option value =""></option>'); 
+              $("#LocateSelect").empty();
+              $("#LocateSelect").append('<option value =""></option>');
 
-                //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
-                sendData(IP + "/DownApi/GetLocatByArea", {"areaNo":val}, 'get', function(res) {
-					if (res.code == 0) { //鎴愬姛
-                        for (var i = 0; i < res.data.length; i++) {
-                            $("#LocateSelect").append('<option value =' + res.data[i].LocatNo + '>' + res.data[i].LocatNo +'</option>');
-                        } 
-					    form.render('select');
-					} else { //涓嶆垚鍔�
-						layer.msg(res.msg, {
-							icon: 2,
-							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-						}, function() {});
-					}
-				});
+              //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
+              sendData(
+                IP + "/DownApi/GetLocatByArea",
+                { areaNo: val },
+                "get",
+                function (res) {
+                  if (res.code == 0) {
+                    //鎴愬姛
+                    for (var i = 0; i < res.data.length; i++) {
+                      $("#LocateSelect").append(
+                        "<option value =" +
+                          res.data[i].LocatNo +
+                          ">" +
+                          res.data[i].LocatNo +
+                          "</option>"
+                      );
+                    }
+                    form.render("select");
+                  } else {
+                    //涓嶆垚鍔�
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 2,
+                        time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  }
+                }
+              );
             }
 
             // 鑾峰彇妗剁被鍨�
             function GetPlnStatus(val) {
-                $("#PalletStatus").empty();
-                $("#PalletStatus").append('<option value =""></option>');
+              $("#PalletStatus").empty();
+              $("#PalletStatus").append('<option value =""></option>');
 
-                //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
-                sendData(IP + "/DownApi/GetPlnStatusByArea", {"areaNo":val}, 'get', function(res) {
-					if (res.code == 0) { //鎴愬姛 
-                        for (var i = 0; i < res.data.length; i++) { 
-                            $("#PalletStatus").append('<option value =' + res.data[i].dic1 + '>' + res.data[i].dic2 +'</option>');
-                        } 
-					    form.render('select');
-					} else { //涓嶆垚鍔�
-						layer.msg(res.msg, {
-							icon: 2,
-							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-						}, function() {});
-					}
-				});
+              //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
+              sendData(
+                IP + "/DownApi/GetPlnStatusByArea",
+                { areaNo: val },
+                "get",
+                function (res) {
+                  if (res.code == 0) {
+                    //鎴愬姛
+                    for (var i = 0; i < res.data.length; i++) {
+                      $("#PalletStatus").append(
+                        "<option value =" +
+                          res.data[i].dic1 +
+                          ">" +
+                          res.data[i].dic2 +
+                          "</option>"
+                      );
+                    }
+                    form.render("select");
+                  } else {
+                    //涓嶆垚鍔�
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 2,
+                        time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  }
+                }
+              );
             }
 
             //鑾峰彇鐗╂枡
             function GetSku(val) {
-                $("#SkuSelect").empty();
-                $("#SkuSelect").append('<option value =""></option>');
+              $("#SkuSelect").empty();
+              $("#SkuSelect").append('<option value =""></option>');
 
-                //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
-                sendData(IP + "/DownApi/GetSkuByStatus", {"palletStatus":val}, 'get', function(res) {
-					if (res.code == 0) { //鎴愬姛
-                        for (var i = 0; i < res.data.length; i++) {
-                            $("#SkuSelect").append('<option value =' + res.data[i] + '>' + res.data[i] +'</option>');
-                        } 
-					    form.render('select');
-					} else { //涓嶆垚鍔�
-						layer.msg(res.msg, {
-							icon: 2,
-							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-						}, function() {});
-					}
-				});
+              //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
+              sendData(
+                IP + "/DownApi/GetSkuByStatus",
+                { palletStatus: val },
+                "get",
+                function (res) {
+                  if (res.code == 0) {
+                    //鎴愬姛
+                    for (var i = 0; i < res.data.length; i++) {
+                      $("#SkuSelect").append(
+                        "<option value =" +
+                          res.data[i].SkuNo +
+                          ">" +
+                          res.data[i].SkuName +
+                          "</option>"
+                      );
+                    }
+                    form.render("select");
+                  } else {
+                    //涓嶆垚鍔�
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 2,
+                        time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  }
+                }
+              );
             }
-            
+
             //鑾峰彇鎵规
             function GetLotNo(val) {
-                $("#LotNoSelect").empty();
-                $("#LotNoSelect").append('<option value =""></option>');
+              $("#LotNoSelect").empty();
+              $("#LotNoSelect").append('<option value =""></option>');
 
-                //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
-                sendData(IP + "/DownApi/GetLotNoBySku", {"skuNo":val}, 'get', function(res) {
-					if (res.code == 0) { //鎴愬姛
-                        for (var i = 0; i < res.data.length; i++) {
-                            $("#LotNoSelect").append('<option value =' + res.data[i] + '>' + res.data[i] +'</option>');
-                        } 
-					    form.render('select');
-					} else { //涓嶆垚鍔�
-						layer.msg(res.msg, {
-							icon: 2,
-							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-						}, function() {});
-					}
-				});
+              //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
+              sendData(
+                IP + "/DownApi/GetLotNoBySku",
+                { skuNo: val },
+                "get",
+                function (res) {
+                  if (res.code == 0) {
+                    //鎴愬姛
+                    for (var i = 0; i < res.data.length; i++) {
+                      $("#LotNoSelect").append(
+                        "<option value =" +
+                          res.data[i] +
+                          ">" +
+                          res.data[i] +
+                          "</option>"
+                      );
+                    }
+                    form.render("select");
+                  } else {
+                    //涓嶆垚鍔�
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 2,
+                        time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  }
+                }
+              );
             }
 
-        
             //------------------------------------------------------------------------------------
-            
+
             $("#WeightSelectDiv2").hide();
             $("#SkuSelectDiv2").hide();
             $("#LotNoSelectDiv2").hide();
             GetArea2();
             GetSku2();
-            form.on('select(AreaSelect2)', function(data) {
-                GetLocate2(data.value); 
+            form.on("select(AreaSelect2)", function (data) {
+              GetLocate2(data.value);
             });
-            form.on('select(PalletStatus2)', function(data) {
-                
-                //0锛氬噣妗� 1锛氶娣� 2锛氬崐鎴愬搧 3锛氳剰妗�
-                if (data.value == "2") {
-                    $("#WeightSelectDiv2").show();
-                    $("#SkuSelectDiv2").show();
-                    $("#LotNoSelectDiv2").show();
-                } else {
-                    $("#WeightSelectDiv2").hide();
-                    $("#SkuSelectDiv2").hide();
-                    $("#LotNoSelectDiv2").show();
-                    GetSku(data.value)
-                }
+            form.on("select(PalletStatus2)", function (data) {
+              //0锛氬噣妗� 1锛氶娣� 2锛氬崐鎴愬搧 3锛氳剰妗�
+              if (data.value == "2") {
+                $("#WeightSelectDiv2").show();
+                $("#SkuSelectDiv2").show();
+                $("#LotNoSelectDiv2").show();
+              } else {
+                $("#WeightSelectDiv2").hide();
+                $("#SkuSelectDiv2").hide();
+                $("#LotNoSelectDiv2").show();
+                GetSku(data.value);
+              }
             });
 
             // 鑾峰彇鍖哄煙
             function GetArea2() {
-                $("#AreaSelect2").empty();
-                $("#AreaSelect2").append('<option value =""></option>');
-                //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
-				sendData(IP + "/DownApi/GetAreaListByUser", {}, 'get', function(res) {
-					if (res.code == 0) { //鎴愬姛 
-                        
-                        console.log(res.data); 
-                        for (var i = 0; i < res.data.length; i++) {
-                            $("#AreaSelect2").append('<option value =' + res.data[i].AreaNo + '>' + res.data[i].AreaName +'</option>');
-                        } 
-					    form.render('select');
-					} else { //涓嶆垚鍔�
-						layer.msg(res.msg, {
-							icon: 2,
-							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-						}, function() {});
-					}
-				});
+              $("#AreaSelect2").empty();
+              $("#AreaSelect2").append('<option value =""></option>');
+              //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
+              sendData(
+                IP + "/DownApi/GetAreaListByUser",
+                {},
+                "get",
+                function (res) {
+                  if (res.code == 0) {
+                    //鎴愬姛
+
+                    console.log(res.data);
+                    for (var i = 0; i < res.data.length; i++) {
+                      $("#AreaSelect2").append(
+                        "<option value =" +
+                          res.data[i].AreaNo +
+                          ">" +
+                          res.data[i].AreaName +
+                          "</option>"
+                      );
+                    }
+                    form.render("select");
+                  } else {
+                    //涓嶆垚鍔�
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 2,
+                        time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  }
+                }
+              );
             }
-        
+
             // 鑾峰彇鍌ㄤ綅
             function GetLocate2(val) {
-                $("#LocateSelect2").empty();
-                $("#LocateSelect2").append('<option value =""></option>');
+              $("#LocateSelect2").empty();
+              $("#LocateSelect2").append('<option value =""></option>');
 
-                //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
-                sendData(IP + "/DownApi/GetLocatByArea", {"areaNo":val}, 'get', function(res) {
-					if (res.code == 0) { //鎴愬姛
-                        for (var i = 0; i < res.data.length; i++) {
-                            $("#LocateSelect2").append('<option value =' + res.data[i].LocatNo + '>' + res.data[i].LocatNo +'</option>');
-                        } 
-					    form.render('select');
-					} else { //涓嶆垚鍔�
-						layer.msg(res.msg, {
-							icon: 2,
-							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-						}, function() {});
-					}
-				});
+              //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
+              sendData(
+                IP + "/DownApi/GetLocatByArea",
+                { areaNo: val },
+                "get",
+                function (res) {
+                  if (res.code == 0) {
+                    //鎴愬姛
+                    for (var i = 0; i < res.data.length; i++) {
+                      $("#LocateSelect2").append(
+                        "<option value =" +
+                          res.data[i].LocatNo +
+                          ">" +
+                          res.data[i].LocatNo +
+                          "</option>"
+                      );
+                    }
+                    form.render("select");
+                  } else {
+                    //涓嶆垚鍔�
+                    layer.msg(
+                      res.msg,
+                      {
+                        icon: 2,
+                        time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                      },
+                      function () {}
+                    );
+                  }
+                }
+              );
             }
-        
+
             //鑾峰彇鐗╂枡
             function GetSku2() {
-                $("#SkuSelect2").empty();
-                $("#SkuSelect2").append('<option value =""></option>');
+              $("#SkuSelect2").empty();
+              $("#SkuSelect2").append('<option value =""></option>');
 
-                //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
-                sendData(IP + "/DownApi/GetSku", {}, 'get', function(res) {
-					if (res.code == 0) { //鎴愬姛
-                        for (var i = 0; i < res.data.length; i++) {
-                            $("#SkuSelect2").append('<option value =' + res.data[i] + '>' + res.data[i] +'</option>');
-                        } 
-					    form.render('select');
-					} else { //涓嶆垚鍔�
-						layer.msg(res.msg, {
-							icon: 2,
-							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-						}, function() {});
-					}
-				});
+              //鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
+              sendData(IP + "/DownApi/GetSku", {}, "get", function (res) {
+                if (res.code == 0) {
+                  //鎴愬姛
+                  for (var i = 0; i < res.data.length; i++) {
+                    $("#SkuSelect2").append(
+                      "<option value =" +
+                        res.data[i].SkuNo +
+                        ">" +
+                        res.data[i].SkuName +
+                        "</option>"
+                    );
+                  }
+                  form.render("select");
+                } else {
+                  //涓嶆垚鍔�
+                  layer.msg(
+                    res.msg,
+                    {
+                      icon: 2,
+                      time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+                    },
+                    function () {}
+                  );
+                }
+              });
             }
-            
-
-
-
-        });
+          }
+        );
     </script>
-
-</body>
-
-</html>
\ No newline at end of file
+  </body>
+</html>
diff --git a/Wms/Utility/Tools/RcsHelper.cs b/Wms/Utility/Tools/RcsHelper.cs
index 5242185..88d44ab 100644
--- a/Wms/Utility/Tools/RcsHelper.cs
+++ b/Wms/Utility/Tools/RcsHelper.cs
@@ -45,7 +45,11 @@
             }
 
             //璺ㄦゼ灞備换鍔asktype鍊艰祴鍊尖�︹��
-            //tasktype = "";
+            if (taskDetial.Endport.Substring(0,3) == "C01")
+            {
+                tasktype = "F23";
+            }
+            
 
             List<targetRoute> pahtList = new List<targetRoute>();
             //璧峰浣嶇疆
diff --git a/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs b/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs
index ce85dbb..29fb576 100644
--- a/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs
@@ -159,13 +159,14 @@
         /// <param name="palletStatus"></param>
         /// <returns></returns>
         /// <exception cref="Exception"></exception>
-        public List<string> GetSkuByStatus(string palletStatus)
+        public List<DataStockDetail> GetSkuByStatus(string palletStatus)
         {
             try
             {
                 //鑾峰彇鍌ㄤ綅涓婄殑搴撳瓨鐗╂枡
-                var detail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.LocatNo) && m.PalletStatus == palletStatus).Select(m=>m.SkuNo).Distinct().ToList();
-                return detail;
+                var detail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.LocatNo) && m.PalletStatus == palletStatus).ToList();
+                List<DataStockDetail> result = detail.GroupBy(x => x.SkuNo).Select(xx => xx.First()).ToList();
+                return result;
             }
             catch (Exception e)
             {
@@ -191,12 +192,14 @@
             }
         }
 
-        public List<string> GetSku()
+        public List<SysMaterials> GetSku()
         {
             try
             {
                 //鑾峰彇鍌ㄤ綅涓婄殑搴撳瓨鐗╂枡
-                var detail = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0" ).Select(m => m.SkuNo).Distinct().ToList();
+                //var detail = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0" ).Select(m => m.SkuNo).Distinct().ToList();
+
+                var detail = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0").ToList();
                 return detail;
             }
             catch (Exception e)
@@ -264,12 +267,20 @@
                     throw new Exception("娌℃湁鏌ヨ鍒颁粨搴撲俊鎭�");
                 }
                 //鏌ユ壘鐘舵�佹槸鏈垎閰嶄笖鍌ㄤ綅涓嶄负绌虹殑搴撳瓨淇℃伅
-                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.Status == "0" && m.WareHouseNo == house.WareHouseNo && !string.IsNullOrWhiteSpace(m.LocatNo)).ToList();
+                var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.Status == "0" && m.WareHouseNo == house.WareHouseNo && !string.IsNullOrWhiteSpace(m.LocatNo) && m.IsDel=="0").ToList();
 
                 //鍑�妗�
-                if (plnStatus == "0")
+                if (plnStatus == "0")  //4L鍙噣妗朵笉鍒嗘ゼ灞�
                 {
-                    stockDetail = stockDetail.Where(m => m.PalletStatus == "0" && m.Standard == standard).OrderBy(m => m.LocatNo).ToList();
+                    if (house.WareHouseNo == "M01")
+                    {
+                        stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.Status == "0" && m.PalletStatus == "0" && m.Standard == standard && !string.IsNullOrWhiteSpace(m.LocatNo)).OrderBy(m => m.LocatNo).ToList();
+                    }
+                    else
+                    {
+                        stockDetail = stockDetail.Where(m => m.IsDel == "0" && m.Status == "0" && m.PalletStatus == "0" && m.Standard == standard && !string.IsNullOrWhiteSpace(m.LocatNo)).OrderBy(m => m.LocatNo).ToList();
+                    }
+                    
                 }
                 //婊℃《
                 else if (plnStatus == "2") 
@@ -292,12 +303,12 @@
                 bool resultYi = false;
                 #region#鏌ユ壘鍚堥�傜殑 妗跺彿 鍌ㄤ綅
                 //鐩爣浠撳簱鎵�鏈夊偍浣�
-                var locatList = Db.Queryable<SysStorageLocat>().Where(w => w.IsDel == "0" && w.WareHouseNo == house.WareHouseNo).ToList();
-                //鐩爣浠撳簱鎵�鏈変笉闇�瑕佺Щ搴撶殑鍌ㄤ綅
+                var locatList = Db.Queryable<SysStorageLocat>().Where(w => w.IsDel == "0" && w.Flag=="0" && w.WareHouseNo == house.WareHouseNo).OrderBy(w=>w.Column).ToList();
+                //鐩爣浠撳簱鎵�鏈夋渶澶栦晶鐨勫偍浣�
                 var locatListWai = locatList.Where(w => string.IsNullOrEmpty(w.AisleOne)).Select(s => s.LocatNo);
 
                 //鍏堟壘涓嶉渶瑕佺Щ搴撶殑妗�
-                var palletModel = stockDetail.Where(w => locatListWai.Contains(w.LocatNo)).OrderByDescending(w => w.UpdateTime).FirstOrDefault();
+                var palletModel = stockDetail.Where(w => locatListWai.Contains(w.LocatNo) && w.Status == "0").OrderByDescending(w => w.UpdateTime).FirstOrDefault();
                 if (palletModel == null)
                 {
                     //鎵鹃渶瑕佺Щ搴撶殑妗�
@@ -383,16 +394,12 @@
                         }
                         else//澶辫触
                         {
-                            logTaskEntry.IsSuccess = 0;
-                            logTaskEntry.Information = agvMsg;
-                            Db.Updateable(logTaskEntry).ExecuteCommand();
+                            throw new Exception("妗跺彿锛�"+ task.Pallno + ",璋冨害灏忚溅澶辫触");
                         }
                     }
                     else 
                     {
-                        logTaskEntry.IsSuccess = 0;
-                        logTaskEntry.Information = "璐ф灦涓庤揣浣嶇粦瀹氬け璐ワ紝鍘熷洜锛�"+agvBindMsg;
-                        Db.Updateable(logTaskEntry).ExecuteCommand();
+                        throw new Exception("妗跺彿锛�" + task.Pallno + ",缁戝畾璐т綅澶辫触");
                     }
                    
                 }
@@ -428,6 +435,11 @@
                 if (string.IsNullOrWhiteSpace(areaNo) || string.IsNullOrWhiteSpace(StartLocate) || string.IsNullOrWhiteSpace(plnStatus))
                 {
                     throw new Exception("鍖哄煙/璧峰浣�/妗剁被鍨嬩笉鑳戒负绌�");
+                }
+
+                if (weight < 0)
+                {
+                    throw new Exception("閲嶉噺搴斾笉灏忎簬0");
                 }
 
                 //if (plnStatus == "0" && string.IsNullOrWhiteSpace(standard))
@@ -586,17 +598,13 @@
                     }
                     else//澶辫触
                     {
-                        logTaskEntry.IsSuccess = 0;
-                        logTaskEntry.Information = agvMsg;
-                        Db.Updateable(logTaskEntry).ExecuteCommand();
+                        throw new Exception("妗跺彿锛�" + task.Pallno + ",璋冨害灏忚溅澶辫触");
                     }
 
                 }
                 else
                 {
-                    logTaskEntry.IsSuccess = 0;
-                    logTaskEntry.Information = "璐ф灦涓庤揣浣嶇粦瀹氬け璐ワ紝鍘熷洜锛�"+agvBindMsg;
-                    Db.Updateable(logTaskEntry).ExecuteCommand();
+                    throw new Exception("妗跺彿锛�" + task.Pallno + ",缁戝畾璐т綅澶辫触");
                 }
                 
 
@@ -619,7 +627,7 @@
         /// <param name="comeFrom"></param>
         /// <param name="userId"></param>
         /// <exception cref="Exception"></exception>
-        public void RCSFinishTask(string taskNo, string status, string comeFrom, int userId = 0)
+        public void RCSFinishTask(string taskNo, string locateNo, string status, string comeFrom, int userId = 0)
         {
             try
             {
@@ -659,7 +667,7 @@
                     return;
                 }
                 //搴撳瓨鏄庣粏
-                var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.PalletNo == taskInfo.PalletNo);
+                var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.PalletNo == taskInfo.PalletNo && w.IsDel=="0");
                 if (stockDetail == null)
                 {
                     throw new Exception($"妗跺簱瀛樹俊鎭笉瀛樺湪");
@@ -789,7 +797,7 @@
                                 break;
                             case "2002":
                                 deviceID = "1004";
-                                break;
+                                break;                               
                             default:
                                 throw new Exception("鍙噣妗剁偣浣嶅紓甯�");
                         }
@@ -829,7 +837,7 @@
 
                             //鍒ゆ柇褰撳墠娓呮礂鏈鸿澶囦笂鏈夊嚑涓剰妗讹紝status锛�2 姝e湪娓呮礂鐨勮剰妗讹紙鐘舵�佽Е鍙戝彉鏇翠负AGV鍙2涓剰妗舵椂瑙﹀彂锛�
                             int ztQty = Db.Queryable<DataStockDetail>().Count(w => w.IsDel == "0" && w.Status == "2" && w.LocatNo == deviceID);
-                            if (ztQty == 1)
+                            if (ztQty == 2)
                             {
                                 throw new Exception((deviceID == "1001"?"1":"2") + "鍙锋竻娲楁満鑴忔《宸叉弧锛岄噸澶嶅彨鏂欙紒");
                             }
@@ -866,6 +874,14 @@
                             {
                                 throw new Exception($"璧峰鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦紝妗跺彿锛歿palletModel.LocatNo}");
                             }
+                            //璧峰妗朵俊鎭�
+                            var startDataDetil = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.Status == "0" && w.PalletStatus == "3");
+                            if (startDataDetil == null)
+                            {
+                                throw new Exception($"娓呮礂鏈烘墍鍙殑妗剁姸鎬侀敊璇紝妗跺彿锛歿palletModel.LocatNo}");
+                            }
+                            startDataDetil.Status = "4";
+                            Db.Updateable(startDataDetil).ExecuteCommand();
                         }
                         else
                         {
@@ -891,7 +907,7 @@
                             {
                                 palletModel.LocatNo = startLoction.LocatNo;
                                 palletModel.PalletStatus = "0";
-                                palletModel.Status = "0";
+                                palletModel.Status = "4";
                                 Db.Updateable(palletModel).ExecuteCommand();
                             }
                             //鍒嗛厤鍌ㄤ綅
@@ -903,13 +919,13 @@
                                 throw new Exception("娌℃湁绌轰綑鐨勫噣妗跺偍浣�");
                             }
                             //浼樺厛鍒嗛厤鍥涙ゼ涓棿绔欏噣妗跺尯
-                            //endLoction = jtLocate.Where(w => w.WareHouseNo == "M01" && w.AreaNo == "C01")
-                            //                    .OrderBy(w => w.Row).OrderByDescending(w => w.Column).FirstOrDefault();
-                            //if (endLoction == null)//鍥涙ゼ涓棿绔欏噣妗跺尯娌℃湁绌哄偍浣嶏紝鍐嶄粠涓夋ゼ涓棿绔欏噣妗跺尯鏌ユ壘
-                            //{
+                            endLoction = jtLocate.Where(w => w.WareHouseNo == "M01" && w.AreaNo == "C01")
+                                                .OrderBy(w => w.Row).OrderByDescending(w => w.Column).FirstOrDefault();
+                            if (endLoction == null)//鍥涙ゼ涓棿绔欏噣妗跺尯娌℃湁绌哄偍浣嶏紝鍐嶄粠涓夋ゼ涓棿绔欏噣妗跺尯鏌ユ壘
+                            {
                             endLoction = jtLocate.Where(w => w.WareHouseNo == "M16" && w.AreaNo == "C24")
                                                 .OrderBy(w => w.Row).OrderByDescending(w => w.Column).FirstOrDefault();
-                            //}
+                            }
                             if (endLoction == null)//涓夋ゼ涓棿绔欏噣妗跺尯娌℃湁绌哄偍浣嶏紝鍐嶄粠涓夋ゼ娓呮礂闂寸紦瀛樺尯鏌ユ壘             PS锛氬皬杞︾幇鍦ㄨ繕涓嶆敮鎸佹竻娲楁満鐩存帴閫佸線4妤煎噣妗跺尯
                             {
                                 endLoction = jtLocate.Where(w => w.WareHouseNo == "M44" && w.AreaNo == "C55")
@@ -996,16 +1012,12 @@
                     }
                     else//澶辫触
                     {
-                        logTaskEntry.IsSuccess = 0;
-                        logTaskEntry.Information = agvMsg;
-                        Db.Updateable(logTaskEntry).ExecuteCommand();
+                        throw new Exception("妗跺彿锛�" + task.Pallno + ",璋冨害灏忚溅澶辫触");
                     }
                 }
                 else
                 {
-                    logTaskEntry.IsSuccess = 0;
-                    logTaskEntry.Information = agvBindMsg;
-                    Db.Updateable(logTaskEntry).ExecuteCommand();
+                    throw new Exception("妗跺彿锛�" + task.Pallno + ",缁戝畾璐т綅澶辫触");
                 }
                 
                 //鎻愪氦浜嬪姟
@@ -1046,6 +1058,8 @@
                 //鍒ゆ柇璇ュ偍浣嶆槸鍚︽槸鍐呬晶鍌ㄤ綅
                 if (!string.IsNullOrEmpty(locatInfo.AisleOne))
                 {
+                    ////鑾峰彇褰撳墠搴撲綅鐨勫渚у偍浣嶄俊鎭�
+                    //var waiLocatInfo = Db.Queryable<SysStorageLocat>().First(w=>w.IsDel == "0" && w.Row == locatInfo.Row && w.Column == locatInfo.Column - 1);
                     //鍒ゆ柇澶栦晶鍌ㄤ綅鏄惁鏈夋《
                     var palletInfoYi = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == locatInfo.AisleOne);
                     if (palletInfoYi != null)
@@ -1429,6 +1443,7 @@
                 string areaNo = string.Empty;
                 switch (palletStatus)
                 {
+
                     case "0"://鍑�妗�
                              //鏌ュ埌鍒板噣妗跺尯鍩熺紪鍙�
                         areaNo = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.Type == "0").Select(s => s.AreaNo).First();
diff --git a/Wms/WMS.BLL/BllTransServer/RcsServer.cs b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
index de8b33e..26b58f2 100644
--- a/Wms/WMS.BLL/BllTransServer/RcsServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
@@ -1097,7 +1097,7 @@
                 
                 //淇敼搴撳瓨鏄庣粏
                 var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == task.PalletNo);
-                if (stockDetail == null)
+                if (stockDetail == null)                                                                                                
                 {
                     throw new Exception("鏈煡璇㈠埌璇ユ《搴撳瓨淇℃伅,璇锋鏌�!");
                 }
diff --git a/Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs b/Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs
index aa4329b..1b5c77e 100644
--- a/Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs
+++ b/Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs
@@ -2,6 +2,7 @@
 using System;
 using System.Collections.Generic;
 using System.Text;
+using WMS.Entity.DataEntity;
 using WMS.Entity.SysEntity;
 
 namespace WMS.IBLL.IBllTransServer
@@ -12,9 +13,9 @@
 
         List<SysStorageLocat> GetLocatByArea(string area);
         List<DicModel> GetPlnStatusByArea(string area);
-        List<string> GetSkuByStatus(string palletStatus);
+        List<DataStockDetail> GetSkuByStatus(string palletStatus);
         List<string> GetLotNoBySku(string skuNo);
-        List<string> GetSku();
+        List<SysMaterials> GetSku();
 
         void jiaoLiaoHopper(string areaNo, string endLocate, string plnStatus, string standard, string skuNo, string lotNo, string url,string bindUrl, int userId);
         void jiaoCheHopper(string areaNo, string StartLocate, string plnNo, string plnStatus, decimal weight, string skuNo, string lotNo, string url, string bindUrl, int userId);
@@ -35,7 +36,7 @@
         /// <param name="comeFrom"></param>
         /// <param name="userId"></param>
         /// <exception cref="Exception"></exception>
-        void RCSFinishTask(string taskNo, string status, string comeFrom, int userId = 0);
+        void RCSFinishTask(string taskNo, string locateNo, string status, string comeFrom, int userId = 0);
 
         /// <summary>
         /// 娓呮礂鏈哄彨鏂欑姸鎬�
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index 11c49eb..93ec264 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -954,9 +954,9 @@
                 }
                 var jsonData = JsonConvert.SerializeObject(model);
                 LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟缁撴潫-璇锋眰鎶ユ枃锛�( {jsonData} ),", logStr);
-               
+
                 //鍏蜂綋澶勭悊鏂规硶
-                _hopper.RCSFinishTask(model.robotTaskCode, "1", "AGV");
+                _hopper.RCSFinishTask(model.robotTaskCode, extraValue.values.slotCode, "1", "AGV");
 
                 Data data = new Data();
                 data.robotTaskCode = model.robotTaskCode;
diff --git a/Wms/Wms/appsettings.json b/Wms/Wms/appsettings.json
index 4603be2..3c0d2fc 100644
--- a/Wms/Wms/appsettings.json
+++ b/Wms/Wms/appsettings.json
@@ -11,7 +11,7 @@
     //"ConnectionString": "Server=47.95.120.93;Database=WMS_JC09;User ID=sa;password=boxline!@#; Integrated Security=True;",
     //"ConnectionString": "Server=47.95.120.53;Database=WMS_JC09;User ID=sa;Password=boxline!@#;Integrated Security=False;",
     //"ConnectionString": "Server=192.168.62.106;Database=WMS_JC24;User ID=sa;Password=sql2019;Integrated Security=False;",
-    "ConnectionString": "Server=192.168.62.200;Database=WMS_JC37;User ID=sa;Password=sql2019;Integrated Security=False;"
+    "ConnectionString": "Server=192.168.10.201\\WMSSQLSERVER;Database=WMS_JC37;User ID=sa;Password=sa@123456;Integrated Security=False;"
     //"ConnectionString": "Server=.;Database=WMS_JC37;User ID=sa;Password=sa@123456;Integrated Security=False;"
     //"ConnectionString": "Data Source=192.168.10.201\\WMSSQLSERVER;Database=WMS_JC37;User ID=sa;Password=sa@123456;Integrated Security=False;"
     //"ConnectionString": "Server=.\\MSSQLSERVER2019;Database=WMS_JC23-2;User Id=sa;Password=admin2023@;" // SqlServer 搴撹繛鎺ュ瓧绗︿覆

--
Gitblit v1.8.0