Admin.NET/WCS.Application/Entity/WcsTask.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Admin.NET/WCS.Application/Enum/TaskEnum.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskInput.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Admin.NET/WCS.Application/Service/WcsTask/Dto/WcsTaskOutput.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Admin.NET/WCS.Application/Service/WcsTaskMonitor/Dto/WcsTaskMonitorOutput2.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Admin.NET/WCS.Application/Service/WcsTaskMonitor/WcsTaskMonitorService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Web/src/views/wcs/wcsTask/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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> /// 拣货方式 /// </summary> Admin.NET/WCS.Application/Enum/TaskEnum.cs
@@ -103,4 +103,21 @@ /// </summary> [Description("人工拣货出")] Artificial = 1, } /// <summary> /// 是否绑定 /// </summary> [Description("是否成功枚举")] public enum IsBindEnum { /// <summary> /// 未绑定 /// </summary> [Description("未绑定")] No = 0, /// <summary> /// 已绑定 /// </summary> [Description("已绑定")] Yes = 1 } 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> /// 任务表增加输入参数 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> /// 拣货方式 /// </summary> 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() { Admin.NET/WCS.Application/Service/WcsTaskMonitor/Dto/WcsTaskMonitorOutput2.cs
New file @@ -0,0 +1,33 @@ using 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; } } } 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> 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=""