Skip to content

Commit

Permalink
updated vips api mapping (#226)
Browse files Browse the repository at this point in the history
  • Loading branch information
amlanc1 authored Dec 2, 2023
1 parent 3c026d8 commit dfed723
Show file tree
Hide file tree
Showing 5 changed files with 136 additions and 2 deletions.
52 changes: 50 additions & 2 deletions python/form_handler/actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from datetime import datetime
from minio import Minio
from minio.error import S3Error
from python.form_handler.models import Event,FormStorageRefs,VIForm,TwentyFourHourForm,TwelveHourForm,IRPForm,User,AgencyCrossref,CityCrossRef,JurisdictionCrossRef
from python.form_handler.models import Event,FormStorageRefs,VIForm,TwentyFourHourForm,TwelveHourForm,IRPForm,User,AgencyCrossref,CityCrossRef,JurisdictionCrossRef,ImpoundReasonCodes
from python.form_handler.icbc_service import submit_to_icbc
from python.form_handler.vips_service import create_vips_doc,create_vips_imp
from python.form_handler.payloads import vips_payload,vips_document_payload
Expand Down Expand Up @@ -621,7 +621,54 @@ def prep_vips_payload(**args)->tuple:
tmp_payload["vipsImpoundCreate"]["impoundmentNoticeNo"]=None

tmp_payload["vipsImpoundCreate"]["noticeSubjectCd"]="VEHI"
tmp_payload["vipsImpoundCreate"]["originalCauseCds"]=[]

# get reason codes from DB
# TODO: Check the reason list
reason_list=[]
payload_reason_list=[]
excessive_speeding=form_data.get("excessive_speed",False)
street_racing=form_data.get("street_racing",False)
stunt_driving=form_data.get("stunt_driving",False)
motor_seating=form_data.get("motorcycle_seating",False)
motor_restriction=form_data.get("motorcycle_restrictions",False)
unlicensed=form_data.get("unlicensed",False)
irp_impound_dur=form_data.get("irp_impound_duration",False)
if excessive_speeding:
reason_list.append("EXSPEED")
if street_racing:
reason_list.append("RACE")
if stunt_driving:
reason_list.append("STUNT")
if motor_seating:
reason_list.append("SITTING")
if motor_restriction:
reason_list.append("MCUNLIC")
if unlicensed:
reason_list.append("IDEPUNLIC")
if irp_impound_dur:
if irp_impound_dur == "7DAY":
reason_list.append("BACWARN7")
elif irp_impound_dur == "30DAY":
reason_list.append("BACWARN30")
elif irp_impound_dur == "3DAY":
reason_list.append("BACWARN3")
with application.app_context():
# get reason data
policeDetatchmentId=''
agency_name=''
for v in reason_list:
reason_data = db.session.query(ImpoundReasonCodes) \
.filter(ImpoundReasonCodes.df_unique_code == v) \
.all()
if len(reason_data) == 0:
logging.error("reason not found")
else:
for r in reason_data:
reason_dict = r.__dict__
reason_dict.pop('_sa_instance_state', None)
payload_reason_list.append(reason_dict["vips_value_cd"])
break
tmp_payload["vipsImpoundCreate"]["originalCauseCds"]=payload_reason_list

# if "notice_type_cd" in form_data: tmp_payload["vipsImpoundCreate"]["noticeTypeCd"]="IMP"
tmp_payload["vipsImpoundCreate"]["noticeTypeCd"]="IMP"
Expand Down Expand Up @@ -734,6 +781,7 @@ def prep_vips_payload(**args)->tuple:
tmp_payload["vipsImpoundmentArray"]=vipsImpoundmentArray

args['vips_payload']=tmp_payload
logging.debug(tmp_payload)
except Exception as e:
logging.error(e)
logging.error(tmp_payload)
Expand Down
17 changes: 17 additions & 0 deletions python/form_handler/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -728,4 +728,21 @@ class CityCrossRef(db.Model):
icbc_city_name = db.Column(db.String)
icbc_city_name_legacy = db.Column(db.String)
vips_city_name = db.Column(db.String)

@dataclass
class ImpoundReasonCodes(db.Model):
__tablename__ = 'impound_reason_codes'

df_unique_code: str
impound_reason_name: str
vips_value_cd: str
vips_value_dsc: str
vips_value_abbreviated_dsc: str

df_unique_code = db.Column(db.String, primary_key=True)
impound_reason_name = db.Column(db.String)
vips_value_cd = db.Column(db.String)
vips_value_dsc = db.Column(db.String)
vips_value_abbreviated_dsc = db.Column(db.String)


35 changes: 35 additions & 0 deletions python/prohibition_web_svc/migrations/versions/b4b054d65515_.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
"""empty message
Revision ID: b4b054d65515
Revises: 25ad6d340253
Create Date: 2023-12-02 10:14:10.698228
"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = 'b4b054d65515'
down_revision = '25ad6d340253'
branch_labels = None
depends_on = None


def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('impound_reason_codes',
sa.Column('df_unique_code', sa.String(), nullable=False),
sa.Column('impound_reason_name', sa.String(), nullable=True),
sa.Column('vips_value_cd', sa.String(), nullable=True),
sa.Column('vips_value_dsc', sa.String(), nullable=True),
sa.Column('vips_value_abbreviated_dsc', sa.String(), nullable=True),
sa.PrimaryKeyConstraint('df_unique_code')
)
# ### end Alembic commands ###


def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('impound_reason_codes')
# ### end Alembic commands ###
17 changes: 17 additions & 0 deletions python/prohibition_web_svc/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -728,4 +728,21 @@ class CityCrossRef(db.Model):
icbc_city_name = db.Column(db.String)
icbc_city_name_legacy = db.Column(db.String)
vips_city_name = db.Column(db.String)

@dataclass
class ImpoundReasonCodes(db.Model):
__tablename__ = 'impound_reason_codes'

df_unique_code: str
impound_reason_name: str
vips_value_cd: str
vips_value_dsc: str
vips_value_abbreviated_dsc: str

df_unique_code = db.Column(db.String, primary_key=True)
impound_reason_name = db.Column(db.String)
vips_value_cd = db.Column(db.String)
vips_value_dsc = db.Column(db.String)
vips_value_abbreviated_dsc = db.Column(db.String)


17 changes: 17 additions & 0 deletions python/task_scheduler/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -728,4 +728,21 @@ class CityCrossRef(db.Model):
icbc_city_name = db.Column(db.String)
icbc_city_name_legacy = db.Column(db.String)
vips_city_name = db.Column(db.String)

@dataclass
class ImpoundReasonCodes(db.Model):
__tablename__ = 'impound_reason_codes'

df_unique_code: str
impound_reason_name: str
vips_value_cd: str
vips_value_dsc: str
vips_value_abbreviated_dsc: str

df_unique_code = db.Column(db.String, primary_key=True)
impound_reason_name = db.Column(db.String)
vips_value_cd = db.Column(db.String)
vips_value_dsc = db.Column(db.String)
vips_value_abbreviated_dsc = db.Column(db.String)


0 comments on commit dfed723

Please sign in to comment.