flexbiz-server
Version:
Flexible Server
20 lines (19 loc) • 9.29 kB
JavaScript
const cktt=require("../../libs/cktt"),ckcn=require("../../libs/ckcn"),ckdt=require("../../libs/ckdt"),cknphep=require("../../libs/cknphep"),ckvt=require("../../libs/ckvt"),ckvtnpp=require("../../libs/ckvtnpp"),ckdiem=require("../../libs/ckdiem"),cdtk=global.getModel("cdtk"),cdkh=global.getModel("cdkh"),cddt=global.getModel("cddt"),cdnphep=global.getModel("cdnphep"),cdvt=global.getModel("cdvt"),cdvtnpp=global.getModel("cdvtnpp"),cddiem=global.getModel("cddiem"),dvcs=global.getModel("dvcs"),dmkho=global.getModel("dmkho"),
underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),async=require("async"),moment=require("moment"),utils=require("../../libs/utils");
module.exports=function($router$$){new controller($router$$,"kcsns",async($req$$,$callback$$)=>{if(!$req$$.user.appAdmin)return $callback$$({error:"Ch\u1ec9 ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb m\u1edbi c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y"});if(!$req$$.query.nam)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 N\u0103m(nam)");var $nam_ngay_ks$$=Number($req$$.query.nam);const $sang_nam$$=$nam_ngay_ks$$+1,$den_ngay$$=moment([$nam_ngay_ks$$,11,
31]).endOf("year").toDate();let $_app$$=await global.getModel("app").findOne({_id:$req$$.user.current_id_app});if(!$_app$$)return $callback$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");if($nam_ngay_ks$$=await utils.isBookLocked({id_app:$req$$.user.current_id_app,ngay_ct:moment(`${$sang_nam$$}-01-01`).startOf("year").toDate(),ngay_ks:$_app$$.ngay_ks}))return $callback$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${moment($nam_ngay_ks$$).format("DD/MM/YYYY")}`);dvcs.find({id_app:$req$$.query.id_app}).lean().then(function($ds_dvcs$$){async.mapSeries($ds_dvcs$$,
function($dv$$,$callback$$){const $ma_dvcs$$=$dv$$._id.toString(),$condition$$={id_app:$req$$.query.id_app,ngay:$den_ngay$$,ma_dvcs:$ma_dvcs$$};async.series({ck_tt:function($callback$$){setImmediate(()=>{cdtk.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0,ma_dvcs:$ma_dvcs$$},function($condition_tktt_e$$){if($condition_tktt_e$$)return $callback$$($condition_tktt_e$$);$condition_tktt_e$$={...$condition$$,groupBy:["tk"]};($_app$$.options||{}).kc_theo_kho&&$condition_tktt_e$$.groupBy.push("ma_kho");
cktt($condition_tktt_e$$,function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.id_app=$req$$.query.id_app;$r$$.kc_yn=!0;$r$$.ma_dvcs=$ma_dvcs$$});async.mapSeries($rs$$,function($r$$,$callback$$){(new cdtk($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},
function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})})},ck_cn:function($callback$$){setImmediate(()=>{cdkh.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0,ma_dvcs:$ma_dvcs$$},function($e$$){if($e$$)return $callback$$($e$$);$e$$=["tk","ma_kh"];$req$$.query.cn_theo_dt&&$e$$.push("ma_dt");$req$$.query.cn_theo_kho&&$e$$.push("ma_kho");$req$$.query.cn_theo_bp&&$e$$.push("ma_bp");$req$$.query.cn_theo_nv&&$e$$.push("ma_nv");$req$$.query.cn_theo_nv_giao_hang&&
$e$$.push("ma_nv_giao_hang");$req$$.query.cn_theo_nv_phu_xe&&$e$$.push("ma_nv_phu_xe");$req$$.query.cn_theo_hd&&$e$$.push("ma_hd");$req$$.query.cn_theo_phi&&$e$$.push("ma_phi");ckcn({...$condition$$,groupBy:$e$$},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app;
$r$$.ma_dvcs=$ma_dvcs$$});async.mapSeries($rs$$,function($r$$,$callback$$){(new cdkh($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})})},ck_vt:function($callback$$){setImmediate(()=>{dmkho.find({id_app:$req$$.query.id_app},function($e$$,$ds_kho$$){if($e$$)return $callback$$($e$$);async.mapSeries($ds_kho$$,function($kho$$,$callback$$){var $ma_kho$$=$kho$$.ma_kho,
$query_vt$$={ma_kho:$ma_kho$$,groupBy:"ma_vt ma_kho ma_lo han_sd ma_tt1 ma_tt2 ma_tt3".split(" ")};underscore.extend($query_vt$$,$condition$$);cdvt.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0,ma_dvcs:$ma_dvcs$$,ma_kho:$ma_kho$$},function($e$$){if($e$$)return $callback$$($e$$);ckvt($query_vt$$,function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=
$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app;$r$$.ma_dvcs=$ma_dvcs$$;$r$$.ma_kho=$ma_kho$$});async.mapSeries($rs$$,function($r$$,$callback$$){(new cdvt($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})},ck_vt_npp:function($callback$$){setImmediate(()=>
{dmkho.find({id_app:$req$$.query.id_app},function($e$$,$ds_kho$$){if($e$$)return $callback$$($e$$);async.mapSeries($ds_kho$$,function($kho$$,$callback$$){const $ma_kho$$=$kho$$.ma_kho,$query_vt$$={ma_kho:$ma_kho$$,groupBy:"ma_vt ma_kho ma_kh ma_lo han_sd ma_tt1 ma_tt2 ma_tt3".split(" ")};underscore.extend($query_vt$$,$condition$$);cdvtnpp.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0,ma_dvcs:$ma_dvcs$$,ma_kho:$ma_kho$$},function($e$$){if($e$$)return $callback$$($e$$);ckvtnpp($query_vt$$,
function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app;$r$$.ma_dvcs=$ma_dvcs$$;$r$$.ma_kho=$ma_kho$$});async.mapSeries($rs$$,function($r$$,$callback$$){(new cdvtnpp($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},
function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})},ck_dt:function($callback$$){setImmediate(()=>{cddt.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0,ma_dvcs:$ma_dvcs$$},function($e$$){if($e$$)return $callback$$($e$$);ckdt($condition$$,function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$=$rs$$.filter($r$$=>$r$$.ma_dt);$rs$$.forEach(function($r$$){delete $r$$._id;
delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app;$r$$.ma_dvcs=$ma_dvcs$$});async.mapSeries($rs$$,function($r$$,$callback$$){(new cddt($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})})}},function($e$$){if($e$$)return $callback$$($e$$);
$callback$$(null,{result:"OK"})})},function($e$$){if($e$$)return $callback$$($e$$);async.series([function($callback$$){setImmediate(()=>{cddiem.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0},function($e$$){if($e$$)return $callback$$($e$$);ckdiem({id_app:$req$$.query.id_app,ngay:$den_ngay$$},function($e$$,$rs$$){if($e$$)return Logger.error($e$$),$callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;
$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app});async.mapSeries($rs$$,function($r$$,$callback$$){(new cddiem($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},function($e$$){if($e$$)return $callback$$($e$$);$callback$$(null)})})})})},function($callback$$){setImmediate(()=>{cdnphep.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0},function($e$$){if($e$$)return $callback$$($e$$);
cknphep({id_app:$req$$.query.id_app,ngay:$den_ngay$$},function($e$$,$rs$$){if($e$$)return Logger.error($e$$),$callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app});async.mapSeries($rs$$,function($r$$,$callback$$){(new cdnphep($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);
$callback$$(null,$rs_s$$)})},function($e$$){if($e$$)return $callback$$($e$$);$callback$$(null)})})})})}],$e$$=>{if($e$$)return $callback$$({error:$e$$.error||$e$$.message||$e$$});$callback$$(null,[{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"}])})})}).catch($e$$=>{$callback$$($e$$)})})};