UNPKG

flexbiz-server

Version:

Flexible Server

5 lines (4 loc) 1.49 kB
'use strict';const model=global.getModel("dmdoi"),dmbp=global.getModel("dmbp"),Participant=global.getModel("participant"),controller=require("../../controllers/controller"),async=require("async"); module.exports=function($router$$){(new controller($router$$,model,"dmdoi",{sort:{ma_bp:1,ma_doi:1},unique:["ma_doi"],onView:function($user$$,$items$$,$next$$){async.series({dp:function($callback$$){$items$$.joinModel2($user$$.current_id_app,dmbp,[{where:{ma_bp:"ma_bp"},fields:["ten_bp"]}],function(){$callback$$(null,$items$$)})},pt:function($callback$$){$items$$.joinModel2($user$$.current_id_app,Participant,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(){$callback$$(null, $items$$)})},ph:function($callback$$){$items$$.joinModel2($user$$.current_id_app,Participant,[{where:{phoi_hop:"email"},fields:[{ten_phoi_hop:"name"}]}],function(){$callback$$(null,$items$$)})}},()=>{$next$$(null,$items$$)})},onRightByItem:($user$$,$condition$$,$next$$)=>{async.series({phu_trach_bp:$callback$$=>{dmbp.find({id_app:$user$$.current_id_app,phu_trach:$user$$.email}).lean().exec(($e$$,$bps$$)=>{$callback$$(null,$bps$$)})}},($$or_e$$,$_condition_rs$$)=>{if($$or_e$$)return $next$$($$or_e$$); $$or_e$$=[{ma_bp:{$in:$_condition_rs$$.phu_trach_bp.map($p$$=>$p$$.ma_bp)}}];$_condition_rs$$=[];for(let $k$$ in $condition$$){let $_c$$={};$_c$$[$k$$]=$condition$$[$k$$];$_condition_rs$$.push($_c$$)}$$or_e$$.push({$and:$_condition_rs$$});$next$$(null,{$or:$$or_e$$})})}})).route()};