From ed843fc126586dcd189d34fed265ea4b185383b1 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期五, 13 九月 2024 16:11:13 +0800
Subject: [PATCH] 修改任务管理页面问题

---
 Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskOutput.cs                |   16 +++++
 Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs                   |   11 +++
 Admin.NET/WCS.Application/Service/WcsTaskMonitor/WcsTaskMonitorService.cs     |   17 ++++-
 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/Service/WcsTaskMonitor/Dto/WcsTaskMonitorOutput2.cs |   33 +++++++++++
 Web/src/views/wcs/wcsTask/index.vue                                           |   44 +++++++++++++-
 8 files changed, 158 insertions(+), 14 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/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/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