UNPKG

kpiplus

Version:

KPI+

1 lines 1.81 kB
var customer=require("../../models/customer"),User=require("../../models/user"),sokho=require("../../models/sokho"),async=require("async"),underscore=require("underscore"),arrayfuncs=require("../../libs/array-funcs"),controller=require("../../controllers/controllerRPT"),dmvt=require("../../models/dmvt"),dmnvt=require("../../models/dmnvt");module.exports=function(e){new controller(e,"baocaokhachhang",function(e,n){var a=e.query,r={id_app:a.id_app};a.tu_ngay&&(r.date_created={$gte:a.tu_ngay}),a.den_ngay&&(r.date_created?r.date_created.$lte=a.den_ngay:r.date_created={$lte:a.den_ngay}),a.ma_kh&&(r.ma_kh={$regex:a.ma_kh,$options:"i"}),a.ten_kh&&!a.ma_kh&&(r.ten_kh={$regex:a.ten_kh,$options:"i"}),a.dia_chi&&!a.ma_kh&&(r.dia_chi={$regex:a.dia_chi,$options:"i"}),a.tinh_thanh&&"null"!=a.tinh_thanh&&!a.ma_kh&&(r.tinh_thanh={$regex:a.tinh_thanh,$options:"i"}),a.nh_kh&&!a.ma_kh&&(r.nh_kh={$regex:a.nh_kh,$options:"i"}),a.phu_trach&&"null"!=a.phu_trach&&!a.ma_kh&&(r.phu_trach={$regex:a.phu_trach,$options:"i"}),async.parallel({find_product:function(e){a.ma_vt&&!a.ma_kh?sokho.find({id_app:a.id_app,ma_vt:a.ma_vt},{ma_kh:1}).lean().exec(function(n,a){if(n)return e(n);var t=underscore.pluck(a,"ma_kh");r.ma_kh={$in:t},e(null)}):e(null)},find_product_group:function(e){a.ma_vt||!a.ma_nvt||a.ma_kh?e(null):dmvt.find({id_app:a.id_app,ma_nvt:a.ma_nvt},{_id:1}).lean().exec(function(n,t){if(n)return e(n);var i=underscore.pluck(t,"_id");sokho.find({id_app:a.id_app,ma_vt:{$in:i}},{ma_kh:1}).lean().exec(function(n,a){if(n)return e(n);var t=underscore.pluck(a,"ma_kh");r.ma_kh={$in:t},e(null)})})}},function(e,a){if(e)return n(e);customer.find(r).lean().exec(function(e,a){if(e)return n(e);a.joinModel(null,User,[{where:{email:"phu_trach"},fields:[{name:"ten_phu_trach",value:"name"}]}],function(e){n(null,a)})})})})};