123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- from hub import methods, Global
- async def code_2001(**sources):
- """
- 获取全部渣包车状态
- """
- """
- VehicleInfo: 渣包车信息表
- VehicleInfo.uuid: 车辆标识
- VehicleInfo.name: 车辆名称
- VehicleInfo.address: 车辆ip
- VehicleInfo.state: 车辆状态 1 离线(默认值) 2 在线空闲 3 人工驾驶中 4 远程驾驶中 5 自动驾驶中
- VehicleInfo.check_vehicle_direction: 当前车头方向是否符合自动驾驶条件 True 符合 False 不符合(默认值)
- VehicleInfo.current_vehicle_direction: 当前车头方向类型 3 围栏方向 9 渣场方向 12 维修间方向 6 维修间正对方向 0 未知(默认值)
- VehicleInfo.check_vehicle_coordinate: 当前车辆坐标是否符合自动驾驶条件 True 符合 False 不符合(默认值)
- VehicleInfo.current_vehicle_coordinate_x: 当前所在位置坐标
- VehicleInfo.current_vehicle_coordinate_y: 当前所在位置坐标
- VehicleInfo.current_vehicle_weight: 当前车辆负载重量
- """
- # --- fill d1 ---
- d1 = list()
- for item in Global.mdb.get_all('VehicleInfo'):
- # --- check ---
- if 'check_vehicle_direction' not in item:
- item['check_vehicle_direction'] = False
- if 'current_vehicle_direction' not in item:
- item['current_vehicle_direction'] = 0
- if 'state' not in item:
- item['state'] = 1
- if 'current_vehicle_weight' not in item:
- item['current_vehicle_weight'] = 0
- # --- append ---
- item['uuid'] = str(item.get('_id'))
- item.pop('_id')
- d1.append(item)
- return dict(code=0, data=d1)
- async def code_2002(**sources):
- """
- 指定渣包车点火操作接口
- """
- return dict(code=0, data=sources.get('uuid'))
- async def code_2003(**sources):
- """
- 指定渣包车熄火操作接口
- """
- return dict(code=0, data=sources.get('uuid'))
- async def code_2004(**sources):
- """
- 指定渣包车建立远程操作权限(或是切换)接口
- """
- return dict(code=0, data=sources.get('uuid'))
- async def code_2101(**sources):
- """
- 新增渣包车接口
- """
- # --- save ---
- """
- VehicleInfo: 渣包车信息表
- VehicleInfo.uuid: 标识
- VehicleInfo.name: 车辆名称
- VehicleInfo.address: 车辆ip
- VehicleInfo.state: 车辆状态 1 离线(默认值) 2 在线空闲 3 人工驾驶中 4 远程驾驶中 5 自动驾驶中
- VehicleInfo.check_vehicle_direction: 当前车头方向是否符合自动驾驶条件 True 符合 False 不符合(默认值)
- VehicleInfo.current_vehicle_direction: 当前车头方向类型 3 围栏方向 9 渣场方向 12 维修间方向 6 维修间正对方向 0 未知(默认值)
- VehicleInfo.check_vehicle_coordinate: 当前车辆坐标是否符合自动驾驶条件 True 符合 False 不符合(默认值)
- VehicleInfo.current_vehicle_coordinate_x: 当前所在位置坐标
- VehicleInfo.current_vehicle_coordinate_y: 当前所在位置坐标
- VehicleInfo.current_vehicle_weight: 当前车辆负载重量
- """
- data = {
- 'name': sources.get('name'),
- 'address': sources.get('address'),
- 'state': 1,
- 'check_vehicle_direction': False,
- 'update_at': methods.now_ts(),
- }
- uuid = Global.mdb.add('VehicleInfo', data)
- return dict(code=0, data=uuid)
- async def code_2102(**sources):
- """
- 修改渣包车接口
- """
- # --- check ---
- uuid = sources.get('uuid')
- if not uuid:
- return dict(code=1, detail=f"something is wrong.")
- # --- check ---
- item = Global.mdb.get_one_by_id('VehicleInfo', uuid)
- if not item:
- return dict(code=2, detail=f"something is wrong.")
- # --- update VehicleInfo by id ---
- """
- VehicleInfo: 渣包车信息表
- VehicleInfo.uuid: 标识
- VehicleInfo.name: 车辆名称
- VehicleInfo.address: 车辆ip
- VehicleInfo.state: 车辆状态 1 离线(默认值) 2 在线空闲 3 人工驾驶中 4 远程驾驶中 5 自动驾驶中
- VehicleInfo.check_vehicle_direction: 当前车头方向是否符合自动驾驶条件 True 符合 False 不符合(默认值)
- VehicleInfo.current_vehicle_direction: 当前车头方向类型 3 围栏方向 9 渣场方向 12 维修间方向 6 维修间正对方向 0 未知(默认值)
- VehicleInfo.check_vehicle_coordinate: 当前车辆坐标是否符合自动驾驶条件 True 符合 False 不符合(默认值)
- VehicleInfo.current_vehicle_coordinate_x: 当前所在位置坐标
- VehicleInfo.current_vehicle_coordinate_y: 当前所在位置坐标
- VehicleInfo.current_vehicle_weight: 当前车辆负载重量
- """
- update_dict = dict()
- update_dict['update_at'] = methods.now_ts()
- if sources.get('name'):
- update_dict['name'] = sources.get('name')
- if sources.get('address'):
- update_dict['address'] = sources.get('address')
- Global.mdb.update_one_by_id('VehicleInfo', uuid, update_dict)
- # --- get ---
- item = Global.mdb.get_one_by_id('VehicleInfo', uuid)
- item['uuid'] = str(item.get('_id'))
- item.pop('_id')
- return dict(code=0, data=item)
- async def code_2103(**sources):
- """
- 删除渣包车接口
- """
- # --- check ---
- uuid = sources.get('uuid')
- if not uuid:
- return dict(code=1, detail=f"something is wrong.")
- # --- check ---
- item = Global.mdb.get_one_by_id('VehicleInfo', uuid)
- if not item:
- return dict(code=2, detail=f"something is wrong.")
- # --- clean ---
- Global.mdb.remove_one_by_id('VehicleInfo', uuid)
- return dict(code=0, data=uuid)
|