UNPKG

flexbiz-server

Version:

Flexible Server

12 lines (11 loc) 5.33 kB
const thnxt=require("../../libs/thnxt"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),customer=global.getModel("customer"),controller=require("../../controllers/controllerRPT"),async=require("async"),crypto=require("crypto"); module.exports=function($router$$){new controller($router$$,"thnxt",function($req$$,$callback$$){const $query$$=$req$$.query,$id_app$$=$req$$.query.id_app;if(!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay");$callback$$(null,null,"begin");const $uniqueId$$=crypto.randomUUID();console.time("[thnxt] ch\u1ea1y b\u00e1o c\u00e1o "+$uniqueId$$.toString());(new Promise(($resolve$$,$reject$$)=>{if($query$$.ma_vt&& $query$$.ma_vt.length!=0||!($query$$.ma_ncc||$query$$.ma_nvt||$query$$.ma_nvt2||$query$$.ma_nvt3||$query$$.ma_nvt4||$query$$.ma_lvt))$resolve$$($query$$.ma_vt);else{const $_query$$={id_app:$id_app$$,tg_tk:!0};$query$$.ma_ncc&&($_query$$.ma_ncc=$query$$.ma_ncc);$query$$.ma_nvt&&$query$$.ma_nvt.length>0&&($_query$$.ma_nvt=$query$$.ma_nvt);$query$$.ma_nvt2&&$query$$.ma_nvt2.length>0&&($_query$$.ma_nvt2=$query$$.ma_nvt2);$query$$.ma_nvt3&&$query$$.ma_nvt3.length>0&&($_query$$.ma_nvt3=$query$$.ma_nvt3); $query$$.ma_nvt4&&$query$$.ma_nvt4.length>0&&($_query$$.ma_nvt4=$query$$.ma_nvt4);$query$$.ma_lvt&&($_query$$.ma_lvt=$query$$.ma_lvt);$callback$$(null,null,"running");dmvt.find($_query$$,{ma_vt:1}).lean().exec(($err$$,$rs$$)=>{if($err$$)return $reject$$($err$$);$callback$$(null,null,"running");Logger.info("[thnxt] l\u1ea5y danh s\u00e1ch c\u00e1c s\u1ea3n ph\u1ea9m c\u1ea7n b\u00e1o c\u00e1o",$_query$$,$rs$$);$resolve$$($rs$$.map($r$$=>$r$$.ma_vt))})}})).then($ma_vt$$=>{$ma_vt$$&&$ma_vt$$.length> 0?$query$$.ma_vt=$ma_vt$$:delete $query$$.ma_vt;$callback$$(null,null,"running");thnxt($query$$,function($error$$,$report$$,$groupBy$$){if($error$$)return $callback$$($error$$);$callback$$(null,null,"running");console.time("[thnxt] chu\u1ea9n b\u1ecb d\u1eef li\u1ec7u tr\u01b0\u1edbc khi tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 "+$uniqueId$$.toString());async.parallel({vt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt).joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:"ten_vt tg_tk ma_ncc ma_dvt ma_nvt ma_vt2 picture ma_pk_xuat".split(" ")}, ()=>{$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:["ten_nvt"]},()=>{$callback$$()})})})},kho:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:["ten_kho"]},()=>{$callback$$()})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"), {where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:[{barcode1:"ma_tt2"},{ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"), {where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:[{barcode3:"ma_tt2"},{ten_tt3:"ten_tt"}]},()=>{$callback$$()})}},async()=>{$callback$$(null,null,"running");$report$$=$report$$.filter($r$$=>!$r$$.ma_vt||$r$$.tg_tk);const $xulytungvattu$$=async $row$$=>{if($row$$.picture){var $p_sp_full$$=$row$$.picture.split(".");$row$$.picture_thumb=$row$$.picture+".thumb."+$p_sp_full$$[$p_sp_full$$.length-1]}else $row$$.picture="/getfile/others/noimage.png",$row$$.picture_thumb="/getfile/others/noimage.png"; $row$$.barcode=$row$$.barcode1||$row$$.barcode2||$row$$.barcode3||$row$$.ma_vt2;$row$$.ma_vt_full=(await global.getModel("dmvt").find({id_app:$id_app$$,ma_pk_xuat:$row$$.ma_vt},{ma_vt:1}).lean()).map($r$$=>$r$$.ma_vt);if($row$$.ma_vt_full.length>0){let $_c$$={...$query$$,ma_vt:$row$$.ma_vt_full};$p_sp_full$$=await new Promise(($res$$,$rej$$)=>{thnxt($_c$$,($e$$,$rs$$)=>{if($e$$)return $rej$$($e$$);$res$$($rs$$)})});$row$$.ton_cuoi_full=$p_sp_full$$.map($a$$=>$a$$.ton_cuoi||0).reduce(($a$$,$b$$)=> $a$$+$b$$,0);$row$$.ton_cuoi_empty=$row$$.ton_cuoi-$row$$.ton_cuoi_full}};await Promise.all($report$$.filter($r$$=>$r$$.ma_vt).map($row$$=>$xulytungvattu$$($row$$)));const $total$$={[$groupBy$$[0]]:"T\u1ed5ng c\u1ed9ng",ton_dau:$report$$.csum("ton_dau"),du_dau:$report$$.csum("du_dau"),sl_nhap:$report$$.csum("sl_nhap"),tien_nhap:$report$$.csum("tien_nhap"),sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),ton_cuoi:$report$$.csum("ton_cuoi"),du_cuoi:$report$$.csum("du_cuoi"),systotal:1, bold:!0};$report$$.push($total$$);$callback$$(null,$report$$,"data");$callback$$(null,null,"end");console.timeEnd("[thnxt] chu\u1ea9n b\u1ecb d\u1eef li\u1ec7u tr\u01b0\u1edbc khi tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 "+$uniqueId$$.toString());console.timeEnd("[thnxt] ch\u1ea1y b\u00e1o c\u00e1o "+$uniqueId$$.toString())})},$log$$=>{$callback$$(null,null,"running");Logger.info($log$$)})}).catch($e$$=>{$callback$$($e$$)})},{stream:!0})};