Webgui: filter and pagination working
This commit is contained in:
+95
-52
@@ -3,6 +3,11 @@
|
||||
/* MariaDB Scheme
|
||||
Version: 1 */
|
||||
|
||||
/* User
|
||||
userid is signed because nevative values are required for settings
|
||||
The user table must not be writeable by the webgui user!
|
||||
*/
|
||||
|
||||
CREATE TABLE user (
|
||||
userid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||
login varchar(20) NOT NULL,
|
||||
@@ -13,7 +18,7 @@ CREATE TABLE user (
|
||||
language char(2) NOT NULL DEFAULT 'en',
|
||||
PRIMARY KEY (userid),
|
||||
UNIQUE INDEX ix_login (login)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
/* Settings
|
||||
E.g. the currently selected boat. Users logged in via the web are allowed
|
||||
@@ -36,11 +41,12 @@ CREATE TABLE settings (
|
||||
valstr varchar(200) DEFAULT NULL,
|
||||
valint int(10) DEFAULT NULL,
|
||||
PRIMARY KEY (userid, sno)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
/* ddid=0 is list of lists, not editable
|
||||
flags: fixed=not deletable, value not changeable
|
||||
locked=not editable */
|
||||
locked=not editable
|
||||
*/
|
||||
CREATE TABLE dropdown (
|
||||
ddid tinyint(3) UNSIGNED NOT NULL,
|
||||
ddval tinyint(3) NOT NULL,
|
||||
@@ -50,13 +56,14 @@ CREATE TABLE dropdown (
|
||||
color char(6) DEFAULT NULL,
|
||||
flags enum('locked','fixed') DEFAULT NULL,
|
||||
PRIMARY KEY (ddid, ddval)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE vessel (
|
||||
vid smallint(10) NOT NULL AUTO_INCREMENT,
|
||||
vid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||
vtype enum('mono','cat','tri') NOT NULL DEFAULT 'mono',
|
||||
vesselname varchar(40) NOT NULL,
|
||||
model varchar(20) DEFAULT NULL,
|
||||
shipyard smallint(6) DEFAULT NULL,
|
||||
loa float(4,2) UNSIGNED DEFAULT NULL,
|
||||
lwl float(4,2) UNSIGNED DEFAULT NULL,
|
||||
beam float(4,2) UNSIGNED DEFAULT NULL,
|
||||
@@ -69,10 +76,10 @@ CREATE TABLE vessel (
|
||||
shapefile varchar(40) DEFAULT NULL,
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
PRIMARY KEY (vid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE storage (
|
||||
sid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||
sid smallint(6) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
vid smallint(6) NOT NULL DEFAULT 1,
|
||||
sname varchar(40) NOT NULL,
|
||||
stype tinyint(3) NOT NULL DEFAULT 0,
|
||||
@@ -88,34 +95,31 @@ CREATE TABLE storage (
|
||||
color char(6) DEFAULT NULL,
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
PRIMARY KEY (sid)
|
||||
);
|
||||
|
||||
/* TODO define cabins? CREATE TABLE cabin ... */
|
||||
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE tag (
|
||||
tagid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||
tagid smallint(6) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
tagname varchar(20) NOT NULL,
|
||||
color char(6) DEFAULT NULL,
|
||||
description varchar(80) DEFAULT NULL,
|
||||
PRIMARY KEY (tagid),
|
||||
UNIQUE INDEX ix_tagname (tagname)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE tagref (
|
||||
tagid smallint(6) NOT NULL,
|
||||
objid smallint(6) NOT NULL,
|
||||
tagid smallint(6) UNSIGNED NOT NULL,
|
||||
objid int(10) UNSIGNED NOT NULL,
|
||||
objtype enum('equip','inv','prov','doc', 'proj', 'task', 'maint') NOT NULL,
|
||||
PRIMARY KEY (tagid, objid, objtype)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
/* TODO Boxes can be nested via parent
|
||||
TODO boxsize: (LxWxH) in cm? */
|
||||
CREATE TABLE box (
|
||||
boxid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||
sid smallint(6) NOT NULL,
|
||||
boxid smallint(6) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
sid smallint(6) UNSIGNED NOT NULL,
|
||||
boxtype tinyint(3) DEFAULT NULL,
|
||||
parent int(10) DEFAULT NULL,
|
||||
parent smallint(6) UNSIGNED DEFAULT NULL,
|
||||
label varchar(20) DEFAULT NULL,
|
||||
color char(6) DEFAULT NULL,
|
||||
content varchar(60) DEFAULT NULL,
|
||||
@@ -123,33 +127,33 @@ CREATE TABLE box (
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
PRIMARY KEY (boxid),
|
||||
INDEX ix_label (label)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE equipment (
|
||||
eid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||
eid smallint(6) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
vid smallint(6) NOT NULL DEFAULT 1,
|
||||
ename varchar(80) NOT NULL,
|
||||
shortname varchar(20) DEFAULT NULL,
|
||||
model varchar(40),
|
||||
ecat tinyint(3) DEFAULT NULL,
|
||||
serial varchar(30),
|
||||
serial varchar(30) DEFAULT NULL,
|
||||
supplier smallint(6) DEFAULT NULL,
|
||||
manufacturer smallint(6) DEFAULT NULL, // -3: original; -4: own built
|
||||
manufacturer smallint(6) DEFAULT NULL, -- -1: unknown; -3: own built
|
||||
purchdate date DEFAULT NULL,
|
||||
price decimal(12,2) DEFAULT NULL,
|
||||
weight float(5,2) UNSIGNED DEFAULT NULL,
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
flags set('ordered','removed','deleted') DEFAULT NULL,
|
||||
PRIMARY KEY(eid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE inventory (
|
||||
invid int(10) NOT NULL AUTO_INCREMENT,
|
||||
invid int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
invname varchar(80) NOT NULL,
|
||||
conttype enum('storage','box') NOT NULL DEFAULT 'storage',
|
||||
sid smallint(6) NOT NULL DEFAULT 1,
|
||||
boxid smallint(6) NOT NULL DEFAULT 1,
|
||||
eid smallint(6) DEFAULT NULL,
|
||||
sid smallint(6) UNSIGNED NOT NULL DEFAULT 1,
|
||||
boxid smallint(6) UNSIGNED NOT NULL DEFAULT 1,
|
||||
eid smallint(6) UNSIGNED DEFAULT NULL,
|
||||
number smallint(6) UNSIGNED NOT NULL DEFAULT 1,
|
||||
weight float(5,2) UNSIGNED DEFAULT NULL,
|
||||
price decimal(12,2) DEFAULT NULL,
|
||||
@@ -158,30 +162,64 @@ CREATE TABLE inventory (
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
PRIMARY KEY (invid),
|
||||
INDEX ix_invname (invname)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE cable (
|
||||
cableid smallint(6) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
vid smallint(6) NOT NULL DEFAULT 1,
|
||||
cablename varchar(80) NOT NULL,
|
||||
cabletype varchar(40) DEFAULT NULL, -- e.g. H07RN-F
|
||||
length float(5,2) UNSIGNED NOT NULL DEFAULT 0, -- total length in m
|
||||
conductors TINYINT(3) UNSIGNED NOT NULL DEFAULT 1,
|
||||
diameter float(5,2) UNSIGNED DEFAULT NULL, -- outer diameter in mm
|
||||
xsection float(5,2) UNSIGNED DEFAULT NULL, -- cross section in mm²
|
||||
weight float(5,2) UNSIGNED DEFAULT NULL, -- kg/meter
|
||||
color char(6) DEFAULT NULL,
|
||||
supplier smallint(6) DEFAULT NULL,
|
||||
manufacturer smallint(6) DEFAULT NULL,
|
||||
cablecond enum('unknown','new','good','normal','bad','repairable','defect') NOT NULL default 'unknown',
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
PRIMARY KEY (cableid),
|
||||
INDEX ix_cablename (vid, cablename)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE table fuse (
|
||||
fuseid smallint(6) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
vid smallint(6) NOT NULL DEFAULT 1,
|
||||
fnumber smallint(6) NOT NULL,
|
||||
ftype tinyint(3) DEFAULT 0, -- from dropdown id 7
|
||||
current float(5,2) UNSIGNED NOT NULL, -- in A
|
||||
cableid smallint(6) UNSIGNED DEFAULT NULL,
|
||||
eid smallint(6) UNSIGNED DEFAULT NULL,
|
||||
location tinyint(3) DEFAULT 0, -- from dropdown id 10
|
||||
description varchar(60) DEFAULT NULL,
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
PRIMARY KEY (fuseid),
|
||||
UNIQUE INDEX ix_fusenumber (vid, fnumber)
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE measurement (
|
||||
mid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||
mtype enum('generic','cable','fuse') NOT NULL default 'generic',
|
||||
mname varchar(80) NOT NULL,
|
||||
vid smallint(6) NOT NULL DEFAULT 1,
|
||||
nval tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
|
||||
val1 int(10) NOT NULL,
|
||||
val2 int(10) NOT NULL,
|
||||
val3 int(10) NOT NULL,
|
||||
val2 int(10) DEFAULT NULL,
|
||||
val3 int(10) DEFAULT NULL,
|
||||
unit tinyint(3) NOT NULL DEFAULT 1,
|
||||
accuracy enum('unknown','precise','normal','rough','estimated') NOT NULL DEFAULT 'unknown',
|
||||
mdate date DEFAULT NULL,
|
||||
note varchar(80) DEFAULT NULL,
|
||||
eid smallint(6) DEFAULT NULL,
|
||||
eid smallint(6) UNSIGNED DEFAULT NULL,
|
||||
PRIMARY KEY (mid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE provisions (
|
||||
provid int(10) NOT NULL AUTO_INCREMENT,
|
||||
provname varchar(40) NOT NULL,
|
||||
provcat tinyint(3) DEFAULT NULL,
|
||||
sid smallint(6) DEFAULT NULL,
|
||||
boxid smallint(6) NOT NULL DEFAULT 1,
|
||||
sid smallint(6) UNSIGNED DEFAULT NULL,
|
||||
boxid smallint(6) UNSIGNED NOT NULL DEFAULT 1,
|
||||
number smallint(6) UNSIGNED NOT NULL DEFAULT 1,
|
||||
weight float(5,2) UNSIGNED DEFAULT NULL,
|
||||
weight_net float(5,2) UNSIGNED DEFAULT NULL,
|
||||
@@ -189,8 +227,13 @@ CREATE TABLE provisions (
|
||||
storedate date DEFAULT CURRENT_DATE,
|
||||
shelflife date DEFAULT NULL,
|
||||
PRIMARY KEY (provid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
/* TODO
|
||||
- distinction between
|
||||
docdate - e.g. invoicedate
|
||||
doctime -> uploadtime
|
||||
*/
|
||||
CREATE TABLE document (
|
||||
docid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||
doctype enum('generic','manual','invoice','drawing','picture') NOT NULL DEFAULT 'generic',
|
||||
@@ -200,6 +243,7 @@ CREATE TABLE document (
|
||||
hash varchar(32) NOT NULL,
|
||||
docsize int(10) unsigned NOT NULL,
|
||||
doctime datetime DEFAULT NULL,
|
||||
docdate date DEFAULT NULL, -- e.g. invoice date
|
||||
title varchar(40) DEFAULT NULL,
|
||||
pages smallint(6) unsigned NOT NULL DEFAULT 1,
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
@@ -224,10 +268,10 @@ CREATE TABLE docref (
|
||||
CREATE TABLE company (
|
||||
compid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||
compname varchar(60) NOT NULL,
|
||||
comptype tinyint(3) NOT NULL DEFAULT 1,
|
||||
comptype2 tinyint(3) DEFAULT NULL,
|
||||
comptype tinyint(3) UNSIGNED NOT NULL DEFAULT 1,
|
||||
comptype2 tinyint(3) UNSIGNED DEFAULT NULL,
|
||||
shortname varchar(20) DEFAULT NULL,
|
||||
street varchar(30),
|
||||
street varchar(40),
|
||||
zip varchar(10),
|
||||
city varchar(30),
|
||||
country varchar(30),
|
||||
@@ -240,20 +284,19 @@ CREATE TABLE company (
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
PRIMARY KEY (compid),
|
||||
UNIQUE INDEX ix_compname (compname, comptype)
|
||||
);
|
||||
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
/* TODO optional field: plan date, target date, completion date */
|
||||
CREATE TABLE maintenance (
|
||||
maintid int(10) NOT NULL AUTO_INCREMENT,
|
||||
vid smallint(6) NOT NULL DEFAULT 1,
|
||||
eid smallint(6) DEFAULT NULL,
|
||||
eid smallint(6) UNSIGNED DEFAULT NULL,
|
||||
series smallint(6) DEFAULT NULL,
|
||||
activities varchar(40) NOT NULL,
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
maintstate enum('new','planned','ongoing','done') NOT NULL DEFAULT 'new',
|
||||
PRIMARY KEY (maintid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
/* TODO? time recording */
|
||||
|
||||
@@ -269,7 +312,7 @@ CREATE TABLE project (
|
||||
remarks varchar(150) DEFAULT NULL,
|
||||
projstate enum('new','plan','ongoing','paused','finished') NOT NULL DEFAULT 'new',
|
||||
PRIMARY KEY (projid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE task (
|
||||
taskid int(10) NOT NULL AUTO_INCREMENT,
|
||||
@@ -286,16 +329,16 @@ CREATE TABLE task (
|
||||
responsible smallint(6) NOT NULL,
|
||||
/* TODO executed_by : company or user? or both? */
|
||||
PRIMARY KEY (taskid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
// Notes can be assigned to tasks,maintenances and equipment
|
||||
/* Notes can be assigned to tasks,maintenances and equipment */
|
||||
CREATE TABLE note (
|
||||
noteid int(10) NOT NULL AUTO_INCREMENT,
|
||||
notetype enum('task','maint','equip') NOT NULL DEFAULT 'task',
|
||||
refid smallint(6) NOT NULL,
|
||||
annotation text NOT NULL,
|
||||
PRIMARY KEY (noteid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE checklist (
|
||||
clid smallint(6) NOT NULL AUTO_INCREMENT,
|
||||
@@ -303,7 +346,7 @@ CREATE TABLE checklist (
|
||||
parent smallint(6) DEFAULT NULL,
|
||||
clstate enum('new','open','closed') NOT NULL DEFAULT 'new',
|
||||
PRIMARY KEY (clid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE checkitem (
|
||||
checkid int(10) NOT NULL AUTO_INCREMENT,
|
||||
@@ -311,17 +354,17 @@ CREATE TABLE checkitem (
|
||||
groupid tinyint(3) DEFAULT NULL,
|
||||
checkresult enum('unchecked','checked','unused') NOT NULL DEFAULT 'unused',
|
||||
PRIMARY KEY (checkid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE checkref (
|
||||
clid smallint(6) NOT NULL,
|
||||
checkid int(10) NOT NULL,
|
||||
sort smallint(6) DEFAULT NULL,
|
||||
PRIMARY KEY (clid, checkid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
CREATE TABLE checkgroup (
|
||||
groupid int(10) NOT NULL,
|
||||
title varchar(30) NOT NULL,
|
||||
PRIMARY KEY (groupid)
|
||||
);
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
Reference in New Issue
Block a user