|
|
@@ -6,6 +6,7 @@ from mcu.BlueToothMode import BlueToothMode
|
|
|
from databases import DeviceConfig, SqlQuery, CRUD, PhotoRecord, SysConfigs
|
|
|
from mcu.capture.module_digicam import DigiCam
|
|
|
|
|
|
+
|
|
|
# socket消息发送逻辑处理方法
|
|
|
async def handlerSend(
|
|
|
manager: ConnectionManager, receiveData: str, websocket: WebSocket
|
|
|
@@ -30,7 +31,7 @@ async def handlerSend(
|
|
|
pass
|
|
|
case "forward_message":
|
|
|
data = receiveData.get("data")
|
|
|
- dictMsg = {"code":code,"msg":msg,"data":data}
|
|
|
+ dictMsg = {"code": code, "msg": msg, "data": data}
|
|
|
await manager.broadcast(dictMsg)
|
|
|
case "connect_mcu":
|
|
|
device_ctrl = DeviceControl(websocket_manager=manager)
|
|
|
@@ -48,7 +49,7 @@ async def handlerSend(
|
|
|
case "init_mcu":
|
|
|
device_ctrl = DeviceControl(websocket_manager=manager)
|
|
|
# 是否强制初始化
|
|
|
- is_force_init = data.get("value",False)
|
|
|
+ is_force_init = data.get("value", False)
|
|
|
loop.create_task(device_ctrl.initDevice(is_force_init), name="init_mcu")
|
|
|
case "control_mcu":
|
|
|
device_name = data.get("device_name")
|
|
|
@@ -56,9 +57,7 @@ async def handlerSend(
|
|
|
if (device_name == "" or device_name == None) or (
|
|
|
value == "" or value == None
|
|
|
):
|
|
|
- data = manager.jsonMessage(
|
|
|
- code=1, msg="参数错误", msg_type="mcu"
|
|
|
- )
|
|
|
+ data = manager.jsonMessage(code=1, msg="参数错误", msg_type="mcu")
|
|
|
await manager.send_personal_message(data, websocket)
|
|
|
return
|
|
|
device_ctrl = DeviceControl(websocket_manager=manager)
|
|
|
@@ -74,7 +73,7 @@ async def handlerSend(
|
|
|
msg_type = "run_mcu"
|
|
|
action_info = data.get("action", "执行左脚程序")
|
|
|
goods_art_no = data.get("goods_art_no", None)
|
|
|
- if goods_art_no == None or goods_art_no =="":
|
|
|
+ if goods_art_no == None or goods_art_no == "":
|
|
|
# 判断货号是否存在
|
|
|
data = manager.jsonMessage(
|
|
|
code=1, msg="goods_art_no不能为空", msg_type=msg_type
|
|
|
@@ -92,7 +91,9 @@ async def handlerSend(
|
|
|
action_flag = "right"
|
|
|
tab_id = action_configs_json.get(action_flag)
|
|
|
photoRecord = CRUD(PhotoRecord)
|
|
|
- goods_art_record = photoRecord.read(session,conditions={"goods_art_no": goods_art_no})
|
|
|
+ goods_art_record = photoRecord.read(
|
|
|
+ session, conditions={"goods_art_no": goods_art_no}
|
|
|
+ )
|
|
|
if goods_art_record != None:
|
|
|
data = manager.jsonMessage(
|
|
|
code=1,
|
|
|
@@ -130,7 +131,7 @@ async def handlerSend(
|
|
|
blue_tooth.remote_control_v2.handlerTakePhoto(),
|
|
|
name="run_mcu_config",
|
|
|
)
|
|
|
- case "re_take_picture":#重拍
|
|
|
+ case "re_take_picture": # 重拍
|
|
|
# try:
|
|
|
# # 判断拍照软件是否初始化
|
|
|
# digicam = DigiCam()
|
|
|
@@ -166,9 +167,7 @@ async def handlerSend(
|
|
|
image_index = goods_art_record.image_index
|
|
|
crud = CRUD(DeviceConfig)
|
|
|
condtions = {"id": action_id}
|
|
|
- device_action = crud.read(
|
|
|
- session, conditions=condtions
|
|
|
- )
|
|
|
+ device_action = crud.read(session, conditions=condtions)
|
|
|
device_result = dict(device_action.__dict__)
|
|
|
if device_action == None:
|
|
|
# 判断是否有可用配置
|
|
|
@@ -229,6 +228,32 @@ async def handlerSend(
|
|
|
device_ctrl.sendCommand(data.get("command", None)),
|
|
|
name="sendCommand",
|
|
|
)
|
|
|
+ case "digicam_take_picture":
|
|
|
+ msg_type = "re_take_picture"
|
|
|
+ id = data.get("id", 0)
|
|
|
+ goods_art_no = data.get("goods_art_no", "")
|
|
|
+ session = SqlQuery()
|
|
|
+ photoRecord = CRUD(PhotoRecord)
|
|
|
+ goods_art_record = photoRecord.read(session, conditions={"id": id})
|
|
|
+ if goods_art_record == None:
|
|
|
+ data = manager.jsonMessage(
|
|
|
+ code=1,
|
|
|
+ msg=f"记录不存在,请核实后重新操作~",
|
|
|
+ msg_type=msg_type,
|
|
|
+ )
|
|
|
+ await manager.send_personal_message(data, websocket)
|
|
|
+ return
|
|
|
+ reset_data = {"image_path": None}
|
|
|
+ photoRecord.update(session, id, **reset_data)
|
|
|
+ device_ctrl = DeviceControl(websocket_manager=manager)
|
|
|
+ loop.create_task(
|
|
|
+ device_ctrl.only_take_photo(
|
|
|
+ goods_art_no=goods_art_no,
|
|
|
+ image_index=goods_art_record.image_index,
|
|
|
+ record_id=id,
|
|
|
+ ),
|
|
|
+ name="sendCommand",
|
|
|
+ )
|
|
|
case _:
|
|
|
data = manager.jsonMessage(code=1, msg="未知消息")
|
|
|
await manager.send_personal_message(data, websocket)
|