提交 a1d99b07 authored 作者: 贺阳's avatar 贺阳

托盘理货

上级 02028d58
...@@ -3,7 +3,7 @@ import json ...@@ -3,7 +3,7 @@ import json
import logging import logging
from datetime import datetime from datetime import datetime
from odoo import http, exceptions from odoo import http, exceptions, _
# from odoo.addons.queue_job import job # from odoo.addons.queue_job import job
from odoo.http import request from odoo.http import request
...@@ -989,18 +989,35 @@ class OrderController(http.Controller): ...@@ -989,18 +989,35 @@ class OrderController(http.Controller):
logging.info('update_pallet_big_package_tally_detail kw:%s' % kwargs) logging.info('update_pallet_big_package_tally_detail kw:%s' % kwargs)
if action_type and kwargs.get('pallet_arr'): if action_type and kwargs.get('pallet_arr'):
#判断托盘数组里面的托盘号在托盘表里面是否存在 #判断托盘数组里面的托盘号在托盘表里面是否存在
pallet_nos = [pallet_item.get('pallet_no') for pallet_item in kwargs.get('pallet_arr')] pallet_nos = [pallet_item.get('pallet_number') for pallet_item in kwargs.get('pallet_arr')]
pallet_obj = request.env['cc.pallet'].sudo().search([('name', 'in', pallet_nos)]) pallet_obj = request.env['cc.pallet'].sudo().search([('name', 'in', pallet_nos)])
if pallet_obj: if not pallet_obj:
res['message'] = { res['message'] = {
'en': 'Pallet number [%s] does not exist' % ','.join(pallet_nos), 'en': 'Pallet number [%s] does not exist' % ','.join(pallet_nos),
'zh': '托盘号[%s]不存在' % ','.join(pallet_nos) 'zh': '托盘号[%s]不存在' % ','.join(pallet_nos)
}[pda_lang] }[pda_lang]
return res return res
# 将托盘状态更新为已使用
for pallet_item in kwargs.get('pallet_arr'):
pallet_number = pallet_item.get('pallet_number')
pallet_use_date = pallet_item.get('pallet_use_date')
big_package_arr = pallet_item.get('big_package_arr', [])
# 找到对应的托盘对象
pallet = pallet_obj.filtered(lambda p: p.name == pallet_number)
if pallet and big_package_arr:
# 获取大包对象
big_package_objs = request.env['cc.big.package'].sudo().search([
('big_package_no', 'in', [pkg.get('big_package_no') for pkg in big_package_arr])
])
if big_package_objs:
# 调用托盘的update_usage_state方法
pallet.update_usage_state(big_package_objs, pallet_use_date)
big_package_arr=[] big_package_arr=[]
error_no_arr=[] error_no_arr=[]
for pallet_item in kwargs.get('pallet_arr'): for pallet_item in kwargs.get('pallet_arr'):
#检查大包号是否存在 #检查托盘内的大包号是否存在
big_package_arr.extend(pallet_item.get('big_package_arr')) big_package_arr.extend(pallet_item.get('big_package_arr'))
if big_package_arr: if big_package_arr:
big_package_obj = request.env['cc.big.package'].sudo().search([('big_package_no', 'in', big_package_arr)]) big_package_obj = request.env['cc.big.package'].sudo().search([('big_package_no', 'in', big_package_arr)])
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论