优化物流、计划权限及库存的一些问题
This commit is contained in:
@@ -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': {
|
||||
|
||||
@@ -40,6 +40,8 @@
|
||||
name="open_work_schedule_calendar"
|
||||
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="正常,禁用"/>
|
||||
</header>
|
||||
<sheet string-="工作日历设置">
|
||||
|
||||
@@ -258,10 +258,11 @@ class ShelfLocation(models.Model):
|
||||
"""
|
||||
根据货架的所属库区修改货位的所属库区
|
||||
"""
|
||||
all_location = self.env['sf.shelf.location'].search([('name', 'ilike', self.name)])
|
||||
for record in self:
|
||||
for location in all_location:
|
||||
location.location_id = record.shelf_location_id.id
|
||||
if self.name:
|
||||
all_location = self.env['sf.shelf.location'].search([('name', 'ilike', self.name)])
|
||||
for record in self:
|
||||
for location in all_location:
|
||||
location.location_id = record.shelf_location_id.id
|
||||
|
||||
@api.depends('product_sn_id')
|
||||
def _compute_product_id(self):
|
||||
|
||||
Reference in New Issue
Block a user