From 423ff7e48bd65bd3a03702d2468da339b8513833 Mon Sep 17 00:00:00 2001 From: "selina.mail" Date: Mon, 1 Apr 2024 18:37:15 +0200 Subject: [PATCH] implemented poi and mvi --- backend/controller/maintenanceVisitTodos.js | 25 + backend/controller/maintenanceVisits.js | 6 +- backend/controller/productionOrderTodos.js | 13 + backend/models/maintenanceVisitsModel.js | 7 +- backend/models/maintenanceVisitsTodosModel.js | 30 ++ backend/models/productionOrdersModel.js | 3 +- backend/models/productionOrdersTodosModel.js | 19 +- backend/routes/routes.js | 18 +- components/TemplateSearch.vue | 43 +- components/server/Asset.vue | 11 +- components/server/InstanceChecklist.vue | 304 ++++++++++- components/server/InstanceChecklistMVI.vue | 504 ++++++++++++++++++ components/server/Issue.vue | 34 +- components/server/IssueTable.vue | 35 +- .../server/MaintenanceVisitsInstance.vue | 441 ++++++++++++++- .../server/MaintenanceVisitsInstanceTable.vue | 39 +- .../server/ProductionOrdersInstance.vue | 346 ++++++------ .../server/ProductionOrdersInstanceTable.vue | 54 +- layouts/Actionbar.vue | 16 + layouts/Navigationbar.vue | 4 +- pages/maintenanceVisits.vue | 2 +- plugins/vuex.js | 126 +++++ server/api/addMVI.ts | 23 + server/api/addTodoMVI.ts | 22 + server/api/addTodoPOI.ts | 22 + .../deleteMaintenanceVisitInstance/[id].ts | 23 + server/api/deleteTodosMVI/[id].ts | 23 + .../api/getMaintenanceVisitInstance/[id].ts | 23 + .../getTodosMaintenanceVisitInstance/[id].ts | 23 + .../getTodosProductionOrderInstance/[id].ts | 23 + server/api/updateMVITodo.ts | 14 + server/api/updateMaintenanceVisitInstance.ts | 14 + server/api/updatePOITodo.ts | 14 + .../middleware/maintenanceVisitInstances.ts | 74 +-- server/middleware/productionOrders.ts | 230 +++----- 35 files changed, 2111 insertions(+), 497 deletions(-) create mode 100644 components/server/InstanceChecklistMVI.vue create mode 100644 server/api/addMVI.ts create mode 100644 server/api/addTodoMVI.ts create mode 100644 server/api/addTodoPOI.ts create mode 100644 server/api/deleteMaintenanceVisitInstance/[id].ts create mode 100644 server/api/deleteTodosMVI/[id].ts create mode 100644 server/api/getMaintenanceVisitInstance/[id].ts create mode 100644 server/api/getTodosMaintenanceVisitInstance/[id].ts create mode 100644 server/api/getTodosProductionOrderInstance/[id].ts create mode 100644 server/api/updateMVITodo.ts create mode 100644 server/api/updateMaintenanceVisitInstance.ts create mode 100644 server/api/updatePOITodo.ts diff --git a/backend/controller/maintenanceVisitTodos.js b/backend/controller/maintenanceVisitTodos.js index 707348a..6eb6f94 100644 --- a/backend/controller/maintenanceVisitTodos.js +++ b/backend/controller/maintenanceVisitTodos.js @@ -5,6 +5,8 @@ import { getMaintenanceVisitTodosByAsset, updateMaintenanceVisitTodoById, deleteMaintenanceVisitTodosByPrimaryID, + deleteMaintenanceVisitTodosByTemplateID, + getMaintenanceVisitTodosByTemplate, } from "../models/maintenanceVisitsTodosModel.js"; //create new maintenance visit todo @@ -41,6 +43,17 @@ export const showMaintenanceVisitTodosByAsset = (req, res) => { }); }; +//get maintenance visit todos by assetname +export const showMaintenanceVisitTodosByTemplateId = (req, res) => { + getMaintenanceVisitTodosByTemplate(req.params.id, (err, results) => { + if (err) { + res.send(err); + } else { + res.json(results); + } + }); +}; + // Update maintenance visit todo export const updateMaintenanceVisitTodo = (req, res) => { const data = req.body; @@ -63,4 +76,16 @@ export const deleteMaintenanceVisitTodos = (req, res) => { res.json(results); } }); +}; + +// Delete maintenance visit todos by template id +export const deleteMaintenanceVisitTodosBytemplateId = (req, res) => { + const id = req.params.id; + deleteMaintenanceVisitTodosByTemplateID(id, (err, results) => { + if (err) { + res.send(err); + } else { + res.json(results); + } + }); }; \ No newline at end of file diff --git a/backend/controller/maintenanceVisits.js b/backend/controller/maintenanceVisits.js index e8d9d27..5344d32 100644 --- a/backend/controller/maintenanceVisits.js +++ b/backend/controller/maintenanceVisits.js @@ -9,7 +9,7 @@ import { insertMaintenanceVisit, getMaintenanceVisitByName, getMaintenanceVisitById, - updateMaintenanceVisitStateById, + updateMaintenanceVisitById, getSelectedMaintenanceVisitsByUser, getSelectedMaintenanceVisitsByTemplate, } from "../models/maintenanceVisitsModel.js"; @@ -138,9 +138,9 @@ export const showMaintenanceVisitById = (req, res) => { }; // Update maintenance visit -export const updateMaintenanceVisitState = (req, res) => { +export const updateMaintenanceVisit = (req, res) => { const data = req.body; - updateMaintenanceVisitStateById(data, (err, results) => { + updateMaintenanceVisitById(data, (err, results) => { if (err) { res.send(err); } else { diff --git a/backend/controller/productionOrderTodos.js b/backend/controller/productionOrderTodos.js index 3dc758c..950360a 100644 --- a/backend/controller/productionOrderTodos.js +++ b/backend/controller/productionOrderTodos.js @@ -5,6 +5,7 @@ import { getProductionOrderTodosByAsset, updateProductionOrderTodoById, deleteProductionOrderTodosChecklistID, + getProductionOrderTodosByTemplate, } from "../models/productionOrdersTodosModel.js"; //create new production order todo @@ -41,6 +42,18 @@ export const showProductionOrderTodosByAsset = (req, res) => { }); }; + +//get production order todos by template +export const showProductionOrderTodosByTemplate = (req, res) => { + getProductionOrderTodosByTemplate(req.params.id, (err, results) => { + if (err) { + res.send(err); + } else { + res.json(results); + } + }); +}; + // Update production order todo export const updateProductionOrderTodo = (req, res) => { const data = req.body; diff --git a/backend/models/maintenanceVisitsModel.js b/backend/models/maintenanceVisitsModel.js index 682e1cf..cea93f5 100644 --- a/backend/models/maintenanceVisitsModel.js +++ b/backend/models/maintenanceVisitsModel.js @@ -103,6 +103,7 @@ export const deleteMaintenanceVisitById = async (id, result) => { try { let sql = `DELETE FROM maintenancevisits WHERE primaryID = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -155,11 +156,11 @@ export const getMaintenanceVisitById = async (id, result) => { }; // Update maintenance visit state to Database -export const updateMaintenanceVisitStateById = async (data, result) => { +export const updateMaintenanceVisitById = async (data, result) => { try { const id = data.primaryID; - let sql = `UPDATE maintenancevisits SET state = ? WHERE primaryID = ?`; - const results = await ownConn.query(sql, [data.state, id]) + let sql = `UPDATE maintenancevisits SET primaryID = ?, name = ?, templateID = ?, maintenanceType = ?, state = ?, creationDate = ?, completionDate = ?, user = ?, customer = ?, customerID = ?, templateNotes = ?, type = ?, timeSpent = ?, notes = ? WHERE primaryID = ?`; + const results = await ownConn.query(sql, [data.primaryID, data.name, data.templateID, data.maintenanceType, data.state, data.creationDate, data.completionDate, data.user, data.customer, data.customerID, data.templateNotes, data.type, data.timeSpent, data.notes, id]) results.insertId = results.insertId.toString(); result(null, results); } diff --git a/backend/models/maintenanceVisitsTodosModel.js b/backend/models/maintenanceVisitsTodosModel.js index 1c81333..2b27975 100644 --- a/backend/models/maintenanceVisitsTodosModel.js +++ b/backend/models/maintenanceVisitsTodosModel.js @@ -42,6 +42,20 @@ export const getMaintenanceVisitTodosByAsset = async (id, result) => { } }; +//get maintenance visit todo by template +export const getMaintenanceVisitTodosByTemplate = async (id, result) => { + try { + let sql = `SELECT * FROM maintenancevisittodos WHERE templateID = ? ORDER BY primaryID ASC`; + const results = await ownConn.execute(sql, [id]) + result(null, results); + } + catch (err) { + // Manage Errors + console.log("SQL error : ", err); + result(err, null); + } +}; + // Update maintenance visit todo to Database export const updateMaintenanceVisitTodoById = async (data, result) => { try { @@ -63,6 +77,22 @@ export const deleteMaintenanceVisitTodosByPrimaryID = async (id, result) => { try { let sql = `DELETE FROM maintenancevisittodos WHERE primaryID = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); + result(null, results); + } + catch (err) { + // Manage Errors + console.log("SQL error : ", err); + result(err, null); + } +}; + +// Delete maintenance visit todos by template to Database +export const deleteMaintenanceVisitTodosByTemplateID = async (id, result) => { + try { + let sql = `DELETE FROM maintenancevisittodos WHERE templateID = ?`; + const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { diff --git a/backend/models/productionOrdersModel.js b/backend/models/productionOrdersModel.js index 8daebfa..d19194d 100644 --- a/backend/models/productionOrdersModel.js +++ b/backend/models/productionOrdersModel.js @@ -3,7 +3,7 @@ import ownConn from "../dbConfig.js"; //get all production orders export const getProductionOrders = async (result) => { try { - let sql = `SELECT * FROM productionorders ORDER BY name ASC`; + let sql = `SELECT * FROM productionorders ORDER BY ticketNumber ASC`; const results = await ownConn.execute(sql) result(null, results); } @@ -117,6 +117,7 @@ export const deleteProductionOrderById = async (id, result) => { try { let sql = `DELETE FROM productionorders WHERE ticketNumber = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { diff --git a/backend/models/productionOrdersTodosModel.js b/backend/models/productionOrdersTodosModel.js index 790bc5c..faa4be1 100644 --- a/backend/models/productionOrdersTodosModel.js +++ b/backend/models/productionOrdersTodosModel.js @@ -4,6 +4,7 @@ import ownConn from "../dbConfig.js"; export const insertProductionOrderTodo = async (data, result) => { try { const results = await ownConn.query(`INSERT INTO productionordertodos(templateID, step, asset, task, comment, done) VALUES(?, ?, ?, ?, ?, ?)`, [data.templateID, data.step, data.asset, data.task, data.comment, data.done]); + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -27,7 +28,7 @@ export const getProductionOrderTodosById = async (id, result) => { } }; -//get single production order todo by asset +//get production order todo by asset export const getProductionOrderTodosByAsset = async (id, result) => { try { let sql = `SELECT * FROM productionordertodos WHERE asset = ? ORDER BY primaryID ASC`; @@ -41,12 +42,27 @@ export const getProductionOrderTodosByAsset = async (id, result) => { } }; +//get production order todo by template +export const getProductionOrderTodosByTemplate = async (id, result) => { + try { + let sql = `SELECT * FROM productionordertodos WHERE templateID = ? ORDER BY primaryID ASC`; + const results = await ownConn.execute(sql, [id]) + result(null, results); + } + catch (err) { + // Manage Errors + console.log("SQL error : ", err); + result(err, null); + } +}; + // Update production order todo to Database export const updateProductionOrderTodoById = async (data, result) => { try { const id = data.primaryID; let sql = `UPDATE productionordertodos SET step = ?, asset = ?, task = ?, comment = ?, done = ? WHERE primaryID = ?`; const results = await ownConn.query(sql, [data.step, data.asset, data.task, data.comment, data.done, id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { @@ -61,6 +77,7 @@ export const deleteProductionOrderTodosChecklistID = async (id, result) => { try { let sql = `DELETE FROM productionordertodos WHERE templateID = ?`; const results = await ownConn.query(sql, [id]) + results.insertId = results.insertId.toString(); result(null, results); } catch (err) { diff --git a/backend/routes/routes.js b/backend/routes/routes.js index c6b2d77..e180fb2 100644 --- a/backend/routes/routes.js +++ b/backend/routes/routes.js @@ -25,7 +25,7 @@ import { createMaintenanceVisit, showMaintenanceVisitByName, showMaintenanceVisitById, - updateMaintenanceVisitState, + updateMaintenanceVisit, } from "../controller/maintenanceVisits.js" import { @@ -34,6 +34,8 @@ import { showMaintenanceVisitTodosByAsset, updateMaintenanceVisitTodo, deleteMaintenanceVisitTodos, + deleteMaintenanceVisitTodosBytemplateId, + showMaintenanceVisitTodosByTemplateId, } from "../controller/maintenanceVisitTodos.js" import { @@ -75,6 +77,7 @@ import { createProductionOrderTodos, showProductionOrderTodosById, showProductionOrderTodosByAsset, + showProductionOrderTodosByTemplate, updateProductionOrderTodo, deleteProductionOrderTodos, } from "../controller/productionOrderTodos.js"; @@ -448,6 +451,9 @@ router.get("/productionOrderTodos/:id", showProductionOrderTodosById); //get all production order todos by assetname router.get("/productionOrderTodosByAsset/:id", showProductionOrderTodosByAsset); +//get all production order todos by template id +router.get("/productionOrderTodosByTemplateID/:id", showProductionOrderTodosByTemplate); + // Update production order todo router.put("/productionOrderTodos", updateProductionOrderTodo); @@ -490,8 +496,8 @@ router.get("/maintenanceVisitByName/:id", showMaintenanceVisitByName); //get single maintenance visit by primaryId router.get("/maintenanceVisit/:id", showMaintenanceVisitById); -// Update maintenance visit state -router.put("/maintenanceVisitState", updateMaintenanceVisitState); +// Update maintenance visit +router.put("/maintenanceVisit", updateMaintenanceVisit); @@ -505,12 +511,18 @@ router.get("/maintenanceVisitTodos/:id", showMaintenanceVisitTodosById); //get all maintenance visit todos by assetname router.get("/maintenanceVisitTodosByAsset/:id", showMaintenanceVisitTodosByAsset); +//get all maintenance visit todos by template id +router.get("/maintenanceVisitTodosByTemplateId/:id", showMaintenanceVisitTodosByTemplateId); + // Update maintenance visit todo router.put("/maintenanceVisitTodos", updateMaintenanceVisitTodo); // Delete maintenance visit todos router.delete("/maintenanceVisitTodos/:id", deleteMaintenanceVisitTodos); +// Delete maintenance visit todos by template id +router.delete("/maintenanceVisitTodosByTemplateID/:id", deleteMaintenanceVisitTodosBytemplateId); + // routes with issue slips: diff --git a/components/TemplateSearch.vue b/components/TemplateSearch.vue index 96ada2e..96452c7 100644 --- a/components/TemplateSearch.vue +++ b/components/TemplateSearch.vue @@ -1,5 +1,5 @@