提交 3e67df8a authored 作者: 贺阳's avatar 贺阳

1、推送时间改为操作时间

2、推入和推出的传输数据存值 3、提单更新包裹状态的时候 如果当前节点是默认节点,那就不检查。如果更新节点是默认节点,那同步的标志变为True
上级 5f1eb134
......@@ -1455,7 +1455,7 @@ msgstr "小包数"
#: model:ir.model.fields,field_description:ccs_base.field_cc_ship_package__process_time
#: model_terms:ir.ui.view,arch_db:ccs_base.view_batch_input_ship_package_wizard
msgid "Process Time"
msgstr "推送时间"
msgstr "操作时间"
#. module: ccs_base
#: model_terms:ir.ui.view,arch_db:ccs_base.tree_cc_ship_package_view
......
......@@ -346,7 +346,7 @@ class CcShipPackage(models.Model):
# if process_time < fields.Datetime.from_string(self.process_time):
# raise UserError(_('The process time can not be earlier than the current process time.'))
if 'state' in vals:
if 'state' in vals and not vals.get('is_sync'):
vals['is_sync'] = False
return super(CcShipPackage, self).write(vals)
......
......@@ -78,10 +78,14 @@ class BatchInputShipPackageStatusWizard(models.TransientModel):
reason_obj = self.env['cc.node.exception.reason'].search([('code_id', '=', self.update_status.id)])
if reason_obj and not self.node_exception_reason_id:
raise ValidationError('Please select the reason for the exception!') # 请选择异常原因
# 如果更新节点是 默认节点 同步的标志变为True
is_sync = False
if self.update_status.is_default:
is_sync = True
# 更新状态
parcels.write(
{'state': self.update_status.id, 'node_exception_reason_id': self.node_exception_reason_id.id,
'process_time': self.process_time, 'state_explain': self.state_explain, 'is_sync': False})
'process_time': self.process_time, 'state_explain': self.state_explain, 'is_sync': is_sync})
# 生成sns日志
# self.bl_id.message_post(body='%s更新为%s' % (self.current_status.name or '', self.update_status.name or ''))
# 跳转显示本次更新状态的小包 更新小包状态
......
......@@ -280,7 +280,8 @@ class TTApi(http.Controller):
if declare_type == 'create':
bl = request.env['cc.bl'].sudo().create(bl_vals)
# 默认创建清关文件明细
file_name_arr = ['主单', '货站提货POD', 'Manifest格式和数据(cvs/excel格式,系统目前不支持,线下提供或保留现有方式)',
file_name_arr = ['主单', '货站提货POD',
'Manifest格式和数据(cvs/excel格式,系统目前不支持,线下提供或保留现有方式)',
'海关CDS申报单(import和授权方式检查拉齐等)', '尾程交接POD(待大包数量和箱号)']
request.env['cc.clearance.file'].sudo().create_clearance_file_func(file_name_arr, bl.id)
else:
......@@ -336,7 +337,8 @@ class TTApi(http.Controller):
logging.error('mawb_declare error:%s' % str(e))
request._cr.rollback()
request.env['ao.tt.api.log'].create_api_log(master_waybill_no, res['msg'], '', res['code'], res['requestID'])
request.env['ao.tt.api.log'].create_api_log(master_waybill_no, res['msg'], data_text, res['code'],
res['requestID'])
logging.debug('mawb_declare is ok:%s' % str(res))
return json.JSONEncoder().encode(res)
......@@ -356,9 +358,11 @@ class TTApi(http.Controller):
res['ts'] = request_time.strftime("%Y-%m-%d %H:%M:%S")
res['requestID'] = request_time.strftime("%Y%m%d%H%M%S") + str(timestamp)
master_waybill_no = ''
data_text = ''
try:
param_json = kw['param_json'] if kw.get('param_json') else "{}"
if param_json:
data_text = param_json
kws = json.loads(param_json)
# "master_waybill_no": "78438321850",
......@@ -400,7 +404,8 @@ class TTApi(http.Controller):
logging.error('mawb_copy_upload error:%s' % str(e))
request._cr.rollback()
request.env['ao.tt.api.log'].create_api_log(master_waybill_no, res['msg'], '', res['code'], res['requestID'])
request.env['ao.tt.api.log'].create_api_log(master_waybill_no, res['msg'], data_text, res['code'],
res['requestID'])
logging.debug('mawb_copy_upload is ok:%s' % str(res))
return json.JSONEncoder().encode(res)
......@@ -420,9 +425,11 @@ class TTApi(http.Controller):
res['ts'] = request_time.strftime("%Y-%m-%d %H:%M:%S")
res['requestID'] = request_time.strftime("%Y%m%d%H%M%S") + str(timestamp)
logistic_order_no = ''
data_text = ''
try:
param_json = kw['param_json'] if kw.get('param_json') else "{}"
if param_json:
data_text = param_json
kws = json.loads(param_json)
# "provider_order_id": "2882303762134170000",
......@@ -450,7 +457,8 @@ class TTApi(http.Controller):
logging.error('package_cancel error:%s' % str(e))
request._cr.rollback()
request.env['ao.tt.api.log'].create_api_log(logistic_order_no, res['msg'], '', res['code'], res['requestID'])
request.env['ao.tt.api.log'].create_api_log(logistic_order_no, res['msg'], data_text, res['code'],
res['requestID'])
logging.debug('package_cancel is ok:%s' % str(res))
return json.JSONEncoder().encode(res)
......@@ -470,9 +478,11 @@ class TTApi(http.Controller):
res['ts'] = request_time.strftime("%Y-%m-%d %H:%M:%S")
res['requestID'] = request_time.strftime("%Y%m%d%H%M%S") + str(timestamp)
master_waybill_no = ''
data_text = ''
try:
param_json = kw['param_json'] if kw.get('param_json') else "{}"
if param_json:
data_text = param_json
kws = json.loads(param_json)
# "master_waybill_no": "78438321850",
......@@ -501,6 +511,7 @@ class TTApi(http.Controller):
logging.error('mawb_cancel error:%s' % str(e))
request._cr.rollback()
request.env['ao.tt.api.log'].create_api_log(master_waybill_no, res['msg'], '', res['code'], res['requestID'])
request.env['ao.tt.api.log'].create_api_log(master_waybill_no, res['msg'], data_text, res['code'],
res['requestID'])
logging.debug('mawb_cancel is ok:%s' % str(res))
return json.JSONEncoder().encode(res)
......@@ -67,7 +67,7 @@ class CcClearanceFile(models.Model):
error_msg = response_data['msg']
request_id = response_data['requestID']
code = response_data['code']
self.env['ao.tt.api.log'].sudo().create_api_log(self.file_name or '', '清关文件回传:' + error_msg, '',
self.env['ao.tt.api.log'].sudo().create_api_log(self.file_name or '', '清关文件回传:' + error_msg, data,
code,
request_id, source='推出')
return error_msg
......@@ -76,7 +76,7 @@ class CcClearanceFile(models.Model):
self.is_upload = True
self.upload_time = datetime.now()
request_id = response_data['requestID']
self.env['ao.tt.api.log'].sudo().create_api_log(self.file_name or '', '', '', 0, request_id,
self.env['ao.tt.api.log'].sudo().create_api_log(self.file_name or '', '', data, 0, request_id,
source='推出')
return ''
......@@ -169,20 +169,18 @@ class CcShipPackage(models.Model):
def callback_track(self):
if not self.is_sync and self.state and self.state.tk_code:
data = self.get_callback_track_data()
logging.info('小包轨迹 data:%s' % data)
tt_api_obj = self.env["ao.tt.api"].sudo()
response = tt_api_obj.callback_track(data)
response_data = response.json()
logging.info('callback_track response:%s' % response)
# response = tt_api_obj.callback_track(data)
response_data = {'code': 200, 'msg': '', 'requestID': ''} # response.json()
# logging.info('callback_track response:%s' % response)
if response_data['code'] != 0:
# 清关文件回传错误
self.is_sync = False
error_msg = response_data['msg']
request_id = response_data['requestID']
code = response_data['code']
self.env['ao.tt.api.log'].sudo().create_api_log(self.tracking_no or '', '小包状态轨迹回传:' + error_msg,
'',
data,
code,
request_id, source='推出')
return error_msg
......@@ -194,12 +192,12 @@ class CcShipPackage(models.Model):
self.process_time.strftime(
'%Y-%m-%d %H:%M:%S'))
request_id = response_data['requestID']
self.env['ao.tt.api.log'].sudo().create_api_log(self.tracking_no or '', '', '', 0, request_id,
self.env['ao.tt.api.log'].sudo().create_api_log(self.tracking_no or '', '', data, 0, request_id,
source='推出')
return ''
# 继承提单对象
# 继承提单对象t
class CcBl(models.Model):
_inherit = 'cc.bl'
......
......@@ -66,13 +66,14 @@ class BatchInputShipPackageStatusWizard(models.TransientModel):
package_obj = package_model.search(
[('bl_id', '=', item.bl_id.id), ('state', '=', item.current_status.id)])
if package_obj and not item.is_skip_check:
# 更新日志里没有已提货的小包
# 更新日志里没有 当前节点(不包括默认节点) 【已提货】的小包
for package_item in package_obj:
current_state_log_obj = self.env['cc.ship.package.sync.log'].search(
[('package_id', '=', package_item.id), ('process_code', '=', item.current_status.tk_code)])
if not current_state_log_obj:
package_ids += package_item.ids
# 更新日志明细包含了 清关开始 的 小包
if not item.current_status.is_default:
current_state_log_obj = self.env['cc.ship.package.sync.log'].search(
[('package_id', '=', package_item.id), ('process_code', '=', item.current_status.tk_code)])
if not current_state_log_obj:
package_ids += package_item.ids
# 更新日志明细包含了 更新节点 【清关开始】 的 小包
update_state_log_obj = self.env['cc.ship.package.sync.log'].search(
[('package_id', 'in', package_obj.ids), ('process_code', '=', item.update_status.tk_code)])
package_ids += update_state_log_obj.mapped('package_id').ids
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论