From f7f1f176f931f5ad54056df7b8e8a9f028eea100 Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期二, 17 十二月 2024 19:50:38 +0800
Subject: [PATCH] 合并

---
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_InboundOrder.js                 |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_AreaInfo.js                    |    2 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs                             |    4 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs                     |   55 ++
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderTransfer.js             |    2 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs                           |    6 
 Code Management/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_Hty.vue                                       |  236 +++++++++++
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_RoadWayInfo.js                 |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_WareAreaInfo.js                |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx                        |   43 +
 Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/DtBoxing.vue                              |   18 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtLocationInfo.cs                     |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/material/Dt_MaterielInfo.js                 |    2 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs |   12 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStockDetail.js            |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrder.js                     |    2 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs            |  494 +++++++-----------------
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/PointStackerRelation.js           |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/material/Dt_MaterielAttribute.js            |    2 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs       |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/LocationStatusChange.js           |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderProductionDetail.js     |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task_Hty.jsx                    |  148 +++++++
 Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js                                                  |   17 
 Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue                     |   18 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderTransferDetail.js       |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_LocationInfo.vue                   |    3 
 Code Management/WMS/WIDESEA_WMSClient/src/api/buttons.js                                                    |   20 +
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_Strategy.js                    |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_UnitInfo.js                    |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_TaskExecuteDetail.js            |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_Task_Hty.vue                        |   11 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/SysConfigKeyConst.cs                          |    8 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderAndStock.js             |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderProduction.js           |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderSorting.js              |    2 
 Code Management/WCS/WIDESEAWCS_Client/src/router/viewGird.js                                                |    6 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderDetail.js               |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_LocationInfo.jsx               |    2 
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx                 |   40 +
 Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_InboundOrderDetail.js           |    2 
 41 files changed, 765 insertions(+), 422 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/router/viewGird.js b/Code Management/WCS/WIDESEAWCS_Client/src/router/viewGird.js
index cde4249..e32800b 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/router/viewGird.js
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/router/viewGird.js
@@ -53,7 +53,11 @@
     path: '/task',
     name: 'task',
     component: () => import('@/views/taskinfo/task.vue')
-  }, {
+  },  {
+    path: '/task_Hty',
+    name: 'task_Hty',
+    component: () => import('@/views/taskinfo/task_Hty.vue')
+  },{
     path: '/router',
     name: 'router',
     component: () => import('@/views/basicinfo/router.vue')
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_Hty.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_Hty.vue
new file mode 100644
index 0000000..67f0366
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_Hty.vue
@@ -0,0 +1,236 @@
+
+<template>
+  <view-grid
+    ref="grid"
+    :columns="columns"
+    :detail="detail"
+    :editFormFields="editFormFields"
+    :editFormOptions="editFormOptions"
+    :searchFormFields="searchFormFields"
+    :searchFormOptions="searchFormOptions"
+    :table="table"
+    :extend="extend"
+  >
+  </view-grid>
+</template>
+  <script>
+import extend from "@/extension/taskinfo/task_Hty.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+  setup() {
+    const table = ref({
+      key: "taskId",
+      footer: "Foots",
+      cnName: "浠诲姟淇℃伅",
+      name: "task_Hty",
+      url: "/Task_Hty/",
+      sortName: "CreateDate",
+    });
+    const editFormFields = ref({});
+    const editFormOptions = ref([]);
+    const searchFormFields = ref({
+      taskNum: "",
+      palletCode: "",
+      roadway: "",
+      sourceAddress: "",
+      targetAddress: "",
+      currentAddress: "",
+      nextAddress: "",
+      creater: "",
+      createDate: "",
+    });
+    const searchFormOptions = ref([
+      [
+        { title: "浠诲姟鍙�", field: "taskNum", type: "int" },
+        { title: "鎵樼洏缂栧彿", field: "palletCode", type: "like" },
+        {
+          title: "浠诲姟绫诲瀷",
+          field: "taskType",
+          type: "selectList",
+          dataKey: "taskType",
+          data: [],
+        },
+        {
+          title: "浠诲姟鐘舵��",
+          field: "taskState",
+          type: "selectList",
+          dataKey: "taskState",
+          data: [],
+        },
+      ],
+      [
+        { title: "璧峰鍦板潃", field: "sourceAddress", type: "like" },
+        { title: "鐩爣鍦板潃", field: "targetAddress", type: "like" },
+        { title: "褰撳墠浣嶇疆", field: "currentAddress", type: "like" },
+        { title: "涓嬩竴浣嶇疆", field: "nextAddress", type: "like" },
+      ],
+      [
+        { title: "宸烽亾鍙�", field: "roadway", type: "like" },
+        { title: "鍒涘缓浜�", field: "creater", type: "like" },
+        { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
+      ],
+    ]);
+    const columns = ref([
+      {
+        field: "taskId",
+        title: "TaskId",
+        type: "int",
+        width: 90,
+        hidden: true,
+        readonly: true,
+        require: true,
+        align: "left",
+      },
+      {
+        field: "taskNum",
+        title: "浠诲姟鍙�",
+        type: "int",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "palletCode",
+        title: "鎵樼洏缂栧彿",
+        type: "string",
+        width: 200,
+        align: "left",
+      },
+      {
+        field: "roadway",
+        title: "宸烽亾鍙�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "taskType",
+        title: "浠诲姟绫诲瀷",
+        type: "int",
+        width: 90,
+        align: "left",
+        bind: { key: "taskType", data: [] },
+      },
+      {
+        field: "taskState",
+        title: "浠诲姟鐘舵��",
+        type: "int",
+        width: 150,
+        align: "left",
+        bind: { key: "taskState", data: [] },
+      },
+      {
+        field: "sourceAddress",
+        title: "璧峰鍦板潃",
+        type: "int",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "targetAddress",
+        title: "鐩爣鍦板潃",
+        type: "string",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "currentAddress",
+        title: "褰撳墠浣嶇疆",
+        type: "string",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "nextAddress",
+        title: "涓嬩竴浣嶇疆",
+        type: "string",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "exceptionMessage",
+        title: "寮傚父淇℃伅",
+        type: "string",
+        width: 90,
+        align: "left",
+        hidden: true,
+      },
+      {
+        field: "grade",
+        title: "浼樺厛绾�",
+        type: "int",
+        width: 80,
+        align: "left",
+      },
+      {
+        field: "dispatchertime",
+        title: "浠诲姟涓嬪彂鏃堕棿",
+        type: "datetime",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "wMSId",
+        title: "WMS浠诲姟涓婚敭",
+        type: "int",
+        width: 120,
+        align: "left",
+        hidden: true,
+      },
+      {
+        field: "creater",
+        title: "鍒涘缓浜�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "modifier",
+        title: "淇敼浜�",
+        type: "string",
+        width: 100,
+        align: "left",
+      },
+      {
+        field: "modifyDate",
+        title: "淇敼鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+      },
+      {
+        field: "remark",
+        title: "澶囨敞",
+        type: "string",
+        width: 100,
+        align: "left",
+        hidden: true,
+      },
+    ]);
+    const detail = ref({
+      cnName: "",
+      table: "",
+      columns: [],
+      sortName: "",
+      key: "",
+    });
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail,
+    };
+  },
+});
+</script>
+  
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/SysConfigKeyConst.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/SysConfigKeyConst.cs
index 4d2f666..5bdf7d0 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/SysConfigKeyConst.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Const/SysConfigKeyConst.cs
@@ -63,6 +63,12 @@
         /// 甯告俯琛ョ┖鎵樼洏鑷冲垎瀹�
         /// </summary>
         public const string GetFROutTrayToCW = "GetFROutTrayToCW";
-        
+
+        /// <summary>
+        /// 甯告俯3 鍑哄簱鑷冲寘瑁�
+        /// </summary>
+        public const string RequestOutTaskToBZ = "RequestOutTaskToBZ";
+
+
     }
 }
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
index f49c894..86f3b54 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -79,6 +79,12 @@
         /// <returns></returns>
         Task<WebResponseContent> RequestWMSTask(string palletCode, string sourceAddress);
 
+        /// <summary>
+        /// 璇锋眰鍑哄簱鑷冲寘瑁�
+        /// </summary>
+        /// <param name="stationManager"></param>
+        /// <returns></returns>
+        Task<WebResponseContent> RequestOutTaskToBZAsync(Dt_StationManager stationManager);
 
         /// <summary>
         /// 鏍规嵁鎵樼洏鍙枫�佽捣濮嬪湴鍧�鍚慦MS璇锋眰浠诲姟
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
index 24e985a..5923b5e 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
@@ -96,8 +96,20 @@
                 if (!content.Status)
                 {
                     // wms澶辫触杩斿洖鍘籒G鍙d换鍔�
-
-
+                    //if (stationManager.stationChildCode != stationManager.stationNGChildCode)
+                    //{
+                    //    WMSTaskDTO taskDTO = new WMSTaskDTO()
+                    //    {
+                    //        Grade = 8,
+                    //        PalletCode = palletCode,
+                    //        SourceAddress = stationManager.stationLocation,
+                    //        TargetAddress = stationManager.stationNGLocation,
+                    //        RoadWay = stationManager.Roadway,
+                    //        TaskNum = 1000,
+                    //        TaskState = (int)TaskOutStatusEnum.OutNew,
+                    //        TaskType = (int)TaskOutboundTypeEnum.InToOut
+                    //    };
+                    //}
                     return content;
                 }
 
@@ -111,6 +123,45 @@
             }
         }
 
+        public async Task<WebResponseContent> RequestOutTaskToBZAsync(Dt_StationManager stationManager)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+                var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+                var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestOutTaskToBZ)?.ConfigValue;
+                if (wmsBase == null || requestTask == null)
+                {
+                    throw new InvalidOperationException("WMS IP 鏈厤缃�");
+                }
+                var wmsIpAddrss = wmsBase + requestTask;
+
+                var result = await HttpHelper.PostAsync(wmsIpAddrss, new { }.ToJsonString());
+                content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+                if (!content.Status)
+                {
+                    //鏃犳弧瓒虫潯浠跺彲鍑哄簱鑷冲寘瑁呯殑搴撳瓨
+                    return content;
+                }
+
+                var task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
+                ConsoleHelper.WriteSuccessLine(content.Data.ToString());
+                content = ReceiveByWMSTask(task);
+                //if (content.Status)
+                //{
+                //    //鐩稿簲鐨勫湪閫旀暟鎹�+1
+                //   // _taskNeedBarcodeRepository.UpdateData();
+                //}
+                return content;
+            }
+            catch (Exception ex)
+            {
+
+                return content.Error(ex.Message);
+            }
+        }
+
         /// <summary>
         /// 鎺ユ敹WMS浠诲姟淇℃伅
         /// </summary>
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 5dee342..6689c40 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -40,6 +40,7 @@
         private readonly IDt_StationManagerRepository _stationManagerRepository;
         private readonly IRouterRepository _routerRepository;
         private readonly ITask_HtyRepository _taskHtyRepository;
+        private readonly IDt_needBarcodeRepository _taskNeedBarcodeRepository;
 
         private Dictionary<string, OrderByType> _taskOrderBy = new()
         {
@@ -54,7 +55,7 @@
 
         public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList();
 
-        public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, IRouterRepository routerRepository, ITask_HtyRepository htyRepository) : base(BaseDal)
+        public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, IRouterRepository routerRepository, ITask_HtyRepository htyRepository, IDt_needBarcodeRepository taskNeedBarcodeRepository) : base(BaseDal)
         {
             _routerService = routerService;
             _taskExecuteDetailService = taskExecuteDetailService;
@@ -65,6 +66,7 @@
             _stationManagerRepository = stationManagerRepository;
             _routerRepository = routerRepository;
             _taskHtyRepository = htyRepository;
+            _taskNeedBarcodeRepository = taskNeedBarcodeRepository;
         }
 
         /// <summary>
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs
index bd8efa5..ae2d148 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs
@@ -165,6 +165,9 @@
         public void RequestInbound(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, Dt_StationManager stationInfo)
         {
             ConsoleHelper.WriteSuccessLine($"銆恵conveyorLine.DeviceName}銆�,鎵樼洏鍙凤細銆恵command.ConveyorLineBarcode}銆�,绔欏彴锛氥�恵stationInfo.remark}銆戣姹備换鍔�");
+
+            //if()
+
             var taskNew = _taskService.QueryTaskByPalletCode(command.ConveyorLineBarcode, stationInfo.Roadway);
             if (taskNew == null)
             {
@@ -183,6 +186,15 @@
                         //ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
                     }
                 }
+                else   //濡傛灉浠诲姟璇锋眰澶辫触 
+                { 
+                    //濡傛灉璇锋眰浣嶇疆涓嶯G浣嶇疆涓�鐩� 鍒欏啓褰撳墠浣嶇疆璁╃嚎浣撻��鍥�
+                    if (stationInfo.stationChildCode == stationInfo.stationNGChildCode)
+                    {
+                        conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, stationInfo.stationChildCode);
+                        conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, stationInfo.stationChildCode, stationInfo.stationChildCode);
+                    }
+                }
             }
         }
 
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
index ce16b7b..469a544 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
@@ -171,7 +171,7 @@
             }
             catch (Exception ex)
             {
-                Console.Out.WriteLine(nameof(CommonConveyorLine_AfterJob) + ":" + ex.ToString());
+                Console.Out.WriteLine(nameof(CommonConveyorLine_GWJob) + ":" + ex.ToString());
             }
             finally
             {
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/api/buttons.js b/Code Management/WMS/WIDESEA_WMSClient/src/api/buttons.js
index e2fc8de..a9ded9d 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/api/buttons.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/api/buttons.js
@@ -103,6 +103,26 @@
     onClick: function () {
       this.printClick()
     }
+  },{
+    name: '浠诲姟瀹屾垚',
+    // icon: 'el-icon-printer',
+    type: 'primary',
+    // plain: true,
+    color: '#529b2e',
+    value: 'TaskHandComplete',
+    onClick: function () {
+      
+    }
+  },{
+    name: '鐩存帴鍑哄簱',
+    // icon: 'el-icon-printer',
+    type: 'primary',
+    // plain: true,
+    color: '#529b2e',
+    value: 'OutBound',
+    onClick: function () {
+      
+    }
   }
 ]
 
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_AreaInfo.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_AreaInfo.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_AreaInfo.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_AreaInfo.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_LocationInfo.jsx b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_LocationInfo.jsx
index 763722f..981f67d 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_LocationInfo.jsx
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_LocationInfo.jsx
@@ -135,7 +135,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_RoadWayInfo.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_RoadWayInfo.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_RoadWayInfo.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_RoadWayInfo.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_Strategy.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_Strategy.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_Strategy.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_Strategy.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_UnitInfo.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_UnitInfo.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_UnitInfo.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_UnitInfo.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_WareAreaInfo.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_WareAreaInfo.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_WareAreaInfo.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_WareAreaInfo.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/LocationStatusChange.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/LocationStatusChange.js
index 16f021a..c0416e5 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/LocationStatusChange.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/LocationStatusChange.js
@@ -61,7 +61,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/PointStackerRelation.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/PointStackerRelation.js
index 1731c08..1845442 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/PointStackerRelation.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/PointStackerRelation.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_InboundOrder.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_InboundOrder.js
index 9a2c257..1841fee 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_InboundOrder.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_InboundOrder.js
@@ -64,7 +64,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_InboundOrderDetail.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_InboundOrderDetail.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_InboundOrderDetail.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_InboundOrderDetail.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrder.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrder.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrder.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrder.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderAndStock.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderAndStock.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderAndStock.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderAndStock.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderDetail.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderDetail.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderDetail.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderDetail.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderProduction.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderProduction.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderProduction.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderProduction.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderProductionDetail.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderProductionDetail.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderProductionDetail.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderProductionDetail.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderSorting.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderSorting.js
index 869feab..8935403 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderSorting.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderSorting.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderTransfer.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderTransfer.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderTransfer.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderTransfer.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderTransferDetail.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderTransferDetail.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderTransferDetail.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/invoices/Dt_OutOrderTransferDetail.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/material/Dt_MaterielAttribute.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/material/Dt_MaterielAttribute.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/material/Dt_MaterielAttribute.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/material/Dt_MaterielAttribute.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/material/Dt_MaterielInfo.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/material/Dt_MaterielInfo.js
index bd523f5..79fcdc6 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/material/Dt_MaterielInfo.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/material/Dt_MaterielInfo.js
@@ -60,7 +60,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx
index c74546e..b38cc68 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx
@@ -26,13 +26,9 @@
     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
     onInit() {
       //妗嗘灦鍒濆鍖栭厤缃墠锛�
-      //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
-      this.buttons.unshift({
-        //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
-        name: '鐩存帴鍑哄簱', //鎸夐挳鍚嶇О
-        icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
-        type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
-        onClick: function () {
+      let OutBoundBtn=this.buttons.find(x=>x.value=='OutBound');
+      if(OutBoundBtn){
+        OutBoundBtn.onClick=function(){
           this.$Message.success('鐐瑰嚮浜嗘寜閽�')
           let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
           if (row <= 0) {
@@ -51,7 +47,33 @@
             }
           })
         }
-      })
+      }
+      //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+      // this.buttons.unshift({
+      //   //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+      //   name: '鐩存帴鍑哄簱', //鎸夐挳鍚嶇О
+      //   icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+      //   type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+      //   onClick: function () {
+      //     this.$Message.success('鐐瑰嚮浜嗘寜閽�')
+      //     let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
+      //     if (row <= 0) {
+      //       //濡傛灉娌℃湁閫変腑琛�
+      //       this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
+      //       return
+      //     }
+      //     let locationCode = row[0].locationCode
+      //     let palletCode = row[0].palletCode
+      //     this.http.get(`/api/Task/CreateAndSendOutboundTask?locationCode=${locationCode}&palletCode=${palletCode}`, {}, "姝e湪鍒涘缓浠诲姟").then((res) => {
+      //       //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+      //       if (res.status) {
+      //         this.$Message.success('鍒涘缓浠诲姟鎴愬姛')
+      //       } else {
+      //         this.$Message.error(res.message) //閿欒鎻愮ず
+      //       }
+      //     })
+      //   }
+      // })
 
       //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
       this.boxOptions.labelWidth = 150
@@ -103,7 +125,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStockDetail.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStockDetail.js
index 39e5066..07d83af 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStockDetail.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStockDetail.js
@@ -67,7 +67,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx
index a7f9f99..6058faf 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task.jsx
@@ -24,32 +24,51 @@
     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
     onInit() {
       //妗嗘灦鍒濆鍖栭厤缃墠锛�
-      //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
-      this.buttons.unshift({
-        //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
-        name: '浠诲姟瀹屾垚', //鎸夐挳鍚嶇О
-        icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
-        type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
-        onClick: function () {
-          // this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+      let TaskHandCompleteBtn=this.buttons.find(x=>x.value=='TaskHandComplete');
+      if(TaskHandCompleteBtn){
+        TaskHandCompleteBtn.onClick=function(){
           let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
           if (row <= 0) {
             //濡傛灉娌℃湁閫変腑琛�
             this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
             return
           }
-          debugger;
           let taskNum = row[0].taskNum
           this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "姝e湪瀹屾垚浠诲姟").then((res) => {
             //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
-            if (res.data.code === 200) {
+            if (res.status) {
               this.$Message.success('浠诲姟瀹屾垚')
             } else {
               this.$Message.error(res.message) //閿欒鎻愮ず
             }
           })
         }
-      })
+      }
+      //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+      // this.buttons.unshift({
+      //   //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+      //   name: '浠诲姟瀹屾垚', //鎸夐挳鍚嶇О
+      //   icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+      //   type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+      //   onClick: function () {
+      //     // this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+      //     let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
+      //     if (row <= 0) {
+      //       //濡傛灉娌℃湁閫変腑琛�
+      //       this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
+      //       return
+      //     }
+      //     let taskNum = row[0].taskNum
+      //     this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "姝e湪瀹屾垚浠诲姟").then((res) => {
+      //       //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+      //       if (res.status) {
+      //         this.$Message.success('浠诲姟瀹屾垚')
+      //       } else {
+      //         this.$Message.error(res.message) //閿欒鎻愮ず
+      //       }
+      //     })
+      //   }
+      // })
 
       //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
       this.boxOptions.labelWidth = 150
@@ -114,7 +133,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_TaskExecuteDetail.js b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_TaskExecuteDetail.js
index abf8e4d..ae46052 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_TaskExecuteDetail.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_TaskExecuteDetail.js
@@ -92,7 +92,7 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      // this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task_Hty.jsx b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task_Hty.jsx
new file mode 100644
index 0000000..bffd61f
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/taskinfo/Dt_Task_Hty.jsx
@@ -0,0 +1,148 @@
+/*****************************************************************************************
+ **  Author:jxx 2022
+ **  QQ:283591387
+ **瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+ **甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+ **鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+ *****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+import gridHeader from './demo_Product/Dt_TaskExecuteDetail.vue'
+let extension = {
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: gridHeader,
+    gridBody: '',
+    gridFooter: '',
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: '',
+    modelBody: '',
+    modelFooter: ''
+  },
+  tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+    //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {
+      //妗嗘灦鍒濆鍖栭厤缃墠锛�
+      // let TaskHandCompleteBtn=this.buttons.find(x=>x.value=='TaskHandComplete');
+      // if(TaskHandCompleteBtn){
+      //   TaskHandCompleteBtn.onClick=function(){
+      //     let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
+      //     if (row <= 0) {
+      //       //濡傛灉娌℃湁閫変腑琛�
+      //       this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
+      //       return
+      //     }
+      //     let taskNum = row[0].taskNum
+      //     this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "姝e湪瀹屾垚浠诲姟").then((res) => {
+      //       //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+      //       if (res.status) {
+      //         this.$Message.success('浠诲姟瀹屾垚')
+      //       } else {
+      //         this.$Message.error(res.message) //閿欒鎻愮ず
+      //       }
+      //     })
+      //   }
+      // }
+      //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+      // this.buttons.unshift({
+      //   //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+      //   name: '浠诲姟瀹屾垚', //鎸夐挳鍚嶇О
+      //   icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+      //   type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+      //   onClick: function () {
+      //     // this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+      //     let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
+      //     if (row <= 0) {
+      //       //濡傛灉娌℃湁閫変腑琛�
+      //       this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
+      //       return
+      //     }
+      //     let taskNum = row[0].taskNum
+      //     this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "姝e湪瀹屾垚浠诲姟").then((res) => {
+      //       //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+      //       if (res.status) {
+      //         this.$Message.success('浠诲姟瀹屾垚')
+      //       } else {
+      //         this.$Message.error(res.message) //閿欒鎻愮ず
+      //       }
+      //     })
+      //   }
+      // })
+
+      //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+      this.boxOptions.labelWidth = 150
+
+      //鏄剧ず鎻愮ず
+      this.columns.forEach((col) => {
+        col.showOverflowTooltip = true
+      })
+
+      //绀轰緥锛氳嚜瀹氫箟琛ㄦ牸鍒�
+      //琛ㄦ牸涓婃坊鍔犺嚜瀹氫箟鎸夐挳
+      this.columns.push({
+        title: '鎿嶄綔',
+        field: '鎿嶄綔',
+        width: 150,
+        align: 'left', // 'center',
+        render: (h, { row, column, index }) => {
+          return (
+            <div>
+              <el-button
+                onClick={($e) => {
+                  // this.$refs.table.load();
+                  // console.log(this.$refs.table);
+                  this.$refs.gridHeader.openModel1(row)
+                }}
+                type="primary"
+                plain
+                style="height:26px; padding: 10px !important;"
+              >
+                鏌ョ湅鎵ц淇℃伅
+              </el-button>
+            </div>
+          )
+        }
+      })
+    },
+    btn1Click(row, column, index, $e) {
+      $e.stopPropagation()
+      this.$refs.gridHeader.openModel1(row)
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      return true
+    },
+    searchAfter(result) {
+      //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+      return true
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      // this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    }
+  }
+}
+export default extension
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js b/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js
index 7219494..c6dde69 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js
@@ -142,16 +142,23 @@
     meta: {
       keepAlive: false
     }
-  },
-  {
-    path: '/Dt_TaskOut',
-    name: 'Dt_TaskOut',
-    component: () => import('@/views/widesea_wms/taskinfo/Dt_TaskOut.vue'),
+  },{
+    path: '/Dt_Task_Hty',
+    name: 'Dt_Task_Hty',
+    component: () => import('@/views/widesea_wms/taskinfo/Dt_Task_Hty.vue'),
     meta: {
       keepAlive: false
     }
   },
   // {
+  //   path: '/Dt_TaskOut',
+  //   name: 'Dt_TaskOut',
+  //   component: () => import('@/views/widesea_wms/taskinfo/Dt_TaskOut.vue'),
+  //   meta: {
+  //     keepAlive: false
+  //   }
+  // },
+  // {
   //   path: '/Dt_TaskExecuteDetail',
   //   name: 'Dt_TaskExecuteDetail',
   //   component: () => import('@/views/widesea_wms/taskinfo/Dt_TaskExecuteDetail.vue'),
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_LocationInfo.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_LocationInfo.vue
index 99081cc..4cfc7f8 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_LocationInfo.vue
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_LocationInfo.vue
@@ -27,6 +27,7 @@
         const editFormOptions = ref([
             [
                 { "title": "璐т綅鐘舵��", "field": "locationStatus", "type": "select", dataKey: "LocationState", data: [] }, 
+                { "title": "鏄惁绂佺敤", "field": "enalbeStatus", "type": "select", dataKey: "EnalbeStatus", data: [] }, 
             ]
         ]);
         const searchFormFields = ref({ "LocationID": "",roadWayNO:"" });
@@ -34,7 +35,7 @@
             [
                 { "title": "璐т綅缂栧彿", "field": "locationCode", type: "text" },
                 { "title": "璐т綅鐘舵��", "field": "locationStatus", "type": "select", dataKey: "LocationState", data: [] },
-                { "title": "瀵瑰簲鍫嗗灈鏈哄彿", "field": "sCNo", type: "text" },
+                // { "title": "瀵瑰簲鍫嗗灈鏈哄彿", "field": "sCNo", type: "text" },
                 { "title": "宸烽亾缂栧彿", "field": "roadWayNO", type: "text" },
             ]
         ]);
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/DtBoxing.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/DtBoxing.vue
index 3abe3b4..e1e9cf8 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/DtBoxing.vue
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/DtBoxing.vue
@@ -62,15 +62,15 @@
     },
     methods: {
         onInit() {
-            this.dropdownItems.unshift({
-                name: '鎸夐挳', //鎸夐挳鍚嶇О
-                icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
-                type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
-                value: '321', //鎸夐挳鍊�
-                onClick: function () {
-                    this.$Message.success('鐐瑰嚮浜嗘寜閽�');
-                }
-            });
+            // this.dropdownItems.unshift({
+            //     name: '鎸夐挳', //鎸夐挳鍚嶇О
+            //     icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+            //     type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+            //     value: '321', //鎸夐挳鍊�
+            //     onClick: function () {
+            //         this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+            //     }
+            // });
         },
     },
     created() {
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
index d8aba2a..1317c2e 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
@@ -51,17 +51,17 @@
         ]);
         const columns = ref(
             [{ field: 'id', title: '搴撳瓨ID', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
-            { field: 'locationCode', title: '搴撲綅', type: 'string', width: 110, align: 'left', sort: true },
-            { field: 'palletCode', title: '鎵樼洏鏉$爜', type: 'string', width: 110, align: 'left', sort: true },
-            { field: 'isFull', title: '搴撳瓨绫诲瀷', type: 'bool', width: 110, align: 'left', bind: { key: "isFull", data: [] }, sort: true},
-            { field: 'linedProcessFeedbackTime', title: '宸ヨ壓寮�濮嬫椂闂�', type: 'string', width: 110, align: 'left', sort: true },
+            { field: 'locationCode', title: '搴撲綅', type: 'string', width: 110, align: 'left',  },
+            { field: 'palletCode', title: '鎵樼洏鏉$爜', type: 'string', width: 110, align: 'left', },
+            { field: 'isFull', title: '搴撳瓨绫诲瀷', type: 'bool', width: 110, align: 'left', bind: { key: "isFull", data: [] }, },
+            { field: 'linedProcessFeedbackTime', title: '宸ヨ壓寮�濮嬫椂闂�', type: 'string', width: 110, align: 'left',},
             { field: 'specialParameterDuration', title: '宸ヨ壓鏃堕暱', type: 'string', width: 110, align: 'left', sort: true },
-            { field: 'outboundTime', title: '搴斿嚭搴撴椂闂�', type: 'string', width: 110, align: 'left', sort: true },
-            { field: 'productionLine', title: '鐢熶骇浜х嚎', type: 'string', width: 110, align: 'left', sort: true },
-            { field: 'areaCode', title: '搴撳尯', type: 'string', width: 110, align: 'left', sort: true, bind: { key: "AreaType", data: [] } },
-            { field: 'remark', title: '鐢佃姱鏁伴噺', type: 'string', width: 120, align: 'left', sort: true },
+            { field: 'outboundTime', title: '搴斿嚭搴撴椂闂�', type: 'string', width: 110, align: 'left',  },
+            { field: 'productionLine', title: '鐢熶骇浜х嚎', type: 'string', width: 110, align: 'left',  },
+            { field: 'areaCode', title: '搴撳尯', type: 'string', width: 110, align: 'left', bind: { key: "AreaType", data: [] } },
+            { field: 'remark', title: '鐢佃姱鏁伴噺', type: 'string', width: 120, align: 'left',  },
             { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left', hidden: true },
-            { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },
+            { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left',  },
             { field: 'modifier', title: '鏈�鍚庝慨鏀逛汉', type: 'string', sort: true, width: 100, hidden: true, align: 'left' },
                 // { field: 'modifyDate', title: '鏈�鍚庝慨鏀规椂闂�', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },
             ]
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_TaskOut.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_Task_Hty.vue
similarity index 95%
rename from Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_TaskOut.vue
rename to Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_Task_Hty.vue
index 0cd70f1..0c81a60 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_TaskOut.vue
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_Task_Hty.vue
@@ -10,7 +10,7 @@
         :table="table" :extend="extend" />
 </template>
 <script>
-import extend from "@/extension/widesea_wms/taskinfo/Dt_Task.jsx";
+import extend from "@/extension/widesea_wms/taskinfo/Dt_Task_Hty.jsx";
 import { ref, defineComponent } from "vue";
 export default defineComponent({
     setup() {
@@ -18,8 +18,8 @@
             key: 'taskId',
             footer: "Foots",
             cnName: '浠诲姟淇℃伅',
-            name: 'taskinfo/Dt_Task',
-            url: "/Task/",
+            name: 'taskinfo/Dt_Task_Hty',
+            url: "/Task_Hty/",
             sortName: "TaskId"
         });
         const editFormFields = ref({
@@ -30,7 +30,7 @@
             [
                 { "title": "浠诲姟鍙�", "field": "taskNum", "type": "text" },
                 { "title": "鎵樼洏鍙�", "field": "palletCode", "type": "text" },
-                { "title": "浠诲姟绫诲瀷", "field": "taskType", "type": "select", dataKey: "TaskType", data: []},
+                { "title": "浠诲姟绫诲瀷", "field": "taskType", "type": "select", dataKey: "TaskType", data: [] },
                 { "title": "浠诲姟鐘舵��", "field": "taskState", "type": "select", dataKey: "TaskStatus", data: [] },
 
             ],
@@ -42,13 +42,12 @@
             ],
         ]);
         const searchFormFields = ref({
-            taskType: 100,
         });
         const searchFormOptions = ref([
             [
                 { "title": "浠诲姟鍙�", "field": "taskNum", "type": "text" },
                 { "title": "鎵樼洏鍙�", "field": "palletCode", "type": "text" },
-                { "title": "浠诲姟绫诲瀷", "field": "taskType", "type": "select", dataKey: "TaskType", data: [], hidden: true  },
+                { "title": "浠诲姟绫诲瀷", "field": "taskType", "type": "select", dataKey: "TaskType", data: [] },
                 { "title": "浠诲姟鐘舵��", "field": "taskState", "type": "select", dataKey: "TaskStatus", data: [] },
 
             ],
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtLocationInfo.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtLocationInfo.cs
index 77903f3..c2f9d6b 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtLocationInfo.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtLocationInfo.cs
@@ -61,7 +61,7 @@
     public int Depth { get; set; }
 
     /// <summary>
-    /// 璐т綅绫诲瀷
+    /// 璐т綅绫诲瀷  锛�1-鏅�氳揣鏋跺簱浣�  2-妫�娴嬫煖搴撲綅锛�
     /// </summary>
     [SugarColumn(IsNullable = false, ColumnDescription = "璐т綅绫诲瀷")]
     public int LocationType { get; set; }
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
index 0b56001..7f61b12 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -23,339 +23,6 @@
 
 public partial class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService
 {
-
-    #region 鍑哄簱浠诲姟瀹屾垚
-
-
-    //public async Task<WebResponseContent> CompleteStackTaskAsync(Dt_Task task, DtStockInfo stock)
-    //{
-    //    WebResponseContent content = new WebResponseContent();
-    //    try
-    //    {
-    //        if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
-    //        {
-    //            var process = await SqlSugarHelper.Db.Queryable<Dt_EquipmentProcess>()
-    //                .FirstAsync(x => x.EquipmentName == task.Roadway);
-    //            var info = JsonConvert.DeserializeObject<ResponseEqptRunDto>(process.ProcessValue);
-
-    //            var agingOutputDto = MapToAgingOutputDto(stock, info);
-    //            content = await _agingInOrOutInputService.GetOCVOutputAsync(agingOutputDto);
-    //            ValidateResponse(content);
-    //        }
-
-    //        // 鏇存柊搴撳瓨鐘舵�佸拰浠诲姟鐘舵��
-    //        (var loc, var tas) = UpdateStockAndTaskStatus(stock, task);
-
-    //        // 浜嬪姟澶勭悊
-    //        await _unitOfWorkManage.UseTranAsync(async () =>
-    //        {
-    //            await UpdateLocationAsync(loc);
-    //            await DeleteStockInfoAsync(stock.Id);
-    //            await DeleteStockInfoDetailsAsync(stock.StockInfoDetails);
-    //            //await DeleteTaskAsync(task.TaskId);
-    //        });
-
-    //        return content.OK("浠诲姟瀹屾垚鎴愬姛");
-    //    }
-    //    catch (Exception err)
-    //    {
-    //        LogFactory.GetLog("浠诲姟瀹屾垚").Error(true, $"绯荤粺寮傚父锛屽紓甯镐俊鎭細{err.Message}");
-    //        return content.Error(err.Message);
-    //    }
-    //}
-
-    //private AgingOutputDto MapToAgingOutputDto(DtStockInfo stock, ResponseEqptRunDto info)
-    //{
-    //    // TODO Value鍊兼牴鎹甅OM涓嬪彂鐨勯潤缃椂闂村埌褰撳墠鏃堕棿鐨勫垎閽熸暟
-    //    return new AgingOutputDto
-    //    {
-    //        OpFlag = 1,
-    //        Software = "WMS",
-    //        EquipmentCode = "24MEJQ08-1091",
-    //        TrayBarcode = stock.PalletCode,
-    //        SerialNos = stock.StockInfoDetails.Select(x => new SerialNoOutDto
-    //        {
-    //            SlotNo = x.OrderNo.ToInt32(),
-    //            SerialNo = x.SerialNumber,
-    //            SerialNoResult = true,
-    //            ParameterInfo = info.ParameterInfo.Select(y => new ParameterInfo()
-    //            {
-    //                LowerLomit = y.LowerControlLimit,
-    //                UpperLimit = y.UpperControlLimit,
-    //                ParameterResult = y.EquipmentAvailabilityFlag,
-    //                ParameterCode = y.ParameterCode,
-    //                ParameterDesc = y.Description,
-    //                TargetValue = y.TargetValue,
-    //                Value = (DateTime.Parse(stock.LinedProcessFeedbackTime, null, System.Globalization.DateTimeStyles.RoundtripKind).ToLocalTime() - stock.CreateDate).TotalMinutes.ToString(),
-    //                DefectCode = y.UOMCode
-    //            }).ToList()
-    //        }).ToList()
-    //    };
-    //}
-
-    //private void ValidateResponse(WebResponseContent content)
-    //{
-    //    var result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString());
-    //    if (!result.Success)
-    //    {
-    //        throw new Exception(result.MOMMessage);
-    //    }
-    //}
-
-    //private (DtLocationInfo, Dt_Task) UpdateStockAndTaskStatus(DtStockInfo stock, Dt_Task task)
-    //{
-    //    var location = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress);
-    //    var details = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id);
-
-    //    location.LocationStatus = (int)LocationEnum.Free;
-    //    task.TaskState = (int)TaskOutStatusEnum.OutFinish;
-    //    //task.CurrentAddress = task.NextAddress;
-    //    //task.NextAddress = task.TargetAddress;
-
-    //    LogFactory.GetLog("浠诲姟瀹屾垚").Info(true, "鏇存柊搴撳瓨鐘舵�佷笌浠诲姟鐘舵��");
-    //    return (location, task);
-    //}
-
-    //private async Task DeleteStockInfoAsync(int stockId)
-    //{
-    //    var isStockUpdated = await _stockInfoRepository.DeleteDataByIdAsync(stockId);
-    //    if (!isStockUpdated)
-    //    {
-    //        throw new Exception("搴撳瓨淇℃伅鏇存柊澶辫触");
-    //    }
-    //}
-
-    //private async Task UpdateLocationAsync(DtLocationInfo info)
-    //{
-    //    var isStockUpdated = await _locationRepository.UpdateDataAsync(info);
-    //    if (!isStockUpdated)
-    //    {
-    //        throw new Exception("搴撳瓨淇℃伅鏇存柊澶辫触");
-    //    }
-    //}
-
-    //private async Task DeleteStockInfoDetailsAsync(IEnumerable<DtStockInfoDetail> details)
-    //{
-    //    var ids = details.Select(x => (object)x.Id).ToArray();
-    //    var isStockDetailUpdated = await _stockInfoDetailRepository.DeleteDataByIdsAsync(ids);
-    //    if (!isStockDetailUpdated)
-    //    {
-    //        throw new Exception("搴撳瓨璇︽儏淇℃伅鏇存柊澶辫触");
-    //    }
-    //}
-
-    //private async Task DeleteTaskAsync(int taskId)
-    //{
-    //    var isTaskUpdated = await BaseDal.DeleteDataByIdAsync(taskId);
-    //    if (!isTaskUpdated)
-    //    {
-    //        throw new Exception("浠诲姟淇℃伅鏇存柊澶辫触");
-    //    }
-    //}
-
-    #endregion 鍑哄簱浠诲姟瀹屾垚
-
-    #region 绉诲簱浠诲姟瀹屾垚
-
-    /// <summary>
-    /// 绉诲簱浠诲姟瀹屾垚
-    /// </summary>
-    /// <param name="saveModel">浠诲姟鏁版嵁鍚堥泦</param>
-    /// <returns>杩斿洖缁撴灉闆�</returns>
-    //public async Task<WebResponseContent> CompleteTransferTaskAsync(Dt_Task task, DtStockInfo stock)
-    //{
-    //    WebResponseContent content = new WebResponseContent();
-    //    try
-    //    {
-    //        // 鏇存柊璐т綅鍜屽簱瀛樹俊鎭�
-    //        (DtStockInfo updateStock, DtLocationInfo locationInf) = UpdateStockLocation(stock, task.NextAddress);
-    //        var taskHty = CreateHistoricalTask(task);
-    //        LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "绉诲簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庡簱瀛樻暟鎹細{JsonConvert.SerializeObject(updateStock)}锛屽師鍏堣揣浣嶆暟鎹細{locationInf}");
-
-    //        // 鎵ц鏁版嵁搴撲簨鍔�
-    //        bool isResult = await ExecuteTransaction(updateStock, taskHty, locationInf, task.TaskId);
-    //        if (isResult)
-    //            content.OK("绉诲簱浠诲姟瀹屾垚鎴愬姛");
-    //        else
-    //            content.Error("绉诲簱浠诲姟瀹屾垚澶辫触");
-    //    }
-    //    catch (Exception err)
-    //    {
-    //        Console.WriteLine(err.Message.ToString());
-    //    }
-    //    return content;
-    //}
-
-    #endregion 绉诲簱浠诲姟瀹屾垚
-
-    #region 鍏ュ簱浠诲姟瀹屾垚
-
-    /// <summary>
-    /// 瀹屾垚鍏ュ簱浠诲姟
-    /// </summary>
-    /// <param name="task">浠诲姟鏁版嵁鍚堥泦</param>
-    /// <returns>杩斿洖缁撴灉闆�</returns>
-    //public async Task<WebResponseContent> CompleteInboundTaskAsync(Dt_Task task)
-    //{
-    //    // 鍒濆鍖栧搷搴斿唴瀹�
-    //    WebResponseContent content = new WebResponseContent();
-    //    try
-    //    {
-    //        // 鑾峰彇瑁呯淇℃伅鍜岀洰鏍囦綅缃俊鎭�
-    //        var boxing = await _boxingInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
-    //        var locationInf = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress);
-
-    //        // 鏇存柊鐩爣浣嶇疆鐘舵�佷负搴撳瓨涓�
-    //        locationInf.LocationStatus = (int)LocationEnum.InStock;
-
-    //        // 鍒涘缓鍘嗗彶浠诲姟瀹炰緥妯″瀷
-    //        var taskHty = CreateHistoricalTask(task);
-
-    //        // 鏍规嵁鏄惁鏈夌粍鐩樹俊鎭垱寤哄簱瀛樺疄渚嬫ā鍨�
-    //        DtStockInfo stock = boxing == null ? CreateEmptyPalletStock(task, locationInf) : CreateFullPalletStock(task, locationInf, boxing);
-
-    //        // 鎵ц鏁版嵁搴撲簨鍔�
-    //        bool isResult = await ExecuteTransaction(stock, taskHty, locationInf, task.TaskId);
-    //        if (isResult)
-    //        {
-    //            content.OK("鍏ュ簱浠诲姟瀹屾垚鎴愬姛");
-    //        }
-    //        else
-    //        {
-    //            content.Error("鍏ュ簱浠诲姟瀹屾垚澶辫触");
-    //        }
-    //    }
-    //    catch (Exception err)
-    //    {
-    //        // 璁板綍寮傚父淇℃伅鍒版帶鍒跺彴鍜屾棩蹇�
-    //        Console.WriteLine(err.Message.ToString());
-    //        LogFactory.GetLog("浠诲姟瀹屾垚").Error(true, err);
-    //    }
-    //    return content;
-    //}
-
-    /// <summary>
-    /// 鍒涘缓绌烘墭鐩樼殑搴撳瓨瀹炰緥妯″瀷
-    /// </summary>
-    //private DtStockInfo CreateEmptyPalletStock(Dt_Task task, DtLocationInfo locationInf)
-    //{
-    //    var loation = _locationRepository.QueryFirst(x => x.RoadwayNo == task.Roadway && x.LocationCode == task.TargetAddress);
-    //    var area = _areaInfoRepository.QueryFirst(x => x.AreaID == loation.AreaId);
-    //    return new DtStockInfo()
-    //    {
-    //        PalletCode = task.PalletCode,
-    //        LocationCode = task.TargetAddress,
-    //        CreateDate = DateTime.Now,
-    //        Creater = "system",
-    //        IsFull = false,
-    //        AreaCode = area.AreaCode,
-    //        LocationId = loation.Id,
-    //        StockInfoDetails = new List<DtStockInfoDetail>()
-    //        {
-    //            new DtStockInfoDetail()
-    //            {
-    //                MaterielCode = "绌烘墭鐩�",
-    //                Id = 0,
-    //                Status = (int)StockStateEmun.宸插叆搴�
-    //            }
-    //        }
-    //    };
-    //}
-
-    /// <summary>
-    /// 鍒涘缓瀹炵洏鐨勫簱瀛樺疄渚嬫ā鍨嬪苟璋冪敤MOM鍏ュ簱
-    /// </summary>
-    //private DtStockInfo CreateFullPalletStock(Dt_Task task, DtLocationInfo locationInf, DtBoxingInfo boxing)
-    //{
-    //    var loation = _locationRepository.QueryFirst(x => x.RoadwayNo == task.Roadway && x.LocationCode == task.TargetAddress);
-    //    var area = _areaInfoRepository.QueryFirst(x => x.AreaID == loation.AreaId);
-    //    var boxDetail = boxing.BoxingInfoDetails.Adapt<List<DtStockInfoDetail>>();
-    //    boxDetail.ForEach(x => { x.Status = (int)StockStateEmun.宸插叆搴�; });
-    //    var stock = new DtStockInfo()
-    //    {
-    //        PalletCode = task.PalletCode,
-    //        LocationCode = task.TargetAddress,
-    //        CreateDate = DateTime.Now,
-    //        Creater = "system",
-    //        IsFull = boxing.IsFull,
-    //        AreaCode = area.AreaCode,
-    //        LocationId = loation.Id,
-    //        StockInfoDetails = boxDetail,
-    //    };
-
-    //    // 澶勭悊璇锋眰鍙傛暟
-    //    AgingInputDto agingInputDto = new AgingInputDto()
-    //    {
-    //        SerialNos = boxing.BoxingInfoDetails
-    //            .Select(item => new SerialNoInDto { SerialNo = item.SerialNumber, PositionNo = item.OrderNo })
-    //            .ToList(),
-    //        TrayBarcode = task.PalletCode,
-    //        OpFlag = 1,
-    //        EquipmentCode = "24MEJQ08-1091",
-    //        Software = "WMS"
-    //    };
-    //    var result = _agingInOrOutInputService.GetOCVInputAsync(agingInputDto).Result;
-    //    var respone = JsonConvert.DeserializeObject<ResponeAgingInputDto>(result.Data.ToString());
-    //    stock.LinedProcessFeedbackTime = respone.LinedProcessFeedbackTime;
-    //    stock.SpecialParameterDuration = respone.SpecialParameterDuration;
-    //    //2024骞�11鏈�16鏃ワ細鏂板瀛楁璁$畻搴斿嚭搴撴椂闂�
-    //    stock.OutboundTime = Convert.ToDateTime(respone.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(respone.SpecialParameterDuration));
-    //    stock.ProductionLine = respone.ProductionLine;
-
-    //    // 璁板綍鏃ュ織
-    //    LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍏ュ簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庤揣浣嶆暟鎹細{locationInf}");
-
-    //    return stock;
-    //}
-
-    #endregion 鍏ュ簱浠诲姟瀹屾垚
-
-    #region 浠诲姟瀹屾垚
-
-    /// <summary>
-    /// 瀹屾垚浠诲姟
-    /// </summary>
-    /// <param name="taskNum">浠诲姟缂栧彿</param>
-    /// <returns>杩斿洖缁撴灉闆�</returns>
-    //public async Task<WebResponseContent> CompleteAsync(int taskNum)
-    //{
-    //    // 鍒濆鍖栧搷搴斿唴瀹�
-    //    WebResponseContent content = new WebResponseContent();
-
-    //    // 鎻愬彇浠诲姟鏁版嵁
-    //    LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鎻愬彇浠诲姟鏁版嵁", $"浠诲姟鍙凤細{taskNum}");
-
-    //    // 楠岃瘉浠诲姟鏄惁瀛樺湪
-    //    var task = await GetByTaskNum(taskNum);
-    //    if (task == null)
-    //    {
-    //        return content.Error("浠诲姟涓嶅瓨鍦�");
-    //    }
-    //    LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "楠岃瘉浠诲姟鏄惁瀛樺湪", JsonConvert.SerializeObject(task));
-
-    //    // 楠岃瘉搴撳瓨鏄惁瀛樺湪
-    //    var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
-
-    //    // 鏍规嵁浠诲姟绫诲瀷璋冪敤鐩稿簲鐨勫畬鎴愪换鍔℃柟娉�
-    //    switch (task.TaskType)
-    //    {
-    //        case (int)TaskInboundTypeEnum.Inbound:
-    //        case (int)TaskInboundTypeEnum.InTray:
-    //            LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍏ュ簱浠诲姟", "");
-    //            return await CompleteInboundTaskAsync(task);
-
-    //        case (int)TaskOutboundTypeEnum.OutTray:
-    //        case (int)TaskOutboundTypeEnum.Outbound:
-    //            LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍑哄簱浠诲姟", "");
-    //            return await CompleteStackTaskAsync(task, stock);
-
-    //        default:
-    //            return content.Error("浠诲姟绫诲瀷涓嶅瓨鍦�");
-    //    }
-    //}
-
-    #endregion 浠诲姟瀹屾垚
-
     #region 璇锋眰浠诲姟鍏ュ簱
     /// <summary>
     /// 璇锋眰鍏ュ簱
@@ -391,7 +58,7 @@
                 }
             }
 
-            
+
             // 璋冪敤CreateNewTask鏂规硶锛屽垱寤烘柊浠诲姟
             content = await CreateNewTask(input);
         }
@@ -431,7 +98,7 @@
         var task = await CreateNewTaskByStation(input, stationinfo);
 
         // 灏濊瘯娣诲姞鏂颁换鍔�
-        if (task == null) return content.Error() ;
+        if (task == null) return content.Error();
         var taskId = await BaseDal.AddDataAsync(task);
         bool isResult = taskId > 0;
         if (isResult)
@@ -451,7 +118,7 @@
             };
             content.OK(data: taskDTO);
 
-           
+
         }
         else
             content.Error("娣诲姞浠诲姟澶辫触");
@@ -480,6 +147,8 @@
                 task = await CreateInToOutTaskAsync(input, stationManager); break;
             case 7:
                 task = await CreateEmptyOutTaskAsync(input, stationManager); break;
+            case 15:
+                task = await CheckAbnormalTaskAsync(input, stationManager); break;
             default:
                 throw new Exception("鏈煡绔欏彴绫诲瀷");
         }
@@ -711,6 +380,7 @@
     /// 
     /// </summary>
     /// <param name="requestTask">璇锋眰鍙傛暟</param>
+    /// <param name="isCheckRequest">鏄惁鏈娴嬪簱浣嶇被鍨�</param>
     /// <returns></returns>
     private async Task<DtLocationInfo> RequestLocation(RequestTaskDto requestTask, bool isCheckRequest = false)
     {
@@ -761,6 +431,7 @@
 
     #endregion 璇锋眰绌烘鍑哄簱
 
+    #region 鍒涘缓绌烘鍑哄簱浠诲姟
     public async Task<Dt_Task> CreateEmptyOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)
     {
         try
@@ -802,6 +473,7 @@
             throw new Exception(ex.Message);
         }
     }
+    #endregion
 
     #region 鐩存帴鍑哄簱浠诲姟瀹屾垚
     public async Task<WebResponseContent> CompleteInToOutTaskAsync(Dt_Task task)
@@ -824,14 +496,112 @@
     }
     #endregion
 
+    #region 寮傚父鍙d换鍔℃娴�
+    public async Task<Dt_Task> CheckAbnormalTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)
+    {
+        try
+        {
+            // 鍒涘缓涓�涓猅rayCellsStatusDto瀵硅薄锛屽苟璧嬪��
+            TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
+            {
+                Software = "WMS",
+                TrayBarcode = input.PalletCode,
+                //EquipmentCode = "EQ_CWJZ01"
+                EquipmentCode = input.EquiCodeMOM
+            };
 
-    #region MyRegion
-    private async Task<bool> ExecuteTransaction(DtStockInfo stock, Dt_Task_Hty taskHty, DtLocationInfo fromLocation,DtLocationInfo toLocation, int taskId)
+            // 璋冪敤GetTrayCellStatusAsync鏂规硶锛岃幏鍙栨暣鐩樼數鑺�
+            WebResponseContent content = await GetTrayCellStatusAsync(trayCells);
+            // 濡傛灉鐘舵�佷负false锛屽垯杩斿洖content
+            if (!content.Status) throw new Exception(content.Message);
+
+            // 娣诲姞缁勭洏淇℃伅
+            // 灏哻ontent.Data杞崲涓篟esultTrayCellsStatus瀵硅薄
+            var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());
+            if (result.SerialNos.Count <= 0)
+            {
+                ConsoleHelper.WriteErrorLine(result.MOMMessage);
+                var taskNG = new Dt_Task
+                {
+                    CurrentAddress = input.Position,
+                    Grade = 1,
+                    Roadway = input.Roadways,
+                    TargetAddress = stationManager.stationNGLocation,
+                    Dispatchertime = DateTime.Now,
+                    MaterialNo = "",
+                    NextAddress = stationManager.stationNGChildCode,
+                    OrderNo = null,
+                    PalletCode = input.PalletCode,
+                    SourceAddress = stationManager.stationLocation,
+                    TaskState = (int)TaskInStatusEnum.Line_InFinish,
+                    TaskType = (int)TaskOutboundTypeEnum.InToOut,
+                    TaskNum = await BaseDal.GetTaskNo(),
+                    Creater = "Systeam"
+                };
+                return taskNG;
+            }
+
+            //Console.WriteLine(result);
+            //// TODO 鑾峰彇鏈湴鏂欐灞炴�т笌鏁寸洏鐢佃姱灞炴�ц幏鍙栫殑鍊艰繘琛屽姣旓紝濡傛灉涓�鑷村垯缁х画锛屽惁鍒欒繑鍥為敊璇俊鎭�
+            ////var productions = await _productionRepository.QueryDataAsync(x => result.TrayBarcodePropertys.Select(x => x.TrayBarcodeProperty).ToList().Contains(x.TrayBarcodeProperty));
+            ////if (productions.Count <= 0)
+            ////    return content.Error("鏂欐灞炴�т笉瀛樺湪");
+
+            //// 璋冪敤CreateBoxingInfo鏂规硶锛屽垱寤虹粍鐩樹俊鎭�
+            var boxing = CreateBoxingInfo(result, input.PalletCode);
+            if (boxing == null) throw new Exception("缁勭洏澶辫触");
+
+            //// 璋冪敤GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹鸿矾绾�
+            //ProcessApplyDto process = await GetProcessApplyAsync(input, result);
+
+            //// 濡傛灉process涓簄ull锛屽垯杩斿洖content
+            //if (process == null) return content;
+
+            //// 璋冪敤_processApplyService.GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹虹敵璇�
+            //content = await _processApplyService.GetProcessApplyAsync(process);
+
+            //// 濡傛灉鐘舵�佷负false锛屽垯杩斿洖null
+            //if (!content.Status) return content.Error("宸ヨ壓鐢宠澶辫触");
+
+            ////// 璋冪敤GetProcessResponseAsync鏂规硶锛岃幏鍙栧伐鑹哄搷搴�
+            ////var processResponse = await GetProcessResponseAsync(process, input.Position);
+            var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
+
+            var task = new Dt_Task
+            {
+                CurrentAddress = input.Position,
+                Grade = 1,
+                Roadway = input.Roadways,
+                TargetAddress = stationManager.stationLocation,
+                Dispatchertime = DateTime.Now,
+                MaterialNo = "",
+                NextAddress = input.Roadways,
+                OrderNo = null,
+                //PalletCode = stockinfo.PalletCode,
+                //SourceAddress = stockinfo.LocationCode,
+                TaskState = (int)TaskOutStatusEnum.OutNew,
+                TaskType = (int)TaskOutboundTypeEnum.OutTray,
+                TaskNum = await BaseDal.GetTaskNo(),
+                Creater = "Systeam"
+            };
+
+            return task;
+        }
+        catch (Exception ex)
+        {
+
+            throw new Exception(ex.Message);
+        }
+    }
+    #endregion
+
+    #region 绉诲簱浠诲姟浜嬪姟
+    private async Task<bool> ExecuteTransaction(DtStockInfo stock, Dt_Task_Hty taskHty, DtLocationInfo fromLocation, DtLocationInfo toLocation, int taskId)
     {
         _unitOfWorkManage.BeginTran();
         try
         {
-            var isUpdateStock = true;
+            var isUpdateStock = _stockInfoRepository.UpdateData(stock);
 
             // 娣诲姞鍘嗗彶浠诲姟
             var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;
@@ -867,7 +637,6 @@
     #endregion
 
     #region 妫�娴嬮珮娓╁簱鏄惁鏈夊彲鍑哄簱搴撳瓨
-
     public WebResponseContent StockCheckingAsync()
     {
 
@@ -952,7 +721,6 @@
     #endregion
 
     #region 甯告俯琛ョ┖鎵樼洏鑷冲垎瀹�
-
     public async Task<WebResponseContent> GetFROutTrayToCW(RequestTaskDto taskDTO)
     {
         WebResponseContent content = new WebResponseContent();
@@ -1002,4 +770,46 @@
 
     #endregion
 
-}
\ No newline at end of file
+    public async Task<WebResponseContent> RequestOutTaskToBZAsync(RequestTaskDto json)
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position);
+
+            DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(X => X.IsFull && X.AreaCode == "CWSC3" && X.ProductionLine == "ZJ-7");
+            if (stockInfo == null) throw new Exception("搴撳唴鏃犳弧瓒虫潯浠剁殑搴撳瓨鍙嚭搴�");
+
+            Dt_StationManager OutStation = _stationManagerRepository.QueryFirst(x => x.stationPLC == "1016" && x.stationType == 10);
+
+
+            // 鍒涘缓鏂颁换鍔″疄渚�
+            var task = new Dt_Task
+            {
+                CurrentAddress = stockInfo.LocationInfo.RoadwayNo,
+                Grade = 1,
+                Roadway = stockInfo.LocationInfo.RoadwayNo,
+                TargetAddress = json.Position,
+                Dispatchertime = DateTime.Now,
+                MaterialNo = "",
+                NextAddress = OutStation.stationChildCode,
+                OrderNo = null,
+                PalletCode = stockInfo.PalletCode,
+                SourceAddress = stockInfo.LocationCode,
+                TaskState = (int)TaskOutStatusEnum.OutNew,
+                TaskType = (int)TaskOutboundTypeEnum.Outbound,
+                TaskNum = await BaseDal.GetTaskNo(),
+                Creater = "Systeam"
+            };
+
+            WMSTaskDTO taskDTO = CreateTaskDTO(task);
+
+
+            return content.OK(data: taskDTO);
+        }
+        catch (Exception ex)
+        {
+            return content.Error($"澶辫触锛歿ex.Message}");
+        }
+    }
+} 
\ No newline at end of file

--
Gitblit v1.9.3