- aggiornamento cataloghi.

possibilità di estrapolare i dati da GM direttamente
- migrazione delle tabelle di GM in locale
- corretto l'ordinamento del Catalogo
This commit is contained in:
Surya Paolo
2025-04-18 13:23:59 +02:00
parent fba2ebd710
commit ad45ce60ee
13 changed files with 988 additions and 106 deletions

View File

@@ -993,7 +993,7 @@ router.post('/import', authenticate, async (req, res) => {
} else if (cmd === shared_consts.Cmd.MACRO_CATALOGO_JSON) {
try {
const macro = new Macro(idapp); // Crea un'istanza della classe Macro
const macro = new Macro(idapp, {importadaFDV: true}); // Crea un'istanza della classe Macro
const result = await macro.importaCatalogo(data); // Chiama il metodo importaCatalogo
return res.status(200).send(result);
} catch (e) {

View File

@@ -1,5 +1,5 @@
const express = require("express");
const { getArticlesSalesHandler, exportArticlesSalesByJSON, viewTable, saveTable, queryTable, updateAllBook } = require("../controllers/articleController");
const { getArticlesSalesHandler, exportArticlesSalesByJSON, viewTable, saveTable, queryTable, updateAllBookRoute, mssqlmigrateTables } = require("../controllers/articleController");
const { authenticate } = require("../middleware/authenticate");
const router = express.Router();
@@ -11,9 +11,9 @@ router.post("/export-articles-sales-json", authenticate, exportArticlesSalesByJS
router.post("/view-table", authenticate, viewTable);
router.post("/save-table", authenticate, saveTable);
router.post("/query", authenticate, queryTable);
router.post("/updateAllBook", authenticate, updateAllBook);
router.post("/updateAllBook", authenticate, updateAllBookRoute);
router.post("/mssqlmigrateTables", authenticate, mssqlmigrateTables);
module.exports = router;

View File

@@ -84,6 +84,8 @@ const Department = require('../models/department');
const { Category } = require('../models/category');
const Group = require('../models/group');
const T_WEB_StatiProdotto = require('../models/t_web_statiprodotto');
const tools = require('../tools/general');
const server_constants = require('../tools/server_constants');
@@ -1941,6 +1943,7 @@ async function load(req, res, version = '0') {
const socioresidente = req.user && req.user.profile ? req.user.profile.socioresidente : false;
// Costruzione dell'oggetto delle promesse
const promises = {
bookedevent: userId !== '0'
@@ -2016,6 +2019,7 @@ async function load(req, res, version = '0') {
collane: version >= 91 ? Collana.findAllIdApp(idapp) : Promise.resolve([]),
catalogs: version >= 91 ? Catalog.findAllIdApp(idapp) : Promise.resolve([]),
catprtotali: version >= 91 ? CatProd.getCatProdWithTitleCount(idapp) : Promise.resolve([]),
stati_prodotto: version >= 91 ? T_WEB_StatiProdotto.findAllIdApp() : Promise.resolve([]),
myuserextra: req.user
? User.addExtraInfo(idapp, req.user, version)
: Promise.resolve(null)
@@ -2128,7 +2132,8 @@ async function load(req, res, version = '0') {
myschedas: data.myschedas,
collane: data.collane,
catalogs: data.catalogs,
catprtotali: data.catprtotali
catprtotali: data.catprtotali,
stati_prodotto: data.stati_prodotto,
};
}

View File

@@ -1074,6 +1074,14 @@ async function eseguiDbOp(idapp, mydata, locale, req, res) {
await CatProd.deleteMany({ idapp });
await SubCatProd.deleteMany({ idapp });
} else if (mydata.dbop === 'updateAllBook') {
// chiama updateAllBook
const { updateAllBook } = require("../controllers/articleController");
mystr = await updateAllBook(req, null, mydata.options);
ris = { mystr };
} else if (mydata.dbop === 'creaUtentiTest') {
let num = 0;
@@ -1165,6 +1173,18 @@ async function eseguiDbOp(idapp, mydata, locale, req, res) {
}
ris = { mystr };
} else if (mydata.dbop === 'UpdateStatFatturato') {
mystr = await ProductInfo.updateProductInfoByStats(req.body.idapp);
ris = { mystr };
} else if (mydata.dbop === 'MigrateMSSQLToMongoDb') {
const { mssqlmigrateTables } = require("../controllers/articleController");
mystr = await mssqlmigrateTables(req);
ris = { mystr };
} else if (mydata.dbop === 'copyFrom1To14') {
const idapporig = 1;
const idappdest = 14;
@@ -1672,22 +1692,18 @@ router.post('/dbop', authenticate, async (req, res) => {
locale = req.body.locale;
if (!User.isAdmin(req.user.perm)) {
// If without permissions, exit
return res.status(404).
send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED, msg: '' });
return res.status(404).send({ code: server_constants.RIS_CODE_ERR_UNAUTHORIZED });
}
try {
let risOp = await eseguiDbOp(idapp, mydata, locale, req, res);
const risOp = await eseguiDbOp(idapp, mydata, locale, req, res);
// ris = await User.updateMyData(ris, idapp, req.user.username);
res.send({ code: server_constants.RIS_CODE_OK, data: risOp });
return res.send({ code: server_constants.RIS_CODE_OK, data: risOp });
} catch (e) {
res.status(400).send({ code: server_constants.RIS_CODE_ERR, msg: e });
console.log(e.message);
return res.status(400).send({ code: server_constants.RIS_CODE_ERR, msg: e.message });
}
});