Пример #1
0
        /// <summary>
        /// 增加还款主从表数据  add by zl
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public bool AddRepayApplyMasterAndDetail(T_FB_REPAYAPPLYMASTER entity, List <T_FB_REPAYAPPLYDETAIL> detailList)
        {
            try
            {
                var company = OrgClient.GetCompanyById(entity.OWNERCOMPANYID);
                if (company != null)
                {
                    entity.OWNERCOMPANYNAME = company.CNAME;
                }
            }
            catch
            {
            }
            bool re;

            //2012-8-29
            //从服务端获取时间
            entity.PROJECTEDREPAYDATE = DateTime.Now;
            try
            {
                dal.BeginTransaction();
                foreach (T_FB_REPAYAPPLYDETAIL obj in detailList)
                {
                    //添加还款明细
                    Utility.RefreshEntity(obj);
                    entity.T_FB_REPAYAPPLYDETAIL.Add(obj);
                }
                re = Add(entity);
                if (!re)
                {
                    dal.RollbackTransaction();
                    return(false);
                }

                dal.CommitTransaction();
                return(true);
            }
            catch (Exception ex)
            {
                string ErrInfo = this.GetType().ToString() + ":AddRepayApplyMasterAndDetail," + System.DateTime.Now.ToString() + "," + ex.Message;
                Tracer.Debug(ErrInfo);
                dal.RollbackTransaction();
                return(false);
            }
        }
Пример #2
0
        /// <summary>
        /// 更新还款主从表数据  add by zl
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="detailList"></param>
        /// <returns></returns>
        public void UptRepayApplyMasterAndDetail(string strActionType, T_FB_REPAYAPPLYMASTER entity,
                                                 List <T_FB_REPAYAPPLYDETAIL> detailList, ref string strMsg)
        {
            try
            {
                var company = OrgClient.GetCompanyById(entity.OWNERCOMPANYID);
                if (company != null)
                {
                    entity.OWNERCOMPANYNAME = company.CNAME;
                }
            }
            catch
            {
            }
            bool re = false;

            if (LockOrder(entity.REPAYAPPLYMASTERID))
            {
                strMsg = "单据正在提交或审核中,不可重复操作!";
                return;
            }

            try
            {
                FBAEnums.CheckStates  dOldChecksates = FBAEnums.CheckStates.UnSubmit;
                T_FB_REPAYAPPLYMASTER cha            = GetRepayApplyMasterByID(entity.REPAYAPPLYMASTERID);
                if (cha == null)
                {
                    strMsg = "提交的单据不存在或已删除,不可继续操作!";
                    return;
                }

                object checkStatesOld = cha.CHECKSTATES;
                dOldChecksates = (FBAEnums.CheckStates) int.Parse(checkStatesOld.ToString());

                object checkStatesNew = entity.CHECKSTATES;
                FBAEnums.CheckStates dNewCheckStates = (FBAEnums.CheckStates) int.Parse(checkStatesNew.ToString());

                if ((dOldChecksates == FBAEnums.CheckStates.Approved || dOldChecksates == FBAEnums.CheckStates.UnApproved) &&
                    strActionType.ToUpper() != "RESUBMIT")
                {
                    strMsg = "单据已审核完毕,不可再次操作";
                    return;
                }

                //不用月结可以进行借还款
                //#region 是否本月有结算

                //bool isChecked = SystemSettingsBLL.IsChecked;
                //// 没月结,只能处理报销。
                //string entityType = entity.GetType().Name;
                //string[] EntityTypes = new string[] { typeof(T_FB_BORROWAPPLYMASTER).Name,
                //    typeof(T_FB_REPAYAPPLYMASTER).Name, typeof(T_FB_CHARGEAPPLYMASTER).Name};
                //// 月结不可操作:1.日常报销类型的单据的审核或提交,2.所有单据的提交或重新提交
                //if (!isChecked && (EntityTypes.Contains(entityType) || (strActionType.ToUpper() == "SUBMIT")
                //    || (strActionType.ToUpper() == "RESUBMIT")))
                //{
                //    strMsg = "本月尚未结算,无法提交或审核!";
                //    return;
                //}

                //#endregion

                Utility.CloneEntity(entity, cha);
                cha.UPDATEDATE = DateTime.Now;

                bool n = Update(cha);
                if (n == false)
                {
                    dal.RollbackTransaction();
                    strMsg = "单据更新异常!";
                    return;
                }

                RepayApplyDetailBLL bllRepayDetail = new RepayApplyDetailBLL();
                re = bllRepayDetail.UpdateRepayApplyDetail(cha.REPAYAPPLYMASTERID, detailList);//删除报销明细
                if (!re)
                {
                    dal.RollbackTransaction();
                    strMsg = "单据明细更新异常!";
                    return;
                }

                if (dOldChecksates == dNewCheckStates && dOldChecksates == (int)FBAEnums.CheckStates.UnSubmit &&
                    strActionType.ToUpper() == "EDIT")
                {
                    strMsg = "单据更新成功!";
                    return;
                }

                //if (dNewCheckStates == FBAEnums.CheckStates.Approving && ((strActionType.ToUpper() == "SUBMIT" && dOldChecksates == FBAEnums.CheckStates.UnSubmit)
                //    || (strActionType.ToUpper() == "RESUBMIT" && dOldChecksates == FBAEnums.CheckStates.UnApproved)))
                //{
                //    BudgetAccountBLL budgetBLL = new BudgetAccountBLL();
                //    budgetBLL.UpdateAccount(cha, (int)dNewCheckStates);
                //}
            }
            catch (Exception ex)
            {
                string ErrInfo = this.GetType().ToString() + ":UptRepayApplyMasterAndDetail," + System.DateTime.Now.ToString() + "," + ex.Message;
                Tracer.Debug(ErrInfo);
            }
            finally
            {
                ReleaseOrder(entity.REPAYAPPLYMASTERID);
            }
        }