diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs index f73b3872..4b8074d5 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoTaskService.cs @@ -515,7 +515,7 @@ namespace Tnb.ProductionMgr [HttpGet] public async Task GetUnSchedulingList([FromQuery] VisualDevModelListQueryInput input) { - Dictionary queryJson = input.queryJson!=null ? JsonConvert.DeserializeObject>(input.queryJson) : null; + Dictionary queryJson = !string.IsNullOrEmpty(input.queryJson) ? JsonConvert.DeserializeObject>(input.queryJson) : new Dictionary(); List moStatusList = new List(); if (queryJson!=null && queryJson.ContainsKey("mo_stauts")) { diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdTaskManageService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdTaskManageService.cs index ff33e912..c7cb7feb 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdTaskManageService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdTaskManageService.cs @@ -23,6 +23,7 @@ using Microsoft.AspNetCore.Mvc; using DbModels; using JNPF.Common.Extension; using JNPF.Common.Filter; +using JNPF.Common.Security; using Tnb.ProductionMgr.Entities.Dto.PrdManage; using NPOI.OpenXmlFormats; using JNPF.Systems.Entitys.Permission; @@ -116,26 +117,31 @@ namespace Tnb.ProductionMgr private async Task GetList(VisualDevModelListQueryInput input) { var db = _repository.AsSugarClient(); - Dictionary queryJson = input.queryJson!=null ? JsonConvert.DeserializeObject>(input.queryJson) : null; + Dictionary queryJson = !string.IsNullOrEmpty(input.queryJson) ? JsonConvert.DeserializeObject>(input.queryJson) : new Dictionary(); string moTaskCode = queryJson!=null && queryJson.ContainsKey("mo_task_code") ? queryJson["mo_task_code"].ToString() : ""; - Dictionary dic = new Dictionary() + Dictionary dic = await _dictionaryDataService.GetDicByKey(DictConst.TaskStatus); + + DateTime[] planStartDateArr = null; + DateTime[] planEndDateArr = null; + if (queryJson.TryGetValue("plan_start_date", out var value1)) { - [DictConst.ToBeStartedEnCode] = "待开工", - [DictConst.InProgressEnCode] = "进行中", - [DictConst.ClosedEnCode] = "关闭", - [DictConst.ComplatedEnCode] = "完工", - [DictConst.ToBeScheduledEncode] = "待排产", - [DictConst.MoStatusPauseCode] = "暂停", - [DictConst.MoStatusExceptionCode] = "异常", - [DictConst.MoStatusRevokeCode] = "撤销", - }; + planStartDateArr = value1.ToObject().Select(x=>x.TimeStampToDateTime()).ToArray(); + } + if (queryJson.TryGetValue("plan_end_date", out var value2)) + { + planEndDateArr = value2.ToObject().Select(x=>x.TimeStampToDateTime()).ToArray(); + } + + var result = await db.Queryable() .LeftJoin((a, b) => a.eqp_id == b.id) .LeftJoin((a, b, c) => a.material_id == c.id) .LeftJoin((a, b, c, d) => a.mold_id == d.id) - //.Where((a,b,c,d)=>(a.mo_task_status==DictConst.ToBeStartedEnCode || a.mo_task_status==DictConst.InProgressEnCode || a.mo_task_status==DictConst.MoStatusExceptionCode)) + .Where((a,b,c,d)=>(a.mo_task_status==DictConst.ToBeStartedEnCode || a.mo_task_status==DictConst.InProgressEnCode || a.mo_task_status==DictConst.MoStatusExceptionCode || a.mo_task_status==DictConst.MoStatusPauseCode || a.mo_task_status==DictConst.ComplatedEnCode)) .Where((a,b,c,d)=>a.schedule_type==1) .WhereIF(!string.IsNullOrEmpty(moTaskCode),(a,b,c,d)=>a.mo_task_code.Contains(moTaskCode)) + .WhereIF(planStartDateArr!=null, (a, b, c, d) => a.estimated_start_date>=planStartDateArr[0] && a.estimated_start_date<=planStartDateArr[1]) + .WhereIF(planEndDateArr!=null, (a, b, c, d) => a.estimated_end_date>=planEndDateArr[0] && a.estimated_end_date<=planEndDateArr[1]) .OrderByDescending((a, b, c, d) => a.create_time) .Select((a, b, c, d) => new PrdTaskManageListOutput() { @@ -152,7 +158,7 @@ namespace Tnb.ProductionMgr schedule_type = a.schedule_type.ToString() }) - .Mapper(x=>x.mo_task_status=dic[x.mo_task_status]) + .Mapper(x=>x.mo_task_status=dic[x.mo_task_status].ToString()) .ToPagedListAsync(input.currentPage, input.pageSize); return PageResult.SqlSugarPageResult(result); }