flexbiz-server
Version:
Flexible Server
27 lines (26 loc) • 9.7 kB
JavaScript
const Vsocai=require("../../libs/vsocai"),dkcn=require("../../libs/dkcn"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),Numeral=require("numeral"),permistion=require("../../libs/permission");
module.exports=function($router$$){new controller($router$$,"sctcnkh",async function($req$$,$callback$$){const $condition$$=$req$$.query;$condition$$.tk||($condition$$.tk="131");$condition$$.tu_ngay||($condition$$.tu_ngay=moment().startOf("month").toDate());$condition$$.den_ngay||($condition$$.den_ngay=moment().endOf("month").toDate());var {id_app:$_q$jscomp$3_id_app_ma_nvs$$}=$condition$$;if(!$condition$$.ma_kh&&($condition$$.nh_kh||$condition$$.phu_trach)){var $_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=
{};$condition$$.nh_kh&&($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$.nh_kh=$condition$$.nh_kh);if($condition$$.phu_trach){var $Customer_ds_phu_trach$$=await permistion.dsDangPhuTrach($condition$$.id_app,$condition$$.phu_trach);$Customer_ds_phu_trach$$.push($condition$$.phu_trach);$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$.$or=[{phu_trach:{$in:$Customer_ds_phu_trach$$}},
{of_user:{$in:$Customer_ds_phu_trach$$}}]}$Customer_ds_phu_trach$$=global.getModel("customer");$condition$$.ma_kh=await $Customer_ds_phu_trach$$.getList($condition$$.id_app,$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$,"ma_kh")}$condition$$.ma_kh||($condition$$.ma_kh=$req$$.user.email);!$condition$$.ma_nv&&$condition$$.phu_trach_nv&&($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=
await permistion.dsDangPhuTrach($condition$$.id_app,$condition$$.phu_trach_nv),$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$.push($condition$$.phu_trach_nv),$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$={id_app:$condition$$.id_app,$or:[{phu_trach:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}},{user:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}}]},
$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=(await global.getModel("dmnv").find($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$,{ma_nv:1}).lean()).map($nv$$=>$nv$$.ma_nv),$condition$$.ma_nv={$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$});!$condition$$.ma_nv_giao_hang&&$condition$$.phu_trach_gia_hang&&($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=
await permistion.dsDangPhuTrach($_q$jscomp$3_id_app_ma_nvs$$,$condition$$.phu_trach_gia_hang),$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$.push($condition$$.phu_trach_gia_hang),$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$={id_app:$_q$jscomp$3_id_app_ma_nvs$$,$or:[{phu_trach:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}},
{user:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}}]},$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=(await global.getModel("dmnv").find($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$,{ma_nv:1}).lean()).map($nv$$=>$nv$$.ma_nv),$condition$$.ma_nv_giao_hang={$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$});
!$condition$$.phu_xe&&$condition$$.phu_trach_phu_xe&&($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=await permistion.dsDangPhuTrach($_q$jscomp$3_id_app_ma_nvs$$,$condition$$.phu_trach_phu_xe),$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$.push($condition$$.phu_trach_phu_xe),$_q$jscomp$3_id_app_ma_nvs$$={id_app:$_q$jscomp$3_id_app_ma_nvs$$,$or:[{phu_trach:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}},
{user:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}}]},$_q$jscomp$3_id_app_ma_nvs$$=(await global.getModel("dmnv").find($_q$jscomp$3_id_app_ma_nvs$$,{ma_nv:1}).lean()).map($nv$$=>$nv$$.ma_nv),$condition$$.phu_xe={$in:$_q$jscomp$3_id_app_ma_nvs$$});$condition$$.bu_tru=!0;$condition$$.groupBy=$condition$$.groupBy||["tk","ma_kh"];async.parallel({dk:$callback$$=>{const $query$$={};underscore.extend($query$$,$condition$$);$query$$.ngay=
$condition$$.tu_ngay;dkcn($query$$,function($data_error$$,$result$$){if($data_error$$)return $callback$$($data_error$$);$data_error$$={systotal:1,sysorder:0,bold:!0,dien_giai:"\u0110\u1ea7u k\u1ef3",ps_no:$result$$.csum("du_no00"),ps_co:$result$$.csum("du_co00"),ps_no_nt:$result$$.csum("du_no_nt00"),ps_co_nt:$result$$.csum("du_co_nt00")};$callback$$(null,$data_error$$)})},ps:$callback$$=>{const $query$$={id_app:$condition$$.id_app,tk:{$regex:"^"+$condition$$.tk,$options:"i"},ngay_ct:{$gte:$condition$$.tu_ngay,
$lte:$condition$$.den_ngay}};$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_kh&&($query$$.ma_kh=$condition$$.ma_kh);$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_bp&&($query$$.ma_bp=$condition$$.ma_bp);$condition$$.ma_phi&&($query$$.ma_phi=$condition$$.ma_phi);$condition$$.ma_nv&&($query$$.ma_nv=$condition$$.ma_nv);$condition$$.ma_nv_giao_hang&&($query$$.ma_nv_giao_hang=$condition$$.ma_nv_giao_hang);$condition$$.phu_xe&&($query$$.phu_xe=
$condition$$.phu_xe);$condition$$.ma_hd&&($query$$.ma_hd=$condition$$.ma_hd);$condition$$.ma_dt&&($query$$.ma_dt=$condition$$.ma_dt);Vsocai.find($query$$,($error$$,$result$$)=>{if($error$$)return $callback$$($error$$);$result$$.forEach($r$$=>{$r$$.systotal=0;$r$$.sysorder=5;$r$$.bold=!1});$error$$={systotal:1,sysorder:6,bold:!0,dien_giai:"T\u1ed5ng c\u1ed9ng ph\u00e1t sinh",ps_no:$result$$.csum("ps_no"),ps_co:$result$$.csum("ps_co"),ps_no_nt:$result$$.csum("ps_no_nt"),ps_co_nt:$result$$.csum("ps_co_nt")};
$result$$.push($error$$);$result$$.push({systotal:0,sysorder:2,bold:!0,dien_giai:"Ph\u00e1t sinh trong k\u1ef3",ps_no:0,ps_co:0,ps_no_nt:0,ps_co_nt:0});$callback$$(null,$result$$)},{groupBy:"id_app ma_dvcs id_ct ma_ct ma_gd ngay_ct ngay_ct_full listinfo_code so_ct ngay_hd so_hd tk tk_du ma_kh ong_ba ma_nt ty_gia dien_giai ma_bp id_lenhsx ma_phi ma_hd ma_dt ma_nv ma_cp ma_kho".split(" "),sortData:!0})}},($data$jscomp$1_error$$,$results_so_ck$$)=>{if($data$jscomp$1_error$$)return $callback$$($data$jscomp$1_error$$);
$data$jscomp$1_error$$=$results_so_ck$$.ps;$data$jscomp$1_error$$.push($results_so_ck$$.dk);$results_so_ck$$=$data$jscomp$1_error$$.csum("ps_no",{systotal:1})-$data$jscomp$1_error$$.csum("ps_co",{systotal:1});let $so_ck_nt$$=$data$jscomp$1_error$$.csum("ps_no_nt",{systotal:1})-$data$jscomp$1_error$$.csum("ps_co",{systotal:1});const $dong_cuoi_ky$$={systotal:1,sysorder:9,bold:!0,dien_giai:"Cu\u1ed1i k\u1ef3",ps_no:0,ps_co:0,ps_no_nt:0,ps_co_nt:0};$results_so_ck$$>0&&($dong_cuoi_ky$$.ps_no=$results_so_ck$$);
$so_ck_nt$$>0&&($dong_cuoi_ky$$.ps_no_nt=$so_ck_nt$$);$results_so_ck$$<0&&($dong_cuoi_ky$$.ps_co=Math.abs($results_so_ck$$));$so_ck_nt$$<0&&($dong_cuoi_ky$$.ps_co_nt=Math.abs($so_ck_nt$$));$data$jscomp$1_error$$.push($dong_cuoi_ky$$);$data$jscomp$1_error$$=$data$jscomp$1_error$$.sort(($a$$,$b$$)=>{var $date2Diff_dateDiff_soCtDiff_sysorderDiff$$=$a$$.sysorder-$b$$.sysorder;if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=
new Date($a$$.ngay_ct_full)-new Date($b$$.ngay_ct_full);if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=new Date($a$$.date_created)-new Date($b$$.date_created);if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=$a$$.so_ct.localeCompare($b$$.so_ct);return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0?$date2Diff_dateDiff_soCtDiff_sysorderDiff$$:
($b$$.ps_no>0)-($a$$.ps_no>0)});if($req$$.query.rs_type==="HTML"){let $html$$="<tr><th>N\u1ed9i dung</th><th>Thu</th><th>Tr\u1ea3</th></tr>";$data$jscomp$1_error$$.forEach($r$$=>{$html$$=`${$html$$}
<tr style="font-weight:${$r$$.bold?"bold":"normal"}">
<td>
<div>${$r$$.dien_giai||""}</div>
<div><i><small>${$r$$.ngay_ct?moment($r$$.ngay_ct).format("DD/MM/YYYY"):""}</small></i></div>
</td>
<td style="text-align:right">${$r$$.ps_no?Numeral($r$$.ps_no).format():""}</td>
<td style="text-align:right">${$r$$.ps_co?Numeral($r$$.ps_co).format():""}</td>
</tr>`});$html$$="<table>"+$html$$+"</table>";return $callback$$(null,$html$$)}$callback$$(null,$data$jscomp$1_error$$)})})};