kpiplus
Version:
KPI+
1 lines • 1.45 kB
JavaScript
var model=require("../../models/nhadat"),controller=require("../../controllers/controller"),customer=require("../../models/customer"),link=require("../../models/link"),arrays=require("../../libs/array-funcs"),underscore=require("underscore"),async=require("async");module.exports=function(e){var n=function(e,n,i){!function(e,n,i){n.id_kh&&link.find({$or:[{id_a:n._id.toString(),id_b:n.id_kh},{id_a:n.id_kh,id_b:n._id.toString()}]}).lean().exec(function(e,i){i&&0!==i.length||new link({id_app:n.id_app,id_a:n.id_kh,id_b:n._id.toString(),collection_a:"dmkh",collection_b:"nhadat"}).save(function(e,n){e&&console.error(e)})}),i&&i(null,n)}(0,n),i(null,n)};this.contr=new controller(e,model,"nhadat",{sort:{date_created:-1},onFinding:function(e,n,i){async.parallel({find_ten_kh:function(e){n.ten_kh?customer.find({ten_kh:{$regex:n.ten_kh,$options:"i"}},{_id:1}).lean().exec(function(i,t){if(i)return e(i);delete n.ten_kh;var r=[];t.forEach(function(e){r.push(e._id.toString())}),n.id_kh={$in:r},e()}):e()}},function(e,t){if(e)return i(e);i(null,n)})},onView:function(e,n,i){n.joinModel2(e.current_id_app,customer,[{where:{id_kh:"_id"},fields:[{name:"ten_kh",value:"ten_kh"}]}],function(e){n.forEach(function(e){var n;e.picture?(n=e.picture.split("."),e.picture_thumb=e.picture+".thumb."+n[n.length-1]):(e.picture="/getfile/others/noimage.png",e.picture_thumb="/getfile/others/noimage.png")}),i(null,n)})},onCreated:n,onUpdated:n}),this.contr.route()};