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

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

@@ -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" ? "待复核" : "已完成";