from sqlalchemy.orm import Session from . import models, schemas from typing import Optional, List import uuid def create_unloading(db: Session, unloading: schemas.UnloadingCreate): db_unloading = models.Unloading( guid=unloading.guid or str(uuid.uuid4()).upper(), name=unloading.name, unloading_time_seconds=unloading.unloading_time_seconds, warnings=unloading.warnings, row_count=unloading.row_count, file_count=unloading.file_count, computer_name=unloading.computer_name ) db.add(db_unloading) db.commit() db.refresh(db_unloading) return db_unloading def get_unloadings(db: Session, skip: int = 0, limit: int = 100): return db.query(models.Unloading).offset(skip).limit(limit).all() def get_unloading(db: Session, guid: str): return db.query(models.Unloading).filter(models.Unloading.guid == guid).first() def get_products(db: Session, skip: int = 0, limit: int = 100): return db.query(models.Product).offset(skip).limit(limit).all() def get_product(db: Session, guid: str): return db.query(models.Product).filter(models.Product.guid == guid).first() def add_unload_check(db: Session, product_guid: str, stage: schemas.UnloadCheckCreate): db_stage = models.UnloadCheck( product_guid=product_guid, fio=stage.fio, is_completed=stage.is_completed ) db.add(db_stage) db.commit() db.refresh(db_stage) return db_stage def add_test_load(db: Session, product_guid: str, stage: schemas.TestLoadCreate): db_stage = models.TestLoad( product_guid=product_guid, fio=stage.fio, is_completed=stage.is_completed ) db.add(db_stage) db.commit() db.refresh(db_stage) return db_stage def add_test_check(db: Session, product_guid: str, stage: schemas.TestCheckCreate): db_stage = models.TestCheck( product_guid=product_guid, fio=stage.fio, is_completed=stage.is_completed ) db.add(db_stage) db.commit() db.refresh(db_stage) return db_stage def add_prod_transfer(db: Session, product_guid: str, stage: schemas.ProdTransferCreate): db_stage = models.ProdTransfer( product_guid=product_guid, fio=stage.fio, is_completed=stage.is_completed ) db.add(db_stage) db.commit() db.refresh(db_stage) return db_stage