提交 c06ec4f1 authored 作者: 刘擎阳's avatar 刘擎阳

1.优化

上级 1f9cdd1b
...@@ -47,7 +47,15 @@ class PackageDataWizard(models.TransientModel): ...@@ -47,7 +47,15 @@ class PackageDataWizard(models.TransientModel):
if not big_no: if not big_no:
continue continue
lh_time = line[9] lh_time = line[9]
wj_time = line[4] wj_time = line[4] # 尾程交货时间
# 大包数据
wj_user_name = line[3] # 尾程交货人
lh_user_name = line[8] # 理货人
pallet_date = line[5] # 托盘日期
pallet_no = line[6].replace('.0', '') # 托盘号
wj_user_obj = self.env['res.users'].sudo().search([('login', '=', wj_user_name)], limit=1)
lh_user_obj = self.env['res.users'].sudo().search([('login', '=', lh_user_name)], limit=1)
update_time = lh_time if self.node_id.name == '待尾程提货' else wj_time update_time = lh_time if self.node_id.name == '待尾程提货' else wj_time
ship_package_objs = self.env['cc.ship.package'].sudo().search([ ship_package_objs = self.env['cc.ship.package'].sudo().search([
('big_package_no', '=', big_no), ('big_package_no', '=', big_no),
...@@ -65,6 +73,18 @@ class PackageDataWizard(models.TransientModel): ...@@ -65,6 +73,18 @@ class PackageDataWizard(models.TransientModel):
WHERE id IN %s WHERE id IN %s
""" """
self.env.cr.execute(sql, (self.node_id.id, update_time, tuple(ship_package_objs.ids))) self.env.cr.execute(sql, (self.node_id.id, update_time, tuple(ship_package_objs.ids)))
# 更新大包
big_package_obj = self.env['cc.big.package'].sudo().search([('big_package_no', '=', big_no)], limit=1)
sql = """
UPDATE cc_big_package
SET pallet_number = %s, pallet_usage_date = %s , tally_user_id= %s,
tally_time = %s, delivery_user_id = %s , delivery_time= %s
WHERE id = %s
"""
self.env.cr.execute(sql, (pallet_no, pallet_date, lh_user_obj.id if lh_user_obj else None,
lh_time, wj_user_obj.id if wj_user_obj else None, wj_time, big_package_obj.id))
pallet_obj = self.env['cc.pallet'].sudo().search([('name', '=', pallet_no)], limit=1)
pallet_obj.usage_state = 'used'
else: else:
# 选做:把没查到数据的大包也用 warning 级别记录下来,方便后期排查漏刷的数据 # 选做:把没查到数据的大包也用 warning 级别记录下来,方便后期排查漏刷的数据
_logger.warning(f"处理第 {i} 行: 大包号 [{big_no}] 未查到状态为'已提货'的小包,跳过更新。") _logger.warning(f"处理第 {i} 行: 大包号 [{big_no}] 未查到状态为'已提货'的小包,跳过更新。")
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论