def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(Station, self).create(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') if not self._context.get('dryrun'): rp = True try: _logger.info('Start create data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'id': res.id, }) params = Params(type=1, cityCode=cityCode, tableName=STATION_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' res = super(Station, self).write(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') for r in self: #时间戳 避免 create方法进入 write方法 seconds = datetime.datetime.utcnow() - datetime.datetime.strptime( r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds > 5 and (not self._context.get('dryrun')): rp = True try: _logger.info('Start write data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) if vals: vals.update({'id': r.id}) params = Params(type=3, cityCode=cityCode, tableName=STATION_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' res = super(User, self).write(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') for r in self: if r.id != 1: seconds = datetime.datetime.utcnow() - datetime.datetime.strptime(r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds > 5 and (not self._context.get('dryrun')): rp = True try: # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start write data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) if vals: vals.update({ 'id': r.id, }) params = Params(type=3, cityCode=cityCode,tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) # clientThread(url,params,res).start() except Exception,e: _logger.info('%s', e.message) response_check(rp)
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(Vehicle, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') rp = True try: _logger.info('Start create data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'id': res.id, 'lineId': res.execplan_id.line_id.id, 'lineName': res.execplan_id.line_id.line_name, 'gprsId': res.execplan_id.line_id.gprs_id, 'onBoardId': res.vehicle_id.on_boardid, 'carNum': res.vehicle_id.inner_code, 'workDate': res.execplan_id.excutedate, }) params = Params(type=1, cityCode=cityCode, tableName=CAR_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(Employee, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') rp = True try: _logger.info('Start create data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'id': res.id, 'sysPostId': '1021', }) if res.workpost.posttype == "driver": vals['sysPostId'] = '1019' if res.workpost.posttype == "conductor": vals['sysPostId'] = '1020' params = Params(type=1, cityCode=cityCode, tableName=HR_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' res = super(upplanitem, self).write(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') for r in self: seconds = datetime.datetime.utcnow() - datetime.datetime.strptime( r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds > 5 and (not self._context.get('dryrun')): rp = True try: # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start write data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ # 'id': int(str(r.id) + '0'), 'lineName': r.execplan_id.line_id.line_name, 'gprsId': r.execplan_id.line_id.gprs_id, 'selfId': r.vehicle_id.inner_code, 'onBoardId': r.vehicle_id.on_boardid, 'workerId': r.driver.jobnumber, 'driverName': r.driver.name, 'trainName': r.steward.name, 'trainId': r.steward.jobnumber, 'workDate': r.execplan_id.excutedate, 'lineId': r.execplan_id.line_id.id, 'runGprsId': r.line_id.gprs_id, 'linePlanId': r.execplan_id.rule_id.id, # 'direction': 0, }) if self._name == 'scheduleplan.execupplanitem': vals.update({ 'id': int(str(r.id) + '0'), 'direction': 0, }) if self._name == 'scheduleplan.execdownplanitem': vals.update({ 'id': int(str(r.id) + '1'), 'direction': 1, }) params = Params(type=3, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) # clientThread(url,params,res).start() except Exception, e: _logger.info('%s', e.message) response_check(rp)
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(upplanitem, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') rp = True if res.execplan_id.rule_id.schedule_method == 'dubleway': plan_count = 0.5 if res.execplan_id.rule_id.schedule_method == 'singleway': plan_count = 1 try: _logger.info('Start create data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'lineName': res.execplan_id.line_id.line_name, 'gprsId': res.execplan_id.line_id.gprs_id, 'selfId': res.vehicle_id.inner_code, 'onBoardId': res.vehicle_id.on_boardid, 'workerId': res.driver.jobnumber, 'driverName': res.driver.name, 'trainName': res.steward.name, 'trainId': res.steward.jobnumber, 'workDate': res.execplan_id.excutedate, 'lineId': res.execplan_id.line_id.id, 'runGprsId': res.line_id.gprs_id, 'linePlanId': res.execplan_id.rule_id.id, }) if self._name == 'scheduleplan.execupplanitem': vals.update({ 'id': int(str(res.id) + '0'), 'direction': 0, 'planCount': plan_count, }) if self._name == 'scheduleplan.execdownplanitem': vals.update({ 'id': int(str(res.id) + '1'), 'direction': 1, 'planCount': plan_count, }) params = Params(type=1, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' #根据drivetype类型判断调用哪个表 odoo_value = vals res = False url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') #批量更新 for r in self: if r.drivetype == 'working': TABLE = TABLE_work else: TABLE = TABLE_others seconds = datetime.datetime.utcnow() - datetime.datetime.strptime( r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds < 5 or (odoo_value.get('state') in ('approved', 'moved')): res = super(DriveRecords, r).write(odoo_value) else: _logger.info('Start write data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'id': int(r.restful_key_id), 'line': r.route_id.line_name or '', 'selfId': r.vehicle_id.inner_code or '', 'onBoardId': int(r.vehicle_id.on_boardid), 'gprsId': r.route_id.gprs_id or '', 'workDate': res.record_move_id.name, #'workerId':r.driver_id.jobnumber or '', #'driver':r.driver_id.name or '', }) if vals: params = Params(type=3, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() #调用restful接口 rp = Client().http_post(url, data=params) if rp: if rp.json().get('result') == 0: res = super(DriveRecords, r).write(odoo_value) else: raise UserError( (u'更新错误.%s') % rp.json().get('respose').get('text')) else: raise UserError((u'接口连接失败错误')) return res
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' res = super(attendance, self).write(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') for r in self: seconds = datetime.datetime.utcnow() - datetime.datetime.strptime( r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds > 5 and (not self._context.get('dryrun')): rp = True try: # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start write data: %s', self._name) table = self._name + '.%s' % r.title vals = mapping.dict_transfer(table, vals) vals.update({ 'id': r.id, 'lineId': r.execplan_id.line_id.id, 'lineName': r.execplan_id.line_id.line_name, 'gprsId': r.execplan_id.line_id.gprs_id, 'selfId': r.vehicle_id.inner_code, 'onBoardId': r.vehicle_id.on_boardid, 'workDate': r.execplan_id.excutedate, }) if r.title == 'driver': # 出勤司机 TABLE = 'op_attendance' vals.update({ 'driverName': r.employee_id.name, 'workerId': r.employee_sn }) if r.title == 'steward': # 出勤乘务员 TABLE = 'op_trainattendance' vals.update({ 'trainName': r.employee_id.name, 'trainId': r.employee_sn }) params = Params(type=3, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' res = super(Toup, self).write(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') for r in self: seconds = datetime.datetime.utcnow() - datetime.datetime.strptime( r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds > 5 and (not self._context.get('dryrun')): rp = True if r.rule_id.schedule_method == 'dubleway': plan_count = 0.5 if r.rule_id.schedule_method == 'singleway': plan_count = 1 try: # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start write data: %s', self._name) if self._name == 'scheduleplan.toup': vals.update({ 'id': int(str(r.id) + '0'), 'direction': 'up', 'plan_count': plan_count, }) if self._name == 'scheduleplan.todown': vals.update({ 'id': int(str(r.id) + '1'), 'direction': 'down', 'plan_count': plan_count, }) vals.update({ 'starttime': '2017-01-01 ' + r.starttime + ":00", 'endtime': '2017-01-01 ' + r.endtime + ":00", }) vals = mapping.dict_transfer(self._name, vals) params = Params(type=3, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) # clientThread(url,params,res).start() except Exception, e: _logger.info('%s', e.message) response_check(rp)
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(attendance, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') rp = True try: _logger.info('Start create data: %s', self._name) table = self._name + '.%s' % res.title vals = mapping.dict_transfer(table, vals) vals.update({ 'id': res.id, 'lineId': res.execplan_id.line_id.id, 'lineName': res.execplan_id.line_id.line_name, 'gprsId': res.execplan_id.line_id.gprs_id, 'selfId': res.vehicle_id.inner_code, 'onBoardId': res.vehicle_id.on_boardid, 'workDate': res.execplan_id.excutedate, }) if res.title == 'driver': # 出勤司机 TABLE = 'op_attendance' vals.update({ 'driverName': res.employee_id.name, 'workerId': res.employee_sn }) if res.title == 'steward': # 出勤乘务员 TABLE = 'op_trainattendance' vals.update({ 'trainName': res.employee_id.name, 'trainId': res.employee_sn }) params = Params(type=1, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' odoo_value = vals url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') res = False for r in self: seconds = datetime.datetime.utcnow() - datetime.datetime.strptime( r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds < 5 or (odoo_value.get('state') in ('approved', 'moved')) or (not r.record_move_id): res = super(attence, r).write(odoo_value) else: #try: # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start write data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'id': int(r.restful_key_id), 'workerType': r.work_type_id, 'onboardId': int(r.vehicle_id.on_boardid), 'selfId': r.vehicle_id.inner_code, 'gprsId': r.line_id.gprs_id, 'workerId': r.employee_id.jobnumber, 'driver': r.employee_id.name, }) if vals: params = Params(type=3, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() #调用restful rp = Client().http_post(url, data=params) if rp: if rp.json().get('result') == 0: res = super(attence, r).write(odoo_value) else: raise UserError( (u'更新错误.%s') % rp.json().get('respose').get('text')) else: raise UserError((u'接口连接失败错误')) return res
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' res = super(Employee, self).write(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') for r in self: #时间戳 避免 create方法进入 write方法 seconds = datetime.datetime.utcnow() - datetime.datetime.strptime( r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds > 5 and (not self._context.get('dryrun')): rp = True try: # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start write data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'id': r.id, 'sysPostId': '1021', }) if r.user_id: vals.update({ 'userId': r.user_id.id, 'trueName': r.name or '', 'serils': r.jobnumber or '', 'ICCardNoId': r.iccard.cardsn or '', 'sfz': r.id_card or '', 'sysDepartmentId': r.department_id.id, }) if r.workpost.posttype == "driver": vals['sysPostId'] = '1019' if r.workpost.posttype == "conductor": vals['sysPostId'] = '1020' params = Params(type=3, cityCode=cityCode, tableName=HR_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) # clientThread(url,params,res).start() except Exception, e: _logger.info('%s', e.message) response_check(rp)
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' res = super(opertation_yard_lines, self).write(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') for r in self: vals.update({ 'id': r.id, 'screen1': 0, 'screen2': 0, 'route_name': r.name.line_name, 'direction': r.yard_id.direction, 'yard_name': r.yard_id.name, 'code': r.yard_id.code, }) if len(r.yard_id.dispatch_screen_ids) >= 1: vals.update( {'screen1': r.yard_id.dispatch_screen_ids[0].screen_code}) if len(r.yard_id.dispatch_screen_ids) > 1: vals.update({ 'screen2': r.yard_id.dispatch_screen_ids[1].screen_code }) seconds = datetime.datetime.utcnow() - datetime.datetime.strptime( r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds > 5 and (not self._context.get('dryrun')): rp = True try: # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start write data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) params = Params(type=3, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) # clientThread(url,params,res).start() except Exception, e: _logger.info('%s', e.message) response_check(rp)
def execute(self): super(Dispatch, self).execute() url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') vals = self.read()[0] vals = mapping.dict_transfer(self._name, vals) vals.update({'id': 1}) params = Params(type=3, cityCode=cityCode, tableName=PARAM_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) response_check(rp) res = self.env['ir.actions.act_window'].for_xml_id( 'lty_dispatch_config', 'action_dispatch_config_settings') return res
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(Toup, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') rp = True if res.rule_id.schedule_method == 'dubleway': plan_count = 0.5 if res.rule_id.schedule_method == 'singleway': plan_count = 1 try: _logger.info('Start create data: %s', self._name) if self._name == 'scheduleplan.toup': vals.update({ 'id': int(str(res.id) + '0'), 'direction': 'up', 'plan_count': plan_count, }) if self._name == 'scheduleplan.todown': vals.update({ 'id': int(str(res.id) + '1'), 'direction': 'down', 'plan_count': plan_count, }) vals.update({ 'starttime': '2017-01-01 ' + res.starttime + ":00", 'endtime': '2017-01-01 ' + res.endtime + ":00", }) vals = mapping.dict_transfer(self._name, vals) params = Params(type=1, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def execute(self): super(general, self).execute() url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') vals = self.read()[0] vals = mapping.dict_transfer(self._name, vals) vals.update({'id': 1}) params = Params(type=3, cityCode=cityCode, tableName=PARAM_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) response_check(rp) res = self.env['ir.actions.act_window'].for_xml_id( 'lty_dispatch_config', 'action_general_config_settings') return res # class Company(models.Model): # # _inherit = 'res.company' # # ''' # 继承公司,获取调度参数及通用设置,调用restful api # ''' # @api.multi # def write(self, vals): # ''' # 数据编辑时调用api # :param vals: # :return: # ''' # url = self.env['ir.config_parameter'].get_param('restful.url') # cityCode = self.env['ir.config_parameter'].get_param('city.code') # # for r in self: # # try: # # _logger.info('Start write data: %s', self._name) # # vals = mapping.dict_transfer(self._name, vals) # # if vals: # # vals.update({'id': r.id}) # # params = Params(type=3, cityCode=cityCode,tableName=PARAM_TABLE, data=vals).to_dict() # # rp = Client().http_post(url, data=params) # # except Exception,e: # # _logger.info('%s', e.message) # res = super(Company, self).write(vals) # return res
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(opertation_yard_lines, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') vals.update({ 'id': res.id, 'screen1': 0, 'screen2': 0, 'route_name': res.name.line_name, 'direction': res.yard_id.direction, 'yard_name': res.yard_id.name, 'code': res.yard_id.code, }) if len(res.yard_id.dispatch_screen_ids) >= 1: vals.update({ 'screen1': res.yard_id.dispatch_screen_ids[0].screen_code }) if len(res.yard_id.dispatch_screen_ids) > 1: vals.update({ 'screen2': res.yard_id.dispatch_screen_ids[1].screen_code }) rp = True try: _logger.info('Start create data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) params = Params(type=1, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(op_line, self).create(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') if not self._context.get('dryrun'): # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start create data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'id': res.id, #增加默认传值 'isRoundLine': 0, 'isNight': 0, 'isCrossDay': 0, 'isShowPoint': 0, 'isShowStationName': 0, }) if not res.start_date and vals.get('startDate'): del vals['startDate'] if not res.end_date and vals.get('endDate'): del vals['endDate'] params = Params(type=1, cityCode=cityCode, tableName=LINE_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) #clientThread(url,params,res).start() if rp: if rp.json().get('result') != 0: raise UserError((u'后台增加数据错误.%s') % rp.json().get('respose').get('text')) else: raise UserError((u'Restful接口连接失败错误')) return res
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(Bigsitesetup, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') rp = True try: _logger.info('Start create data: %s', self._name) if self._name == 'scheduleplan.bigsitesetup': vals.update({ 'id': str(res.id) + 'up', 'station_name': res.site_id.name, 'direction': 'up', 'line_id': res.rule_id.line_id.id, }) if self._name == 'scheduleplan.bigsitesetdown': vals.update({ 'id': str(res.id) + 'down', 'station_name': res.site_id.name, 'direction': 'down', 'line_id': res.rule_id.line_id.id, }) vals = mapping.dict_transfer(self._name, vals) params = Params(type=1, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' res = super(Vehicle, self).write(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') for r in self: seconds = datetime.datetime.utcnow() - datetime.datetime.strptime( r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds > 5 and (not self._context.get('dryrun')): rp = True try: # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start write data: %s', self._name) vals.update({ 'id': r.id, 'engine_no': r.model_id.engine_no, 'ride_number': r.model_id.ride_number, 'seats_ext': r.model_id.seats_ext, 'total_odometer': r.total_odometer, # 增加默认传值 'doorTypeId': 1, 'state': r.state, }) vals = mapping.dict_transfer(self._name, vals) params = Params(type=3, cityCode=cityCode, tableName=CAR_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) # clientThread(url,params,res).start() except Exception, e: _logger.info('%s', e.message) response_check(rp)
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' #根据drivetype类型判断调用哪个表 if vals.get('drivetype') == 'working': TABLE = TABLE_work else: TABLE = TABLE_others res = super(DriveRecords, self).create(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') #当本地添加时,调用api同步数据到后台 if vals.get('is_add'): _logger.info('Start create data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'line': res.route_id.line_name, 'selfId': res.vehicle_id.inner_code, 'onBoardId': int(res.vehicle_id.on_boardid), 'gprsId': res.route_id.gprs_id, 'workerId': res.driver_id.jobnumber, 'driver': res.driver_id.name, 'workDate': res.record_move_id.name, }) params = Params(type=1, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() #调用restful rp = Client().http_post(url, data=params) if rp: restful_key_id = rp.json().get('respose').get('id') if restful_key_id: res.write({'restful_key_id': restful_key_id}) else: raise UserError((u'Restful接口连接失败错误')) return res
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(attence, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') #当本地添加时,调用api同步数据到后台 if vals.get('is_add') and vals.get('record_move_id') > 0: _logger.info('Start create data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'onboardId': int(res.vehicle_id.on_boardid), 'selfId': res.vehicle_id.inner_code, 'gprsId': res.line_id.gprs_id, 'workerId': res.employee_id.jobnumber, 'driver': res.employee_id.name, 'driverName': res.employee_id.name, 'workerType': int(res.work_type_id), }) params = Params(type=1, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() #调用restful rp = Client().http_post(url, data=params) if rp: restful_key_id = rp.json().get('respose').get('id') if rp.json().get('result') == 0: res.write({'restful_key_id': int(restful_key_id)}) else: raise UserError((u'后台增加数据错误.%s') % rp.json().get('respose').get('text')) else: raise UserError((u'Restful接口连接失败错误')) return res
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' res = super(op_line, self).write(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') for r in self: #时间戳 避免 create方法进入 write方法 # create_time = time.strptime(r.create_date, "%Y-%m-%d %H:%M:%S") # time_create = int(time.mktime(create_time)) # time_now = time.time() seconds = datetime.datetime.utcnow() - datetime.datetime.strptime( r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds > 5 and (not self._context.get('dryrun')): rp = True try: # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start write data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) if vals: vals.update({'id': r.id}) if not r.start_date and vals.get('startDate'): del vals['startDate'] if not r.end_date and vals.get('endDate'): del vals['endDate'] params = Params(type=3, cityCode=cityCode, tableName=LINE_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) # clientThread(url,params,res).start() except Exception, e: _logger.info('%s', e.message) response_check(rp)
def write(self, vals): ''' 数据编辑时调用api :param vals: :return: ''' res = super(LinePlan, self).write(vals) url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') for r in self: seconds = datetime.datetime.utcnow() - datetime.datetime.strptime(r.create_date, "%Y-%m-%d %H:%M:%S") if seconds.seconds > 5 and (not self._context.get('dryrun')): rp = True try: # url = 'http://10.1.50.83:8080/ltyop/syn/synData/' _logger.info('Start write data: %s', self._name) vals.update({ 'id': r.id, 'line_id': r.line_id.id, 'upfirsttime': '2017-01-01 ' + r.upfirsttime + ':00', 'uplasttime': '2017-01-01 ' + r.uplasttime + ':00', 'downfirsttime': '2017-01-01 ' + r.downfirsttime + ':00', 'downlasttime': '2017-01-01 ' + r.downlasttime + ':00', # 后台取值, 'gprs_id': r.line_id.gprs_id, 'schedule_type': r.line_id.schedule_type, }) vals = mapping.dict_transfer(self._name, vals) params = Params(type=3, cityCode=cityCode,tableName=LINEPLAN_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) # clientThread(url,params,res).start() except Exception,e: _logger.info('%s', e.message) response_check(rp)
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(Station, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') rp = True try: _logger.info('Start create data: %s', self._name) vals = mapping.dict_transfer(self._name, vals) vals.update({ 'id': res.id, 'gprsId': res.route_id.gprs_id, 'stationName': res.station_id.name, 'longitude': res.station_id.entrance_longitude, 'latitude': res.station_id.entrance_latitude, 'angle': res.station_id.entrance_azimuth, 'longitudeOut': res.station_id.exit_longitude, 'latitudeOut': res.station_id.exit_latitude, 'angleOut': res.station_id.exit_azimuth, }) params = Params(type=1, cityCode=cityCode, tableName=TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(LinePlan, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') rp = True try: _logger.info('Start create data: %s', self._name) vals.update({ 'id': res.id, #后台取值, 'gprs_id': res.line_id.gprs_id, 'schedule_type': res.line_id.schedule_type, 'line_id': res.line_id.id, 'upfirsttime': '2017-01-01 ' + res.upfirsttime + ':00', 'uplasttime': '2017-01-01 ' + res.uplasttime + ':00', 'downfirsttime': '2017-01-01 ' + res.downfirsttime + ':00', 'downlasttime': '2017-01-01 ' + res.downlasttime + ':00', # 'upfirsttime': res.upfirsttime, # 'uplasttime': res.uplasttime, # 'downfirsttime': res.downfirsttime, # 'downlasttime': res.downlasttime, }) vals = mapping.dict_transfer(self._name, vals) params = Params(type=1, cityCode=cityCode,tableName=LINEPLAN_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception,e: _logger.info('%s', e.message) response_check(rp)
def create(self, vals): ''' 数据创建完成调用api :param vals: :return: ''' res = super(Vehicle, self).create(vals) if not self._context.get('dryrun'): url = self.env['ir.config_parameter'].get_param('restful.url') cityCode = self.env['ir.config_parameter'].get_param('city.code') rp = True try: _logger.info('Start create data: %s', self._name) # vals = mapping.dict_transfer(self._name, vals) vals.update({ 'id': res.id, 'engine_no': res.model_id.engine_no, 'ride_number': res.model_id.ride_number, 'seats_ext': res.model_id.seats_ext, 'total_odometer': res.total_odometer, #增加默认传值 'doorTypeId': 1, 'state': res.state, }) vals = mapping.dict_transfer(self._name, vals) params = Params(type=1, cityCode=cityCode, tableName=CAR_TABLE, data=vals).to_dict() rp = Client().http_post(url, data=params) except Exception, e: _logger.info('%s', e.message) response_check(rp)