点检保养报修添加时间过滤 自定义排序

This commit is contained in:
2023-10-27 15:23:36 +08:00
parent 85d2a68e98
commit 79045a61de
4 changed files with 45 additions and 4 deletions

View File

@@ -5,5 +5,12 @@ namespace Tnb.EquipMgr.Entities.Dto
public string status { get; set; }
public string equip_info { get; set; }
public DateTime? start_time { get; set; }
public DateTime? end_time { get; set; }
public string sidx { get; set; }
public string sort { get; set; }
}
}

View File

@@ -101,7 +101,7 @@ namespace Tnb.EquipMgr
string id = dic["id"];
await _repository.UpdateAsync(x => new EqpRepairApply()
{
status = RepairApplyStatus.CLOSE
status = RepairApplyStatus.CLOSE,
}, x => x.id == id);
return "关闭成功";
}
@@ -291,6 +291,9 @@ namespace Tnb.EquipMgr
[HttpPost]
public async Task<dynamic> GetPadRepairList(PadRepairListInput input)
{
DateTime? start_time = input.start_time;
DateTime? end_time = input.end_time;
List<string> statusList = new List<string>();
if (!string.IsNullOrEmpty(input.status))
{
@@ -315,6 +318,13 @@ namespace Tnb.EquipMgr
break;
}
}
if (string.IsNullOrEmpty(input.sidx))
{
input.sidx = "create_time";
input.sort = "desc";
}
var db = _repository.AsSugarClient();
var result = await db.Queryable<EqpRepairApply>()
.LeftJoin<UserEntity>((a,b)=>a.apply_user_id==b.Id)
@@ -324,7 +334,9 @@ namespace Tnb.EquipMgr
.LeftJoin<DictionaryDataEntity>((a,b,c,d,e,f)=>e.Id==f.DictionaryTypeId && a.status==f.EnCode)
.WhereIF(!string.IsNullOrEmpty(input.equip_info),(a,b,c,d)=>d.code.Contains(input.equip_info) || d.name.Contains(input.equip_info))
.WhereIF(!string.IsNullOrEmpty(input.status),(a,b,c,d)=>statusList.Contains(a.status))
.OrderByDescending(a=>a.create_time)
.WhereIF(input.status=="3" && start_time!=null,a=>a.complete_time!=null && a.complete_time>=start_time)
.WhereIF(input.status=="3" && end_time!=null,a=>a.complete_time!=null && a.complete_time<=end_time)
.OrderBy($"{input.sidx} {input.sort}")
.Select((a,b,c,d,e,f) => new PadRepairListOutput
{
id = a.id,

View File

@@ -56,6 +56,15 @@ namespace Tnb.EquipMgr
Dictionary<string, object>? queryJson = (input==null || string.IsNullOrEmpty(input.queryJson)) ? new Dictionary<string, object>() : input.queryJson.ToObject<Dictionary<string, object>>();
string equioInfo = queryJson.ContainsKey("query_info") ? (queryJson["query_info"].ToString() ?? "") : "";
string status = queryJson.ContainsKey("status") ? (queryJson["status"].ToString() ?? "") : "";
DateTime? start_time = queryJson.ContainsKey("start_time") ? (DateTime?)queryJson["start_time"] : null;
DateTime? end_time = queryJson.ContainsKey("end_time") ? (DateTime?)queryJson["end_time"] : null;
if (string.IsNullOrEmpty(input.sidx))
{
input.sidx = "create_time";
input.sort = "desc";
}
var list = await db.Queryable<EqpMaintainRecordH, EqpEquipment, UserEntity,UserEntity>((a, b, c,d) => new object[]
{
JoinType.Left, a.equip_id == b.id,
@@ -64,6 +73,8 @@ namespace Tnb.EquipMgr
})
.WhereIF(!string.IsNullOrEmpty(status),(a,b,c)=>a.status==status)
.WhereIF(!string.IsNullOrEmpty(equioInfo),(a,b,c)=>b.code.Contains(equioInfo)|| b.name.Contains(equioInfo))
.WhereIF(status=="3" && start_time!=null,a=>a.execute_time>=start_time)
.WhereIF(status=="3" && end_time!=null,a=>a.execute_time<=end_time)
.Select((a, b, c,d) => new EqpMaintainRecordListOutput
{
id = a.id,
@@ -83,7 +94,7 @@ namespace Tnb.EquipMgr
repeat_remark = a.repeat_remark,
date_last_execute_time = SqlFunc.Subqueryable<EqpMaintainRecordH>().Where(x=>a.equip_id==x.equip_id && a.execute_time!=null).OrderByDesc(x=>x.execute_time).Select(x=>x.execute_time)
})
.OrderByDescending(a=>a.create_time)
.OrderBy($"{input.sidx} {input.sort}")
.Mapper(a =>
{
a.status = a.status=="1" ? "待执行" : a.status=="2" ? "待复核" : "已完成";

View File

@@ -57,6 +57,15 @@ namespace Tnb.EquipMgr
Dictionary<string, object>? queryJson = (input==null || string.IsNullOrEmpty(input.queryJson)) ? new Dictionary<string, object>() : input.queryJson.ToObject<Dictionary<string, object>>();
string equioInfo = queryJson.ContainsKey("query_info") ? (queryJson["query_info"].ToString() ?? "") : "";
string status = queryJson.ContainsKey("status") ? (queryJson["status"].ToString() ?? "") : "";
DateTime? start_time = queryJson.ContainsKey("start_time") ? (DateTime?)queryJson["start_time"] : null;
DateTime? end_time = queryJson.ContainsKey("end_time") ? (DateTime?)queryJson["end_time"] : null;
if (string.IsNullOrEmpty(input.sidx))
{
input.sidx = "create_time";
input.sort = "desc";
}
var list = await db.Queryable<EqpSpotInsRecordH, EqpEquipment, UserEntity,UserEntity>((a, b, c,d) => new object[]
{
JoinType.Left, a.equip_id == b.id,
@@ -65,6 +74,8 @@ namespace Tnb.EquipMgr
})
.WhereIF(!string.IsNullOrEmpty(status),(a,b,c)=>a.status==status)
.WhereIF(!string.IsNullOrEmpty(equioInfo),(a,b,c)=>b.code.Contains(equioInfo)|| b.name.Contains(equioInfo))
.WhereIF(status=="3" && start_time!=null,a=>a.spot_record_date_time>=start_time)
.WhereIF(status=="3" && end_time!=null,a=>a.spot_record_date_time<=end_time)
.Select((a, b, c,d) => new EqpSpotInsRecordListOutput
{
id = a.id,
@@ -81,7 +92,7 @@ namespace Tnb.EquipMgr
repeat_user_id = d.RealName,
repeat_user_id_id = a.repeat_user_id,
})
.OrderByDescending(a=>a.create_time)
.OrderBy($"{input.sidx} {input.sort}")
.Mapper(a =>
{
a.status = a.status=="1" ? "待执行" : a.status=="2" ? "待复核" : "已完成";