rambo hai 4 meses
pai
achega
c5d2af0ddb
Modificáronse 3 ficheiros con 33 adicións e 8 borrados
  1. 6 6
      python/api.py
  2. 24 1
      python/databases.py
  3. 3 1
      python/mcu/capture/smart_shooter_class.py

+ 6 - 6
python/api.py

@@ -599,7 +599,7 @@ def reset_config(params: ModelGetDeviceConfig):
         device_config = DeviceConfig(**data)
         session.add(device_config)
     session.commit()
-    session.close()
+    # session.close()
     return {"code": 0, "msg": "操作成功", "data": None}
 
 
@@ -639,7 +639,7 @@ def get_photo_records(page: int = 1, size: int = 5):
                 "items": list_item,
             }
         )
-    session.close()
+    # session.close()
     print("循环查询 完成 ", datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
     return {
         "code": 0,
@@ -657,7 +657,7 @@ def get_last_photo_record():
         .order_by(desc("photo_create_time"))
     )
     result = session.exec(statement).first()
-    session.close()
+    # session.close()
     return {
         "code": 0,
         "msg": "",
@@ -672,7 +672,7 @@ def get_photo_record_detail(goods_art_no: str = None):
     session = SqlQuery()
     photos = CRUD(PhotoRecord)
     items = photos.read_all(session, conditions={"goods_art_no": goods_art_no})
-    session.close()
+    # session.close()
     return {
         "code": 0,
         "msg": "",
@@ -686,7 +686,7 @@ def delect_goods_arts(params: PhotoRecordDelete):
     photos = CRUD(PhotoRecord)
     for item in params.goods_art_nos:
         photos.deleteConditions(session, conditions={"goods_art_no": item})
-    session.close()
+    # session.close()
     return {
         "code": 0,
         "msg": "操作成功",
@@ -701,7 +701,7 @@ def get_sys_config(key: str = None):
     session = SqlQuery()
     photos = CRUD(SysConfigs)
     item = photos.read(session, conditions={"key": key})
-    session.close()
+    # session.close()
     return {
         "code": 0,
         "msg": "",

+ 24 - 1
python/databases.py

@@ -121,11 +121,34 @@ class CRUD:
         session.refresh(db_obj)
         return db_obj
 
+    def deleteConditions(
+        self,
+        session: Session,
+        conditions: Optional[Dict] = None,
+    ):
+        query = select(self.model)
+        if conditions == None:
+            return False
+        query = query.where(
+            and_(
+                *(
+                    getattr(self.model, key) == value
+                    for key, value in conditions.items()
+                )
+            )
+        )
+        objects_to_delete = session.exec(query).all()
+        for obj in objects_to_delete:
+            session.delete(obj)
+        session.commit()
+        # session.refresh()
+        return True
+
     def delete(self, session: Session, obj_id: int):
         db_obj = session.get(self.model, obj_id)
         session.delete(db_obj)
         session.commit()
-        session.refresh()
+        # session.refresh()
 
     # 恢复 updateConditions 方法
     def updateConditions(self, session: Session, conditions: Dict, **kwargs):

+ 3 - 1
python/mcu/capture/smart_shooter_class.py

@@ -292,7 +292,9 @@ class SmartShooter(metaclass=SingletonType):
             context.term()
             return False, "相机未连接或软件未打开"
 
-    async def CameraShooter(self, msg_type="", goods_art_no="", id=0, is_af=False):
+    async def CameraShooter(self, msg_type="", goods_art_no="", id=0, is_af=False,delay=1.5):
+        # 这里延迟一秒钟 等待前置命令完成
+        await asyncio.sleep(delay)
         # 对焦混用
         if is_af:
             await self.CameraAutofocus()