From a9a3f943efb083de8ed88b293897886b3ef612a2 Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期一, 11 八月 2025 17:37:09 +0800
Subject: [PATCH] 功能增添优化

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs           |   39 +++++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs                 |    7 +
 代码管理/WMS/WIDESEA_WMSClient/src/views/stock/ProStockView.vue                         |    6 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs           |   26 +++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs          |   25 +++
 代码管理/LargeScreen/CP-Screen/src/api/ajax.js                                          |    2 
 代码管理/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js                           |    3 
 代码管理/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue                      |   10 +
 代码管理/LargeScreen/CP-Screen/src/views/indexs/pass-two.vue                            |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs        |    9 +
 代码管理/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue                            |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs                 |    1 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_ReceiveOrder.cs          |    2 
 代码管理/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrder.vue                     |    5 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs              |    7 +
 代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrder.vue                       |   10 +
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs                 |    7 +
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs         |   32 ++++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs            |   36 +++++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs            |   46 +++++
 代码管理/LargeScreen/CP-Screen/src/api/http.js                                          |    2 
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/proOutOrderTypeEnum.cs          |   25 +++
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs |   10 +
 代码管理/WMS/WIDESEA_WMSClient/src/views/outbound/proOutOrder.vue                       |   18 -
 代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/purchaseOrder.vue                      |   10 +
 代码管理/LargeScreen/CP-Screen/src/views/indexs/left-bottom.vue                         |   14 +-
 代码管理/WMS/WIDESEA_WMSClient/config/buttons.js                                        |    1 
 代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/receiveOrder.vue                       |    7 
 28 files changed, 322 insertions(+), 42 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/ajax.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/ajax.js"
index edf0c16..1c8db17 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/ajax.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/ajax.js"
@@ -3,7 +3,7 @@
 // import { config } from 'vue/types/umd';
 axios.defaults.withCredentials=true;
 axios.defaults.crossDomain=true;
-axios.defaults.baseURL = 'http://127.0.0.1:7081';//'http://192.168.2.51:8099'; //'http://localhost:8099'; //'http://192.168.2.51:8099';//
+axios.defaults.baseURL = 'http://10.30.4.92:7081';//'http://192.168.2.51:8099'; //'http://localhost:8099'; //'http://192.168.2.51:8099';//
 axios.defaults.headers.post["Content-Type"]="application/json;charset=utf-8";
 // 閿欒淇℃伅澶勭悊
 const  errorHandle = (status, other) => {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/http.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/http.js"
index 8c4c7d4..2061aa6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/http.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/api/http.js"
@@ -29,5 +29,5 @@
 }
 //鎴愬搧杩戜竷澶╀换鍔$粺璁�
 export function  GetProWeekTasks (data) {
-    return axios.post('/api/Large/GetProWeekTasks', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜�
+    return axios.post('/api/Large/GetProWeekTasks?id=7', data)//杩斿洖鐨勬椂promies瀵硅薄锛屾墍浠ョ洿鎺eturn鍑哄幓灏卞ソ浜�
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/left-bottom.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/left-bottom.vue"
index 87699c9..e5733df 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/left-bottom.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/left-bottom.vue"
@@ -55,7 +55,7 @@
           itemWidth: 10,
           itemHeight: 10,
           icon: 'circle',
-          data: ['鎴愬搧鍏ュ簱', '鎴愬搧鍑哄簱', '绌烘鍥炴祦', '鎴愬搧鍥炲簱']
+          data: ['鎴愬搧鍏ュ簱', '鎴愬搧鍑哄簱', '鎴愬搧璋冩嫧', '鎴愬搧閫�搴�']
         },
         grid: {
           left: '8%',
@@ -126,7 +126,7 @@
             }
           },
           { 
-            name: '绌烘鍥炴祦', 
+            name: '鎴愬搧璋冩嫧', 
             type: 'line', 
             data: [],
             areaStyle: {
@@ -137,7 +137,7 @@
             }
           },
           { 
-            name: '鎴愬搧鍥炲簱', 
+            name: '鎴愬搧閫�搴�', 
             type: 'line', 
             data: [],
             areaStyle: {
@@ -180,16 +180,16 @@
       const seriesData = {
         '鎴愬搧鍏ュ簱': [],
         '鎴愬搧鍑哄簱': [],
-        '绌烘鍥炴祦': [],
-        '鎴愬搧鍥炲簱': []
+        '鎴愬搧璋冩嫧': [],
+        '鎴愬搧閫�搴�': []
       };
       
       // 鏍规嵁瀹為檯鏁版嵁鏍煎紡璋冩暣瀛楁鍚嶏紙灏忓啓寮�澶达級
       stats.forEach(day => {
         seriesData['鎴愬搧鍏ュ簱'].push(day.inProduct || 0);
         seriesData['鎴愬搧鍑哄簱'].push(day.outProduct || 0);
-        seriesData['绌烘鍥炴祦'].push(day.emptyProductBack || 0);
-        seriesData['鎴愬搧鍥炲簱'].push(day.inProductBack || 0);
+        seriesData['鎴愬搧璋冩嫧'].push(day.emptyProductBack || 0);
+        seriesData['鎴愬搧閫�搴�'].push(day.inProductBack || 0);
       });
       
       this.options = {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/pass-two.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/pass-two.vue"
index 45196b6..cc77f27 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/pass-two.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/LargeScreen/CP-Screen/src/views/indexs/pass-two.vue"
@@ -218,7 +218,7 @@
       // });
       var rep = await ProductionRanking();
       var cityLists= rep.map((item,index) => {
-        return '#'+(index+1)+' 浜у搧'+item.pCode;
+        return 'TOP'+(index+1)+' 浜у搧'+item.pCode;
       });
       var cityDatas= rep.map((item,index) => {
         return item.qtys;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/config/buttons.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/config/buttons.js"
index 1f63548..fa55ca9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/config/buttons.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/config/buttons.js"
@@ -105,6 +105,7 @@
     name: "鍙� 娑� 浠� 鍔�",
     icon: '',
     class: '',
+    type: 'danger',
     value: 'TaskHandCancel',
     onClick: function () {
     }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js"
index 50ec494..58d053c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js"
@@ -24,8 +24,9 @@
           if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
           if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
           var param = rows[0].taskNum;
+          var warehouseId = rows[0].warehouseId;
           this.http
-            .post("api/Task/TaskCancel?taskNum="+param, "鏁版嵁澶勭悊涓�...")
+            .post("api/Task/TaskHandCancel?taskNum="+param+"&&warehouseId="+warehouseId, "鏁版嵁澶勭悊涓�...")
             .then((x) => {
               if (x.status) {
                 this.$Message.success('浠诲姟鍙栨秷鎴愬姛.');
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrder.vue"
index 0e1d17a..19546ff 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrder.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/inboundOrder.vue"
@@ -99,6 +99,10 @@
         { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
         { title: "鎵�灞炰粨搴�", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],}
       ],
+      [
+        { title: "鐗╂枡缂栧彿", field: "materielCode", type: "like" },
+        { title: "鎵规鍙�", field: "batchNo", type: "like" },
+      ],
     ]);
     const columns = ref([
       {
@@ -115,7 +119,7 @@
         field: "inboundOrderNo",
         title: "鍗曟嵁缂栧彿",
         type: "string",
-        width: 120,
+        width: 180,
         align: "left",
         link: true,
       },
@@ -244,7 +248,7 @@
           field: "batchNo",
           title: "鎵规鍙�",
           type: "decimal",
-          width: 90,
+          width: 130,
           align: "left",
           edit: { type: "" },
           required: true,
@@ -269,7 +273,7 @@
           field: "overInQuantity",
           title: "涓婃灦鏁伴噺",
           type: "string",
-          width: 200,
+          width: 120,
           align: "left",
         },
         {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/purchaseOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/purchaseOrder.vue"
index 5d3a627..03cf33c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/purchaseOrder.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/purchaseOrder.vue"
@@ -81,6 +81,16 @@
           dataKey: "purchaseOrderStatus",
           data: [],
         },
+      ],
+      [
+        { title: "鐗╂枡缂栧彿", field: "materielCode", type: "like" },
+        {
+          title: "鎵�灞炰粨搴�",
+          field: "warehouseId",
+          type: "select",
+          dataKey: "warehouses",
+          data: [],
+        },
       ]
     ]);
     const columns = ref([
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/receiveOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/receiveOrder.vue"
index 14f4655..5487527 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/receiveOrder.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/receiveOrder.vue"
@@ -50,12 +50,17 @@
           dataKey: "receiveStatus",
           data: [],
         },
+        {title: "鐗╂枡缂栧彿",field: "materielCode",type: "like"},
       ],
       [
-        { title: "渚涘簲鍟�", field: "suppliersId", type: "select",dataKey:"suppliers",data:[]},
+        {field: "lotNo",title: "鎵规鍙�",type: "like",},
+        { title: "渚涘簲鍟�", field: "suppliersId", type: "selectList",dataKey:"suppliers",data:[]},
         { title: "鍒涘缓鑰�", field: "creater", type: "like" },
         { title: "鎵�灞炰粨搴�", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],}
       ],
+      [
+        {field: "purchaseOrderNo",title: "閲囪喘鍗曞彿",type: "like",},
+      ],
     ]);
 
     const editFormFields = ref({
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrder.vue"
index 6b61d28..2a93044 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrder.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/outboundOrder.vue"
@@ -118,6 +118,9 @@
         { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
         { title: "鎵�灞炰粨搴�", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],}
       ],
+      [
+        { title: "鐗╂枡缂栧彿", field: "materielCode", type: "like" },
+      ],
     ]);
     const columns = ref([
       {
@@ -164,7 +167,7 @@
       {
         field: "orderStatus",
         title: "鍗曟嵁鐘舵��",
-        type: "decimal",
+        type: "string",
         width: 90,
         align: "left",
         bind: { key: "outboundStatusEnum", data: [] },
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/proOutOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/proOutOrder.vue"
index 0811f3f..561afc3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/proOutOrder.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/proOutOrder.vue"
@@ -93,25 +93,19 @@
         { title: "涓婃父鍗曟嵁缂栧彿", field: "upperOrderNo", type: "like" },
         {
           title: "鍗曟嵁绫诲瀷",
-          field: "orderType",
+          field: "proOrderType",
           type: "select",
-          dataKey: "outOrderType",
+          dataKey: "proOutOrderTypeEnum",
           data: [],
         },
-        {
-          title: "鍗曟嵁鐘舵��",
-          field: "orderStatus",
-          type: "select",
-          dataKey: "outboundStatusEnum",
-          data: [],
-        },
+        
       ],
       [
         {
-          title: "鍒涘缓鏂瑰紡",
-          field: "createType",
+          title: "鍗曟嵁鐘舵��",
+          field: "proOrderStatus",
           type: "select",
-          dataKey: "createType",
+          dataKey: "outboundStatusEnum",
           data: [],
         },
         { title: "鍒涘缓鑰�", field: "creater", type: "like" },
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/ProStockView.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/ProStockView.vue"
index 3f1d609..5a2de27 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/ProStockView.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/ProStockView.vue"
@@ -44,16 +44,18 @@
       const searchFormOptions = ref([
         [
           { title: "鑳舵鍙�", field: "palletCode",type: "like" },
-          // { title: "璐т綅缂栧彿", field: "locationCode",type: "like" },
           { title: "璐т綅鐘舵��", field: "locationStatus" ,type: "selectList",dataKey: "locationStatusEnum",data: [],},
           { title: "搴撳瓨鐘舵��", field: "stockStatus",type: "selectList",dataKey: "stockStatusEmun",data: [],},
           { title: "浜у搧缂栫爜", field: "productCode",type: "like"},
         ],
         [
           { title: "鎵规鍙�", field: "lotNumber",type: "like"},
-          { title: "浜у搧鐗堟湰", field: "productVersion",type: "like"},
+          { title: "璐т綅缂栧彿", field: "locationCode",type: "like" },
           { title: "鎸囨淳鐗堟湰", field: "specifyVer",type: "like"},
           { title: "鎵�灞炰粨搴�", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],},
+        ],
+        [
+          { title: "浜у搧鐗堟湰", field: "productVersion",type: "like"},
         ]
       ]);
       const columns = ref([
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue"
index 4129a8d..b3e5495 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue"
@@ -117,9 +117,13 @@
     });
     const searchFormOptions = ref([
       [
-        { title: "鐗╂枡缂栧彿", field: "materielCode" },
-        { title: "鐗╂枡鍚嶇О", field: "materielName" },
-        { title: "鍗曟嵁缂栧彿", field: "orderNo" },
+        { title: "鐗╂枡缂栧彿", field: "materielCode",type :"like"},
+        { title: "鐗╂枡鍚嶇О", field: "materielName",type :"like"},
+        { title: "鍗曟嵁缂栧彿", field: "orderNo",type :"like"},
+      ],
+      [
+        { title: "鎵规鍙�", field: "batchNo",type :"like"},
+        {title: "搴撳瓨鏄庣粏鐘舵��",field: "status",type: "select",dataKey:"stockStatusEmun", data: []},
       ],
     ]);
     const columns = ref([
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue"
index 59be617..82c6174 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue"
@@ -43,7 +43,7 @@
     const searchFormOptions = ref([
       [
         { title: "鎵樼洏缂栧彿", field: "palletCode",type: "like" },
-        // { title: "璐т綅缂栧彿", field: "locationCode",type: "like" },
+        { title: "璐т綅缂栧彿", field: "locationCode",type: "like" },
         { title: "璐т綅鐘舵��", field: "locationStatus" ,type: "selectList",dataKey: "locationStatusEnum",data: [],},
         { title: "搴撳瓨鐘舵��", field: "stockStatus",type: "selectList",dataKey: "stockStatusEmun",data: [],},
       ],
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/proOutOrderTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/proOutOrderTypeEnum.cs"
new file mode 100644
index 0000000..371a529
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Common/OrderEnum/proOutOrderTypeEnum.cs"
@@ -0,0 +1,25 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Common.OrderEnum
+{
+    public enum ProOutOrderTypeEnum
+    {
+        /// <summary>
+        /// 璁㈠崟鍑鸿揣
+        /// </summary>
+        [Description("璁㈠崟鍑鸿揣")]
+        璁㈠崟鍑鸿揣 = 1,
+
+        /// <summary>
+        /// 閿�鍞嚭搴�
+        /// </summary>
+        [Description("閿�鍞嚭搴�")]
+        閿�鍞嚭搴� = 2,
+
+    }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs"
index 98d28b2..4a8e7fa 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs"
@@ -53,6 +53,7 @@
 
         public virtual PageGridData<TEntity> GetPageData(PageDataOptions options)
         {
+
             string wheres = options.ValidatePageOptions(TProperties);
 
 
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
index d37cbe2..02de6cb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
@@ -391,5 +391,12 @@
         /// </summary>
         WebResponseContent OutProductSelect(int orderDetailId, List<ProStockViewDTO> proStockViews);
         WebResponseContent GetZHMesMaterialLot(string materialLot);
+        /// <summary>
+        /// 浠诲姟鍙栨秷
+        /// </summary>
+        /// <param name="taskNum"></param>
+        /// <param name="warehouseId"></param>
+        /// <returns></returns>
+        public Task<WebResponseContent> TaskHandCancel(int taskNum, int warehouseId);
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
index 3613253..2721213 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs"
@@ -78,6 +78,42 @@
             _warehouseService = warehouseService;
             _palletTypeInfoRepository = palletTypeInfoRepository;
         }
+
+        public override PageGridData<Dt_InboundOrder> GetPageData(PageDataOptions options)
+        {
+            PageGridData<Dt_InboundOrder> pageGridData = base.GetPageData(options);
+
+            ISugarQueryable<Dt_InboundOrder> sugarQueryable1 = BaseDal.Db.Queryable<Dt_InboundOrder>().Includes(x => x.Details);
+            if (!string.IsNullOrEmpty(options.Wheres))
+            {
+
+                List<SearchParameters> searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
+                int totalCount = 0;
+                if (searchParametersList.Count > 0)
+                {
+                    {
+                        SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_InboundOrderDetail.MaterielCode).FirstLetterToLower());
+                        if (searchParameters != null)
+                        {
+                            sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.MaterielCode.Contains(searchParameters.Value)));
+                            List<Dt_InboundOrder> dataList = sugarQueryable1.ToPageList(options.Page, options.Rows, ref totalCount);
+                            return new PageGridData<Dt_InboundOrder>(totalCount, dataList);
+                        }
+                    }
+
+                    {
+                        SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_InboundOrderDetail.BatchNo).FirstLetterToLower());
+                        if (searchParameters != null)
+                        {
+                            sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.BatchNo.Contains(searchParameters.Value)));
+                            List<Dt_InboundOrder> dataList = sugarQueryable1.ToPageList(options.Page, options.Rows, ref totalCount);
+                            return new PageGridData<Dt_InboundOrder>(totalCount, dataList);
+                        }
+                    }
+                }
+            }
+            return pageGridData;
+        }
         public override object GetDetailPage(PageDataOptions pageData)
         {
             Type t = typeof(Dt_InboundOrder);
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs"
index 2eb5da7..03267dc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/PurchaseOrderService.cs"
@@ -1,4 +1,5 @@
-锘縰sing System;
+锘縰sing SqlSugar;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -36,6 +37,42 @@
             _supplierInfoRepository = supplierInfoRepository;
             _materielInfoRepository = materielInfoRepository;
         }
+
+        public override PageGridData<Dt_PurchaseOrder> GetPageData(PageDataOptions options)
+        {
+            PageGridData<Dt_PurchaseOrder> pageGridData = base.GetPageData(options);
+
+            ISugarQueryable<Dt_PurchaseOrder> sugarQueryable1 = BaseDal.Db.Queryable<Dt_PurchaseOrder>().Includes(x => x.Details);
+            if (!string.IsNullOrEmpty(options.Wheres))
+            {
+
+                List<SearchParameters> searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
+                int totalCount = 0;
+                if (searchParametersList.Count > 0)
+                {
+                    {
+                        SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_PurchaseOrderDetail.MaterielCode).FirstLetterToLower());
+                        if (searchParameters != null)
+                        {
+                            sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.MaterielCode.Contains(searchParameters.Value)));
+                            List<Dt_PurchaseOrder> dataList = sugarQueryable1.ToPageList(options.Page, options.Rows, ref totalCount);
+                            return new PageGridData<Dt_PurchaseOrder>(totalCount, dataList);
+                        }
+                    }
+
+                    {
+                        SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_PurchaseOrderDetail.WarehouseId).FirstLetterToLower());
+                        if (searchParameters != null && int.TryParse(searchParameters.Value, out int warehouseId))
+                        {
+                            sugarQueryable1 = sugarQueryable1.Where(x =>x.Details.Any(v => v.WarehouseId == warehouseId));
+                            List<Dt_PurchaseOrder> dataList = sugarQueryable1.ToPageList(options.Page, options.Rows, ref totalCount);
+                            return new PageGridData<Dt_PurchaseOrder>(totalCount, dataList);
+                        }
+                    }
+                }
+            }
+            return pageGridData;
+        }
         public WebResponseContent GetPurchaseOrderInfo(string purchaseOrderNo)
         {
             try
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
index 2e8992a..27f3b20 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderService.cs"
@@ -17,6 +17,7 @@
 using WIDESEA_DTO;
 using WIDESEA_DTO.Basic;
 using WIDESEA_DTO.ERP;
+using WIDESEA_DTO.Stock;
 using WIDESEA_External.ERPService;
 using WIDESEA_External.Model;
 using WIDESEA_IBasicRepository;
@@ -48,11 +49,46 @@
         public override PageGridData<Dt_ReceiveOrder> GetPageData(PageDataOptions options)
         {
             PageGridData<Dt_ReceiveOrder> pageGridData = base.GetPageData(options);
-            //foreach (var item in pageGridData.Rows)
-            //{
-            //    //鑾峰彇鏀惰揣鏄庣粏
-            //    item.PurchaseOrderNo
-            //}
+
+            ISugarQueryable<Dt_ReceiveOrder> sugarQueryable1 = BaseDal.Db.Queryable<Dt_ReceiveOrder>().Includes(x => x.Details);
+            if (!string.IsNullOrEmpty(options.Wheres))
+            {
+
+                List<SearchParameters> searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
+                int totalCount = 0;
+                if (searchParametersList.Count > 0)
+                {
+                    {
+                        SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ReceiveOrderDetail.MaterielCode).FirstLetterToLower());
+                        if (searchParameters != null)
+                        {
+                            sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.MaterielCode.Contains(searchParameters.Value)));
+                            List<Dt_ReceiveOrder> dataList = sugarQueryable1.ToPageList(options.Page, options.Rows, ref totalCount);
+                            return new PageGridData<Dt_ReceiveOrder>(totalCount, dataList);
+                        }
+                    }
+                    {
+                        SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ReceiveOrderDetail.LotNo).FirstLetterToLower());
+                        if (searchParameters != null)
+                        {
+                            sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.LotNo.Contains(searchParameters.Value)));
+                            List<Dt_ReceiveOrder> dataList = sugarQueryable1.ToPageList(options.Page, options.Rows, ref totalCount);
+                            return new PageGridData<Dt_ReceiveOrder>(totalCount, dataList);
+                        }
+                    }
+                    {
+                        SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ReceiveOrderDetail.PurchaseOrderNo).FirstLetterToLower());
+                        if (searchParameters != null)
+                        {
+                            sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.PurchaseOrderNo.Contains(searchParameters.Value)));
+                            List<Dt_ReceiveOrder> dataList = sugarQueryable1.ToPageList(options.Page, options.Rows, ref totalCount);
+                            return new PageGridData<Dt_ReceiveOrder>(totalCount, dataList);
+                        }
+                    }
+
+                }
+              
+            }
             return pageGridData;
         }
         public override WebResponseContent AddData(SaveModel saveModel)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_ReceiveOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_ReceiveOrder.cs"
index aeb933c..6497f9a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_ReceiveOrder.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_ReceiveOrder.cs"
@@ -95,7 +95,5 @@
         [Navigate(NavigateType.OneToMany, nameof(Dt_ReceiveOrderDetail.ReceiveOrderId), nameof(ReceiveOrderId))]
         public List<Dt_ReceiveOrderDetail> Details { get; set; }
 
-        [SugarColumn(IsIgnore = true)]
-        public string? PurchaseOrderNo { get; set; }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
index 7c3db99..79d9568 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs"
@@ -61,6 +61,31 @@
             _outStockLockInfoService = outStockLockInfoService;
             _outboundOrderRepository = outboundOrderRepository;
         }
+        public override PageGridData<Dt_OutboundOrder> GetPageData(PageDataOptions options)
+        {
+            PageGridData<Dt_OutboundOrder> pageGridData = base.GetPageData(options);
+
+            ISugarQueryable<Dt_OutboundOrder> sugarQueryable1 = BaseDal.Db.Queryable<Dt_OutboundOrder>().Includes(x => x.Details);
+            if (!string.IsNullOrEmpty(options.Wheres))
+            {
+
+                List<SearchParameters> searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
+                int totalCount = 0;
+                if (searchParametersList.Count > 0)
+                {
+                    {
+                        SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_OutboundOrderDetail.MaterielCode).FirstLetterToLower());
+                        if (searchParameters != null)
+                        {
+                            sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.MaterielCode.Contains(searchParameters.Value)));
+                            List<Dt_OutboundOrder> dataList = sugarQueryable1.ToPageList(options.Page, options.Rows, ref totalCount);
+                            return new PageGridData<Dt_OutboundOrder>(totalCount, dataList);
+                        }
+                    }
+                }
+            }
+            return pageGridData;
+        }
         public override WebResponseContent AddData(SaveModel saveModel)
         {
             if (saveModel.MainData.TryGetValue(nameof(Dt_OutboundOrder.UpperOrderNo).FirstLetterToLower(), out object? upperOrderNo) && upperOrderNo != null && !string.IsNullOrEmpty(upperOrderNo.ToString()))
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs"
index e3b0337..1813cde 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs"
@@ -86,6 +86,13 @@
                                     sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.LotNumber.Contains(searchParameters.Value)));
                                 }
                             }
+                            {
+                                SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfo.LocationCode).FirstLetterToLower());
+                                if (searchParameters != null)
+                                {
+                                    sugarQueryable1 = sugarQueryable1.Where(x => x.LocationCode == searchParameters.Value);
+                                }
+                            }
 
 
                         }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs"
index 58a7512..843d8f7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockViewService.cs"
@@ -72,6 +72,13 @@
                                     sugarQueryable1 = sugarQueryable1.Where(x => x.Details.Any(v => v.BatchNo.Contains(searchParameters.Value)));
                                 }
                             }
+                            {
+                                SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfo.LocationCode).FirstLetterToLower());
+                                if (searchParameters != null)
+                                {
+                                    sugarQueryable1 = sugarQueryable1.Where(x => x.LocationCode == searchParameters.Value);
+                                }
+                            }
 
                         }
 
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs"
index a8dddb7..5b13901 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_DictionaryService.cs"
@@ -1289,6 +1289,32 @@
                             result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
                         }
                         break;
+                    case "proOutOrderTypeEnum":
+                        {
+                            List<object> data = new List<object>();
+                            {
+                                Type type = typeof(ProOutOrderTypeEnum);
+                                List<int> enums = Enum.GetValues(typeof(ProOutOrderTypeEnum)).Cast<int>().ToList();
+                                int index = 0;
+                                foreach (var item in enums)
+                                {
+                                    FieldInfo? fieldInfo = typeof(ProOutOrderTypeEnum).GetField(((ProOutOrderTypeEnum)item).ToString());
+                                    DescriptionAttribute? description = fieldInfo.GetCustomAttribute<DescriptionAttribute>();
+                                    if (description != null)
+                                    {
+                                        data.Add(new { key = item.ToString(), value = description.Description });
+                                    }
+                                    else
+                                    {
+                                        data.Add(new { key = item.ToString(), value = item.ToString() });
+                                    }
+                                    index++;
+                                }
+                            }
+
+                            result = new VueDictionaryDTO { DicNo = key, Config = "", Data = data };
+                        }
+                        break;
                 }
                 return result;
             }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs"
index a57f13c..0f17ddf 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Completed.cs"
@@ -136,5 +136,37 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+
+        public async Task<WebResponseContent> TaskHandCancel(int taskNum,int warehouseId)
+        {
+            try
+            {
+                Dt_Task task = await Repository.QueryFirstAsync(x => x.TaskNum == taskNum);
+                if (task == null)
+                {
+                    return await Task.FromResult(WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�"));
+                }
+                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+                {
+                    return await Task.FromResult(InboundTaskCompleted(taskNum));
+                }
+                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+                {
+                    return await Task.FromResult(OutboundTaskCompleted(taskNum));
+                }
+                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
+                {
+                    return await Task.FromResult(RelocationTaskCompleted(task));
+                }
+                else
+                {
+                    return await Task.FromResult(WebResponseContent.Instance.Error($"鏈壘鍒拌绫诲瀷浠诲姟,浠诲姟绫诲瀷:{task.TaskType}"));
+                }
+            }
+            catch (Exception ex)
+            {
+                return await Task.FromResult(WebResponseContent.Instance.Error(ex.Message));
+            }
+        }
     }
 }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs"
index 260b7e8..ce69248 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Reloaction.cs"
@@ -94,6 +94,15 @@
                             TaskStatus = 0,
                             TaskType = TaskTypeEnum.Relocation.ObjToInt()
                         };
+                        string MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
+                        float Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
+                        string BatchNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo;
+                        if (MaterielCode != null && Quantity != null && BatchNo != null)
+                        {
+                            newTask.MaterielCode = MaterielCode;
+                            newTask.Quantity = Quantity;
+                            newTask.BatchNo = BatchNo;
+                        }
                         if (stockInfo.StockLength>0)
                         {
                             newTask.TaskLength = stockInfo.StockLength;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index b28f736..53a5032 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -408,5 +408,15 @@
         {
             return Service.TakeOutbound(stockViews);
         }
+        /// <summary>
+        /// 浠诲姟鍙栨秷
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <returns></returns>
+        [HttpPost, HttpGet, Route("TaskHandCancel"), AllowAnonymous]
+        public async Task<WebResponseContent> TaskHandCancel(int taskNum ,int warehouseId)
+        {
+            return await Service.TaskHandCancel(taskNum,warehouseId);
+        }
     }
 }

--
Gitblit v1.9.3