diff --git a/src/__pycache__/__init__.cpython-311.pyc b/src/__pycache__/__init__.cpython-311.pyc index a55b27f..426c248 100644 Binary files a/src/__pycache__/__init__.cpython-311.pyc and b/src/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/__pycache__/api.cpython-311.pyc b/src/__pycache__/api.cpython-311.pyc index 94ee192..11ddfb5 100644 Binary files a/src/__pycache__/api.cpython-311.pyc and b/src/__pycache__/api.cpython-311.pyc differ diff --git a/src/__pycache__/config.cpython-311.pyc b/src/__pycache__/config.cpython-311.pyc index d01ff6d..1c86c54 100644 Binary files a/src/__pycache__/config.cpython-311.pyc and b/src/__pycache__/config.cpython-311.pyc differ diff --git a/src/__pycache__/enums.cpython-311.pyc b/src/__pycache__/enums.cpython-311.pyc index 8d88bbf..1c7f55d 100644 Binary files a/src/__pycache__/enums.cpython-311.pyc and b/src/__pycache__/enums.cpython-311.pyc differ diff --git a/src/__pycache__/exceptions.cpython-311.pyc b/src/__pycache__/exceptions.cpython-311.pyc index 52dc6fd..7d64020 100644 Binary files a/src/__pycache__/exceptions.cpython-311.pyc and b/src/__pycache__/exceptions.cpython-311.pyc differ diff --git a/src/__pycache__/logging.cpython-311.pyc b/src/__pycache__/logging.cpython-311.pyc index b2071bc..d73f73c 100644 Binary files a/src/__pycache__/logging.cpython-311.pyc and b/src/__pycache__/logging.cpython-311.pyc differ diff --git a/src/__pycache__/main.cpython-311.pyc b/src/__pycache__/main.cpython-311.pyc index 33938de..bd90e12 100644 Binary files a/src/__pycache__/main.cpython-311.pyc and b/src/__pycache__/main.cpython-311.pyc differ diff --git a/src/__pycache__/models.cpython-311.pyc b/src/__pycache__/models.cpython-311.pyc index 78e2fbe..a9da149 100644 Binary files a/src/__pycache__/models.cpython-311.pyc and b/src/__pycache__/models.cpython-311.pyc differ diff --git a/src/__pycache__/rate_limiter.cpython-311.pyc b/src/__pycache__/rate_limiter.cpython-311.pyc index d9d7738..75029b1 100644 Binary files a/src/__pycache__/rate_limiter.cpython-311.pyc and b/src/__pycache__/rate_limiter.cpython-311.pyc differ diff --git a/src/auth/__pycache__/__init__.cpython-311.pyc b/src/auth/__pycache__/__init__.cpython-311.pyc index 224f452..e42b5d5 100644 Binary files a/src/auth/__pycache__/__init__.cpython-311.pyc and b/src/auth/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/auth/__pycache__/model.cpython-311.pyc b/src/auth/__pycache__/model.cpython-311.pyc index e8edab1..628300a 100644 Binary files a/src/auth/__pycache__/model.cpython-311.pyc and b/src/auth/__pycache__/model.cpython-311.pyc differ diff --git a/src/auth/__pycache__/service.cpython-311.pyc b/src/auth/__pycache__/service.cpython-311.pyc index 2dbb678..02e487c 100644 Binary files a/src/auth/__pycache__/service.cpython-311.pyc and b/src/auth/__pycache__/service.cpython-311.pyc differ diff --git a/src/database/__pycache__/__init__.cpython-311.pyc b/src/database/__pycache__/__init__.cpython-311.pyc index 4badd8c..72fb57c 100644 Binary files a/src/database/__pycache__/__init__.cpython-311.pyc and b/src/database/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/database/__pycache__/core.cpython-311.pyc b/src/database/__pycache__/core.cpython-311.pyc index 9aef183..0ed6dde 100644 Binary files a/src/database/__pycache__/core.cpython-311.pyc and b/src/database/__pycache__/core.cpython-311.pyc differ diff --git a/src/database/__pycache__/service.cpython-311.pyc b/src/database/__pycache__/service.cpython-311.pyc index 2a0a17b..1146faf 100644 Binary files a/src/database/__pycache__/service.cpython-311.pyc and b/src/database/__pycache__/service.cpython-311.pyc differ diff --git a/src/equipment/__pycache__/__init__.cpython-311.pyc b/src/equipment/__pycache__/__init__.cpython-311.pyc index 207a0bf..419a16b 100644 Binary files a/src/equipment/__pycache__/__init__.cpython-311.pyc and b/src/equipment/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/equipment/__pycache__/model.cpython-311.pyc b/src/equipment/__pycache__/model.cpython-311.pyc index 930efe7..507e603 100644 Binary files a/src/equipment/__pycache__/model.cpython-311.pyc and b/src/equipment/__pycache__/model.cpython-311.pyc differ diff --git a/src/equipment/__pycache__/router.cpython-311.pyc b/src/equipment/__pycache__/router.cpython-311.pyc index 42af1ee..0b126e1 100644 Binary files a/src/equipment/__pycache__/router.cpython-311.pyc and b/src/equipment/__pycache__/router.cpython-311.pyc differ diff --git a/src/equipment/__pycache__/schema.cpython-311.pyc b/src/equipment/__pycache__/schema.cpython-311.pyc index 47c3a19..e3c69e9 100644 Binary files a/src/equipment/__pycache__/schema.cpython-311.pyc and b/src/equipment/__pycache__/schema.cpython-311.pyc differ diff --git a/src/equipment/__pycache__/service.cpython-311.pyc b/src/equipment/__pycache__/service.cpython-311.pyc index 32e177b..cde2982 100644 Binary files a/src/equipment/__pycache__/service.cpython-311.pyc and b/src/equipment/__pycache__/service.cpython-311.pyc differ diff --git a/src/equipment/model.py b/src/equipment/model.py index 2d01eee..bfd7478 100644 --- a/src/equipment/model.py +++ b/src/equipment/model.py @@ -34,7 +34,7 @@ class Equipment(Base, DefaultMixin, IdentityMixin): ) -class MasterRecords(Base, DefaultMixin, IdentityMixin): +class EquipmentTransactionRecords(Base, DefaultMixin, IdentityMixin): __tablename__ = "lcc_equipment_tr_data" equipment = relationship( diff --git a/src/equipment/router.py b/src/equipment/router.py index 9a6ef8c..ea64168 100644 --- a/src/equipment/router.py +++ b/src/equipment/router.py @@ -1,7 +1,7 @@ from typing import List, Optional from fastapi import APIRouter, HTTPException, status, Query -from .model import Equipment, MasterRecords +from .model import Equipment, EquipmentTransactionRecords from .schema import ( EquipmentBase, EquipmentPagination, @@ -10,9 +10,10 @@ from .schema import ( EquipmentTop10EconomicLife, EquipmentUpdate, ) -from .service import ( +from src.equipment.service import ( get_master_by_assetnum, get_by_id, + get_by_assetnum, get_all, create, get_top_10_replacement_priorities, @@ -137,16 +138,16 @@ async def create_equipment( return StandardResponse(data=equipment, message="Data created successfully") -@router.put("/{equipment_id}", response_model=StandardResponse[EquipmentUpdate]) +@router.put("/{assetnum}", response_model=StandardResponse[EquipmentUpdate]) async def update_equipment( db_session: DbSession, - equipment_id: str, + assetnum: str, equipment_in: EquipmentUpdate, current_user: CurrentUser, token: Token, ): - equipment = await get_by_id(db_session=db_session, equipment_id=equipment_id) - + equipment = await get_by_assetnum(db_session=db_session, assetnum=assetnum) + print(equipment, assetnum) if not equipment: raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, diff --git a/src/equipment/service.py b/src/equipment/service.py index 37d9fdf..46e6ec0 100644 --- a/src/equipment/service.py +++ b/src/equipment/service.py @@ -3,7 +3,7 @@ from sqlalchemy import Select, Delete, Float, func, cast, String from sqlalchemy.orm import selectinload from src.database.service import search_filter_sort_paginate -from .model import Equipment, MasterRecords +from .model import Equipment, EquipmentTransactionRecords from ..equipment_master.model import EquipmentMaster from .schema import EquipmentCreate, EquipmentUpdate, MasterBase from typing import Optional @@ -19,7 +19,7 @@ import datetime async def get_master_by_assetnum( *, db_session: DbSession, assetnum: str -) -> tuple[list[MasterRecords], float | None]: +) -> tuple[list[EquipmentTransactionRecords], float | None]: """Returns master records with equipment data based on asset number.""" # First query to get equipment record @@ -34,32 +34,32 @@ async def get_master_by_assetnum( # Second query to get master records master_query = ( - Select(MasterRecords) - .join(MasterRecords.equipment) - .options(selectinload(MasterRecords.equipment)) + Select(EquipmentTransactionRecords) + .join(EquipmentTransactionRecords.equipment) + .options(selectinload(EquipmentTransactionRecords.equipment)) .filter(Equipment.assetnum == assetnum) - .order_by(MasterRecords.tahun.asc()) + .order_by(EquipmentTransactionRecords.tahun.asc()) ) master_result = await db_session.execute(master_query) records = master_result.scalars().all() # Get the last actual year last_actual_year_query = ( - Select(func.max(MasterRecords.tahun)) - .join(MasterRecords.equipment) + Select(func.max(EquipmentTransactionRecords.tahun)) + .join(EquipmentTransactionRecords.equipment) .filter(Equipment.assetnum == assetnum) - .filter(MasterRecords.is_actual == 1) + .filter(EquipmentTransactionRecords.is_actual == 1) ) last_actual_year_result = await db_session.execute(last_actual_year_query) last_actual_year = last_actual_year_result.scalar() # Third query specifically for minimum eac_eac min_query = ( - Select(func.min(func.cast(MasterRecords.eac_eac, Float)), MasterRecords.seq) - .join(MasterRecords.equipment) + Select(func.min(func.cast(EquipmentTransactionRecords.eac_eac, Float)), EquipmentTransactionRecords.seq) + .join(EquipmentTransactionRecords.equipment) .filter(Equipment.assetnum == assetnum) - .group_by(MasterRecords.seq) - .order_by(func.min(func.cast(MasterRecords.eac_eac, Float))) + .group_by(EquipmentTransactionRecords.seq) + .order_by(func.min(func.cast(EquipmentTransactionRecords.eac_eac, Float))) .limit(1) ) min_result = await db_session.execute(min_query) @@ -79,6 +79,12 @@ async def get_master_by_assetnum( ) # return result.scalars().all() +async def get_by_assetnum(*, db_session: DbSession, assetnum: str) -> Optional[Equipment]: + """Returns a document based on the given document id.""" + print("assetnum service:", assetnum) + query = Select(Equipment).filter(Equipment.assetnum == assetnum) + result = await db_session.execute(query) + return result.scalars().one_or_none() async def get_by_id(*, db_session: DbSession, equipment_id: str) -> Optional[Equipment]: """Returns a document based on the given document id.""" @@ -182,9 +188,9 @@ async def generate_transaction( ): # Delete all existing master records for this asset number and prediction data query = ( - Delete(MasterRecords) - .where(MasterRecords.assetnum == data_in.assetnum) - .where(MasterRecords.is_actual == 0) + Delete(EquipmentTransactionRecords) + .where(EquipmentTransactionRecords.assetnum == data_in.assetnum) + .where(EquipmentTransactionRecords.is_actual == 0) ) await db_session.execute(query) await db_session.commit() @@ -300,7 +306,7 @@ async def create(*, db_session: DbSession, equipment_in: EquipmentCreate, token) equipment = Equipment(**equipment_in.model_dump()) db_session.add(equipment) await db_session.commit() - await generate_transaction(db_session=db_session, data_in=equipment_in, token=token) + # await generate_transaction(db_session=db_session, data_in=equipment_in, token=token) return equipment @@ -318,12 +324,12 @@ async def update( await db_session.commit() updated_data = vars(equipment) - equipment_create = EquipmentCreate(**updated_data) - await generate_transaction( - db_session=db_session, data_in=equipment_create, token=token - ) + # equipment_create = EquipmentCreate(**updated_data) + # await generate_transaction( + # db_session=db_session, data_in=equipment_create, token=token + # ) - return equipment + return updated_data async def delete(*, db_session: DbSession, equipment_id: str): diff --git a/src/equipment_master/__pycache__/__init__.cpython-311.pyc b/src/equipment_master/__pycache__/__init__.cpython-311.pyc index 93b73e0..96296b7 100644 Binary files a/src/equipment_master/__pycache__/__init__.cpython-311.pyc and b/src/equipment_master/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/equipment_master/__pycache__/model.cpython-311.pyc b/src/equipment_master/__pycache__/model.cpython-311.pyc index ae571cc..96af68b 100644 Binary files a/src/equipment_master/__pycache__/model.cpython-311.pyc and b/src/equipment_master/__pycache__/model.cpython-311.pyc differ diff --git a/src/equipment_master/__pycache__/router.cpython-311.pyc b/src/equipment_master/__pycache__/router.cpython-311.pyc index a1e8c25..4a8bc0b 100644 Binary files a/src/equipment_master/__pycache__/router.cpython-311.pyc and b/src/equipment_master/__pycache__/router.cpython-311.pyc differ diff --git a/src/equipment_master/__pycache__/schema.cpython-311.pyc b/src/equipment_master/__pycache__/schema.cpython-311.pyc index a110a42..f165132 100644 Binary files a/src/equipment_master/__pycache__/schema.cpython-311.pyc and b/src/equipment_master/__pycache__/schema.cpython-311.pyc differ diff --git a/src/equipment_master/__pycache__/service.cpython-311.pyc b/src/equipment_master/__pycache__/service.cpython-311.pyc index 6d7dc6c..34463fa 100644 Binary files a/src/equipment_master/__pycache__/service.cpython-311.pyc and b/src/equipment_master/__pycache__/service.cpython-311.pyc differ diff --git a/src/masterdata/__pycache__/__init__.cpython-311.pyc b/src/masterdata/__pycache__/__init__.cpython-311.pyc index 7e1190c..3239661 100644 Binary files a/src/masterdata/__pycache__/__init__.cpython-311.pyc and b/src/masterdata/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/masterdata/__pycache__/model.cpython-311.pyc b/src/masterdata/__pycache__/model.cpython-311.pyc index 9c3aecf..4d68131 100644 Binary files a/src/masterdata/__pycache__/model.cpython-311.pyc and b/src/masterdata/__pycache__/model.cpython-311.pyc differ diff --git a/src/masterdata/__pycache__/router.cpython-311.pyc b/src/masterdata/__pycache__/router.cpython-311.pyc index ff9b73e..e6ba131 100644 Binary files a/src/masterdata/__pycache__/router.cpython-311.pyc and b/src/masterdata/__pycache__/router.cpython-311.pyc differ diff --git a/src/masterdata/__pycache__/schema.cpython-311.pyc b/src/masterdata/__pycache__/schema.cpython-311.pyc index 34b51be..4bb5e38 100644 Binary files a/src/masterdata/__pycache__/schema.cpython-311.pyc and b/src/masterdata/__pycache__/schema.cpython-311.pyc differ diff --git a/src/masterdata/__pycache__/service.cpython-311.pyc b/src/masterdata/__pycache__/service.cpython-311.pyc index 1365103..11a6415 100644 Binary files a/src/masterdata/__pycache__/service.cpython-311.pyc and b/src/masterdata/__pycache__/service.cpython-311.pyc differ diff --git a/src/modules/equipment/__pycache__/Eac.cpython-311.pyc b/src/modules/equipment/__pycache__/Eac.cpython-311.pyc index a1bee37..0e63949 100644 Binary files a/src/modules/equipment/__pycache__/Eac.cpython-311.pyc and b/src/modules/equipment/__pycache__/Eac.cpython-311.pyc differ diff --git a/src/modules/equipment/__pycache__/Prediksi.cpython-311.pyc b/src/modules/equipment/__pycache__/Prediksi.cpython-311.pyc index 916f420..68f66c9 100644 Binary files a/src/modules/equipment/__pycache__/Prediksi.cpython-311.pyc and b/src/modules/equipment/__pycache__/Prediksi.cpython-311.pyc differ diff --git a/src/modules/equipment/__pycache__/insert_actual_data.cpython-311.pyc b/src/modules/equipment/__pycache__/insert_actual_data.cpython-311.pyc index dbaed9a..707ab8f 100644 Binary files a/src/modules/equipment/__pycache__/insert_actual_data.cpython-311.pyc and b/src/modules/equipment/__pycache__/insert_actual_data.cpython-311.pyc differ diff --git a/src/modules/equipment/__pycache__/run.cpython-311.pyc b/src/modules/equipment/__pycache__/run.cpython-311.pyc index 1027902..4cfcbd2 100644 Binary files a/src/modules/equipment/__pycache__/run.cpython-311.pyc and b/src/modules/equipment/__pycache__/run.cpython-311.pyc differ diff --git a/src/plant_masterdata/__pycache__/__init__.cpython-311.pyc b/src/plant_masterdata/__pycache__/__init__.cpython-311.pyc index d4c99d1..0dacd0e 100644 Binary files a/src/plant_masterdata/__pycache__/__init__.cpython-311.pyc and b/src/plant_masterdata/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/plant_masterdata/__pycache__/model.cpython-311.pyc b/src/plant_masterdata/__pycache__/model.cpython-311.pyc index 754f5f4..79a3193 100644 Binary files a/src/plant_masterdata/__pycache__/model.cpython-311.pyc and b/src/plant_masterdata/__pycache__/model.cpython-311.pyc differ diff --git a/src/plant_masterdata/__pycache__/router.cpython-311.pyc b/src/plant_masterdata/__pycache__/router.cpython-311.pyc index e1b01c3..d3fb3d3 100644 Binary files a/src/plant_masterdata/__pycache__/router.cpython-311.pyc and b/src/plant_masterdata/__pycache__/router.cpython-311.pyc differ diff --git a/src/plant_masterdata/__pycache__/schema.cpython-311.pyc b/src/plant_masterdata/__pycache__/schema.cpython-311.pyc index 49fa013..511e8aa 100644 Binary files a/src/plant_masterdata/__pycache__/schema.cpython-311.pyc and b/src/plant_masterdata/__pycache__/schema.cpython-311.pyc differ diff --git a/src/plant_masterdata/__pycache__/service.cpython-311.pyc b/src/plant_masterdata/__pycache__/service.cpython-311.pyc index 69cf45b..6c73eb8 100644 Binary files a/src/plant_masterdata/__pycache__/service.cpython-311.pyc and b/src/plant_masterdata/__pycache__/service.cpython-311.pyc differ diff --git a/src/plant_transaction_data/__pycache__/__init__.cpython-311.pyc b/src/plant_transaction_data/__pycache__/__init__.cpython-311.pyc index 395c311..009eeee 100644 Binary files a/src/plant_transaction_data/__pycache__/__init__.cpython-311.pyc and b/src/plant_transaction_data/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/plant_transaction_data/__pycache__/model.cpython-311.pyc b/src/plant_transaction_data/__pycache__/model.cpython-311.pyc index a1441ac..52f675a 100644 Binary files a/src/plant_transaction_data/__pycache__/model.cpython-311.pyc and b/src/plant_transaction_data/__pycache__/model.cpython-311.pyc differ diff --git a/src/plant_transaction_data/__pycache__/router.cpython-311.pyc b/src/plant_transaction_data/__pycache__/router.cpython-311.pyc index b83c6b9..ebc4b91 100644 Binary files a/src/plant_transaction_data/__pycache__/router.cpython-311.pyc and b/src/plant_transaction_data/__pycache__/router.cpython-311.pyc differ diff --git a/src/plant_transaction_data/__pycache__/schema.cpython-311.pyc b/src/plant_transaction_data/__pycache__/schema.cpython-311.pyc index a9f3ff9..9444998 100644 Binary files a/src/plant_transaction_data/__pycache__/schema.cpython-311.pyc and b/src/plant_transaction_data/__pycache__/schema.cpython-311.pyc differ diff --git a/src/plant_transaction_data/__pycache__/service.cpython-311.pyc b/src/plant_transaction_data/__pycache__/service.cpython-311.pyc index 6e50b0a..cbae0a6 100644 Binary files a/src/plant_transaction_data/__pycache__/service.cpython-311.pyc and b/src/plant_transaction_data/__pycache__/service.cpython-311.pyc differ diff --git a/src/yeardata/__pycache__/__init__.cpython-311.pyc b/src/yeardata/__pycache__/__init__.cpython-311.pyc index 5074876..b39559f 100644 Binary files a/src/yeardata/__pycache__/__init__.cpython-311.pyc and b/src/yeardata/__pycache__/__init__.cpython-311.pyc differ diff --git a/src/yeardata/__pycache__/model.cpython-311.pyc b/src/yeardata/__pycache__/model.cpython-311.pyc index 75bb17f..25b17b5 100644 Binary files a/src/yeardata/__pycache__/model.cpython-311.pyc and b/src/yeardata/__pycache__/model.cpython-311.pyc differ diff --git a/src/yeardata/__pycache__/router.cpython-311.pyc b/src/yeardata/__pycache__/router.cpython-311.pyc index 5378258..0d37231 100644 Binary files a/src/yeardata/__pycache__/router.cpython-311.pyc and b/src/yeardata/__pycache__/router.cpython-311.pyc differ diff --git a/src/yeardata/__pycache__/schema.cpython-311.pyc b/src/yeardata/__pycache__/schema.cpython-311.pyc index 601f650..2cd8b45 100644 Binary files a/src/yeardata/__pycache__/schema.cpython-311.pyc and b/src/yeardata/__pycache__/schema.cpython-311.pyc differ diff --git a/src/yeardata/__pycache__/service.cpython-311.pyc b/src/yeardata/__pycache__/service.cpython-311.pyc index b30f40d..ec0010d 100644 Binary files a/src/yeardata/__pycache__/service.cpython-311.pyc and b/src/yeardata/__pycache__/service.cpython-311.pyc differ