kpiplus
Version:
KPI+
1 lines • 3.27 kB
JavaScript
;var cktt=require("../../libs/cktt"),ckcn=require("../../libs/ckcn"),ckdt=require("../../libs/ckdt"),ckvt=require("../../libs/ckvt"),cdtk=require("../../models/cdtk"),cdkh=require("../../models/cdkh"),cddt=require("../../models/cddt"),cdvt=require("../../models/cdvt"),dvcs=require("../../models/dvcs"),dmkho=require("../../models/dmkho"),arrayfuncs=require("../../libs/array-funcs"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),async=require("async"),moment=require("moment");module.exports=function(e){new controller(e,"kcsns",function(e,n){if(!e.query.nam)return n("Chức năng này yêu cầu tham số Năm(nam)");var t=Number(e.query.nam)+1,r=moment(new Date(e.query.nam+"-12-31")).endOf("year").toDate();dvcs.find({id_app:e.query.id_app}).lean().exec(function(u,a){if(u)return n(u);async.map(a,function(n,u){var a=n._id.toString(),d={id_app:e.query.id_app,ngay:r,ma_dvcs:a};async.parallel({ck_tt:function(n){cdtk.remove({nam:t,id_app:e.query.id_app,kc_yn:!0,ma_dvcs:a},function(r,u){if(r)return n(r);cktt(d,function(r,u){if(r)return n(r);u.forEach(function(n){delete n._id,delete n.date_created,delete n.date_updated,n.user_created=e.user.email,n.user_updated=e.user.email,n.nam=t,n.id_app=e.query.id_app,n.kc_yn=!0,n.ma_dvcs=a}),async.map(u,function(e,n){new cdtk(e).save(function(t,r){if(t)return t.data=e,n(t);n(null,r)})},function(e,t){if(e)return n(e);n(null,t)})})})},ck_cn:function(n){cdkh.remove({nam:t,id_app:e.query.id_app,kc_yn:!0,ma_dvcs:a},function(r,u){if(r)return n(r);ckcn(d,function(r,u){if(r)return n(r);u.forEach(function(n){delete n._id,delete n.date_created,delete n.date_updated,n.user_created=e.user.email,n.user_updated=e.user.email,n.nam=t,n.kc_yn=!0,n.id_app=e.query.id_app,n.ma_dvcs=a}),async.map(u,function(e,n){new cdkh(e).save(function(t,r){if(t)return t.data=e,n(t);n(null,r)})},function(e,t){if(e)return n(e);n(null,t)})})})},ck_vt:function(n){dmkho.find({id_app:e.query.id_app},function(r,u){if(r)return n(r);async.map(u,function(n,r){var u=n.ma_kho,c={ma_kho:u,groupBy:["ma_vt","ma_kho","ma_lo","han_sd","ma_tt1","ma_tt2","ma_tt3"]};underscore.extend(c,d),cdvt.remove({nam:t,id_app:e.query.id_app,kc_yn:!0,ma_dvcs:a,ma_kho:u},function(n,d){if(n)return r(n);ckvt(c,function(n,d){if(n)return r(n);d.forEach(function(n){delete n._id,delete n.date_created,delete n.date_updated,n.user_created=e.user.email,n.user_updated=e.user.email,n.nam=t,n.kc_yn=!0,n.id_app=e.query.id_app,n.ma_dvcs=a,n.ma_kho=u}),async.map(d,function(e,n){new cdvt(e).save(function(t,r){if(t)return t.data=e,n(t);n(null,r)})},function(e,n){if(e)return r(e);r(null,n)})})})},function(e,t){if(e)return n(e);n(null,t)})})},ck_dt:function(n){cddt.remove({nam:t,id_app:e.query.id_app,kc_yn:!0,ma_dvcs:a},function(r,u){if(r)return n(r);ckdt(d,function(r,u){if(r)return n(r);u.forEach(function(n){delete n._id,delete n.date_created,delete n.date_updated,n.user_created=e.user.email,n.user_updated=e.user.email,n.nam=t,n.kc_yn=!0,n.id_app=e.query.id_app,n.ma_dvcs=a}),async.map(u,function(e,n){new cddt(e).save(function(t,r){if(t)return t.data=e,n(t);n(null,r)})},function(e,t){if(e)return n(e);n(null,t)})})})}},function(e,n){if(e)return u(e);u(null,{result:"OK"})})},function(e,t){if(e)return n(e);n(null,t)})})})};