Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }