diff --git a/odoo.conf b/odoo.conf index 3e914f52..d6db8b7b 100644 --- a/odoo.conf +++ b/odoo.conf @@ -4,7 +4,7 @@ csv_internal_sep = , data_dir = /var/lib/odoo db_host = 172.17.0.2 db_maxconn = 64 -db_name = sf_cs937 +db_name = sf_t2cs_001 db_password = sf db_port = 5432 db_sslmode = prefer diff --git a/sf_bf_connect/models/jd_eclp.py b/sf_bf_connect/models/jd_eclp.py index 4ccb0db6..85092b57 100644 --- a/sf_bf_connect/models/jd_eclp.py +++ b/sf_bf_connect/models/jd_eclp.py @@ -6,6 +6,7 @@ import cpca # from odoo.exceptions import UserError # from odoo.exceptions import ValidationError from odoo import api, fields, models +from odoo.exceptions import ValidationError _logger = logging.getLogger(__name__) @@ -60,38 +61,46 @@ class JdEclp(models.Model): @api.depends('origin') def _truck_info(self): + """ + 根据销售订单号,获取收货人信息 + """ # if 'S' in self.origin: # if self.receiverName and self.receiverMobile and self.receiverProvinceName and self.receiverCityName and # self.receiverCountyName and self.receiverTownName: sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)]) # stock_picking_type_id = self.enc['stock.picking.type'].search([('picking_type_id', '=', '')]) # if sale_order_id.address_of_delivery != False: + # if not sale_order_id: + # raise ValidationError("找不到对应的销售订单") try: - if 'OUT' in self.name: - raw_addres = sale_order_id.address_of_delivery.split('这是一个标志位,用来不分隔字符串') - # _logger.info('=================dddd====', sale_order_id.address_of_delivery) - # _logger.info('========================================', raw_addres) - # _logger.info('=================dddd====', self.display_name) - # _logger.info('=================dddd====', type(self.display_name)) - # # _logger.info(self.receiverName, self.receiverMobile) - # _logger.info(1111111111111111111111111111111111111111111111) - self.receiverName = sale_order_id.person_of_delivery - self.receiverMobile = sale_order_id.telephone_of_delivery - self.receiverProvinceName = cpca.transform(raw_addres).values.tolist()[0][0] - self.receiverCityName = cpca.transform(raw_addres).values.tolist()[0][1] - self.receiverCountyName = cpca.transform(raw_addres).values.tolist()[0][2] - self.receiverTownName = cpca.transform(raw_addres).values.tolist()[0][3] + if 'OUT' in self.name and sale_order_id.address_of_delivery: + raw_address = sale_order_id.address_of_delivery.split('这是一个标志位,用来不分隔字符串') + if sale_order_id.person_of_delivery: + self.receiverName = sale_order_id.person_of_delivery + if sale_order_id.telephone_of_delivery: + self.receiverMobile = sale_order_id.telephone_of_delivery + if raw_address: + self.receiverProvinceName = cpca.transform(raw_address).values.tolist()[0][0] + self.receiverCityName = cpca.transform(raw_address).values.tolist()[0][1] + self.receiverCountyName = cpca.transform(raw_address).values.tolist()[0][2] + self.receiverTownName = cpca.transform(raw_address).values.tolist()[0][3] else: - self.receiverName = self.receiverName - self.receiverMobile = self.receiverMobile - self.receiverProvinceName = self.receiverProvinceName - self.receiverCityName = self.receiverCityName - self.receiverCountyName = self.receiverCountyName - self.receiverTownName = self.receiverTownName + self.receiverName = False + self.receiverMobile = False + self.receiverProvinceName = False + self.receiverCityName = False + self.receiverCountyName = False + self.receiverTownName = False except Exception as e: - print(f"Error address is none: {e}") + raise ValidationError(f"传值有误: {e}") def create_order(self): + """ + 创建订单 + """ + if not self.receiverName or not self.receiverMobile or not self.receiverProvinceName \ + or not self.receiverCityName or not self.receiverCountyName or not self.receiverTownName: + raise ValidationError("当前销售订单缺失收货人信息,补充后才可发起物流!") # sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)]) # if self.carrier_id == '京东物流': @@ -140,6 +149,8 @@ class JdEclp(models.Model): """ 获取物流面单 """ + if not self.carrier_tracking_ref: + raise ValidationError("未下物流单,请先点击京东物流下单按钮!") config = self.env['res.config.settings'].get_values() json1 = { 'params': { diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py index bed75e6d..285d43f0 100644 --- a/sf_manufacturing/models/product_template.py +++ b/sf_manufacturing/models/product_template.py @@ -873,13 +873,3 @@ class SfMaintenanceEquipmentTool(models.Model): for record in self: if record.code: record.name = record.code - - @api.model_create_multi - def create(self, vals_list): - tools = super().create(vals_list) - for tool in tools: - self.env['sf.machine.table.tool.changing.apply'].sudo().create({ - 'maintenance_equipment_id': tool.equipment_id.id, - 'cutter_spacing_code_id': tool.id - }) - return tools diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py index 1542cf99..7babb3a4 100644 --- a/sf_mrs_connect/models/sync_common.py +++ b/sf_mrs_connect/models/sync_common.py @@ -32,7 +32,7 @@ class MrStaticResourceDataSync(models.Model): # logging.info("材料型号已每日同步成功") # self.env['mrs.international.standards']._cron_mrs_international_standards_func() # logging.info("材料型号材料应用已每日同步成功") - self.env['material.apply']._cron_material_apply_func() + self.env['material.apply'].sync_material_apply() logging.info("材料型号材料应用已每日同步成功") self.env['sf.production.process.category'].sync_production_process_category_yesterday() logging.info("表面工艺类别已每日同步成功") diff --git a/sf_plan_management/views/plan_base_view.xml b/sf_plan_management/views/plan_base_view.xml index f9606303..f83317c9 100644 --- a/sf_plan_management/views/plan_base_view.xml +++ b/sf_plan_management/views/plan_base_view.xml @@ -40,6 +40,8 @@ name="open_work_schedule_calendar" class="oe_highlight" /> +