add remark

main
Cizz22 3 months ago
parent 5fba3682dc
commit 2ad33fcbe4

@ -7,17 +7,17 @@ from src.models import DefaultMixin, IdentityMixin, TimeStampMixin
from src.workorder.model import MasterWorkOrder
class MasterSparePart(Base, DefaultMixin):
__tablename__ = "oh_ms_sparepart"
# class MasterSparePart(Base, DefaultMixin):
# __tablename__ = "oh_ms_sparepart"
assetnum = Column(String, nullable=False)
location_tag = Column(String, nullable=False)
stock = Column(Integer, nullable=False, default=0)
name = Column(String, nullable=False)
cost_per_stock = Column(Float, nullable=False)
unit = Column(String, nullable=False)
# assetnum = Column(String, nullable=False)
# location_tag = Column(String, nullable=False)
# stock = Column(Integer, nullable=False, default=0)
# name = Column(String, nullable=False)
# cost_per_stock = Column(Float, nullable=False)
# unit = Column(String, nullable=False)
sparepart_procurements = relationship("MasterSparepartProcurement", lazy="selectin")
# sparepart_procurements = relationship("MasterSparepartProcurement", lazy="selectin")
class MasterSparepartProcurement(Base, DefaultMixin):
@ -33,3 +33,11 @@ class MasterSparepartProcurement(Base, DefaultMixin):
eta_requisition = Column(Date, nullable=False)
eta_ordered = Column(Date, nullable=True)
eta_received = Column(Date, nullable=True)
class SparepartRemark(Base, DefaultMixin):
__tablename__ = "oh_ms_sparepart_remark"
itemnum = Column(String, nullable=False)
remark = Column(String, nullable=False)

@ -4,8 +4,9 @@ from src.database.core import CollectorDbSession
from src.database.service import (CommonParameters, DbSession,
search_filter_sort_paginate)
from src.models import StandardResponse
from src.sparepart.schema import SparepartRemark
from .service import get_spareparts_paginated
from .service import create_remark, get_spareparts_paginated
router = APIRouter()
@ -22,6 +23,17 @@ async def get_sparepart(collector_db_session:CollectorDbSession, db_session: DbS
data=data,
message="Data retrieved successfully",
)
@router.post("", response_model=StandardResponse[SparepartRemark])
async def create_remark_route(collector_db_session:CollectorDbSession, db_session: DbSession, remark_in:SparepartRemark):
sparepart_remark = await create_remark(db_session=db_session, collector_db_session=collector_db_session, remark_in=remark_in)
return StandardResponse(
data=sparepart_remark,
message="Remark Created successfully"
)
# @router.post("", response_model=StandardResponse[ActivityMasterCreate])

@ -74,4 +74,9 @@ class ProcurementRecord:
order_date: date
expected_delivery_date: date
status: ProcurementStatus
po_vendor_delivery_date: date
po_vendor_delivery_date: date
class SparepartRemark(DefultBase):
itemnum: str
remark:str

@ -9,7 +9,7 @@ import numpy as np
from dataclasses import dataclass
from enum import Enum
from sqlalchemy import Delete, Select, text
from sqlalchemy import Delete, Select, select, text
from sqlalchemy.orm import joinedload, selectinload
from src.auth.service import CurrentUser
@ -19,6 +19,7 @@ from src.logging import setup_logging
from src.overhaul_activity.service import get_standard_scope_by_session_id
from src.overhaul_scope.service import get as get_scope, get_overview_overhaul
from src.overhaul_scope.service import get_prev_oh
from src.sparepart.model import SparepartRemark
from src.sparepart.schema import ProcurementRecord, ProcurementStatus, SparepartRequirement, SparepartStock
@ -1368,4 +1369,28 @@ ORDER BY po.item_num, po.pr_issue_date DESC;
async def create_remark(*, db_session, collector_db_session, remark_in):
# Step 1: Check if remark already exists for this itemnum
result = await db_session.execute(
select(SparepartRemark).where(SparepartRemark.itemnum == remark_in.itemnum)
)
existing_remark = result.scalar_one_or_none()
# Step 2: If it already exists, you can decide what to do
if existing_remark:
# Option B: Update existing remark (if needed)
existing_remark.remark = remark_in.remark
await db_session.commit()
await db_session.refresh(existing_remark)
return existing_remark
# Step 3: If it doesnt exist, create new one
new_remark = SparepartRemark(
itemnum=remark_in.itemnum,
remark=remark_in.remark,
)
db_session.add(new_remark)
await db_session.commit()
await db_session.refresh(new_remark)
return new_remark

Loading…
Cancel
Save