Пример #1
0
        /// <summary>
        /// 月度的分解指标
        /// </summary>
        /// <param name="approval"></param>
        /// <returns></returns>
        protected Groups InitMonthRpt(string BusinessID)
        {
            // 这里需要存储过程 来做
            var PlanList = B_TargetplandetailOperator.Instance.GetTargetPlanDetailByMobile(BusinessID.ToGuid());

            //去拿指标
            var TargetList = StaticResource.Instance.GetTargetList(PlanList[0].SystemID, DateTime.Now);

            //表头
            Groups groupMonthResult = new Groups();

            groupMonthResult.type     = ConstantWS.flowData_group_haveHeader;
            groupMonthResult.subTitle = "指标分解(单位:万元)";
            if (TargetList != null && TargetList.Count > 0)
            {
                List <Titles> titles = new List <Titles>();
                Titles        t1     = new Titles()
                {
                    content = "月份"
                };
                titles.Add(t1);

                TargetList.ForEach(T =>
                {
                    titles.Add(new Titles()
                    {
                        content = T.TargetName
                    });
                });

                groupMonthResult.titles = titles;
            }

            if (PlanList != null && PlanList.Count > 0)
            {
                List <Rows> ltResultRows = new List <Rows>();

                for (int i = 1; i < 14; i++)
                {
                    if (i == 13) //如果是13,代表的是汇总全年的数据
                    {
                        Rows rsResult = new Rows();
                        rsResult.cells = new List <Cells>();
                        //月份
                        rsResult.cells.Add(new Cells()
                        {
                            content = "全年", td_style = "text-align:center"
                        });

                        //列值
                        TargetList.ForEach(T =>
                        {
                            var SumTarget = PlanList.Where(p => p.TargetID == T.ID).Sum(S => S.Target);
                            rsResult.cells.Add(new Cells()
                            {
                                content = String.Format("{0:N0}", SumTarget), td_style = "text-align:center"
                            });
                        });

                        ltResultRows.Add(rsResult);
                    }
                    else
                    { //展示每个月的数据
                        var  MList    = PlanList.Where(p => p.FinMonth == i).ToList();
                        Rows rsResult = new Rows();
                        rsResult.cells = new List <Cells>();

                        //月份
                        rsResult.cells.Add(new Cells()
                        {
                            content = i.ToString() + "月", td_style = "text-align:center"
                        });
                        //列值
                        TargetList.ForEach(T =>
                        {
                            var MP = MList.Where(M => M.TargetID == T.ID).FirstOrDefault();
                            rsResult.cells.Add(new Cells()
                            {
                                content = String.Format("{0:N0}", MP.Target), td_style = "text-align:center"
                            });
                        });

                        ltResultRows.Add(rsResult);
                    }
                }

                groupMonthResult.rows = ltResultRows;
            }
            return(groupMonthResult);
        }
Пример #2
0
        /// <summary>
        /// 集团分解指标
        /// </summary>
        /// <param name="BusinessID"></param>
        /// <returns></returns>
        protected Groups InitMonthRpt_Group(string BusinessID)
        {
            //表头
            Groups groupMonthResult = new Groups()
            {
                type     = ConstantWS.flowData_group_haveHeader,
                subTitle = "指标分解",
                titles   = new List <Titles>()
                {
                    new Titles()
                    {
                        content = "项目"
                    }
                    , new Titles()
                    {
                        content = "全年预算"
                    }
                }
            };

            // 分解指标明细
            var PlanList = B_TargetplandetailOperator.Instance.GetTargetplandetailList(BusinessID.ToGuid());
            //去拿指标
            var TargetList = StaticResource.Instance.GetTargetList(PlanList[0].SystemID, DateTime.Now).Where(T => T.HaveDetail == false).OrderBy(S => S.Sequence).ToList();


            decimal YearSum = 0;

            if (TargetList != null && TargetList.Count > 0)
            {
                List <Rows> ltResultRows = new List <Rows>();

                TargetList.ForEach(T =>
                {
                    // 指标预算
                    var Tp = PlanList.Where(P => P.TargetID == T.ID).FirstOrDefault();

                    Rows rsResult  = new Rows();
                    rsResult.cells = new List <Cells>();
                    //月份
                    rsResult.cells.Add(new Cells()
                    {
                        content = T.TargetName, td_style = "text-align:center"
                    });
                    rsResult.cells.Add(new Cells()
                    {
                        content = String.Format("{0:N0}", Tp.Target), td_style = "text-align:center"
                    });

                    ltResultRows.Add(rsResult);

                    YearSum = YearSum + Tp.Target;
                });


                //合计
                Rows rsResult_Sum = new Rows();
                rsResult_Sum.cells = new List <Cells>();
                //月份
                rsResult_Sum.cells.Add(new Cells()
                {
                    content = "合计", td_style = "text-align:center"
                });
                rsResult_Sum.cells.Add(new Cells()
                {
                    content = String.Format("{0:N0}", YearSum), td_style = "text-align:center"
                });

                ltResultRows.Add(rsResult_Sum);

                groupMonthResult.rows = ltResultRows;
            }

            return(groupMonthResult);
        }
Пример #3
0
        /// <summary>
        /// 添加年累计
        /// </summary>
        /// <param name="approval"></param>
        /// <returns></returns>
        protected Groups InitYearRpt(B_BusinessBase approval)
        {
            var VModel = JsonConvert.DeserializeObject <List <DictionaryVmodel> >(approval.FormData);

            List <MonthReportSummaryViewModel> lstResult = JsonConvert.DeserializeObject <List <MonthReportSummaryViewModel> >(VModel[1].ObjValue.ToString());

            Groups groupYearResult = new Groups()
            {
                type     = ConstantWS.flowData_group_haveHeader,
                subTitle = "月度经营报告(累计)",
                titles   = new List <Titles>()
                {
                    new Titles()
                    {
                        content = "项目"
                    }
                    , new Titles()
                    {
                        content = "累计计划<br>(万元)"
                    }
                    , new Titles()
                    {
                        content = "累计实际<br>(万元)"
                    }
                    , new Titles()
                    {
                        content = "完成率"
                    }
                }
            };

            List <Rows> ltYearResultRows = new List <Rows>();
            Rows        rsYearResult;

            foreach (var model in lstResult)
            {
                rsYearResult       = new Rows();
                rsYearResult.cells = new List <Cells>();

                if (model.TargetID.ToString().ToUpper() == AppSettingConfig.GetSetting("MonthSGRent", "").ToUpper())
                {
                    //这里 对商管的租金收缴率,做下特殊处理
                    rsYearResult.cells.Add(new Cells()
                    {
                        content = model.TargetName, td_style = "text-align:center"
                    });
                    rsYearResult.cells.Add(new Cells()
                    {
                        content = model.NAccumulativePlanStr, td_style = "text-align:center"
                    });
                    rsYearResult.cells.Add(new Cells()
                    {
                        content = model.NAccumulativeActualStr, td_style = "text-align:center"
                    });
                    rsYearResult.cells.Add(new Cells()
                    {
                        content = model.NAccumulativeActualRate, td_style = "text-align:center"
                    });
                }
                else
                {
                    rsYearResult.cells.Add(new Cells()
                    {
                        content = model.TargetName, td_style = "text-align:center"
                    });
                    rsYearResult.cells.Add(new Cells()
                    {
                        content = String.Format("{0:N0}", model.NAccumulativePlanAmmount), td_style = "text-align:center"
                    });
                    rsYearResult.cells.Add(new Cells()
                    {
                        content = String.Format("{0:N0}", model.NAccumulativeActualAmmount), td_style = "text-align:center"
                    });
                    rsYearResult.cells.Add(new Cells()
                    {
                        content = model.NAccumulativeActualRate, td_style = "text-align:center"
                    });
                }


                ltYearResultRows.Add(rsYearResult);
            }
            groupYearResult.rows = ltYearResultRows;

            return(groupYearResult);
        }