Files
FBSAdminTool/server.js

161 lines
4.1 KiB
JavaScript
Raw Normal View History

2021-07-20 22:11:32 +05:30
var express = require('express');
var app = express();
var multer = require('multer')
var cors = require('cors');
2021-08-23 13:28:23 +05:30
var bodyParser = require("body-parser");
2021-09-12 16:58:29 +05:30
var https = require('https')
2021-09-13 13:22:26 +05:30
const util = require('util');
2021-08-23 13:28:23 +05:30
const fs = require('fs');
2021-07-20 22:11:32 +05:30
2021-07-21 21:48:06 +05:30
var corsOptions = {
"origin": "*",
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
"preflightContinue": false,
"optionsSuccessStatus": 204
}
2021-08-23 13:28:23 +05:30
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
2021-07-21 21:48:06 +05:30
app.use(cors(corsOptions));
2021-07-21 13:36:10 +05:30
2021-09-14 19:33:23 +05:30
function callLoadInitializeData(req, res, resdata){
_email = req.query.email;
let url = `https://natnats.mobilous.com/loadInitializeData?projectid=23&construction_id=${resdata.construction_id}&username=${_email}&sheetname=${resdata.file_type}&filename=${resdata.file_name}`
console.log(url);
https.get(url, (resp) => {
2021-09-13 12:46:52 +05:30
let data = '';
2021-09-12 16:55:36 +05:30
2021-09-13 12:46:52 +05:30
// A chunk of data has been received.
resp.on('data', (chunk) => {
data += chunk;
});
2021-09-12 16:55:36 +05:30
2021-09-13 12:46:52 +05:30
// The whole response has been received. Print out the result.
resp.on('end', () => {
if(data !== 'no match'){
2021-09-21 13:39:14 +05:30
data = {
"status": "INSERT ERROR",
"detail": {
"sheetname": "ini_データ入力シート",
"construction_id": "5"
}
}
2021-09-21 13:23:50 +05:30
resdata = JSON.parse(data);
2021-09-21 13:39:14 +05:30
console.log(resdata.status);
if(resdata.status=="complete"){
res.status(200).send('OK');
}else if(resdata.status=="INSERT ERROR"){
res.status(500).json("insert error");
}
2021-09-13 12:46:52 +05:30
}
});
2021-09-12 16:55:36 +05:30
2021-09-13 12:46:52 +05:30
}).on("error", (err) => {
console.log("Error: " + err.message);
});
}
2021-09-14 19:33:23 +05:30
function callInitFileMover(req, res) {
2021-09-13 12:46:52 +05:30
https.get('https://natnats.mobilous.com/iniFileMover', (resp) => {
let data = '';
// A chunk of data has been received.
resp.on('data', (chunk) => {
2021-09-13 13:14:22 +05:30
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
2021-09-13 12:46:52 +05:30
//debug
2021-09-14 21:09:54 +05:30
// data = `{
// "construction_id": 3,
// "file_name": "ini_データ入力シート.xlsx",
// "file_type": "dataSheet"
// }`
2021-09-13 12:46:52 +05:30
if(data !== 'no match'){
resdata = JSON.parse(data);
console.log(resdata);
2021-09-14 21:00:15 +05:30
callLoadInitializeData(req, res, resdata);
2021-09-13 12:46:52 +05:30
}
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
2021-09-12 16:55:36 +05:30
2021-09-12 16:41:25 +05:30
}
2021-09-11 19:39:44 +05:30
2021-07-21 13:37:52 +05:30
var storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, '/var/www/html/FBS')
},
filename: function(req, file, cb) {
2021-09-07 11:29:09 +05:30
cb(null, file.originalname)
2021-07-21 13:37:52 +05:30
}
})
2021-07-21 13:36:10 +05:30
2021-07-20 22:11:32 +05:30
var upload = multer({ storage: storage }).single('file')
2021-07-21 21:05:07 +05:30
app.post('/upload', function(req, res, next) {
2021-07-20 22:11:32 +05:30
2021-09-13 18:34:39 +05:30
console.log('email is ' + req.query.email);
2021-09-14 19:33:23 +05:30
upload(req, res, function(err) {
if (err instanceof multer.MulterError) {
return res.status(500).json(err)
} else if (err) {
return res.status(500).json(err)
}
else {
2021-09-14 21:11:40 +05:30
var FileName = req.file.filename;
2021-09-14 19:33:23 +05:30
callInitFileMover(req, res);
2021-09-21 12:52:34 +05:30
//res.status(200).send(FileName);
2021-09-14 19:33:23 +05:30
}
//return res.status(200).send(req.file)
})
2021-07-20 22:11:32 +05:30
});
2021-08-23 13:28:23 +05:30
const converter = require('json-2-csv');
app.post('/csv', (req, res, next) => {
const csv = req;
userData = req.body;
converter.json2csv(userData, (err, csv) => {
if (err) {
throw err;
}
writetoFile(csv);
// print CSV string
console.log(csv);
});
res.send("OK");
});
function writetoFile(csv) {
2021-08-24 13:29:02 +05:30
fs.writeFile('/var/www/html/appexe/natnats/23/bin/mobileweb2/resources/database/user_record.csv', csv, err => {
2021-08-23 13:28:23 +05:30
if (err) {
console.error(err)
return
}
})
}
2021-07-20 22:11:32 +05:30
app.listen(8000, function() {
console.log('App running on port 8000');
2021-08-23 13:28:23 +05:30
});