UNPKG

flexbiz-server

Version:

Flexible Server

19 lines (18 loc) 8.51 kB
'use strict';const PostBook=require("../../libs/post-book"),PostSocai=require("../../libs/post-socai"),Vatvao=global.getModel("vatvao"),Vatra=global.getModel("vatra"),dvcs=global.getModel("dvcs"),account=global.getModel("account"),dmdt=global.getModel("dmdt"),customer=global.getModel("customer"),dmnv=global.getModel("dmnv"),contract=global.getModel("contract"),dmphi=global.getModel("dmphi"),model=global.getModel("pn6"),pc2=global.getModel("pc2"),pc1=global.getModel("pc1"),pt1=global.getModel("pt1"), trangthai=global.getModel("trangthai"),controller=require("../../controllers/controller"),async=require("async"),ma_ct="PN6",valid_detail=function($i_i$jscomp$1_i$$,$obj$$,$fn$$){for($i_i$jscomp$1_i$$=0;$i_i$jscomp$1_i$$<$obj$$.details.length;$i_i$jscomp$1_i$$++){var $detail_vatra_vatvao$$=$obj$$.details[$i_i$jscomp$1_i$$];$detail_vatra_vatvao$$.line=$i_i$jscomp$1_i$$;"VND"==$obj$$.ma_nt&&($detail_vatra_vatvao$$.tien=Math.roundBy($detail_vatra_vatvao$$.tien_nt,0))}if($obj$$.vatvaos)for($i_i$jscomp$1_i$$= 0;$i_i$jscomp$1_i$$<$obj$$.vatvaos.length;$i_i$jscomp$1_i$$++)$detail_vatra_vatvao$$=$obj$$.vatvaos[$i_i$jscomp$1_i$$],$detail_vatra_vatvao$$.line=$i_i$jscomp$1_i$$,"VND"==$obj$$.ma_nt&&($detail_vatra_vatvao$$.t_thue=Math.roundBy($detail_vatra_vatvao$$.t_thue_nt,0));if($obj$$.vatras)for($i_i$jscomp$1_i$$=0;$i_i$jscomp$1_i$$<$obj$$.vatras.length;$i_i$jscomp$1_i$$++)$detail_vatra_vatvao$$=$obj$$.vatras[$i_i$jscomp$1_i$$],$detail_vatra_vatvao$$.line=$i_i$jscomp$1_i$$,"VND"==$obj$$.ma_nt&&($detail_vatra_vatvao$$.t_thue= Math.roundBy($detail_vatra_vatvao$$.t_thue_nt,0));$fn$$()}; module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,sort:{ngay_ct:-1,so_ct:-1}});$contr_router$$.route();$contr_router$$.post=function($obj$$,$fn$$){$fn$$||($fn$$=function(){});async.series({post_vatvao:function($callback$$){(new PostBook($obj$$,$obj$$.vatvaos,Vatvao)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_vatra:function($callback$jscomp$0$$){(new PostBook($obj$$,$obj$$.vatras,Vatra,($detail$$,$callback$$)=> {$detail$$={...$detail$$};$detail$$.ten_vt=$detail$$.ten_vt||$obj$$.dien_giai||($obj$$.details||[]).filter($d$$=>$d$$.dien_giai).map($d$$=>$d$$.dien_giai).join(", ");$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_socai:function($callback$$){const $details_sc$$=[];$obj$$.vatvaos.forEach(function($v_vatvao$$){$v_vatvao$$={...$v_vatvao$$};$v_vatvao$$.tk_no=$v_vatvao$$.tk_thue_no;$v_vatvao$$.tk_co=$v_vatvao$$.tk_du_thue;$v_vatvao$$.tien_nt=$v_vatvao$$.t_thue_nt; $v_vatvao$$.tien=$v_vatvao$$.t_thue;$v_vatvao$$.ma_kh=$v_vatvao$$.ma_kh_cn||$obj$$.ma_kh;$details_sc$$.push($v_vatvao$$)});$obj$$.vatras.forEach(function($v$jscomp$1_vatra$$){$v$jscomp$1_vatra$$={...$v$jscomp$1_vatra$$};$v$jscomp$1_vatra$$.tk_no=$v$jscomp$1_vatra$$.tk_du_thue;$v$jscomp$1_vatra$$.tk_co=$v$jscomp$1_vatra$$.tk_thue_co;$v$jscomp$1_vatra$$.tien_nt=$v$jscomp$1_vatra$$.t_thue_nt;$v$jscomp$1_vatra$$.tien=$v$jscomp$1_vatra$$.t_thue;$v$jscomp$1_vatra$$.ma_kh=$v$jscomp$1_vatra$$.ma_kh_cn||$obj$$.ma_kh; $details_sc$$.push($v$jscomp$1_vatra$$)});$obj$$.details.forEach(function($d$$){$obj$$.ma_kh&&!$d$$.ma_kh_co&&($d$$.ma_kh_co=$obj$$.ma_kh);$details_sc$$.push({...$d$$})});if($obj$$.tk_tien_cl&&0<$obj$$.details.length&&$obj$$.t_tien_cl_nt){const $cl$$={...$obj$$};$cl$$.tk_co=$obj$$.details[0].tk_co;0<$cl$$.t_tien_cl_nt?($cl$$.tien_nt=$cl$$.t_tien_cl_nt,$cl$$.tien=Math.roundBy($cl$$.t_tien_cl_nt*$cl$$.ty_gia,0),$cl$$.tk_no=$cl$$.tk_tien_cl):($cl$$.tien_nt=Math.abs($cl$$.t_tien_cl_nt),$cl$$.tien=Math.abs(Math.roundBy($cl$$.t_tien_cl_nt* $cl$$.ty_gia,0)),$cl$$.tk_no=$cl$$.tk_co,$cl$$.tk_co=$cl$$.tk_tien_cl);$details_sc$$.push($cl$$)}(new PostSocai($obj$$,$details_sc$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$obj$$.id_pt1="";$obj$$.id_pc1="";valid_detail($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=function($user$$, $data$$,$obj$$,$next$$){valid_detail($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.on("saved",function($obj$$){$obj$$.id_pc2&&pc2.updateMany({_id:$obj$$.id_pc2},{id_pn6:$obj$$._id.toString(),trang_thai:"7"},($e$$,$rs$$)=>{console.log("update pc2",$rs$$)})});$contr_router$$.on("deleted",function($obj$$){$obj$$.id_pc2&&pc2.updateMany({_id:$obj$$.id_pc2},{id_pn6:""},()=>{pc2.updateMany({_id:$obj$$.id_pc2,trang_thai:"7"},{trang_thai:"5"}, ($e$$,$rs$$)=>{console.log("update pc2",$rs$$)})})});$contr_router$$.view=function($user$$,$items$$,$fn$$){let $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$$()})},dmkh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,[{where:{ma_kh:"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$$()})},pc2:function($callback$$){$items$$.joinModel2($id_app$$,pc2,[{where:{id_pc2:"_id"},fields:[{name:"so_pc2",value:"so_ct"},{name:"ngay_pc2",value:"ngay_ct"},{name:"dien_giai_pc2",value:"dien_giai"}]}],function(){$callback$$()})},pc1:function($callback$$){$items$$.joinModel2($id_app$$, pc1,[{where:{_id:"id_pn6"},fields:[{name:"so_pc1",value:"so_ct"},{name:"ma_ct_pc1",value:"ma_ct"},{name:"id_pc1",value:"_id"}]}],function(){$callback$$()})},pt1:function($callback$$){$items$$.joinModel2($id_app$$,pt1,[{where:{_id:"id_pn6"},fields:[{name:"so_pt1",value:"so_ct"},{name:"ma_ct_pt1",value:"ma_ct"},{name:"id_pt1",value:"_id"}]}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.details&&($r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"), $r$$.t_tien_tu_nt=$r$$.details.csum("tien_tu_nt"),$r$$.t_tien_tu=$r$$.details.csum("tien_tu"));$r$$.vatvaos&&($r$$.t_thue_vao=$r$$.vatvaos.csum("t_thue"),$r$$.t_thue_vao_nt=$r$$.vatvaos.csum("t_thue_nt"));$r$$.vatras&&($r$$.t_thue_ra=$r$$.vatras.csum("t_thue"),$r$$.t_thue_ra_nt=$r$$.vatras.csum("t_thue_nt"))});$callback$$()},details_tk:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).joinModel($id_app$$,account,[{akey:"tk_no",bkey:"tk",fields:[{name:"ten_tk_no", value:"ten_tk"}]},{akey:"tk_co",bkey:"tk",fields:[{name:"ten_tk_co",value:"ten_tk"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_customer:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_kh).joinModel($id_app$$,customer,[{akey:"ma_kh_no",bkey:"ma_kh",fields:[{name:"ten_kh_no",value:"ten_kh"}]},{akey:"ma_kh_co",bkey:"ma_kh",fields:[{name:"ten_kh_co",value:"ten_kh"}]}],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_hopdong: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$$()})},details_nv:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_nv).joinModel($id_app$$, dmnv,[{akey:"ma_nv",bkey:"ma_nv",fields:[{name:"ten_nv",value:"ten_nv"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){$fn$$(null,$items$$)})}};