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

pda和收取邮件的时间根据对应的账号的时区

上级 68e87866
......@@ -16,7 +16,7 @@ class CommonCommon(models.Model):
_name = 'common.common'
_description = u'公用基础类'
def get_local_time(self, local_time=None):
def get_local_time(self, local_time=None, user_obj=False):
"""获取Odoo时区的时间
Args:
local_time: 本地时间,如果不提供则使用当前时间
......@@ -27,7 +27,9 @@ class CommonCommon(models.Model):
local_time = datetime.datetime.now()
try:
# 获取Odoo配置的时区
user_tz = self.env.user.tz or 'UTC'
if not user_obj:
user_obj = self.env.user
user_tz = user_obj.tz or 'UTC'
timezone_offset = self.env['common.common'].sudo().get_time_zone(user_tz)
local_time = local_time + datetime.timedelta(hours=int(timezone_offset))
return local_time.strftime('%Y-%m-%d %H:%M:%S'), timezone_offset
......@@ -36,7 +38,7 @@ class CommonCommon(models.Model):
logging.warning(f"获取Odoo时区失败,使用UTC时间: {str(e)}")
return self.get_utc_time(), '+0'
def get_local_rfc3339_time(self, local_time=None):
def get_local_rfc3339_time(self, local_time=None, user_obj=False):
"""获取Odoo本地时区的RFC3339格式时间
Args:
local_time: 本地时间,如果不提供则使用当前时间
......@@ -46,7 +48,9 @@ class CommonCommon(models.Model):
if not local_time:
local_time = datetime.datetime.now()
# 获取Odoo配置的时区
user_tz = self.env.user.tz or 'UTC'
if not user_obj:
user_obj = self.env.user
user_tz = user_obj.tz or 'UTC'
timezone_offset = self.env['common.common'].sudo().get_time_zone(user_tz)
local_time = local_time + datetime.timedelta(hours=int(timezone_offset))
local_tz = pytz.timezone(user_tz)
......
......@@ -25,14 +25,14 @@
<field name="inherit_id" ref="ccs_base.form_cc_bl_view"/>
<field name="arch" type="xml">
<button name="%(ccs_base.action_batch_input_ship_package_wizard)d" position="after">
<button name="callback_track" string="Sync Package Status" type="object"/>
<button name="action_callback_track" string="Sync Package Status" type="object"/>
</button>
<button name="%(ccs_base.action_batch_input_bl_status_wizard)d" position="before">
<button name="batch_action_sync" string="Sync CC Attachment" type="object"/>
</button>
<button name="%(ccs_base.action_batch_input_bl_status_wizard)d" position="after">
<!--增加同步提单状态的按钮-->
<button name="callback_track_bl" string="Sync Bill Of Loading Status" type="object"/>
<button name="action_callback_track_bl" string="Sync Bill Of Loading Status" type="object"/>
</button>
<button name="action_show_ship_package" position="replace">
......@@ -73,7 +73,7 @@
<field name="state">code</field>
<field name="code">
if records:
records.callback_track()
records.action_callback_track()
</field>
</record>
......@@ -85,7 +85,7 @@
<field name="state">code</field>
<field name="code">
if records:
records.callback_track_bl()
records.action_callback_track_bl()
</field>
</record>
......
......@@ -8,12 +8,12 @@ import redis
import config
# 默认字符gbk
logging.basicConfig(filename='./push_data_logger.log', level=logging.INFO)
# logging.basicConfig(filename='./push_data_logger.log', level=logging.INFO)
# 设置文件字符为utf-8
# logging.basicConfig(handlers=[logging.FileHandler('logs/mail_push.log', 'a', 'utf-8')],
# format='%(asctime)s %(levelname)s %(message)s', level=logging.INFO)
logging.basicConfig(handlers=[logging.FileHandler('logs/mail_push.log', 'a', 'utf-8')],
format='%(asctime)s %(levelname)s %(message)s', level=logging.INFO)
class Order_dispose(object):
......@@ -40,7 +40,7 @@ class Order_dispose(object):
bl_record = bl_obj.browse(data['id'])
# utc_time = datetime.strptime(data['utc_time'], "%Y-%m-%d %H:%M:%S")
utc_time = data.get('utc_time')
bl_record.mail_auto_push(utc_time, ship_packages, action_type)
bl_record.mail_auto_push(utc_time, ship_packages, action_type, config.db_user, config.pda_db_user)
except Exception as ex:
logging.error('mail_auto_push error:%s' % str(ex))
return res_data
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论