flexbiz-server
Version:
Flexible Server
6 lines (5 loc) • 2.15 kB
JavaScript
const model=global.getModel("group"),dmdt=global.getModel("dmdt"),dmbp=global.getModel("dmbp"),task=global.getModel("task"),User=global.getModel("user"),UserGroup=global.getModel("usergroup"),Participant=global.getModel("participant"),controller=require("../../controllers/controller"),async=require("async"),dmnhtask=function($router$$){(new controller($router$$,model,"dmnhtask",{sort:{group_name:1},findExact:{group_type:1},notNeedRight:($user$$,$options$$={})=>($options$$.action||"").toLowerCase()==
"view"?!0:!1,onView:($user$$,$items$$,$next$$)=>{async.series({dt:$cb$$=>{$items$$.filter($r$$=>$r$$.ma_dt).joinModel2($user$$.current_id_app,dmdt,{where:"ma_dt",fields:[{ten_dt:"ten_dt"},{id_dt:"_id"}]},()=>{$cb$$(null)})},bp:$cb$$=>{$items$$.filter($r$$=>$r$$.ma_bp).joinModel2($user$$.current_id_app,dmbp,{where:"ma_bp",fields:"ten_bp"},()=>{$cb$$(null)})},pt:async()=>{await $items$$.asyncJoinModel2($user$$.current_id_app,Participant,{where:{phu_trach:"email"},fields:{nhom_phu_trach:"group_id"}});
await $items$$.asyncJoinModel2($user$$.current_id_app,UserGroup,{where:{nhom_phu_trach:"_id"},fields:{ten_nhom_phu_trach:"group_name"}});await $items$$.asyncJoinModel2(null,User,{where:{phu_trach:"email"},fields:{ten_phu_trach:"name"}});return null},tasks:async()=>{await Promise.all($items$$.map($item$$=>(async()=>{$item$$.total_tasks=await task.countDocuments({id_app:$user$$.current_id_app,nh_cv:$item$$._id.toString(),saved:{$ne:!0}});$item$$.total_tasks_done=await task.countDocuments({id_app:$user$$.current_id_app,
nh_cv:$item$$._id.toString(),progress:2,saved:{$ne:!0}});return $item$$})()));return null}},()=>{$next$$(null,$items$$)})},onFinding:($user$$,$condition$$,$cb$$)=>{$condition$$.group_type="TASK";$cb$$(null,$condition$$)},onCreating:($user$$,$data$$,$cb$$)=>{$data$$.group_type="TASK";$data$$.attends&&($data$$.attends=[...(new Set($data$$.attends))]);$cb$$(null,$data$$)},onUpdating:($user$$,$data$$,$obj$$,$cb$$)=>{$data$$.group_type="TASK";$data$$.attends=$data$$.attends||$obj$$.attends;$data$$.attends&&
($data$$.attends=[...(new Set($data$$.attends))]);$cb$$(null,$data$$,$obj$$)}})).route()};module.exports=dmnhtask;