Пример #1
0
        /// <summary>
        /// 获取一条信息记录
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public FIN_SubmitExpenseResult GetInfo(FIN_SubmitExpenseParam param)
        {
            this.CheckSession();
            FIN_SubmitExpenseResult rst = new FIN_SubmitExpenseResult();

            #region 判断
            if (param.ExpID == null)
            {
                throw new WarnException("请指定报销主单ID!");
            }
            #endregion
            #region 保存实体
            WhereClip where = GetWhereClip(param);

            rst = this.Select <FIN_SubmitExpenseResult>(where);


            if (rst != null)
            {
                rst.ExpenseLineList = this.SelectList <FIN_SubmitExpenseLineResult>(FIN_SubmitExpenseLine._.ExpGuID == rst.ExpGuID);
            }
            //Sys_EmpDataRightBLL.SetRecIsEdit<FIN_SubmitExpenseResult>(rst, "BeLongEmpID", "", "OrgID", this.SessionInfo);
            #endregion
            return(rst);
        }
Пример #2
0
        public void InitData()
        {
            if (expID > 0)
            {
                FIN_SubmitExpenseResult info = expenseLogic.GetInfo(new FIN_SubmitExpenseParam {
                    ExpID = expID
                });
                this.ConvertEntityToControl <FIN_SubmitExpenseResult>(this.panelExpense.Controls, info, null);
                if (info != null && info.ExpenseLineList != null)
                {
                    addOrModifyList = info.ExpenseLineList;
                }
            }
            else
            {
                txtSourceBillNo.Text   = billNo;
                txtSourceGuid.Text     = custVstPlnGuID.ToStringHasNull();
                this.txtOpDate.Text    = ZNLCRM.UI.Logic.Sys.Common.GetServerNow(false);
                this.txtOpEmpID.Text   = this.SessionInfo.UserID.ToStringHasNull();
                this.txtOpEmpName.Text = this.SessionInfo.UserName;
            }

            bsExpenseLine.DataSource  = addOrModifyList;
            dgvExpenseLine.DataSource = bsExpenseLine;
        }
Пример #3
0
        object Form_GetEditEntity()
        {
            FIN_SubmitExpenseResult info = new FIN_SubmitExpenseResult();

            info.ExpID = expID;
            info       = this.ConvertControlToEntity <FIN_SubmitExpenseResult>(this.panelExpense.Controls, info, null);
            this.SetDataIsChanged <FIN_SubmitExpenseResult>(info);
            return(info);
        }
Пример #4
0
        public FIN_SubmitExpenseResult GetInfo(FIN_SubmitExpenseParam param)
        {
            FIN_SubmitExpenseResult ret = new FIN_SubmitExpenseResult();
            ExeResult rst = new ExeResult();

            rst = this.Execute("ZNLCRM.BLL.FIN.FIN_SubmitExpenseBLL", "GetInfo", param);
            ret = rst == null ? new FIN_SubmitExpenseResult() : rst.Result as FIN_SubmitExpenseResult;
            return(ret);
        }
Пример #5
0
        public WCFAddUpdateResult AddOrUpdate(FIN_SubmitExpenseResult param)
        {
            WCFAddUpdateResult ret = new WCFAddUpdateResult();
            ExeResult          rst = new ExeResult();

            rst = this.Execute("ZNLCRM.BLL.FIN.FIN_SubmitExpenseBLL", "AddOrUpdate", param);
            ret = (rst == null ? new WCFAddUpdateResult() : rst.Result as WCFAddUpdateResult);
            return(ret);
        }
Пример #6
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            FIN_SubmitExpenseResult info = Form_GetEditEntity() as FIN_SubmitExpenseResult;

            if (!this.DataIsChanged)
            {
                this.ShowNoChangedMsg();
                return;
            }
            bool flag = false;

            foreach (FIN_SubmitExpenseLineResult rst in addOrModifyList)
            {
                if (string.IsNullOrEmpty(rst.ExpName) || string.IsNullOrEmpty(rst.Amount.ToStringHasNull()))
                {
                    flag = true;
                    break;
                }
            }
            if (flag)
            {
                this.ShowMessage("费用名目和报销金额不能为空!");
                return;
            }



            bsExpenseLine.EndEdit();
            tempList.Clear();
            foreach (FIN_SubmitExpenseLineResult rst in addOrModifyList)
            {
                if (rst.HasChanged())
                {
                    tempList.Add(rst);
                }
            }

            tempList.AddRange(delList);
            info.ExpenseLineList = tempList;
            WCFAddUpdateResult result = this.AsyncExecute <WCFAddUpdateResult, FIN_SubmitExpenseResult>(info, expenseLogic.AddOrUpdate, (a) =>
            {
                expID = a.Key;
                this.SetDataIsNoChanged();
                InitData();
                delList.Clear();
            });
        }
Пример #7
0
        /// <summary>
        /// 删除实体
        /// </summary>
        /// <param name="param">删除条件实体</param>
        /// <returns></returns>
        public WCFAddUpdateResult DelInfo(FIN_SubmitExpenseParam param)
        {
            this.CheckSession();
            WCFAddUpdateResult ret = new WCFAddUpdateResult();
            int affect             = 0;

            try
            {
                #region 判断
                if (param.ExpID == null)
                {
                    throw new WarnException("请指定要删除的记录!");
                }
                #endregion
                WhereClip where = GetWhereClip(param);
                //FIN_SubmitExpenseResult oldInfo = this.GetInfo(param);
                //oldInfo = Sys_EmpDataRightBLL.SetRecIsEdit<FIN_SubmitExpenseResult>(oldInfo, "BeLongEmpID", "", "OrgID", this.SessionInfo);
                //if (oldInfo.RecStatu != 2)
                //{
                //    throw new WarnException("您无权删除当前记录!");
                //}
                FIN_SubmitExpenseResult info = new FIN_SubmitExpenseResult();
                info.IsDeleted      = true;
                info.UpdatedTime    = DateTime.Now;
                info.UpdatedEmpID   = this.SessionInfo.UserID;
                info.UpdatedEmpName = this.SessionInfo.UserName;
                affect = this.Update <FIN_SubmitExpenseResult>(info, where);
                #region 设置返回值
                ret.Key = affect;
                #endregion
            }
            catch (WarnException exp)
            {
                throw exp;
            }
            catch (System.Exception exp)
            {
                LogInfoBLL.WriteLog(this.SessionInfo, exp);
                throw exp;
            }
            return(ret);
        }
Пример #8
0
        /// <summary>
        /// 添加和新增修改
        /// </summary>
        /// <param name="param">新增或修改的实体</param>
        /// <returns></returns>
        public WCFAddUpdateResult AddOrUpdate(FIN_SubmitExpenseResult param)
        {
            this.CheckSession();
            WCFAddUpdateResult ret = new WCFAddUpdateResult();

            try
            {
                int affect = 0;
                #region 判断

                if (string.IsNullOrEmpty(param.SourceBillNo))
                {
                    throw new WarnException("请选择关联单号!");
                }
                if (string.IsNullOrEmpty(param.ExpName))
                {
                    throw new WarnException("请填写报销标题!");
                }
                if (string.IsNullOrEmpty(param.OpEmpName))
                {
                    throw new WarnException("请选择处理人!");
                }

                #endregion
                #region 系统默认值
                List <FIN_SubmitExpenseLineResult> expenseLineList = param.ExpenseLineList;

                if (param.ExpID.ToInt32() > 0)
                {
                    WhereClip where      = FIN_SubmitExpense._.ExpID == param.ExpID;
                    param.GCompanyGuID   = this.SessionInfo.CompanyID;
                    param.UpdatedEmpID   = this.SessionInfo.UserID;
                    param.UpdatedEmpName = this.SessionInfo.UserName;
                    param.UpdatedTime    = DateTime.Now;
                    affect = this.Update <FIN_SubmitExpenseResult>(param, where);
                }
                else
                {
                    Sys_CodeRulerBLL codeRulerBll = new Sys_CodeRulerBLL();
                    codeRulerBll.SessionInfo = this.SessionInfo;
                    param.BillNo             = param.BillNo = codeRulerBll.GetBillNo(new Entity.UserModel.Sys.SYS_CredentialCodeRuleParam()
                    {
                        BillDate = DateTime.Today, TableName = "FIN_SubmitExpense"
                    });
                    param.GCompanyGuID   = this.SessionInfo.CompanyID;
                    param.OrgID          = this.SessionInfo.OrgID;
                    param.ExpGuID        = Guid.NewGuid();
                    param.CreatedEmpID   = this.SessionInfo.UserID;
                    param.CreatedEmpName = this.SessionInfo.UserName;
                    param.CreatedTime    = DateTime.Now;
                    param.IsDeleted      = false;
                    affect = this.Insert <FIN_SubmitExpenseResult>(param);
                    param  = this.Select <FIN_SubmitExpenseResult>(new List <Field>()
                    {
                        FIN_SubmitExpense._.All
                    }, FIN_SubmitExpense._.ExpGuID == param.ExpGuID);
                }
                foreach (FIN_SubmitExpenseLineResult rst in expenseLineList)
                {
                    if (rst.ExpLineID == 0)
                    {
                        rst.IsDeleted      = false;
                        rst.ExpGuID        = param.ExpGuID;
                        rst.ExpLineGuID    = Guid.NewGuid();
                        rst.CreatedEmpID   = this.SessionInfo.UserID;
                        rst.CreatedEmpName = this.SessionInfo.UserName;
                        rst.CreatedTime    = DateTime.Now;
                    }
                    else
                    {
                        rst.UpdatedEmpID   = this.SessionInfo.UserID;
                        rst.UpdatedEmpName = this.SessionInfo.UserName;
                        rst.UpdatedTime    = DateTime.Now;
                    }
                }

                this.BatchInsertOrUpdate <FIN_SubmitExpenseLineResult>(expenseLineList);
                this.BatchExecute();
                #region 设置返回值
                ret.Key            = param.ExpID;
                ret.CreatedTime    = param.CreatedTime;
                ret.CreatedEmpID   = param.CreatedEmpID;
                ret.CreatedEmpName = param.CreatedEmpName;
                ret.UpdatedEmpID   = param.UpdatedEmpID;
                ret.UpdatedEmpName = param.UpdatedEmpName;
                ret.UpdatedTime    = param.UpdatedTime;
                #endregion

                #endregion
            }
            catch (WarnException exp)
            {
                throw exp;
            }
            catch (System.Exception exp)
            {
                LogInfoBLL.WriteLog(this.SessionInfo, exp);
                throw exp;
            }
            return(ret);
        }