Exemplo n.º 1
0
        public async Task<string> GetExamineReport_Master_Progress(GetExamineReport_MasterParam param)
        {

            Log.Write("Query GetExamineReport_Master_Progress");
            Log.WriteToFile();

            var db = new EnergyNetEntities();

            var predicate = PredicateBuilder.True<ExamineReport_Master>();
            predicate = predicate.And(x => x.YY == 2015);
            predicate = predicate.And(x => x.IsReject == false);

            if (param.CustId != null)
                predicate = predicate.And(x => x.CustID == param.CustId);

            if (param.CheckerId != null)
                predicate = predicate.And(x => x.CheckerId == param.CheckerId);

            if (param.AtuCheckerId != null)
                predicate = predicate.And(x => x.AtuCheckerId == param.AtuCheckerId);

            if (param.DeliverDate_Start != null)
                predicate = predicate.And(x => x.DeliverDate >= param.DeliverDate_Start);

            if (param.DeliverDate_End != null)
                predicate = predicate.And(x => x.DeliverDate <= param.DeliverDate_End);

            if (param.FixDate_Start != null)
                predicate = predicate.And(x => x.FixDate >= param.FixDate_Start);

            if (param.FixDate_End != null)
                predicate = predicate.And(x => x.FixDate <= param.FixDate_End);

            if (param.GreenCheckState != null)
                predicate = predicate.And(x => x.GreenCheckState == param.GreenCheckState);

            if (param.EconCheckState != null)
                predicate = predicate.And(x => x.EconCheckState == param.EconCheckState);


            var page_size = 10;

            int page_now = param.page == null ? 1 : (int)param.page;
            int skip_row = (page_size * (page_now - 1));

            var dnow = DateTime.Now;

            var items = db.ExamineReport_Master.AsExpandable()
                .Where(predicate)
                .OrderByDescending(x => DbFunctions.DiffDays(x.FixDate, DateTime.Now))
                .Select(x => new ExamineReport_Master_Progress()
                {
                    YY = x.YY,
                    CustID = x.CustID,
                    DeliverDate = x.DeliverDate,
                    FixDate = x.FixDate,
                    GreenCheckState = x.GreenCheckState,
                    EconCheckState = x.EconCheckState,
                    CheckerId = x.CheckerId,
                    CheckerName = x.Tb_Login_CheckerId.LoginName,
                    CheckDate = x.CheckDate,
                    CheckCount = x.CheckCount,
                    InitPassDate = x.InitPassDate,
                    EconPassDate = x.EconPassDate,
                    CustName = x.BuileBase.CustName,
                    AtuName = x.Tb_Login_AtuCheckerId.LoginName,
                    diffDeliverDays = DbFunctions.DiffDays(x.DeliverDate, DateTime.Now),
                    diffFixDays = DbFunctions.DiffDays(x.FixDate, DateTime.Now),
                    diffCheckDays = DbFunctions.DiffDays(x.CheckDate, DateTime.Now)
                });

            var row_count = await items.CountAsync();
            int page_total = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(row_count) / page_size));

            if (page_total == 0) page_total = 1;

            var result = await items.Skip(skip_row).Take(page_size).ToListAsync();

            //foreach (var rlt in result)
            //{
            //    if (rlt.FixDate != null && (rlt.GreenCheckState == "C" || rlt.GreenCheckState == "D"))
            //    {//已經修正 但還沒審
            //        rlt.diffFixDays = (DateTime.Now - (DateTime)rlt.FixDate).Days;
            //    }
            //    if (rlt.CheckDate != null && rlt.GreenCheckState == "B")
            //    {//已經審過 但未通過 仍未補正
            //        rlt.diffCheckDays = (DateTime.Now - (DateTime)rlt.CheckDate).Days;
            //    }
            //}

            var r = new GridExamineReport_Master();
            r.items = result;
            r.page = page_now;
            r.page_total = page_total;
            r.rows_count = row_count;

            return defJSONNull(r);
        }
Exemplo n.º 2
0
        public async Task<string> GetExamineReport_Master(GetExamineReport_MasterParam param)
        {
            Log.Write("Query GetExamineReport_Master");

            Log.WriteToFile();
            var db = new EnergyNetEntities();

            var predicate = PredicateBuilder.True<ExamineReport_Master>();
            predicate = predicate.And(x => x.YY == 2015);
            predicate = predicate.And(x => x.IsReject == false);

            if (param.CustId != null)
                predicate = predicate.And(x => x.CustID == param.CustId);

            if (param.CheckerId != null)
                predicate = predicate.And(x => x.CheckerId == param.CheckerId);

            if (param.AtuCheckerId != null)
                predicate = predicate.And(x => x.AtuCheckerId == param.AtuCheckerId);

            if (param.DeliverDate_Start != null)
                predicate = predicate.And(x => x.DeliverDate >= param.DeliverDate_Start);

            if (param.DeliverDate_End != null)
                predicate = predicate.And(x => x.DeliverDate <= param.DeliverDate_End);

            if (param.FixDate_Start != null)
                predicate = predicate.And(x => x.FixDate >= param.FixDate_Start);

            if (param.FixDate_End != null)
                predicate = predicate.And(x => x.FixDate <= param.FixDate_End);

            if (param.GreenCheckState != null)
                predicate = predicate.And(x => x.GreenCheckState == param.GreenCheckState);

            if (param.EconCheckState != null)
                predicate = predicate.And(x => x.EconCheckState == param.EconCheckState);


            var page_size = 10;

            int page_now = param.page == null ? 1 : (int)param.page;
            int skip_row = (page_size * (page_now - 1));
            Log.Write(new string[] { "skip_row", skip_row.ToString() });
            Log.WriteToFile();

            var items = db.ExamineReport_Master.AsExpandable()
                .Where(predicate)
                .OrderByDescending(x => x.DeliverDate)
                .Select(x => new
                {
                    x.YY,
                    x.CustID,
                    x.DeliverDate,
                    x.FixDate,
                    x.GreenCheckState,
                    x.EconCheckState,
                    x.CheckerId,
                    CheckerName = x.Tb_Login_CheckerId.LoginName,
                    x.CheckDate,
                    x.CheckCount,
                    x.InitPassDate,
                    x.EconPassDate,
                    x.IsReject,
                    x.AtuCheckerId,
                    CustName = x.BuileBase.CustName,
                    AtuName = x.Tb_Login_AtuCheckerId.LoginName
                });

            var row_count = await items.CountAsync();
            int page_total = Convert.ToInt32(Math.Ceiling(Convert.ToDouble(row_count) / page_size));

            if (page_total == 0) page_total = 1;

            var result = await items.Skip(skip_row).Take(page_size).ToListAsync();

            var r = new GridExamineReport_Master();
            r.items = result;
            r.page = page_now;
            r.page_total = page_total;
            r.rows_count = row_count;

            return defJSONNull(r);
        }