예제 #1
0
        /// <summary>
        /// 格式化成导出的格式
        /// </summary>
        /// <param name="batchViewList">原始数据</param>
        /// <returns>格式化后结果</returns>
        private DataTable FormatToExport(List <CancelRefundViewData> batchViewList, CancelRefundExportFilter filter)
        {
            DataTable dtb = new DataTable();

            string[] columns = filter.Fields.Split(WebServiceConst.Separater_Comma.ToArray());
            foreach (string col in columns)
            {
                dtb.Columns.Add(col);
            }

            foreach (var refund in batchViewList)
            {
                DataRow dtr = dtb.NewRow();
                dtr["BusinessCode"]   = "023";
                dtr["DeductType"]     = string.Format("0{0}", refund.PayType.ToString());
                dtr["ContractID"]     = refund.ContractNo;
                dtr["CustomerName"]   = refund.CustomerName;
                dtr["ContractAmount"] = refund.RefundAmt;
                dtr["DeductDate"]     = refund.PayDate.ToDateString();
                dtr["ThirdPartyCode"] = string.Empty;
                dtr["RecieveDate"]    = refund.ReceivedDate.ToDateTimeString();

                //补解约数据
                dtr["InterestAmount"]         = 0;
                dtr["deductcharge"]           = 0;
                dtr["PunitiveInterestAmount"] = 0;
                dtr["RepayDuration"]          = 0;
                dtr["ContractTerminatedDate"] = refund.CancelTime.HasValue ? refund.CancelTime.ToDateTimeString() : refund.ReceivedDate.ToDateTimeString();
                dtb.Rows.Add(dtr);
            }
            return(dtb);
        }
        /// <summary>
        /// 根据过滤条件,返回检索数据的Sql文
        /// </summary>
        /// <param name="baseFilter"></param>
        /// <returns></returns>
        protected override string GetSearchSql(BaseFilter baseFilter)
        {
            CancelRefundExportFilter filter = baseFilter as CancelRefundExportFilter;

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

            StringBuilder sb = new StringBuilder();

            sb.Append(@" SELECT b.BusinessID ,
                                b.ContractNo ,
                                pe.PersonName AS CustomerName ,
                                b.LoanCapital - ISNULL(b.ProceduresAmout, 0) AS RealLoanCapital ,
                                ISNULL(c.RefundAmt, b.LoanCapital - ISNULL(b.ProceduresAmout, 0)) AS RefundAmt ,
                                c.PayDate ,
                                c.ReceivedDate ,
                                c.PayType ,
                                c.CancelTime
                          FROM  finance.CancelRefund c
                    INNER JOIN dbo.Business b ON c.BusinessID = b.BusinessID
                    INNER JOIN customer.CustomerInfo r ON b.CustomerID = r.CustId
                    INNER JOIN customer.Person pe ON r.PersonId = pe.PersonId ");

            string condition = CombineCondition(filter);

            if (!string.IsNullOrEmpty(condition))
            {
                sb.Append(condition);
            }

            return(sb.ToString());
        }
예제 #3
0
        /// <summary>
        /// 检索数据
        /// </summary>
        /// <param name="baseFilter"></param>
        /// <param name="responseEntity"></param>
        public void ExportData(CancelRefundExportFilter baseFilter, ResponseEntity responseEntity)
        {
            if (baseFilter == null)
            {
                ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.RequestCommandError);
                return;
            }

            var reportDetailList
                = Singleton <CancelRefundExportDAL <CancelRefundViewData> > .Instance.SearchData(baseFilter);

            if (reportDetailList == null || reportDetailList.Count == 0)
            {
                ServiceUtility.SetResponseStatus(responseEntity, EnumResponseState.NoResult);
                m_Logger.Info("未查询到数据!。");
            }
            else
            {
                DataTable dt = FormatToExport(reportDetailList, baseFilter);
                // 设置输出文件
                SetExportFile(baseFilter, dt, responseEntity);
            }
        }
        /// <summary>
        /// 生成检索条件
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        private string CombineCondition(CancelRefundExportFilter filter)
        {
            StringBuilder sb = new StringBuilder();

            if (!string.IsNullOrEmpty(filter.Region))
            {
                sb.AppendFormat(@" LEFT JOIN dbo.ConstSysEnum s ON s.super=2619 AND 
                                ((LEN(b.ContractNo)=7 AND s.VALUE='02') OR
                                 (LEN(b.ContractNo)=15 AND SUBSTRING(b.ContractNo,3,2)=s.VALUE) OR 
                                 (LEN(b.ContractNo)=18 AND SUBSTRING(b.ContractNo,6,2)=s.VALUE)
                                )");
            }

            if (filter.HasPayDate)
            {
                sb.AppendFormat(" WHERE c.PayDate IS NOT NULL ");
            }
            else
            {
                sb.AppendFormat(" WHERE c.PayDate IS NULL ");
            }

            if (!filter.LendingSideKey.IsNullString())
            {
                sb.AppendFormat(" AND b.LendingSideKey ='{0}'", filter.LendingSideKey);
            }

            if (filter.BusinessID.HasValue)
            {
                sb.AppendFormat(" AND c.BusinessID ={0}", filter.BusinessID.Value);
            }

            if (!string.IsNullOrEmpty(filter.ContractNo))
            {
                sb.AppendFormat(" AND b.ContractNo ='{0}'", filter.ContractNo);
            }

            if (!string.IsNullOrEmpty(filter.CustomerName))
            {
                sb.AppendFormat(" AND pe.PersonName ='{0}'", filter.CustomerName);
            }

            if (filter.CancelBeginTime.HasValue)
            {
                sb.AppendFormat(" AND c.CancelTime >='{0}'", filter.CancelBeginTime.Value.ToDateTimeString());
            }

            if (!string.IsNullOrEmpty(filter.Region))
            {
                sb.AppendFormat(" AND s.fullkey in('{0}')", filter.Region);
            }

            if (filter.CancelEndTime.HasValue)
            {
                sb.AppendFormat(" AND c.CancelTime <'{0}'", filter.CancelEndTime.Value.ToDateTimeString());
            }

            if (filter.PayBeginTime.HasValue)
            {
                sb.AppendFormat(" AND c.PayDate >='{0}'", filter.PayBeginTime.Value.ToDateTimeString());
            }

            if (filter.PayEndTime.HasValue)
            {
                sb.AppendFormat(" AND c.PayDate <'{0}'", filter.PayEndTime.Value.ToDateTimeString());
            }

            return(sb.ToString());
        }