UNPKG

kpiplus

Version:

KPI+

1 lines 1.6 kB
var model=require("../../models/opportunity"),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(n){var e=function(n,e,t){!function(n,e,t){e.id_kh&&link.find({$or:[{id_a:e._id.toString(),id_b:e.id_kh},{id_a:e.id_kh,id_b:e._id.toString()}]}).lean().exec(function(n,t){t&&0!==t.length||new link({id_app:e.id_app,id_a:e.id_kh,id_b:e._id.toString(),collection_a:"dmkh",collection_b:"opportunity"}).save(function(n,e){n&&console.error(n)})}),t&&t(null,e)}(0,e),t(null,e)};this.contr=new controller(n,model,"opportunity",{sort:{user_created:-1},onFinding:function(n,e,t){async.parallel({find_ten_kh:function(n){e.ten_kh?customer.find({ten_kh:{$regex:e.ten_kh,$options:"i"}},{_id:1}).lean().exec(function(t,i){if(t)return n(t);delete e.ten_kh;var r=[];i.forEach(function(n){r.push(n._id.toString())}),e.id_kh={$in:r},n()}):n()}},function(n,i){if(n)return t(n);t(null,e)})},onView:function(n,e,t){e.joinModel2(n.current_id_app,customer,[{where:{id_kh:"_id"},fields:[{name:"ten_kh",value:"ten_kh"}]}],function(n){e.forEach(function(n){0==n.tinh_tren&&(n.ten_tinh_tren="tổng cộng"),1==n.tinh_tren&&(n.ten_tinh_tren="hàng ngày"),2==n.tinh_tren&&(n.ten_tinh_tren="hàng tháng"),3==n.tinh_tren&&(n.ten_tinh_tren="hàng quý"),4==n.tinh_tren&&(n.ten_tinh_tren="hàng năm")}),t(null,e)})},onCreating:function(n,e,t,i){e.phu_trach||(e.phu_trach=n.email),t(null,e)},onCreated:e,onUpdated:e}),this.contr.route()};