Exemplo n.º 1
0
def insert_rep(loan_apply_id,tran_no,last_repayment_day,crnt_pr,arfn_pr,crnt_int,arfn_int):
    try:
        f_arfn_pr=float(arfn_pr)#已还本金
        f_arfn_int=float(arfn_int)#已还利息
        f_crnt_pr=float(crnt_pr)#应还本金
        f_crnt_int=float(crnt_int)#应还利息

        if f_arfn_int<f_crnt_int or f_arfn_pr<f_crnt_pr:
            if DAO_overdue.get_is_overdue(loan_apply_id,tran_no):
                status=2
            elif f_arfn_pr==0 and f_arfn_int==0:
                status=0
            else:
                status=1
        else:
            status=3

        total_repayment=f_arfn_pr+f_arfn_int
        logger.info("插入还款编号-"+str(loan_apply_id)+",期数-"+str(tran_no)+"")
        REP_INSERT_STR="INSERT INTO sc_repayment  \
                       (loan_apply_id,repayment_installments,re_principal,re_interest, \
                       clear_date,total_repayment,status)  \
                       VALUES  \
                       (%s,%s,%s,%s,%s,%s,%s)"%(loan_apply_id,tran_no,arfn_pr,arfn_int,last_repayment_day,total_repayment,status)
        INSERT_UPDATE_TRAN(REP_INSERT_STR)
    except:
        logger.exception('exception')

    return None
Exemplo n.º 2
0
def update_rep(loan_apply_id,tran_no,last_repayment_day,crnt_pr,arfn_pr,crnt_int,arfn_int,id):
    f_arfn_pr=float(arfn_pr)#已还本金
    f_arfn_int=float(arfn_int)#已还利息
    f_crnt_pr=float(crnt_pr)#应还本金
    f_crnt_int=float(crnt_int)#应还利息

    if f_arfn_int<f_crnt_int or f_arfn_pr<f_crnt_pr:
        if DAO_overdue.get_is_overdue(loan_apply_id,tran_no):
            status=2
        elif f_arfn_pr==0 and f_arfn_int==0:
            status=0
        else:
            status=1
    else:
        status=3

    total_repayment=f_arfn_pr+f_arfn_int

    logger.info("更新贷款编号-"+str(loan_apply_id)+",期数-"+str(tran_no)+"")

    REP_UPDATE_STR="UPDATE sc_repayment SET " \
                   "loan_apply_id=%s,repayment_installments=%s,re_principal=%f,re_interest=%f," \
                   "clear_date=%d,total_repayment=%f,status=%d " \
                   "WHERE id=%s"%(loan_apply_id,tran_no,arfn_pr,arfn_int,last_repayment_day,total_repayment,status,id)
    INSERT_UPDATE_TRAN(REP_UPDATE_STR)

    return None
Exemplo n.º 3
0
def get_is_overdue(loan_apply_id,installments):
    """
    判断贷款在当前期数在目前的时间是否已逾期
    @param loan_apply_id: 贷款编号
    @param installments: 期数
    @return:False 逾期 or True 未逾期
    """
    return DAO_overdue.get_is_overdue(loan_apply_id,installments)