def getPaymentHistory(): listcus = getCustomerInfo() allpaymentdetail = Payment.objects() paymentafterfilter = [] for l in listcus: for pm in allpaymentdetail: if(pm.cus_id == l.cus_id ): paymentafterfilter.append(pm) return paymentafterfilter
def make_payment(vCus_id,vAmount,vPay_date): try: vtoday = datetime.now().strftime("%y-%m-%d-%H-%M-%S") #vuser = User.objects.get(id=vCus_id) vCustomer = Customer.objects(cus_id = vCus_id) lscd = CusDebit.objects(cus_id = vCus_id,status=1).order_by('loan_date') #Insert data in to Payment #------------------------------------------------------------------------- pt = Payment.objects() pt.cus_id = vCustomer pt.create_date= vtoday pt.pay_date= vPay_date pt.amount = vAmount pt.status = 1 #------------------------------------------------------------------------- for cd in lscd: analyze_payment(vCus_id,cd.id,vAmount,pt.id) except Exception as ex: print(ex)
def createMakePayment(vCus_id,vPayment_date,vPayment,loan_type): cus=Customer.objects.get(id=vCus_id) lsCusDebit =CusDebit.objects(cus_id = cus.id,status = 1).order_by('loan_date') createEstimatePayment(vCus_id,vPayment_date,vPayment) # create new a payment p = Payment() p.cus_id = cus p.pay_date = vPayment_date p.amount = vPayment p.status = 1 p.save() for cusDebit in lsCusDebit : cs=cusDebit if cs.total_debit_trailer > 0 and cs.total_debit_trailer < cs.total_debit : lsCus_debit_detail = CusDebitDetail.objects(cus_debit_id = cs.id) for c in lsCus_debit_detail : c.delete() lsCus_debit_detail_trailer = CusDebitDetailTrailer.objects(cus_debit_id = cs.id) for Cus_debit_detail_trailer in lsCus_debit_detail_trailer: cdt = Cus_debit_detail_trailer cd = CusDebitDetail() cd.cus_id = cdt.cus_id cd.cus_debit_id = cdt.cus_debit_id cd.from_date= cdt.from_date cd.to_date= cdt.to_date cd.rate = cdt.rate cd.start_cycle = cdt.start_cycle cd.amount = cdt.amount cd.payment = cdt.payment cd.end_cycle = cdt.end_cycle cd.debit = cdt.debit cd.status = cdt.status cd.days = cdt.days cd.create_date= cdt.create_date cd.flag = cdt.flag cd.index = cdt.index cd.save() cus_debit_detail_trailer = CusDebitDetailTrailer.objects.get(cus_debit_id = cs.id,flag = 1) cs.total_debit =cs.total_debit_trailer cs.status = 0 cs.payment = cus_debit_detail_trailer.payment cs.last_close_date = cus_debit_detail_trailer.to_date cs.save() #insert payment_detail pd = PaymentDetail() pd.payment_id = p pd.cus_debit_id = cs pd.cus_id = cus pd.debit = cus_debit_detail_trailer.payment pd.payment = cus_debit_detail_trailer.payment pd.cus_debit_detail_id = cus_debit_detail_trailer pd.status = 1 pd.save() #insert record missing createcusdebit(cus,cs.last_close_date,cs.total_debit,cs.rate,cs.cycle,loan_type,'') elif cs.total_debit_trailer == 0 : print("update status=0") cus_debit_detail_trailer = CusDebitDetailTrailer.objects.get(cus_debit_id = cs.id,flag = 1) cs.total_debit =cs.total_debit_trailer cs.status = 0 cs.payment = cus_debit_detail_trailer.payment cs.last_close_date = cus_debit_detail_trailer.to_date cs.save() #insert payment_detail pd = PaymentDetail() pd.payment_id = p pd.cus_debit_id = cs pd.cus_id = cus pb.debit = cus_debit_detail_trailer.payment pd.payment = cus_debit_detail_trailer.payment pb.cus_debit_detail_id = cus_debit_detail_trailer pd.status = 1 pd.save() elif cs.total_debit_trailer == cs.total_debit : print("no update ")