upload po endpoint
This commit is contained in:
2484
adapter/poadapter.js
2484
adapter/poadapter.js
File diff suppressed because it is too large
Load Diff
@ -1249,3 +1249,44 @@ exports.submitpoadj = (req, res) => {
|
||||
poadapter.sendResponse(502, apireshandler, res);
|
||||
}
|
||||
};
|
||||
|
||||
exports.uploadPOSAP = (req, res) => {
|
||||
try {
|
||||
let status = req.body.status;
|
||||
let ext = req.body.filename.split(".")[1];
|
||||
let filename = req.body.filename + "_" + req.nik + "_" + Date.now() + "." + ext;
|
||||
|
||||
fs.rename(
|
||||
process.env.BASEPATH + "/assets/sap-po/" + req.body.filename,
|
||||
process.env.BASEPATH + "/assets/sap-po/" + filename,
|
||||
function (err) {
|
||||
if (err) {
|
||||
poadapter.sendResponse(500, err, res);
|
||||
} else {
|
||||
console.log('filename', filename)
|
||||
|
||||
poadapter.queryUpdatePoHeaderWithFile(req, filename, function (err, resdata) {
|
||||
console.log("err upload PO =>", err);
|
||||
let statusCode = resdata != null ? resdata.meta.code : 200;
|
||||
if (err) {
|
||||
statusCode = 500;
|
||||
poadapter.sendResponse(statusCode, data, res);
|
||||
} else {
|
||||
poadapter.queryUpdatePoNumber(req, "Success Bypass", function (err, data) {
|
||||
console.log("err queryUpdatePoNumber =>", err);
|
||||
|
||||
let statusCode = data != null ? data.meta.code : 200;
|
||||
if (err) statusCode = 500;
|
||||
poadapter.sendResponse(statusCode, data, res);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
);
|
||||
} catch (err) {
|
||||
apireshandler.meta.code = 502;
|
||||
apireshandler.meta.message = " [123] : PO controller, " + err.toString();
|
||||
poadapter.sendResponse(502, apireshandler, res);
|
||||
}
|
||||
};
|
||||
|
||||
74
middlewares/multer/singlepo.js
Normal file
74
middlewares/multer/singlepo.js
Normal file
@ -0,0 +1,74 @@
|
||||
const multer = require('multer');
|
||||
|
||||
const path = require('path');
|
||||
var imageStorage = multer.diskStorage({
|
||||
// Destination to store image
|
||||
// destination: 'assets/images/'+pathDir,
|
||||
destination: (req, file, cb) => {
|
||||
// console.log(req.get("path"));
|
||||
// let pathdir = req.get("path");
|
||||
cb(null, "assets/sap-po/")
|
||||
// cb(null, "assets/words/" + pathdir + "/")
|
||||
},
|
||||
filename : (req, file, cb) => {
|
||||
// let filename=file.originalname.split(".")[0];
|
||||
let nik = req.nik;
|
||||
let filedoc = 'sap_po_'+nik+'_' + Date.now() + path.extname(file.originalname);
|
||||
// req.body.filedoc = filedoc;
|
||||
// cb(null, filedoc);
|
||||
req.body.filename = filedoc;
|
||||
cb(null, filedoc);
|
||||
// file.fieldname is name of the field (image)
|
||||
// path.extname get the uploaded file extension
|
||||
}
|
||||
});
|
||||
var imageUpload = multer({
|
||||
storage: imageStorage,
|
||||
limits: {
|
||||
fileSize: '25mb' // 1000000 Bytes = 5 MB
|
||||
},
|
||||
fileFilter(req, file, cb) {
|
||||
if (!file.originalname.match(/\.(docx|pdf|PDF)$/)) {
|
||||
// if (!file.originalname.match(/\.(docx)$/)) {
|
||||
// upload only png and jpg format
|
||||
req.fileValidationError = "Please upload a word document in ( docx ) / pdf file max 25 mb";
|
||||
cb(new Error('Please upload a word document in ( docx ) / pdf file max 25 mb'), false);
|
||||
}
|
||||
else{
|
||||
cb(null, true);
|
||||
}
|
||||
}
|
||||
}).single("file-doc");
|
||||
module.exports = (req, res, next) => {
|
||||
try {
|
||||
imageUpload(req,res, function(err){
|
||||
try {
|
||||
|
||||
// if (err || err instanceof multer.MulterError){
|
||||
if (err){
|
||||
|
||||
res.status(500).send({
|
||||
"meta":{
|
||||
"auth": false,
|
||||
"code" : 500,
|
||||
"message" : req.fileValidationError || err.toString(),
|
||||
},
|
||||
"data" :[]
|
||||
});
|
||||
} else {
|
||||
next();
|
||||
// console.log('The filename is ' + res.req.file.filename);
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.log("error "+error);
|
||||
}
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.log("error " + error);
|
||||
error.message = error.message;
|
||||
error.statusCode = 500;
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
@ -4,6 +4,9 @@ const pocontroller = require('../controllers/po');
|
||||
const jwtauth = require('../middlewares/auth.js');
|
||||
const uploadfile = require('../middlewares/multer/po-doc.js');
|
||||
const uploadfileBoq = require('../middlewares/multer/poboq-csv.js');
|
||||
|
||||
const uploadfilePO = require('../middlewares/multer/singlepo.js');
|
||||
|
||||
const router=express.Router();
|
||||
|
||||
router.get('/getlistvendor',[jwtauth], pocontroller.getListVendor);
|
||||
@ -31,6 +34,8 @@ router.post('/releaseposap',[jwtauth], pocontroller.releasePOSAP);
|
||||
router.post('/unreleaseposap',[jwtauth], pocontroller.unreleasePOSAP);
|
||||
router.post('/createheaderposap',[jwtauth], pocontroller.createHeaderPOSAP);
|
||||
|
||||
// === Upload PO SAP
|
||||
router.post('/uploadpo',[jwtauth, uploadfilePO], pocontroller.uploadPOSAP);
|
||||
|
||||
// === PO Adjustment
|
||||
router.post('/newpoadj',[jwtauth, uploadfile], pocontroller.newpoadjustment);
|
||||
|
||||
Reference in New Issue
Block a user