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

tk推入的查找增加查找最近15天的

上级 d23963e9
......@@ -15,7 +15,7 @@
'security/security.xml',
'security/ir.model.access.csv',
# data
# 'data/data.xml',
'data/data.xml',
# wizard
'wizard/batch_input_ship_package_statu_wizard.xml',
'wizard/update_bl_status_wizard.xml',
......
# -*- coding: utf-8 -*-
import ast
import base64
import hashlib
from datetime import datetime
import functools
import json
import re
import logging
import time
from datetime import datetime
from datetime import timedelta
from odoo import http, fields
from odoo.http import request
from odoo.tools.translate import _
import logging
import time
_logger = logging.getLogger(__name__)
......@@ -113,8 +109,12 @@ class TTApi(http.Controller):
try:
# 根据物流订单号判断是否已存在,已存在的话就更新
logistic_order_no = package.get('provider_order_id')
push_interval_15_days = request.env["ir.config_parameter"].sudo().get_param(
'tk_push_interval_15_days') or 15
# 当前时间-15天
date = fields.Datetime.now() - timedelta(days=int(push_interval_15_days))
ship_pachage_obj = request.env['cc.ship.package'].sudo().search(
[('logistic_order_no', '=', logistic_order_no)])
[('logistic_order_no', '=', logistic_order_no), ('create_date', '>=', date)])
if (ship_pachage_obj and (not ship_pachage_obj.bl_id or
ship_pachage_obj.bl_id.is_cancel)) or not ship_pachage_obj:
ship_package = dict(is_cancel=False, cancel_reason=False,
......@@ -176,7 +176,7 @@ class TTApi(http.Controller):
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)])
[('item_id', '=', item_id), ('create_date', '>=', date)])
package_good = dict(item_id=item_id,
sku_id=item.get('sku_id'),
item_name_cn=item.get('product_name_cn'),
......@@ -281,8 +281,14 @@ class TTApi(http.Controller):
customer_id=request.env["ir.config_parameter"].sudo().get_param(
'tt_customer_id') or False)
# 检查提单是否已经存在,且未被取消,如果存在则不再生成
# 获取15天的系统参数
push_interval_15_days = request.env["ir.config_parameter"].sudo().get_param(
'tk_push_interval_15_days') or 15
# 当前时间-15天
date = fields.Datetime.now() - timedelta(days=int(push_interval_15_days))
bl = request.env['cc.bl'].sudo().search(
[('bl_no', '=', kws.get('master_waybill_no')), ('is_cancel', '=', False)], limit=1)
[('bl_no', '=', kws.get('master_waybill_no')), ('is_cancel', '=', False),
('create_date', '>=', date)], limit=1)
declare_type = kws.get('declare_type')
if declare_type:
declare_type = declare_type.lower()
......@@ -333,7 +339,7 @@ class TTApi(http.Controller):
big_package_no=big_bag.get('big_bag_no'),
next_provider_name=big_bag.get('next_provider_name'))
big_package = request.env['cc.big.package'].sudo().search(
[('big_package_no', '=', big_bag_no)], limit=1)
[('big_package_no', '=', big_bag_no), ('create_date', '>=', date)], limit=1)
if not big_package:
big_package = request.env['cc.big.package'].sudo().create(big_package_vals)
else:
......@@ -343,7 +349,7 @@ class TTApi(http.Controller):
if package_list and len(package_list) > 0:
package_ids = [package.get('provider_order_id') for package in package_list]
ship_packages = request.env['cc.ship.package'].sudo().search(
[('logistic_order_no', 'in', package_ids)])
[('logistic_order_no', 'in', package_ids), ('create_date', '>=', date)])
if ship_packages and len(ship_packages) > 0:
ship_packages.write(
{'is_cancel': False, 'cancel_reason': False, 'big_package_id': big_package.id,
......@@ -400,7 +406,12 @@ class TTApi(http.Controller):
# "arrive_port_code": "LHR",
# 根据kws中获取的master_waybill_no,在系统中查找提单,并将提单的信息更新
master_waybill_no = kws.get('master_waybill_no')
bl = request.env['cc.bl'].sudo().search([('bl_no', '=', master_waybill_no)], limit=1)
push_interval_15_days = request.env["ir.config_parameter"].sudo().get_param(
'tk_push_interval_15_days') or 15
# 当前时间-15天
date = fields.Datetime.now() - timedelta(days=int(push_interval_15_days))
bl = request.env['cc.bl'].sudo().search(
[('bl_no', '=', master_waybill_no), ('create_date', '>=', date)], limit=1)
if bl:
# 根据kws中获取的"img_detail"中的"img_file_code”和img_file_type,生成odoo的附件,并关联到cc.bl的bl_attachment_ids字段
......@@ -465,8 +476,12 @@ class TTApi(http.Controller):
# "remark": ""
# 根据kws中的provider_order_id和declaretion_bill_id,查找cc.ship.package,并将其置为取消状态, 将remark作为取消原因
logistic_order_no = kws.get('provider_order_id')
push_interval_15_days = request.env["ir.config_parameter"].sudo().get_param(
'tk_push_interval_15_days') or 15
# 当前时间-15天
date = fields.Datetime.now() - timedelta(days=int(push_interval_15_days))
ship_package = request.env['cc.ship.package'].sudo().search(
[('logistic_order_no', '=', logistic_order_no)], limit=1)
[('logistic_order_no', '=', logistic_order_no), ('create_date', '>=', date)], limit=1)
if ship_package:
# 后续需要补充提单是否允许取消小包的逻辑的调用.
allow_cancel, not_msg = ship_package.check_cancel()
......@@ -518,7 +533,12 @@ class TTApi(http.Controller):
# "remark": ""
# 根据kws中的master_waybill_no和customs_waybill_id,查找cc.bl,并将其置为取消状态, 将remark作为取消原因
master_waybill_no = kws.get('master_waybill_no')
bl = request.env['cc.bl'].sudo().search([('bl_no', '=', master_waybill_no)], limit=1)
push_interval_15_days = request.env["ir.config_parameter"].sudo().get_param(
'tk_push_interval_15_days') or 15
# 当前时间-15天
date = fields.Datetime.now() - timedelta(days=int(push_interval_15_days))
bl = request.env['cc.bl'].sudo().search(
[('bl_no', '=', master_waybill_no), ('create_date', '>=', date)], limit=1)
if bl:
# 后续需要补充提单是否允许取消的逻辑的调用.
can_cancel, not_msg = bl.check_cancel()
......
......@@ -2,6 +2,11 @@
<odoo>
<data>
<!-- 增加最近15天的系统参数 -->
<record id="tk_push_interval_15_days" model="ir.config_parameter">
<field name="key">tk_push_interval_15_days</field>
<field name="value">15</field>
</record>
</data>
</odoo>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论