123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497 |
- # -*- coding: utf-8 -*-
- from openerp import models, fields, api
- class OrdenServicio(models.Model):
- _inherit = 'orden.servicio'
- ############################################################
- # ACCOUNT INVOICE
- ############################################################
- @api.model
- def getOrdenServicio(self,domain):
- OrdenServicio = self.env['orden.servicio'].search(domain)
- decimal_precision = self.env['decimal.precision'].precision_get('Account')
- values = []
- for servicio in OrdenServicio:
- values.append({
- 'id': servicio.id,
- 'name': servicio.name,
- 'state': servicio.state,
- 'celular_partner': servicio.celular_partner,
- 'telefono_partner': servicio.telefono_partner,
- 'planned_start_date': servicio.planned_start_date,
- 'planned_end_date': servicio.planned_end_date,
- 'contacto_obra': servicio.contacto_obra,
- 'responsable': servicio.responsable,
- 'order_date': servicio.order_date,
- 'name_obra': servicio.name_obra,
- 'name_local': servicio.name_local,
- 'distancia_obra': servicio.distancia_obra,
- 'croquis': servicio.croquis,
- 'hrs_total': servicio.hrs_total,
- 'zona_obra': servicio.zona_obra,
- 'obs_obra': servicio.obs_obra,
- 'sale_order_id': servicio.sale_order_id,
- 'company_id': servicio.company_id,
- 'currency_id': servicio.currency_id,
- 'partner_id': [
- servicio.partner_id.id,
- servicio.partner_id.name,
- servicio.partner_id.ruc,
- ],
- 'partner_info': {
- 'mobile': servicio.partner_id.mobile,
- 'phone': servicio.partner_id.phone,
- },
- 'user_id': [
- servicio.user_id.id,
- servicio.user_id.name,
- ],
- })
- return values
- class ServicioProducto(models.Model):
- _inherit = 'servicio.producto'
- ############################################################
- # servicio producto
- ############################################################
- @api.model
- def getServicioProducto(self,domain):
- ServicioProducto = self.env['servicio.producto'].search(domain)
- decimal_precision = self.env['decimal.precision'].precision_get('Account')
- values = []
- for line in ServicioProducto:
- values.append({
- 'id': line.id,
- 'servicio_id':line.servicio_id.id,
- 'number':line.servicio_id.name,
- 'order_date': line.servicio_id.order_date,
- 'user_id': [
- line.servicio_id.user_id.id,
- line.servicio_id.user_id.name,
- ],
- 'partner_id': [
- line.servicio_id.partner_id.id,
- line.servicio_id.partner_id.name,
- line.servicio_id.partner_id.ruc,
- ],
- 'invoice_state': line.servicio_id.state,
- 'product_id': [
- line.product_id.id,
- line.product_id.display_name,
- line.product_id.categ_id.complete_name,
- line.product_id.standard_price,
- ],
- 'product_category_id': line.product_id.categ_id.id,
- 'price_unit': line.price_unit,
- 'price_subtotal': line.subtotal,
- 'quantity': line.quantity,
- 'price_unit_currency': round(line.price_unit * (line.servicio_id.company_id.currency_id.rate / line.servicio_id.currency_id.rate),decimal_precision),
- 'price_subtotal_currency': round(line.subtotal * (line.servicio_id.company_id.currency_id.rate / line.servicio_id.currency_id.rate),decimal_precision),
- 'amount_currency': round((line.quantity * line.price_unit) * (line.servicio_id.company_id.currency_id.rate / line.servicio_id.currency_id.rate),decimal_precision),
- })
- return values
- class ServicioInsumo(models.Model):
- _inherit = 'servicio.insumo'
- ############################################################
- # servicio insumo
- ############################################################
- @api.model
- def getServicioInsumo(self,domain):
- ServicioInsumo = self.env['servicio.insumo'].search(domain)
- decimal_precision = self.env['decimal.precision'].precision_get('Account')
- values = []
- for insumo in ServicioInsumo:
- values.append({
- 'id': insumo.id,
- 'servicio_id':insumo.servicio_id.id,
- 'number':insumo.servicio_id.name,
- 'order_date': insumo.servicio_id.order_date,
- 'user_id': [
- insumo.servicio_id.user_id.id,
- insumo.servicio_id.user_id.name,
- ],
- 'partner_id': [
- insumo.servicio_id.partner_id.id,
- insumo.servicio_id.partner_id.name,
- insumo.servicio_id.partner_id.ruc,
- ],
- 'invoice_state': insumo.servicio_id.state,
- 'product_id': [
- insumo.product_id.id,
- insumo.product_id.display_name,
- insumo.product_id.categ_id.complete_name,
- insumo.product_id.standard_price,
- ],
- 'product_category_id': insumo.product_id.categ_id.id,
- 'descripcion': insumo.descripcion,
- 'price_unit': insumo.price_unit,
- 'price_subtotal': insumo.subtotal,
- 'quantity': insumo.quantity,
- 'price_unit_currency': round(insumo.price_unit * (insumo.servicio_id.company_id.currency_id.rate / insumo.servicio_id.currency_id.rate),decimal_precision),
- 'price_subtotal_currency': round(insumo.subtotal * (insumo.servicio_id.company_id.currency_id.rate / insumo.servicio_id.currency_id.rate),decimal_precision),
- 'amount_currency': round((insumo.quantity * insumo.price_unit) * (insumo.servicio_id.company_id.currency_id.rate / insumo.servicio_id.currency_id.rate),decimal_precision),
- })
- return values
- class ServicioLogistica(models.Model):
- _inherit = 'servicio.logistica'
- ############################################################
- # servicio logistica
- ############################################################
- @api.model
- def getServicioLogistica(self,domain):
- ServicioLogistica = self.env['servicio.logistica'].search(domain)
- decimal_precision = self.env['decimal.precision'].precision_get('Account')
- values = []
- for logistica in ServicioLogistica:
- values.append({
- 'id': logistica.id,
- 'servicio_id':logistica.servicio_id.id,
- 'number':logistica.servicio_id.name,
- 'order_date': logistica.servicio_id.order_date,
- 'user_id': [
- logistica.servicio_id.user_id.id,
- logistica.servicio_id.user_id.name,
- ],
- 'partner_id': [
- logistica.servicio_id.partner_id.id,
- logistica.servicio_id.partner_id.name,
- logistica.servicio_id.partner_id.ruc,
- ],
- 'invoice_state': logistica.servicio_id.state,
- 'product_id': [
- logistica.product_id.id,
- logistica.product_id.display_name,
- logistica.product_id.categ_id.complete_name,
- logistica.product_id.standard_price,
- ],
- 'product_category_id': logistica.product_id.categ_id.id,
- 'fecha': logistica.fecha,
- 'descripcion': logistica.descripcion,
- 'price_unit': logistica.price_unit,
- 'price_subtotal': logistica.subtotal,
- 'quantity': logistica.quantity,
- 'price_unit_currency': round(logistica.price_unit * (logistica.servicio_id.company_id.currency_id.rate / logistica.servicio_id.currency_id.rate),decimal_precision),
- 'price_subtotal_currency': round(logistica.subtotal * (logistica.servicio_id.company_id.currency_id.rate / logistica.servicio_id.currency_id.rate),decimal_precision),
- 'amount_currency': round((logistica.quantity * logistica.price_unit) * (logistica.servicio_id.company_id.currency_id.rate / logistica.servicio_id.currency_id.rate),decimal_precision),
- })
- return values
- class DevolucionInsumo(models.Model):
- _inherit = 'devolucion.insumo'
- ############################################################
- # servicio logistica
- ############################################################
- @api.model
- def getDevolucionInsumo(self,domain):
- DevolucionInsumo = self.env['devolucion.insumo'].search(domain)
- decimal_precision = self.env['decimal.precision'].precision_get('Account')
- values = []
- for devolucion in DevolucionInsumo:
- values.append({
- 'id': devolucion.id,
- 'servicio_id':devolucion.servicio_id.id,
- 'number':devolucion.servicio_id.name,
- 'order_date': devolucion.servicio_id.order_date,
- 'user_id': [
- devolucion.servicio_id.user_id.id,
- devolucion.servicio_id.user_id.name,
- ],
- 'partner_id': [
- devolucion.servicio_id.partner_id.id,
- devolucion.servicio_id.partner_id.name,
- devolucion.servicio_id.partner_id.ruc,
- ],
- 'invoice_state': devolucion.servicio_id.state,
- 'product_id': [
- devolucion.product_id.id,
- devolucion.product_id.display_name,
- devolucion.product_id.categ_id.complete_name,
- devolucion.product_id.standard_price,
- ],
- 'product_category_id': devolucion.product_id.categ_id.id,
- 'descripcion': devolucion.descripcion,
- 'price_unit': devolucion.price_unit,
- 'price_subtotal': devolucion.subtotal,
- 'quantity': devolucion.quantity,
- 'price_unit_currency': round(devolucion.price_unit * (devolucion.servicio_id.company_id.currency_id.rate / devolucion.servicio_id.currency_id.rate),decimal_precision),
- 'price_subtotal_currency': round(devolucion.subtotal * (devolucion.servicio_id.company_id.currency_id.rate / devolucion.servicio_id.currency_id.rate),decimal_precision),
- 'amount_currency': round((devolucion.quantity * devolucion.price_unit) * (devolucion.servicio_id.company_id.currency_id.rate / devolucion.servicio_id.currency_id.rate),decimal_precision),
- })
- return values
- class RecepcionFabrica(models.Model):
- _inherit = 'recepcion.fabrica'
- ############################################################
- # recepción fabrica
- ############################################################
- @api.model
- def getRecepcionFabrica(self,domain):
- RecepcionFabrica = self.env['recepcion.fabrica'].search(domain)
- decimal_precision = self.env['decimal.precision'].precision_get('Account')
- values = []
- for fabrica in RecepcionFabrica:
- values.append({
- 'id': fabrica.id,
- 'servicio_id':fabrica.servicio_id.id,
- 'number':fabrica.servicio_id.name,
- 'order_date': fabrica.servicio_id.order_date,
- 'user_id': [
- fabrica.servicio_id.user_id.id,
- fabrica.servicio_id.user_id.name,
- ],
- 'partner_id': [
- fabrica.servicio_id.partner_id.id,
- fabrica.servicio_id.partner_id.name,
- fabrica.servicio_id.partner_id.ruc,
- ],
- 'invoice_state': fabrica.servicio_id.state,
- 'product_id': [
- fabrica.product_id.id,
- fabrica.product_id.display_name,
- fabrica.product_id.categ_id.complete_name,
- fabrica.product_id.standard_price,
- ],
- 'product_category_id': fabrica.product_id.categ_id.id,
- 'price_unit': fabrica.price_unit,
- 'price_subtotal': fabrica.subtotal,
- 'quantity': fabrica.quantity,
- 'price_unit_currency': round(fabrica.price_unit * (fabrica.servicio_id.company_id.currency_id.rate / fabrica.servicio_id.currency_id.rate),decimal_precision),
- 'price_subtotal_currency': round(fabrica.subtotal * (fabrica.servicio_id.company_id.currency_id.rate / fabrica.servicio_id.currency_id.rate),decimal_precision),
- 'amount_currency': round((fabrica.quantity * fabrica.price_unit) * (fabrica.servicio_id.company_id.currency_id.rate / fabrica.servicio_id.currency_id.rate),decimal_precision),
- })
- return values
- class ResCompany(models.Model):
- _inherit = 'res.company'
- @api.model
- def getResCompany(self,domain):
- ResCompany = self.env['res.company'].search(domain)
- values = []
- for company in ResCompany:
- values.append({
- 'id': company.id,
- 'name': company.name,
- 'currency_id': [
- company.currency_id.id,
- company.currency_id.name,
- ],
- 'company_ruc': company.partner_id.ruc,
- 'phone': company.phone,
- 'logo': company.logo,
- })
- return values
- class ResCurrency(models.Model):
- _inherit = 'res.currency'
- @api.model
- def getResCurrency(self,domain):
- ResCurrency = self.env['res.currency'].search(domain)
- values = []
- for currency in ResCurrency:
- values.append({
- 'id': currency.id,
- 'name': currency.name,
- 'symbol': currency.symbol,
- 'rate_silent': currency.rate_silent,
- 'base': currency.base,
- 'decimal_separator': currency.decimal_separator,
- 'decimal_places': currency.decimal_places,
- 'thousands_separator': currency.thousands_separator,
- 'symbol_position': currency.symbol_position,
- })
- return values
- class ResPartner(models.Model):
- _inherit = 'res.partner'
- @api.model
- def getResPartner(self,domain):
- ResPartner = self.env['res.partner'].search(domain)
- values = []
- for partner in ResPartner:
- values.append({
- 'id': partner.id,
- 'name': partner.name,
- 'ruc': partner.ruc,
- 'street': partner.street,
- 'city': partner.city,
- 'phone': partner.phone,
- 'mobile': partner.mobile,
- 'email': partner.email,
- 'property_product_pricelist': partner.property_product_pricelist.name,
- 'property_product_pricelist_purchase': partner.property_product_pricelist_purchase.name,
- 'credit': partner.credit,
- 'debit': partner.debit,
- 'supplier': partner.supplier,
- })
- return values
- class ProductProduct(models.Model):
- _inherit = 'product.product'
- ############################################################
- # PRODUCT PRODUCT
- ############################################################
- @api.model
- def getProductProduct(self,domain):
- ProductProduct = self.env['product.product'].search(domain)
- values = []
- for product in ProductProduct:
- attributeValuesLines = map(lambda x: x.id, product.attribute_value_ids)
- attributeIDS = []
- for arttIds in self.env['product.attribute.value'].search([('id', 'in', attributeValuesLines)]):
- attributeIDS.append(arttIds.attribute_id.id)
- try:
- # sale list price
- sale_price = map(lambda x: x.id, product.pricelists)
- saleIDS = []
- for item in self.env['product.pricelist'].search([('id', 'in', sale_price)]):
- saleIDS.append(item.id)
- # purchase list price
- buy_price = map(lambda x: x.id, product.purchase_pricelists)
- buyIDS = []
- for item in self.env['product.pricelist'].search([('id', 'in', buy_price)]):
- buyIDS.append(item.id)
- except:
- buyIDS = []
- saleIDS = []
- try:
- brand = product.product_brand_id.id
- except:
- brand = ''
- values.append({
- 'id': product.id,
- 'name': product.name,
- 'display_name': product.display_name,
- 'standard_price': product.standard_price,
- 'lst_price': product.lst_price,
- 'categ_id': {
- 'id': product.categ_id.id,
- 'name': product.categ_id.name,
- 'complete_name': product.categ_id.complete_name,
- },
- 'product_brand_id':brand,
- 'atribute_value_ids': attributeValuesLines,
- 'attribute_ids': attributeIDS,
- 'qty_available': product.qty_available,
- 'default_code': product.default_code,
- 'image_medium': product.image_medium,
- 'pricelists': saleIDS,
- 'purchase_pricelists':buyIDS,
- 'product_tmpl_id': product.product_tmpl_id.id,
- 'image': product.image,
- 'ean13': product.ean13,
- })
- return values
- ############################################################
- # PRODUCT PRODUCT - STOCK 'minimo_quantity': product.minimo_quantity,
- ############################################################
- @api.model
- def getProductProductStock(self,domain):
- ProductProduct = self.env['product.product'].search(domain)
- values = []
- for product in ProductProduct:
- attributeValuesLines = map(lambda x: x.id, product.attribute_value_ids)
- attributeIDS = []
- for arttIds in self.env['product.attribute.value'].search([('id', 'in', attributeValuesLines)]):
- attributeIDS.append(arttIds.attribute_id.id)
- values.append({
- 'id': product.id,
- 'display_name': product.display_name,
- 'standard_price': product.standard_price,
- 'lst_price': product.lst_price,
- 'categ_id': {
- 'id': product.categ_id.id,
- 'name': product.categ_id.name,
- 'complete_name': product.categ_id.complete_name,
- },
- 'atribute_value_ids': attributeValuesLines,
- 'attribute_ids': attributeIDS,
- 'default_code': product.default_code,
- 'ean13': product.ean13,
- })
- return values
- class ProductCategory(models.Model):
- _inherit = 'product.category'
- @api.model
- def getProductCategory(self,domain):
- ProductCategory = self.env['product.category'].search(domain)
- values = []
- for category in ProductCategory:
- values.append({
- 'id': category.id,
- 'name': category.name,
- 'display_name': category.display_name,
- 'parent_id': [
- category.parent_id.id,
- category.parent_id.name,
- ],
- })
- return values
- class StockLocation(models.Model):
- _inherit = 'stock.location'
- @api.model
- def getStockLocation(self,domain):
- StockLocation = self.env['stock.location'].search(domain)
- values = []
- for location in StockLocation:
- values.append({
- 'id': location.id,
- 'name': location.name,
- 'display_name': location.display_name,
- 'parent_name': location.location_id.name,
- 'company_id': [
- location.company_id.id,
- location.company_id.name,
- ],
- 'store_id': [
- location.store_id.id,
- location.store_id.name,
- ],
- 'usage': location.usage,
- })
- return values
|