kpiplus
Version:
KPI+
1 lines • 1 kB
JavaScript
var link=require("../../models/link"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");module.exports=function(n){new controller(n,"linkslist",function(n,e){if(!n.query._id)return e("Báo cáo này yêu cầu tham số _id");var i=n.query._id,r=n.query.collections;r&&(r=r.split(","));var o={id_app:n.query.id_app};o.$or=[{id_a:i,collection_b:{$in:r}},{id_b:i,collection_a:{$in:r}}];var l=[];link.find(o).lean().exec(function(n,r){if(n)return e(n);async.map(r,function(n,e){var r,o;if(n.id_a.toString()==i?(r=n.collection_b,o=n.id_b):(r=n.collection_a,o=n.id_a),!r)return e();n.collection_obj=r;var t=r;"dmkh"==r&&(t="customer"),"dmtk"==r&&(t="account"),"dmnt"==r&&(t="currency"),require("../../models/"+t).findOne({_id:o}).lean().exec(function(i,r){if(i)return e(i);if(r){n.obj=r;var o="_id";for(var t in r)if("title"==t||0===t.indexOf("ten_")){o=t;break}n.title=r[o],l.push(n)}e(null,r)})},function(n,i){e(null,l)})})},{notNeedRight:!0})};