示例#1
0
        /// <summary>
        /// 初始化数据,将数据显示到页面上
        /// </summary>
        private void Bind()
        {
            try
            {
                //显示报销明细
                List <RB_RowsDto> Rows       = AutofacConfig.rBService.GetRowByRBID(ID);
                List <RB_RowsDto> UnReimRows = AutofacConfig.rBService.GetRowsByCreateUser(Client.Session["U_ID"].ToString());
                this.lblRBNO.Text = ID;                                        //报销编号
                RBDetailDto Reim = AutofacConfig.rBService.GetByID(ID);
                RBCC = Reim.CC_ID;                                             //成本中心编号
                CCDetailDto Cost = AutofacConfig.costCenterService.GetCCByID(Reim.CC_ID);
                this.btnRBCC.Text = Cost.CC_Name;                              //成本中心名称
                this.TxtNote.Text = Reim.RB_Note;                              //备注
                DataTable rowTable = new DataTable();
                rowTable.Columns.Add("ID", typeof(System.Int32));              //消费记录编号
                rowTable.Columns.Add("RBCHECKED", typeof(System.Boolean));     //是否选中
                rowTable.Columns.Add("RB_NO", typeof(System.String));          //报销单编号
                rowTable.Columns.Add("RBROW_DATE", typeof(System.String));     //消费日期
                rowTable.Columns.Add("RBROW_TYPE", typeof(System.String));     //消费类型编号
                rowTable.Columns.Add("RBROW_TYPENAME", typeof(System.String)); //消费类型名称
                rowTable.Columns.Add("RBROW_AMOUNT", typeof(System.Decimal));  //消费金额
                rowTable.Columns.Add("RBROW_NOTE", typeof(System.String));     //消费备注
                foreach (RB_RowsDto Row in Rows)                               //将原报销单中的行项添加到数据源中
                {
                    string TypeName = AutofacConfig.rBService.GetTypeNameByID(Row.R_TypeID);

                    rowTable.Rows.Add(Row.R_ID, true, Row.RB_ID, Row.R_ConsumeDate.ToString("yyyy/MM/dd"), Row.R_TypeID, TypeName, Row.R_Amount, Row.R_Note);
                }
                foreach (RB_RowsDto Row in UnReimRows)          //将当前用户未报销的行项添加到数据源中
                {
                    string TypeName = AutofacConfig.rBService.GetTypeNameByID(Row.R_TypeID);
                    rowTable.Rows.Add(Row.R_ID, false, Row.RB_ID, Row.R_ConsumeDate.ToString("yyyy/MM/dd"), Row.R_TypeID, TypeName, Row.R_Amount, Row.R_Note);
                }
                if (rowTable.Rows.Count > 0)
                {
                    rowTable.Columns.Add("ROW_NOTE", typeof(System.String));
                    rowTable.Columns.Add("ROW_DATE", typeof(System.String));
                    this.listRBRowData.DataSource = rowTable;
                    this.listRBRowData.DataBind();
                    getAmount();
                }
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }
示例#2
0
        /// <summary>
        /// 根据报销单ID返回报销单对象
        /// </summary>
        /// <param name="ID">报销单ID</param>
        public RBDetailDto GetByID(string ID)
        {
            RBDetailDto rb = Mapper.Map <Reimbursement, RBDetailDto>(_reimbursementRepository.GetByID(ID).AsNoTracking().FirstOrDefault());

            if (rb != null && !string.IsNullOrEmpty(rb.RB_ID))
            {
                rb.RB_Rows = Mapper.Map <List <RB_Rows>, List <RB_RowsDto> > (_rbrowsRepository.GetByRBID(rb.RB_ID).AsNoTracking().ToList());
                foreach (RB_RowsDto row in rb.RB_Rows)
                {
                    if (!string.IsNullOrEmpty(row.R_TypeID))
                    {
                        row.R_TypeName = _rbTypeRepository.GetByID(row.R_TypeID).RB_RT_Name;
                    }
                }
            }
            return(rb);
        }
示例#3
0
        AutofacConfig AutofacConfig = new AutofacConfig(); //调用配置类
        #endregion
        /// <summary>
        /// 初始化数据
        /// </summary>
        private void Bind()
        {
            try
            {
                UserID = Client.Session["U_ID"].ToString();                                                 //当前用户ID
                List <RB_RowsDto> Rows = AutofacConfig.rBService.GetRowByRBID(ID);                          //查找报销单的消费记录信息
                RBDetailDto       Reim = AutofacConfig.rBService.GetByID(ID);                               //查找报销单的相关信息
                Status = (RB_Status)Reim.RB_Status;                                                         //报销订单当前状态
                string[]      ReimAEACheckers       = Reim.RB_AEACheckers.Split(Convert.ToChar(","));       //获取行政审批人员
                string[]      ReimFinancialCheckers = Reim.RB_FinancialCheckers.Split(Convert.ToChar(",")); //获取财务审批人员
                UserDetailDto userInfo = AutofacConfig.userService.GetUserByUserID(Reim.RB_CreateUser);
                title1.TitleText = userInfo.U_Name + "的报销";                                                 //标题
                lblUserName.Text = userInfo.U_Name;                                                         //报销单创建用户
                //当没有设置用户头像时,根据用户性别显示默认头像
                if (string.IsNullOrEmpty(userInfo.U_Portrait) == true)
                {
                    switch (userInfo.U_Sex)
                    {
                    case (int)Sex.男:
                        imgPortrait.ResourceID = "boy";
                        break;

                    case (int)Sex.女:
                        imgPortrait.ResourceID = "girl";
                        break;
                    }
                }
                else
                {
                    imgPortrait.ResourceID = userInfo.U_Portrait;
                }
                //默认状态下,不显示同意,拒绝,编辑按钮
                btnAgreed.Visible = false;
                btnRefuse.Visible = false;
                btnEdit.Visible   = false;
                switch (Status)
                {
                case RB_Status.新建:                            //如果是已创建状态,当前用户为责任人,则显示审批按钮
                    lblRBState.Text = "等待责任人审批";
                    if (UserID == Reim.RB_LiableMan)
                    {
                        btnAgreed.Visible = true;
                        btnRefuse.Visible = true;
                        if (UserID == Reim.RB_CreateUser)
                        {
                            btnEdit.Visible = true;
                            btnAgreed.Width = 85;
                            btnAgreed.Left  = 10;
                            btnRefuse.Width = 85;
                            btnRefuse.Left  = 108;
                            btnEdit.Width   = 85;
                            btnEdit.Left    = 205;
                        }
                        else
                        {
                            btnAgreed.Width = 134;
                            btnAgreed.Left  = 10;
                            btnRefuse.Width = 134;
                            btnRefuse.Left  = 156;
                        }
                    }
                    else
                    {
                        if (UserID == Reim.RB_CreateUser)
                        {
                            btnEdit.Visible = true;
                            btnEdit.Width   = 280;
                            btnEdit.Left    = 10;
                        }
                        else
                        {
                            plButton.Border = new Border(0);
                        }
                    }
                    break;

                case RB_Status.责任人审批:                      //如果是责任人已审批状态,当前用户为行政审批人,则显示审批功能按钮
                    lblRBState.Text = "等待行政审批";
                    foreach (string ReimAEAChecker in ReimAEACheckers)
                    {
                        if (UserID == ReimAEAChecker)
                        {
                            btnAgreed.Visible = true;
                            btnRefuse.Visible = true;
                            btnAgreed.Width   = 134;
                            btnAgreed.Left    = 10;
                            btnRefuse.Width   = 134;
                            btnRefuse.Left    = 156;
                        }
                    }
                    break;

                case RB_Status.行政审批:                    //如果当前行政已审批,当前用户为财务,则显示审批功能按钮
                    lblRBState.Text = "等待财务审批";
                    foreach (string ReimFinancialChecker in ReimFinancialCheckers)
                    {
                        if (UserID == ReimFinancialChecker)
                        {
                            btnAgreed.Visible = true;
                            btnAgreed.Visible = true;
                            btnAgreed.Width   = 134;
                            btnAgreed.Left    = 10;
                            btnRefuse.Width   = 134;
                            btnRefuse.Left    = 156;
                        }
                    }
                    break;

                case RB_Status.财务审批:                         //报销通过,不显示任何按钮
                    lblRBState.Text = "已审批(完成)";
                    plButton.Border = new Border(0);
                    break;

                case RB_Status.已拒绝:                       //报销驳回,如果当前用户为报销单创始人,则显示编辑按钮
                    lblRBState.Text = "已审批(拒绝)";
                    if (UserID == Reim.RB_CreateUser)
                    {
                        btnEdit.Visible = true;
                        btnEdit.Width   = 280;
                        btnEdit.Left    = 10;
                    }
                    else
                    {
                        plButton.Border = new Border(0);
                    }
                    break;
                }
                CCDetailDto Cost = AutofacConfig.costCenterService.GetCCByID(Reim.CC_ID);
                lblRBNO.Text       = Reim.RB_ID;                     //报销单编号
                lblRBCC.Text       = Cost.CC_Name;                   //成本中心名称
                lblAmount.Text     = Reim.RB_TotalAmount.ToString(); //总金额
                lblAmount.Text     = Reim.RB_TotalAmount.ToString(); //报销单总金额
                lblCreateTime.Text = Reim.RB_CreateDate.ToString("yyyy/MM/dd");
                lblnote.Text       = Reim.RB_Note;                   //报销单备注

                if (string.IsNullOrEmpty(Reim.RB_RejectionReason) == true)
                {
                    lblReason.Text               = "";
                    lblReason.Height             = 25;
                    lblReason1.Height            = 25;
                    lblReason.VerticalAlignment  = VerticalAlignment.Center;
                    lblReason1.VerticalAlignment = VerticalAlignment.Center;
                    lblReason.Padding            = new Padding(0, 0, 0, 0);
                    lblReason1.Padding           = new Padding(0, 0, 0, 0);
                }
                else
                {
                    lblReason.Text               = Reim.RB_RejectionReason; //报销单拒绝原因
                    lblReason.Height             = 50;
                    lblReason1.Height            = 50;
                    lblReason.VerticalAlignment  = VerticalAlignment.Top;
                    lblReason1.VerticalAlignment = VerticalAlignment.Top;
                    lblReason.Padding            = new Padding(0, 5, 0, 0);
                    lblReason1.Padding           = new Padding(0, 5, 0, 0);
                }
                listRBRowData.Top = lblReason.Top + lblReason.Height;

                //如果审批已结束,则隐藏按钮所占区域
                if (btnAgreed.Visible == false && btnEdit.Visible == false && btnRefuse.Visible == false)
                {
                    plButton.Visible = false;
                }

                //创建表,将数据进行处理后放入表内,然后显示在页面上
                DataTable rbrowtable = new DataTable();
                rbrowtable.Columns.Add("ID", typeof(System.Int32));              //消费记录编号
                rbrowtable.Columns.Add("RB_NO", typeof(System.String));          //报销单号
                rbrowtable.Columns.Add("RBROW_DATE", typeof(System.String));     //消费日期
                rbrowtable.Columns.Add("RBROW_TYPE", typeof(System.String));     //消费类型ID
                rbrowtable.Columns.Add("RBROW_TYPENAME", typeof(System.String)); //消费类型名称
                rbrowtable.Columns.Add("RBROW_AMOUNT", typeof(System.Decimal));  //消费日期
                rbrowtable.Columns.Add("RBROW_NOTE", typeof(System.String));     //消费记录备注
                foreach (RB_RowsDto Row in Rows)
                {
                    string TypeName = AutofacConfig.rBService.GetTypeNameByID(Row.R_TypeID);
                    rbrowtable.Rows.Add(Row.R_ID, Row.RB_ID, Row.R_ConsumeDate.ToString("yyyy/MM/dd"), Row.R_TypeID, TypeName, Row.R_Amount, Row.R_Note);
                }
                listRBRowData.Rows.Clear();//清空报销单行项列表数据
                if (rbrowtable.Rows.Count > 0)
                {
                    this.listRBRowData.DataSource = rbrowtable;
                    this.listRBRowData.DataBind();
                }
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }