From f735e389c01eed24d6b9792b35d2f98d15f3ecbb Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期六, 14 九月 2024 08:06:45 +0800
Subject: [PATCH] Merge branch 'master' of http://47.95.120.53:8083/r/WCSNet6

---
 Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskOutput.cs                |   16 +
 Admin.NET/WCS.Application/PLC/PLCService.cs                                   |   16 +
 Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs                   |   11 +
 Admin.NET/WCS.Application/Service/WcsTaskMonitor/WcsTaskMonitorService.cs     |   17 +
 Admin.NET/WCS.Application/Util/HttpService.cs                                 |  189 +++-------------------
 Admin.NET/WCS.Application/Entity/WcsTask.cs                                   |   20 ++
 Admin.NET/WCS.Application/Enum/TaskEnum.cs                                    |   17 ++
 Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskInput.cs                 |   14 +
 Admin.NET/WCS.Application/PLC/PLCCommon.cs                                    |   21 +
 Admin.NET/WCS.Application/Service/WcsTaskMonitor/Dto/WcsTaskMonitorOutput2.cs |   33 ++++
 Admin.NET/WCS.Application/Model/TaskRequest.cs                                |   54 ++++++
 Web/src/views/wcs/wcsTask/index.vue                                           |   44 ++++
 12 files changed, 264 insertions(+), 188 deletions(-)

diff --git a/Admin.NET/WCS.Application/Entity/WcsTask.cs b/Admin.NET/WCS.Application/Entity/WcsTask.cs
index 4a3b69b..732fa88 100644
--- a/Admin.NET/WCS.Application/Entity/WcsTask.cs
+++ b/Admin.NET/WCS.Application/Entity/WcsTask.cs
@@ -108,7 +108,25 @@
     /// </summary>
     [SugarColumn(ColumnName = "CompleteQty", ColumnDescription = "鎷嗗灈鏁伴噺")]
     public int? CompleteQty { get; set; }
-    
+
+    /// <summary>
+    /// 鏄惁缁戝畾
+    /// </summary>
+    [SugarColumn(ColumnName = "IsBind", ColumnDescription = "鏄惁缁戝畾")]
+    public IsBindEnum? IsBind { get; set; }
+
+    /// <summary>
+    /// 鏁村灈鏁伴噺
+    /// </summary>
+    [SugarColumn(ColumnName = "PalletQty", ColumnDescription = "鏁村灈鏁伴噺")]
+    public int? PalletQty { get; set; }
+
+    /// <summary>
+    /// 鎷嗗灈宸ヤ綅鍙�
+    /// </summary>
+    [SugarColumn(ColumnName = "StationNum", ColumnDescription = "鎷嗗灈宸ヤ綅鍙�", Length = 10)]
+    public string? StationNum { get; set; }
+
     /// <summary>
     /// 鎷h揣鏂瑰紡
     /// </summary>
diff --git a/Admin.NET/WCS.Application/Enum/TaskEnum.cs b/Admin.NET/WCS.Application/Enum/TaskEnum.cs
index c59998b..814b46f 100644
--- a/Admin.NET/WCS.Application/Enum/TaskEnum.cs
+++ b/Admin.NET/WCS.Application/Enum/TaskEnum.cs
@@ -103,4 +103,21 @@
     /// </summary>
     [Description("浜哄伐鎷h揣鍑�")]
     Artificial = 1,
+}
+/// <summary>
+/// 鏄惁缁戝畾
+/// </summary>
+[Description("鏄惁鎴愬姛鏋氫妇")]
+public enum IsBindEnum
+{
+    /// <summary>
+    /// 鏈粦瀹�
+    /// </summary>
+    [Description("鏈粦瀹�")]
+    No = 0,
+    /// <summary>
+    /// 宸茬粦瀹�
+    /// </summary>
+    [Description("宸茬粦瀹�")]
+    Yes = 1
 }
\ No newline at end of file
diff --git a/Admin.NET/WCS.Application/Model/TaskRequest.cs b/Admin.NET/WCS.Application/Model/TaskRequest.cs
index 7587e00..1ae0b35 100644
--- a/Admin.NET/WCS.Application/Model/TaskRequest.cs
+++ b/Admin.NET/WCS.Application/Model/TaskRequest.cs
@@ -10,12 +10,62 @@
 public class ResponseTasks
 {
     public string StatusCode { get; set; }
-    public string Success { get; set; }
+    public int Success { get; set; }
 
     public string Message { get; set; }
 
-    public WcsTask TaskList { get; set; }
+    public ResponseTasksModel TaskList { get; set; }
 }
+
+public class ResponseTasksModel
+{
+    /// <summary>
+    /// 浠诲姟鍙�
+    /// </summary>
+    public string TaskNo { get; set; }
+
+    /// <summary>
+    /// 浠诲姟绫诲瀷
+    /// </summary>
+    public string TaskType { get; set; }
+
+    /// <summary>
+    /// 鎵樼洏鍙�
+    /// </summary>
+    public string PalletNo { get; set; }
+
+    /// <summary>
+    /// 璧峰浣嶇疆
+    /// </summary>
+    public string StartLocate { get; set; }
+
+    /// <summary>
+    /// 璧峰宸烽亾
+    /// </summary>
+    public string StartRoadway { get; set; }
+
+    /// <summary>
+    /// 缁撴潫浣嶇疆
+    /// </summary>
+    public string EndLocate { get; set; }
+
+    /// <summary>
+    /// 鐩爣宸烽亾
+    /// </summary>
+    public string EndRoadway { get; set; }
+
+    /// <summary>
+    /// 鍑哄簱鍙�
+    /// </summary>
+    public string OutMode { get; set; }
+
+    /// <summary>
+    /// 椤哄簭-浼樺厛绾�
+    /// </summary>
+    public int Order { get; set; }
+
+}
+
 /// <summary>
 /// 鐢宠鍏ュ簱浠诲姟  宸烽亾鎴栧偍浣�
 /// </summary>
diff --git a/Admin.NET/WCS.Application/PLC/PLCCommon.cs b/Admin.NET/WCS.Application/PLC/PLCCommon.cs
index 8b64865..7407266 100644
--- a/Admin.NET/WCS.Application/PLC/PLCCommon.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCCommon.cs
@@ -552,19 +552,28 @@
     public static string GetRoadwayByStationNew(string StationNum)
     {
         string value = "";
-        var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" };
-        var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" };
-        var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" };
+        //var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" };
+        //var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" };
+        //var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" };
 
-        if (conveyList1.Contains(StationNum))
+        var ipInfo = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine || s.Type == PLCTypeEnum.BoxConveyorLine);
+        var ip1 = ipInfo.First(m=>m.Text == "1灞傛墭鐩樿緭閫佺嚎");
+        var ip2 = ipInfo.First(m=>m.Text == "2灞傛墭鐩樿緭閫佺嚎");
+        var ip3 = ipInfo.First(m=>m.Text == "3灞傛墭鐩樿緭閫佺嚎");
+        
+        var dev1 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip1.Id).Select(m=>m.StationNum).ToList();
+        var dev2 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip2.Id).Select(m => m.StationNum).ToList();
+        var dev3 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip3.Id).Select(m => m.StationNum).ToList();
+
+        if (dev1.Contains(StationNum))
         {
             value = "1";
         }
-        else if (conveyList2.Contains(StationNum))
+        else if (dev2.Contains(StationNum))
         {
             value = "2";
         }
-        else if (conveyList3.Contains(StationNum))
+        else if (dev3.Contains(StationNum))
         {
             value = "3";
         }
diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 9a7df32..aefbb9f 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -735,7 +735,7 @@
                     }
                     string pallet = palletVal.ToString();
                     // 鑾峰彇浠诲姟淇℃伅
-                    var modTask = _db.Queryable<WcsTask>().First(s => s.IsDelete == false && s.PalletNo == pallet && (s.Status == TaskStatusEnum.Wait || s.Status == TaskStatusEnum.Doing) && s.TaskType == TaskTypeEnum.In && s.StartRoadway == modDevice.StationNum);
+                    var modTask = _db.Queryable<WcsTask>().First(s => s.IsDelete == false && s.PalletNo == pallet && (s.Status == TaskStatusEnum.Wait || s.Status == TaskStatusEnum.Doing) && s.TaskType == TaskTypeEnum.In);
                     if (modTask == null)
                     {
                         // 姝ゆ墭鐩樻病鏈夊搴旂殑杞Щ浠诲姟 led鏄剧ず
@@ -749,8 +749,9 @@
                     // 浠诲姟鍙枫�佷换鍔$被鍨嬨�佹墭鐩樺彿
                     var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�");
                     listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo));
-                    var modPosTaskType = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�");
-                    listResult.Add(plcConn.SetPlcDBValue(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, modTask.TaskType.ToString()));
+                    var modPosTaskType = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷");
+                    var taskTypeStr = (int)modTask.TaskType;
+                    listResult.Add(plcConn.SetPlcDBValue(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString()));
                     var modPosPalletNo = modDevice.listStation.FirstOrDefault(s => s.Text == "鎵樼洏鐮�");
                     listResult.Add(plcConn.SetPlcDBValue(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo));
                     // 璧峰宸ヤ綅銆佺洰鐨勫伐浣�
@@ -880,7 +881,7 @@
                     // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
                     var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
                     var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
-                    // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
+                    // 鑾峰彇宸ヤ綅浠诲姟鍙蜂俊鎭�
                     var modPosTaskNo = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
                     var (taskRes, taskNoVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTaskNo.PlcPos);
                     if (!res.IsSucceed || !taskRes.IsSucceed )
@@ -941,12 +942,13 @@
                         var modPosTask = djInfos.FirstOrDefault(s => s.Text == "浠诲姟鍙�");
                         listResult.Add(plcStackeConn.SetPlcDBValue(modPosTask.PosType, djMod.DbNumber, modPosTask.PlcPos, modTask.TaskNo));
                         var modPosTaskType = djInfos.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷");
-                        listResult.Add(plcStackeConn.SetPlcDBValue(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, modTask.TaskType.ToString()));
+                        var taskTypeStr = (int)modTask.TaskType;
+                        listResult.Add(plcStackeConn.SetPlcDBValue(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString()));
                         var modPosPalletNo = djInfos.FirstOrDefault(s => s.Text == "鎵樼洏鍙�");
-                        listResult.Add(plcStackeConn.SetPlcDBValue(modPosPallet.PosType, djMod.DbNumber, modPosPallet.PlcPos, modTask.PalletNo));
+                        listResult.Add(plcStackeConn.SetPlcDBValue(modPosPalletNo.PosType, djMod.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo));
                         
                         //璧峰宸ヤ綅
-                        var modPosStrStationNum = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣鎺�");
+                        var modPosStrStationNum = djInfos.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅");
                         listResult.Add(plcStackeConn.SetPlcDBValue(modPosStrStationNum.PosType, djMod.DbNumber, modPosStrStationNum.PlcPos, modDevice.StationNum));
 
                         //鍙栬揣鎺掋�佸垪銆佸眰
diff --git a/Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskInput.cs b/Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskInput.cs
index 30ed7df..39dba5f 100644
--- a/Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskInput.cs
+++ b/Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskInput.cs
@@ -195,8 +195,18 @@
         /// 鐘舵��
         /// </summary>
         public TaskStatusEnum? Status { get; set; }
-        
-    }
+
+        /// <summary>
+        /// 鎵樼洏鍙�
+        /// </summary>
+        public string? PalletNo { get; set; }
+
+        /// <summary>
+        /// 鏉ユ簮
+        /// </summary>
+        public string? Origin { get; set; }
+
+}
 
     /// <summary>
     /// 浠诲姟琛ㄥ鍔犺緭鍏ュ弬鏁�
diff --git a/Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskOutput.cs b/Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskOutput.cs
index 928a687..42d0771 100644
--- a/Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskOutput.cs
+++ b/Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskOutput.cs
@@ -100,7 +100,21 @@
     /// 鎷嗗灈鏁伴噺
     /// </summary>
     public int? CompleteQty { get; set; }
-    
+
+    /// <summary>
+    /// 鏄惁缁戝畾
+    /// </summary>
+    public IsBindEnum? IsBind { get; set; }
+
+    /// <summary>
+    /// 鏁村灈鏁伴噺
+    /// </summary>
+    public int? PalletQty { get; set; }
+
+    /// <summary>
+    /// 鎷嗗灈宸ヤ綅鍙�
+    public string? StationNum { get; set; }
+
     /// <summary>
     /// 鎷h揣鏂瑰紡
     /// </summary>
diff --git a/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs b/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs
index 3f2e706..d0e0afe 100644
--- a/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs
+++ b/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs
@@ -44,6 +44,8 @@
             .WhereIF(!string.IsNullOrWhiteSpace(input.TaskNo), u => u.TaskNo.Contains(input.TaskNo.Trim()))
             .WhereIF(input.TaskType.HasValue, u => u.TaskType == input.TaskType)
             .WhereIF(input.Status.HasValue, u => u.Status == input.Status)
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PalletNo), u => u.PalletNo.Contains(input.PalletNo.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Origin), u => u.Origin.Contains(input.Origin.Trim()))
             .Select<WcsTaskOutput>();
         return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
     }
@@ -179,12 +181,17 @@
             if (modTask.Status > TaskStatusEnum.Doing)
                 throw Oops.Oh("浠诲姟鐘舵�佸紓甯�");
             if (input.Status == TaskStatusEnum.Complete)
+            {
                 modTask.IsSuccess = TaskSuccessEnum.Success;
+                modTask.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
+            }
             else
+            {
                 modTask.IsSuccess = TaskSuccessEnum.Fail;
-            modTask.FinishDate = DateTime.Now;
+                modTask.CancelDate = DateTime.Now;//鍙栨秷鏃堕棿
+            }
             modTask.Status = input.Status;
-            await _wcsTaskRep.Context.Updateable(modTask).UpdateColumns(s => new { s.Status, s.IsSuccess, s.FinishDate, s.UpdateTime,s.UpdateUserId,s.UpdateUserName }).ExecuteCommandAsync();
+            await _wcsTaskRep.Context.Updateable(modTask).UpdateColumns(s => new { s.Status, s.IsSuccess, s.FinishDate, s.CancelDate, s.UpdateTime, s.UpdateUserId, s.UpdateUserName }).ExecuteCommandAsync();
             //鍐欏叆浠诲姟鏄庣粏琛�
             WcsTaskMonitor modTaskMonitor = new WcsTaskMonitor()
             {
diff --git a/Admin.NET/WCS.Application/Service/WcsTaskMonitor/Dto/WcsTaskMonitorOutput2.cs b/Admin.NET/WCS.Application/Service/WcsTaskMonitor/Dto/WcsTaskMonitorOutput2.cs
new file mode 100644
index 0000000..880a6b4
--- /dev/null
+++ b/Admin.NET/WCS.Application/Service/WcsTaskMonitor/Dto/WcsTaskMonitorOutput2.cs
@@ -0,0 +1,33 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WCS.Application.Service.WcsTaskMonitor.Dto
+{
+    public class WcsTaskMonitorOutput2
+    {
+        public long Id { get; set; }
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        public string? TaskNo { get; set; }
+
+        /// <summary>
+        /// 浜や簰浣嶇疆
+        /// </summary>
+        public string? PlcName { get; set; }
+
+        /// <summary>
+        /// 浜や簰淇℃伅
+        /// </summary>
+        public string? InteractiveMsg { get; set; }
+
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTime? CreateTime { get; set; }
+
+    }
+}
diff --git a/Admin.NET/WCS.Application/Service/WcsTaskMonitor/WcsTaskMonitorService.cs b/Admin.NET/WCS.Application/Service/WcsTaskMonitor/WcsTaskMonitorService.cs
index b85a40c..a536c41 100644
--- a/Admin.NET/WCS.Application/Service/WcsTaskMonitor/WcsTaskMonitorService.cs
+++ b/Admin.NET/WCS.Application/Service/WcsTaskMonitor/WcsTaskMonitorService.cs
@@ -1,4 +1,6 @@
 锘�
+using WCS.Application.Service.WcsTaskMonitor.Dto;
+
 namespace WCS.Application;
 
 /// <summary>
@@ -21,7 +23,7 @@
     [HttpPost]
     [ApiDescriptionSettings(Name = "Page")]
     [DisplayName("鍒嗛〉鏌ヨ浠诲姟鏄庣粏鐩戞帶琛�")]
-    public async Task<SqlSugarPagedList<WcsTaskMonitorOutput>> Page(PageWcsTaskMonitorInput input)
+    public async Task<SqlSugarPagedList<WcsTaskMonitorOutput2>> Page(PageWcsTaskMonitorInput input)
     {
 		input.SearchKey = input.SearchKey?.Trim();
         var query = _wcsTaskMonitorRep.AsQueryable()
@@ -29,8 +31,17 @@
                 u.TaskNo.Contains(input.SearchKey)
             )
             .WhereIF(!string.IsNullOrWhiteSpace(input.TaskNo), u => u.TaskNo.Contains(input.TaskNo.Trim()))
-            .Select<WcsTaskMonitorOutput>();
-		return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
+            .LeftJoin<WcsDevice>((u, plcid) => u.PlcId == plcid.Id)
+            .Select((u, plcid) => new WcsTaskMonitorOutput2
+            {
+                Id = u.Id,
+                TaskNo = u.TaskNo,
+                PlcName = plcid.StationNum + "宸ヤ綅锛�" + plcid.Text,
+                InteractiveMsg = u.InteractiveMsg,
+                CreateTime = u.CreateTime
+            })
+            .OrderByDescending(u=>u.CreateTime);
+        return await query.OrderBuilder(input,"","").ToPagedListAsync(input.Page, input.PageSize);
     }
 
     /// <summary>
diff --git a/Admin.NET/WCS.Application/Util/HttpService.cs b/Admin.NET/WCS.Application/Util/HttpService.cs
index 9509fb6..1119c0f 100644
--- a/Admin.NET/WCS.Application/Util/HttpService.cs
+++ b/Admin.NET/WCS.Application/Util/HttpService.cs
@@ -1,4 +1,5 @@
-锘縰sing Furion.Logging;
+锘縰sing Elastic.Clients.Elasticsearch;
+using Furion.Logging;
 using Furion.RemoteRequest.Extensions;
 using Newtonsoft.Json;
 using System.Text;
@@ -46,14 +47,16 @@
             string url = Urls.WMSAddress + ":" + Urls.WMSPort;
             var result =  (url + "/api/DownAPi/RequestRoadWay").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>().Result;
             Log.Information("璋冪敤WMS鎺ュ彛鍙嶉浠诲姟鎺ュ彛" + result.ToJson());
-            if (result.StatusCode == "0")
+            if (result.Success == 0)
             {
                                 
                 var taskAdd = new WcsTask()
                 {
                     TaskType = TaskTypeEnum.In,
+                    Status = TaskStatusEnum.Wait,
                     Origin = "WMS",
                     StartLocate = startLocat,
+                    PalletNo = palletNo,
                     TaskNo = result.TaskList.TaskNo,
                     EndLocate = result.TaskList.EndLocate,
                     EndRoadway = result.TaskList.EndRoadway
@@ -80,153 +83,6 @@
         endLocat = PLCCommon.RoadwayToStationNum(endLocat, ceng);
 
         return returnStr;
-        // 纭畾鐩爣宸ヤ綅//闇�娣诲姞灞傛暟纭
-        //switch (endLocat)
-        //{
-        //    case "R01":
-        //        if (ceng == "1")
-        //        {
-        //            endLocat = "145";
-        //        }
-        //        else if (ceng == "2")
-        //        {
-        //            endLocat = "252";
-        //        }
-        //        else if (ceng == "3")
-        //        {
-        //            endLocat = "101";
-        //        }
-        //        break;
-        //    case "R02":
-        //        if (ceng == "1")
-        //        {
-        //            endLocat = "137";
-        //        }
-        //        else if (ceng == "2")
-        //        {
-        //            endLocat = "260";
-        //        }
-        //        else if (ceng == "3")
-        //        {
-        //            endLocat = "405";
-        //        }
-        //        break;
-        //    case "R03":
-        //        if (ceng == "1")
-        //        {
-        //            endLocat = "127";
-        //        }
-        //        else if (ceng == "2")
-        //        {
-        //            endLocat = "270";
-        //        }
-        //        else if (ceng == "3")
-        //        {
-        //            endLocat = "409";
-        //        }
-        //        break;
-        //    case "R04":
-        //        if (ceng == "1")
-        //        {
-        //            endLocat = "119";
-        //        }
-        //        else if (ceng == "2")
-        //        {
-        //            endLocat = "278";
-        //        }
-        //        else if (ceng == "3")
-        //        {
-        //            endLocat = "413";
-        //        }
-        //        break;
-        //    case "R05":
-        //        if (ceng == "1")
-        //        {
-        //            endLocat = "109";
-        //        }
-        //        else if (ceng == "2")
-        //        {
-        //            endLocat = "288";
-        //        }
-        //        else if (ceng == "3")
-        //        {
-        //            endLocat = "417";
-        //        }
-        //        break;
-        //    case "R06":
-        //        if (ceng == "1")
-        //        {
-        //            endLocat = "101";
-        //        }
-        //        else if (ceng == "2")
-        //        {
-        //            endLocat = "301";
-        //        }
-        //        else if (ceng == "3")
-        //        {
-        //            endLocat = "421";
-        //        }
-        //        break;
-        //    case "R07":
-        //        if (ceng == "1")
-        //        {
-        //            endLocat = "091";
-        //        }
-        //        else if (ceng == "2")
-        //        {
-        //            endLocat = "307";
-        //        }
-        //        else if (ceng == "3")
-        //        {
-        //            endLocat = "425";
-        //        }
-        //        break;
-        //    case "R08":
-        //        if (ceng == "1")
-        //        {
-        //            endLocat = "083";
-        //        }
-        //        else if (ceng == "2")
-        //        {
-        //            endLocat = "315";
-        //        }
-        //        else if (ceng == "3")
-        //        {
-        //            endLocat = "429";
-        //        }
-        //        break;
-        //    case "R09":
-        //        if (ceng == "1")
-        //        {
-        //            endLocat = "073";
-        //        }
-        //        else if (ceng == "2")
-        //        {
-        //            endLocat = "325";
-        //        }
-        //        else if (ceng == "3")
-        //        {
-        //            endLocat = "433";
-        //        }
-        //        break;
-        //    case "R10":
-        //        if (ceng == "1")
-        //        {
-        //            endLocat = "065";
-        //        }
-        //        else if (ceng == "2")
-        //        {
-        //            endLocat = "337";
-        //        }
-        //        else if (ceng == "3")
-        //        {
-        //            endLocat = "437";
-        //        }
-        //        break;
-        //}
-
-
-
     }
 
     /// <summary>
@@ -258,20 +114,35 @@
             string url = Urls.WMSAddress + ":" + Urls.WMSPort;
             var result = (url + "/api/DownAPi/RequestLocation").SetBody(model, "application/json", Encoding.UTF8).PostAsAsync<ResponseTasks>().Result;
             Log.Information("璋冪敤WMS鐢宠鍌ㄤ綅鎺ュ彛鍙嶉浠诲姟鎺ュ彛" + result.ToJson());
-            if (result.StatusCode == "0")
+            if (result.Success == 0)
             {
 
-                var taskAdd = new WcsTask()
+               
+                var taskUp = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.TaskNo == result.TaskList.TaskNo);
+                if (taskUp == null)
                 {
-                    TaskType = TaskTypeEnum.In,
-                    Origin = "WMS",
-                    StartLocate = startLocat,
-                    TaskNo = result.TaskList.TaskNo,
-                    EndLocate = result.TaskList.EndLocate,
-                    EndRoadway = result.TaskList.EndRoadway
-                };
+                    var taskAdd = new WcsTask()
+                    {
+                        TaskNo = result.TaskList.TaskNo,
+                        TaskType = TaskTypeEnum.In,
+                        Status = TaskStatusEnum.Wait,
+                        //IsSuccess =TaskSuccessEnum.Success,
+                        Origin = "WMS",
+                        StartLocate = startLocat,
+                        PalletNo = palletNo,
+                        EndLocate = result.TaskList.EndLocate,
+                        EndRoadway = result.TaskList.EndRoadway
+                    };
+                    _db.Insertable(taskAdd).ExecuteCommand();
+                }
+                else
+                {
+                    taskUp.EndRoadway = result.TaskList.EndRoadway;
+                    taskUp.EndLocate = result.TaskList.EndLocate;
+                    _db.Updateable(taskUp).ExecuteCommand();
+                }
 
-                _db.Updateable(taskAdd).ExecuteCommand();
+               
                 returnStr = result.TaskList.EndLocate;
                 taskNo = result.TaskList.TaskNo;
             }
diff --git a/Web/src/views/wcs/wcsTask/index.vue b/Web/src/views/wcs/wcsTask/index.vue
index 38c5808..50b6eaf 100644
--- a/Web/src/views/wcs/wcsTask/index.vue
+++ b/Web/src/views/wcs/wcsTask/index.vue
@@ -35,6 +35,16 @@
                   </el-select>
                 </el-form-item>
               </el-col>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+                <el-form-item label="鎵樼洏鍙�">
+                  <el-input v-model="queryParams.palletNo" clearable="" placeholder="璇疯緭鍏ユ墭鐩樺彿" />
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUI">
+                <el-form-item label="鏉ユ簮">
+                  <el-input v-model="queryParams.origin" clearable="" placeholder="璇疯緭鍏ユ潵婧�" />
+                </el-form-item>
+              </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
                 <el-form-item>
                   <el-button-group style="display: flex; align-items: center;">
@@ -70,16 +80,39 @@
                   scope.row.status)?.name }}</el-tag>
               </template>
             </el-table-column>
+            <el-table-column prop="origin" label="鏉ユ簮" show-overflow-tooltip="" />
             <el-table-column prop="startLocate" label="璧峰浣嶇疆" show-overflow-tooltip="" />
             <el-table-column prop="endLocate" label="缁撴潫浣嶇疆" show-overflow-tooltip="" />
             <el-table-column prop="palletNo" label="鎵樼洏鍙�" show-overflow-tooltip="" />
+            <el-table-column prop="completeQty" label="鎷嗗灈绠辨暟" show-overflow-tooltip="" />
+            <el-table-column prop="palletQty" label="鏁磋泛绠辨暟" show-overflow-tooltip="" />
+            <el-table-column prop="lotNo" label="鎵规鍙�" show-overflow-tooltip="" />
+            <el-table-column prop="skuNo" label="鐗╂枡缂栫爜" show-overflow-tooltip="" />
+            <el-table-column prop="skuName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+            <el-table-column prop="unstackingMode" width="100" label="鎷嗗灈鏂瑰紡" show-overflow-tooltip="">            
+              <template #default="scope">
+                <span v-if="scope.row.unstackingMode">
+                  <el-tag :type="dv('UnstackingModeEnum', scope.row.unstackingMode)?.tagType"> {{ dv('UnstackingModeEnum',
+                  scope.row.unstackingMode)?.name }}</el-tag>
+                </span>                
+              </template>
+            </el-table-column>
+            <el-table-column prop="isBind" width="85" label="鏄惁缁戝畾" show-overflow-tooltip="">            
+              <template #default="scope">
+                <span v-if="scope.row.isBind!=null">
+                  <el-tag :type="dv('IsBindEnum', scope.row.isBind)?.tagType"> {{ dv('IsBindEnum',
+                  scope.row.isBind)?.name }}</el-tag>
+                </span>                
+              </template>
+            </el-table-column>
+            <el-table-column prop="stationNum" label="鎷嗗灈宸ヤ綅鍙�" show-overflow-tooltip="" />
             <el-table-column prop="cancelDate" label="鍙栨秷鏃堕棿" show-overflow-tooltip="" />
             <el-table-column prop="finishDate" label="瀹屾垚鏃堕棿" show-overflow-tooltip="" />
-            <el-table-column label="淇敼璁板綍" width="80" align="center" show-overflow-tooltip>
+            <!-- <el-table-column label="淇敼璁板綍" width="80" align="center" show-overflow-tooltip>
               <template #default="scope">
                 <ModifyRecord :data="scope.row" />
               </template>
-            </el-table-column>
+            </el-table-column> -->
             <el-table-column prop="鎿嶄綔" label="鎿嶄綔" width="130" align="center" fixed="right" show-overflow-tooltip=""
               v-if="auth('wcsTask:complete') || auth('wcsTask:cancell')">
               <template #default="scope">
@@ -126,14 +159,15 @@
             border="">
             <el-table-column type="index" label="搴忓彿" width="55" align="center" />
             <el-table-column prop="taskNo" label="浠诲姟鍙�" show-overflow-tooltip="" />
-            <el-table-column prop="plcId" label="浜や簰宸ヤ綅鍙�" show-overflow-tooltip="" />
+            <!-- <el-table-column prop="plcId" label="浜や簰宸ヤ綅鍙�" show-overflow-tooltip="" /> -->
             <el-table-column prop="plcName" label="浜や簰浣嶇疆" show-overflow-tooltip="" />
             <el-table-column prop="interactiveMsg" label="浜や簰淇℃伅" show-overflow-tooltip="" />
-            <el-table-column label="淇敼璁板綍" width="80" align="center" show-overflow-tooltip>
+            <el-table-column prop="createTime" label="浜や簰鏃堕棿" show-overflow-tooltip="" />
+            <!-- <el-table-column label="淇敼璁板綍" width="80" align="center" show-overflow-tooltip>
               <template #default="scope">
                 <ModifyRecord :data="scope.row" />
               </template>
-            </el-table-column>
+            </el-table-column> -->
           </el-table>
           <el-pagination v-model:currentPage="tableParams2.page" v-model:page-size="tableParams2.pageSize"
             :total="tableParams2.total" :page-sizes="[10, 20, 50, 100, 200, 500]" size="small" background=""

--
Gitblit v1.8.0