UNPKG

kpiplus

Version:

KPI+

1 lines 3 kB
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,"ctdanhgianhanvien",function(e,n){var o=e.query.id_app,i={};i.id_app=o,i.ky=e.query.ky,i.nam=e.query.nam,e.query.ma_nv&&(i.ma_nv=e.query.ma_nv),e.query.ma_bp&&(i.ma_bp=e.query.ma_bp),e.query.ma_doi&&(i.ma_doi=e.query.ma_doi),e.query.ma_to&&(i.ma_to=e.query.ma_to),phieudanhgia.find(i).lean().exec((e,i)=>{if(e)return n(e);async.parallel({bophan:e=>{dmbp.find({id_app:o}).lean().exec((n,o)=>{o.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:o}).lean().exec((n,o)=>{o.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(n){o.forEach(e=>{e.sysorder=1,e.bold=!0,e.ten_nv=e.ten_doi}),e(null,o)})})},to:e=>{dmto.find({id_app:o}).lean().exec((n,o)=>{o.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(n){o.forEach(e=>{e.sysorder=2,e.bold=!0,e.ten_nv=e.ten_to}),e(null,o)})})},nhom:e=>{dmnhnv.find({id_app:o}).lean().exec((n,o)=>{o.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(n){o.forEach(e=>{e.sysorder=3,e.bold=!0,e.ten_nv=e.ten_nh_nv}),e(null,o)})})},nhanvien:e=>{dmnv.find({id_app:o}).lean().exec((n,i)=>{i.joinModel2(o,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(n){i.forEach(e=>{e.sysorder=9,e.bold=!1}),e(null,i)})})},doituongdanhgia:e=>{dmdoituongdanhgia.find({id_app:o}).lean().exec((n,o)=>{e(n,o)})},phieudanhgias:e=>{i.joinModel2(o,dmnv,[{where:{ma_nv:"ma_nv"},fields:[{ten_nv:"ten_nv"},{chuc_vu:"chuc_vu"}]}],function(n){i.joinModel2(o,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(n){i.forEach(e=>{e.sysorder=9,e.bold=!1}),e(null,i)})})}},(e,o)=>{if(e)return n(e);let i=o.nhanvien.filter(e=>!o.phieudanhgias.find(n=>n.ma_nv==e.ma_nv)).filter(e=>e.ma_doi);o.phieudanhgias=o.phieudanhgias.concat(i),o.nhom=o.nhom.filter(e=>o.phieudanhgias.find(n=>n.ma_nh_nv==e.ma_nh_nv&&n.ma_to==e.ma_to&&n.ma_doi==e.ma_doi)),o.to=o.to.filter(e=>o.phieudanhgias.find(n=>n.ma_to==e.ma_to&&n.ma_doi==e.ma_doi)),o.doi=o.doi.filter(e=>o.phieudanhgias.find(n=>n.ma_doi==e.ma_doi)),o.report=o.doi.concat(o.to).concat(o.nhom).concat(o.phieudanhgias),o.report=underscore.sortBy(o.report,e=>(e.ma_doi||"")+(e.ma_to||"")+(e.ma_nh_nv||"")),n(null,o)})})})};