82 lines
2.8 KiB
Python
82 lines
2.8 KiB
Python
import datetime
|
|
from brecal_utils.stubs import generate_uuid1_int
|
|
from BreCal.schemas.model import Shipcall
|
|
from dataclasses import field
|
|
|
|
def get_shipcall_simple():
|
|
# only used for the stub
|
|
base_time = datetime.datetime.now()
|
|
|
|
shipcall_id = generate_uuid1_int()
|
|
ship_id = generate_uuid1_int()
|
|
|
|
eta = base_time+datetime.timedelta(hours=3, minutes=12)
|
|
role_type = 1
|
|
voyage = "987654321"
|
|
etd = base_time+datetime.timedelta(hours=6, minutes=12) # should never be before eta
|
|
|
|
arrival_berth_id = generate_uuid1_int()
|
|
departure_berth_id = generate_uuid1_int()
|
|
|
|
tug_required = False
|
|
pilot_required = False
|
|
|
|
flags = 0 # #TODO_shipcall_flags. What is meant here? What should be tested?
|
|
pier_side = False # whether a ship will be fixated on the pier side. en: pier side, de: Anlegestelle. From 'BremenCalling_Datenmodell.xlsx': gedreht/ungedreht
|
|
bunkering = False # #TODO_bunkering_unclear
|
|
replenishing_terminal = False # en: replenishing terminal, de: Nachfüll-Liegeplatz
|
|
replenishing_lock = False # en: replenishing lock, de: Nachfüllschleuse
|
|
|
|
draft = 0.12 # #TODO_draft_value: clarify, what 'draft' means and what kind of values are to be expected
|
|
|
|
# tidal window: built in a way, where ETA and ETD are in-between the window
|
|
# #TODO_tidal_window_source: are these windows taken from a database or provided by the user? How do they know this?
|
|
tidal_window_from = base_time+datetime.timedelta(hours=2, minutes=12)
|
|
tidal_window_to = base_time+datetime.timedelta(hours=7, minutes=12)
|
|
rain_sensitive_cargo = False
|
|
recommended_tugs = 2 # assert 0<recommended_tugs<={threshold}. E.g., 20 should not be exceeded.
|
|
anchored = False
|
|
moored_lock = False # de: 'Festmacherschleuse', en: 'moored lock'
|
|
|
|
canceled = False
|
|
evaluation = None
|
|
evaluation_message = ""
|
|
created = datetime.datetime.now()
|
|
modified = created+datetime.timedelta(seconds=10)
|
|
|
|
participants = [generate_uuid1_int(), generate_uuid1_int(), generate_uuid1_int(), generate_uuid1_int()] # field(default_factory=[generate_uuid1_int(), generate_uuid1_int(), generate_uuid1_int(), generate_uuid1_int()]) # list
|
|
|
|
shipcall = Shipcall(
|
|
shipcall_id,
|
|
ship_id,
|
|
role_type,
|
|
eta,
|
|
voyage,
|
|
etd,
|
|
arrival_berth_id,
|
|
departure_berth_id,
|
|
tug_required,
|
|
pilot_required,
|
|
flags,
|
|
pier_side,
|
|
bunkering,
|
|
replenishing_terminal,
|
|
replenishing_lock,
|
|
draft,
|
|
tidal_window_from,
|
|
tidal_window_to,
|
|
rain_sensitive_cargo,
|
|
recommended_tugs,
|
|
anchored,
|
|
moored_lock,
|
|
canceled,
|
|
evaluation,
|
|
evaluation_message,
|
|
created,
|
|
modified,
|
|
participants,
|
|
)
|
|
return shipcall
|
|
|
|
|