flexbiz-server
Version:
Flexible Server
16 lines (15 loc) • 7.44 kB
JavaScript
'use strict';const databanle=require("../../libs/databanle"),databanlenpp=require("../../libs/databanlenpp"),async=require("async"),moment=require("moment"),kpistatus=require("../../libs/kpistatus"),controller=require("../../controllers/controllerRPT"),_=require("lodash");
module.exports=function($router$$){new controller($router$$,"hoahong",async function($m_m$$,$callback$jscomp$0$$){const $condition$$=$m_m$$.query;$condition$$.tu_ngay||($m_m$$=moment(),$condition$$.nam&&$m_m$$.set("year",Number($condition$$.nam)),$condition$$.thang?($m_m$$.set("month",Number($condition$$.thang)-1),$condition$$.tu_ngay=$m_m$$.startOf("month").toDate()):$condition$$.tu_ngay=$m_m$$.startOf("year").toDate());$condition$$.den_ngay||($m_m$$=moment(),$condition$$.nam&&$m_m$$.set("year",
Number($condition$$.nam)),$condition$$.thang?($m_m$$.set("month",Number($condition$$.thang)-1),$condition$$.den_ngay=$m_m$$.endOf("month").toDate()):$condition$$.den_ngay=$m_m$$.endOf("year").toDate());const $query$$={id_app:$condition$$.id_app};$query$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$condition$$.user_hoa_hong&&
($query$$.$or=[{user_nv:$condition$$.user_hoa_hong},{user_ctv:$condition$$.user_hoa_hong},{user_ctv2:$condition$$.user_hoa_hong},{user_kho:$condition$$.user_hoa_hong},{user_gt:$condition$$.user_hoa_hong},{user_ql:$condition$$.user_hoa_hong},{"details.user_nv":$condition$$.user_hoa_hong},{"details.user_ctv":$condition$$.user_hoa_hong},{"details.user_ctv2":$condition$$.user_hoa_hong},{"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},{"details.user_ql":$condition$$.user_hoa_hong}]);
$condition$$.ma_nv=$condition$$.ma_nv||$condition$$.user_hoa_hong;async.series({cty:$cb$$=>{databanle($query$$,function($error$$,$rs$$){$cb$$($error$$,$rs$$)})},npp:$cb$$=>{databanlenpp($query$$,function($error$$,$rs$$){$cb$$($error$$,$rs$$)})},kpi:$cb$$=>{let $_condition$$=_.cloneDeep($condition$$);$_condition$$.tu_thang=(new Date($_condition$$.tu_ngay)).getMonth()+1;$_condition$$.tu_nam=(new Date($_condition$$.tu_ngay)).getFullYear();$_condition$$.den_thang=(new Date($_condition$$.den_ngay)).getMonth()+
1;$_condition$$.den_nam=(new Date($_condition$$.den_ngay)).getFullYear();if($_condition$$.tu_nam!=$_condition$$.den_nam)return $cb$$("\u0110i\u1ec1u ki\u1ec7n t\u1eeb ng\u00e0y-\u0111\u1ebfn ng\u00e0y kh\u00f4ng h\u1ee3p l\u1ec7");$_condition$$.nam=$_condition$$.den_nam;$_condition$$.ct_theo||($_condition$$.ct_theo="thang");kpistatus($_condition$$).then(async $data_rs$$=>{$data_rs$$=$data_rs$$.rows.filter($r$$=>$r$$.ma_nv);$data_rs$$.forEach($r$$=>{$r$$.t_tien_hoa_hong_kpi=$r$$.t_tien_hoa_hong||0});
await $data_rs$$.asyncJoinModel2($_condition$$.id_app,"dmnv",{where:"ma_nv",fields:[{user_hoa_hong:"user"}]});$cb$$(null,$data_rs$$)}).catch($e$$=>{$cb$$($e$$)})}},($datagop_error$$,$rs$jscomp$0$$)=>{if($datagop_error$$)return $callback$jscomp$0$$($datagop_error$$);$datagop_error$$=$rs$jscomp$0$$.cty.concat($rs$jscomp$0$$.npp);let $kpi$$=$rs$jscomp$0$$.kpi;async.mapSeries($datagop_error$$,function($r$jscomp$0$$,$callback$$){$r$jscomp$0$$.t_tien_hoa_hong=$r$jscomp$0$$.details.csum("tien_hoa_hong");
$r$jscomp$0$$.t_tien_hoa_hong_gt=$r$jscomp$0$$.details.csum("tien_hoa_hong_gt");$r$jscomp$0$$.t_tien_hoa_hong_ctv=$r$jscomp$0$$.details.csum("tien_hoa_hong_ctv");$r$jscomp$0$$.t_tien_hoa_hong_ctv2=$r$jscomp$0$$.details.csum("tien_hoa_hong_ctv2");$r$jscomp$0$$.t_tien_hoa_hong_ql=$r$jscomp$0$$.details.csum("tien_hoa_hong_ql");$r$jscomp$0$$.t_tien_hoa_hong_kho=$r$jscomp$0$$.details.csum("tien_hoa_hong_kho");$r$jscomp$0$$.thang=(new Date($r$jscomp$0$$.ngay_ct)).getMonth()+1;$r$jscomp$0$$.nam=(new Date($r$jscomp$0$$.ngay_ct)).getFullYear();
$condition$$.chi_hien_chua_post_sokho?global.getModel("sokho").find({id_ct:$r$jscomp$0$$._id}).lean().then($rs$$=>{$r$jscomp$0$$.t_sl_xuat_kho=$rs$$.map($r$$=>$r$$.sl_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$callback$$(null,$r$jscomp$0$$)}):$callback$$(null,$r$jscomp$0$$)},function($data$jscomp$1_error$$,$rs$$){if($data$jscomp$1_error$$)return $callback$jscomp$0$$($data$jscomp$1_error$$);$condition$$.chi_hien_chua_post_sokho&&($rs$$=$rs$$.filter($r$$=>!$r$$.t_sl_xuat_kho));let $data_orgin$$=[...$rs$$];
$rs$$.filter($r$$=>$r$$.details_tl).forEach($tl$$=>{$tl$$.details_tl.forEach($r$$=>{$r$$.t_tien_hoa_hong=0-$r$$.tien_hoa_hong;$r$$.t_tien_hoa_hong_ql=0-$r$$.tien_hoa_hong_ql;$r$$.t_tien_hoa_hong_ctv=0-$r$$.tien_hoa_hong_ctv;$r$$.t_tien_hoa_hong_ctv2=0-($r$$.tien_hoa_hong_ctv2||0);$r$$.t_tien_hoa_hong_gt=0-$r$$.tien_hoa_hong_gt;$r$$.t_tien_hoa_hong_kho=0-$r$$.tien_hoa_hong_kho;$r$$.thang=(new Date($tl$$.ngay_ct)).getMonth()+1;$r$$.nam=(new Date($tl$$.ngay_ct)).getFullYear();$data_orgin$$.push($r$$)})});
$data$jscomp$1_error$$=$data_orgin$$.map($r$$=>{let $_r$$=[];$r$$.user_nv&&$r$$.t_tien_hoa_hong&&$_r$$.push({user_hoa_hong:$r$$.user_nv,t_tien_hoa_hong:$r$$.t_tien_hoa_hong,thang:$r$$.thang,nam:$r$$.nam});$r$$.user_ql&&$r$$.t_tien_hoa_hong_ql&&$_r$$.push({user_hoa_hong:$r$$.user_ql,t_tien_hoa_hong:$r$$.t_tien_hoa_hong_ql,thang:$r$$.thang,nam:$r$$.nam});$r$$.user_ctv&&$r$$.t_tien_hoa_hong_ctv&&$_r$$.push({user_hoa_hong:$r$$.user_ctv,t_tien_hoa_hong:$r$$.t_tien_hoa_hong_ctv,thang:$r$$.thang,nam:$r$$.nam});
$r$$.user_ctv2&&$r$$.t_tien_hoa_hong_ctv2&&$_r$$.push({user_hoa_hong:$r$$.user_ctv2,t_tien_hoa_hong:$r$$.t_tien_hoa_hong_ctv2,thang:$r$$.thang,nam:$r$$.nam});$r$$.user_kho&&$r$$.t_tien_hoa_hong_kho&&$_r$$.push({user_hoa_hong:$r$$.user_kho,t_tien_hoa_hong:$r$$.t_tien_hoa_hong_kho,thang:$r$$.thang,nam:$r$$.nam});$r$$.user_gt&&$r$$.t_tien_hoa_hong_gt&&$_r$$.push({user_hoa_hong:$r$$.user_gt,t_tien_hoa_hong_gt:$r$$.t_tien_hoa_hong_gt,thang:$r$$.thang,nam:$r$$.nam});return $_r$$}).reduce(($a$$,$b$$)=>$a$$.concat($b$$),
[]);$data$jscomp$1_error$$=[...$data$jscomp$1_error$$,...$kpi$$];$condition$$.user_hoa_hong&&($data$jscomp$1_error$$=$data$jscomp$1_error$$.filter($r$$=>$r$$.user_hoa_hong==$condition$$.user_hoa_hong));$data$jscomp$1_error$$=$data$jscomp$1_error$$.filter($r$$=>$r$$.t_tien_hoa_hong||$r$$.t_tien_hoa_hong_gt||$r$$.t_tien_hoa_hong_kpi);$data$jscomp$1_error$$.groupBy(["thang","nam","user_hoa_hong"],[{name:"t_tien_hoa_hong",value:"t_tien_hoa_hong"},{name:"t_tien_hoa_hong",value:"t_tien_hoa_hong"},{name:"t_tien_hoa_hong_gt",
value:"t_tien_hoa_hong_gt"},{name:"t_tien_hoa_hong_kpi",value:"t_tien_hoa_hong_kpi"}],async function($error$$,$report$$){if($error$$)return $callback$jscomp$0$$($error$$);await $report$$.asyncJoinModel2($condition$$.id_app,"participant",{where:{user_hoa_hong:"email"},fields:{ten_user_hoa_hong:"name"}});$report$$=$report$$.sort(($a$$,$b$$)=>12*$a$$.nam+$a$$.thang-(12*$b$$.nam+$b$$.thang));$report$$.forEach(function($r$$,$i$$){$r$$.stt=$i$$+1;$r$$.bold=!1;$r$$.t_cong=$r$$.t_tien_hoa_hong+$r$$.t_tien_hoa_hong_gt+
$r$$.t_tien_hoa_hong_kpi});$error$$=$report$$.csum("t_tien_hoa_hong");let $t_tien_hoa_hong_gt$$=$report$$.csum("t_tien_hoa_hong_gt"),$t_tien_hoa_hong_kpi$$=$report$$.csum("t_tien_hoa_hong_kpi");$report$$.push({nam:"T\u1ed5ng c\u1ed9ng",t_tien_hoa_hong:$error$$,t_tien_hoa_hong_gt:$t_tien_hoa_hong_gt$$,t_tien_hoa_hong_kpi:$t_tien_hoa_hong_kpi$$,t_cong:$error$$+$t_tien_hoa_hong_gt$$+$t_tien_hoa_hong_kpi$$,bold:!0});$callback$jscomp$0$$(null,$report$$)})})})})};