summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xindoteknik_custom/models/sale_order.py9
-rw-r--r--indoteknik_custom/models/sales_order_fullfillment.py17
-rwxr-xr-xindoteknik_custom/security/ir.model.access.csv1
-rwxr-xr-xindoteknik_custom/views/sale_order.xml21
4 files changed, 44 insertions, 4 deletions
diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py
index a0d70059..75332996 100755
--- a/indoteknik_custom/models/sale_order.py
+++ b/indoteknik_custom/models/sale_order.py
@@ -11,6 +11,7 @@ _logger = logging.getLogger(__name__)
class SaleOrder(models.Model):
_inherit = "sale.order"
+ fulfillment_line_v2 = fields.One2many('sales.order.fulfillment.v2', 'sale_order_id', string='Fullfillment2')
fullfillment_line = fields.One2many('sales.order.fullfillment', 'sales_order_id', string='Fullfillment')
reject_line = fields.One2many('sales.order.reject', 'sale_order_id', string='Reject Lines')
order_sales_match_line = fields.One2many('sales.order.purchase.match', 'sales_order_id', string='Purchase Match Lines', states={'cancel': [('readonly', True)], 'done': [('readonly', True)]}, copy=True)
@@ -346,10 +347,10 @@ class SaleOrder(models.Model):
def _compute_fullfillment(self):
for rec in self:
- rec.fullfillment_line.unlink()
-
- for line in rec.order_line:
- line._compute_reserved_from()
+ # rec.fullfillment_line.unlink()
+ #
+ # for line in rec.order_line:
+ # line._compute_reserved_from()
rec.compute_fullfillment = True
diff --git a/indoteknik_custom/models/sales_order_fullfillment.py b/indoteknik_custom/models/sales_order_fullfillment.py
index ab416e8d..42544c15 100644
--- a/indoteknik_custom/models/sales_order_fullfillment.py
+++ b/indoteknik_custom/models/sales_order_fullfillment.py
@@ -6,6 +6,23 @@ import logging
_logger = logging.getLogger(__name__)
+class SalesOrderFullfillmentV2(models.Model):
+ _name = 'sales.order.fulfillment.v2'
+
+ sale_order_id = fields.Many2one('sale.order', string='Sale Order')
+ sale_order_line_id = fields.Many2one('sale.order.line', string='Sale Order Line')
+ picking_id = fields.Many2one('stock.picking', string='Picking')
+ move_id = fields.Many2one('stock.move', string='Move')
+ move_line_id = fields.Many2one('stock.move.line', string='Move Line')
+ product_id = fields.Many2one('product.product', string='Product')
+ so_qty = fields.Float(string='SO Qty')
+ reserved_stock_qty = fields.Float(string='Reserved Stock Qty', help='Sudah ter-reserved oleh sistem')
+ delivered_qty = fields.Float(string='Delivered Qty', help='Yang sudah terkirim ke Customer')
+ po_ids = fields.Many2many('purchase.order', string='Purchase Order', help='PO yang dibuat, bisa lebih dari satu')
+ po_qty = fields.Float(string='PO Qty', help='Totalan dari semua PO Outstanding')
+ received_qty = fields.Float(string='Received Qty', help='Totalan dari barang yang diterima dari PO tsb')
+
+
class SalesOrderFullfillment(models.Model):
_name = 'sales.order.fullfillment'
diff --git a/indoteknik_custom/security/ir.model.access.csv b/indoteknik_custom/security/ir.model.access.csv
index 49b38e6a..e817a28d 100755
--- a/indoteknik_custom/security/ir.model.access.csv
+++ b/indoteknik_custom/security/ir.model.access.csv
@@ -145,3 +145,4 @@ access_v_brand_product_category,access.v.brand.product.category,model_v_brand_pr
access_web_find_page,access.web.find.page,model_web_find_page,,1,1,1,1
access_v_requisition_match_po,access.v.requisition.match.po,model_v_requisition_match_po,,1,1,1,1
access_approval_retur_picking,access.approval.retur.picking,model_approval_retur_picking,,1,1,1,1
+access_sales_order_fulfillment_v2,access.sales.order.fulfillment.v2,model_sales_order_fulfillment_v2,,1,1,1,1
diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml
index 88fcd8a1..ca27c2ed 100755
--- a/indoteknik_custom/views/sale_order.xml
+++ b/indoteknik_custom/views/sale_order.xml
@@ -227,6 +227,9 @@
<page string="Fullfillment" name="page_sale_order_fullfillment">
<field name="fullfillment_line" readonly="1"/>
</page>
+ <page string="Fulfillment v2" name="page_sale_order_fullfillment2">
+ <field name="fulfillment_line_v2" readonly="1"/>
+ </page>
<page string="Reject Line" name="page_sale_order_reject_line">
<field name="reject_line" readonly="1"/>
</page>
@@ -342,6 +345,24 @@
</data>
<data>
+
+ </data>
+ <record id="sales_order_fulfillment_v2_tree" model="ir.ui.view">
+ <field name="name">sales.order.fulfillment.v2.tree</field>
+ <field name="model">sales.order.fulfillment.v2</field>
+ <field name="arch" type="xml">
+ <tree editable="top" create="false">
+ <field name="product_id" readonly="1"/>
+ <field name="so_qty" readonly="1" optional="hide"/>
+ <field name="reserved_stock_qty" readonly="1" optional="hide"/>
+ <field name="delivered_qty" readonly="1" optional="hide"/>
+ <field name="po_ids" widget="many2many_tags" readonly="1" optional="hide"/>
+ <field name="po_qty" readonly="1" optional="hide"/>
+ <field name="received_qty" readonly="1" optional="hide"/>
+ </tree>
+ </field>
+ </record>
+ <data>
<record id="sales_order_fullfillmet_tree" model="ir.ui.view">
<field name="name">sales.order.fullfillment.tree</field>
<field name="model">sales.order.fullfillment</field>