From 24afe5ec17b16700aca266699a5963f23380f63e Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Fri, 24 Oct 2025 16:11:57 +0700 Subject: (andri) fix stock live --- indoteknik_api/controllers/api_v1/product.py | 72 ++++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) (limited to 'indoteknik_api/controllers/api_v1') diff --git a/indoteknik_api/controllers/api_v1/product.py b/indoteknik_api/controllers/api_v1/product.py index e97a7ff8..2aeba7e8 100644 --- a/indoteknik_api/controllers/api_v1/product.py +++ b/indoteknik_api/controllers/api_v1/product.py @@ -108,10 +108,10 @@ class Product(controller.Controller): ('product_id', '=', id), ('is_winner', '=', True) ]) - stock_vendor = request.env['stock.vendor'].search([ - ('product_variant_id', '=', id), - ('write_date', '>=', date_7_days_ago.strftime("%Y-%m-%d %H:%M:%S")) - ], limit=1) + # stock_vendor = request.env['stock.vendor'].search([ + # ('product_variant_id', '=', id), + # ('write_date', '>=', date_7_days_ago.strftime("%Y-%m-%d %H:%M:%S")) + # ], limit=1) product = product_pruchase.product_id @@ -136,38 +136,38 @@ class Product(controller.Controller): sla_date = f'{slatime} Hari' # Qty Stock Vendor - qty_vendor = stock_vendor.quantity - qty_vendor -= int(qty_vendor * 0.1) - qty_vendor = math.ceil(float(qty_vendor)) - total_excell = qty_vendor - - is_altama_product = product.x_manufacture.id in [10, 122, 89] - if is_altama_product: - try: - # Qty Altama - qty_altama = request.env['product.template'].get_stock_altama( - product.default_code) - qty_altama -= int(qty_altama * 0.1) - qty_altama = math.ceil(float(qty_altama)) - total_adem = qty_altama - - if qty_available > 0: - qty = qty_available + total_adem + total_excell - sla_date = '1 Hari' - elif qty_altama > 0 or qty_vendor > 0: - qty = total_adem if qty_altama > 0 else total_excell - sla_date = f'{slatime} Hari' - else: - sla_date = f'{slatime} Hari' - except: - print('error') - else: - if qty_available > 0: - qty = qty_available - sla_date = f'1 Hari' - elif qty_vendor > 0: - qty = total_excell - sla_date = f'{slatime} Hari' + # qty_vendor = stock_vendor.quantity + # qty_vendor -= int(qty_vendor * 0.1) + # qty_vendor = math.ceil(float(qty_vendor)) + # total_excell = qty_vendor + + # is_altama_product = product.x_manufacture.id in [10, 122, 89] + # if is_altama_product: + # try: + # # Qty Altama + # qty_altama = request.env['product.template'].get_stock_altama( + # product.default_code) + # qty_altama -= int(qty_altama * 0.1) + # qty_altama = math.ceil(float(qty_altama)) + # total_adem = qty_altama + + # if qty_available > 0: + # qty = qty_available + total_adem + total_excell + # sla_date = '1 Hari' + # elif qty_altama > 0 or qty_vendor > 0: + # qty = total_adem if qty_altama > 0 else total_excell + # sla_date = f'{slatime} Hari' + # else: + # sla_date = f'{slatime} Hari' + # except: + # print('error') + # else: + # if qty_available > 0: + # qty = qty_available + # sla_date = f'1 Hari' + # elif qty_vendor > 0: + # qty = total_excell + # sla_date = f'{slatime} Hari' data = { 'qty': qty, -- cgit v1.2.3 From a45c6abe62390a45164ba27608f348954066c935 Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Fri, 24 Oct 2025 16:21:23 +0700 Subject: (andri) fox --- indoteknik_api/controllers/api_v1/product.py | 72 ++++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) (limited to 'indoteknik_api/controllers/api_v1') diff --git a/indoteknik_api/controllers/api_v1/product.py b/indoteknik_api/controllers/api_v1/product.py index 2aeba7e8..e97a7ff8 100644 --- a/indoteknik_api/controllers/api_v1/product.py +++ b/indoteknik_api/controllers/api_v1/product.py @@ -108,10 +108,10 @@ class Product(controller.Controller): ('product_id', '=', id), ('is_winner', '=', True) ]) - # stock_vendor = request.env['stock.vendor'].search([ - # ('product_variant_id', '=', id), - # ('write_date', '>=', date_7_days_ago.strftime("%Y-%m-%d %H:%M:%S")) - # ], limit=1) + stock_vendor = request.env['stock.vendor'].search([ + ('product_variant_id', '=', id), + ('write_date', '>=', date_7_days_ago.strftime("%Y-%m-%d %H:%M:%S")) + ], limit=1) product = product_pruchase.product_id @@ -136,38 +136,38 @@ class Product(controller.Controller): sla_date = f'{slatime} Hari' # Qty Stock Vendor - # qty_vendor = stock_vendor.quantity - # qty_vendor -= int(qty_vendor * 0.1) - # qty_vendor = math.ceil(float(qty_vendor)) - # total_excell = qty_vendor - - # is_altama_product = product.x_manufacture.id in [10, 122, 89] - # if is_altama_product: - # try: - # # Qty Altama - # qty_altama = request.env['product.template'].get_stock_altama( - # product.default_code) - # qty_altama -= int(qty_altama * 0.1) - # qty_altama = math.ceil(float(qty_altama)) - # total_adem = qty_altama - - # if qty_available > 0: - # qty = qty_available + total_adem + total_excell - # sla_date = '1 Hari' - # elif qty_altama > 0 or qty_vendor > 0: - # qty = total_adem if qty_altama > 0 else total_excell - # sla_date = f'{slatime} Hari' - # else: - # sla_date = f'{slatime} Hari' - # except: - # print('error') - # else: - # if qty_available > 0: - # qty = qty_available - # sla_date = f'1 Hari' - # elif qty_vendor > 0: - # qty = total_excell - # sla_date = f'{slatime} Hari' + qty_vendor = stock_vendor.quantity + qty_vendor -= int(qty_vendor * 0.1) + qty_vendor = math.ceil(float(qty_vendor)) + total_excell = qty_vendor + + is_altama_product = product.x_manufacture.id in [10, 122, 89] + if is_altama_product: + try: + # Qty Altama + qty_altama = request.env['product.template'].get_stock_altama( + product.default_code) + qty_altama -= int(qty_altama * 0.1) + qty_altama = math.ceil(float(qty_altama)) + total_adem = qty_altama + + if qty_available > 0: + qty = qty_available + total_adem + total_excell + sla_date = '1 Hari' + elif qty_altama > 0 or qty_vendor > 0: + qty = total_adem if qty_altama > 0 else total_excell + sla_date = f'{slatime} Hari' + else: + sla_date = f'{slatime} Hari' + except: + print('error') + else: + if qty_available > 0: + qty = qty_available + sla_date = f'1 Hari' + elif qty_vendor > 0: + qty = total_excell + sla_date = f'{slatime} Hari' data = { 'qty': qty, -- cgit v1.2.3 From b7658e977fb0697345fe34f88e6d0c312dc9bf4b Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Fri, 24 Oct 2025 17:00:07 +0700 Subject: (andri) fix --- indoteknik_api/controllers/api_v1/product.py | 85 +++++++++++++++------------- 1 file changed, 46 insertions(+), 39 deletions(-) (limited to 'indoteknik_api/controllers/api_v1') diff --git a/indoteknik_api/controllers/api_v1/product.py b/indoteknik_api/controllers/api_v1/product.py index e97a7ff8..0eba92b4 100644 --- a/indoteknik_api/controllers/api_v1/product.py +++ b/indoteknik_api/controllers/api_v1/product.py @@ -103,17 +103,21 @@ class Product(controller.Controller): @controller.Controller.must_authorized() def get_product_template_stock_by_id(self, **kw): id = int(kw.get('id')) - date_7_days_ago = datetime.now() - timedelta(days=7) + # date_7_days_ago = datetime.now() - timedelta(days=7) + product = request.env['product.product'].search([('id', '=', id)], limit=1) + if not product: + return self.response({'qty': 0, 'sla_date': 'N/A'}, headers=[('Cache-Control', 'max-age=600, private')]) + product_pruchase = request.env['purchase.pricelist'].search([ ('product_id', '=', id), ('is_winner', '=', True) - ]) - stock_vendor = request.env['stock.vendor'].search([ - ('product_variant_id', '=', id), - ('write_date', '>=', date_7_days_ago.strftime("%Y-%m-%d %H:%M:%S")) ], limit=1) + # stock_vendor = request.env['stock.vendor'].search([ + # ('product_variant_id', '=', id), + # ('write_date', '>=', date_7_days_ago.strftime("%Y-%m-%d %H:%M:%S")) + # ], limit=1) - product = product_pruchase.product_id + # product = product_pruchase.product_id vendor_sla = request.env['vendor.sla'].search([('id_vendor', '=', product_pruchase.vendor_id.id)], limit=1) slatime = 15 @@ -132,42 +136,45 @@ class Product(controller.Controller): if qty_available < 1 : qty_available = 0 - qty = 0 + # qty = 0 + qty = qty_available sla_date = f'{slatime} Hari' + if qty_available > 0: + sla_date = '1 Hari' # Qty Stock Vendor - qty_vendor = stock_vendor.quantity - qty_vendor -= int(qty_vendor * 0.1) - qty_vendor = math.ceil(float(qty_vendor)) - total_excell = qty_vendor - - is_altama_product = product.x_manufacture.id in [10, 122, 89] - if is_altama_product: - try: - # Qty Altama - qty_altama = request.env['product.template'].get_stock_altama( - product.default_code) - qty_altama -= int(qty_altama * 0.1) - qty_altama = math.ceil(float(qty_altama)) - total_adem = qty_altama - - if qty_available > 0: - qty = qty_available + total_adem + total_excell - sla_date = '1 Hari' - elif qty_altama > 0 or qty_vendor > 0: - qty = total_adem if qty_altama > 0 else total_excell - sla_date = f'{slatime} Hari' - else: - sla_date = f'{slatime} Hari' - except: - print('error') - else: - if qty_available > 0: - qty = qty_available - sla_date = f'1 Hari' - elif qty_vendor > 0: - qty = total_excell - sla_date = f'{slatime} Hari' + # qty_vendor = stock_vendor.quantity + # qty_vendor -= int(qty_vendor * 0.1) + # qty_vendor = math.ceil(float(qty_vendor)) + # total_excell = qty_vendor + + # is_altama_product = product.x_manufacture.id in [10, 122, 89] + # if is_altama_product: + # try: + # # Qty Altama + # qty_altama = request.env['product.template'].get_stock_altama( + # product.default_code) + # qty_altama -= int(qty_altama * 0.1) + # qty_altama = math.ceil(float(qty_altama)) + # total_adem = qty_altama + + # if qty_available > 0: + # qty = qty_available + total_adem + total_excell + # sla_date = '1 Hari' + # elif qty_altama > 0 or qty_vendor > 0: + # qty = total_adem if qty_altama > 0 else total_excell + # sla_date = f'{slatime} Hari' + # else: + # sla_date = f'{slatime} Hari' + # except: + # print('error') + # else: + # if qty_available > 0: + # qty = qty_available + # sla_date = f'1 Hari' + # elif qty_vendor > 0: + # qty = total_excell + # sla_date = f'{slatime} Hari' data = { 'qty': qty, -- cgit v1.2.3 From 7a2361f0e6fbc4d3bcadd4f6c360f2337049f3cc Mon Sep 17 00:00:00 2001 From: FIN-IT_AndriFP Date: Fri, 24 Oct 2025 18:53:56 +0700 Subject: (andri) fix --- indoteknik_api/controllers/api_v1/product.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indoteknik_api/controllers/api_v1') diff --git a/indoteknik_api/controllers/api_v1/product.py b/indoteknik_api/controllers/api_v1/product.py index 0eba92b4..2f546078 100644 --- a/indoteknik_api/controllers/api_v1/product.py +++ b/indoteknik_api/controllers/api_v1/product.py @@ -252,6 +252,8 @@ class Product(controller.Controller): [('id', '=', id)], limit=1) qty_available = product.qty_free_bandengan + if qty_available < 1: + qty_available = 0 data = { 'qty': qty_available, -- cgit v1.2.3