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

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

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