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

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

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