kpiplus
Version:
KPI+
1 lines • 3.28 kB
JavaScript
var dmnv=require("../../models/dmnv"),dmnhnv=require("../../models/dmnhnv"),group=require("../../models/group"),arrayFuncs=require("../../libs/array-funcs"),phieudanhgia=require("../../models/phieudanhgia"),dmbp=require("../../models/dmbp"),User=(dmnv=require("../../models/dmnv"),require("../../models/user")),dmdoi=require("../../models/dmdoi"),dmto=require("../../models/dmto"),dmdoituongdanhgia=require("../../models/dmdoituongdanhgia"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT"),stp=require("stp-utils"),moment=require("moment");module.exports=function(e){new controller(e,"dsnhanvientb",function(e,n){var i=e.query.id_app,o={};o.id_app=i,o.ky=e.query.ky,o.nam=e.query.nam,e.query.ma_nv&&(o.ma_nv=e.query.ma_nv),e.query.ma_bp&&(o.ma_bp=e.query.ma_bp),e.query.ma_doi&&(o.ma_doi=e.query.ma_doi),e.query.ma_to&&(o.ma_to=e.query.ma_to),phieudanhgia.find(o).lean().exec((e,o)=>{if(e)return n(e);async.parallel({bophan:e=>{dmbp.find({id_app:i}).lean().exec((n,i)=>{i.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(n){n.forEach(e=>{e.sysorder=0,e.bold=!0}),e(null,n)})})},doi:e=>{dmdoi.find({id_app:i}).lean().exec((n,i)=>{i.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(n){i.forEach(e=>{e.sysorder=1,e.bold=!0,e.ten_nv=e.ten_doi}),e(null,i)})})},to:e=>{dmto.find({id_app:i}).lean().exec((n,i)=>{i.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(n){i.forEach(e=>{e.sysorder=2,e.bold=!0,e.ten_nv=e.ten_to}),e(null,i)})})},nhom:e=>{dmnhnv.find({id_app:i}).lean().exec((n,i)=>{i.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(n){i.forEach(e=>{e.sysorder=3,e.bold=!0,e.ten_nv=e.ten_nh_nv}),e(null,i)})})},nhanvien:e=>{dmnv.find({id_app:i}).lean().exec((n,o)=>{o.joinModel2(i,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(n){o.forEach(e=>{e.sysorder=9,e.bold=!1}),e(null,o)})})},doituongdanhgia:e=>{dmdoituongdanhgia.find({id_app:i}).lean().exec((n,i)=>{e(n,i)})},phieudanhgias:e=>{o.joinModel2(i,dmnv,[{where:{ma_nv:"ma_nv"},fields:[{ten_nv:"ten_nv"},{chuc_vu:"chuc_vu"}]}],function(n){o.joinModel2(i,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(n){o.forEach(e=>{e.sysorder=9,e.bold=!1}),e(null,o)})})}},(e,i)=>{if(e)return n(e);i.phieudanhgias.forEach(e=>{let n=underscore.sortBy(i.doituongdanhgia.filter(e=>e.cap_danh_gia>1),e=>e.cap_danh_gia);e.ket_qua_diem=0,e.ket_qua_xep_loai="";for(let i=0;i<n.length;i++)if(e.exfields&&e.exfields[n[i]._id+":tong_so_diem"]){e.ket_qua_diem=e.exfields[n[i]._id+":tong_so_diem"],e.ket_qua_xep_loai=e.exfields[n[i]._id+":xep_loai"];break}}),i.phieudanhgias=i.phieudanhgias.filter(e=>"TB"===e.ket_qua_xep_loai),i.nhom=i.nhom.filter(e=>i.phieudanhgias.find(n=>n.ma_nh_nv==e.ma_nh_nv&&n.ma_to==e.ma_to&&n.ma_doi==e.ma_doi)),i.to=i.to.filter(e=>i.phieudanhgias.find(n=>n.ma_to==e.ma_to&&n.ma_doi==e.ma_doi)),i.doi=i.doi.filter(e=>i.phieudanhgias.find(n=>n.ma_doi==e.ma_doi)),i.report=i.doi.concat(i.to).concat(i.nhom).concat(i.phieudanhgias),i.report=underscore.sortBy(i.report,e=>(e.ma_doi||"")+(e.ma_to||"")+(e.ma_nh_nv||"")),n(null,i)})})})};