This commit is contained in:
2026-03-05 15:40:16 -05:00
parent fd81f1eaf7
commit 6cd24aba7f
18 changed files with 489 additions and 37 deletions

View File

@@ -171,6 +171,7 @@ exports.createPDFFromSheetTemplateName = (req, res) => {
const eventIds = inputData?.eventIds;
console.log('eventIds',eventIds);
var excelTemplateName = req.query.excelTemplateName;
const site = splitSite.findSiteNumber(req);
console.log('template', excelTemplateName);
Event.find({ '_id': { $in: eventIds } }).then((events) => {
@@ -233,10 +234,13 @@ exports.createPDFFromSheetTemplateName = (req, res) => {
// var transportationId = req.body.transportationId;d
// var transportationName = req.body.transportationName;
ExcelTemplate.find({name: excelTemplateName}).then((data) => {
ExcelTemplate.findOne({
name: excelTemplateName,
site,
"file.0": { $exists: true }
}).sort({ edit_date: -1, updatedAt: -1, createdAt: -1 }).then((excelTemplate) => {
try {
if (data && data.length > 0) {
var excelTemplate = data[0] || {};
if (excelTemplate) {
var templateExcel = `${__dirname.replace('/controllers', '')}${excelTemplate?.file[0]?.url}`;
var outputFileRandom = Math.ceil(Math.random() * 100000000);
var outputFile = `/tmp/${excelTemplate.name}_${outputFileRandom}.xlsx`;
@@ -265,6 +269,10 @@ exports.createPDFFromSheetTemplateName = (req, res) => {
libre.convert(infile, extend, undefined, (err, done) => {
if (err) {
console.log('Error converting file:', err);
return res.status(500).send({
success: false,
message: "Error converting sheet file to PDF"
});
}
// Here in done you have pdf file which you can save or transfer in another stream
fs.writeFileSync(outputPdfPath, done);
@@ -272,21 +280,33 @@ exports.createPDFFromSheetTemplateName = (req, res) => {
res.download(outputPdfPath, function(error) {
if (error) {
console.log('Error in sending download file ${outputPdfPath}');
return res.status(500).send({
success: false,
message: "Error downloading generated PDF"
});
}
});
});
} catch (e) {
console.log(e);
return res.status(500).send({
success: false,
message: "Error generating PDF from sheet template"
});
}
} else {
res.status(404).send({
success: false,
message: "Sheet Template doesn't exist"
message: "Sheet Template doesn't exist for this site, or file not uploaded yet"
})
}
} catch(e) {
console.log(e);
return res.status(500).send({
success: false,
message: "Error processing sheet template"
});
}
}).catch(err => {
res.status(500).send({
@@ -306,6 +326,7 @@ exports.createSheetFromTemplateName = (req, res) => {
var inputData = JSON.parse(req.query.inputData);
const eventIds = inputData?.eventIds;
var excelTemplateName = req.query.excelTemplateName;
const site = splitSite.findSiteNumber(req);
Event.find({ '_id': { $in: eventIds } }).then((events) => {
Resource.find({}).then((resources) => {
@@ -362,10 +383,13 @@ exports.createSheetFromTemplateName = (req, res) => {
}
// var transportationId = req.body.transportationId;d
// var transportationName = req.body.transportationName;
ExcelTemplate.find({name: excelTemplateName}).then((data) => {
ExcelTemplate.findOne({
name: excelTemplateName,
site,
"file.0": { $exists: true }
}).sort({ edit_date: -1, updatedAt: -1, createdAt: -1 }).then((excelTemplate) => {
try {
if (data && data.length > 0) {
var excelTemplate = data[0] || {};
if (excelTemplate) {
var templateExcel = `${__dirname.replace('/controllers', '')}${excelTemplate?.file[0]?.url}`;
var outputFileRandom = Math.ceil(Math.random() * 100000000);
var outputFile = `/tmp/${excelTemplate.name}_${outputFileRandom}.xlsx`;
@@ -387,17 +411,25 @@ exports.createSheetFromTemplateName = (req, res) => {
res.download(outputFile, (error) => {
if (error) {
console.log('Error in downloading excel')
return res.status(500).send({
success: false,
message: "Error downloading generated sheet file"
});
}
})
console.log('Download finish');
} else {
res.status(404).send({
success: false,
message: "Sheet Template doesn't exist"
message: "Sheet Template doesn't exist for this site, or file not uploaded yet"
})
}
} catch(e) {
console.log(e);
return res.status(500).send({
success: false,
message: "Error processing sheet template"
});
}
}).catch(err => {
res.status(500).send({