Example #1
0
 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)
Example #2
0
    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)
Example #3
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
    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)
Example #8
0
    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
Example #9
0
    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)
Example #10
0
    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)
Example #11
0
    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)
Example #12
0
    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
Example #13
0
    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)
Example #14
0
    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)
Example #15
0
 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
Example #16
0
    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)
Example #17
0
    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
Example #18
0
    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)
Example #19
0
    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
Example #20
0
    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)
Example #21
0
    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)
Example #22
0
    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
Example #23
0
    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
Example #24
0
    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)
Example #25
0
    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)
Example #26
0
    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)
Example #27
0
    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)
Example #28
0
    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)