12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- import time;
- import numpy as np;
- import utils;
- # 获取最近几个月查询次数
- def getLastMonthQueryTimes(df, month, queryReason,reportTime):
- # 当前日期
- # last1MonthDateStr = time.strftime("%Y-%m-%d");
- # 报告日期
- last1MonthDateStr = reportTime;#queryInfo["reportTime"].replace(".", "-")
- # 最近一个月
- lastMonthDate = np.datetime64(last1MonthDateStr, "D") - np.timedelta64(30 * month, 'D')
- lastMonthQueryTimesDf = df[df[1] >= str(lastMonthDate)]
- if queryReason != None and queryReason != "":
- lastMonthQueryTimesDf = lastMonthQueryTimesDf[lastMonthQueryTimesDf[3] == queryReason] # 第三列
- return lastMonthQueryTimesDf.shape[0];
- def getSelfLastMonthQueryTimes(df,month,reportTime):
- # 当前日期
- # last1MonthDateStr = time.strftime("%Y-%m-%d");
- # 报告日期
- last1MonthDateStr = reportTime;#queryInfo["reportTime"].replace(".", "-")
- # 最近一个月
- lastMonthDate = np.datetime64(last1MonthDateStr, "D") - np.timedelta64(30 * month, 'D')
- lastMonthQueryTimesDf = df[df[1] >= str(lastMonthDate)]
- rules = r'.*?' + '本人' + '.*'
- lastMonthQueryTimesDf = lastMonthQueryTimesDf[lastMonthQueryTimesDf[3].str.contains(rules)]
- # lastMonthQueryTimesDf = lastMonthQueryTimesDf[lastMonthQueryTimesDf[3] == queryReason] # 第三列
- return lastMonthQueryTimesDf.shape[0];
- # 获取最近几个月查询机构次数
- def getLastMonthQueryOrgTimes(df, month, queryReason,reportTime):
- # 当前日期
- # last1MonthDateStr = time.strftime("%Y-%m-%d");
- # 报告日期
- last1MonthDateStr = reportTime;#queryInfo["reportTime"].replace(".", "-")
- # 最近一个月
- lastMonthDate = np.datetime64(last1MonthDateStr, "D") - np.timedelta64(30 * month, 'D')
- lastMonthQueryTimesDf = df[df[1] >= str(lastMonthDate)]
- if queryReason != None and queryReason != "":
- lastMonthQueryTimesDf = lastMonthQueryTimesDf[lastMonthQueryTimesDf[3] == queryReason] # 第三列
- return lastMonthQueryTimesDf[2].unique().size;
- # 最后一次查询距离现在的月数贷款审批
- def getLastTimeQueryMonth(df, queryReason,reportTime):
- # 当前日期
- lastMonthQueryTimesDf = df;
- if queryReason != None and queryReason != "":
- lastMonthQueryTimesDf = df[df[3] == queryReason] # 第三列
- if not lastMonthQueryTimesDf.empty:
- lastMonthQueryTimesDf = lastMonthQueryTimesDf.reset_index(drop=True)
- lastMonthQueryDate = lastMonthQueryTimesDf.loc[0, :][1].replace(".", "-");
- return utils.difMonthReportTime(lastMonthQueryDate,reportTime)
- else:
- return None
- # 获取最近几个月查询机构次数--汇算帐
- #count(*) where (报告日期 - 查询日期的天数差)<=30 and 查询原因 != '贷后管理'
- def getLastMonthQueryOrgTimesNew(df, month, queryReason,reportTime):
- # 当前日期
- # last1MonthDateStr = time.strftime("%Y-%m-%d");
- # 报告日期
- last1MonthDateStr = reportTime;#queryInfo["reportTime"].replace(".", "-")
- # 最近一个月
- lastMonthDate = np.datetime64(last1MonthDateStr, "D") - np.timedelta64(30 * month, 'D')
- lastMonthQueryTimesDf = df[df[1] >= str(lastMonthDate)]
- if queryReason != None and queryReason != "":
- lastMonthQueryTimesDf = lastMonthQueryTimesDf[lastMonthQueryTimesDf[3] != queryReason] # 第三列
- return lastMonthQueryTimesDf[2].size;
- #新开发yuan
- #最近几个月欠税笔数
- def getPayRcdCountNew(payRcdDf,reportTime,month):
- # reportTime = str(np.datetime64(reportTime, "M")) + "-02"
- reportTime = utils.get_last_month_first_day_v2(reportTime)
- payDate = utils.getLastMonthDate(reportTime, month)
- # payRcdDfTmp = payRcdDf[payRcdDf['还款日期'] >= payDate]
- payRcdDfTmp = payRcdDf[(payRcdDf['还款日期'] > payDate) & (payRcdDf['还款日期'] <= reportTime)]
- payStatus = ["Z","G", "D", "C", "N", "M", "1", "2", "3", "4", "5", "6", "7"]
- payRcdTimesDf = payRcdDfTmp[payRcdDfTmp['还款状态'].isin(payStatus)]
- count = payRcdTimesDf["还款日期"].unique().size;
- return count
|