优化物流、计划权限及库存的一些问题

This commit is contained in:
mgw
2023-12-07 10:11:59 +08:00
parent 2cf4958f46
commit 1ccc32cbcb
3 changed files with 39 additions and 25 deletions

View File

@@ -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': {

View File

@@ -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-="工作日历设置">

View File

@@ -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):