UNPKG

flexbiz-server

Version:

Flexible Server

21 lines (20 loc) 9.38 kB
'use strict';const PostBook=require("../../libs/post-book"),PostSocai=require("../../libs/post-socai"),Sokho=global.getModel("sokho"),Sokhott=global.getModel("sokhott"),Vatvao=global.getModel("vatvao"),dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),account=global.getModel("account"),customer=global.getModel("customer"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),contract=global.getModel("contract"),model=global.getModel("pn5"),trangthai=global.getModel("trangthai"), controller=require("../../controllers/controller"),async=require("async"),ma_ct="PN5"; 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();$contr_router$$.post=async function($obj$$,$fn$$){$fn$$||($fn$$=function(){});async.series({post_tdttco:$callback$jscomp$0$$=>{setImmediate(async()=>{var $hds_tdttco_tt$$=[...(new Set(($obj$$.details||[]).filter($d$$=>$d$$.id_hd).map($d$$=>$d$$.id_hd)))];if(0==$hds_tdttco_tt$$.length)return $callback$jscomp$0$$(); $hds_tdttco_tt$$=(await global.getModel("tdttco").getBalance({id_app:$obj$$.id_app,id_hd:{$in:$hds_tdttco_tt$$}})).filter($i$$=>0<$i$$.con_lai_nt).map($invoice$$=>{let $t_invoice$$={sel:!1,id_tdtt:$invoice$$._id,line:$invoice$$.line,id_hd:$invoice$$.id_ct,so_hd:$invoice$$.so_hd||$invoice$$.so_ct,ngay_hd:$invoice$$.ngay_hd||$invoice$$.ngay_ct,tien_hd_nt:$invoice$$.tien_nt};$t_invoice$$.ma_nt_hd=$invoice$$.ma_nt;$t_invoice$$.ty_gia_hd=$invoice$$.ty_gia;$t_invoice$$.ma_kh=$invoice$$.ma_kh;$t_invoice$$.dien_giai= $invoice$$.dien_giai;$t_invoice$$.tk_co=$invoice$$.tk_no;$t_invoice$$.da_thanh_toan_nt=$invoice$$.da_thanh_toan_nt;$t_invoice$$.da_thanh_toan=$invoice$$.da_thanh_toan;$t_invoice$$.con_lai_nt=$invoice$$.con_lai_nt;$t_invoice$$.con_lai=$invoice$$.con_lai;$t_invoice$$.tien_nt=$obj$$.details.filter($d$$=>$d$$.id_hd===$t_invoice$$.id_hd).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$t_invoice$$.tien=$t_invoice$$.tien_nt*$obj$$.ty_gia;$t_invoice$$.thanh_toan_qd=$t_invoice$$.tien/$t_invoice$$.ty_gia_hd; return $t_invoice$$});(new PostBook($obj$$,$hds_tdttco_tt$$,global.getModel("tdttco_tt"),function($tdttco$$,$callback$$){$callback$$($tdttco$$)})).run(function($e$$,$details$$){if($e$$)return $callback$jscomp$0$$($e$$);async.mapSeries($details$$,($detail$$,$callback$$)=>{$detail$$.con_lai_nt<=$detail$$.thanh_toan_qd?global.getModel("tdttco").findOneAndUpdate({_id:$detail$$.id_tdtt.toString()},{$set:{tat_toan:!0}},($error$$,$result$$)=>{$callback$$($error$$,$result$$)}):$callback$$(null,$detail$$)}, ($e$$,$rs$$)=>{$callback$jscomp$0$$($e$$,$rs$$)})})})},post_sokho:function($callback$jscomp$0$$){(new PostBook($obj$$,$obj$$.details,Sokho,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.px_gia_dd=!0;$detail$$.tk_no=$obj$$.tk_no;$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_sokhott:function($callback$jscomp$0$$){(new PostBook($obj$$,$obj$$.details,Sokhott,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.px_gia_dd=!0;$detail$$.tk_no= $obj$$.tk_no;$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_socai:function($callback$$){const $details_sc$$=[];$obj$$.details.forEach(function($d$jscomp$4_detail$$){$d$jscomp$4_detail$$={...$d$jscomp$4_detail$$};$d$jscomp$4_detail$$.tk_no=$obj$$.tk_no;$d$jscomp$4_detail$$.ma_kh||($d$jscomp$4_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$4_detail$$.tk_co=$d$jscomp$4_detail$$.tk_vt;$d$jscomp$4_detail$$.tien_nt=$d$jscomp$4_detail$$.tien_xuat_nt;$d$jscomp$4_detail$$.tien= $d$jscomp$4_detail$$.tien_xuat;$details_sc$$.push($d$jscomp$4_detail$$)});$obj$$.vatvaos.forEach(function($v_vatvao$$){$v_vatvao$$={...$v_vatvao$$};$v_vatvao$$.tk_no=$v_vatvao$$.tk_du_thue||"1111";$v_vatvao$$.tk_co=$v_vatvao$$.tk_thue_no;$v_vatvao$$.tien_nt=$v_vatvao$$.t_thue_nt;$v_vatvao$$.tien=$v_vatvao$$.t_thue;$details_sc$$.push($v_vatvao$$)});(new PostSocai($obj$$,$details_sc$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_vatvao:function($callback$jscomp$0$$){(new PostBook($obj$$, $obj$$.vatvaos,Vatvao,($detail$$,$callback$$)=>{$detail$$={...$detail$$};$detail$$.ten_vt=$detail$$.ten_vt||$obj$$.dien_giai||($obj$$.details||[]).map($d$$=>$d$$.ten_vt).join(", ");$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};const $valid$$=function($i$jscomp$1_i$$,$obj$$,$next$$){for($i$jscomp$1_i$$=0;$i$jscomp$1_i$$<$obj$$.details.length;$i$jscomp$1_i$$++){var $detail$jscomp$5_vatvao$$=$obj$$.details[$i$jscomp$1_i$$]; $detail$jscomp$5_vatvao$$.line=$i$jscomp$1_i$$;"VND"==$obj$$.ma_nt&&($detail$jscomp$5_vatvao$$.tien_hang=$detail$jscomp$5_vatvao$$.tien_hang_nt,$detail$jscomp$5_vatvao$$.tien_ck=$detail$jscomp$5_vatvao$$.tien_ck_nt,$detail$jscomp$5_vatvao$$.tien_xuat=$detail$jscomp$5_vatvao$$.tien_xuat_nt)}if($obj$$.vatvaos)for($i$jscomp$1_i$$=0;$i$jscomp$1_i$$<$obj$$.vatvaos.length;$i$jscomp$1_i$$++)$detail$jscomp$5_vatvao$$=$obj$$.vatvaos[$i$jscomp$1_i$$],$detail$jscomp$5_vatvao$$.line=$i$jscomp$1_i$$,"VND"==$obj$$.ma_nt&& ($detail$jscomp$5_vatvao$$.t_thue=$detail$jscomp$5_vatvao$$.t_thue_nt);$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$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$$.view=function($user$$, $items$$,$fn$$){const $id_app$$=$user$$.current_id_app;async.series({dv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dvcs).joinModel($id_app$$,dvcs,[{akey:"ma_dvcs",bkey:"_id",fields:[{name:"ten_dvcs",value:"ten_dvcs"}]}],function(){$callback$$()})},tk:function($callback$$){$items$$.filter($item$$=>$item$$.tk_no).joinModel($id_app$$,account,[{akey:"tk_no",bkey:"tk",fields:[{name:"ten_tk_no",value:"ten_tk"}]}],function(){$callback$$()})},kh:function($callback$$){$items$$.filter($item$$=> $item$$.ma_kh).joinModel($id_app$$,customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],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$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.details&&($r$$.t_sl=$r$$.details.csum("sl_xuat"),$r$$.t_tien_hang=$r$$.details.csum("tien_hang"), $r$$.t_tien_hang_nt=$r$$.details.csum("tien_hang_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat"),$r$$.t_tien_xuat_nt=$r$$.details.csum("tien_xuat_nt"),$r$$.vatvaos?($r$$.t_thue=Math.abs($r$$.vatvaos.csum("t_thue")),$r$$.t_thue_nt=Math.abs($r$$.vatvaos.csum("t_thue_nt"))):($r$$.t_thue=0,$r$$.t_thue_nt=0),$r$$.t_tt=$r$$.t_tien_hang+$r$$.t_thue-$r$$.t_ck,$r$$.t_tt_nt=$r$$.t_tien_hang_nt+$r$$.t_thue_nt-$r$$.t_ck_nt)}); $callback$$()},details_pn1:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($d$$=>$d$$.id_hd&&!$d$$.so_ct_hd).joinModel2($id_app$$,"pn1",[{where:{id_hd:"_id"},fields:[{name:"so_ct_hd",value:"so_ct"},{name:"ngay_ct_hd",value:"ngay_ct"},{name:"ma_ct_hd",value:"ma_ct"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_tk:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).joinModel($id_app$$, account,[{akey:"tk_vt",bkey:"tk",fields:[{name:"ten_tk_vt",value:"ten_tk"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_vt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).joinModel($id_app$$,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_kho:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=> $item$$.ma_kho).joinModel($id_app$$,dmkho,[{akey:"ma_kho",bkey:"ma_kho",fields:[{name:"ten_kho",value:"ten_kho"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_contract:function($callback$$){async.mapSeries($items$$, function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_hd).joinModel($id_app$$,contract,[{akey:"ma_hd",bkey:"so_hd",fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_phi:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_phi).joinModel($id_app$$,dmphi,[{akey:"ma_phi",bkey:"ma_phi",fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})}, function(){$callback$$()})}},function(){$fn$$(null,$items$$)})}};