Some improvements and fixes for webgui
This commit is contained in:
+52
-7
@@ -80,6 +80,10 @@ switch ($submit = form_get_action()) {
|
||||
$p[':shapefile'] = NULL;
|
||||
}
|
||||
$p[':shipyard'] = gpc_get_int($_POST, 'shipyard');
|
||||
if ($p[':shipyard'] == '-1') {
|
||||
$p[':shipyard'] = NULL;
|
||||
}
|
||||
$p[':year_built'] = gpc_get_int($_POST, 'year_built');
|
||||
$p[':sid_default'] = gpc_get_uint($_POST, 'sid');
|
||||
$p[':remarks'] = gpc_get_string($_POST, 'remarks', 150);
|
||||
db_exec_update('vessel', $p, 'vid');
|
||||
@@ -115,7 +119,7 @@ $vid = ($res[0]);
|
||||
// Get current vessel data
|
||||
$sql = "SELECT vesselname, model, loa, lwl, beam, draught, draught_min,"
|
||||
. " displacement, ballast, beltpos_aft, beltpos_bow, shapefile,"
|
||||
. " shipyard, remarks "
|
||||
. " shipyard, year_built, remarks "
|
||||
. "FROM vessel "
|
||||
. "WHERE vid=?";
|
||||
$sth = $pdo->prepare($sql);
|
||||
@@ -161,15 +165,19 @@ echo '<div class="col-1"></div>', "\n";
|
||||
echo '<div class="col">';
|
||||
if ($vessel->shipyard && $vessel->shipyard > 0) {
|
||||
if ($vessel->shipyard == -3) {
|
||||
echo _('Custom-build');
|
||||
echo sprintf(_('Custom-build %d'), ($vessel->year_built ?? ''));
|
||||
} else {
|
||||
$sql = "SELECT compname FROM company WHERE compid=?";
|
||||
$sth = $pdo->prepare($sql);
|
||||
$sth->execute([$vessel->shipyard]);
|
||||
echo sprintf(_('Built by %s'), $sth->fetchColumn());
|
||||
// TODO year of build?
|
||||
echo sprintf(_('Built %d by %s'), ($vessel->year_built ?? ''), $sth->fetchColumn());
|
||||
}
|
||||
} else {
|
||||
if ($vessel->year_built && $vessel->year_built >= 1901) {
|
||||
echo sprintf(_('Year built %d'), $vessel->year_built);
|
||||
}
|
||||
}
|
||||
|
||||
if (strlen($vessel->remarks) > 0) {
|
||||
echo h($vessel->remarks, br:true);
|
||||
}
|
||||
@@ -310,7 +318,13 @@ echo substr($xml, strpos($xml, "\n") + 1);
|
||||
<tr><td><?=_('Lwl')?></td><td><?=format_float($vessel->lwl, 2, 'm')?></td></tr>
|
||||
<tr><td><?=_('Beam')?></td><td><?=format_float($vessel->beam, 2, 'm')?></td></tr>
|
||||
<tr><td><?=_('Draught')?></td><td><?=format_float($vessel->draught, 2, 'm')?></td></tr>
|
||||
<tr><td><?=_('Draught, min.')?></td><td><?=format_float($vessel->draught_min, 2, 'm')?></td></tr>
|
||||
<?php
|
||||
if ($vessel->draught_min) {
|
||||
echo '<tr><td>', _('Draught, min.'), '</td><td>';
|
||||
format_float($vessel->draught_min, 2, 'm');
|
||||
echo "</td></tr>\n";
|
||||
}
|
||||
?>
|
||||
<tr><td><?=_('Displacement')?></td><td><?=$vessel->displacement?> kg</td></tr>
|
||||
<tr><td><?=_('Ballast')?></td><td><?=$vessel->ballast?> kg</td></tr>
|
||||
<tr><td><?=_('Belt position aft')?></td><td><?=format_float($vessel->beltpos_aft, 2, 'm')?></td></tr>
|
||||
@@ -360,6 +374,8 @@ echo '<tr><td> </td><td>', _('Boxes'), '</td><td>', $sth->fetchColumn(), "<
|
||||
$sth = $pdo->prepare("SELECT COUNT(*), SUM(weight) FROM equipment WHERE vid=?");
|
||||
$sth->execute([$user->vid]);
|
||||
$row = $sth->fetch(PDO::FETCH_NUM);
|
||||
$weight_equip = $row[1];
|
||||
|
||||
echo '<tr><td colspan="3">', _('Equipment') , "</td>";
|
||||
echo '<tr><td> </td><td>', _('Count'), '</td><td>', $row[0], "</td></tr>\n";
|
||||
echo '<tr><td> </td><td>', _('Weight'), '</td><td>', format_float($row[1], 1, 'kg'), "</td></tr>\n";
|
||||
@@ -375,16 +391,41 @@ $sth = $pdo->prepare($sql);
|
||||
$sth->bindValue(':vid', $user->vid, PDO::PARAM_INT);
|
||||
$sth->execute();
|
||||
$row = $sth->fetch(PDO::FETCH_NUM);
|
||||
$weight_inv = $row[1];
|
||||
|
||||
echo '<tr><td colspan="3">', _('Inventory') , "</td>";
|
||||
echo '<tr><td> </td><td>', _('Count'), '</td><td>', $row[0], "</td></tr>\n";
|
||||
echo '<tr><td> </td><td>', _('Weight'), '</td><td>', format_float($row[1], 1, 'kg'), "</td></tr>\n";
|
||||
|
||||
// Provisions
|
||||
/*$sql = "SELECT SUM(n), SUM(w) FROM ("
|
||||
. "SELECT COUNT(*) AS n, SUM(p.weight * p.number) as w FROM provisions AS p JOIN storage USING (sid) WHERE conttype='storage' AND vid=:vid "
|
||||
. "UNION "
|
||||
. "SELECT COUNT(*) AS n, SUM(p.weight * p.number) as w FROM provisions AS p JOIN box USING (boxid) JOIN storage ON (box.sid=storage.sid) WHERE conttype='box' AND vid=:vid"
|
||||
. ") AS x"; */
|
||||
|
||||
// only storage assignment at the moment
|
||||
$sql = "SELECT SUM(n), SUM(w) FROM ("
|
||||
. "SELECT COUNT(*) AS n, SUM(p.weight * p.number) as w FROM provisions AS p JOIN storage USING (sid) WHERE storage.vid=:vid "
|
||||
. ") AS x";
|
||||
$sth = $pdo->prepare($sql);
|
||||
$sth->bindValue(':vid', $user->vid, PDO::PARAM_INT);
|
||||
$sth->execute();
|
||||
$row = $sth->fetch(PDO::FETCH_NUM);
|
||||
$weight_prov = $row[1];
|
||||
|
||||
echo '<tr><td colspan="3">', _('Provisions') , "</td>";
|
||||
echo '<tr><td> </td><td>', _('Count'), '</td><td>', $row[0], "</td></tr>\n";
|
||||
echo '<tr><td> </td><td>', _('Weight'), '</td><td>', format_float($row[1], 1, 'kg'), "</td></tr>\n";
|
||||
|
||||
// Documents
|
||||
$sth = $pdo->query("SELECT COUNT(*) FROM document");
|
||||
echo '<tr><td colspan="3">', _('Documents') , "</td>";
|
||||
echo '<tr><td> </td><td>', _('Count'), '</td><td>', $sth->fetchColumn(), "</td></tr>\n";
|
||||
|
||||
$weight_total = $weight_equip + $weight_inv + $weight_prov;
|
||||
echo '<tr><td colspan="2">', _('Total weight'), '</td>';
|
||||
echo '<td>', format_float($weight_total, 1, 'kg'), "</td></tr>\n";
|
||||
|
||||
echo "</table>\n";
|
||||
|
||||
@@ -478,7 +519,7 @@ if (!file_exists($shapeindexfile)) {
|
||||
}
|
||||
}
|
||||
}
|
||||
$opt_shapefiles = $g_opt_none + $shapeindex;
|
||||
$opt_shapefiles = $g_opt_none + ($shapeindex ?? []);
|
||||
|
||||
$opt_storage = db_get_opt_storage($user->vid);
|
||||
|
||||
@@ -491,7 +532,7 @@ foreach ($sth->fetchAll(PDO::FETCH_NUM) as $row) {
|
||||
|
||||
$sql = "SELECT vesselname, vtype, model, loa, lwl, beam, draught, draught_min,"
|
||||
. " displacement, ballast, beltpos_aft, beltpos_bow, shapefile,"
|
||||
. " shipyard, sid_default, remarks "
|
||||
. " shipyard, year_built, sid_default, remarks "
|
||||
. "FROM vessel "
|
||||
. "WHERE vid=?";
|
||||
$sth = $pdo->prepare($sql);
|
||||
@@ -509,6 +550,10 @@ $vessel = $sth->fetch(PDO::FETCH_OBJ);
|
||||
<label for="model" class="form-label"><?=_('Model')?></label>
|
||||
<input type="text" class="form-control" id="model" name="model" value="<?=$vessel->model ?>">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="year_built" class="form-label"><?=_('Year built')?></label>
|
||||
<input type="number" class="form-control" id="year_built" name="year_built" value="<?=$vessel->year_built ?>">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="loa" class="form-label"><?=_('LoA')?>, m</label>
|
||||
<input type="text" class="form-control" id="loa" name="loa" value="<?=format_float($vessel->loa, 2) ?>">
|
||||
|
||||
Reference in New Issue
Block a user