UNPKG

flexbiz-server

Version:

Flexible Server

15 lines (14 loc) 6.67 kB
const dmvt=global.getModel("dmvt"),customer=global.getModel("customer"),dmdt=global.getModel("dmdt"),dmbp=global.getModel("dmbp"),dmkho=global.getModel("dmkho"),dmnv=global.getModel("dmnv"),dmphi=global.getModel("dmphi"),contract=global.getModel("contract"),model=global.getModel("po1"),purchasecontract=global.getModel("purchase_contract"),shipbook=global.getModel("shipbook"),vanchuyen=global.getModel("vanchuyen"),dnm=global.getModel("dnm"),bg2=global.getModel("bg2"),trangthai=global.getModel("trangthai"), controller=require("../../controllers/controller"),async=require("async"),ma_ct="PO1"; module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,check_stock:!1,sort:{ngay_ct:-1,so_ct:-1}});$contr_router$$.route();const $valid$$=function($i_user$$,$obj$$,$next$$){for($i_user$$=0;$i_user$$<$obj$$.details.length;$i_user$$++){const $detail$$=$obj$$.details[$i_user$$];$detail$$.line=$i_user$$;$detail$$.tt_nt=$detail$$.tien_nt-$detail$$.tien_ck_nt;$detail$$.tt=$detail$$.tien-$detail$$.tien_ck;$obj$$.ma_nt=="VND"&&($detail$$.tien= $detail$$.tien_nt,$detail$$.tien_ck=$detail$$.tien_ck_nt,$detail$$.tt=$detail$$.tt_nt)}$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$obj$$.id_pn1="";$obj$$.id_pnh="";$valid$$($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){$valid$$($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null, $data$$,$obj$$)})};$contr_router$$.deleting=function($user$$,$obj$$,$next$$){$next$$(null,$obj$$)};$contr_router$$.on("saved",function($obj$$){$obj$$.id_dnm&&dnm.updateMany({_id:$obj$$.id_dnm,id_app:$obj$$.id_app},{id_po1:$obj$$._id.toString()},($e$$,$rs$$)=>{Logger.info("update dnm",$rs$$);dnm.findOne({_id:$obj$$.id_dnm,id_app:$obj$$.id_app},($e$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.DNM,$e$$=>{$e$$&&Logger.error($e$$)})})});$obj$$.id_bg2&&bg2.updateMany({_id:$obj$$.id_bg2, id_app:$obj$$.id_app},{id_po1:$obj$$._id.toString()},($e$$,$rs$$)=>{Logger.info("update bg2",$rs$$);bg2.findOne({_id:$obj$$.id_bg2,id_app:$obj$$.id_app},($e$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.BG2,$e$$=>{$e$$&&Logger.error($e$$)})})})});$contr_router$$.on("deleted",function($obj$$){$obj$$.id_dnm&&dnm.updateMany({_id:$obj$$.id_dnm,id_app:$obj$$.id_app},{id_po1:"",trang_thai:"3"},()=>{dnm.updateMany({_id:$obj$$.id_dnm,id_app:$obj$$.id_app,id_bg2:{$nin:["",null,void 0]}}, {trang_thai:"6"},($e$$,$rs$$)=>{Logger.info("update dnm",$rs$$);dnm.findOne({_id:$obj$$.id_dnm,id_app:$obj$$.id_app},($e$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.DNM,$e$$=>{$e$$&&Logger.error($e$$)})})})});$obj$$.id_bg2&&bg2.updateMany({_id:$obj$$.id_bg2,id_app:$obj$$.id_app},{id_po1:""},()=>{bg2.updateMany({_id:$obj$$.id_bg2,id_app:$obj$$.id_app,trang_thai:"7"},{trang_thai:"3"},()=>{bg2.findOne({_id:$obj$$.id_bg2,id_app:$obj$$.id_app},($e$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$, global.controllers.BG2,$e$$=>{$e$$&&Logger.error($e$$)})})})})});$contr_router$$.view=function($user$$,$items$$,$fn$$){let $id_app$$=$user$$.current_id_app;async.parallel({kh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,[{where:"ma_kh",fields:["ten_kh"]}],function(){$callback$$()})},bp:function($callback$$){$items$$.filter($item$$=>$item$$.ma_bp).joinModel2($id_app$$,dmbp,[{where:"ma_bp",fields:["ten_bp"]}],function(){$callback$$()})},kho:function($callback$$){$items$$.filter($item$$=> $item$$.ma_kho).joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:["ten_kho"]}],function(){$callback$$()})},dt:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dt).joinModel2($id_app$$,dmdt,[{where:"ma_dt",fields:["ten_dt"]}],function(){$callback$$()})},nv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_nv).joinModel2($id_app$$,dmnv,[{where:"ma_nv",fields:["ten_nv"]}],function(){$callback$$()})},ship:function($callback$$){$items$$.joinModel2($id_app$$,shipbook,[{where:{_id:"id_contract"}, fields:[{name:"id_shipbook",value:"_id"}]}],function(){$callback$$()})},vanchuyen:function($callback$$){$items$$.joinModel2($id_app$$,vanchuyen,[{where:{_id:"id_contract"},fields:[{name:"id_vanchuyen",value:"_id"}]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},purchasecontract:function($callback$$){$items$$.filter($item$$=> $item$$.id_contract).joinModel2($id_app$$,purchasecontract,[{where:{id_contract:"_id"},fields:[{so_ct_hd:"so_ct"},"ma_hd"]}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.t_tt=0;$r$$.t_tt_nt=0;$r$$.details&&($r$$.t_sl=$r$$.details.csum("so_luong"),$r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.t_thue_nk_nt=$r$$.details.csum("tien_thue_nk_nt"), $r$$.t_thue_nk=$r$$.details.csum("tien_thue_nk"),$r$$.t_tt=$r$$.t_tien+($r$$.t_thue|0)-$r$$.t_ck+$r$$.t_thue_nk,$r$$.t_tt_nt=$r$$.t_tien_nt+($r$$.t_thue_nt|0)-$r$$.t_ck_nt+$r$$.t_thue_nk_nt)});$callback$$()},details_vt:function($callback$$){async.mapLimit($items$$,20,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_vt).joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ma_tt1_yn ma_tt2_yn ma_tt3_yn ma_lo_yn ten_vt tk_vt tk_dt tk_gv tk_ck".split(" ")}],function(){$callback1$$()})}, function(){$callback$$()})},details_dt:function($callback$$){async.map($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_dt).joinModel2($id_app$$,dmdt,[{where:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},contract:function($callback$$){$items$$.filter($item$$=>$item$$.ma_hd).joinModel2($id_app$$,contract,[{where:{ma_hd:"so_hd"},fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback$$()})},details_phi:function($callback$$){async.map($items$$, function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_phi).joinModel2($id_app$$,dmphi,[{where:"ma_phi",fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){async.map($items$$,($po$$,$callback$$)=>{model.tinhSoLuongDaNhap($po$$,()=>{$callback$$()})},()=>{$fn$$(null,$items$$)})})}};