From e4cb261e228973f1418d279b8283c0f385ef8b83 Mon Sep 17 00:00:00 2001 From: zhoukeda <1315948824@qq.com> Date: Tue, 10 Oct 2023 14:53:22 +0800 Subject: [PATCH] =?UTF-8?q?andon=E5=A2=9E=E5=8A=A0=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Consts/DictConst.cs | 27 ++++++ .../Dto/PrdManage/AndonPadListInput.cs | 2 + .../Dto/PrdManage/AndonPadListOutput.cs | 1 + .../Entity/AndonRecords.cs | 2 + .../Tnb.ProductionMgr/AndonRecordService.cs | 86 +++++++++++++------ 5 files changed, 94 insertions(+), 24 deletions(-) diff --git a/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs b/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs index 25e27e82..5cae0a5c 100644 --- a/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs +++ b/BasicData/Tnb.BasicData.Entities/Consts/DictConst.cs @@ -137,6 +137,33 @@ public static class DictConst /// 任务单状态key /// public const string TaskStatus = "TaskStatus"; + + /// + /// andon状态key + /// + public const string AndonStatus = "AndonStatus"; + + /// + /// andon状态呼叫中 + /// + public const string AndonStatusHJZ = "1"; + /// + /// andon状态已响应 + /// + public const string AndonStatusYXY = "2"; + /// + /// andon状态处理中 + /// + public const string AndonStatusCLZ = "3"; + /// + /// andon状态待确认 + /// + public const string AndonStatusDQR = "4"; + /// + /// andon状态已完成 + /// + public const string AndonStatusYWC = "5"; + #endregion diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/AndonPadListInput.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/AndonPadListInput.cs index 2053e8bc..929989e5 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/AndonPadListInput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/AndonPadListInput.cs @@ -4,6 +4,8 @@ namespace Tnb.ProductionMgr.Entities.Dto { public string andon_type_id { get; set; } + public string status { get; set; } + /// /// 页码. /// diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/AndonPadListOutput.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/AndonPadListOutput.cs index d9354b4a..0566d0ed 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/AndonPadListOutput.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Dto/PrdManage/AndonPadListOutput.cs @@ -11,5 +11,6 @@ namespace Tnb.ProductionMgr.Entities.Dto public string? start_repair_time { get; set; } public string? end_repair_time { get; set; } public string? confirm_time { get; set; } + public string status { get; set; } } } \ No newline at end of file diff --git a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/AndonRecords.cs b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/AndonRecords.cs index a66f9be0..c813fadc 100644 --- a/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/AndonRecords.cs +++ b/ProductionMgr/Tnb.ProductionMgr.Entities/Entity/AndonRecords.cs @@ -45,5 +45,7 @@ namespace Tnb.ProductionMgr.Entities public DateTime? end_repair_time { get; set; } public DateTime? confirm_time { get; set; } + public string status { get; set; } + } } diff --git a/ProductionMgr/Tnb.ProductionMgr/AndonRecordService.cs b/ProductionMgr/Tnb.ProductionMgr/AndonRecordService.cs index c9b2fc87..975b302a 100644 --- a/ProductionMgr/Tnb.ProductionMgr/AndonRecordService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/AndonRecordService.cs @@ -24,6 +24,7 @@ using Tnb.ProductionMgr.Interfaces; using Tnb.BasicData.Entities; using JNPF.Systems.Entitys.System; using JNPF.Message.Entitys.Entity; +using Tnb.BasicData; using Tnb.BasicData.Interfaces; using MessageTemplateEntity = JNPF.Message.Entitys.Entity.MessageTemplateEntity; @@ -59,8 +60,11 @@ namespace Tnb.ProductionMgr .LeftJoin((a, b) => a.andon_info_id == b.id) .LeftJoin((a, b, c) => a.repair_id == c.Id) .LeftJoin((a, b, c, d) => a.create_id == d.Id) + .LeftJoin((a,b,c,d,e)=>e.EnCode==DictConst.AndonStatus) + .LeftJoin((a,b,c,d,e,f)=>a.status==f.EnCode && e.Id==f.DictionaryTypeId) .Where((a, b, c, d) => a.andon_type_id == input.andon_type_id) - .Select((a, b, c, d) => new AndonPadListOutput + .WhereIF(!string.IsNullOrEmpty(input.status),(a, b, c, d)=>a.status==input.status) + .Select((a, b, c, d,e,f) => new AndonPadListOutput { id = a.id, andon_info_name = b.name, @@ -71,6 +75,7 @@ namespace Tnb.ProductionMgr start_repair_time = a.start_repair_time == null ? "" : a.start_repair_time.Value.ToString("yyyy-MM-dd hh:mm:ss"), end_repair_time = a.end_repair_time == null ? "" : a.end_repair_time.Value.ToString("yyyy-MM-dd hh:mm:ss"), confirm_time = a.confirm_time == null ? "" : a.confirm_time.Value.ToString("yyyy-MM-dd hh:mm:ss"), + status = f.FullName, }).ToPagedListAsync(input.currentPage, input.pageSize); return PageResult.SqlSugarPageResult(result); @@ -87,6 +92,7 @@ namespace Tnb.ProductionMgr andonRecords.create_time = DateTime.Now; andonRecords.create_id = _userManager.UserId; + andonRecords.status = DictConst.AndonStatusHJZ; List toUsers = new List(); @@ -208,17 +214,25 @@ namespace Tnb.ProductionMgr } else { - await _db.Updateable() - .SetColumns(x => x.repair_id == _userManager.UserId) - .SetColumns(x=>x.response_time==DateTime.Now) - .ExecuteCommandAsync(); - Dictionary postData = new Dictionary() + if (andonRecords.status != DictConst.AndonStatusHJZ) { - ["id"] = andonRecords.id - }; - await _basPushRuleLogService.Stop(postData); + throw Oops.Bah($"状态错误"); + } + else + { + await _db.Updateable() + .SetColumns(x => x.repair_id == _userManager.UserId) + .SetColumns(x=>x.response_time==DateTime.Now) + .ExecuteCommandAsync(); + Dictionary postData = new Dictionary() + { + ["id"] = andonRecords.id + }; + await _basPushRuleLogService.Stop(postData); + return true; + } + - return true; } } else @@ -234,11 +248,19 @@ namespace Tnb.ProductionMgr AndonRecords andonRecords = await _db.Queryable().SingleAsync(x => x.id == id); if (andonRecords != null) { - await _db.Updateable() - .SetColumns(x=>x.start_repair_time==DateTime.Now) - .Where(x=>x.id==id) - .ExecuteCommandAsync(); - return true; + if (andonRecords.status != DictConst.AndonStatusYXY) + { + throw Oops.Bah($"状态错误"); + } + else + { + await _db.Updateable() + .SetColumns(x=>x.start_repair_time==DateTime.Now) + .Where(x=>x.id==id) + .ExecuteCommandAsync(); + return true; + } + } else { @@ -253,11 +275,19 @@ namespace Tnb.ProductionMgr AndonRecords andonRecords = await _db.Queryable().SingleAsync(x => x.id == id); if (andonRecords != null) { - await _db.Updateable() - .SetColumns(x=>x.end_repair_time==DateTime.Now) - .Where(x=>x.id==id) - .ExecuteCommandAsync(); + if (andonRecords.status != DictConst.AndonStatusCLZ) + { + throw Oops.Bah($"状态错误"); + } + else + { + await _db.Updateable() + .SetColumns(x=>x.end_repair_time==DateTime.Now) + .Where(x=>x.id==id) + .ExecuteCommandAsync(); return true; + } + } else { @@ -272,11 +302,19 @@ namespace Tnb.ProductionMgr AndonRecords andonRecords = await _db.Queryable().SingleAsync(x => x.id == id); if (andonRecords != null) { - await _db.Updateable() - .SetColumns(x=>x.confirm_time==DateTime.Now) - .Where(x=>x.id==id) - .ExecuteCommandAsync(); - return true; + if (andonRecords.status != DictConst.AndonStatusYWC) + { + throw Oops.Bah($"状态错误"); + } + else + { + await _db.Updateable() + .SetColumns(x=>x.confirm_time==DateTime.Now) + .Where(x=>x.id==id) + .ExecuteCommandAsync(); + return true; + } + } else {