flexbiz-server
Version:
Flexible Server
12 lines (11 loc) • 5.27 kB
JavaScript
'use strict';const model=global.getModel("dmdt"),dkhoc=global.getModel("dkhoc"),controller=require("../../controllers/controller"),customer=global.getModel("customer"),trangthai=global.getModel("trangthai"),link=global.getModel("link"),group=global.getModel("group"),async=require("async"),getSysorder=function($item$$,$callback$$){let $sysorder$$=($item$$.stt||"0")+"-"+$item$$.ma_dt;$item$$.ma_dt_me?model.findOne({ma_dt:$item$$.ma_dt_me,id_app:$item$$.id_app}).lean().exec(function($e$$,$item_me$$){$item_me$$?
getSysorder($item_me$$,function($rs$$){$sysorder$$=$rs$$+"---"+$sysorder$$;$callback$$($sysorder$$)}):$callback$$($sysorder$$)}):$callback$$($sysorder$$)};
module.exports=function($contr_router$$){const $createLink$$=function($user$$,$obj$$,$next$$){$obj$$.id_kh&&link.find({$or:[{id_a:$obj$$._id.toString(),id_b:$obj$$.id_kh},{id_a:$obj$$.id_kh,id_b:$obj$$._id.toString()}]}).lean().exec(function($e$jscomp$0$$,$rs$$){$rs$$&&0!==$rs$$.length||(new link({id_app:$obj$$.id_app,id_a:$obj$$.id_kh,id_b:$obj$$._id.toString(),collection_a:"dmkh",collection_b:"dmdt"})).save(function($e$$){$e$$&&console.error($e$$)})});$next$$&&$next$$(null,$obj$$)},$createLinkAndCode$$=
function($user$$,$obj$$,$next$$){$createLink$$($user$$,$obj$$);$obj$$.ma_dt?$next$$(null,$obj$$):model.findByIdAndUpdate($obj$$._id,{$set:{ma_dt:$obj$$._id.toString().toUpperCase()}},function($error$$,$kh$$){return $error$$?$next$$($error$$):$kh$$?($kh$$.ma_dt=$obj$$._id.toString().toUpperCase(),$next$$(null,$kh$$)):$next$$(Error("Project is not exists"))})};$contr_router$$=new controller($contr_router$$,model,"dmdt",{sort:{sysorder:1},unique:["ma_dt"],onFinding:function($user$$,$condition$$,$next$$){async.series({find_ten_kh:function($callback$$){$condition$$.ten_kh?
customer.find({id_app:$user$$.current_id_app,ten_kh:{$regex:$condition$$.ten_kh,$options:"i"}},{_id:1}).lean().exec(function($e$$,$khs$$){if($e$$)return $callback$$($e$$);delete $condition$$.ten_kh;var $id_khs$$=[];$khs$$.forEach(function($kh$$){$id_khs$$.push($kh$$._id.toString())});$condition$$.id_kh={$in:$id_khs$$};$callback$$()}):$callback$$()}},function($e$$){if($e$$)return $next$$($e$$);$next$$(null,$condition$$)})},onFound:($user$$,$condition$$,$items$$,$next$$)=>{console.log("found",JSON.stringify($condition$$));
$next$$(null,$items$$)},onView:function($user$$,$items$$,$next$$){async.series({kh:$callback$$=>{$items$$.joinModel2(null,customer,[{where:{id_kh:"_id"},fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){$callback$$()})},trangthai:$callback$$=>{$items$$.joinModel2(null,trangthai,[{where:$a$$=>void 0===$a$$.trang_thai?{}:{ma_ct:"DMDT",ma_trang_thai:$a$$.trang_thai},fields:["ten_trang_thai","ten_trang_thai_en","color"]}],function(){$callback$$()})},group:$callback$$=>{$items$$.joinModel2(null,group,
[{where:{nh_dt:"_id"},fields:["group_name","group_name_en",{group_color:"color"}]}],function(){$callback$$()})},da_dang_ky:$callback$jscomp$1$$=>{async.mapSeries($items$$,($item$$,$callback$jscomp$0$$)=>{async.mapSeries($item$$.ds_ca_hoc,($ca$$,$callback$$)=>{dkhoc.find({id_app:$item$$.id_app,ma_dt:$item$$.ma_dt,ma_ca_hoc:$ca$$.ma_ca_hoc}).lean().exec(($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$ca$$.sl_da_dk=$rs$$.map(()=>1).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$callback$$()})},()=>{$item$$.sl_da_dk=
($item$$.ds_ca_hoc||[]).map($d$$=>$d$$.sl_da_dk).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$$.sl_con_thieu=($item$$.sl_du_tinh||0)-$item$$.sl_da_dk;$callback$jscomp$0$$()})},()=>{$callback$jscomp$1$$()})}},()=>{$next$$(null,$items$$)})},onCreating:function($user$$,$obj$$,$fn$$){$obj$$.ma_dt||($obj$$.ma_dt=$obj$$.ten_dt.toUpperCase());$fn$$(null,$obj$$)},onCreated:($user$$,$obj$$,$next$$)=>{getSysorder($obj$$,function($rs$$){$obj$$.sysorder=$rs$$;$obj$$.bac=$rs$$.split("---").length;model.findOneAndUpdate({_id:$obj$$._id},
{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:1}},function($e$$){$e$$&&console.log($e$$)});$createLinkAndCode$$($user$$,$obj$$,$next$$)})},onUpdated:($user$$,$obj$$,$next$$)=>{getSysorder($obj$$,async function($loai_nh_rs$$){$obj$$.sysorder=$loai_nh_rs$$;$obj$$.bac=$loai_nh_rs$$.split("---").length;$loai_nh_rs$$=1;await model.findOne({ma_dt_me:$obj$$.ma_dt.toString(),id_app:$obj$$.id_app})&&($loai_nh_rs$$=0);$obj$$.loai_nh=$loai_nh_rs$$;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,
sysorder:$obj$$.sysorder,loai_nh:$loai_nh_rs$$}},function($e$$){$e$$&&console.log($e$$)});$createLinkAndCode$$($user$$,$obj$$,$next$$)})}});$contr_router$$.route();$contr_router$$.on("saved",function($obj$jscomp$0$$){const $ma_dt_me$$=$obj$jscomp$0$$.ma_dt_me;$ma_dt_me$$&&model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,ma_dt:$ma_dt_me$$},{$set:{loai_nh:0}},function($error$$,$obj$$){$error$$?console.error($error$$):$obj$$?console.log("updated "+$obj$$._id):console.log("Not found mother account:"+
$ma_dt_me$$)})});$contr_router$$.on("deleted",function($obj$jscomp$0$$){$obj$jscomp$0$$.ma_dt_me&&model.findOne({ma_dt_me:$obj$jscomp$0$$.ma_dt_me,id_app:$obj$jscomp$0$$.id_app},function($error$jscomp$0$$,$acc$$){$error$jscomp$0$$||$acc$$||model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,ma_dt:$obj$jscomp$0$$.ma_dt_me},{$set:{loai_nh:1}},function($error$$,$obj$$){$error$$||$obj$$&&console.log("updated "+$obj$$._id)})})})};