Beispiel #1
0
        /// <summary>
        /// 取预算表
        /// </summary>
        /// <param name="m_DataTable"></param>
        /// <returns></returns>
        private BLL.CostBudgetDynamic GetDyn(string CostBudgetSetCode, string GroupCode)
        {
            try
            {
                BLL.CostBudgetDynamic dyn = null;

                BLL.CostBudgetGroupDynamic dynGroup = GetGroupDyn(GroupCode);
                if (dynGroup != null)
                {
                    foreach (BLL.CostBudgetDynamic dynTemp in dynGroup.arrDyn)
                    {
                        if (dynTemp.CostBudgetSetCode == CostBudgetSetCode) //该预算设置表
                        {
                            dyn = dynTemp;
                            break;
                        }
                    }
                }

                return(dyn);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #2
0
        /// <summary>
        /// 生成动态费用明细
        /// </summary>
        private void LoadDataGrid(bool IsScreenToTable)
        {
            try
            {
                BLL.CostBudgetDynamic dyn = this.GenerateDynamic();
                ViewState["StartY"] = dyn.StartY;
                ViewState["EndY"]   = dyn.EndY;

                /*
                 * string html_title_target_money1 = "";
                 * string html_title_target_money2 = "";
                 * BLL.CostBudgetPageRule.GenerateCostBudgetMoneyTitleHtml(dyn.tb, "BudgetMoney", "已批预算", "当前", ref html_title_target_money1, ref html_title_target_money2, false);
                 *
                 * ViewState["html_title_target_money1"] = html_title_target_money1;
                 * ViewState["html_title_target_money2"] = html_title_target_money2;
                 */

                //预算计划按年度展开
                string html_title1 = "";
                string html_title2 = "";
                BLL.CostBudgetPageRule.GenerateCostBudgetPlanTitleHtml(dyn.tb, dyn.iStartY, dyn.iEndY, ref html_title1, ref html_title2);

                ViewState["html_title1"] = html_title1;
                ViewState["html_title2"] = html_title2;

                //暂存明细表
                m_dyn = dyn;

                BindDataGrid(dyn, IsScreenToTable);

                if (this.txtCostBudgetBackupCode.Value != "")
                {
                    m_dyn = null;
                }
            }
            catch (Exception ex)
            {
                ApplicationLog.WriteLog(this.ToString(), ex, "");
                Response.Write(Rms.Web.JavaScript.Alert(true, "显示动态费用明细出错:" + ex.Message));
            }
        }
Beispiel #3
0
        private void LoadData()
        {
            try
            {
                if (this.txtCostBudgetBackupCode.Value != "")
                {
                    //取备份表
                    EntityData entityBackup = DAL.EntityDAO.CostBudgetDAO.GetV_CostBudgetBackupByCode(this.txtCostBudgetBackupCode.Value);
                    if (!entityBackup.HasRecord())
                    {
                        Response.Write(Rms.Web.JavaScript.Alert(true, "项目费用备份表不存在"));
                        Response.Write(Rms.Web.JavaScript.WinClose(true));
                        return;
                    }

                    //取备份的预算设置表
                    EntityData entitySet = DAL.EntityDAO.CostBudgetDAO.GetCostBudgetBackupSetByBackupCode(this.txtCostBudgetBackupCode.Value, this.txtCostBudgetSetCode.Value, true);
                    if (!entitySet.HasRecord())
                    {
                        Response.Write(Rms.Web.JavaScript.Alert(true, "备份中不含该预算表"));
                        Response.Write(Rms.Web.JavaScript.WinClose(true));
                        return;
                    }

                    this.txtCostBudgetBackupSetCode.Value = entitySet.GetString("CostBudgetBackupSetCode");

                    entitySet.Dispose();
                    entityBackup.Dispose();
                }

                BLL.CostBudgetDynamic dyn = GenerateDynamic();
                Session[SessionEntityID] = dyn;

                BindDataGrid(dyn, false);
            }
            catch (Exception ex)
            {
                ApplicationLog.WriteLog(this.ToString(), ex, "");
                Response.Write(Rms.Web.JavaScript.Alert(true, "显示预算表出错:" + ex.Message));
            }
        }
Beispiel #4
0
        /// <summary>
        /// 绑定动态费用明细
        /// </summary>
        private void BindDataGrid(BLL.CostBudgetDynamic dyn, bool IsScreenToTable)
        {
            try
            {
                DataTable tbDtl = dyn.tbHtml;

                //已批预算的审核日期
                this.lblTargetCheckDate.Text = dyn.GetTargetCheckDate();
                string VerID = dyn.GetTargetVerID();
                this.txtHasTargetHis.Value = (BLL.ConvertRule.ToDecimal(VerID) > 0)?"1":"";

                if (VerID != "")
                {
                    VerID = "版本" + VerID;
                }

                //版本号链接
                this.spanTargetVerID.InnerText = "";
                this.hrefTargetVerID.InnerText = "";
                if (this.txtHasTargetHis.Value == "1")                  //有历史版本
                {
                    this.hrefTargetVerID.InnerText = VerID;
                }
                else
                {
                    this.spanTargetVerID.InnerText = VerID;
                }

                //历史目标费用
                string TargetHisHead1 = "";
                string TargetHisHead2 = "";
                dyn.GenerateTargetHisHead(ref TargetHisHead1, ref TargetHisHead2);

                ViewState["TargetHisHead1"] = TargetHisHead1;
                ViewState["TargetHisHead2"] = TargetHisHead2;

                ViewState["HasTargetChange"] = dyn.HasTargetChange;
                if (dyn.HasTargetChange)
                {
                    this.spanListTitleTargetMoneyDesc.InnerText    = dyn.TargetChangeDesc;
                    this.spanListTitleTargetMoney.Style["display"] = "";
                }
                else
                {
                    this.spanListTitleTargetMoneyDesc.InnerText    = "";
                    this.spanListTitleTargetMoney.Style["display"] = "none";
                }

                if (IsScreenToTable)
                {
                    //屏幕数据保存到临时表
                    tbDtl = ScreenToTable(false);
                }
                else
                {
                    //折叠全部费用项
                    BLL.CostBudgetPageRule.CollapseAll(tbDtl);

                    if (dyn.NeedApport)                     //有分摊时,多了一级总计
                    {
                        BLL.CostBudgetPageRule.ExpandDeep(tbDtl, 3);
                    }
                    else
                    {
                        BLL.CostBudgetPageRule.ExpandDeep(tbDtl, 2);
                    }
                }

                this.dgList.DataSource = tbDtl;
                this.dgList.DataBind();

                /*
                 * string[] arrField = {"ItemMoney", "OldItemMoney", "TotalPayoutMoney", "RemainItemMoney"};
                 * decimal[] arrSum = BLL.MathRule.SumColumn(tb, arrField);
                 * this.dgList.Columns[2].FooterText = arrSum[0].ToString("N");
                 * this.dgList.Columns[3].FooterText = arrSum[1].ToString("N");
                 * this.dgList.Columns[6].FooterText = arrSum[2].ToString("N");
                 * this.dgList.Columns[7].FooterText = arrSum[3].ToString("N");
                 *
                 * this.dgList.DataSource = tb;
                 * this.dgList.DataBind();
                 */
            }
            catch (Exception ex)
            {
                ApplicationLog.WriteLog(this.ToString(), ex, "");
                Response.Write(Rms.Web.JavaScript.Alert(true, "绑定动态费用明细出错:" + ex.Message));
            }
        }
Beispiel #5
0
        /// <summary>
        /// 导出Excel
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Excel(bool CloseWindow)
        {
            try
            {
                BLL.CostBudgetDynamic dyn = m_dyn;
                if (dyn == null)
                {
                    dyn = GenerateDynamic();
                }

                TExcel excel = new TExcel(Response, Request, Server, Session);
                try
                {
                    excel.StartRow      = 10;
                    excel.ColumnHeadRow = 9;

                    //取1级费用项
                    DataView dv;
                    if (dyn.NeedApport)                     //有分摊时,多了一级总计
                    {
                        dv = new DataView(dyn.tb, "Deep=3", "SortID", DataViewRowState.CurrentRows);
                    }
                    else
                    {
                        dv = new DataView(dyn.tb, "Deep=2", "SortID", DataViewRowState.CurrentRows);
                    }

                    excel.DataSource = dv;

                    //新建工作簿
                    excel.TemplateFileName = "项目费用表.xls";
//					excel.TemplateSheetName = "汇总";
                    excel.TemplateSheetName = "";
                    excel.AddWorkbook();

                    //新建若干“分项”页
                    for (int k = 2; k <= dv.Count; k++)
                    {
                        ((Excel.Worksheet)excel.Book.Worksheets[2]).Copy(TExcel.m_Opt, excel.Book.Worksheets[2]);
                    }

                    //转到汇总页
                    excel.Sheet = (Excel.Worksheet)excel.Book.Worksheets[1];

                    //表头信息
                    excel.SetCellValue(1, 1, BLL.ProjectRule.GetProjectName(dyn.ProjectCode));

                    //报表日期
                    if (this.txtCostBudgetBackupCode.Value != "")                     //备份
                    {
                        excel.SetCellValue(1, 3, dyn.entityBackup.GetDateTime("BackupDate", "yyyy-MM-dd HH:mm:ss"));
                    }
                    else
                    {
                        excel.SetCellValue(1, 3, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    }

                    excel.SetCellValue(1, 5, dyn.GetTargetCheckDate());
                    excel.SetCellValue(1, 6, dyn.entitySet.GetDecimal("HouseCount"));
                    excel.SetCellValue(1, 7, dyn.entitySet.GetDecimal("BuildingArea"));
                    excel.SetCellValue(1, 8, dyn.entitySet.GetDecimal("HouseArea"));

                    excel.DataSource = dv;
                    excel.DataToSheet();

                    //按第2级费用项分组
                    excel.StartRow      = 11;
                    excel.ColumnHeadRow = 9;

                    /*
                     * //2级费用项临时表头
                     * DataTable tbLevel2 = dyn.entitySet.CurrentTable.Copy();
                     * BLL.ConvertRule.DataTableAddColumn(dyn.tb, tbLevel2);
                     */

                    //3级费用项临时表(包括合同明细)
                    DataTable tbDtl = dyn.tb.Clone();
                    tbDtl.Columns.Add("ReportDtlSno", typeof(int));

                    DataColumn[] pk = new DataColumn[1];
                    pk[0]            = tbDtl.Columns["ReportDtlSno"];
                    tbDtl.PrimaryKey = pk;

                    DataRow drNew;

                    int i = 0;
                    foreach (DataRowView drv in dv)
                    {
                        i++;

//						BLL.ConvertRule.DataRowCopy(drv.Row, tbLevel2.Rows[0], dyn.tb, tbLevel2);

                        string ParentCostCode = BLL.ConvertRule.ToString(drv["CostCode"]);
                        string ParentCostName = BLL.ConvertRule.ToString(drv["CostName"]);

                        //取第2级费用项的子项
                        DataView dv2 = new DataView(dyn.tb, "ParentCode='" + ParentCostCode + "'", "SortID", DataViewRowState.CurrentRows);

                        //复制到临时表
                        tbDtl.Rows.Clear();
                        int ReportDtlSno = 0;

                        foreach (DataRowView drv2 in dv2)
                        {
                            DataRow dr2      = drv2.Row;
                            string  CostCode = BLL.ConvertRule.ToString(dr2["CostCode"]);

                            //3级费用项
                            drNew = tbDtl.NewRow();
                            BLL.ConvertRule.DataRowCopy(dr2, drNew, dyn.tb, tbDtl);

                            ReportDtlSno++;
                            drNew["ReportDtlSno"] = ReportDtlSno;

                            tbDtl.Rows.Add(drNew);

                            //3级费用项的合同明细
                            DataRow[] drsContract = dyn.tbContract.Select("CostCode = '" + CostCode + "'", "ContractID, ContractName", DataViewRowState.CurrentRows);
                            AddContract(tbDtl, drNew, drsContract, ref ReportDtlSno);

                            //3级费用项的预留金额
                            DataRow[] drsNoContract = dyn.tbNoContract.Select("CostCode = '" + CostCode + "'");
                            AddNoContract(tbDtl, drNew, drsContract, drsNoContract, ref ReportDtlSno);
                        }

                        //合计行
                        drNew = tbDtl.NewRow();
                        BLL.ConvertRule.DataRowCopy(drv.Row, drNew, dyn.tb, tbDtl);

                        ReportDtlSno++;
                        drNew["ReportDtlSno"] = ReportDtlSno;
                        drNew["CostName"]     = "合计";

                        tbDtl.Rows.Add(drNew);

                        /*
                         * //第2个2级费用项开始,每次都要新建工作页
                         * if (i > 1)
                         * {
                         *      excel.TemplateSheetName = "分项";
                         *      excel.AddWorksheet(i, true);
                         * }
                         */

                        //转到分项页
                        excel.Sheet = (Excel.Worksheet)excel.Book.Worksheets[i + 1];

                        //一个2级费用项打印一页
                        excel.Sheet.Name = ParentCostName.Replace("/", "");
                        excel.DataToSheetSingle(drv.Row);

                        //2级费用项表头信息
//						excel.SetCellValue(1, 1, drv["CostName"]);

                        DataView dvDtl = new DataView(tbDtl, "", "ReportDtlSno", DataViewRowState.CurrentRows);
                        excel.DataSource = dvDtl;
                        excel.DataToSheet();

                        /*
                         * //合同明细只有一条时,隐藏合同明细
                         * int colIsHide = 15;
                         * for(int k=0;k<dv2.Count;k++)
                         * {
                         *      int row = excel.StartRow + k;
                         *      string IsHide =  TExcel.GetCellValue(excel.Sheet, row, colIsHide);
                         *      if (IsHide == "1")
                         *      {
                         *              ((Excel.Range)excel.Sheet.Cells[row, 1]).EntireRow.Hidden = true;
                         *      }
                         * }
                         *
                         * //隐藏列IsHide
                         * ((Excel.Range)excel.Sheet.Cells[1, colIsHide]).EntireColumn.Hidden = true;
                         */
                    }

                    //缺省选中第1页
                    ((Excel.Worksheet)excel.Book.Worksheets[1]).Select(TExcel.m_Opt);

                    //保存
                    excel.SaveWorkbook();
                    excel.ShowClient();
                }
                finally
                {
                    excel.Dispose();
                }

                if (CloseWindow)
                {
                    Response.Write(Rms.Web.JavaScript.WinClose(true));
                }
            }
            catch (Exception ex)
            {
                ApplicationLog.WriteLog(this.ToString(), ex, "");
                Response.Write(Rms.Web.JavaScript.Alert(true, "导出Excel出错:" + ex.Message));
            }
        }
Beispiel #6
0
        protected void Page_Load(object sender, System.EventArgs e)
        {
            DataTable tbDst = null;

            try
            {
                m_ProjectCode             = Request["ProjectCode"] + "";
                m_CostBudgetSetCode       = Request["CostBudgetSetCode"] + "";
                m_CostBudgetBackupSetCode = Request["CostBudgetBackupSetCode"] + "";
                m_Layer = BLL.ConvertRule.ToInt(Request["Layer"]);

                m_strGetType = Request.QueryString["GetType"] + "";                                     //数据分类
                string   m_strNodeId        = Request.QueryString["NodeId"] + "";                       //父节点编号
                string[] m_Layers           = (Request.QueryString["Layers"] + "").Split('.');          //定点展开的序列
                string   m_strSelectedLayer = Request.QueryString["SelectedLayer"] + "";                //定层展开的深度

                tbDst = new DataTable("CostBudgetInfo");

                tbDst.Columns.Add("CostBudgetDtlCode");
                tbDst.Columns.Add("ParentCode");
                tbDst.Columns.Add("CostCode");
                tbDst.Columns.Add("SortID");
                tbDst.Columns.Add("CostName");
                tbDst.Columns.Add("Deep");
                tbDst.Columns.Add("ChildNodesCount");

                tbDst.Columns.Add("ClassTd");

                tbDst.Columns.Add("ContractCode");

                tbDst.Columns.Add("ContractIDHtml");
                tbDst.Columns.Add("ContractNameHtml");
                tbDst.Columns.Add("SupplierNameHtml");
                tbDst.Columns.Add("DescriptionHtml");

                tbDst.Columns.Add("Layer");
                tbDst.Columns.Add("ShowChildNodes");

                tbDst.Columns.Add("ShowSpan");
                tbDst.Columns.Add("ShowHref");

                //金额字段
                foreach (string MoneyField in this.m_arrMoneyField)
                {
                    tbDst.Columns.Add(MoneyField);

                    //金额提示
                    tbDst.Columns.Add("Title" + MoneyField);
                }

                //金额链接
                tbDst.Columns.Add("HtmlContractPay1");
                tbDst.Columns.Add("HtmlContractPayReal");

                BLL.CostBudgetDynamic dyn = GetDynamic();

                DataTable tbSrc = dyn.tbHtml;

                string filter = "";
                if (m_strGetType == "")
                {
                    #region 取第一层

                    filter = "Deep=1";

//					DateTime t2 = DateTime.Now;
//					TimeSpan t = t2.Subtract(t1);
//					ApplicationLog.WriteLog(this.ToString(),"时间:" + t.Duration().ToString());

                    #endregion
                }
                else if (m_strGetType == "ChildNodes")
                {
                    #region 取某节点子目录

                    filter = "ParentCode='" + m_strNodeId + "'";

                    #endregion
                }

                DataView dvSrc = new DataView(tbSrc, filter, "", DataViewRowState.CurrentRows);
                foreach (DataRowView drvSrc in dvSrc)
                {
                    DataRow drSrc = drvSrc.Row;

                    DataRow drDst = tbDst.NewRow();
                    FillRow(drSrc, drDst, tbSrc, tbDst);
                    tbDst.Rows.Add(drDst);
                }

//                ApplicationLog.SetLogPath("D:\\项目管理20\\ShimaoPM20\\Log\\");
                //                ApplicationLog.WriteLog(this.ToString(), BLL.XmlTree.GetDataToXmlString(tbDst));

                Response.Write(BLL.XmlTree.GetDataToXmlString(tbDst));
//                Response.Write(RmsPM.WebControls.TreeView.XmlTree.GetDataToXmlString(tbDst));
            }
            catch (Exception ex)
            {
                ApplicationLog.SetLogPath("D:\\项目管理20\\ShimaoPM20\\Log\\");
                //                ApplicationLog.WriteLog(this.ToString(), BLL.XmlTree.GetDataToXmlString(tbDst));
                ApplicationLog.WriteLog(this.ToString(), ex, "");
            }

            Response.End();
        }
Beispiel #7
0
        /// <summary>
        /// 填预算表行
        /// </summary>
        /// <param name="m_NewRow"></param>
        /// <param name="m_Row"></param>
        /// <param name="m_DataTable"></param>
        private void FillRow(DataRow m_NewRow, DataRow m_Row, DataTable m_DataTable)
        {
            FillColumn(m_NewRow, m_Row, m_DataTable);

            BLL.CostBudgetDynamic dyn = null;

            dyn = GetDyn(BLL.ConvertRule.ToString(m_Row["CostBudgetSetCode"]), BLL.ConvertRule.ToString(m_Row["GroupCode"]));

            /*
             *          //计算总金额
             *          if (Session["CostBudgetTreeGroupDyn"] != null)
             *          {
             *                  //直接取Session
             *                  BLL.CostBudgetGroupDynamic[] arrGroup = (BLL.CostBudgetGroupDynamic[])Session["CostBudgetTreeGroupDyn"];
             *                  foreach(BLL.CostBudgetGroupDynamic dynGroup in arrGroup)
             *                  {
             *                          if (dynGroup.GroupCode == BLL.ConvertRule.ToString(m_Row["GroupCode"]))  //该预算类别
             *                          {
             *                                  foreach(BLL.CostBudgetDynamic dynTemp in dynGroup.arrDyn)
             *                                  {
             *                                          if (dynTemp.CostBudgetSetCode == BLL.ConvertRule.ToString(m_Row["CostBudgetSetCode"])) //该预算设置表
             *                                          {
             *                                                  dyn = dynTemp;
             *                                                  break;
             *                                          }
             *                                  }
             *
             *                                  break;
             *                          }
             *                  }
             *          }
             *          else
             *          {
             *                  //即时
             *                  dyn = new BLL.CostBudgetDynamic(m_ProjectCode, BLL.ConvertRule.ToString(m_NewRow["CostBudgetCode"]), BLL.ConvertRule.ToString(m_NewRow["CostBudgetSetCode"]));
             *
             *                  dyn.ShowApportion = false;
             *                  dyn.ShowContractBudget = false;
             *                  dyn.ShowTargetChange = false;
             *
             *                  //只显示第1级费用项
             *                  dyn.MaxCBSDeep = 1;
             *
             *                  dyn.AutoRefreshHtml = false;
             *
             *                  dyn.Generate();
             *          }
             */

            if (dyn != null)
            {
                if (dyn.tb.Rows.Count > 0)
                {
                    DataRow drFirst = BLL.CostBudgetDynamic.GetR0(dyn.tb);
                    FillMoneyField(m_NewRow, drFirst);
                }
            }

            m_NewRow["Layer"]           = m_Layer;
            m_NewRow["ChildNodesCount"] = "0";//BLL.ConvertRule.ToInt(m_Row["ChildCount"]);
            m_NewRow["ShowChildNodes"]  = "0";

            m_NewRow["ShowSpan"] = "none";
            m_NewRow["ShowHref"] = "";

            m_NewRow["IconDisplay"] = "none";

            FillAttributesField(m_NewRow);
        }
Beispiel #8
0
        private void LoadGrid()
        {
            try
            {
                DataTable tbList = new DataTable();
                tbList.Columns.Add("ProjectCode");
                tbList.Columns.Add("ProjectName");
                tbList.Columns.Add("ProjectArea", typeof(decimal));
                tbList.Columns.Add("SortID", typeof(int));

                //金额字段
                foreach (string MoneyField in arrMoneyField)
                {
                    tbList.Columns.Add(MoneyField);
                }

                EntityData entityProject = DAL.EntityDAO.ProjectDAO.GetAllProject();
                foreach (DataRow drProject in entityProject.CurrentTable.Rows)
                {
                    string  ProjectCode = drProject["ProjectCode"].ToString();
                    DataRow drList      = tbList.NewRow();
                    drList["ProjectCode"] = drProject["ProjectCode"];
                    drList["ProjectName"] = drProject["ProjectName"];
                    drList["SortID"]      = 0;
                    tbList.Rows.Add(drList);

                    //取项目面积
                    decimal ProjectArea = BLL.CostBudgetRule.GetCostBudgetProjectArea(ProjectCode);
                    drList["ProjectArea"] = ProjectArea;

                    //取预算表
                    CostBudgetStrategyBuilder sb = new CostBudgetStrategyBuilder();
                    sb.AddStrategy(new Strategy(CostBudgetStrategyName.ProjectCode, ProjectCode));

                    //仅预算(不要显示估算)
                    sb.AddStrategy(new Strategy(CostBudgetStrategyName.SetType, BLL.CostBudgetRule.m_BaseSetType));

                    string sql = sb.BuildQueryViewCostDynamicListString();

                    QueryAgent qa = new QueryAgent();
                    try
                    {
                        DataTable tbCostBudget = qa.ExecSqlForDataSet(sql).Tables[0];
                        foreach (DataRow drCostBudget in tbCostBudget.Rows)
                        {
                            string CostBudgetSetCode = drCostBudget["CostBudgetSetCode"].ToString();

                            BLL.CostBudgetDynamic dyn = new BLL.CostBudgetDynamic(ProjectCode, CostBudgetSetCode);

                            dyn.ShowApportion      = false;
                            dyn.ShowContractBudget = false;
                            dyn.ShowTargetChange   = false;

                            //只显示第1级费用项
                            dyn.MaxCBSDeep = 1;

                            dyn.AutoRefreshHtml = false;

                            try
                            {
                                dyn.Generate();
                            }
                            catch (Exception ex)
                            {
                                continue;
                            }

                            DataRow drR0 = BLL.CostBudgetDynamic.GetR0(dyn.tb);
                            if (drR0 != null)
                            {
                                foreach (string MoneyField in arrMoneyField)
                                {
                                    drList[MoneyField] = BLL.ConvertRule.ToDecimal(drList[MoneyField]) + BLL.ConvertRule.ToDecimal(drR0[MoneyField]);
                                }
                            }
                        }
                    }
                    finally
                    {
                        qa.Dispose();
                    }

                    CalcPercent(drList);
                }
                entityProject.Dispose();

                //合计
                decimal   SumProjectArea = BLL.MathRule.SumColumn(tbList, "ProjectArea");
                decimal[] arrSum         = BLL.MathRule.SumColumn(tbList, arrMoneyField);
                DataRow   drSum          = tbList.NewRow();
                drSum["ProjectName"] = "   合计";
                drSum["SortID"]      = 99;
                drSum["ProjectArea"] = SumProjectArea;
                tbList.Rows.Add(drSum);
                int i = -1;
                foreach (string MoneyField in arrMoneyField)
                {
                    i++;
                    drSum[MoneyField] = arrSum[i];
                }
                CalcPercent(drSum);
//                ViewState["drSum"] = drSum;

//                ViewState["arrSum"] = arrSum;

                DataView dvList = new DataView(tbList, "", "SortID, ProjectName", DataViewRowState.CurrentRows);
                this.dgList.DataSource = dvList;
                this.dgList.DataBind();
            }
            catch (Exception ex)
            {
                ApplicationLog.WriteLog(this.ToString(), ex, "");
                Response.Write(Rms.Web.JavaScript.Alert(true, "显示报表出错:" + ex.Message));
            }
        }
Beispiel #9
0
        /// <summary>
        /// 绑定动态费用明细
        /// </summary>
        private void BindDataGrid(BLL.CostBudgetDynamic dyn, bool IsScreenToTable)
        {
            try
            {
                DataTable tbDtl = dyn.tbHtml;

                //已批预算的审核日期
                this.lblTargetCheckDate.Text = dyn.GetTargetCheckDate();
                string VerID = dyn.GetTargetVerID();
                this.txtHasTargetHis.Value = (BLL.ConvertRule.ToDecimal(VerID) > 0) ? "1" : "";

                if (VerID != "")
                {
                    VerID = "版本" + VerID;
                }

                //版本号链接
                this.spanTargetVerID.InnerText = "";
                this.hrefTargetVerID.InnerText = "";
                if (this.txtHasTargetHis.Value == "1")  //有历史版本
                {
                    this.hrefTargetVerID.InnerText = VerID;
                }
                else
                {
                    this.spanTargetVerID.InnerText = VerID;
                }

                /*
                 * //历史目标费用
                 * string TargetHisHead1 = "";
                 * string TargetHisHead2 = "";
                 * dyn.GenerateTargetHisHead(ref TargetHisHead1, ref TargetHisHead2);
                 *
                 * ViewState["TargetHisHead1"] = TargetHisHead1;
                 * ViewState["TargetHisHead2"] = TargetHisHead2;
                 *
                 * ViewState["HasTargetChange"] = dyn.HasTargetChange;
                 * if (dyn.HasTargetChange)
                 * {
                 *  this.spanListTitleTargetMoneyDesc.InnerText = dyn.TargetChangeDesc;
                 *  this.spanListTitleTargetMoney.Style["display"] = "";
                 * }
                 * else
                 * {
                 *  this.spanListTitleTargetMoneyDesc.InnerText = "";
                 *  this.spanListTitleTargetMoney.Style["display"] = "none";
                 * }
                 *
                 * if (IsScreenToTable)
                 * {
                 *  //屏幕数据保存到临时表
                 *  tbDtl = ScreenToTable(false);
                 * }
                 * else
                 * {
                 *  //折叠全部费用项
                 *  BLL.CostBudgetPageRule.CollapseAll(tbDtl);
                 *
                 *  if (dyn.NeedApport) //有分摊时,多了一级总计
                 *  {
                 *      BLL.CostBudgetPageRule.ExpandDeep(tbDtl, 3);
                 *  }
                 *  else
                 *  {
                 *      BLL.CostBudgetPageRule.ExpandDeep(tbDtl, 2);
                 *  }
                 * }
                 */
            }
            catch (Exception ex)
            {
                ApplicationLog.WriteLog(this.ToString(), ex, "");
                Response.Write(Rms.Web.JavaScript.Alert(true, "绑定动态费用明细出错:" + ex.Message));
            }
        }