优化物流、计划权限及库存的一些问题
This commit is contained in:
@@ -6,6 +6,7 @@ import cpca
|
|||||||
# from odoo.exceptions import UserError
|
# from odoo.exceptions import UserError
|
||||||
# from odoo.exceptions import ValidationError
|
# from odoo.exceptions import ValidationError
|
||||||
from odoo import api, fields, models
|
from odoo import api, fields, models
|
||||||
|
from odoo.exceptions import ValidationError
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -60,38 +61,46 @@ class JdEclp(models.Model):
|
|||||||
|
|
||||||
@api.depends('origin')
|
@api.depends('origin')
|
||||||
def _truck_info(self):
|
def _truck_info(self):
|
||||||
|
"""
|
||||||
|
根据销售订单号,获取收货人信息
|
||||||
|
"""
|
||||||
# if 'S' in self.origin:
|
# if 'S' in self.origin:
|
||||||
# if self.receiverName and self.receiverMobile and self.receiverProvinceName and self.receiverCityName and
|
# if self.receiverName and self.receiverMobile and self.receiverProvinceName and self.receiverCityName and
|
||||||
# self.receiverCountyName and self.receiverTownName:
|
# self.receiverCountyName and self.receiverTownName:
|
||||||
sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)])
|
sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)])
|
||||||
# stock_picking_type_id = self.enc['stock.picking.type'].search([('picking_type_id', '=', '')])
|
# stock_picking_type_id = self.enc['stock.picking.type'].search([('picking_type_id', '=', '')])
|
||||||
# if sale_order_id.address_of_delivery != False:
|
# if sale_order_id.address_of_delivery != False:
|
||||||
|
if not sale_order_id:
|
||||||
|
raise ValidationError("找不到对应的销售订单")
|
||||||
try:
|
try:
|
||||||
if 'OUT' in self.name:
|
if 'OUT' in self.name and sale_order_id.address_of_delivery:
|
||||||
raw_addres = sale_order_id.address_of_delivery.split('这是一个标志位,用来不分隔字符串')
|
raw_address = sale_order_id.address_of_delivery.split('这是一个标志位,用来不分隔字符串')
|
||||||
# _logger.info('=================dddd====', sale_order_id.address_of_delivery)
|
if sale_order_id.person_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.receiverName = sale_order_id.person_of_delivery
|
||||||
|
if sale_order_id.telephone_of_delivery:
|
||||||
self.receiverMobile = sale_order_id.telephone_of_delivery
|
self.receiverMobile = sale_order_id.telephone_of_delivery
|
||||||
self.receiverProvinceName = cpca.transform(raw_addres).values.tolist()[0][0]
|
if raw_address:
|
||||||
self.receiverCityName = cpca.transform(raw_addres).values.tolist()[0][1]
|
self.receiverProvinceName = cpca.transform(raw_address).values.tolist()[0][0]
|
||||||
self.receiverCountyName = cpca.transform(raw_addres).values.tolist()[0][2]
|
self.receiverCityName = cpca.transform(raw_address).values.tolist()[0][1]
|
||||||
self.receiverTownName = cpca.transform(raw_addres).values.tolist()[0][3]
|
self.receiverCountyName = cpca.transform(raw_address).values.tolist()[0][2]
|
||||||
|
self.receiverTownName = cpca.transform(raw_address).values.tolist()[0][3]
|
||||||
else:
|
else:
|
||||||
self.receiverName = self.receiverName
|
self.receiverName = False
|
||||||
self.receiverMobile = self.receiverMobile
|
self.receiverMobile = False
|
||||||
self.receiverProvinceName = self.receiverProvinceName
|
self.receiverProvinceName = False
|
||||||
self.receiverCityName = self.receiverCityName
|
self.receiverCityName = False
|
||||||
self.receiverCountyName = self.receiverCountyName
|
self.receiverCountyName = False
|
||||||
self.receiverTownName = self.receiverTownName
|
self.receiverTownName = False
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Error address is none: {e}")
|
raise ValidationError(f"传值有误: {e}")
|
||||||
|
|
||||||
def create_order(self):
|
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)])
|
# sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)])
|
||||||
|
|
||||||
# if self.carrier_id == '京东物流':
|
# 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()
|
config = self.env['res.config.settings'].get_values()
|
||||||
json1 = {
|
json1 = {
|
||||||
'params': {
|
'params': {
|
||||||
|
|||||||
@@ -40,6 +40,8 @@
|
|||||||
name="open_work_schedule_calendar"
|
name="open_work_schedule_calendar"
|
||||||
class="oe_highlight"
|
class="oe_highlight"
|
||||||
/>
|
/>
|
||||||
|
<button name="action_check" string="启用" type="object" class="oe_highlight" attrs="{'invisible': [('check_status', '=', True)]}" groups="sf_base.group_plan_director"/>
|
||||||
|
<button name="action_uncheck" string="禁用" type="object" class="oe_highlight" attrs="{'invisible': [('check_status', '=', False)]}" groups="sf_base.group_plan_director"/>
|
||||||
<field name="status" widget="statusbar" statusbar_visible="正常,禁用"/>
|
<field name="status" widget="statusbar" statusbar_visible="正常,禁用"/>
|
||||||
</header>
|
</header>
|
||||||
<sheet string-="工作日历设置">
|
<sheet string-="工作日历设置">
|
||||||
|
|||||||
@@ -258,6 +258,7 @@ class ShelfLocation(models.Model):
|
|||||||
"""
|
"""
|
||||||
根据货架的所属库区修改货位的所属库区
|
根据货架的所属库区修改货位的所属库区
|
||||||
"""
|
"""
|
||||||
|
if self.name:
|
||||||
all_location = self.env['sf.shelf.location'].search([('name', 'ilike', self.name)])
|
all_location = self.env['sf.shelf.location'].search([('name', 'ilike', self.name)])
|
||||||
for record in self:
|
for record in self:
|
||||||
for location in all_location:
|
for location in all_location:
|
||||||
|
|||||||
Reference in New Issue
Block a user