示例#1
0
        /// <summary>
        /// 程序执行主入口
        /// </summary>
        /// <param name="requestEntity"></param>
        /// <param name="responseEntity"></param>
        protected override void DoExecute(RequestEntity requestEntity, ResponseEntity responseEntity)
        {
            // 定义接收客户端参数的变量
            BusinessGuaranteeSaveFilter filter
                = ServiceUtility.ConvertToFilterFromDict <BusinessGuaranteeSaveFilter>(requestEntity.Parameters);

            filter.UserId = requestEntity.UserId;

            // 担保和诉讼设置编辑保存
            Singleton <GuarLitigationSaveBLL> .Instance.Update(filter, responseEntity);
        }
 /// <summary>
 /// 创建担保诉讼账单
 /// </summary>
 /// <param name="business"></param>
 /// <param name="subj"></param>
 /// <returns></returns>
 private Bill CreateBill(BusinessGuaranteeSaveFilter filter, EnumBillKind subj)
 {
     return(new Bill
     {
         CreateTime = DateTime.Now,
         BillMonth = DateTime.Now.ToBillMonthString(),
         BeginTime = DateTime.Now,
         BillType = (byte)subj,
         BillStatus = (byte)EnumBillStatus.NoPay,
         EndTime = DateTime.Now.AddMonths(1).Date.AddSeconds(-1),
         LimitTime = DateTime.Now.SetDay(21),
     });
 }
        /// <summary>
        /// 未出账金款项列表
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        private List <BillItem> NoCreateBillItem(BusinessGuaranteeSaveFilter filter)
        {
            List <BillItem> billitems = new List <BillItem>();
            int             num       = filter.LoanPeriod - Singleton <GuarLitigationSaveDAL> .Instance.GetNormalBillsCount(filter.BusinessID);

            //本金
            decimal bj = filter.LoanCapital - Singleton <GuarLitigationSaveDAL> .Instance.GetBillItemsAmount(filter.BusinessID);

            if (bj > 0)
            {
                billitems.Add(CreateBillItem(EnumCostSubject.Capital, bj, filter.UserId));
            }
            //利息
            decimal lx = SubjectFormula.CalculatInterest(filter.LoanCapital, filter.InterestRate) * num;

            if (lx > 0)
            {
                billitems.Add(CreateBillItem(EnumCostSubject.Interest, lx, filter.UserId));
            }
            //服务费\担保费
            decimal dbfwf = SubjectFormula.CalculatServiceFee(filter.LoanCapital, filter.ServiceRate, true) * num;

            if (dbfwf > 0)
            {
                if (string.IsNullOrEmpty(filter.GuaranteeSideKey))
                {
                    billitems.Add(CreateBillItem(EnumCostSubject.ServiceFee, dbfwf * 2, filter.UserId));
                }
                else
                {
                    billitems.Add(CreateBillItem(EnumCostSubject.ServiceFee, dbfwf, filter.UserId));
                    billitems.Add(CreateBillItem(EnumCostSubject.GuaranteeFee, dbfwf, filter.UserId));
                }
            }

            //服务费扣失
            decimal fwfks = SubjectFormula.CalculatBuckleFail(filter.ContractNo) * num;;

            if (fwfks > 0)
            {
                billitems.Add(CreateBillItem(EnumCostSubject.ServiceBuckleFail, fwfks, filter.UserId));//服务费扣失
            }
            return(billitems);
        }
示例#4
0
        /// <summary>
        /// 更新订单信息
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        public int UpdateBusiness(string guid, BusinessGuaranteeSaveFilter filter)
        {
            IDictionary <string, object> inParams = new Dictionary <string, object>();

            inParams.Add("@Guid", guid);
            inParams.Add("@BusinessID", filter.BusinessID);
            inParams.Add("@CustomerID", filter.CustomerID);
            inParams.Add("@BusinessStatus", filter.BusinessStatus);
            inParams.Add("@LawsuitStatus", filter.LawsuitStatus);
            inParams.Add("@LawsuitCode", filter.LawsuitCode);
            inParams.Add("@IsAddNewBill", filter.IsAddNewBill);
            inParams.Add("@UserId", filter.UserId);
            if (!string.IsNullOrEmpty(filter.ToLitigationTime))
            {
                inParams.Add("@ToLitigationTime", filter.ToLitigationTime);
            }

            // 获取更新的件数
            return(Execute("proc_BillDun_BusinessGuaranteeSave", inParams, GetConnectKey(), CommandType.StoredProcedure));
        }
        /// <summary>
        /// 获取更新存贮过程的入参
        /// </summary>
        /// <param name="baseFilter"></param>
        /// <returns></returns>
        protected override IDictionary <string, object> GetUpdateSpInParams(BaseFilter baseFilter)
        {
            BusinessGuaranteeSaveFilter filter = baseFilter as BusinessGuaranteeSaveFilter;

            if (filter == null)
            {
                return(null);
            }

            IDictionary <string, object> inPutParam = new Dictionary <string, object>();

            inPutParam.Add("@BusinessID", filter.BusinessID);
            inPutParam.Add("@GuaranteeNo", filter.GuaranteeNo);
            inPutParam.Add("@GuaranteeTime", filter.GuaranteeTime);
            inPutParam.Add("@CapitalHasBeen", filter.CapitalHasBeen);
            inPutParam.Add("@CapitalNotBeen", filter.CapitalNotBeen);
            inPutParam.Add("@CapitalLost", filter.CapitalLost);
            inPutParam.Add("@Interest", filter.Interest);
            inPutParam.Add("@InterestNotBeen", filter.InterestNotBeen);
            inPutParam.Add("@PenaltyInt", filter.PenaltyInt);
            return(inPutParam);
        }
        /// <summary>
        /// 保存修改信息
        /// </summary>
        /// <param name="filter"></param>
        /// <param name="responseEntity"></param>
        public virtual void Update(BusinessGuaranteeSaveFilter filter
                                   , ResponseEntity responseEntity)
        {
            string guid = "";

            if (filter.IsAddNewBill)
            {
                guid = Guid.NewGuid().ToString();
                Bill bill = CreateBill(filter, EnumBillKind.Litigation);
                bill.BillItems = new List <BillItem>();
                // 诉讼费
                bill.BillItems.Add(CreateBillItem(EnumCostSubject.Litigation, filter.LegalCost.ToDecimal(), filter.UserId));
                // 诉讼违约金
                bill.BillItems.Add(CreateBillItem(EnumCostSubject.LitigationLateFee, filter.LegalPenalty.ToDecimal(), filter.UserId));
                //未出账款项列表
                bill.BillItems.AddRange(NoCreateBillItem(filter));

                // 保存账单信息到数据库
                SaveBillToDataBase(guid, bill);
                // 保存账单明细到数据库
                SaveBillItemToDataBase(guid, bill.BillItems);
            }

            int count = Singleton <GuarLitigationSaveDAL> .Instance.UpdateBusiness(guid, filter);

            if (count <= 0)
            {
                ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.Others, "更新失败。");
                m_Logger.Info("更新失败。");
            }
            else
            {
                var responseResult = new ResponseListResult <BusinessViewData>();
                ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.Success);
                responseEntity.Results = responseResult;
            }
        }