public async Task <IActionResult> GetScheduleOrderAudit(Input_OrderAuditGet model, [FromServices] ContextString dbContext) { QianMuResult _Result = new QianMuResult(); //参数转换 Stream stream = HttpContext.Request.Body; byte[] buffer = new byte[HttpContext.Request.ContentLength.Value]; stream.Read(buffer, 0, buffer.Length); string inputStr = Encoding.UTF8.GetString(buffer); model = (Input_OrderAuditGet)Newtonsoft.Json.JsonConvert.DeserializeObject(inputStr, model.GetType()); if (string.IsNullOrEmpty(model.MallCode)) { //检测用户登录情况 var uol = Method.GetLoginUserName(dbContext, this.HttpContext); if (string.IsNullOrEmpty(uol.UserName)) { _Result.Code = "401"; _Result.Msg = "请登陆后再进行操作"; _Result.Data = ""; return(Json(_Result)); } else { model.MallCode = uol.MallCode; } } //if (string.IsNullOrEmpty(model.OrderAuditCode)) //{ // _Result.Code = "510"; // _Result.Msg = "请输入订单审核编码"; // _Result.Data = ""; // return Json(_Result); //} var orderAudit = await dbContext.OrderAudit.Where(i => i.Code == model.OrderAuditCode).FirstOrDefaultAsync(); if (!string.IsNullOrEmpty(model.OrderAuditCode) && orderAudit == null) { _Result.Code = "510"; _Result.Msg = "订单审核编码输入有误"; _Result.Data = ""; return(Json(_Result)); } if (string.IsNullOrEmpty(model.OrderCode)) { _Result.Code = "510"; _Result.Msg = "请输入订单编码"; _Result.Data = ""; return(Json(_Result)); } var scheduleOrder = await dbContext.ScheduleOrder.Where(i => i.Code == model.OrderCode).Join(dbContext.Shops, p => p.ShopCode, s => s.Code, (p, s) => new { p.Code, p.AddTime, p.Info, p.PlacingNum, p.Status, p.UpdateTime, p.ScreenCode, s.Name, s.HouseNum }).Join(dbContext.ScreenInfo.Where(i => i.MallCode == model.MallCode), p => p.ScreenCode, s => s.Code, (p, s) => new { p.Code, p.AddTime, p.Info, p.PlacingNum, p.Status, p.UpdateTime, p.ScreenCode, p.Name, p.HouseNum, s.SName }).FirstOrDefaultAsync(); if (scheduleOrder == null) { _Result.Code = "510"; _Result.Msg = "订单编码输入错误"; _Result.Data = ""; return(Json(_Result)); } var auditList = await dbContext.OrderAudit.Where(i => i.OrderCode == model.OrderCode).Join(dbContext.Account.Where(i => i.MallCode == model.MallCode && i.Activity), oa => oa.OperUser, mu => mu.Code, (oa, mu) => new { oa.AuditOpinion, oa.AuditOrder, oa.AuditStatus, oa.OperUser, UpdateTime = oa.UpdateTime.ToString("yyyy-MM-dd HH:mm"), mu.NickName, mu.AccountName }).OrderBy(i => i.AuditOrder).ToListAsync(); var noAuditList = await dbContext.AuditProcess.Where(i => i.ModuleType == 1 && i.Order > auditList.Count).Join(dbContext.Account.Where(i => i.MallCode == model.MallCode && i.Activity), ap => ap.OperUser, mu => mu.Code, (ap, mu) => new { AuditOpinion = "", AuditOrder = ap.Order, AuditStatus = 0, ap.OperUser, UpdateTime = "", mu.NickName, mu.AccountName }).OrderBy(i => i.AuditOrder).ToListAsync(); auditList.AddRange(noAuditList); var scheduleDateList = await dbContext.ScheduleDate.Where(i => i.ScheduleCode == model.OrderCode).OrderBy(i => i.ScheduleDay).ToListAsync(); var BeginScheduleDate = scheduleDateList[0].ScheduleDay.ToString("yyyy-MM-dd"); var EndScheduleDate = scheduleDateList[scheduleDateList.Count - 1].ScheduleDay.ToString("yyyy-MM-dd"); var isPass = DateTime.Now.Date > scheduleDateList[scheduleDateList.Count - 1].ScheduleDay ? 1 : 0; var schedulePeriodList = await dbContext.SchedulePeriod.Where(i => i.ScheduleCode == model.OrderCode).Join(dbContext.TimeSlot, sp => sp.TimeSlotCode, ts => ts.Code, (sp, ts) => new { sp.Code, ts.BeginTimeSlot, ts.EndTimeSlot }).ToListAsync(); var scheduleDevice = await dbContext.ScheduleDevice.Where(i => i.ScheduleCode == model.OrderCode).Join(dbContext.Device, s => s.DeviceCode, d => d.Code, (s, d) => new { d.Building, d.DevNum, d.Floor, d.IP, d.MAC, d.Mark, d.Position, d.Version }).Join(dbContext.Building, d => d.Building, b => b.Code, (d, b) => new { d.Building, d.DevNum, d.Floor, d.IP, d.MAC, d.Mark, d.Position, d.Version, BuildName = b.Name }).Join(dbContext.Floor, d => d.Floor, f => f.Code, (d, f) => new { d.Building, d.DevNum, d.Floor, d.IP, d.MAC, d.Mark, d.Position, d.Version, d.BuildName, FloorName = f.Name }).OrderBy(i => i.Floor).ThenBy(i => i.IP).ToListAsync(); _Result.Code = "200"; _Result.Msg = "获取成功"; //_Result.Data = new { CurAuditOrder = orderAudit, TreeAuditOrder = auditList, ScheduleOrder = scheduleOrder, BeginScheduleDate, EndScheduleDate, SchedulePeriodList = schedulePeriodList,IsPass=isPass }; _Result.Data = new { CurAuditOrder = orderAudit, TreeAuditOrder = auditList, ScheduleOrder = scheduleOrder, BeginScheduleDate, EndScheduleDate, SchedulePeriodList = schedulePeriodList, ScheduleDevice = scheduleDevice, IsPass = isPass }; return(Json(_Result)); }
public async Task <IActionResult> GetProgramOrderAudit(Input_OrderAuditGet model, [FromServices] ContextString dbContext) { QianMuResult _Result = new QianMuResult(); //参数转换 Stream stream = HttpContext.Request.Body; byte[] buffer = new byte[HttpContext.Request.ContentLength.Value]; stream.Read(buffer, 0, buffer.Length); string inputStr = Encoding.UTF8.GetString(buffer); model = (Input_OrderAuditGet)Newtonsoft.Json.JsonConvert.DeserializeObject(inputStr, model.GetType()); if (string.IsNullOrEmpty(model.MallCode)) { //检测用户登录情况 var uol = Method.GetLoginUserName(dbContext, this.HttpContext); if (string.IsNullOrEmpty(uol.UserName)) { _Result.Code = "401"; _Result.Msg = "请登陆后再进行操作"; _Result.Data = ""; return(Json(_Result)); } else { model.MallCode = uol.MallCode; } } //if (string.IsNullOrEmpty(model.OrderAuditCode)) //{ // _Result.Code = "510"; // _Result.Msg = "请输入订单审核编码"; // _Result.Data = ""; // return Json(_Result); //} var orderAudit = await dbContext.OrderAudit.Where(i => i.Code == model.OrderAuditCode).FirstOrDefaultAsync(); if (!string.IsNullOrEmpty(model.OrderAuditCode) && orderAudit == null) { _Result.Code = "510"; _Result.Msg = "订单审核编码输入有误"; _Result.Data = ""; return(Json(_Result)); } if (string.IsNullOrEmpty(model.OrderCode)) { _Result.Code = "510"; _Result.Msg = "请输入订单编码"; _Result.Data = ""; return(Json(_Result)); } var programOrder = await dbContext.ProgramOrder.Where(i => i.Code == model.OrderCode).Join(dbContext.Shops, p => p.ShopCode, s => s.Code, (p, s) => new { p.Code, p.AddTime, p.Info, p.PlacingNum, p.Status, p.UpdateTime, p.ScreenCode, s.Name, s.HouseNum }).Join(dbContext.ScreenInfo.Where(i => i.MallCode == model.MallCode), p => p.ScreenCode, s => s.Code, (p, s) => new { p.Code, p.AddTime, p.Info, p.PlacingNum, p.Status, p.UpdateTime, p.ScreenCode, p.Name, p.HouseNum, s.SName }).FirstOrDefaultAsync(); if (programOrder == null) { _Result.Code = "510"; _Result.Msg = "订单编码输入错误"; _Result.Data = ""; return(Json(_Result)); } var auditList = await dbContext.OrderAudit.Where(i => i.OrderCode == model.OrderCode).Join(dbContext.Account.Where(i => i.MallCode == model.MallCode && i.Activity), oa => oa.OperUser, mu => mu.Code, (oa, mu) => new { oa.AuditOpinion, oa.AuditOrder, oa.AuditStatus, oa.OperUser, UpdateTime = oa.UpdateTime.ToString("yyyy-MM-dd HH:mm"), mu.NickName, mu.AccountName }).OrderBy(i => i.AuditOrder).ToListAsync(); var noAuditList = await dbContext.AuditProcess.Where(i => i.ModuleType == 2 && i.Order > auditList.Count).Join(dbContext.Account.Where(i => i.MallCode == model.MallCode && i.Activity), ap => ap.OperUser, mu => mu.Code, (ap, mu) => new { AuditOpinion = "", AuditOrder = ap.Order, AuditStatus = 0, ap.OperUser, UpdateTime = "", mu.NickName, mu.AccountName }).OrderBy(i => i.AuditOrder).ToListAsync(); auditList.AddRange(noAuditList); var files = await dbContext.ProgramMaterial.Where(i => i.ProgramOrderCode == model.OrderCode).Join(dbContext.AssetFiles, p => p.FileCode, f => f.Code, (p, f) => new { p.PreviewFileCode, p.ProgramOrderCode, p.ProgType, p.UpdateTime, p.ID, f.FileName, //FilePath = Method.ServerAddr+"MallSite/" + f.FilePath, FilePath = Method.OSSServer + f.FilePath, p.IsSuspicious, f.FileSize, f.Height, f.Width }).OrderBy(i => i.ID).ToListAsync(); _Result.Code = "200"; _Result.Msg = "获取成功"; _Result.Data = new { CurAuditOrder = orderAudit, TreeAuditOrder = auditList, ProgramOrder = programOrder, ProgramMaterial = files }; return(Json(_Result)); }