@ -0,0 +1,50 @@ | 
				
			|||
.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg | 
				
			|||
    :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html | 
				
			|||
    :alt: License: AGPL-3 | 
				
			|||
 | 
				
			|||
Scrap Management | 
				
			|||
================ | 
				
			|||
* Module which helps manage scrap dismantle in company. | 
				
			|||
 | 
				
			|||
Configuration | 
				
			|||
============= | 
				
			|||
- Additional configuration not required | 
				
			|||
 | 
				
			|||
Company | 
				
			|||
------- | 
				
			|||
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ | 
				
			|||
 | 
				
			|||
License | 
				
			|||
------- | 
				
			|||
Affero General Public License, Version 3 (AGPL v3). | 
				
			|||
(https://www.gnu.org/licenses/agpl-3.0-standalone.html) | 
				
			|||
 | 
				
			|||
Credits | 
				
			|||
------- | 
				
			|||
*  Developer: | 
				
			|||
            (V16)Ranjith R, | 
				
			|||
            (V17)Safa Faheem PE, | 
				
			|||
            (V18)Gayathri V, | 
				
			|||
Contact : odoo@cybrosys.com | 
				
			|||
 | 
				
			|||
Contacts | 
				
			|||
-------- | 
				
			|||
* Mail Contact : odoo@cybrosys.com | 
				
			|||
* Website : https://cybrosys.com | 
				
			|||
 | 
				
			|||
Bug Tracker | 
				
			|||
----------- | 
				
			|||
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. | 
				
			|||
 | 
				
			|||
Maintainer | 
				
			|||
========== | 
				
			|||
.. image:: https://cybrosys.com/images/logo.png | 
				
			|||
   :target: https://cybrosys.com | 
				
			|||
 | 
				
			|||
This module is maintained by Cybrosys Technologies. | 
				
			|||
 | 
				
			|||
For support and more information, please visit `Our Website <https://cybrosys.com/>`__ | 
				
			|||
 | 
				
			|||
Further information | 
				
			|||
=================== | 
				
			|||
HTML Description: `<static/description/index.html>`__ | 
				
			|||
@ -0,0 +1,24 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    Author: Gayathri V (Contact : odoo@cybrosys.com) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU AFFERO | 
				
			|||
#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			|||
# | 
				
			|||
#    This program is distributed in the hope that it will be useful, | 
				
			|||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			|||
#    (AGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
########################################################################### | 
				
			|||
from . import models | 
				
			|||
from . import report | 
				
			|||
from . import wizard | 
				
			|||
@ -0,0 +1,51 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    Author: Gayathri V (Contact : odoo@cybrosys.com) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU AFFERO | 
				
			|||
#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			|||
# | 
				
			|||
#    This program is distributed in the hope that it will be useful, | 
				
			|||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			|||
#    (AGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
########################################################################### | 
				
			|||
{ | 
				
			|||
    'name': 'Scrap Management', | 
				
			|||
    'version': '18.0.1.0.0', | 
				
			|||
    'category': 'Inventory', | 
				
			|||
    'summary': 'Manage Scrap in a company', | 
				
			|||
    'description': """Module helps to dismantle the product having bom and move | 
				
			|||
     the useful parts to the stock""", | 
				
			|||
    'author': 'Cybrosys Techno Solutions', | 
				
			|||
    'company': 'Cybrosys Techno Solutions', | 
				
			|||
    'maintainer': 'Cybrosys Techno Solutions', | 
				
			|||
    'website': 'https://www.cybrosys.com', | 
				
			|||
    'depends': ['mail', 'stock', 'mrp'], | 
				
			|||
    'data': [ | 
				
			|||
        'security/ir.model.access.csv', | 
				
			|||
        'data/ir_sequence_data.xml', | 
				
			|||
        'views/scrap_management_line_views.xml', | 
				
			|||
        'views/scrap_management_views.xml', | 
				
			|||
        'views/stock_scrap_views.xml', | 
				
			|||
        'report/scrap_management_template.xml', | 
				
			|||
        'report/scrap_management_state_wise_template.xml', | 
				
			|||
        'report/scrap_management_reports.xml', | 
				
			|||
        'report/scrap_management_product_wise_template.xml', | 
				
			|||
        'wizard/scrap_management_report_views.xml', | 
				
			|||
    ], | 
				
			|||
    'images': ['static/description/banner.jpg'], | 
				
			|||
    'license': 'AGPL-3', | 
				
			|||
    'installable': True, | 
				
			|||
    'auto_install': False, | 
				
			|||
    'application': False, | 
				
			|||
} | 
				
			|||
@ -0,0 +1,15 @@ | 
				
			|||
<?xml version="1.0" encoding="utf-8"?> | 
				
			|||
<odoo> | 
				
			|||
    <!-- Sequence for scrap management model --> | 
				
			|||
    <data noupdate="1"> | 
				
			|||
        <record id="sequence_scrap_management" model="ir.sequence"> | 
				
			|||
            <field name="name">Scrap Management</field> | 
				
			|||
            <field name="code">scrap.management</field> | 
				
			|||
            <field name="active">TRUE</field> | 
				
			|||
            <field name="prefix">SM</field> | 
				
			|||
            <field name="padding">6</field> | 
				
			|||
            <field name="number_next">1</field> | 
				
			|||
            <field name="number_increment">1</field> | 
				
			|||
        </record> | 
				
			|||
    </data> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,6 @@ | 
				
			|||
## Module <company_scrap_management> | 
				
			|||
 | 
				
			|||
#### 27.12.2024 | 
				
			|||
#### Version 18.0.1.0.0 | 
				
			|||
#### ADD | 
				
			|||
- Initial commit for Scrap Management | 
				
			|||
@ -0,0 +1,24 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    Author: Gayathri V (Contact : odoo@cybrosys.com) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU AFFERO | 
				
			|||
#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			|||
# | 
				
			|||
#    This program is distributed in the hope that it will be useful, | 
				
			|||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			|||
#    (AGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
########################################################################### | 
				
			|||
from . import scrap_management | 
				
			|||
from . import scrap_management_line | 
				
			|||
from . import stock_scrap | 
				
			|||
@ -0,0 +1,149 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    Author: Gayathri V (Contact : odoo@cybrosys.com) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU AFFERO | 
				
			|||
#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			|||
# | 
				
			|||
#    This program is distributed in the hope that it will be useful, | 
				
			|||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			|||
#    (AGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
########################################################################### | 
				
			|||
from datetime import date | 
				
			|||
from odoo import api, fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class ScrapManagement(models.Model): | 
				
			|||
    """ This class define a new model for scrap management.""" | 
				
			|||
    _name = "scrap.management" | 
				
			|||
    _description = "Scrap Management" | 
				
			|||
    _inherit = ['mail.thread', 'mail.activity.mixin'] | 
				
			|||
    _rec_name = 'scrap_management_number' | 
				
			|||
 | 
				
			|||
    scrap_management_number = fields.Char( | 
				
			|||
        string="Scrap Number", readonly=True, required=True, copy=False, | 
				
			|||
        default="New", help="Field to specify sequence number") | 
				
			|||
    scrap_order_id = fields.Many2one( | 
				
			|||
        'stock.scrap', String="Scrap Order", required=True, | 
				
			|||
        help="Field to choose  scrap order", | 
				
			|||
        domain="[('state', '=','done')," | 
				
			|||
               "('typ_of_reuse','=','dismantle')," | 
				
			|||
               "('state_management', '=','none')]") | 
				
			|||
    bill_of_material_id = fields.Many2one( | 
				
			|||
        'mrp.bom', related="scrap_order_id.bill_of_material_id", | 
				
			|||
        string="Bill of Material", help="Field to choose bill of material") | 
				
			|||
    product_id = fields.Many2one( | 
				
			|||
        'product.product', | 
				
			|||
        String="Product", related="scrap_order_id.product_id", | 
				
			|||
        help="Field to choose product") | 
				
			|||
    date = fields.Date(string="Date", help="field to give the date") | 
				
			|||
    qty = fields.Float(String="Quantity", related="scrap_order_id.scrap_qty", | 
				
			|||
                       help="Field to specify quantity") | 
				
			|||
    scrap_management_line_ids = fields.One2many( | 
				
			|||
        'scrap.management.line', 'scrap_management_id', | 
				
			|||
        string="Components", help="Field to specify components") | 
				
			|||
    location_id = fields.Many2one( | 
				
			|||
        'stock.location', String="Transfer location", | 
				
			|||
        domain="[('usage','=','internal')]", required=True, | 
				
			|||
        help="Field to specify location") | 
				
			|||
    state = fields.Selection( | 
				
			|||
        [('draft', 'Draft'), ('confirm', 'Confirm'), ('done', 'Done')], | 
				
			|||
        string="State", default="draft", | 
				
			|||
        help="Field to specify state of Scrap Management") | 
				
			|||
 | 
				
			|||
    @api.model | 
				
			|||
    def create(self, vals): | 
				
			|||
        """ | 
				
			|||
           Summary: | 
				
			|||
               function return sequence number for record | 
				
			|||
           Args: | 
				
			|||
               vals:To store the sequence created | 
				
			|||
           return: | 
				
			|||
                result:return sequence created | 
				
			|||
         """ | 
				
			|||
        if vals.get('scrap_management_number', 'New') == 'New': | 
				
			|||
            vals['scrap_management_number'] = self.env[ | 
				
			|||
                                                  'ir.sequence'].next_by_code( | 
				
			|||
                'scrap.management') or 'New' | 
				
			|||
            result = super(ScrapManagement, self).create(vals) | 
				
			|||
            return result | 
				
			|||
 | 
				
			|||
    def action_confirm(self): | 
				
			|||
        """Function to confirm the Scrap Management and add value to one2many""" | 
				
			|||
        for line in self.bill_of_material_id.bom_line_ids: | 
				
			|||
            if line.product_id.type not in ['combo', 'service']: | 
				
			|||
                self.write({ | 
				
			|||
                    'scrap_management_line_ids': [ | 
				
			|||
                        (0, 0, {'product_id': line.product_id.id, | 
				
			|||
                                'dismantle_qty': (self.qty * line.product_qty)})], | 
				
			|||
                }) | 
				
			|||
        self.write({ | 
				
			|||
            'state': "confirm" | 
				
			|||
        }) | 
				
			|||
 | 
				
			|||
    def action_done(self): | 
				
			|||
        """Function to done the Scrap Management and | 
				
			|||
        add product move and stock quantity""" | 
				
			|||
        self.env['stock.quant'].create({ | 
				
			|||
            'location_id': self.scrap_order_id.scrap_location_id.id, | 
				
			|||
            'product_id': self.product_id.id, | 
				
			|||
            'quantity': 0 - self.qty | 
				
			|||
        }) | 
				
			|||
        for line in self.scrap_management_line_ids: | 
				
			|||
            scrap_qty = line.dismantle_qty - line.useful_qty | 
				
			|||
            if line.useful_qty > 0: | 
				
			|||
                self.env['stock.quant'].create({ | 
				
			|||
                    'location_id': self.location_id.id, | 
				
			|||
                    'product_id': line.product_id.id, | 
				
			|||
                    'quantity': line.useful_qty | 
				
			|||
                }) | 
				
			|||
                self.env['stock.move.line'].create({ | 
				
			|||
                    'reference': self.scrap_management_number, | 
				
			|||
                    'product_id': line.product_id.id, | 
				
			|||
                    'location_dest_id': self.location_id.id, | 
				
			|||
                    'quantity': line.useful_qty, | 
				
			|||
                    'company_id': self.env.company.id, | 
				
			|||
                    'location_id': self.scrap_order_id.scrap_location_id.id, | 
				
			|||
                    'state': "done" | 
				
			|||
                }) | 
				
			|||
            if scrap_qty > 0: | 
				
			|||
                self.env['stock.quant'].create({ | 
				
			|||
                    'location_id': self.scrap_order_id.scrap_location_id.id, | 
				
			|||
                    'product_id': line.product_id.id, | 
				
			|||
                    'quantity': scrap_qty | 
				
			|||
                }) | 
				
			|||
                self.env['stock.move.line'].create({ | 
				
			|||
                    'reference': self.scrap_management_number, | 
				
			|||
                    'product_id': line.product_id.id, | 
				
			|||
                    'quantity': scrap_qty, | 
				
			|||
                    'location_id': self.scrap_order_id.scrap_location_id.id, | 
				
			|||
                    'company_id': self.env.company.id, | 
				
			|||
                    'state': "done", | 
				
			|||
                    'location_dest_id': self.scrap_order_id.scrap_location_id.id | 
				
			|||
                }) | 
				
			|||
        self.write({ | 
				
			|||
            'state': "done" | 
				
			|||
        }) | 
				
			|||
        self.scrap_order_id.write({ | 
				
			|||
            'state_management': "dismantled" | 
				
			|||
        }) | 
				
			|||
        self.date = date.today() | 
				
			|||
 | 
				
			|||
    def action_product_moves(self): | 
				
			|||
        """Function to return the product moves""" | 
				
			|||
        return { | 
				
			|||
            'name': "Product Moves", | 
				
			|||
            'type': 'ir.actions.act_window', | 
				
			|||
            'view_mode': 'tree,form', | 
				
			|||
            'res_model': 'stock.move.line', | 
				
			|||
            'domain': [('reference', '=', self.scrap_management_number)]} | 
				
			|||
@ -0,0 +1,40 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    Author: Gayathri V (Contact : odoo@cybrosys.com) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU AFFERO | 
				
			|||
#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			|||
# | 
				
			|||
#    This program is distributed in the hope that it will be useful, | 
				
			|||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			|||
#    (AGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
########################################################################### | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class ScrapManagementLine(models.Model): | 
				
			|||
    """ This class define a new model for manage scrap components """ | 
				
			|||
    _name = "scrap.management.line" | 
				
			|||
    _description = "Scrap Management Line" | 
				
			|||
 | 
				
			|||
    product_id = fields.Many2one('product.product', | 
				
			|||
                                 String="Product", readonly=True, | 
				
			|||
                                 help="Field to specify product") | 
				
			|||
    scrap_management_id = fields.Many2one('scrap.management', | 
				
			|||
                                          String="Product", readonly=True, | 
				
			|||
                                          help="Field to specify " | 
				
			|||
                                               "scrap management order") | 
				
			|||
    dismantle_qty = fields.Integer(String="Available quantity", readonly=True, | 
				
			|||
                                   help="Field to specify total quantity") | 
				
			|||
    useful_qty = fields.Integer(string="Useful Product Quantity", | 
				
			|||
                                help="Field to specify useful quantity") | 
				
			|||
@ -0,0 +1,45 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    Author: Gayathri V(Contact : odoo@cybrosys.com) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU AFFERO | 
				
			|||
#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			|||
# | 
				
			|||
#    This program is distributed in the hope that it will be useful, | 
				
			|||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			|||
#    (AGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
########################################################################### | 
				
			|||
from odoo import fields, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class StockScrap(models.Model): | 
				
			|||
    """ This class inherit the model stock.scrap for adding some fields. """ | 
				
			|||
    _inherit = "stock.scrap" | 
				
			|||
 | 
				
			|||
    product_tmpl_id = fields.Many2one( | 
				
			|||
        'product.template', | 
				
			|||
        string='Product Template',related='product_id.product_tmpl_id', | 
				
			|||
        help="Corresponding product of the variant") | 
				
			|||
    bill_of_material_id = fields.Many2one( | 
				
			|||
        'mrp.bom', | 
				
			|||
        domain="[('product_tmpl_id', '=',product_tmpl_id)]", | 
				
			|||
        string="Bill of Material", | 
				
			|||
        help="Field to specify sequence bill of material") | 
				
			|||
    typ_of_reuse = fields.Selection( | 
				
			|||
        [('none', 'None'), ('dismantle', 'Dismantle')], | 
				
			|||
        default="none", help="Field to specify type of scrap", | 
				
			|||
        string="Type of Operation") | 
				
			|||
    state_management = fields.Selection( | 
				
			|||
        [('none', 'None'), ('dismantled', 'Dismantled')], | 
				
			|||
        string="State", default="none", | 
				
			|||
        help="Field to specify type of scrap management") | 
				
			|||
@ -0,0 +1,22 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    Author: Gayathri V (Contact : odoo@cybrosys.com) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU AFFERO | 
				
			|||
#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			|||
# | 
				
			|||
#    This program is distributed in the hope that it will be useful, | 
				
			|||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			|||
#    (AGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
########################################################################### | 
				
			|||
from . import scrap_management_report | 
				
			|||
@ -0,0 +1,56 @@ | 
				
			|||
<?xml version="1.0" encoding="utf-8"?> | 
				
			|||
<odoo> | 
				
			|||
    <!-- Template for pdf report in product wise of scarp management --> | 
				
			|||
    <template id="report_scrap_management_product_wise"> | 
				
			|||
        <t t-call="web.html_container"> | 
				
			|||
            <t t-call="web.external_layout"> | 
				
			|||
                <div class="page"> | 
				
			|||
                    <center> | 
				
			|||
                        <h1>Scrap Management Report</h1> | 
				
			|||
                    </center> | 
				
			|||
                    <div class="row mt32 mb32"> | 
				
			|||
                        <div class="col-3"> | 
				
			|||
                            <strong>From Date:</strong> | 
				
			|||
                            <p t-esc="from_date"/> | 
				
			|||
                        </div> | 
				
			|||
                        <div class="col-3"> | 
				
			|||
                            <strong>To Date:</strong> | 
				
			|||
                            <p t-esc="to_date"/> | 
				
			|||
                        </div> | 
				
			|||
                    </div> | 
				
			|||
                    <br/> | 
				
			|||
                    <table class="table table-sm"> | 
				
			|||
                        <thead> | 
				
			|||
                            <tr> | 
				
			|||
                                <th class="text-center">Sequence number</th> | 
				
			|||
                                <th class="text-center">Date</th> | 
				
			|||
                                <th class="text-center">Scrap order</th> | 
				
			|||
                                <th class="text-center">Product</th> | 
				
			|||
                                <th class="text-center">State</th> | 
				
			|||
                            </tr> | 
				
			|||
                        </thead> | 
				
			|||
                        <tbody> | 
				
			|||
                            <tr t-foreach="datas" t-as="line"> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['scrap_management_number']"/> | 
				
			|||
                                </td> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['date']"/> | 
				
			|||
                                </td> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['name']"/> | 
				
			|||
                                </td> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['product']"/> | 
				
			|||
                                </td> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['state']"/> | 
				
			|||
                                </td> | 
				
			|||
                            </tr> | 
				
			|||
                        </tbody> | 
				
			|||
                    </table> | 
				
			|||
                </div> | 
				
			|||
            </t> | 
				
			|||
        </t> | 
				
			|||
    </template> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,36 @@ | 
				
			|||
# -*- coding: utf-8 -*- | 
				
			|||
############################################################################# | 
				
			|||
# | 
				
			|||
#    Cybrosys Technologies Pvt. Ltd. | 
				
			|||
# | 
				
			|||
#    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). | 
				
			|||
#    Author:Gayathri V (Contact : odoo@cybrosys.com) | 
				
			|||
# | 
				
			|||
#    You can modify it under the terms of the GNU AFFERO | 
				
			|||
#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3. | 
				
			|||
# | 
				
			|||
#    This program is distributed in the hope that it will be useful, | 
				
			|||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of | 
				
			|||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
				
			|||
#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. | 
				
			|||
# | 
				
			|||
#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE | 
				
			|||
#    (AGPL v3) along with this program. | 
				
			|||
#    If not, see <http://www.gnu.org/licenses/>. | 
				
			|||
# | 
				
			|||
########################################################################### | 
				
			|||
from odoo import api, models | 
				
			|||
 | 
				
			|||
 | 
				
			|||
class ScrapManagementPrint(models.AbstractModel): | 
				
			|||
    """ This class defines a new model to print scrap management report""" | 
				
			|||
    _name = 'report.company_scrap_management.report_scrap_management' | 
				
			|||
    _description = "Scrap Management Report" | 
				
			|||
 | 
				
			|||
    @api.model | 
				
			|||
    def _get_report_values(self, docids, data=None): | 
				
			|||
        """Function to print the report""" | 
				
			|||
        scrap_management = self.env['scrap.management'].browse(docids) | 
				
			|||
        return { | 
				
			|||
            'scrap_management': scrap_management | 
				
			|||
        } | 
				
			|||
@ -0,0 +1,36 @@ | 
				
			|||
<?xml version="1.0" encoding='utf-8'?> | 
				
			|||
<odoo> | 
				
			|||
    <!-- Action for print pdf in product wise--> | 
				
			|||
    <record id="action_scrap_management_product_wise" | 
				
			|||
            model="ir.actions.report"> | 
				
			|||
        <field name="name">Scrap Management Report</field> | 
				
			|||
        <field name="model">scrap.management.report</field> | 
				
			|||
        <field name="report_type">qweb-pdf</field> | 
				
			|||
        <field name="report_name">company_scrap_management.report_scrap_management_product_wise</field> | 
				
			|||
        <field name="report_file">company_scrap_management.report_scrap_management_product_wise</field> | 
				
			|||
        <field name="binding_type" ref="model_scrap_management_report"/> | 
				
			|||
        <field name="binding_type">report</field> | 
				
			|||
    </record> | 
				
			|||
<!--    Action for print pdf in state wise--> | 
				
			|||
    <record id="action_scrap_management_state_wise" | 
				
			|||
            model="ir.actions.report"> | 
				
			|||
        <field name="name">Scrap Management Report</field> | 
				
			|||
        <field name="model">scrap.management.report</field> | 
				
			|||
        <field name="report_type">qweb-pdf</field> | 
				
			|||
        <field name="report_name">company_scrap_management.report_scrap_management_state_wise</field> | 
				
			|||
        <field name="report_file">company_scrap_management.report_scrap_management_state_wise</field> | 
				
			|||
        <field name="binding_type" ref="model_scrap_management_report"/> | 
				
			|||
        <field name="binding_type">report</field> | 
				
			|||
    </record> | 
				
			|||
<!--    Action for print pdf--> | 
				
			|||
    <record id="action_scrap_management_form_print" | 
				
			|||
            model="ir.actions.report"> | 
				
			|||
        <field name="name">Scrap Management</field> | 
				
			|||
        <field name="model">scrap.management</field> | 
				
			|||
        <field name="report_type">qweb-pdf</field> | 
				
			|||
        <field name="report_name">company_scrap_management.report_scrap_management</field> | 
				
			|||
        <field name="report_file">report.company_scrap_management.report_scrap_management</field> | 
				
			|||
        <field name="binding_model_id" ref="model_scrap_management"/> | 
				
			|||
        <field name="binding_type">report</field> | 
				
			|||
    </record> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,52 @@ | 
				
			|||
<?xml version="1.0" encoding="utf-8"?> | 
				
			|||
<odoo> | 
				
			|||
    <!-- Template for pdf report in state wise of scarp management--> | 
				
			|||
    <template id="report_scrap_management_state_wise"> | 
				
			|||
        <t t-call="web.html_container"> | 
				
			|||
            <t t-call="web.external_layout"> | 
				
			|||
                <div class="page"> | 
				
			|||
                    <center> | 
				
			|||
                        <h1>Scrap Management Report</h1> | 
				
			|||
                    </center> | 
				
			|||
                    <div class="row mt32 mb32"> | 
				
			|||
                        <div class="col-3"> | 
				
			|||
                            <strong>From Date:</strong> | 
				
			|||
                            <p t-esc="from_date"/> | 
				
			|||
                        </div> | 
				
			|||
                        <div class="col-3"> | 
				
			|||
                            <strong>To Date:</strong> | 
				
			|||
                            <p t-esc="to_date"/> | 
				
			|||
                        </div> | 
				
			|||
                    </div> | 
				
			|||
                    <br/> | 
				
			|||
                    <table class="table table-sm"> | 
				
			|||
                        <thead> | 
				
			|||
                            <tr> | 
				
			|||
                                <th class="text-center">Sequence number</th> | 
				
			|||
                                <th class="text-center">Date</th> | 
				
			|||
                                <th class="text-center">Scrap order</th> | 
				
			|||
                                <th class="text-center">State</th> | 
				
			|||
                            </tr> | 
				
			|||
                        </thead> | 
				
			|||
                        <tbody> | 
				
			|||
                            <tr t-foreach="datas" t-as="line"> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['scrap_management_number']"/> | 
				
			|||
                                </td> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['date']"/> | 
				
			|||
                                </td> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['name']"/> | 
				
			|||
                                </td> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['state']"/> | 
				
			|||
                                </td> | 
				
			|||
                            </tr> | 
				
			|||
                        </tbody> | 
				
			|||
                    </table> | 
				
			|||
                </div> | 
				
			|||
            </t> | 
				
			|||
        </t> | 
				
			|||
    </template> | 
				
			|||
</odoo> | 
				
			|||
@ -0,0 +1,61 @@ | 
				
			|||
<?xml version="1.0" encoding="utf-8"?> | 
				
			|||
<odoo> | 
				
			|||
    <!-- Template for pdf report of scarp management --> | 
				
			|||
    <template id="report_scrap_management"> | 
				
			|||
        <t t-call="web.html_container"> | 
				
			|||
            <t t-call="web.external_layout"> | 
				
			|||
                <div class="page"> | 
				
			|||
                    <center> | 
				
			|||
                        <h1>Scrap Management Form</h1> | 
				
			|||
                    </center> | 
				
			|||
                    <div class="row mt32 mb32"> | 
				
			|||
                        <div class="col-3"> | 
				
			|||
                            <strong>Sequence Number:</strong> | 
				
			|||
                            <h4> | 
				
			|||
                                <t t-esc="scrap_management.scrap_management_number"/> | 
				
			|||
                            </h4> | 
				
			|||
                        </div> | 
				
			|||
                        <br/> | 
				
			|||
                        <div class="col-3"> | 
				
			|||
                            <strong>Quantity:</strong> | 
				
			|||
                            <h6> | 
				
			|||
                                <t t-esc="scrap_management.scrap_order_id.scrap_qty"/> | 
				
			|||
                            </h6> | 
				
			|||
                        </div> | 
				
			|||
                        <br/> | 
				
			|||
                        <div class="col-3"> | 
				
			|||
                            <strong>Product:</strong> | 
				
			|||
                            <h6> | 
				
			|||
                                <t t-esc="scrap_management.scrap_order_id.product_id.name"/> | 
				
			|||
                            </h6> | 
				
			|||
                        </div> | 
				
			|||
                    </div> | 
				
			|||
                    <br/> | 
				
			|||
                    <table class="table table-sm"> | 
				
			|||
                        <thead> | 
				
			|||
                            <tr> | 
				
			|||
                                <th class="text-center">Components</th> | 
				
			|||
                                <th class="text-center">Dismantled quantity</th> | 
				
			|||
                                <th class="text-center">Useful quantity</th> | 
				
			|||
                            </tr> | 
				
			|||
                        </thead> | 
				
			|||
                        <tbody> | 
				
			|||
                            <tr t-foreach="scrap_management.scrap_management_line_ids" | 
				
			|||
                                t-as="line"> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line.product_id['name']"/> | 
				
			|||
                                </td> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['dismantle_qty']"/> | 
				
			|||
                                </td> | 
				
			|||
                                <td class="text-center"> | 
				
			|||
                                    <span t-esc="line['useful_qty']"/> | 
				
			|||
                                </td> | 
				
			|||
                            </tr> | 
				
			|||
                        </tbody> | 
				
			|||
                    </table> | 
				
			|||
                </div> | 
				
			|||
            </t> | 
				
			|||
        </t> | 
				
			|||
    </template> | 
				
			|||
</odoo> | 
				
			|||
		
		
			
  | 
| 
		 After Width: | Height: | Size: 2.2 KiB  | 
| 
		 After Width: | Height: | Size: 28 KiB  | 
| 
		 After Width: | Height: | Size: 628 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 210 KiB  | 
| 
		 After Width: | Height: | Size: 209 KiB  | 
| 
		 After Width: | Height: | Size: 109 KiB  | 
| 
		 After Width: | Height: | Size: 495 B  | 
| 
		 After Width: | Height: | Size: 1.0 KiB  | 
| 
		 After Width: | Height: | Size: 624 B  | 
| 
		 After Width: | Height: | Size: 136 KiB  | 
| 
		 After Width: | Height: | Size: 214 KiB  | 
| 
		 After Width: | Height: | Size: 36 KiB  | 
| 
		 After Width: | Height: | Size: 36 KiB  | 
| 
		 After Width: | Height: | Size: 3.6 KiB  | 
| 
		 After Width: | Height: | Size: 310 B  | 
| 
		 After Width: | Height: | Size: 929 B  | 
| 
		 After Width: | Height: | Size: 1.3 KiB  | 
| 
		 After Width: | Height: | Size: 3.3 KiB  | 
| 
		 After Width: | Height: | Size: 1.4 KiB  | 
| 
		 After Width: | Height: | Size: 17 KiB  | 
| 
		 After Width: | Height: | Size: 542 B  | 
| 
		 After Width: | Height: | Size: 576 B  | 
| 
		 After Width: | Height: | Size: 733 B  | 
| 
		 After Width: | Height: | Size: 4.3 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 4.0 KiB  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 90 KiB  | 
| 
		 After Width: | Height: | Size: 2.2 KiB  | 
| 
		 After Width: | Height: | Size: 911 B  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 600 B  | 
| 
		 After Width: | Height: | Size: 673 B  | 
| 
		 After Width: | Height: | Size: 2.0 KiB  | 
| 
		 After Width: | Height: | Size: 462 B  | 
| 
		 After Width: | Height: | Size: 2.1 KiB  | 
| 
		 After Width: | Height: | Size: 926 B  | 
| 
		 After Width: | Height: | Size: 9.0 KiB  | 
| 
		 After Width: | Height: | Size: 23 KiB  | 
| 
		 After Width: | Height: | Size: 7.0 KiB  | 
| 
		 After Width: | Height: | Size: 11 KiB  | 
| 
		 After Width: | Height: | Size: 878 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 653 B  | 
| 
		 After Width: | Height: | Size: 800 B  | 
| 
		 After Width: | Height: | Size: 905 B  | 
| 
		 After Width: | Height: | Size: 189 KiB  | 
| 
		 After Width: | Height: | Size: 4.3 KiB  | 
| 
		 After Width: | Height: | Size: 839 B  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 5.9 KiB  | 
| 
		 After Width: | Height: | Size: 1.6 KiB  | 
| 
		 After Width: | Height: | Size: 34 KiB  | 
| 
		 After Width: | Height: | Size: 26 KiB  | 
| 
		 After Width: | Height: | Size: 3.8 KiB  | 
| 
		 After Width: | Height: | Size: 23 KiB  | 
| 
		 After Width: | Height: | Size: 1.9 KiB  | 
| 
		 After Width: | Height: | Size: 2.3 KiB  | 
| 
		 After Width: | Height: | Size: 427 B  | 
| 
		 After Width: | Height: | Size: 627 B  | 
| 
		 After Width: | Height: | Size: 1.1 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 988 B  | 
| 
		 After Width: | Height: | Size: 3.7 KiB  | 
| 
		 After Width: | Height: | Size: 5.0 KiB  | 
| 
		 After Width: | Height: | Size: 875 B  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 80 KiB  | 
| 
		 After Width: | Height: | Size: 3.2 KiB  | 
| 
		 After Width: | Height: | Size: 565 B  | 
| 
		 After Width: | Height: | Size: 26 KiB  | 
| 
		 After Width: | Height: | Size: 43 KiB  | 
| 
		 After Width: | Height: | Size: 1.4 KiB  | 
| 
		 After Width: | Height: | Size: 4.0 KiB  | 
| 
		 After Width: | Height: | Size: 38 KiB  | 
| 
		 After Width: | Height: | Size: 4.3 KiB  | 
| 
		 After Width: | Height: | Size: 912 KiB  | 
| 
		 After Width: | Height: | Size: 87 KiB  | 
| 
		 After Width: | Height: | Size: 1.3 MiB  | 
| 
		 After Width: | Height: | Size: 80 KiB  |