提交 352656c8 authored 作者: 贺阳's avatar 贺阳

1、包裹取消判断状态的代码屏蔽

2、提单修改状态的方法 提示错误优化 3、接收包裹信息,判断面单号和商品号是否已存在
上级 915b3b50
...@@ -351,8 +351,8 @@ class CcShipPackage(models.Model): ...@@ -351,8 +351,8 @@ class CcShipPackage(models.Model):
def check_cancel(self): def check_cancel(self):
if self.is_cancel: if self.is_cancel:
return (False, 'The package has been cancelled.') return (False, 'The package has been cancelled.')
if self.progress_status in ['inspection', 'customs_release', 'outbound', 'failed', 'handover']: # if self.state in ('inspection', 'customs_release', 'outbound', 'failed', 'handover'):
return (False, 'The package status is %s, can not be cancelled.' % self.progress_status) # return (False, 'The package status is %s, can not be cancelled.' % self.state)
return (True, '') return (True, '')
# 增加包裹取消的方法,用于取消包裹,取消包裹时,需要检查包裹是否可以取消,如果可以取消,则将包裹的状态设置为取消,并记录取消原因 # 增加包裹取消的方法,用于取消包裹,取消包裹时,需要检查包裹是否可以取消,如果可以取消,则将包裹的状态设置为取消,并记录取消原因
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, api, fields from odoo import models, api, fields
from odoo.exceptions import Warning from odoo.exceptions import Warning,ValidationError
PUSH_TYPE = [ PUSH_TYPE = [
# ('轨迹揽收', '轨迹揽收'), # ('轨迹揽收', '轨迹揽收'),
...@@ -52,11 +52,11 @@ class BatchInputShipPackageStatusWizard(models.TransientModel): ...@@ -52,11 +52,11 @@ class BatchInputShipPackageStatusWizard(models.TransientModel):
def submit(self): def submit(self):
# 确认数据 # 确认数据
if not self.is_ok: if not self.is_ok:
raise Warning('请确认以上数据正确.') raise ValidationError('请确认以上数据正确.')
parcels = self.get_process_package() parcels = self.get_process_package()
if not parcels: if not parcels:
raise Warning('没有找到要更新的小包.') raise ValidationError('没有找到要更新的小包.')
# 更新状态 # 更新状态
parcels.write( parcels.write(
{'state': self.update_status.id, 'process_time': self.process_time, 'state_explain': self.state_explain}) {'state': self.update_status.id, 'process_time': self.process_time, 'state_explain': self.state_explain})
......
...@@ -112,6 +112,9 @@ class TTApi(http.Controller): ...@@ -112,6 +112,9 @@ class TTApi(http.Controller):
for package in packages: for package in packages:
try: try:
tracking_no = package.get('tracking_no')
ship_pachage_obj = request.env['cc.ship.package'].sudo().search(
[('tracking_no', '=', tracking_no)])
ship_package = dict(logistic_order_no=package.get('provider_order_id'), ship_package = dict(logistic_order_no=package.get('provider_order_id'),
tracking_no=package.get('tracking_no'), tracking_no=package.get('tracking_no'),
customer_ref=package.get('declaretion_bill_id'), customer_ref=package.get('declaretion_bill_id'),
...@@ -153,40 +156,49 @@ class TTApi(http.Controller): ...@@ -153,40 +156,49 @@ class TTApi(http.Controller):
gross_weight=package.get('package').get('real_weight'), gross_weight=package.get('package').get('real_weight'),
weight_unit=package.get('package').get('weight_unit'), weight_unit=package.get('package').get('weight_unit'),
total_value=package.get('value').get('goods_value'), total_value=package.get('value').get('goods_value'),
customer_id=request.env["ir.config_parameter"].sudo().get_param('tt_customer_id') or False) # 增加客户信息 customer_id=request.env["ir.config_parameter"].sudo().get_param(
'tt_customer_id') or False) # 增加客户信息
# 生成package good # 生成package good
if package.get('items') and len(package.get('items')) > 0: if package.get('items') and len(package.get('items')) > 0:
package_vals = [] package_vals = []
good_id_arr = []
for item in package.get('items'): for item in package.get('items'):
package_good = dict(item_id=item.get('item_id'), item_id = item.get('item_id')
sku_id=item.get('sku_id'), if item_id not in good_id_arr:
item_name_cn=item.get('product_name_cn'), good_id_arr.append(item_id)
item_name_en=item.get('product_name'), package_good_obj = request.env['cc.package.good'].sudo().search(
export_hs_code=item.get('export_hscode'), [('item_id', '=', item_id)])
import_hs_code=item.get('import_hscode'), package_good = dict(item_id=item_id,
weight=item.get('weight'), sku_id=item.get('sku_id'),
quantity=item.get('qty'), item_name_cn=item.get('product_name_cn'),
quantity_unit=item.get('unit'), item_name_en=item.get('product_name'),
declare_price=item.get('unit_price'), export_hs_code=item.get('export_hscode'),
freight=item.get('shipping_fee'), import_hs_code=item.get('import_hscode'),
cod_amount=item.get('cod_fee'), weight=item.get('weight'),
vat_rate=item.get('vat_rate'), quantity=item.get('qty'),
item_vat=item.get('vat_fee'), quantity_unit=item.get('unit'),
origin_country=item.get('origin_country'), declare_price=item.get('unit_price'),
item_type=item.get('item_type'), freight=item.get('shipping_fee'),
item_total_price=item.get('unit_price'), cod_amount=item.get('cod_fee'),
item_link=item.get('item_url'), vat_rate=item.get('vat_rate'),
item_tax_status=item.get('tax_mark')) item_vat=item.get('vat_fee'),
_logger.info('package_good:%s' % package_good) origin_country=item.get('origin_country'),
if package_good: item_type=item.get('item_type'),
package_vals.append((0, 0, package_good)) item_total_price=item.get('unit_price'),
item_link=item.get('item_url'),
item_tax_status=item.get('tax_mark'))
_logger.info('package_good:%s' % package_good)
if not package_good_obj and package_good:
package_vals.append((0, 0, package_good))
_logger.info('package_vals:%s' % package_vals) _logger.info('package_vals:%s' % package_vals)
if package_vals and len(package_vals) > 0: if package_vals and len(package_vals) > 0:
ship_package['good_ids'] = package_vals ship_package['good_ids'] = package_vals
if not ship_pachage_obj:
# 用ship_package生成cc.ship.package # 用ship_package生成cc.ship.package
request.env['cc.ship.package'].sudo().create(ship_package) request.env['cc.ship.package'].sudo().create(ship_package)
else:
ship_pachage_obj.write(ship_package)
request._cr.commit() request._cr.commit()
except Exception as e_package: except Exception as e_package:
...@@ -246,7 +258,8 @@ class TTApi(http.Controller): ...@@ -246,7 +258,8 @@ class TTApi(http.Controller):
actual_weight=mawb_info.get('real_weight'), actual_weight=mawb_info.get('real_weight'),
etd=mawb_info.get('etd'), etd=mawb_info.get('etd'),
eta=mawb_info.get('eta'), eta=mawb_info.get('eta'),
customer_id=request.env["ir.config_parameter"].sudo().get_param('tt_customer_id') or False) # 增加客户信息 customer_id=request.env["ir.config_parameter"].sudo().get_param(
'tt_customer_id') or False) # 增加客户信息
bl = request.env['cc.bl'].sudo().create(bl_vals) bl = request.env['cc.bl'].sudo().create(bl_vals)
# 生成cc.big.package # 生成cc.big.package
...@@ -433,8 +446,9 @@ class TTApi(http.Controller): ...@@ -433,8 +446,9 @@ class TTApi(http.Controller):
can_cancel, not_msg = bl.check_cancel() can_cancel, not_msg = bl.check_cancel()
if can_cancel: if can_cancel:
bl.action_cancel(cancel_reason=kws.get('remark')) bl.action_cancel(cancel_reason=kws.get('remark'))
else: else:
res['code'] = 1003103 # res['code'] = 1003103
res['msg'] = not_msg res['msg'] = not_msg
else: else:
res['code'] = 101011 res['code'] = 101011
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论