kpiplus
Version:
KPI+
1 lines • 3.27 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"),dmdoi=(dmnv=require("../../models/dmnv"),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(a){new controller(a,"thdanhgianhanvien",function(a,e){var i=a.query.id_app,n={};n.id_app=i,n.ky=a.query.ky,n.nam=a.query.nam,a.query.ma_nv&&(n.ma_nv=a.query.ma_nv),a.query.ma_bp&&(n.ma_bp=a.query.ma_bp),a.query.ma_doi&&(n.ma_doi=a.query.ma_doi),a.query.ma_to&&(n.ma_to=a.query.ma_to),phieudanhgia.find(n).lean().exec((a,n)=>{if(a)return e(a);async.parallel({bophan:a=>{dmbp.find({id_app:i}).lean().exec((e,i)=>{a(e,i)})},doi:a=>{dmdoi.find({id_app:i}).lean().exec((e,i)=>{a(e,i)})},to:a=>{dmto.find({id_app:i}).lean().exec((e,i)=>{a(e,i)})},nhom:a=>{dmnhnv.find({id_app:i}).lean().exec((e,i)=>{a(e,i)})},nhanvien:a=>{dmnv.find({id_app:i}).lean().exec((e,i)=>{a(e,i)})},doituongdanhgia:a=>{dmdoituongdanhgia.find({id_app:i}).lean().exec((e,i)=>{a(e,i)})}},(a,i)=>{if(a)return e(a);i.bophan.forEach(a=>{a.so_nhan_su=i.nhanvien.filter(e=>e.ma_bp===a.ma_bp).length,a.doituongdanhgia=i.doituongdanhgia.map(e=>{let i=JSON.parse(JSON.stringify(e));return i.CM=n.filter(e=>e.ma_bp===a.ma_bp&&"CM"===e.exfields[i._id.toString()+":xep_loai"]).length,i.TB=n.filter(e=>e.ma_bp===a.ma_bp&&"TB"===e.exfields[i._id.toString()+":xep_loai"]).length,i}),a.details=i.doi.filter(e=>e.ma_bp===a.ma_bp)}),i.doi.forEach(a=>{a.so_nhan_su=i.nhanvien.filter(e=>e.ma_doi===a.ma_doi).length,a.doituongdanhgia=i.doituongdanhgia.map(e=>{let i=JSON.parse(JSON.stringify(e));return i.CM=n.filter(e=>e.ma_bp===a.ma_bp&&e.ma_doi===a.ma_doi&&"CM"===e.exfields[i._id.toString()+":xep_loai"]).length,i.TB=n.filter(e=>e.ma_bp===a.ma_bp&&e.ma_doi===a.ma_doi&&"TB"===e.exfields[i._id.toString()+":xep_loai"]).length,i}),a.details=i.to.filter(e=>a.ma_bp===e.ma_bp&&a.ma_doi===e.ma_doi)}),i.to.forEach(a=>{a.so_nhan_su=i.nhanvien.filter(e=>e.ma_to===a.ma_to).length,a.doituongdanhgia=i.doituongdanhgia.map(e=>{let i=JSON.parse(JSON.stringify(e));return i.CM=n.filter(e=>e.ma_bp===a.ma_bp&&e.ma_doi===a.ma_doi&&e.ma_to===a.ma_to&&"CM"===e.exfields[i._id.toString()+":xep_loai"]).length,i.TB=n.filter(e=>e.ma_bp===a.ma_bp&&e.ma_doi===a.ma_doi&&e.ma_to===a.ma_to&&"TB"===e.exfields[i._id.toString()+":xep_loai"]).length,i}),a.details=i.nhom.filter(e=>a.ma_bp===e.ma_bp&&a.ma_doi===e.ma_doi&&a.ma_to===e.ma_to)}),i.nhom.forEach(a=>{a.so_nhan_su=i.nhanvien.filter(e=>e.ma_nh_nv===a.ma_nh_nv).length,a.doituongdanhgia=i.doituongdanhgia.map(e=>{let i=JSON.parse(JSON.stringify(e));return i.CM=n.filter(e=>e.ma_bp===a.ma_bp&&e.ma_doi===a.ma_doi&&e.ma_to===a.ma_to&&e.ma_nh_nv===a.ma_nh_nv&&"CM"===e.exfields[i._id.toString()+":xep_loai"]).length,i.TB=n.filter(e=>e.ma_bp===a.ma_bp&&e.ma_doi===a.ma_doi&&e.ma_to===a.ma_to&&e.ma_nh_nv===a.ma_nh_nv&&"TB"===e.exfields[i._id.toString()+":xep_loai"]).length,i})}),e(null,i)})})})};