.then((server) => {
            const apiVersion = '1.0.0';

            var Router = require('restify-router').Router;
            var router = new Router();
            var resultFormatter = require("../src/result-formatter");
            var passport = require('../src/passports/local-passport');

            router.post('/', passport, (request, response, next) => {
                var account = request.user;

                var jwt = require("jsonwebtoken");
                var token = jwt.sign({
                    username: account.username,
                    profile: account.profile,
                    roles: account.roles
                }, process.env.AUTH_SECRET);

                var result = resultFormatter.ok(apiVersion, 200, token);
                response.send(200, result);
            });

            router.applyRoutes(server, "/authenticate");
            server.listen(process.env.PORT, process.env.IP);
            console.log(`server created at ${process.env.IP}:${process.env.PORT}`);

            done();
        });
function getRouter() {
    var router = new Router();
    router.get("/", passport, function(request, response, next) {
        db.get().then(db => {
                var manager = new ProductManager(db, request.user);
                var sorting = {
                    "_updatedDate": -1
                };
               var orderId = request.queryInfo.filter;
                var keyword = request.queryInfo.keyword;
                manager.getProductByProductionOrder(orderId)
                    .then(docs => {
                        var result = resultFormatter.ok(apiVersion, 200, docs.data);
                        delete docs.data;
                        result.info = docs;
                        response.send(200, result);
                    })
                    .catch(e => {
                        response.send(500, "Failed to fetch data.");
                    });
            })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
                response.send(400, error);
            });
    });
    return router;
}
function getRouter() {

    var defaultOrder = {
        "_id.date": 1
    };

    var getManager = (user) => {
        return db.get()
            .then((db) => {
                return Promise.resolve(new DailyOperationManager(db, user));
            });
    };

    var router = new Router();

    router.get("/", passport, function (request, response, next) {
        var user = request.user;
        var query = request.query;

        query.order = Object.assign({}, query.order, typeof defaultOrder === "function" ? defaultOrder(request, response, next) : defaultOrder, query.order);


        var dailyOperationManager = {};
        getManager(user)
            .then((manager) => {
                dailyOperationManager = manager;
                return dailyOperationManager.getDailyMachine(query, request.timezoneOffset);
            })
            .then(docs => {
                var result = resultFormatter.ok(apiVersion, 200, docs);
                // delete docs.data;
                result.info = docs.info;
                result.summary = docs.summary;
                // response.send(200, result);
                return Promise.resolve(result);
            })
            .then((result) => {
                if ((request.headers.accept || '').toString().indexOf("application/xls") < 0) {
                    response.send(result.statusCode, result);
                }
                else {
                    dailyOperationManager.getXlsDailyMachine(result, query, request.timezoneOffset)
                        .then(xls => {
                            response.xls(xls.name, xls.data, xls.options)
                        });
                }
            })
            .catch((e) => {
                var statusCode = 500;
                if (e.name === "ValidationError")
                    statusCode = 400;
                var error = resultFormatter.fail(apiVersion, statusCode, e);
                response.send(statusCode, error);
            });
    });
    return router;
}
function getRouter() {
    const router = new Router();

    router.get("/", passport, (request, response, next) => {
        db.get().then((db) => {
            const manager = new OrderStatusHistory(db, request.user);
            let salesContracts = request.queryInfo.salesContracts;

            manager.read(salesContracts)
                .then((docs) => {
                    var result = resultFormatter.ok(apiVersion, 200, docs);
                    result.info = docs;
                    response.send(200, result);
                })
                .catch(e => {
                    var result = resultFormatter.ok(apiVersion, 200, e);
                    result.info = e;
                    response.send(200, result);
                });
        })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
                response.send(400, error);
            });
    });

    router.post("/", passport, (request, response, next) => {
        const user = request.user;
        const data = request.body;

        db.get()
            .then((db) => {
                const manager = new OrderStatusHistory(db, request.user);
                manager.create(data)
                    .then((docId) => {
                        response.header("Location", `${request.url}/${docId.toString()}`);
                        var result = resultFormatter.ok(apiVersion, 201);
                        return Promise.resolve(result);
                    })
                    .then((result) => {
                        response.send(result.statusCode, result);
                    })
                    .catch((e) => {
                        var statusCode = 500;
                        if (e.name === "ValidationError")
                            statusCode = 400;
                        var error = resultFormatter.fail(apiVersion, statusCode, e);
                        response.send(statusCode, error);
                    });
            });
    });

    return router;
}
function getRouter() {

    var defaultOrder = {
        "_updatedDate": -1
    };

    var getManager = (user) => {
        return db.get()
            .then((db) => {
                return Promise.resolve(new PackingManager(db, user));
            });
    };

    var router = new Router();

    router.get("/", passport, function (request, response, next) {
        var user = request.user;
        var query = request.query;
        query.order = Object.assign({}, defaultOrder, query.order);
        query.offset = request.timezoneOffset;

        var packingManager = {};
        getManager(user)
            .then((manager) => {
                packingManager = manager;
                return packingManager.getPackingReport(query);
            })
            .then(docs => {
                var result = resultFormatter.ok(apiVersion, 200, docs.data);
                delete docs.data;
                result.info = docs;
                return Promise.resolve(result);
            })
            .then((result) => {
                if ((request.headers.accept || '').toString().indexOf("application/xls") < 0) {
                    response.send(result.statusCode, result);
                }
                else {
                    packingManager.getXls(result, query)
                        .then(xls => {
                            response.xls(xls.name, xls.data, xls.options)
                        });
                }
            })
            .catch((e) => {
                var statusCode = 500;
                if (e.name === "ValidationError")
                    statusCode = 400;
                var error = resultFormatter.fail(apiVersion, statusCode, e);
                response.send(statusCode, error);
            });
    });
    return router;
}
function getRouter() {
    var router = new Router();
    router.get('/', (request, response, next) => {
        powerbiClient.reports.getReports(config.workspaceCollection, config.workspaceId, (err, res) => {
            if (err) {
                var error = resultFormatter.fail(apiVersion, 500, err);
                response.send(500, error);
                return;
            }
            var result = resultFormatter.ok(apiVersion, 200, res.value);
            response.send(200, result);
        });
    });

    router.get('/:id', (request, response, next) => {
        powerbiClient.reports.getReports(config.workspaceCollection, config.workspaceId, (err, res) => {
            if (err) {
                var error = resultFormatter.fail(apiVersion, 500, err);
                response.send(500, error);
                return;
            }
            var reportID = request.params.id; // from URI 
            var reports = res.value; // get reports from API's response above
            var filteredReports = reports.filter(report => report.id === reportID); // filter out to get only specific report

            if (filteredReports.length !== 1) {
                var error = resultFormatter.fail(apiVersion, 500, new Error(`Report with ID: ${reportID} is not found.`));
                response.send(404, error);
                return;
            }

            var report = filteredReports[0]; // here, we already found the requested report.
            // we need to generate a token for embed purpose. This is bound to a single report ID.
            var embedToken = powerbi.PowerBIToken.createReportEmbedToken(config.workspaceCollection, config.workspaceId, report.id);
            // and then we need to generate an access token from the embed token. This is to obtain necessary access credentials.
            var accessToken = embedToken.generate(config.accessKey);
            var embedConfig = Object.assign({
                type: 'report',
                accessToken
            }, report);

            var result = resultFormatter.ok(apiVersion, 200, embedConfig);
            response.send(200, result);
        });
    });
    return router;

}
Example #7
0
module.exports = function(common) {
	var count=0;

    // add a route like you would on a restify server instance
    routerInstance.get('/', function respond(req, res, next) {
		console.log("request "+count++);
	    bookService.getName(function(name) {
            res.json(name);
        })
    });
    routerInstance.get('/test', function respond(req, res, next) {
        res.json(common.commonService.toUpper('test'));
    });

    return routerInstance;
}
function getRouter(){
    var router = new Router();
    router.post('/', passport, (request, response, next) => {
        db.get().then(db => {
            var manager = new PurchaseOrderManager(db, request.user);

            var data = request.body;

            manager.split(data)
                .then(docId => {
                    response.header('Location', `${request.url}/${docId.toString()}`);
                    var result = resultFormatter.ok(apiVersion, 201);
                    response.send(201, result);
                })
                .catch(e => {
                    var error = resultFormatter.fail(apiVersion, 400, e);
                    response.send(400, error);
                });

        });
    });
    return router;
 }
function getRouter() {
    var router = new Router();
    router.put('/:id', passport, (request, response, next) => {
        db.get().then(db => {
            var manager = new Manager(db, request.user);

            var id = request.params.id;

            manager.unpost(id)
                .then(docId => {
                    response.header('Location', `${docId.toString()}`);
                    var result = resultFormatter.ok(apiVersion, 201);
                    response.send(201, result);
                })
                .catch(e => {
                    var error = resultFormatter.fail(apiVersion, 400, e);
                    response.send(400, error);
                });

        });
    });
    return router;
}
var Router = require('restify-router').Router;
var router = new Router();
var db = require("../../../db");
var CategoryManager = require("dl-module").managers.master.CategoryManager;
var resultFormatter = require("../../../result-formatter");
const apiVersion = '1.0.0';

router.get("/", function (request, response, next) {
    db.get().then(db => {
        var manager = new CategoryManager(db, {
            username: '******'
        });

        var query = request.query;
        manager.read(query)
            .then(docs => {
                var result = resultFormatter.ok(apiVersion, 200, docs);
                response.send(200, result);
            })
            .catch(e => {
                response.send(500, "Failed to fetch data.");
            })
    })
        .catch(e => {
            var error = resultFormatter.fail(apiVersion, 400, e);
            response.send(400, error);
        })
});

router.get("/:id", function (request, response, next) {
    db.get().then(db => {
function getRouter() {
    var router = new Router();
    router.get('/', passport, (request, response, next) => {
        db.get().then(db => {
            var manager = new PurchaseOrderManager(db, request.user);

            var unitId = request.params.unitId;
            var categoryId = request.params.categoryId;
            var PODLNo = request.params.PODLNo;
            var PRNo = request.params.PRNo;
            var supplierId = request.params.supplierId;
            var dateFrom = request.params.dateFrom;
            var dateTo = request.params.dateTo;
            var state = parseInt(request.params.state);
            var createdBy = request.user.username;
            var budgetId = request.params.budgetId;
            var staffName = request.params.staffName;
            var offset = request.headers["x-timezone-offset"] ? Number(request.headers["x-timezone-offset"]) : 0;
            // manager.getDataPOIntMonitoring(unitId, categoryId, dateFrom, dateTo, "", offset)
            manager.getDataPOIntMonitoring(unitId, categoryId, PODLNo, PRNo, supplierId, dateFrom, dateTo, state, budgetId, staffName, "", offset)
                .then(docs => {

                    var dateFormat = "DD/MM/YYYY";
                    var dateFormat2 = "DD MMM YYYY";
                    var locale = 'id-ID';
                    var moment = require('moment');
                    moment.locale(locale);

                    var data = [];
                    var index = 0;
                    for (var PO of docs) {
                        for (var item of PO.items) {
                             index++;
                            // if (item.fulfillments.length > 0) {
                            //     for (var fulfillment of item.fulfillments) {
                                    

                            //         var _correctionNo = "-";
                            //         var _correctionPriceTotal = "0";
                            //         var _correctionDate = "-";
                            //         var _correctionRemark = "-";

                            //         if (fulfillment.correction) {
                            //             var i = 1;
                            //             _correctionNo = "";
                            //             _correctionPriceTotal = "";
                            //             _correctionDate = "";
                            //             _correctionRemark = "";
                            //             for (var correction of fulfillment.correction) {
                            //                 _correctionNo = `${_correctionNo}${i}. ${correction.correctionNo}\n`;
                            //                 _correctionPriceTotal = `${_correctionPriceTotal}${i}. ${correction.correctionPriceTotal.toLocaleString()}\n`;
                            //                 _correctionDate = `${_correctionDate}${i}. ${moment(new Date(correction.correctionDate)).add(offset, 'h').format(dateFormat)}\n`;
                            //                 _correctionRemark = `${_correctionRemark}${i}. ${correction.correctionRemark}\n`;
                            //                 i++;
                            //             }
                            //         }

                            //         var _item = {
                            //             "No" : index,
                            //             "Divisi": PO.purchaseRequest.unit.division.name,
                            //             "Nama Barang": item.product.name,
                            //             "Jumlah Barang": item.dealQuantity ? item.dealQuantity : 0,
                            //             "Satuan Barang": item.dealUom.unit ? item.dealUom.unit : "-",
                            //             "Unit": PO.unit.name,
                            //             "Tanggal Purchase Request": moment(new Date(PO.purchaseRequest.date)).format(dateFormat),
                            //             "No Purchase Request": PO.purchaseRequest.no,
                            //             "Kategori": PO.category.name,
                            //             "Budget": PO.purchaseRequest.budget.name,
                            //             "Tanggal Diminta Datang": PO.purchaseOrderExternal.expectedDeliveryDate ? moment(new Date(PO.purchaseOrderExternal.expectedDeliveryDate)).add(offset, 'h').format(dateFormat) : "-",
                            //             "Staff": PO._createdBy,
                            //             "Status": PO.status ? PO.status.label : "-"
                            //         }
                            //         data.push(_item);
                            //     }
                            // }
                            // else {
                                // index++;
                                var _item = {
                                    "No" : index,
                                    "Divisi": PO.purchaseRequest.unit.division.name,
                                    "Nama Barang": item.product.name,
                                    "Jumlah Barang": item.dealQuantity ? item.dealQuantity : 0,
                                    "Satuan Barang": item.dealUom.unit ? item.dealUom.unit : "-",
                                    "Unit": PO.unit.name,
                                    "Tanggal Purchase Request": moment(new Date(PO.purchaseRequest.date)).format(dateFormat),
                                    "No Purchase Request": PO.purchaseRequest.no,
                                    "Kategori": PO.category.name,
                                    "Budget": PO.purchaseRequest.budget.name,
                                    "Tanggal Diminta Datang": PO.purchaseOrderExternal.expectedDeliveryDate ? moment(new Date(PO.purchaseOrderExternal.expectedDeliveryDate)).add(offset, 'h').format(dateFormat) : "-",
                                    "Staff": PO._createdBy,
                                    "Status": PO.status ? PO.status.label : "-"
                                }
                                data.push(_item);
                            // }
                        }
                    }
                    if ((request.headers.accept || '').toString().indexOf("application/xls") < 0) {
                        var result = resultFormatter.ok(apiVersion, 200, data);
                        response.send(200, result);
                    }
                    else {
                        var options = {
                            "No" : "number",
                            "Divisi": "string",
                            "Unit": "string",
                            "Nama Barang": "string",
                            "Jumlah Barang": "number",
                            "Satuan Barang": "string",
                            "Tanggal Purchase Request": "string",
                            "No Purchase Request": "string",
                            "Kategori": "string",
                            "Budget": "string",
                            "Tanggal Diminta Datang": "string",
                            "Staff": "string",
                            "Status": "string",
                        };


                        response.xls(`Laporan Monitoring Purchase Order Internal - ${moment(new Date()).add(offset, 'h').format(dateFormat2)}.xlsx`, data, options);
                    }
                })
                .catch(e => {
                    var error = resultFormatter.fail(apiVersion, 400, e);
                    response.send(400, error);
                })
        })
    });
    return router;
}
var Router = require('restify-router').Router;;
var router = new Router();
var ArticleCounterManager = require('bateeq-module').master.article.ArticleCounterManager;
var db = require('../../../../db');
var resultFormatter = require("../../../../result-formatter");

const apiVersion = '1.0.0';

router.get('v1/core/articles/counters', (request, response, next) => {
    db.get().then(db => {
        var manager = new ArticleCounterManager(db, {
            username: '******'
        });
        var query = request.query;
        manager.read(query)
            .then(docs => {
                var result = resultFormatter.ok(apiVersion, 200, docs.data);
                response.send(200, result);
            })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
                response.send(400, error);
            })
    })
});

router.get('v1/core/articles/counters/:id', (request, response, next) => {
    db.get().then(db => {
        var manager = new ArticleCounterManager(db, {
            username: '******'
        });
var Router = require('restify-router').Router;;
var router = new Router();
var map = require('bateeq-module').inventory.map;
var db = require('../../../db');
var resultFormatter = require("../../../result-formatter");

const apiVersion = '1.0.0';

router.get('v1/inventory/docs/efr-tb-bbt/pending', (request, response, next) => {
    db.get().then(db => {
       var Manager = map.get("efr-tb-bbt");
        var manager = new Manager(db, {
            username: '******'
        });
        
        var query = request.query;

        manager.readPendingSPK(query)
            .then(docs => { 
                var result = resultFormatter.ok(apiVersion, 200, docs);
                response.send(200, result);
            })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
                response.send(400, error);
            })

    })
});

router.get('v1/inventory/docs/efr-tb-bat/pending', (request, response, next) => {
var Router = require('restify-router').Router;;
var router = new Router();
var map = require('bateeq-module').merchandiser.map;
var db = require('../../../db');
var resultFormatter = require("../../../result-formatter");
var passport = require('../../../passports/jwt-passport');

const apiVersion = '1.0.0';
router.get('/:module/draft/:id', passport, (request, response, next) => {
    db.get().then(db => {
        var module = request.params.module;
        var Manager = map.get(module);
        var manager = new Manager(db, request.user);

        var id = request.params.id;

        manager.getSingleById(id)
            .then(doc => {
                var result = resultFormatter.ok(apiVersion, 200, doc);
                response.send(200, result);
            })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
                response.send(400, error);
            })
    })
});

router.post('/:module', passport, (request, response, next) => {
    db.get().then(db => {
        var module = request.params.module;
Example #15
0
var mc = require('mongodb').MongoClient;
var bb = require('bluebird');
var Rt = require('restify-router').Router;
var router = new Rt();

var log4js = require('log4js');
log4js.configure('conf.json', { cwd: ''});
var logger = log4js.getLogger('MONGO');

var db_uri = 'mongodb://172.20.0.4:27017/sm';

var saveData = function (req, res, next) {
  var w = {en: req.params.sth};
  mc
    .connect(db_uri, {
      promiseLibrary: bb
    })
    .then(function(db) {
      logger.info('MONGO INSERT ' + JSON.stringify(w));
      return db
        .collection('word')
        .insert(w)
        .finally(db.close.bind(db))
    })
    .catch(function(err) {
      console.error("ERROR", err);
    });
  res.send('MONGO INSERT ' + JSON.stringify(w));
  logger.info('GET /m/' + req.params.sth);
  next();
};
var Router = require('restify-router').Router;;
var router = new Router();
var map = require('bateeq-module').inventory.map;
var db = require('../../../db');
var resultFormatter = require("../../../result-formatter");
var passport = require('../../../passports/jwt-passport');
const apiVersion = '1.0.0';

router.get('/efr-tb-bbt/pending', passport, (request, response, next) => {
    db.get().then(db => {
        var Manager = map.get("efr-tb-bbt");
        var manager = new Manager(db, request.user);
        var stores = [];
        for (var i = 0; i < request.user.stores.length; i++) {
            stores.push(request.user.stores[i].code);
        }

        var query = request.query;
        if (stores.length > 0) {
            query.filter = stores;
        }

        manager.readPendingSPK(query)
            .then(docs => {
                var result = resultFormatter.ok(apiVersion, 200, docs.data);
                delete docs.data;
                result.info = docs;
                response.send(200, result);
            })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
var Router = require('restify-router').Router;
var router = new Router();
var map = require('bateeq-module').merchandiser.map;
var db = require('../../../db');
var resultFormatter = require("../../../result-formatter");
var passport = require('../../../passports/jwt-passport');
var FinishedGoodsManager = require('bateeq-module').master.FinishedGoodsManager;
var fs = require('fs');
var csv = require('fast-csv');
var PkgCloudHelper = require('../../../pkg-cloud-helper')

const apiVersion = '1.0.0';
router.post('/', passport, (request, response, next) => {
    // router.post('/', (request, response, next) => {
    var dateFormat = "DD MMM YYYY";
    var locale = 'id-ID';
    var moment = require('moment');
    moment.locale(locale);

    db.get().then(db => {
        var dataCsv = [];
        var dataAll;
        // var manager = new FinishedGoodsManager(db, request.user);
        var manager = new FinishedGoodsManager(db, {
            username: '******'
        });

        fs.createReadStream(request.files.fileUpload.path)
            .pipe(csv())
            .on('data', function (data) {
                dataCsv.push(data);
var Router = require('restify-router').Router;;
var router = new Router();
var map = require('bateeq-module').merchandiser.map;
var db = require('../../../db');
var resultFormatter = require("../../../result-formatter");
var passport = require('../../../passports/jwt-passport');
var fs = require('fs');
var csv = require('fast-csv');

const apiVersion = '1.0.0';
router.post('/', passport, (request, response, next) => {
    var dateFormat = "DD MMM YYYY";
    var locale = 'id-ID';
    var moment = require('moment');
    moment.locale(locale);

    db.get().then(db => {
        var dataCsv = [];
        var dataAll;
        var module = "efr-pk-pba";
        var Manager = map.get(module);
        var manager = new Manager(db, request.user);

        fs.createReadStream(request.files.fileUpload.path)
            .pipe(csv())
            .on('data', function (data) {
                dataCsv.push(data);
            })
            .on('end', function (data) {
                dataAll = dataCsv;
                if (dataAll[0][0] === "PackingList" && dataAll[0][1] === "Password" && dataAll[0][2] === "Barcode" && dataAll[0][3] === "Name" && dataAll[0][4] === "Size" && dataAll[0][5] === "Price" && dataAll[0][6] === "UOM" && dataAll[0][7] === "QTY" && dataAll[0][8] === "RO" && dataAll[0][9] === "HPP") {
var Router = require('restify-router').Router;
var router = new Router();
var db = require("../../../db");
var POTextileSparepartManager = require("dl-module").managers.po.POTextileSparepart;
var resultFormatter = require("../../../result-formatter");
const apiVersion = '1.0.0';
 
router.get("/v1/po/textilespareparts/podl", function(request, response, next) {
    db.get().then(db => {
            var manager = new POTextileSparepartManager(db, {
                username: '******'
            });

            var query = request.query;
            manager.readAllPurchaseOrderGroup(query)
            .then(docs => {
                    var result = resultFormatter.ok(apiVersion, 200, docs);
                    response.send(200, result);
                })
                .catch(e => {
                    response.send(500, "gagal ambil data");
                })
        })
        .catch(e => {
            var error = resultFormatter.fail(apiVersion, 400, e);
            response.send(400, error);
        })
})

router.get('/v1/po/textilespareparts/podl/:id', (request, response, next) => {
    db.get().then(db => {
function getRouter() {
    var router = new Router();
    router.get('/', passport, (request, response, next) => {
        db.get().then(db => {
            var manager = new UnitPaymentPriceCorrectionNoteManager(db, request.user);

            var dateFormat = "DD/MM/YYYY";
            var locale = 'id-ID';
            var moment = require('moment');
            moment.locale(locale);
            var dateFrom = request.params.dateFrom;
            var dateTo = request.params.dateTo;
            var filter = {};
            if (dateFrom && dateTo) {
                filter = {
                    date: {
                        $gte: new Date(dateFrom),
                        $lte: new Date(dateTo)
                    }
                };
            }

            manager.getAllData(filter)
                .then(list => {
                    var data = [];
                    for (var _data of list) {
                        for (var item of _data.items) {
                            var unitReceiptNote = {};
                            for (var unitPaymentOrderItems of _data.unitPaymentOrder.items) {
                                for (var unitReceiptnoteItem of unitPaymentOrderItems.unitReceiptNote.items) {
                                    if (unitReceiptnoteItem.purchaseOrder._id.toString() === item.purchaseOrder._id.toString()) {
                                        unitReceiptNote = {
                                            no: unitPaymentOrderItems.unitReceiptNote.no,
                                            date: unitPaymentOrderItems.unitReceiptNote.date
                                        };
                                        break;
                                    }
                                }
                                if (unitReceiptNote) {
                                    break;
                                }
                            }
                            var _item = {
                                "NOMOR NOTA KOREKSI": _data.no,
                                "TANGGAL NOTA KOREKSI": moment(new Date(_data.date)).format(dateFormat),
                                "JENIS RETUR": _data.correctionType,
                                "NOMOR NOTA KREDIT": _data.unitPaymentOrder.no,
                                "NOMOR INVOICE KOREKSI": _data.invoiceCorrectionNo,
                                "TANGGAL INVOICE KOREKSI": moment(new Date(_data.invoiceCorrectionDate)).format(dateFormat),
                                "FAKTUR PAJAK KOREKSI PPN ": _data.incomeTaxCorrectionNo,
                                "TANGGAL FAKTUR PAJAK KOREKSI PPN ": _data.incomeTaxCorrectionNo.length > 0 ? moment(new Date(_data.incomeTaxCorrectionDate)).format(dateFormat) : "",
                                "FAKTUR PAJAK KOREKSI PPH": _data.vatTaxCorrectionNo,
                                "TANGGAL FAKTUR PAJAK KOREKSI PPH ": _data.vatTaxCorrectionNo.length > 0 ? moment(new Date(_data.vatTaxCorrectionDate)).format(dateFormat) : "",
                                "KODE SUPPLIER": _data.unitPaymentOrder.supplier.code,
                                "NAMA SUPPLIER": _data.unitPaymentOrder.supplier.name,
                                "ALAMAT SUPPLIER": _data.unitPaymentOrder.supplier.address,
                                "NOMOR SURAT PENGANTAR": _data.releaseOrderNoteNo,
                                "KETERANGAN": _data.remark,
                                "NOMOR PO EXTERNAL": item.purchaseOrder.purchaseOrderExternal.no,
                                "NOMOR PURCHASE REQUEST": item.purchaseOrder.purchaseRequest.no,
                                "NOMOR ACCOUNT": "",
                                "KODE BARANG": item.product.code,
                                "NAMA BARANG": item.product.name,
                                "JUMLAH BARANG": item.quantity,
                                "SATUAN BARANG": item.uom.unit,
                                "HARGA SATUAN BARANG": item.pricePerUnit,
                                "MATA UANG": item.currency.code,
                                "RATE": item.currency.rate,
                                "HARGA TOTAL BARANG": item.priceTotal,
                                "NOMOR BON TERIMA UNIT": unitReceiptNote.no,
                                "TANGGAL BON TERIMA UNIT": moment(new Date(unitReceiptNote.date)).format(dateFormat),
                                "USER INPUT": _data._createdBy,
                                "PPN": _data.useIncomeTax ? "Ya" : "Tidak",
                                "PPH": _data.useVat ? "Ya" : "Tidak"
                            }
                            data.push(_item);
                        }
                    }
                    var options = {
                        "NOMOR NOTA KOREKSI": "string",
                        "TANGGAL NOTA KOREKSI": "date",
                        "JENIS RETUR": "string",
                        "NOMOR NOTA KREDIT": "string",
                        "NOMOR INVOICE KOREKSI": "string",
                        "TANGGAL INVOICE KOREKSI": "date",
                        "FAKTUR PAJAK KOREKSI PPN ": "string",
                        "TANGGAL FAKTUR PAJAK KOREKSI PPN ": "date",
                        "FAKTUR PAJAK KOREKSI PPH": "string",
                        "TANGGAL FAKTUR PAJAK KOREKSI PPH": "date",
                        "KODE SUPPLIER": "string",
                        "NAMA SUPPLIER": "string",
                        "ALAMAT SUPPLIER": "string",
                        "NOMOR SURAT PENGANTAR": "string",
                        "KETERANGAN": "string",
                        "NOMOR PO EXTERNAL": "string",
                        "NOMOR PURCHASE REQUEST": "string",
                        "NOMOR ACCOUNT": "string",
                        "KODE BARANG": "string",
                        "NAMA BARANG": "string",
                        "JUMLAH BARANG": "number",
                        "SATUAN BARANG": "string",
                        "HARGA SATUAN BARANG": "number",
                        "MATA UANG": "string",
                        "RATE": "number",
                        "HARGA TOTAL BARANG": "number",
                        "NOMOR BON TERIMA UNIT": "string",
                        "TANGGAL BON TERIMA UNIT": "date",
                        "USER INPUT": "",
                        "PPN": "string",
                        "PPH": "string"
                    };

                    if (data.length === 0) {
                        var _item = {
                            "NOMOR NOTA KOREKSI": "",
                            "TANGGAL NOTA KOREKSI": "",
                            "JENIS RETUR": "",
                            "NOMOR NOTA KREDIT": "",
                            "NOMOR INVOICE KOREKSI": "",
                            "TANGGAL INVOICE KOREKSI": "",
                            "FAKTUR PAJAK KOREKSI PPN ": "",
                            "TANGGAL FAKTUR PAJAK KOREKSI PPN ": "",
                            "FAKTUR PAJAK KOREKSI PPH": "",
                            "TANGGAL FAKTUR PAJAK KOREKSI PPH ": "",
                            "KODE SUPPLIER": "",
                            "NAMA SUPPLIER": "",
                            "ALAMAT SUPPLIER": "",
                            "NOMOR SURAT PENGANTAR": "",
                            "KETERANGAN": "",
                            "NOMOR PO EXTERNAL": "",
                            "NOMOR PURCHASE REQUEST": "",
                            "NOMOR ACCOUNT": "",
                            "KODE BARANG": "",
                            "NAMA BARANG": "",
                            "JUMLAH BARANG": "",
                            "SATUAN BARANG": "",
                            "HARGA SATUAN BARANG": "",
                            "MATA UANG": "",
                            "RATE": "",
                            "HARGA TOTAL BARANG": "",
                            "NOMOR BON TERIMA UNIT": "",
                            "TANGGAL BON TERIMA UNIT": "",
                            "USER INPUT": "",
                            "PPN": "",
                            "PPH":""
                        }
                        data.push(_item);
                    }
                    
                    if (dateFrom && dateTo) {
                        response.xls(`Laporan Nota Koreksi -  ${moment(new Date(dateFrom)).format("DD MMM YYYY")} -  ${moment(new Date(dateTo)).format("DD MMM YYYY")}.xlsx`, data, options);
                    } else {
                        response.xls(`Laporan Nota Koreksi -  ${moment(new Date()).format("DD MMM YYYY")}.xlsx`, data, options);
                    }
                })
                .catch(e => {
                    var error = resultFormatter.fail(apiVersion, 400, e);
                    response.send(400, error);
                })
        })
    });
    return router;
}
var Router = require('restify-router').Router;;
var router = new Router();
var map = require('bateeq-module').inventory.map;
var db = require('../../../db');
var resultFormatter = require("../../../result-formatter");
var passport = require('../../../passports/jwt-passport');
const apiVersion = '1.0.0';

router.get('/:module', passport, (request, response, next) => {
    db.get().then(db => {

        var module = request.params.module;
        var Manager = map.get(module);
        var manager = new Manager(db, request.user);
        var filter;
        var stores = [];
        for (var i = 0; i < request.user.stores.length; i++) {
            stores.push(request.user.stores[i].code);
        }

        var units = [];
        for (var unitCode in request.user.permission) {
            units.push(unitCode);
        }

        var query = request.query;
        if (module === "efr-tb-bbt") {
            var moduleId = "EFR-TB/BBT";
            filter = {
                "code": {
                    '$regex': new RegExp("^[A-Z0-9]+\/" + moduleId + "\/[0-9]{2}\/[0-9]{4}$", "i")
var Router = require('restify-router').Router;
var router = new Router();
var db = require("../../../../db");
var resultFormatter = require("../../../../result-formatter");
const apiVersion = '1.0.0';
var PurchaseOrderManager= require("dl-module").managers.purchasing.PurchaseOrderManager;

router.get("/", function(request, response, next) {
    db.get().then(db => {
            var manager = new PurchaseOrderManager(db, {
                username: '******'
            });
            var sdate = request.params.dateFrom;
            var edate = request.params.dateTo;
            manager.getDataPOCategory(sdate,edate)
            .then(docs => {
                    var result = resultFormatter.ok(apiVersion, 200, docs);
                    response.send(200, result);
                })
                .catch(e => {
                    response.send(500, "gagal ambil data");
                })
        })
        .catch(e => {
            var error = resultFormatter.fail(apiVersion, 400, e);
            response.send(400, error);
        })
});

module.exports = router;
var Router = require('restify-router').Router;
var router = new Router();
var db = require("../../../db");
var AccessoriesManager = require("dl-module").managers.core.AccessoriesManager;
var resultFormatter = require("../../../result-formatter");
const apiVersion = '1.0.0';

router.get("v1/core/accessories", function (request, response, next) {
     db.get().then(db=> {
          var manager = new AccessoriesManager(db, {
            username: '******'
        });

        var query = request.query;
         manager.read(query)
            .then(docs => {
                var result = resultFormatter.ok(apiVersion, 200, docs);
                response.send(200, result);
            })
            .catch(e => {
                response.send(500, "gagal ambil data");
            })
     })
     .catch(e => {
            var error = resultFormatter.fail(apiVersion, 400, e);
            response.send(400, error);
        })
})

router.get('/v1/core/accessories/:id', (request, response, next) => {
    db.get().then(db => {
function getRouter() {
    var router = new Router();
    router.get('/', passport, (request, response, next) => {
        db.get().then(db => {
            var manager = new UnitReceiptNoteManager(db, request.user);

            var no = request.params.no;
            var PRNo = request.params.PRNo;
            var supplierId = request.params.supplierId;
            var categoryId = request.params.categoryId;
            var unitId = request.params.unitId;
            var dateFrom = request.params.dateFrom;
            var dateTo = request.params.dateTo;
            var createdBy = request.user.username;
            var offset = request.headers["x-timezone-offset"] ? Number(request.headers["x-timezone-offset"]) : 0;

            manager.getUnitReceiptNotes(no, PRNo, unitId, categoryId, supplierId, dateFrom, dateTo, offset, createdBy)
                .then(docs => {
                    var dateFormat = "DD/MM/YYYY";
                    var dateFormat2 = "DD MMM YYYY";
                    var locale = 'id-ID';
                    var moment = require('moment');
                    moment.locale(locale);

                    var data = [];
                    var index = 0;

                    for (var unitReceiptNote of docs) {
                        for (var item of unitReceiptNote.items) {
                            var sisa = 0;

                            for (var poItem of item.purchaseOrder.items) {
                                if (poItem.product._id.toString() == item.product._id.toString()) {
                                    for (var fulfillment of poItem.fulfillments) {
                                        sisa += fulfillment.unitReceiptNoteDeliveredQuantity;
                                        if (fulfillment.unitReceiptNoteNo == unitReceiptNote.no)
                                            break;
                                    }
                                    break;
                                }
                            }

                            index++;
                            var _item = {
                                "No": index,
                                "Unit": `${unitReceiptNote.unit.division.name} - ${unitReceiptNote.unit.name}`,
                                "Kategori": item.purchaseOrder.category.name,
                                "No PO Internal": item.purchaseOrder.refNo || "-",
                                "Nama Barang": item.product.name,
                                "Kode Barang": item.product.code,
                                "Supplier": unitReceiptNote.supplier.name,
                                "Tanggal Bon Terima Unit": moment(new Date(unitReceiptNote.date)).format(dateFormat),
                                "No Bon Terima Unit": unitReceiptNote.no,
                                "Jumlah Diminta": item.purchaseOrderQuantity,
                                "Satuan Diminta": item.deliveredUom.unit,
                                "Jumlah Diterima": item.deliveredQuantity,
                                "Satuan Diterima": item.deliveredUom.unit,
                                "Jumlah (+/-/0)": (item.purchaseOrderQuantity || 0) - sisa
                            }
                            data.push(_item);
                        }
                    }

                    if ((request.headers.accept || '').toString().indexOf("application/xls") < 0) {
                        var result = resultFormatter.ok(apiVersion, 200, data);
                        response.send(200, result);
                    }
                    else {
                        var options = {
                            "No": "number",
                            "Unit": "string",
                            "Kategori": "string",
                            "No PO Internal": "string",
                            "Nama Barang": "string",
                            "Kode Barang": "string",
                            "Supplier": "string",
                            "Tanggal Bon Terima Unit": "string",
                            "No Bon Terima Unit": "string",
                            "Jumlah Diminta": "number",
                            "Satuan Diminta": "string",
                            "Jumlah Diterima": "number",
                            "Satuan Diterima": "string",
                            "Jumlah (+/-/0)": "number"
                        };


                        response.xls(`Monitoring Bon Terima Unit - ${moment(new Date()).format(dateFormat2)}.xlsx`, data, options);
                    }
                })
                .catch(e => {
                    var error = resultFormatter.fail(apiVersion, 400, e);
                    response.send(400, error);
                })
        })
    });
    return router;
}
function getRouter() {
    var router = new Router();
    router.get("/", passport, function(request, response, next) {
        db.get().then(db => {
                var manager = new KanbanManager(db, request.user);

                var query = request.queryInfo;
                manager.getDataReport(query)
                    .then(docs => {
                        var dateFormat = "DD MMM YYYY";
                        var locale = 'id';
                        var moment = require('moment');
                        moment.locale(locale);
                        if ((request.headers.accept || '').toString().indexOf("application/xls") < 0){
                            for(var a in docs){
                                docs[a]._createdDate = moment(new Date(docs[a]._createdDate)).format(dateFormat);
                                docs[a].deliveryDate = moment(new Date(docs[a].deliveryDate)).format(dateFormat);
                            }
                            var result = resultFormatter.ok(apiVersion, 200, docs);
                            response.send(200, result);
                        }else{
                            var index = 0;
                            var data = [];
							var hasil="";
                            for(var kanban of docs){
                                index++;
								  if(kanban.isReprocess==true){
                                  hasil="Ya"; 
                                 }else{
                                     hasil="Tidak";
                                }
                                var item = {};
                                item["No"] = index;
                                item["Tanggal Kanban"] =  moment(new Date(kanban._createdDate)).format(dateFormat);
                                item["Nomor Order"] = kanban.orderNo;
                                item["Jenis Order"] = kanban.orderType;
                                item["Jenis Proses"] = kanban.processType;
                                item["Warna"] = kanban.color;
                                item["Standar Handfeel"] = kanban.handfeelStandard;
                                item["Lebar Finish"] = kanban.finishWidth;
                                item["Material"] = kanban.material;
                                item["Konstruksi"] = kanban.construction;
                                item["Nomor Benang"] = kanban.yarnMaterial;
                                item["Grade"] = kanban.grade;
                                item["Nomor Kereta"] = kanban.cartNumber;
                                item["Panjang"] = kanban.length;
                                item["PCS"] = kanban.pcs;
                                item["Satuan"] = kanban.uom;
                                item["Step Index"] = `${kanban.currentStepIndex} / ${kanban.steps.length}`;
                                item["Step"] = kanban.currentStepIndex === 0 ? " - " : kanban.steps[kanban.currentStepIndex - 1].process;
                                item["Status"] = kanban.isComplete ? "Complete" : kanban.currentStepIndex === kanban.steps.length ? "Pending" : "Incomplete";
								 item["Reproses"] = hasil;
                                data.push(item);
                            }
                            var options = {
                                "No" : "number",
                                "Tanggal Kanban" : "string",
                                "Nomor Order" : "string",
                                "Jenis Order" : "string",
                                "Jenis Proses" : "string",
                                "Warna" : "string",
                                "Standar Handfeel" : "string",
                                "Lebar Finish" : "string",
                                "Material" : "string",
                                "Konstruksi" : "string",
                                "Nomor Benang" : "string",
                                "Grade" : "string",
                                "Nomor Kereta" : "string",
                                "Panjang" : "number",
                                "Satuan" : "string",
                                "Step Index" : "string",
                                "Step" : "string",
                                "Status" : "string"
                            };
                            response.xls(`MONITORING KANBAN.xlsx`, data, options);
                        }
                    })
                    .catch(e => {
                        response.send(500, "gagal ambil data");
                    });
            })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
                response.send(400, error);
            });
    });
    return router;
}
var Router = require('restify-router').Router;
var router = new Router();
var db = require("../../../db");
var PurchaseOrderManager = require("dl-module").managers.purchasing.PurchaseOrderManager;
var DeliveryOrderManager = require("dl-module").managers.purchasing.DeliveryOrderManager;
var resultFormatter = require("../../../result-formatter");
const apiVersion = '1.0.0';

router.get('/', (request, response, next) => {
    db.get().then(db => {
        var manager = new PurchaseOrderManager(db, {
            username: '******'
        });

        var unitId = request.params.unitId;
        var categoryId = request.params.categoryId;
        var PODLNo = request.params.PODLNo;
        var PRNo = request.params.PRNo;
        var supplierId = request.params.supplierId;
        var dateFrom = request.params.dateFrom;
        var dateTo = request.params.dateTo;

        manager.getDataPOMonitoringPembelian(unitId, categoryId, PODLNo, PRNo, supplierId, dateFrom, dateTo)
            .then(doc => {
                var result = resultFormatter.ok(apiVersion, 200, doc);
                response.send(200, result);
            })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
                response.send(400, error);
            })
function getRouter() {
    var router = new Router();
    router.get("/", passport, function (request, response, next) {
        db.get().then(db => {
            var manager = new ProductionOrderManager(db, request.user);

            var query = request.queryInfo;
            query.accept =request.headers.accept;
  
            manager.getSalesMonthlyReport(query)
                .then(docs => {
                    var dateFormat = "DD MMM YYYY";
                    var locale = 'id';
                    var moment = require('moment');
                    moment.locale(locale);
                    if ((request.headers.accept || '').toString().indexOf("application/xls") < 0) {
                        for (var a in docs.data) {
                            docs.data[a]._createdDate = moment(new Date(docs.data[a]._createdDate)).format(dateFormat);
                            docs.data[a].deliveryDate = moment(new Date(docs.data[a].deliveryDate)).format(dateFormat);
                        }
                        
                        var result = resultFormatter.ok(apiVersion, 200, docs.data);
                        delete docs.data;
                        result.info = docs;
                        response.send(200, result);
                    } else {
                        var index = 0;
                        var data = [];
                        for (var order of docs.data) {
                            index++;
                            var item = {};
                            item["No"] = index;
                            item["Sales"] = order._id.sales;
                            item["Januari"] = order.jan.toFixed(2);
                            item["Februari"] = order.feb.toFixed(2);
                            item["Maret"] = order.mar.toFixed(2);
                            item["April"] = order.apr.toFixed(2);
                            item["Mei"] = order.mei.toFixed(2);
                            item["Juni"] = order.jun.toFixed(2);
                            item["Juli"] = order.jul.toFixed(2);
                            item["Agustus"] = order.agu.toFixed(2);
                            item["September"] = order.sep.toFixed(2);
                            item["Oktober"] = order.okt.toFixed(2);
                            item["November"] = order.nov.toFixed(2);
                            item["Desember"] = order.des.toFixed(2);
                            item["Total"] = order.totalOrder.toFixed(2);
                            data.push(item);
                        }
                        var options = {
                            "No": "number",
                            "Sales": "string",
                            "Januari": "string",
                            "Februari": "string",
                            "Maret": "string",
                            "April": "string",
                            "Mei": "string",
                            "Juni": "string",
                            "Juli": "string",
                            "Agustus": "string",
                            "September": "string",
                            "Oktober": "string",
                            "November": "string",
                            "Desember": "string",
                            "Total": "string",
                        };
                        response.xls(`Sales Monthly Report.xlsx`, data, options);
                    }
                })
                .catch(e => {
                    response.send(500, "gagal ambil data");
                });
        })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
                response.send(400, error);
            });
    });
    return router;
}
Example #28
0
var Router = require('restify-router').Router;
var router = new Router();
var BankManager = require('bateeq-module').master.BankManager;
var db = require('../../../db');
var resultFormatter = require("../../../result-formatter");
var passport = require('../../../passports/jwt-passport');

const apiVersion = '1.0.0';

router.get('/', passport, (request, response, next) => {
    db.get().then(db => {
        var manager = new BankManager(db, request.user);
        var query = request.query;

        manager.read(query)
            .then(docs => {
                var result = resultFormatter.ok(apiVersion, 200, docs.data);
                delete docs.data;
                result.info = docs;
                result.data.sort((dataA, dataB) => {return new Date(dataB._updatedDate).getTime() - new Date(dataA._updatedDate).getTime()});
                response.send(200, result);
            })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
                response.send(400, error);
            });

    });
});

router.get('/:id', passport, (request, response, next) => {
Example #29
0
var Router = require('restify-router').Router;
var routerInstance = new  Router();
var RSMQWorker = require( "rsmq-worker" );


// add a route like you would on a restify server instance
routerInstance.get('/hello/:name', function respond(req, res, next) {
  res.send('hello ' + req.params.name);
  next();
});

routerInstance.post('/enviarNota', function respond(req, res, next) {
  var notaModel = req.body.nota;
  if(notaModel.cpf){
    res.send('Nota com CPF, invalido');
  }


    //...

  new RSMQWorker( "myqueue" ).sendMessage(notaModel)

  next();
});


module.exports = routerInstance;
var Router = require('restify-router').Router;;
var router = new Router();
var MonthlyStockManager = require('bateeq-module').inventory.MonthlyStockManager;
var db = require('../../../db');
var resultFormatter = require("../../../result-formatter");
var passport = require('../../../passports/jwt-passport');

const apiVersion = '1.0.0';

router.get('/:storageCode/:month/:year', passport, (request, response, next) => {
    db.get().then(db => {
        var manager = new MonthlyStockManager(db, {
            username: "******"
        });
        var storageCode = request.params.storageCode;
        var month = request.params.month;
        var year = request.params.year;

        manager.getStockInStorage(storageCode, month, year)
            .then(docs => {
                var result = resultFormatter.ok(apiVersion, 200, docs);
                response.send(200, result);
            })
            .catch(e => {
                var error = resultFormatter.fail(apiVersion, 400, e);
                response.send(400, error);
            });
    });
});

router.get('/:month/:year', passport, (request, response, next) => {