Commit a8eec3e2 by Solo Group

advice

1 parent 838b9d62
...@@ -187,11 +187,11 @@ def purchase(request, data, **kwargs): ...@@ -187,11 +187,11 @@ def purchase(request, data, **kwargs):
r_data = [] r_data = []
log.info("%s Payment Request: %s" % (customer.kode, data)) log.info("%s Payment Request: %s" % (customer.kode, data))
for dat in data: for dat in data:
if "inv_no" not in dat or "produk" not in dat or not dat["produk"]: if "invoice_no" not in dat or "produk" not in dat or not dat["produk"]:
dat["status"] = "FAILED" dat["status"] = "FAILED"
dat["message"] = "Parameter tidak lengkap" dat["message"] = "Parameter tidak lengkap"
else: else:
inv_no = dat["inv_no"] inv_no = dat["invoice_no"]
produk = dat["produk"] produk = dat["produk"]
# todo cek apakah invoice sudah ada atau belum # todo cek apakah invoice sudah ada atau belum
ar_invoice = H2hArInvoice.query().filter_by(cust_inv_no=inv_no).first() ar_invoice = H2hArInvoice.query().filter_by(cust_inv_no=inv_no).first()
...@@ -288,26 +288,42 @@ def advice(request, token, data): ...@@ -288,26 +288,42 @@ def advice(request, token, data):
customer = Partner.query_user(user) customer = Partner.query_user(user)
r_data = [] r_data = []
for dat in data: for dat in data:
cust_inv = dat["inv_no"] if "inv_no" not in dat:
partner_log = PartnerLog.query().filter( dat["status"] = "FAILED"
PartnerLog.cust_inv == cust_inv dat["message"] = "Parameter tidak lengkap"
).all() else:
inv_no = dat["invoice_no"]
invoice = H2hArInvoice.query()\
.filter_by(cust_inv_no = inv_no,
customer_id = customer.id).first()
if not invoice:
dat["status"] = "FAILED"
dat["message"] = "Invoice %s Tidak Ditemukan" % inv_no
else:
qry = H2hArInvoiceDet.query().filter_by(ar_invoice_id=invoice.id)
if "produk" in dat:
# for p in dat["produk"]:
# prods.append(p["denom"])
# invoice_det = produk.q
pass
# else:
# qry.filter(H2hArInvoiceDet.status!=1)
r_prod = [] r_prod = []
for p in partner_log: for p in qry.all():
produk = PartnerProduk.query(). \ produk = Produk.query(). \
filter(PartnerProduk.partner_id == p.vendor_id, filter(Produk.id == p.produk_id).first()
PartnerProduk.produk_id == p.produk_id).first()
status = p.status == 0 and 'PENDING' or p.status == 1 and 'SUCCESS' \ status = p.status == -1 and 'PENDING' or p.status == 1 and 'SUCCESS' \
or p.status == 2 and 'FAILED' or p.status == -2 and 'PENDING'
r_prod.append(dict(denom=produk.kode, r_prod.append(dict(denom=produk.kode,
id_pel=partner_log["id_pel"], id_pel=p["id_pel"],
subtotal=partner_log["amt_sell"] + partner_log["discount"], subtotal=p["amt_sell"] + p["discount"],
discount=partner_log["discount"], discount=p["discount"],
total=partner_log["amt_sell"], total=p["amt_sell"],
status=status, status=status,
serial_number=partner_log.serial_number, ) serial_number=p.serial_number, )
) )
dat["produk"] = r_prod dat["produk"] = r_prod
......
...@@ -75,7 +75,6 @@ class VendorClass(object): ...@@ -75,7 +75,6 @@ class VendorClass(object):
if self.amt_buy: if self.amt_buy:
self.invoice_det.amt_buy = self.amt_buy self.invoice_det.amt_buy = self.amt_buy
if typ == 'inquiry': if typ == 'inquiry':
self.invoice_det.inquiry = dict(request=self.request, self.invoice_det.inquiry = dict(request=self.request,
response=self.response) response=self.response)
...@@ -123,7 +122,6 @@ class Other(object): ...@@ -123,7 +122,6 @@ class Other(object):
# cust_trx_id = cust_trx_id, row = row, # cust_trx_id = cust_trx_id, row = row,
# #
def get_product(self): def get_product(self):
pass pass
...@@ -194,12 +192,14 @@ def proses_odeo(request): ...@@ -194,12 +192,14 @@ def proses_odeo(request):
else: else:
order.status = -2 order.status = -2
order.notify = dict(post=data) order.notify = dict(post=data)
if "sn" in "data" and data["sn"]:
order.serial_number = data["sn"]
flush_row(order) flush_row(order)
#todo: add to customer notify table # todo: add to customer notify table
#todo: create cron for notify # todo: create cron for notify
#proses jika status 1 notify ada isinya tapi belum ada field result # proses jika status 1 notify ada isinya tapi belum ada field result
#todo: create cron torecurring order to other vendor # todo: create cron torecurring order to other vendor
#jika status = -2 proses vendor yang lain # jika status = -2 proses vendor yang lain
# #
# customer = Partner.query_id(order.customer_id).first() # customer = Partner.query_id(order.customer_id).first()
# if customer and customer.website: # if customer and customer.website:
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!