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
{