UNPKG

flexbiz-server

Version:

Flexible Server

12 lines (11 loc) 5.24 kB
const cktt=require("../../libs/cktt"),ckcn=require("../../libs/ckcn"),ckvt=require("../../libs/ckvt"),cdtktheongay=global.getModel("cdtktheongay"),cdkhtheongay=global.getModel("cdkhtheongay"),cdvttheongay=global.getModel("cdvttheongay"),dvcs=global.getModel("dvcs"),dmkho=global.getModel("dmkho"),_=require("lodash"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),{executeInTransaction}=require("../../libs/sessionContext"),khoaso=async($user$$,$condition_query$$,$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$, $_app$$,$den_ngay$$)=>{for(let $dv$$ of $condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$){const $ma_dvcs$$=$dv$$._id.toString();$condition_query$$={id_app:$_app$$._id.toString(),ngay:$den_ngay$$,ma_dvcs:$ma_dvcs$$};const $id_app$$=$_app$$._id.toString();await cdtktheongay.deleteMany({den_ngay:{$gte:$den_ngay$$},id_app:$id_app$$,kc_yn:!0,ma_dvcs:$ma_dvcs$$});$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$={...$condition_query$$,groupBy:["tk"]};($_app$$.options||{}).kc_theo_kho&& $condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$.groupBy.push("ma_kho");$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$=await cktt($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$,null,{model:"socai"});$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$user$$.email;$r$$.user_updated=$user$$.email;$r$$.den_ngay=$den_ngay$$;$r$$.id_app= $id_app$$;$r$$.kc_yn=!0;$r$$.ma_dvcs=$ma_dvcs$$});await cdtktheongay.create($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$);await cdkhtheongay.deleteMany({den_ngay:{$gte:$den_ngay$$},id_app:$id_app$$,kc_yn:!0,ma_dvcs:$ma_dvcs$$});$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$=await ckcn({...$condition_query$$,groupBy:"tk ma_kh ma_dt ma_kho ma_bp ma_nv ma_nv_giao_hang phu_xe ma_hd ma_phi".split(" ")},null,{model:"socai"});$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$.forEach(function($r$$){delete $r$$._id; delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$user$$.email;$r$$.user_updated=$user$$.email;$r$$.den_ngay=$den_ngay$$;$r$$.kc_yn=!0;$r$$.id_app=$id_app$$;$r$$.ma_dvcs=$ma_dvcs$$});await cdkhtheongay.create($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$);$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$=await dmkho.find({id_app:$id_app$$}).lean();for(let $kho$$ of $condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$){const $ma_kho$$= $kho$$.ma_kho;$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$={ma_kho:$ma_kho$$,groupBy:"ma_vt ma_kho ma_lo han_sd ma_tt1 ma_tt2 ma_tt3".split(" ")};_.extend($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$,$condition_query$$);await cdvttheongay.deleteMany({den_ngay:{$gte:$den_ngay$$},id_app:$id_app$$,kc_yn:!0,ma_dvcs:$ma_dvcs$$,ma_kho:$ma_kho$$});$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$=await ckvt($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$); $condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$user$$.email;$r$$.user_updated=$user$$.email;$r$$.den_ngay=$den_ngay$$;$r$$.kc_yn=!0;$r$$.id_app=$id_app$$;$r$$.ma_dvcs=$ma_dvcs$$;$r$$.ma_kho=$ma_kho$$});await cdvttheongay($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$)}}}; module.exports=function($router$$){new controller($router$$,"khoaso",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.ngay_ks)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 Ng\u00e0y kho\u00e1 s\u1ed5(ngay_ks)");const $den_ngay$$=moment($req$$.query.ngay_ks).endOf("date").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");try{const $ds_dvcs$$=await dvcs.find({id_app:$req$$.query.id_app}).lean();let $_den_ngay$$=moment($_app$$.ngay_ks).endOf("month");$_den_ngay$$=$_den_ngay$$.add(1,"month").endOf("month");$_den_ngay$$=$_den_ngay$$.toDate();for($_den_ngay$$>$den_ngay$$&&($_den_ngay$$=$den_ngay$$);$_den_ngay$$<=$den_ngay$$;)if(Logger.info($_app$$.name,"\u0111ang kho\u00e1 s\u1ed5 \u0111\u1ebfn ng\u00e0y",$_den_ngay$$),await executeInTransaction(async()=> khoaso($req$$.user,$req$$.query,$ds_dvcs$$,$_app$$,$_den_ngay$$),{forceSession:!0}),$_den_ngay$$<$den_ngay$$)$_den_ngay$$=moment($_den_ngay$$),$_den_ngay$$=$_den_ngay$$.add(1,"month").endOf("month"),$_den_ngay$$=$_den_ngay$$.toDate(),$_den_ngay$$>$den_ngay$$&&($_den_ngay$$=$den_ngay$$);else break;await global.getModel("app").updateOne({_id:$_app$$._id},{ngay_ks:$req$$.query.ngay_ks});$callback$$(null,[{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"}])}catch($e$$){$callback$$($e$$)}}, {cache:!1})};