From c239acd6d4a04318444e37c5714ebbaaeb4aead1 Mon Sep 17 00:00:00 2001 From: MrWaradana Date: Wed, 26 Feb 2025 15:49:24 +0700 Subject: [PATCH] refactor: minimum eac record to database structure --- .../__pycache__/model.cpython-311.pyc | Bin 4720 -> 5094 bytes .../__pycache__/schema.cpython-311.pyc | Bin 8847 -> 9473 bytes src/equipment/model.py | 10 ++++++++-- src/equipment/schema.py | 9 ++++++++- src/modules/equipment/Eac.py | 14 ++++++++++++-- .../equipment/__pycache__/Eac.cpython-311.pyc | Bin 8872 -> 9267 bytes 6 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/equipment/__pycache__/model.cpython-311.pyc b/src/equipment/__pycache__/model.cpython-311.pyc index 6fb67e915ad09c2a43dde0eeebfbd9ac62ad4a3a..b5341b1ba15d06ae7320341d4af15e598e27e3ad 100644 GIT binary patch delta 628 zcmeyM@=Tp?IWI340}$}v+LvxBu#wM*k@3=GN5*H99hpQJ1tu?Glw=eHk(okF45=)s zoGDCen3pjzFsue*2#6BKDI!OY_L#N-m@(!`v}x-5x|&6E3CcGQbXPY9dgy29mxsNqFX z!z-eO4SqMoWG1A|2wzcpLCo}`nCTTU(+2+=;<6LUW~6Umy&!IOQQYi`xY-33ksCr1 z6Vzsit`NN-q<>LJ|B8@)gE!G)QVKKF7Kkcu5WOH}eo@N&ij?^U7V#Srax>Uwlmi7N z%r8oqUy%R`icZdB)n(M%JcsojyQD5Kx{CBbgg%Hcgb}KnC-a6gvw>v{Cw~yAlm|

Q z$&PFylb^8Za%lh!D&hkY$rA-dHyf}YV3$+}34z5mK`d<;A-|cEKb)BjETcU+O{h{H zEQPB47l%!5eoARhs$Eg!+>&dbZi00j9r_oaUk-pD5_%XEctvaW1CBj@C~vf9GjsT`@Ck{}gekjj$6 zF?qGDK2X+MR#un~D9ei?%LNwa#}MZRiwj_g^MJ(#F>K)liOULMsOPf*x+8@-m_d_& z@>5xhdj8zZyv*Fv-1yYQ*eSx~wn zWQWTIb;pb9j#tzjFR+MCs93-}rS<{~knMPp#qq&pUisyWS(CTQD{*ClyaFQ9CO?!n tW6Yc^p->1UyA)&@^EaUZT^&dbZi00bw_?n~DY+Q=s>%d~}IvaW1CBlqOFvf7h>$O>_D*Z>uzFb6Ye za!zKIw~*(_&CH8WO-zo@%uCC^#g~y-l%5!0oS0Yw6v))%n|wgtf?F1-r6>_ZC`|q+ zDLh$Ufsbh-!(@8}4`n6w1*$7pHk4dYvbm^ab4AIf!DoWT4C5)f7g%h7=pu{Fjmh1j~Fu LmKT_OO2r%ia6w0> diff --git a/src/equipment/model.py b/src/equipment/model.py index a5e77a2..2d01eee 100644 --- a/src/equipment/model.py +++ b/src/equipment/model.py @@ -15,15 +15,21 @@ class Equipment(Base, DefaultMixin, IdentityMixin): forecasting_start_year = Column(Integer, nullable=False) forecasting_target_year = Column(Integer, nullable=False) manhours_rate = Column(Float, nullable=False) - min_eac_info = Column(Text, nullable=True) harga_saat_ini = Column(Float, nullable=True) + minimum_eac_seq = Column(Integer, nullable=False) + minimum_eac_year = Column(Integer, nullable=False) + minimum_eac = Column(Float, nullable=False) + minimum_npv = Column(Float, nullable=False) + minimum_pmt = Column(Float, nullable=False) + minimum_pmt_aq_cost = Column(Float, nullable=False) + minimum_is_actual = Column(Integer, nullable=False) equipment_master = relationship( "EquipmentMaster", # backref="equipment", lazy="raise", primaryjoin="and_(Equipment.assetnum == foreign(EquipmentMaster.assetnum))", - viewonly=True, + viewonly=True, uselist=False, ) diff --git a/src/equipment/schema.py b/src/equipment/schema.py index 565c30b..21ebfff 100644 --- a/src/equipment/schema.py +++ b/src/equipment/schema.py @@ -88,7 +88,14 @@ class EquipmentDataMaster(EquipmentBase): id: UUID equipment_master: EquipmentMasterBase forecasting_target_year: Optional[int] = Field(None, nullable=True) - min_eac_info: Optional[str] = Field(None, nullable=True) + minimum_eac_seq: Optional[int] = Field(None, nullable=True) + minimum_eac_year: Optional[int] = Field(None, nullable=True) + minimum_eac: Optional[float] = Field(None, nullable=True) + minimum_npv: Optional[float] = Field(None, nullable=True) + minimum_pmt: Optional[float] = Field(None, nullable=True) + minimum_pmt_aq_cost: Optional[float] = Field(None, nullable=True) + minimum_is_actual: Optional[int] = Field(None, nullable=True) + # min_eac_info: Optional[str] = Field(None, nullable=True) harga_saat_ini: Optional[float] = Field(None, nullable=True) diff --git a/src/modules/equipment/Eac.py b/src/modules/equipment/Eac.py index 37bc56c..eb13fd3 100644 --- a/src/modules/equipment/Eac.py +++ b/src/modules/equipment/Eac.py @@ -210,11 +210,21 @@ class Eac: # Update lcc_equipment_tr_data update_query = """ UPDATE lcc_ms_equipment_data - SET min_eac_info = %s, updated_by = 'Sys', updated_at = NOW() + SET minimum_eac_seq = %s, minimum_eac_year=%s, minimum_eac=%s, minimum_npv=%s, minimum_pmt=%s, minimum_pmt_aq_cost=%s, minimum_is_actual=%s, updated_by = 'Sys', updated_at = NOW() WHERE assetnum = %s; """ cursor.execute( - update_query, (json.dumps(lowest_eac_record), p_equipment_id) + update_query, + ( + lowest_eac_record["seq"], + lowest_eac_record["year"], + float(lowest_eac_record["eac"]), + float(lowest_eac_record["npv"]), + float(lowest_eac_record["pmt"]), + float(lowest_eac_record["pmt_aq_cost"]), + lowest_eac_record["is_actual"], + p_equipment_id, + ), ) connection.commit() diff --git a/src/modules/equipment/__pycache__/Eac.cpython-311.pyc b/src/modules/equipment/__pycache__/Eac.cpython-311.pyc index 11ef94242b22f086d9d04d6224434adc495e64c5..597e98fba8f997ae006d3ca7ce5dd6de93e0274d 100644 GIT binary patch delta 751 zcmZ4Cy4izoIWI340}$N3vM=3Fbt7M|Brgw;%M8SyUokN-Og_)FYjToQj!q3*3cDmo zB^UsC90*>CFif0*0Vu;c`69anAFANw^XyUrs6r{+Aa&@1JRm_epeeiv^J^H>IF&ktiOeFC6{Lk3xuGn<$(+*alN+Sj86_rnNXs(wl}JxsA??n{Kly|7 zI@UyWMxcil$hg*L=9cEhrzR%H7pE2~*ea+N>nP-A=D|fPQxl79(F9TWc?D%C{DRyP zbbfqdVSI9aF{*fGaeQKONhxz;j_u@+G6~8>vOwK}-xE=av1qH_aCr(F@zy(=PlK}vgt z>lG=Ziz3EXM2v|R@Vz2sby39niikDHtn4cyMmI#1J_vFO3Vmed;pO|n03<$u2^j`n z@#{RYmw03^PEL?-kalHYILPE|1Eh{JaJd>WALWvD)nz`a%j#-0`M10=W5i^Ag^vy5kE1nI|3eT2w; NK~>_yJ~>P&2moaa#oGV? delta 440 zcmdn&vBH&aIWI340}z~HU!U%wypgY0l9wIGWd`EUZcGdelg~5lnw%t+V^<;!QU(E8 zU@aha4cjtC28Pu@3;{KaX-vz2+ExQG1TZqxFfZVqJds&svMjp*OAX5c9t4LO&Jkp1 z2xd@bD3O}1BO}YqULrf$N5-9zWAYT4bxc(oC;RcsOiq^7$K(eJUDD2a3}-mZ8jyAnmxRj}W;ps7eahCO=dT0sz_BZL