diff --git a/Gui/AddContact.qml b/Gui/AddContact.qml new file mode 100644 index 0000000..9373fe1 --- /dev/null +++ b/Gui/AddContact.qml @@ -0,0 +1,137 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +GridLayout +{ + id: addContactLayout + Layout.fillWidth: true + Layout.fillHeight: true + Layout.alignment: Qt.AlignTop + columns: 2 + rowSpacing: 9 + visible: false + + Label + { + text: qsTr("Anrede") + Layout.alignment: Qt.AlignRight + } + ComboBox + { + property string name: "title" + id: title + Layout.fillWidth: true + editable: false + } + Label + { + text: qsTr("Vorname") + Layout.alignment: Qt.AlignRight + } + TextField + { + property string name: "firstname" + id: firstname + Layout.fillWidth: true + } + + Label + { + text: qsTr("Nachname") + Layout.alignment: Qt.AlignRight + } + TextField + { + property string name: "lastname" + id: lastname + Layout.fillWidth: true + } + Label + { + text: qsTr("Position") + Layout.alignment: Qt.AlignRight + } + ComboBox + { + property string name: "jobdescription" + id: jobdescription + Layout.fillWidth: true + editable: true + } + Label + { + text: qsTr("E-Mail") + Layout.alignment: Qt.AlignRight + } + TextField + { + property string name: "email" + id: emailcontact + Layout.fillWidth: true + } + + Label + { + text: qsTr("Telefon") + Layout.alignment: Qt.AlignRight + } + TextField + { + property string name: "telephonecontact" + id: telephonecontact + Layout.fillWidth: true + } + Label + { + text: qsTr("Geburtsdatum") + Layout.alignment: Qt.AlignRight + } + TextField + { + property string name: "birthday" + id: birthday + Layout.fillWidth: true + } + + Label + { + text: qsTr("Priorität") + Layout.alignment: Qt.AlignRight + } + ComboBox + { + property string name: "rank" + id: rank + Layout.fillWidth: true + editable: false + } + Label + { + text: qsTr("Rechnung") + Layout.alignment: Qt.AlignRight + } + ComboBox + { + property string name: "invoice" + id: invoice + Layout.fillWidth: true + editable: false + objectName: "combo" + model: ["Nein", "Ja"] + } + Label + { + text: qsTr("Mahnung") + Layout.alignment: Qt.AlignRight + } + ComboBox + { + property string name: "due" + id: due + Layout.fillWidth: true + editable: false + model: ["Nein", "Ja"] + + } +} diff --git a/Gui/AddCustomer.qml b/Gui/AddCustomer.qml index 34c2fdf..d24699f 100644 --- a/Gui/AddCustomer.qml +++ b/Gui/AddCustomer.qml @@ -2,7 +2,7 @@ import QtQuick import QtQuick.Layouts import QtQuick.Controls import QtQuick.Controls.Fusion - +import Gui import "../js/qmldict.js" as JsLib ColumnLayout @@ -28,6 +28,7 @@ ColumnLayout RowLayout { + id: addCustomer Layout.fillWidth: true Layout.fillHeight: true spacing: 45 @@ -48,6 +49,7 @@ ColumnLayout TextField { + property string name: "business" id: firmenName Layout.fillWidth: true Layout.alignment: Qt.AlignVCenter @@ -55,6 +57,7 @@ ColumnLayout placeholderText: "Pflichtfeld" placeholderTextColor: "red" + } Label @@ -65,6 +68,7 @@ ColumnLayout TextField { + property string name: "street" id: street Layout.fillWidth: true onTextChanged: isEmptyField() @@ -79,14 +83,13 @@ ColumnLayout ComboBox { + property string name: "postcode" id: postcode Layout.fillWidth: true editable: true onCurrentTextChanged: isEmptyField() onEditTextChanged: isEmptyField() model: ["test", "test2", "test3"] - - } Label @@ -96,6 +99,7 @@ ColumnLayout } TextField { + property string name: "city" id: city Layout.fillWidth: true onTextChanged: isEmptyField(city) @@ -110,6 +114,7 @@ ColumnLayout } TextField { + property string name: "telephone" id: telephone Layout.fillWidth: true } @@ -121,6 +126,7 @@ ColumnLayout } TextField { + property string name: "email" id: email Layout.fillWidth: true } @@ -132,6 +138,7 @@ ColumnLayout } TextField { + property string name: "homepage" id: homepage Layout.fillWidth: true } @@ -143,6 +150,7 @@ ColumnLayout } TextField { + property string name: "ceo" id: ceo Layout.fillWidth: true } @@ -154,6 +162,7 @@ ColumnLayout } TextField { + property string name: "taxno" id: taxno Layout.fillWidth: true } @@ -164,8 +173,11 @@ ColumnLayout } ComboBox { + property string name: "typeid" + id: typeid Layout.fillWidth: true - editable: true + editable: false + } Label @@ -181,7 +193,7 @@ ColumnLayout TextArea { - + property string name: "customerinfo" id: customerInfo background: Rectangle { @@ -189,133 +201,11 @@ ColumnLayout border.color: customerInfo.activeFocus? customerInfo.palette.highlight: customerInfo.palette.base } } - } - - + } } - - GridLayout + AddContact { id: addContactLayout - Layout.fillWidth: true - Layout.fillHeight: true - Layout.alignment: Qt.AlignTop - columns: 2 - rowSpacing: 9 - visible: false - - Label - { - text: qsTr("Anrede") - Layout.alignment: Qt.AlignRight - } - ComboBox - { - id: title - Layout.fillWidth: true - editable: true - } - Label - { - text: qsTr("Vorname") - Layout.alignment: Qt.AlignRight - } - TextField - { - id: firstname - Layout.fillWidth: true - } - - Label - { - text: qsTr("Nachname") - Layout.alignment: Qt.AlignRight - } - TextField - { - id: lastname - Layout.fillWidth: true - } - Label - { - text: qsTr("Position") - Layout.alignment: Qt.AlignRight - } - ComboBox - { - id: jobdescription - Layout.fillWidth: true - editable: true - - } - Label - { - text: qsTr("E-Mail") - Layout.alignment: Qt.AlignRight - } - TextField - { - id: emailcontact - Layout.fillWidth: true - } - - Label - { - text: qsTr("Telefon") - Layout.alignment: Qt.AlignRight - } - TextField - { - id: telephonecontact - Layout.fillWidth: true - } - Label - { - text: qsTr("Geburtsdatum") - Layout.alignment: Qt.AlignRight - } - TextField - { - id: birthday - Layout.fillWidth: true - } - - Label - { - text: qsTr("Priorität") - Layout.alignment: Qt.AlignRight - } - ComboBox - { - id: rank - Layout.fillWidth: true - editable: true - - } - Label - { - text: qsTr("Rechnung") - Layout.alignment: Qt.AlignRight - } - ComboBox - { - id: invoice - Layout.fillWidth: true - editable: true - objectName: "combo" - } - Label - { - text: qsTr("Mahnung") - Layout.alignment: Qt.AlignRight - } - ComboBox - { - id: due - Layout.fillWidth: true - editable: true - - } } } RowLayout @@ -335,7 +225,19 @@ ColumnLayout enabled: false onClicked: { - JsLib.addBusiness(businessGrid) + var new_business + if (!checkAddContact.checked) + { + new_business = JsLib.addBusiness(businessGrid) + bm.addBusiness(new_business) + } + else + { + new_business = JsLib.addBusiness(businessGrid) + var new_contact = JsLib.addBusiness(addContactLayout) + bm.addBusiness(new_business) + bm.setContact(new_contact) + } } } diff --git a/doc/.$Klassendiagramm.drawio.dtmp b/doc/.$Klassendiagramm.drawio.dtmp deleted file mode 100644 index 531d7aa..0000000 --- a/doc/.$Klassendiagramm.drawio.dtmp +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/db_schemer_v1.1-pyqcrm-202412051536.sql b/doc/db_schemer_v1.1-pyqcrm-202412051536.sql new file mode 100644 index 0000000..322e8ab --- /dev/null +++ b/doc/db_schemer_v1.1-pyqcrm-202412051536.sql @@ -0,0 +1,833 @@ +/*M!999999\- enable the sandbox mode */ +-- MariaDB dump 10.19 Distrib 10.11.10-MariaDB, for Linux (x86_64) +-- +-- Host: bearybot.selfhost.co Database: pyqcrm +-- ------------------------------------------------------ +-- Server version 10.11.8-MariaDB-0ubuntu0.24.04.1 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `address` +-- + +DROP TABLE IF EXISTS `address`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `address` ( + `addressid` int(11) NOT NULL AUTO_INCREMENT, + `country` varchar(50) DEFAULT NULL, + `city` varchar(500) NOT NULL, + PRIMARY KEY (`addressid`), + UNIQUE KEY `address_unique` (`city`) +) ENGINE=InnoDB AUTO_INCREMENT=7042 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `assignment` +-- + +DROP TABLE IF EXISTS `assignment`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `assignment` ( + `contractid` int(11) NOT NULL AUTO_INCREMENT, + `employeeid` int(11) NOT NULL, + UNIQUE KEY `assignment_unique` (`contractid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_estonian_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `business` +-- + +DROP TABLE IF EXISTS `business`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `business` ( + `businessid` int(11) NOT NULL AUTO_INCREMENT, + `company` varchar(100) NOT NULL, + `street` varchar(100) NOT NULL, + `postcodeid` int(11) DEFAULT NULL, + `phone` varchar(50) DEFAULT NULL, + `mobilephone` varchar(50) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `homepage` varchar(255) DEFAULT NULL, + `director` varchar(100) DEFAULT NULL, + `contactpersonid` int(11) DEFAULT NULL, + `info` varchar(500) DEFAULT NULL, + `btid` int(11) DEFAULT 1, + `taxno` varchar(50) DEFAULT NULL, + PRIMARY KEY (`businessid`), + UNIQUE KEY `customer_unique` (`email`), + UNIQUE KEY `business_unique` (`taxno`) +) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `businesstype` +-- + +DROP TABLE IF EXISTS `businesstype`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `businesstype` ( + `btypeID` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(35) NOT NULL, + PRIMARY KEY (`btypeID`), + UNIQUE KEY `businesstype_unique` (`description`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `contact` +-- + +DROP TABLE IF EXISTS `contact`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `contact` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `contactpersonid` int(11) NOT NULL, + `businessid` tinyint(1) NOT NULL DEFAULT 1, + UNIQUE KEY `contact_unique` (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `contactperson` +-- + +DROP TABLE IF EXISTS `contactperson`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `contactperson` ( + `contactpersonid` int(11) NOT NULL AUTO_INCREMENT, + `priorityid` int(11) DEFAULT NULL, + `lastname` varchar(35) NOT NULL, + `firstname` varchar(35) NOT NULL, + `phone` varchar(50) DEFAULT NULL, + `mobilephone` varchar(50) DEFAULT NULL, + `position` varchar(50) DEFAULT NULL, + `salutation` varchar(10) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `birthday` date DEFAULT NULL, + `active` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`contactpersonid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `contract` +-- + +DROP TABLE IF EXISTS `contract`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `contract` ( + `contractid` int(11) NOT NULL AUTO_INCREMENT, + `jobdetailid` int(11) NOT NULL, + `tariffid` int(11) NOT NULL, + `officeid` int(11) NOT NULL COMMENT 'Kostenstelle', + `date` date NOT NULL, + PRIMARY KEY (`contractid`), + UNIQUE KEY `contract_unique` (`jobdetailid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `customerinfo` +-- + +DROP TABLE IF EXISTS `customerinfo`; +/*!50001 DROP VIEW IF EXISTS `customerinfo`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `customerinfo` AS SELECT + 1 AS `BusinessId`, + 1 AS `Kundenname`, + 1 AS `Straße`, + 1 AS `PLZ`, + 1 AS `Ort`, + 1 AS `Anrede`, + 1 AS `Ansprechpartner` */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `employee` +-- + +DROP TABLE IF EXISTS `employee`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `employee` ( + `employeeid` int(11) NOT NULL AUTO_INCREMENT, + `lastname` varchar(35) NOT NULL, + `firstname` varchar(35) NOT NULL, + `gender` varchar(30) DEFAULT NULL, + `maritalstatus` varchar(30) DEFAULT NULL, + `nationality` varchar(50) NOT NULL, + `birthday` date NOT NULL, + `street` varchar(100) NOT NULL, + `postcodeid` int(11) NOT NULL, + `phone` varchar(50) DEFAULT NULL, + `mobilephone` varchar(50) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `identificationid` int(11) NOT NULL, + `jobstatusid` int(11) NOT NULL, + PRIMARY KEY (`employeeid`), + UNIQUE KEY `employee_unique` (`identificationid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `entities` +-- + +DROP TABLE IF EXISTS `entities`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `entities` ( + `entityid` int(11) NOT NULL AUTO_INCREMENT, + `entity` varchar(35) NOT NULL, + PRIMARY KEY (`entityid`), + UNIQUE KEY `Entities_UNIQUE` (`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `identification` +-- + +DROP TABLE IF EXISTS `identification`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `identification` ( + `identificationid` int(11) NOT NULL AUTO_INCREMENT, + `number` varchar(50) NOT NULL, + `expiry` date NOT NULL, + `issued` date NOT NULL, + `authority` varchar(50) NOT NULL, + `typeid` int(11) NOT NULL, + PRIMARY KEY (`identificationid`), + UNIQUE KEY `identification_unique` (`number`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `identificationtype` +-- + +DROP TABLE IF EXISTS `identificationtype`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `identificationtype` ( + `typeid` int(11) NOT NULL AUTO_INCREMENT, + `type` varchar(50) NOT NULL, + PRIMARY KEY (`typeid`), + UNIQUE KEY `identificationtype_unique` (`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `invoice` +-- + +DROP TABLE IF EXISTS `invoice`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `invoice` ( + `invoiceid` int(11) NOT NULL AUTO_INCREMENT, + `issued` date NOT NULL COMMENT 'Rechnungsdatum', + `entry` date NOT NULL COMMENT 'Buchungsdatum', + `contractid` int(11) NOT NULL, + PRIMARY KEY (`invoiceid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `jobdetail` +-- + +DROP TABLE IF EXISTS `jobdetail`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `jobdetail` ( + `jobdetailid` int(11) NOT NULL AUTO_INCREMENT, + `duration` decimal(10,0) NOT NULL, + `objectid` int(11) NOT NULL, + `period` varchar(15) NOT NULL, + `personnel` int(11) NOT NULL DEFAULT 1 COMMENT 'number of employees', + `price` decimal(10,0) NOT NULL, + PRIMARY KEY (`jobdetailid`), + UNIQUE KEY `jobdetail_unique` (`objectid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `jobstatus` +-- + +DROP TABLE IF EXISTS `jobstatus`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `jobstatus` ( + `jobstatusid` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(30) NOT NULL, + PRIMARY KEY (`jobstatusid`), + UNIQUE KEY `jobstatus_unique` (`description`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `logs` +-- + +DROP TABLE IF EXISTS `logs`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `logs` ( + `logid` int(11) NOT NULL AUTO_INCREMENT, + `recordid` int(11) DEFAULT NULL, + `operationtype` varchar(100) NOT NULL, + `message` varchar(100) NOT NULL, + `logdate` datetime NOT NULL DEFAULT current_timestamp(), + PRIMARY KEY (`logid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `medicalcare` +-- + +DROP TABLE IF EXISTS `medicalcare`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `medicalcare` ( + `medicalcareid` int(11) NOT NULL AUTO_INCREMENT, + `company` varchar(50) NOT NULL, + PRIMARY KEY (`medicalcareid`), + UNIQUE KEY `medicalcare_unique` (`company`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `object` +-- + +DROP TABLE IF EXISTS `object`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `object` ( + `objectid` int(11) NOT NULL AUTO_INCREMENT, + `street` varchar(100) NOT NULL, + `postcodeid` int(11) NOT NULL, + `contactpersonid` int(11) NOT NULL, + `businessid` int(11) NOT NULL, + PRIMARY KEY (`objectid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `offer` +-- + +DROP TABLE IF EXISTS `offer`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `offer` ( + `offerid` int(11) NOT NULL AUTO_INCREMENT, + `jobdetailid` int(11) NOT NULL, + `date` date NOT NULL, + PRIMARY KEY (`offerid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `offers` +-- + +DROP TABLE IF EXISTS `offers`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `offers` ( + `offerid` int(11) NOT NULL, + `contractid` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Kreuztabelle Angebot - Auftrag'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `office` +-- + +DROP TABLE IF EXISTS `office`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `office` ( + `officeid` int(11) NOT NULL AUTO_INCREMENT, + `office` varchar(50) NOT NULL COMMENT 'Kostenstelle', + PRIMARY KEY (`officeid`), + UNIQUE KEY `office_unique` (`office`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Kostenstelle'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `permissions` +-- + +DROP TABLE IF EXISTS `permissions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `permissions` ( + `permissionid` int(11) NOT NULL AUTO_INCREMENT, + `permission` varchar(50) NOT NULL, + PRIMARY KEY (`permissionid`), + UNIQUE KEY `berechtigungen_unique` (`permission`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `personalrole` +-- + +DROP TABLE IF EXISTS `personalrole`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `personalrole` ( + `employeeid` int(11) NOT NULL, + `roleid` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Kreuztabelle'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `postcode` +-- + +DROP TABLE IF EXISTS `postcode`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `postcode` ( + `postcodeid` int(11) NOT NULL AUTO_INCREMENT, + `postcode` varchar(15) NOT NULL, + `addressid` int(11) NOT NULL, + PRIMARY KEY (`postcodeid`) +) ENGINE=InnoDB AUTO_INCREMENT=8888 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `role` +-- + +DROP TABLE IF EXISTS `role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `role` ( + `roleid` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(50) NOT NULL, + PRIMARY KEY (`roleid`), + UNIQUE KEY `role_unique` (`description`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `roles` +-- + +DROP TABLE IF EXISTS `roles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `roles` ( + `roleid` int(11) NOT NULL, + `permissionid` int(11) NOT NULL, + `entityid` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `salestax` +-- + +DROP TABLE IF EXISTS `salestax`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `salestax` ( + `salestaxid` varchar(20) NOT NULL, + `businessid` int(11) NOT NULL, + PRIMARY KEY (`salestaxid`), + UNIQUE KEY `salestax_unique` (`businessid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `service` +-- + +DROP TABLE IF EXISTS `service`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `service` ( + `servicetypeid` int(11) NOT NULL, + `servicedescid` int(11) NOT NULL, + `objectid` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `servicedesc` +-- + +DROP TABLE IF EXISTS `servicedesc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `servicedesc` ( + `servicedescid` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(1000) NOT NULL, + PRIMARY KEY (`servicedescid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `servicetype` +-- + +DROP TABLE IF EXISTS `servicetype`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `servicetype` ( + `servicetypeid` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(50) NOT NULL, + PRIMARY KEY (`servicetypeid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `socialsecurity` +-- + +DROP TABLE IF EXISTS `socialsecurity`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `socialsecurity` ( + `employeeid` int(11) NOT NULL, + `socialsecurityno` varchar(30) NOT NULL, + `medicalcareid` int(11) NOT NULL, + UNIQUE KEY `socialsecurity_unique` (`employeeid`), + UNIQUE KEY `socialsecurity_unique_1` (`socialsecurityno`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `tariff` +-- + +DROP TABLE IF EXISTS `tariff`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tariff` ( + `tariffid` int(11) NOT NULL AUTO_INCREMENT, + `tariff` decimal(10,0) NOT NULL COMMENT 'Festgelegter Stundensatz', + PRIMARY KEY (`tariffid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Stundensatz Tabelle'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `timetrack` +-- + +DROP TABLE IF EXISTS `timetrack`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `timetrack` ( + `employeeid` int(11) NOT NULL, + `start` datetime NOT NULL, + `stop` datetime NOT NULL, + `vacation` tinyint(1) NOT NULL DEFAULT 0 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `users` +-- + +DROP TABLE IF EXISTS `users`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `users` ( + `usersid` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(50) NOT NULL, + `password` varchar(161) NOT NULL, + `enabled` tinyint(1) NOT NULL DEFAULT 1, + `roleid` int(11) NOT NULL, + `gecos` varchar(75) DEFAULT NULL, + PRIMARY KEY (`usersid`), + UNIQUE KEY `users_unique` (`username`) +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping routines for database 'pyqcrm' +-- +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `addBusiness` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `addBusiness`(new_business JSON) +BEGIN + DECLARE v_company VARCHAR(100); + DECLARE v_street VARCHAR(100); + DECLARE v_postcode INT(11); + DECLARE v_phone VARCHAR(50); + DECLARE v_cell VARCHAR(50); + DECLARE v_email VARCHAR(255); + DECLARE v_homepage VARCHAR(255); + DECLARE v_director VARCHAR(100); + DECLARE v_contactperson VARCHAR(100); + DECLARE v_info VARCHAR(500); + DECLARE v_taxno VARCHAR(50); + DECLARE v_bt VARCHAR(50); + + SET v_company = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.business')); + SET v_street = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.street')); + SET v_postcode = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.postcode')); + SET v_phone = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.telephone')); + SET v_cell = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.mobilephone')); + SET v_email = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.email')); + SET v_homepage = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.homepage')); + SET v_director = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.ceo')); + SET v_contactperson = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.')); + SET v_info = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.customerinfo')); + SET v_taxno = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.taxno')); + SET v_bt = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.typeid')); + + + +-- INSERT INTO business(company, street, postcodeid, phone, mobilephone, email, +-- homepage, director, contactperson, info, taxno, btid) +-- VALUES (v_company, v_street, v_postcodeid, v_phone,v_cell, +-- v_email,v_homepage, v_director, v_contactpersonid, v_info, v_taxno, v_bt); + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `addPermission` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `addPermission`(IN newpermission VARCHAR(50)) +BEGIN + IF NOT EXISTS (SELECT 1 FROM permissions WHERE permission = newpermission) THEN + INSERT INTO permissions(permission) VALUES(newpermission); + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `addRole` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `addRole`(IN newdescription VARCHAR(50)) +BEGIN + IF NOT EXISTS (SELECT 1 FROM `role` WHERE description = newdescription) THEN + INSERT INTO `role`(description) VALUES(newdescription); + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `addZipCodes` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `addZipCodes`(IN zipcode VARCHAR(15), IN town VARCHAR(500)) +BEGIN + DECLARE zip_town INT; + IF NOT EXISTS (SELECT 1 FROM address WHERE city = town) THEN + INSERT INTO address(country, city) VALUES("Deutschland", town); + SET zip_town = LAST_INSERT_ID(); + ELSE + SELECT addressid INTO zip_town FROM address WHERE city = town; + END IF; + IF NOT EXISTS (SELECT 1 FROM postcode WHERE postcode = zipcode) THEN + INSERT INTO postcode(postcode, addressid) VALUES(zipcode, zip_town); + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `checkAdmin` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `checkAdmin`() +BEGIN + SELECT 1 FROM users WHERE roleid = 1 AND enabled = TRUE LIMIT 1; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `createUser` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `createUser`(IN uname VARCHAR(35), IN password VARCHAR(161), IN gecos VARCHAR(75), IN admin BOOL) +BEGIN + DECLARE userrole INT; + SET userrole = 2; + IF admin = 1 THEN + SET userrole = 1; + END IF; + IF NOT EXISTS (SELECT 1 FROM users WHERE username = uname) THEN + INSERT INTO users(username, password, gecos, roleid) VALUES(uname, password, gecos, userrole); + ELSE + SIGNAL SQLSTATE '45000' SET + MESSAGE_TEXT = 'Username already in use'; + END IF; + END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `getBusiness` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `getBusiness`(IN businesstype VARCHAR(35)) +BEGIN + SELECT * FROM business; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `getCustomerView` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `getCustomerView`() +BEGIN + SELECT * FROM customerinfo ORDER BY Kundenname ASC; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `getUser` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `getUser`( IN uname VARCHAR(50)) +BEGIN + SELECT * FROM users WHERE username = uname AND enabled = 1; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; + +-- +-- Final view structure for view `customerinfo` +-- + +/*!50001 DROP VIEW IF EXISTS `customerinfo`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`pyqcrm`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `customerinfo` AS select `bt`.`businessid` AS `BusinessId`,coalesce(`bt`.`company`,'') AS `Kundenname`,coalesce(`bt`.`street`,'') AS `Straße`,coalesce(`pt`.`postcode`,'') AS `PLZ`,coalesce(`at`.`city`,'') AS `Ort`,coalesce(`ct`.`salutation`,'') AS `Anrede`,coalesce(concat(`ct`.`firstname`,' ',`ct`.`lastname`),'') AS `Ansprechpartner` from ((((`business` `bt` left join `postcode` `pt` on(`bt`.`postcodeid` = `pt`.`postcodeid`)) left join `address` `at` on(`pt`.`addressid` = `at`.`addressid`)) left join `contact` `cct` on(`cct`.`businessid` = `bt`.`businessid`)) left join `contactperson` `ct` on(`ct`.`contactpersonid` = `cct`.`contactpersonid`)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2024-12-05 15:36:34 diff --git a/doc/db_schemer_v1.1-pyqcrm-202412051640.sql b/doc/db_schemer_v1.1-pyqcrm-202412051640.sql new file mode 100644 index 0000000..aaf10f2 --- /dev/null +++ b/doc/db_schemer_v1.1-pyqcrm-202412051640.sql @@ -0,0 +1,832 @@ +/*M!999999\- enable the sandbox mode */ +-- MariaDB dump 10.19 Distrib 10.11.10-MariaDB, for Linux (x86_64) +-- +-- Host: bearybot.selfhost.co Database: pyqcrm +-- ------------------------------------------------------ +-- Server version 10.11.8-MariaDB-0ubuntu0.24.04.1 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `address` +-- + +DROP TABLE IF EXISTS `address`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `address` ( + `addressid` int(11) NOT NULL AUTO_INCREMENT, + `country` varchar(50) DEFAULT NULL, + `city` varchar(50) NOT NULL, + PRIMARY KEY (`addressid`) +) ENGINE=InnoDB AUTO_INCREMENT=7042 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `assignment` +-- + +DROP TABLE IF EXISTS `assignment`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `assignment` ( + `contractid` int(11) NOT NULL AUTO_INCREMENT, + `employeeid` int(11) NOT NULL, + UNIQUE KEY `assignment_unique` (`contractid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_estonian_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `business` +-- + +DROP TABLE IF EXISTS `business`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `business` ( + `businessid` int(11) NOT NULL AUTO_INCREMENT, + `company` varchar(100) NOT NULL, + `street` varchar(100) NOT NULL, + `postcodeid` int(11) DEFAULT NULL, + `phone` varchar(50) DEFAULT NULL, + `mobilephone` varchar(50) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `homepage` varchar(255) DEFAULT NULL, + `director` varchar(100) DEFAULT NULL, + `contactpersonid` int(11) DEFAULT NULL, + `info` varchar(500) DEFAULT NULL, + `btid` int(11) DEFAULT 1, + `taxno` varchar(50) DEFAULT NULL, + PRIMARY KEY (`businessid`), + UNIQUE KEY `customer_unique` (`email`), + UNIQUE KEY `business_unique` (`taxno`) +) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `businesstype` +-- + +DROP TABLE IF EXISTS `businesstype`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `businesstype` ( + `btypeID` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(35) NOT NULL, + PRIMARY KEY (`btypeID`), + UNIQUE KEY `businesstype_unique` (`description`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `contact` +-- + +DROP TABLE IF EXISTS `contact`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `contact` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `contactpersonid` int(11) NOT NULL, + `businessid` tinyint(1) NOT NULL DEFAULT 1, + UNIQUE KEY `contact_unique` (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `contactperson` +-- + +DROP TABLE IF EXISTS `contactperson`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `contactperson` ( + `contactpersonid` int(11) NOT NULL AUTO_INCREMENT, + `priorityid` int(11) DEFAULT NULL, + `lastname` varchar(35) NOT NULL, + `firstname` varchar(35) NOT NULL, + `phone` varchar(50) DEFAULT NULL, + `mobilephone` varchar(50) DEFAULT NULL, + `position` varchar(50) DEFAULT NULL, + `salutation` varchar(10) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `birthday` date DEFAULT NULL, + `active` tinyint(1) NOT NULL DEFAULT 1, + PRIMARY KEY (`contactpersonid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `contract` +-- + +DROP TABLE IF EXISTS `contract`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `contract` ( + `contractid` int(11) NOT NULL AUTO_INCREMENT, + `jobdetailid` int(11) NOT NULL, + `tariffid` int(11) NOT NULL, + `officeid` int(11) NOT NULL COMMENT 'Kostenstelle', + `date` date NOT NULL, + PRIMARY KEY (`contractid`), + UNIQUE KEY `contract_unique` (`jobdetailid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `customerinfo` +-- + +DROP TABLE IF EXISTS `customerinfo`; +/*!50001 DROP VIEW IF EXISTS `customerinfo`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `customerinfo` AS SELECT + 1 AS `BusinessId`, + 1 AS `Kundenname`, + 1 AS `Straße`, + 1 AS `PLZ`, + 1 AS `Ort`, + 1 AS `Anrede`, + 1 AS `Ansprechpartner` */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `employee` +-- + +DROP TABLE IF EXISTS `employee`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `employee` ( + `employeeid` int(11) NOT NULL AUTO_INCREMENT, + `lastname` varchar(35) NOT NULL, + `firstname` varchar(35) NOT NULL, + `gender` varchar(30) DEFAULT NULL, + `maritalstatus` varchar(30) DEFAULT NULL, + `nationality` varchar(50) NOT NULL, + `birthday` date NOT NULL, + `street` varchar(100) NOT NULL, + `postcodeid` int(11) NOT NULL, + `phone` varchar(50) DEFAULT NULL, + `mobilephone` varchar(50) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `identificationid` int(11) NOT NULL, + `jobstatusid` int(11) NOT NULL, + PRIMARY KEY (`employeeid`), + UNIQUE KEY `employee_unique` (`identificationid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `entities` +-- + +DROP TABLE IF EXISTS `entities`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `entities` ( + `entityid` int(11) NOT NULL AUTO_INCREMENT, + `entity` varchar(35) NOT NULL, + PRIMARY KEY (`entityid`), + UNIQUE KEY `Entities_UNIQUE` (`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `identification` +-- + +DROP TABLE IF EXISTS `identification`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `identification` ( + `identificationid` int(11) NOT NULL AUTO_INCREMENT, + `number` varchar(50) NOT NULL, + `expiry` date NOT NULL, + `issued` date NOT NULL, + `authority` varchar(50) NOT NULL, + `typeid` int(11) NOT NULL, + PRIMARY KEY (`identificationid`), + UNIQUE KEY `identification_unique` (`number`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `identificationtype` +-- + +DROP TABLE IF EXISTS `identificationtype`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `identificationtype` ( + `typeid` int(11) NOT NULL AUTO_INCREMENT, + `type` varchar(50) NOT NULL, + PRIMARY KEY (`typeid`), + UNIQUE KEY `identificationtype_unique` (`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `invoice` +-- + +DROP TABLE IF EXISTS `invoice`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `invoice` ( + `invoiceid` int(11) NOT NULL AUTO_INCREMENT, + `issued` date NOT NULL COMMENT 'Rechnungsdatum', + `entry` date NOT NULL COMMENT 'Buchungsdatum', + `contractid` int(11) NOT NULL, + PRIMARY KEY (`invoiceid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `jobdetail` +-- + +DROP TABLE IF EXISTS `jobdetail`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `jobdetail` ( + `jobdetailid` int(11) NOT NULL AUTO_INCREMENT, + `duration` decimal(10,0) NOT NULL, + `objectid` int(11) NOT NULL, + `period` varchar(15) NOT NULL, + `personnel` int(11) NOT NULL DEFAULT 1 COMMENT 'number of employees', + `price` decimal(10,0) NOT NULL, + PRIMARY KEY (`jobdetailid`), + UNIQUE KEY `jobdetail_unique` (`objectid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `jobstatus` +-- + +DROP TABLE IF EXISTS `jobstatus`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `jobstatus` ( + `jobstatusid` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(30) NOT NULL, + PRIMARY KEY (`jobstatusid`), + UNIQUE KEY `jobstatus_unique` (`description`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `logs` +-- + +DROP TABLE IF EXISTS `logs`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `logs` ( + `logid` int(11) NOT NULL AUTO_INCREMENT, + `recordid` int(11) DEFAULT NULL, + `operationtype` varchar(100) NOT NULL, + `message` varchar(100) NOT NULL, + `logdate` datetime NOT NULL DEFAULT current_timestamp(), + PRIMARY KEY (`logid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `medicalcare` +-- + +DROP TABLE IF EXISTS `medicalcare`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `medicalcare` ( + `medicalcareid` int(11) NOT NULL AUTO_INCREMENT, + `company` varchar(50) NOT NULL, + PRIMARY KEY (`medicalcareid`), + UNIQUE KEY `medicalcare_unique` (`company`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `object` +-- + +DROP TABLE IF EXISTS `object`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `object` ( + `objectid` int(11) NOT NULL AUTO_INCREMENT, + `street` varchar(100) NOT NULL, + `postcodeid` int(11) NOT NULL, + `contactpersonid` int(11) NOT NULL, + `businessid` int(11) NOT NULL, + PRIMARY KEY (`objectid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `offer` +-- + +DROP TABLE IF EXISTS `offer`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `offer` ( + `offerid` int(11) NOT NULL AUTO_INCREMENT, + `jobdetailid` int(11) NOT NULL, + `date` date NOT NULL, + PRIMARY KEY (`offerid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `offers` +-- + +DROP TABLE IF EXISTS `offers`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `offers` ( + `offerid` int(11) NOT NULL, + `contractid` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Kreuztabelle Angebot - Auftrag'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `office` +-- + +DROP TABLE IF EXISTS `office`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `office` ( + `officeid` int(11) NOT NULL AUTO_INCREMENT, + `office` varchar(50) NOT NULL COMMENT 'Kostenstelle', + PRIMARY KEY (`officeid`), + UNIQUE KEY `office_unique` (`office`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Kostenstelle'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `permissions` +-- + +DROP TABLE IF EXISTS `permissions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `permissions` ( + `permissionid` int(11) NOT NULL AUTO_INCREMENT, + `permission` varchar(50) NOT NULL, + PRIMARY KEY (`permissionid`), + UNIQUE KEY `berechtigungen_unique` (`permission`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `personalrole` +-- + +DROP TABLE IF EXISTS `personalrole`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `personalrole` ( + `employeeid` int(11) NOT NULL, + `roleid` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Kreuztabelle'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `postcode` +-- + +DROP TABLE IF EXISTS `postcode`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `postcode` ( + `postcodeid` int(11) NOT NULL AUTO_INCREMENT, + `postcode` varchar(15) NOT NULL, + `addressid` int(11) NOT NULL, + PRIMARY KEY (`postcodeid`) +) ENGINE=InnoDB AUTO_INCREMENT=8888 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `role` +-- + +DROP TABLE IF EXISTS `role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `role` ( + `roleid` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(50) NOT NULL, + PRIMARY KEY (`roleid`), + UNIQUE KEY `role_unique` (`description`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `roles` +-- + +DROP TABLE IF EXISTS `roles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `roles` ( + `roleid` int(11) NOT NULL, + `permissionid` int(11) NOT NULL, + `entityid` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `salestax` +-- + +DROP TABLE IF EXISTS `salestax`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `salestax` ( + `salestaxid` varchar(20) NOT NULL, + `businessid` int(11) NOT NULL, + PRIMARY KEY (`salestaxid`), + UNIQUE KEY `salestax_unique` (`businessid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `service` +-- + +DROP TABLE IF EXISTS `service`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `service` ( + `servicetypeid` int(11) NOT NULL, + `servicedescid` int(11) NOT NULL, + `objectid` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `servicedesc` +-- + +DROP TABLE IF EXISTS `servicedesc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `servicedesc` ( + `servicedescid` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(1000) NOT NULL, + PRIMARY KEY (`servicedescid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `servicetype` +-- + +DROP TABLE IF EXISTS `servicetype`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `servicetype` ( + `servicetypeid` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(50) NOT NULL, + PRIMARY KEY (`servicetypeid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `socialsecurity` +-- + +DROP TABLE IF EXISTS `socialsecurity`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `socialsecurity` ( + `employeeid` int(11) NOT NULL, + `socialsecurityno` varchar(30) NOT NULL, + `medicalcareid` int(11) NOT NULL, + UNIQUE KEY `socialsecurity_unique` (`employeeid`), + UNIQUE KEY `socialsecurity_unique_1` (`socialsecurityno`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `tariff` +-- + +DROP TABLE IF EXISTS `tariff`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tariff` ( + `tariffid` int(11) NOT NULL AUTO_INCREMENT, + `tariff` decimal(10,0) NOT NULL COMMENT 'Festgelegter Stundensatz', + PRIMARY KEY (`tariffid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Stundensatz Tabelle'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `timetrack` +-- + +DROP TABLE IF EXISTS `timetrack`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `timetrack` ( + `employeeid` int(11) NOT NULL, + `start` datetime NOT NULL, + `stop` datetime NOT NULL, + `vacation` tinyint(1) NOT NULL DEFAULT 0 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `users` +-- + +DROP TABLE IF EXISTS `users`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `users` ( + `usersid` int(11) NOT NULL AUTO_INCREMENT, + `username` varchar(50) NOT NULL, + `password` varchar(161) NOT NULL, + `enabled` tinyint(1) NOT NULL DEFAULT 1, + `roleid` int(11) NOT NULL, + `gecos` varchar(75) DEFAULT NULL, + PRIMARY KEY (`usersid`), + UNIQUE KEY `users_unique` (`username`) +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping routines for database 'pyqcrm' +-- +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `addBusiness` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `addBusiness`(new_business JSON) +BEGIN + DECLARE v_company VARCHAR(100); + DECLARE v_street VARCHAR(100); + DECLARE v_postcode INT(11); + DECLARE v_phone VARCHAR(50); + DECLARE v_cell VARCHAR(50); + DECLARE v_email VARCHAR(255); + DECLARE v_homepage VARCHAR(255); + DECLARE v_director VARCHAR(100); + DECLARE v_contactperson VARCHAR(100); + DECLARE v_info VARCHAR(500); + DECLARE v_taxno VARCHAR(50); + DECLARE v_bt VARCHAR(50); + + SET v_company = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.business')); + SET v_street = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.street')); + SET v_postcode = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.postcode')); + SET v_phone = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.telephone')); + SET v_cell = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.mobilephone')); + SET v_email = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.email')); + SET v_homepage = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.homepage')); + SET v_director = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.ceo')); + SET v_contactperson = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.')); + SET v_info = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.customerinfo')); + SET v_taxno = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.taxno')); + SET v_bt = JSON_UNQUOTE(JSON_EXTRACT(new_business, '$.typeid')); + + + + + + + + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `addPermission` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `addPermission`(IN newpermission VARCHAR(50)) +BEGIN + IF NOT EXISTS (SELECT 1 FROM permissions WHERE permission = newpermission) THEN + INSERT INTO permissions(permission) VALUES(newpermission); + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `addRole` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `addRole`(IN newdescription VARCHAR(50)) +BEGIN + IF NOT EXISTS (SELECT 1 FROM `role` WHERE description = newdescription) THEN + INSERT INTO `role`(description) VALUES(newdescription); + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `addZipCodes` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `addZipCodes`(IN zipcode VARCHAR(15), IN town VARCHAR(500)) +BEGIN + DECLARE zip_town INT; + IF NOT EXISTS (SELECT 1 FROM address WHERE city = town) THEN + INSERT INTO address(country, city) VALUES("Deutschland", town); + SET zip_town = LAST_INSERT_ID(); + ELSE + SELECT addressid INTO zip_town FROM address WHERE city = town; + END IF; + IF NOT EXISTS (SELECT 1 FROM postcode WHERE postcode = zipcode) THEN + INSERT INTO postcode(postcode, addressid) VALUES(zipcode, zip_town); + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `checkAdmin` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `checkAdmin`() +BEGIN + SELECT 1 FROM users WHERE roleid = 1 AND enabled = TRUE LIMIT 1; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `createUser` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `createUser`(IN uname VARCHAR(35), IN password VARCHAR(161), IN gecos VARCHAR(75), IN admin BOOL) +BEGIN + DECLARE userrole INT; + SET userrole = 2; + IF admin = 1 THEN + SET userrole = 1; + END IF; + IF NOT EXISTS (SELECT 1 FROM users WHERE username = uname) THEN + INSERT INTO users(username, password, gecos, roleid) VALUES(uname, password, gecos, userrole); + ELSE + SIGNAL SQLSTATE '45000' SET + MESSAGE_TEXT = 'Username already in use'; + END IF; + END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `getBusiness` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `getBusiness`(IN businesstype VARCHAR(35)) +BEGIN + SELECT * FROM business; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `getCustomerView` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `getCustomerView`() +BEGIN + SELECT * FROM customerinfo ORDER BY Kundenname ASC; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ; +/*!50003 DROP PROCEDURE IF EXISTS `getUser` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; +DELIMITER ;; +CREATE DEFINER=`pyqcrm`@`%` PROCEDURE `getUser`( IN uname VARCHAR(50)) +BEGIN + SELECT * FROM users WHERE username = uname AND enabled = 1; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; + +-- +-- Final view structure for view `customerinfo` +-- + +/*!50001 DROP VIEW IF EXISTS `customerinfo`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`pyqcrm`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `customerinfo` AS select `bt`.`businessid` AS `BusinessId`,coalesce(`bt`.`company`,'') AS `Kundenname`,coalesce(`bt`.`street`,'') AS `Straße`,coalesce(`pt`.`postcode`,'') AS `PLZ`,coalesce(`at`.`city`,'') AS `Ort`,coalesce(`ct`.`salutation`,'') AS `Anrede`,coalesce(concat(`ct`.`firstname`,' ',`ct`.`lastname`),'') AS `Ansprechpartner` from ((((`business` `bt` left join `postcode` `pt` on(`bt`.`postcodeid` = `pt`.`postcodeid`)) left join `address` `at` on(`pt`.`addressid` = `at`.`addressid`)) left join `contact` `cct` on(`cct`.`businessid` = `bt`.`businessid`)) left join `contactperson` `ct` on(`ct`.`contactpersonid` = `cct`.`contactpersonid`)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2024-12-05 16:40:40 diff --git a/js/qmldict.js b/js/qmldict.js index 59f8b8a..f9a497b 100644 --- a/js/qmldict.js +++ b/js/qmldict.js @@ -22,21 +22,28 @@ function addBusiness(form) { let business_form = {}; for (var i = 0; i < form.children.length; i++) + { if (form.children[i].toString().startsWith("Combo")) { if(form.children[i].editText) { - console.log(form.children[i].editText) + business_form[form.children[i].name] = form.children[i].editText } else { - console.log(form.children[i].currentText) + business_form[form.children[i].name] = form.children[i].currentText } } else if (form.children[i].toString().startsWith("TextField")) { - console.log(form.children[i].text) + business_form[form.children[i].name] = form.children[i].text } + else if (form.children[i].toString().startsWith("Scroll")) + { + business_form[form.children[i].contentChildren[0].name] = form.children[i].contentChildren[0].text + } + } + return business_form } diff --git a/lib/DB/BusinessDAO.py b/lib/DB/BusinessDAO.py index 5c0061c..7a0f1c3 100644 --- a/lib/DB/BusinessDAO.py +++ b/lib/DB/BusinessDAO.py @@ -1,5 +1,7 @@ from .DbManager import DbManager - +import json +import mariadb +import time class BusinessDAO: def __init__(self): @@ -11,5 +13,46 @@ class BusinessDAO: self.__all_cols = [desc[0] for desc in self.__cur.description] return self.__cur.fetchall(), self.__all_cols - def addBusiness(self): - pass + def addBusiness(self, data): + try: + print(data) + self.__cur.callproc("addBusiness", (json.dumps(data),)) + self.__con.commit() + print(self.__cur.fetchall()) + except mariadb.Error as e: + print(str(e)) + + + def addPlz(self): + count = 1 + with open("/home/dstoppek/Downloads/georef-germany-postleitzahl.json", "r") as plz: + postcodes = json.load(plz) + try: + for i in postcodes: + test =i["plz_name"].split(",") + for town in test: + + if "u.a" in town: + town = town[:-4] + town = town.strip() + if town: + + + print(f"PROCESSING {i['name']} {town}") + self.__cur.callproc("addZipCodes", (i["name"], town,)) + + + #time.sleep(1) + # self.__cur.execute(f"INSERT INTO postcode(postcode, addressid) VALUE ({i["name"]}, {count})") + # count += 1 + + except mariadb.OperationalError as e: + print(f"Database Error: {e}") + finally: + self.__con.commit() + print("FINISHED") + + + + + diff --git a/lib/DB/BusinessModel.py b/lib/DB/BusinessModel.py index 493b86e..76c50a3 100644 --- a/lib/DB/BusinessModel.py +++ b/lib/DB/BusinessModel.py @@ -75,17 +75,17 @@ class BusinessModel(QAbstractTableModel): return len (self.__data) def columnCount(self, parent= QModelIndex()): - return len(self.__visible_columns) + return len(self.__visible_columns) - 1 def data(self, index, role= Qt.DisplayRole): if role == Qt.DisplayRole: row = self.__data[index.row()] - return row[index.column()] + return row[index.column() + 1] return None def headerData(self, section, orientation, role= Qt.DisplayRole): if orientation == Qt.Horizontal and role ==Qt.DisplayRole: - self.__col_name = self.__visible_columns[section] + self.__col_name = self.__visible_columns[section + 1] return self.__col_name return super().headerData(section, orientation, role) @@ -108,7 +108,15 @@ class BusinessModel(QAbstractTableModel): @Slot(dict) def addBusiness(self, business): + # BusinessDAO().addBusiness(business) + BusinessDAO().addPlz() + + + @Slot(dict) + def setContact(self, contact): + pass + + def updateTable(self): pass - diff --git a/qml.qrc b/qml.qrc index d5f8b2d..22b4004 100644 --- a/qml.qrc +++ b/qml.qrc @@ -6,5 +6,6 @@ Gui/EncryptionKey.qml Gui/DbConfiguration.qml Gui/LoginScreen.qml + Gui/AddContact.qml