Fase 1: ProjectDAO, formProject, formProjectList, PROJECTDOCUMENT, PROJECTBUDGET en sqltable.h

This commit is contained in:
2026-06-10 00:22:41 +02:00
parent ed1ac4266c
commit d900ecb313
7 changed files with 904 additions and 133 deletions
+61 -133
View File
@@ -148,98 +148,6 @@ const QString tElemento = "CREATE TABLE ELEMENT ("
"WIDTH FLOAT, " // 21. ID proveedor por defecto
"LENGHT FLOAT, " // 22. ID proveedor por defecto
/* Interesa??
// Proveedores:
"SUPPLIER_ID_0 VARCHAR(10), " // 23. ID del proveedor
"SUPPLIER_NAME_0 VARCHAR(60), " // 24. Nombre del proveedor
"SUPPLIER_REFERENCE_0 VARCHAR(20), " // 25. Ref. del elemento que tiene el proveedor
"SUPPLIER_REAL_PRICE_0 FLOAT, " // 26. PVP
"SUPPLIER_DISCOUNT_0 FLOAT, " // 27. Descuento
"SUPPLIER_PURCHASE_PRICE_0 FLOAT, " // 28. Precio compra
"SUPPLIER_MINIMUM_AMOUNT_0 FLOAT, " // 29. Cantidad mínima de pedido
"SUPPLIER_DATE_UPDATE_0 DATE, " // 30. Fecha de actualización del precio
"SUPPLIER_ID_1 VARCHAR(10), " // 18. ID del proveedor
"SUPPLIER_NAME_1 VARCHAR(60), " // 19. Nombre del proveedor
"SUPPLIER_REFERENCE_1 VARCHAR(20), " // 20. Ref. del elemento que tiene el proveedor
"SUPPLIER_REAL_PRICE_1 FLOAT, " // 21. PVP
"SUPPLIER_DISCOUNT_1 FLOAT, " // 22. Descuento
"SUPPLIER_PURCHASE_PRICE_1 FLOAT, " // 23. Precio compra
"SUPPLIER_MINIMUM_AMOUNT_1 FLOAT, " // 24. Cantidad mínima de pedido
"SUPPLIER_DATE_UPDATE_1 DATE, " // 25. Fecha de actualización del precio
"SUPPLIER_ID_2 VARCHAR(10), " // 18. ID del proveedor
"SUPPLIER_NAME_2 VARCHAR(60), " // 19. Nombre del proveedor
"SUPPLIER_REFERENCE_2 VARCHAR(20), " // 20. Ref. del elemento que tiene el proveedor
"SUPPLIER_REAL_PRICE_2 FLOAT, " // 21. PVP
"SUPPLIER_DISCOUNT_2 FLOAT, " // 22. Descuento
"SUPPLIER_PURCHASE_PRICE_2 FLOAT, " // 23. Precio compra
"SUPPLIER_MINIMUM_AMOUNT_2 FLOAT, " // 24. Cantidad mínima de pedido
"SUPPLIER_DATE_UPDATE_2 DATE, " // 25. Fecha de actualización del precio
"SUPPLIER_ID_3 VARCHAR(10), " // 18. ID del proveedor
"SUPPLIER_NAME_3 VARCHAR(60), " // 19. Nombre del proveedor
"SUPPLIER_REFERENCE_3 VARCHAR(20), " // 20. Ref. del elemento que tiene el proveedor
"SUPPLIER_REAL_PRICE_3 FLOAT, " // 21. PVP
"SUPPLIER_DISCOUNT_3 FLOAT, " // 22. Descuento
"SUPPLIER_PURCHASE_PRICE_3 FLOAT, " // 23. Precio compra
"SUPPLIER_MINIMUM_AMOUNT_3 FLOAT, " // 24. Cantidad mínima de pedido
"SUPPLIER_DATE_UPDATE_3 DATE, " // 25. Fecha de actualización del precio
"SUPPLIER_ID_4 VARCHAR(10), " // 18. ID del proveedor
"SUPPLIER_NAME_4 VARCHAR(60), " // 19. Nombre del proveedor
"SUPPLIER_REFERENCE_4 VARCHAR(20), " // 20. Ref. del elemento que tiene el proveedor
"SUPPLIER_REAL_PRICE_4 FLOAT, " // 21. PVP
"SUPPLIER_DISCOUNT_4 FLOAT, " // 22. Descuento
"SUPPLIER_PURCHASE_PRICE_4 FLOAT, " // 23. Precio compra
"SUPPLIER_MINIMUM_AMOUNT_4 FLOAT, " // 24. Cantidad mínima de pedido
"SUPPLIER_DATE_UPDATE_4 DATE, " // 25. Fecha de actualización del precio
"SUPPLIER_ID_5 VARCHAR(10), " // 18. ID del proveedor
"SUPPLIER_NAME_5 VARCHAR(60), " // 19. Nombre del proveedor
"SUPPLIER_REFERENCE_5 VARCHAR(20), " // 20. Ref. del elemento que tiene el proveedor
"SUPPLIER_REAL_PRICE_5 FLOAT, " // 21. PVP
"SUPPLIER_DISCOUNT_5 FLOAT, " // 22. Descuento
"SUPPLIER_PURCHASE_PRICE_5 FLOAT, " // 23. Precio compra
"SUPPLIER_MINIMUM_AMOUNT_5 FLOAT, " // 24. Cantidad mínima de pedido
"SUPPLIER_DATE_UPDATE_5 DATE, " // 25. Fecha de actualización del precio
"SUPPLIER_ID_6 VARCHAR(10), " // 18. ID del proveedor
"SUPPLIER_NAME_6 VARCHAR(60), " // 19. Nombre del proveedor
"SUPPLIER_REFERENCE_6 VARCHAR(20), " // 20. Ref. del elemento que tiene el proveedor
"SUPPLIER_REAL_PRICE_6 FLOAT, " // 21. PVP
"SUPPLIER_DISCOUNT_6 FLOAT, " // 22. Descuento
"SUPPLIER_PURCHASE_PRICE_6 FLOAT, " // 23. Precio compra
"SUPPLIER_MINIMUM_AMOUNT_6 FLOAT, " // 24. Cantidad mínima de pedido
"SUPPLIER_DATE_UPDATE_6 DATE, " // 25. Fecha de actualización del precio
"SUPPLIER_ID_7 VARCHAR(10), " // 18. ID del proveedor
"SUPPLIER_NAME_7 VARCHAR(60), " // 19. Nombre del proveedor
"SUPPLIER_REFERENCE_7 VARCHAR(20), " // 20. Ref. del elemento que tiene el proveedor
"SUPPLIER_REAL_PRICE_7 FLOAT, " // 21. PVP
"SUPPLIER_DISCOUNT_7 FLOAT, " // 22. Descuento
"SUPPLIER_PURCHASE_PRICE_7 FLOAT, " // 23. Precio compra
"SUPPLIER_MINIMUM_AMOUNT_7 FLOAT, " // 24. Cantidad mínima de pedido
"SUPPLIER_DATE_UPDATE_7 DATE, " // 25. Fecha de actualización del precio
"SUPPLIER_ID_8 VARCHAR(10), " // 18. ID del proveedor
"SUPPLIER_NAME_8 VARCHAR(60), " // 19. Nombre del proveedor
"SUPPLIER_REFERENCE_8 VARCHAR(20), " // 20. Ref. del elemento que tiene el proveedor
"SUPPLIER_REAL_PRICE_8 FLOAT, " // 21. PVP
"SUPPLIER_DISCOUNT_8 FLOAT, " // 22. Descuento
"SUPPLIER_PURCHASE_PRICE_8 FLOAT, " // 23. Precio compra
"SUPPLIER_MINIMUM_AMOUNT_8 FLOAT, " // 24. Cantidad mínima de pedido
"SUPPLIER_DATE_UPDATE_8 DATE, " // 25. Fecha de actualización del precio
"SUPPLIER_ID_9 VARCHAR(10), " // 18. ID del proveedor
"SUPPLIER_NAME_9 VARCHAR(60), " // 19. Nombre del proveedor
"SUPPLIER_REFERENCE_9 VARCHAR(20), " // 20. Ref. del elemento que tiene el proveedor
"SUPPLIER_REAL_PRICE_9 FLOAT, " // 21. PVP
"SUPPLIER_DISCOUNT_9 FLOAT, " // 22. Descuento
"SUPPLIER_PURCHASE_PRICE_9 FLOAT, " // 23. Precio compra
"SUPPLIER_MINIMUM_AMOUNT_9 FLOAT, " // 24. Cantidad mínima de pedido
"SUPPLIER_DATE_UPDATE_9 DATE, " // 97. Fecha de actualización del precio
*/
"SUPPLIER_DEFAULT VARCHAR(10), " // 98. CODE proveedor por defecto
"CREATEDAT DATE DEFAULT CURRENT_DATE, " // 25. Fecha de creación
@@ -417,7 +325,7 @@ const QString tDataDocVenta = "CREATE TABLE SALEDOCUMENTDATA ("
//---------------------- DOCUMENTOS DE COMPRA --------------------------------
const QString tDocCompra = "CREATE TABLE BUYDOCUMENT ("
"ID INTEGER PRIMARY KEY AUTOINCREMENT, " // 0. ID
"TYPE VARCHAR(2) NOT NULL, " // 1. Tipo de documento:
"TYPE VARCHAR(2)\tNOT NULL, " // 1. Tipo de documento:
"CODE VARCHAR(20) NOT NULL, " // 2. Código documento
"SUPPLIER_CODE VARCHAR(20) NOT NULL, " // 3. Código proveedor
"SUPPLIER_NAME VARCHAR(100) NOT NULL, " // 4. Nombre proveedor
@@ -439,7 +347,7 @@ const QString tDocCompra = "CREATE TABLE BUYDOCUMENT ("
const QString tDataDocCompra = "CREATE TABLE BUYDOCUMENTDATA ("
"ID INTEGER NOT NULL, " // 0. ID linea
"BUYDOCUMENT_CODE VARCHAR(10) NOT NULL, " // 1. ID Documento de compra
"BUYDOCUMENT_CODE\tVARCHAR(10)\tNOT NULL, " // 1. ID Documento de compra
"ELEMENT_CODE VARCHAR(20), " // 2. ID del elemento
"ELEMENT_SUPPLIER_CODE VARCHAR(20), " // 3. ID del elemento que tiene el proveedor
"ELEMENT_NAME VARCHAR(100), " // 4. Descripción del elemento
@@ -458,24 +366,24 @@ const QString tDataDocCompra = "CREATE TABLE BUYDOCUMENTDATA ("
//----------------------- PROYECTO -----------------------------------------
const QString tProyecto = "CREATE TABLE PROJECT ("
"ID INTEGER PRIMARY KEY AUTOINCREMENT, " // 0. ID
"CODE VARCHAR(20) NOT NULL, " // 1. ID
"TITLE VARCHAR(100) NOT NULL, " // 2. Título
"CUSTOMER_CODE VARCHAR(10) NOT NULL, " // 3. ID Cliente
"CUSTOMER_NAME VARCHAR(60) NOT NULL, " // 4. Nombre del cliente
"START_DATE DATE DEFAULT CURRENT_DATE, " // 5. Fecha de Inicio
"DURATION DATE, " // 6. Fecha de Inicio
"STATE VARCHAR(10), " // 7. Estado
"ID\tINTEGER PRIMARY KEY AUTOINCREMENT, " // 0. ID
"CODE\tVARCHAR(20) NOT NULL, " // 1. ID
"TITLE\tVARCHAR(100) NOT NULL, " // 2. Título
"CUSTOMER_CODE\tVARCHAR(10) NOT NULL, " // 3. ID Cliente
"CUSTOMER_NAME\tVARCHAR(60) NOT NULL, " // 4. Nombre del cliente
"START_DATE\tDATE DEFAULT CURRENT_DATE, " // 5. Fecha de Inicio
"DURATION\tDATE, " // 6. Fecha de Inicio
"STATE\tVARCHAR(10), " // 7. Estado
// Dirección de la obra
"CONTACT VARCHAR(60), " // 8. Contacto
"ADDRESS1 VARCHAR(40), " // 9. Dir L1
"ADDRESS2 VARCHAR(40), " // 10. Dir L2
"POSTCODE VARCHAR(9), " // 11. CP
"CITY VARCHAR(80), " // 12. Ciudad
"PHONE VARCHAR(20), " // 13. Telefono
"MOBILE VARCHAR(20), " // 14. Movil
"EMAIL VARCHAR(60), " // 15. e-mail
"CONTACT\tVARCHAR(60), " // 8. Contacto
"ADDRESS1\tVARCHAR(40), " // 9. Dir L1
"ADDRESS2\tVARCHAR(40), " // 10. Dir L2
"POSTCODE\tVARCHAR(9), " // 11. CP
"CITY\tVARCHAR(80), " // 12. Ciudad
"PHONE\tVARCHAR(20), " // 13. Telefono
"MOBILE\tVARCHAR(20), " // 14. Movil
"EMAIL\tVARCHAR(60), " // 15. e-mail
"pyGantt BLOB" // 16. Imagen
@@ -484,15 +392,15 @@ const QString tProyecto = "CREATE TABLE PROJECT ("
");";
const QString tProjectControl = "CREATE TABLE PROJECTCONTROL ("
"ID INTEGER PRIMARY KEY AUTOINCREMENT, " // 01. ID
"pcPYCODE VARCHAR(20) NOT NULL, " // 02. ID
"pcELID VARCHAR(20) NOT NULL, " // 03. ID
"ID\tINTEGER PRIMARY KEY AUTOINCREMENT, " // 01. ID
"pcPYCODE\tVARCHAR(20) NOT NULL, " // 02. ID
"pcELID\tVARCHAR(20) NOT NULL, " // 03. ID
"pcELTITLE VARCHAR(100) NOT NULL, " // 04. ID Cliente
"pcELTOTAL FLOAT, " // 05. Nombre del cliente
"pcELTOTAL\tFLOAT, " // 05. Nombre del cliente
"pcELINSTALLED FLOAT, " // 06. Fecha de Inicio
"pcELREST FLOAT, " // 07. Fecha de Inicio
"pcELUNIT VARCHAR(2), " // 08. Estado
"pcELDATE DATE DEFAULT CURRENT_DATE, " // 09. Estado
"pcELREST\tFLOAT, " // 07. Fecha de Inicio
"pcELUNIT\tVARCHAR(2), " // 08. Estado
"pcELDATE\tDATE DEFAULT CURRENT_DATE, " // 09. Estado
"pcELTYPE VARCHAR(3), "
"pcELNODEINDEX INTEGER, "
"pcTASK VARCHAR(50), "
@@ -501,14 +409,34 @@ const QString tProjectControl = "CREATE TABLE PROJECTCONTROL ("
"CREATEDAT DATETIME DEFAULT CURRENT_DATE"
");";
//----------------------- PROJECTDOCUMENT ------------------------------------
const QString tProjectDocument = "CREATE TABLE PROJECTDOCUMENT ("
"ID INTEGER PRIMARY KEY AUTOINCREMENT, "
"PROJECT_CODE VARCHAR(20) NOT NULL, "
"DOC_TYPE VARCHAR(2) NOT NULL, "
"DOC_CODE VARCHAR(20) NOT NULL, "
"CREATEDBY VARCHAR(100), "
"CREATEDAT DATETIME DEFAULT CURRENT_TIMESTAMP"
");";
//----------------------- PROJECTBUDGET --------------------------------------
const QString tProjectBudget = "CREATE TABLE PROJECTBUDGET ("
"ID INTEGER PRIMARY KEY AUTOINCREMENT, "
"PROJECT_CODE VARCHAR(20) NOT NULL, "
"CONCEPT VARCHAR(200), "
"AMOUNT FLOAT, "
"CREATEDBY VARCHAR(100), "
"CREATEDAT DATETIME DEFAULT CURRENT_TIMESTAMP"
");";
//----------------------- TRABAJADOR ---------------------------------------
const QString tTrabajador = "CREATE TABLE EMPLOYEE ("
"ID INTEGER PRIMARY KEY AUTOINCREMENT, " // 01. ID
"SURNAME VARCHAR(60) NOT NULL, " // 02. Apellidos
"NAME VARCHAR(60) NOT NULL, " // 03. Nombre
"STATE BOOLEAN DEFAULT FALSE, " // 04. Activo o inactivo
"STATE\tBOOLEAN\tDEFAULT FALSE, " // 04. Activo o inactivo
"CATEGORY VARCHAR(30), " // 05. Categoría
"PRICEPERHOUR FLOAT, " // 06. Precio Hora
"PRICEPERHOUR\tFLOAT, " // 06. Precio Hora
"NOTES BLOB," // 07. Notas
"PICTURE BLOB,"
@@ -518,19 +446,19 @@ const QString tTrabajador = "CREATE TABLE EMPLOYEE ("
//----------------------- CONTACTOS -----------------------------------------
const QString tContact = "CREATE TABLE CONTACT ("
"coID INTEGER PRIMARY KEY AUTOINCREMENT, " // 01. ID
"coCode VARCHAR(20) NOT NULL, " // 02. Code
"coNombre VARCHAR(60) NOT NULL, " // 03. Nombre
"coApellido VARCHAR(60) NOT NULL, " // 04. Apellidos
"coForma VARCHAR(10), " // 05. Forma
"coID\tINTEGER PRIMARY KEY AUTOINCREMENT, " // 01. ID
"coCode\tVARCHAR(20) NOT NULL, " // 02. Code
"coNombre\tVARCHAR(60) NOT NULL, " // 03. Nombre
"coApellido\tVARCHAR(60) NOT NULL, " // 04. Apellidos
"coForma\tVARCHAR(10), " // 05. Forma
"coPuesto VARCHAR(20), " // 06. Puesto
"coclCode VARCHAR(20), " // 07. Código Empresa
"coPuesto\tVARCHAR(20), " // 06. Puesto
"coclCode\tVARCHAR(20), " // 07. Código Empresa
"coclNom VARCHAR(100), " // 08. Nombre Empresa
"coTel VARCHAR(20), " // 09. Teléfono fijo
"coMovil VARCHAR(20), " // 10. Teléfono móvil
"coFax VARCHAR(20), " // 11. Fax
"coEMail VARCHAR(60)," // 12. e-mail
"coTel\tVARCHAR(20), " // 09. Teléfono fijo
"coMovil\tVARCHAR(20), " // 10. Teléfono móvil
"coFax\tVARCHAR(20), " // 11. Fax
"coEMail\tVARCHAR(60)," // 12. e-mail
"coImage BLOB," // 13. Imagen
"CREATEDAT DATE DEFAULT CURRENT_DATE, " // 25. Fecha de creación
@@ -559,9 +487,9 @@ const QString tTemplate = "CREATE TABLE TEMPLATE ("
");";
const QStringList dbTables = {tDBInfo, tEmpresaInfo, tThird, tElemento, tElemComp, tUnidad, tPropuestaVenta, tDataPropuestaVenta,
tDocVenta, tDataDocVenta, tDocCompra, tDataDocCompra, tContact, tTemplate};
tDocVenta, tDataDocVenta, tDocCompra, tDataDocCompra, tContact, tTemplate, tProjectDocument, tProjectBudget};
const QStringList dbTableNames = {"DBINFO", "ENTERPRISESINFO", "THIRD", "ELEMENT", "ELEMENTCOMPOSITION", "UNIT", "SALEPROPOSAL", "SALEPROPOSALDATA",
"SALEDOCUMENT", "SALEDOCUMENTDATA", "BUYDOCUMENT", "BUYDOCUMENTDATA", "CONTACT", "TEMPLATE"};
"SALEDOCUMENT", "SALEDOCUMENTDATA", "BUYDOCUMENT", "BUYDOCUMENTDATA", "CONTACT", "TEMPLATE", "PROJECTDOCUMENT", "PROJECTBUDGET"};
#endif // SQLTABLE_H
#endif // SQLTABLE_H