diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2023-07-18 03:49:50 +0000 |
|---|---|---|
| committer | IT Fixcomart <it@fixcomart.co.id> | 2023-07-18 03:49:50 +0000 |
| commit | 999725ea036840d74c7fdeebbd3aefac772bd8d3 (patch) | |
| tree | 287639ccb8e05af2597f23694c7d1325bbdc6d63 | |
| parent | 5b1c2054e3ca176a3705c6d0a84e33867ad1c945 (diff) | |
| parent | d5319d565a4b40cc6fe5b7fa8f9abc507f09e752 (diff) | |
Merged in feature/voucher (pull request #57)
Add amount voucher on sale order and update api
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 5 | ||||
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 2 | ||||
| -rwxr-xr-x | indoteknik_custom/views/sale_order.xml | 6 |
3 files changed, 12 insertions, 1 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index e036751e..713b3bff 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -342,8 +342,10 @@ class SaleOrder(controller.Controller): ('code', '=', params['value']['voucher']) ]) if voucher: - sale_order.voucher_id = voucher.id voucher_discount = voucher.calculate_discount(amount_untaxed) + sale_order.voucher_id = voucher.id + sale_order.amount_voucher_disc = voucher_discount + total_qty = sum(line.product_uom_qty for line in sale_order.order_line) voucher_discount_item = voucher_discount / total_qty for line in sale_order.order_line: @@ -351,6 +353,7 @@ class SaleOrder(controller.Controller): voucher_discount_line = voucher_discount_item / (1 - discount_decimal) price = line.price_unit - voucher_discount_line line.price_unit = price + line.amount_voucher_disc = voucher_discount_item * line.product_uom_qty return self.response({ 'id': sale_order.id, diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 3d0dfc17..e151bf22 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -88,6 +88,7 @@ class SaleOrder(models.Model): npwp = fields.Char(string="NPWP") purchase_total = fields.Monetary(string='Purchase Total', compute='_compute_purchase_total') voucher_id = fields.Many2one(comodel_name='voucher', string='Voucher') + amount_voucher_disc = fields.Float(string='Voucher Discount') def _compute_purchase_total(self): for order in self: @@ -589,6 +590,7 @@ class SaleOrderLine(models.Model): line_no = fields.Integer('No', default=0, copy=False) note_procurement = fields.Char(string='Note', help="Harap diisi jika ada keterangan tambahan dari Procurement, agar dapat dimonitoring") vendor_subtotal = fields.Float(string='Vendor Subtotal', compute="_compute_vendor_subtotal") + amount_voucher_disc = fields.Float(string='Voucher Discount') def _compute_vendor_subtotal(self): for line in self: diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml index b55fefff..7679f92d 100755 --- a/indoteknik_custom/views/sale_order.xml +++ b/indoteknik_custom/views/sale_order.xml @@ -71,12 +71,18 @@ <field name="item_percent_margin"/> <field name="note_procurement" optional="hide"/> <field name="vendor_subtotal" optional="hide"/> + <field name="amount_voucher_disc" string="Voucher" optional="hide"/> </xpath> <xpath expr="//form/sheet/notebook/page/field[@name='order_line']/tree/field[@name='product_id']" position="before"> <field name="line_no" readonly="1" optional="hide"/> </xpath> <field name="amount_total" position="after"> <field name="grand_total"/> + <label for="amount_voucher_disc" string="Voucher" /> + <div> + <field class="mb-0" name="amount_voucher_disc" string="Voucher"/> + <div class="text-right mb-2"><small>*Hanya informasi</small></div> + </div> <field name="total_margin"/> <field name="total_percent_margin"/> </field> |
