flexbiz-server
Version:
Flexible Server
86 lines (83 loc) • 38.1 kB
JavaScript
'use strict';const socai=global.getModel("socai"),cktk=require("../../libs/cktk"),dktk=require("../../libs/dktk"),kbmbcqt=global.getModel("kbmbcqt"),rptform=global.getModel("rptform"),async=require("async"),_=require("lodash"),utils=require("../../libs/utils"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),numeral=require("numeral"),{evalute}=require("../../libs/utils"),ctds=global.getModel("ctds"),{getCodeChildren}=require("../../libs/utils");
function exec($cong_thuc_func_string$$,$sandbox$$){$cong_thuc_func_string$$=$cong_thuc_func_string$$.split("undefined").join("0").split("null").join("0");$cong_thuc_func_string$$=0>($cong_thuc_func_string$$||"").indexOf("return ")?`return ${$cong_thuc_func_string$$}`:$cong_thuc_func_string$$;return utils.evalute($cong_thuc_func_string$$,$sandbox$$)}
const getRegString=function($arrayTk$$){return $arrayTk$$.reg()},calc4cell=async($req$$,$row$$,$cell$$,$query_tk_co_tk_no$$,$callback$$)=>{if(!$cell$$)return $callback$$(null,{value:0,value_nt:0,cong_thuc:""});var $condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$;$cell$$.ma_phi&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$=await getCodeChildren(global.getModel("dmphi"),$query_tk_co_tk_no$$.id_app,$cell$$.ma_phi,"ma_phi","ma_phi_me"));switch($cell$$.cach_tinh){case "1":$cell$$.value_string=
"";$callback$$(null,$cell$$);break;case "9":$cell$$.cong_thuc="";$cell$$.value_string="";utils.getInfoFromQuery($query_tk_co_tk_no$$,$cell$$.query,($e$$,$rs$$)=>{if($e$$)return $callback$$(null,$cell$$);_.isNumber($rs$$)?$cell$$.value=$rs$$:$cell$$.value_string=$rs$$;$callback$$(null,$cell$$)});break;case "99":$cell$$.cong_thuc="";$cell$$.value_string="";if(!$cell$$.script||0<=$cell$$.script.indexOf("async "))return $callback$$(null,$cell$$);let $func_string$$=`return (async ()=>{
try{
${$cell$$.script}
}catch(e){
return {error:e}
}
})`;utils.evalute($func_string$$,{row:$row$$,moment,condition:$query_tk_co_tk_no$$,user:$req$$.user,_,utils,cell:$cell$$})().then($rs$$=>{if($rs$$){if($rs$$.error)return console.error($rs$$.error,$func_string$$),$callback$$(null,$cell$$);_.isNumber($rs$$)?$cell$$.value=$rs$$:$cell$$.value_string=$rs$$}$callback$$(null,$cell$$)}).catch($e$$=>{console.error($e$$,$func_string$$);return $callback$$($e$$.message||$e$$.error||$e$$,$cell$$)});break;case "2":$cell$$.cong_thuc="";$cell$$.value_string="";
var $condition_dieu_kien_khac$$={ngay_ct:{$gte:$query_tk_co_tk_no$$.tu_ngay,$lte:$query_tk_co_tk_no$$.den_ngay},id_app:$query_tk_co_tk_no$$.id_app};$query_tk_co_tk_no$$.ma_dvcs&&($condition_dieu_kien_khac$$.ma_dvcs=$query_tk_co_tk_no$$.ma_dvcs);$query_tk_co_tk_no$$.ma_bp&&($condition_dieu_kien_khac$$.ma_bp=$query_tk_co_tk_no$$.ma_bp);$query_tk_co_tk_no$$.ma_hd&&($condition_dieu_kien_khac$$.ma_hd=$query_tk_co_tk_no$$.ma_hd);$query_tk_co_tk_no$$.ma_dt&&($condition_dieu_kien_khac$$.ma_dt=$query_tk_co_tk_no$$.ma_dt);
$query_tk_co_tk_no$$.ma_sp&&($condition_dieu_kien_khac$$.ma_sp=$query_tk_co_tk_no$$.ma_sp);$query_tk_co_tk_no$$.ma_nv&&($condition_dieu_kien_khac$$.ma_nv=$query_tk_co_tk_no$$.ma_nv);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$&&($condition_dieu_kien_khac$$.ma_phi=$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$);$cell$$.ma_kho&&($condition_dieu_kien_khac$$.ma_kho=$cell$$.ma_kho);$cell$$.ma_kh&&($condition_dieu_kien_khac$$.$or=[{ma_kh_no:$cell$$.ma_kh},
{ma_kh_co:$cell$$.ma_kh}]);if($query_tk_co_tk_no$$=getRegString($cell$$.tk_no))$condition_dieu_kien_khac$$.tk_no=$cell$$.giam_tru_no?{$not:new RegExp($query_tk_co_tk_no$$)}:{$regex:$query_tk_co_tk_no$$,$options:"i"};if($query_tk_co_tk_no$$=getRegString($cell$$.tk_co))$condition_dieu_kien_khac$$.tk_co=$cell$$.giam_tru_co&&$query_tk_co_tk_no$$?{$not:new RegExp($query_tk_co_tk_no$$)}:{$regex:$query_tk_co_tk_no$$,$options:"i"};if($cell$$.dieu_kien_khac)try{0>$cell$$.dieu_kien_khac.indexOf("return")&&
($cell$$.dieu_kien_khac="return "+$cell$$.dieu_kien_khac),$condition$$=evalute($cell$$.dieu_kien_khac,{condition:$condition_dieu_kien_khac$$,moment,row:$row$$,cell:$cell$$}),$condition_dieu_kien_khac$$={...$condition_dieu_kien_khac$$,...$condition$$}}catch($e$$){return $callback$$($e$$.toString())}try{socai.find($condition_dieu_kien_khac$$).lean().exec(($error$$,$rs$$)=>{if($error$$)return $callback$$($error$$);$cell$$.value=$rs$$.csum("tien");$cell$$.value_nt=$rs$$.csum("tien_nt");$cell$$.details=
$rs$$;$callback$$(null,$cell$$)})}catch($e$$){$callback$$($e$$)}break;case "3":$cell$$.cong_thuc="";$cell$$.value_string="";var $condition$$=12*$query_tk_co_tk_no$$.tu_ngay.getFullYear()+$query_tk_co_tk_no$$.tu_ngay.getMonth(),$den_nam_thang_dieu_kien_khac$$=12*$query_tk_co_tk_no$$.den_ngay.getFullYear()+$query_tk_co_tk_no$$.den_ngay.getMonth();$condition$$={id_app:$query_tk_co_tk_no$$.id_app,tu_nam_thang:$condition$$,den_nam_thang:$den_nam_thang_dieu_kien_khac$$};$query_tk_co_tk_no$$.ma_dvcs&&($condition$$.ma_dvcs=
$query_tk_co_tk_no$$.ma_dvcs);$query_tk_co_tk_no$$.ma_bp&&($condition$$.ma_bp=$query_tk_co_tk_no$$.ma_bp);$query_tk_co_tk_no$$.ma_hd&&($condition$$.ma_hd=$query_tk_co_tk_no$$.ma_hd);$query_tk_co_tk_no$$.ma_dt&&($condition$$.ma_dt=$query_tk_co_tk_no$$.ma_dt);$query_tk_co_tk_no$$.ma_sp&&($condition$$.ma_sp=$query_tk_co_tk_no$$.ma_sp);$query_tk_co_tk_no$$.ma_nv&&($condition$$.ma_nv=$query_tk_co_tk_no$$.ma_nv);$cell$$.ma_phi&&($condition$$.ma_phi=$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$);
$cell$$.ma_kho&&($condition$$.ma_kho=$cell$$.ma_kho);$cell$$.ma_kh&&($condition$$.ma_kh=$cell$$.ma_kh);if($cell$$.dieu_kien_khac)try{0>$cell$$.dieu_kien_khac.indexOf("return")&&($cell$$.dieu_kien_khac="return "+$cell$$.dieu_kien_khac),$condition_dieu_kien_khac$$=evalute($cell$$.dieu_kien_khac,{condition:$condition$$,moment,row:$row$$,cell:$cell$$}),$condition$$={...$condition$$,...$condition_dieu_kien_khac$$}}catch($e$$){return $callback$$($e$$.toString())}try{ctds.find($condition$$).lean().exec(($e$$,
$rs$$)=>{$cell$$.value_nt=$cell$$.value=$rs$$.csum("chi_tieu");$callback$$(null,$cell$$)})}catch($e$$){$callback$$($e$$)}break;case "5":$cell$$.cong_thuc="";$cell$$.value_string="";$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$={...$query_tk_co_tk_no$$};$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.tu_ngay);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.bu_tru=$cell$$.bu_tru_cong_no;$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.tk=
$cell$$.tk;$cell$$.ma_kh&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ma_kh=$cell$$.ma_kh);if($cell$$.dieu_kien_khac)try{0>$cell$$.dieu_kien_khac.indexOf("return")&&($cell$$.dieu_kien_khac="return "+$cell$$.dieu_kien_khac);$den_nam_thang_dieu_kien_khac$$=evalute($cell$$.dieu_kien_khac,{condition:$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,moment,row:$row$$,cell:$cell$$});if($den_nam_thang_dieu_kien_khac$$.ngay&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setDate($den_nam_thang_dieu_kien_khac$$.ngay),
$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()))return $callback$$(null,{value:0,value_nt:0});if($den_nam_thang_dieu_kien_khac$$.thang){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setMonth($den_nam_thang_dieu_kien_khac$$.thang-1);let $ngay_dau_thang$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("month").toDate(),
$ngay_cuoi_thang$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("month").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($ngay_dau_thang$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.tu_ngay));$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>
$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=moment($query_tk_co_tk_no$$.den_ngay).startOf("date").toDate());if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_thang$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$ngay_dau_thang$$.getTime())return $callback$$(null,{value:0,value_nt:0})}if($den_nam_thang_dieu_kien_khac$$.quy){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setMonth(3*
($den_nam_thang_dieu_kien_khac$$.quy-1));let $ngay_dau_quy$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("quarter").toDate(),$ngay_cuoi_quy$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("quarter").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($ngay_dau_quy$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&
($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.tu_ngay));$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=moment($query_tk_co_tk_no$$.den_ngay).startOf("date").toDate());if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_quy$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<
$ngay_dau_quy$$.getTime())return $callback$$(null,{value:0,value_nt:0})}if($den_nam_thang_dieu_kien_khac$$.nam){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setYear($den_nam_thang_dieu_kien_khac$$.nam);let $ngay_dau_nam$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("year").toDate(),$ngay_cuoi_nam$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("year").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=
new Date($ngay_dau_nam$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.tu_ngay));$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=moment($query_tk_co_tk_no$$.den_ngay).startOf("date").toDate());
if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_nam$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$ngay_dau_nam$$.getTime())return $callback$$(null,{value:0,value_nt:0})}delete $den_nam_thang_dieu_kien_khac$$.ngay;delete $den_nam_thang_dieu_kien_khac$$.quy;delete $den_nam_thang_dieu_kien_khac$$.thang;delete $den_nam_thang_dieu_kien_khac$$.nam;$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$=
{...$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,...$den_nam_thang_dieu_kien_khac$$}}catch($e$$){return $callback$$($e$$.toString())}delete $condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.tu_ngay;delete $condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.den_ngay;dktk($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$cell$$.value=$result$$.csum("du_no00");
$cell$$.value_nt=$result$$.csum("du_no_nt00");0>$cell$$.value&&$cell$$.khong_am&&($cell$$.value=0);0>$cell$$.value_nt&&$cell$$.khong_am&&($cell$$.value_nt=0);$callback$$(null,$cell$$)});break;case "6":$cell$$.cong_thuc="";$cell$$.value_string="";$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$={...$query_tk_co_tk_no$$};$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.tu_ngay);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.bu_tru=
$cell$$.bu_tru_cong_no;$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.tk=$cell$$.tk;delete $condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.tu_ngay;delete $condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.den_ngay;$cell$$.ma_kh&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ma_kh=$cell$$.ma_kh);if($cell$$.dieu_kien_khac)try{0>$cell$$.dieu_kien_khac.indexOf("return")&&($cell$$.dieu_kien_khac="return "+$cell$$.dieu_kien_khac);
let $dieu_kien_khac$$=evalute($cell$$.dieu_kien_khac,{condition:$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,moment,row:$row$$,cell:$cell$$});if($dieu_kien_khac$$.ngay&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setDate($dieu_kien_khac$$.ngay),$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<
$query_tk_co_tk_no$$.tu_ngay.getTime()))return $callback$$(null,{value:0,value_nt:0});if($dieu_kien_khac$$.thang){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setMonth($dieu_kien_khac$$.thang-1);let $ngay_dau_thang$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("month").toDate(),$ngay_cuoi_thang$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("month").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=
new Date($ngay_dau_thang$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.tu_ngay));$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=moment($query_tk_co_tk_no$$.den_ngay).startOf("date").toDate());
if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_thang$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$ngay_dau_thang$$.getTime())return $callback$$(null,{value:0,value_nt:0})}if($dieu_kien_khac$$.quy){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setMonth(3*($dieu_kien_khac$$.quy-1));let $ngay_dau_quy$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("quarter").toDate(),
$ngay_cuoi_quy$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("quarter").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($ngay_dau_quy$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.tu_ngay));$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>
$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=moment($query_tk_co_tk_no$$.den_ngay).startOf("date").toDate());if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_quy$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$ngay_dau_quy$$.getTime())return $callback$$(null,{value:0,value_nt:0})}if($dieu_kien_khac$$.nam){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setYear($dieu_kien_khac$$.nam);
let $ngay_dau_nam$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("year").toDate(),$ngay_cuoi_nam$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("year").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($ngay_dau_nam$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=
new Date($query_tk_co_tk_no$$.tu_ngay));$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=moment($query_tk_co_tk_no$$.den_ngay).startOf("date").toDate());if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_nam$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<
$ngay_dau_nam$$.getTime())return $callback$$(null,{value:0,value_nt:0})}delete $dieu_kien_khac$$.ngay;delete $dieu_kien_khac$$.thang;delete $dieu_kien_khac$$.quy;delete $dieu_kien_khac$$.nam;$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$={...$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,...$dieu_kien_khac$$}}catch($e$$){return $callback$$($e$$.toString())}dktk($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);
$cell$$.value=$result$$.csum("du_co00");$cell$$.value_nt=$result$$.csum("du_co_nt00");0>$cell$$.value&&$cell$$.khong_am&&($cell$$.value=0);0>$cell$$.value_nt&&$cell$$.khong_am&&($cell$$.value_nt=0);$callback$$(null,$cell$$)});break;case "7":$cell$$.cong_thuc="";$cell$$.value_string="";$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$={...$query_tk_co_tk_no$$};$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.den_ngay);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.bu_tru=
$cell$$.bu_tru_cong_no;$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.tk=$cell$$.tk;delete $condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.tu_ngay;delete $condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.den_ngay;$cell$$.ma_kh&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ma_kh=$cell$$.ma_kh);if($cell$$.dieu_kien_khac)try{0>$cell$$.dieu_kien_khac.indexOf("return")&&($cell$$.dieu_kien_khac="return "+$cell$$.dieu_kien_khac);
let $dieu_kien_khac$$=evalute($cell$$.dieu_kien_khac,{condition:$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,moment,row:$row$$,cell:$cell$$});if($dieu_kien_khac$$.ngay&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setDate($dieu_kien_khac$$.ngay),$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<
$query_tk_co_tk_no$$.tu_ngay.getTime()))return $callback$$(null,{value:0,value_nt:0});if($dieu_kien_khac$$.thang){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setMonth($dieu_kien_khac$$.thang-1);let $ngay_dau_thang$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("month").toDate(),$ngay_cuoi_thang$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("month").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=
new Date($ngay_cuoi_thang$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=moment($query_tk_co_tk_no$$.tu_ngay).endOf("date").toDate());$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.den_ngay));
if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_thang$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$ngay_dau_thang$$.getTime())return $callback$$(null,{value:0,value_nt:0})}if($dieu_kien_khac$$.quy){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setMonth(3*($dieu_kien_khac$$.quy-1));let $ngay_dau_quy$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("quarter").toDate(),
$ngay_cuoi_quy$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("quarter").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($ngay_cuoi_quy$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=moment($query_tk_co_tk_no$$.tu_ngay).endOf("date").toDate());$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>
$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.den_ngay));if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_quy$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$ngay_dau_quy$$.getTime())return $callback$$(null,{value:0,value_nt:0})}if($dieu_kien_khac$$.nam){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setYear($dieu_kien_khac$$.nam);
let $ngay_dau_nam$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("year").toDate(),$ngay_cuoi_nam$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("year").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($ngay_cuoi_nam$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=
moment($query_tk_co_tk_no$$.tu_ngay).endOf("date").toDate());$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.den_ngay));if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_nam$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<
$ngay_dau_nam$$.getTime())return $callback$$(null,{value:0,value_nt:0})}delete $dieu_kien_khac$$.ngay;delete $dieu_kien_khac$$.thang;delete $dieu_kien_khac$$.quy;delete $dieu_kien_khac$$.nam;$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$={...$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,...$dieu_kien_khac$$}}catch($e$$){return $callback$$($e$$.toString())}cktk($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);
$cell$$.value=$result$$.csum("du_no00");$cell$$.value_nt=$result$$.csum("du_no_nt00");0>$cell$$.value&&$cell$$.khong_am&&($cell$$.value=0);0>$cell$$.value_nt&&$cell$$.khong_am&&($cell$$.value_nt=0);$callback$$(null,$cell$$)});break;case "8":$cell$$.cong_thuc="";$cell$$.value_string="";$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$={...$query_tk_co_tk_no$$};$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.den_ngay);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.bu_tru=
$cell$$.bu_tru_cong_no;$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.tk=$cell$$.tk;delete $condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.tu_ngay;delete $condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.den_ngay;$cell$$.ma_kh&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ma_kh=$cell$$.ma_kh);if($cell$$.dieu_kien_khac)try{0>$cell$$.dieu_kien_khac.indexOf("return")&&($cell$$.dieu_kien_khac="return "+$cell$$.dieu_kien_khac);
let $dieu_kien_khac$$=evalute($cell$$.dieu_kien_khac,{condition:$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,moment,row:$row$$,cell:$cell$$});if($dieu_kien_khac$$.ngay&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setDate($dieu_kien_khac$$.ngay),$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<
$query_tk_co_tk_no$$.tu_ngay.getTime()))return $callback$$(null,{value:0,value_nt:0});if($dieu_kien_khac$$.thang){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setMonth($dieu_kien_khac$$.thang);let $ngay_dau_thang$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("month").toDate(),$ngay_cuoi_thang$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("month").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=
new Date($ngay_cuoi_thang$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=moment($query_tk_co_tk_no$$.tu_ngay).endOf("date").toDate());$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.den_ngay));
if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_thang$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$ngay_dau_thang$$.getTime())return $callback$$(null,{value:0,value_nt:0})}if($dieu_kien_khac$$.quy){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setMonth(3*($dieu_kien_khac$$.quy-1));let $ngay_dau_quy$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("quarter").toDate(),
$ngay_cuoi_quy$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("quarter").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($ngay_cuoi_quy$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=moment($query_tk_co_tk_no$$.tu_ngay).endOf("date").toDate());$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>
$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.den_ngay));if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_quy$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$ngay_dau_quy$$.getTime())return $callback$$(null,{value:0,value_nt:0})}if($dieu_kien_khac$$.nam){$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.setYear($dieu_kien_khac$$.nam);
let $ngay_dau_nam$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).startOf("year").toDate(),$ngay_cuoi_nam$$=moment($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay).endOf("year").toDate();$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($ngay_cuoi_nam$$);$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<$query_tk_co_tk_no$$.tu_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=
moment($query_tk_co_tk_no$$.tu_ngay).endOf("date").toDate());$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$query_tk_co_tk_no$$.den_ngay.getTime()&&($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay=new Date($query_tk_co_tk_no$$.den_ngay));if($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()>$ngay_cuoi_nam$$.getTime()||$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$.ngay.getTime()<
$ngay_dau_nam$$.getTime())return $callback$$(null,{value:0,value_nt:0})}delete $dieu_kien_khac$$.ngay;delete $dieu_kien_khac$$.thang;delete $dieu_kien_khac$$.quy;delete $dieu_kien_khac$$.nam;$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$={...$condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,...$dieu_kien_khac$$}}catch($e$$){return $callback$$($e$$.toString())}cktk($condition$jscomp$2_condition$jscomp$3_condition$jscomp$4_condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);
$cell$$.value=$result$$.csum("du_co00");$cell$$.value_nt=$result$$.csum("du_co_nt00");0>$cell$$.value&&$cell$$.khong_am&&($cell$$.value=0);0>$cell$$.value_nt&&$cell$$.khong_am&&($cell$$.value_nt=0);$callback$$(null,$cell$$)});break;default:$cell$$.cong_thuc="",$callback$$(null,$cell$$)}};
module.exports=function($router$$){new controller($router$$,"bcqt",async function($req$$,$callback$jscomp$1$$){let $query$$=$req$$.query;if(!$query$$.den_ngay||!$query$$.tu_ngay||!$query$$.id_rptform)return $callback$jscomp$1$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 t\u1eeb ng\u00e0y(tu_ngay), \u0111\u1ebfn ng\u00e0y(den_ngay), id m\u1eabu b\u00e1o c\u00e1o");if(!global.mongoose.Types.ObjectId.isValid($query$$.id_rptform))return $callback$jscomp$1$$("M\u1eabu b\u00e1o c\u00e1o n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb");
if($query$$.ma_bp){var $bps_dts_phis$$=await getCodeChildren(global.getModel("dmbp"),$query$$.id_app,$query$$.ma_bp,"ma_bp","ma_bp_me");$query$$.ma_bp={$in:$bps_dts_phis$$}}$query$$.ma_phi&&($bps_dts_phis$$=await getCodeChildren(global.getModel("dmphi"),$query$$.id_app,$query$$.ma_phi,"ma_phi","ma_phi_me"),$query$$.ma_phi={$in:$bps_dts_phis$$});$query$$.ma_dt&&($bps_dts_phis$$=await getCodeChildren(global.getModel("dmdt"),$query$$.id_app,$query$$.ma_dt,"ma_dt","ma_dt_me"),$query$$.ma_dt={$in:$bps_dts_phis$$});
(new Promise(($resolve$$,$reject$$)=>{rptform.findOne({_id:$query$$.id_rptform,id_app:$query$$.id_app}).lean().exec(($e$$,$rs$$)=>{if($e$$||!$rs$$)return $reject$$($e$$);$resolve$$($rs$$)})})).then(async $_rptform$$=>{$query$$.tu_ngay=moment(new Date($query$$.tu_ngay)).startOf("date").toDate();$query$$.den_ngay=moment(new Date($query$$.den_ngay)).endOf("date").toDate();$query$$.tu_ngay_kt?$query$$.tu_ngay_kt=moment(new Date($query$$.tu_ngay_kt)).startOf("date").toDate():($query$$.tu_ngay_kt=new Date($query$$.tu_ngay),
$query$$.tu_ngay_kt.setYear($query$$.tu_ngay_kt.getFullYear()-1));$query$$.den_ngay_kt?$query$$.den_ngay_kt=moment(new Date($query$$.den_ngay_kt)).endOf("date").toDate():($query$$.den_ngay_kt=new Date($query$$.den_ngay),$query$$.den_ngay_kt.setYear($query$$.den_ngay_kt.getFullYear()-1));let $kbm$$=$_rptform$$.report;$kbm$$&&0!==$_rptform$$.report.length||($kbm$$=await kbmbcqt.find({id_rptform:$_rptform$$._id.toString(),id_app:$query$$.id_app}).sort({stt:1}).lean());const $columns$$={},$cells$$={};
let $report$$=[];try{await new Promise(($resolve$$,$reject$$)=>{async.mapSeries($kbm$$,async $row$$=>{if($row$$.ref_model&&$row$$.ref_code_field){let $row_origin$$;$row$$.hide_origin_row||($row_origin$$={..._.cloneDeep($row$$),bold:!0},$report$$.push($row_origin$$));let $fields$$={[$row$$.ref_code_field]:1};$row$$.ref_label_field&&($fields$$[$row$$.ref_label_field]=1);$row$$.ref_fields&&$row$$.ref_fields.split(",").forEach($f$$=>{$fields$$[$f$$]=1});let $_condition$$={};if($row$$.ref_condition){let $ref_condition$$=
$row$$.ref_condition;0>$row$$.ref_condition.indexOf("return ")&&($ref_condition$$="return "+$ref_condition$$);try{$_condition$$=evalute($ref_condition$$,{moment,row:$row$$})}catch($e$$){console.error("error ref_condition of bcqt",$e$$,$ref_condition$$)}}(await global.getModel($row$$.ref_model).find({id_app:$query$$.id_app,...$_condition$$},$fields$$).lean()).forEach(($ref_r$$,$index$$)=>{let $_row$$={..._.cloneDeep($row$$),...$ref_r$$,ma_so:`${$row$$.ma_so}:${$ref_r$$[$row$$.ref_code_field]}`.toUpperCase(),
title:$ref_r$$[$row$$.ref_label_field||$row$$.ref_code_field]||$row$$.title,stt:`${$row$$.stt}.${$index$$+1}`,ma_so_goc:$row$$.ma_so};$_row$$.details&&$_row$$.details.forEach($c$$=>{$c$$.cong_thuc&&($c$$.cong_thuc=$c$$.cong_thuc.split(`["${$_row$$.ma_so_goc}"]`).join(`["${$_row$$.ma_so}"]`))});$report$$.push($_row$$)});$row_origin$$&&($row_origin$$.details||[]).forEach($detail$$=>{$detail$$.cach_tinh="1";$detail$$.script="";$detail$$.query="";$detail$$.cong_thuc=$report$$.filter($r$$=>$r$$.ma_so_goc===
$row_origin$$.ma_so).map($r$$=>`c["${$r$$.ma_so}"]["${$detail$$.ma_so}"]`).join("+")})}else $report$$.push($row$$)},$e$$=>{if($e$$)return $reject$$($e$$);$resolve$$()})})}catch($e$$){$callback$jscomp$1$$($e$$)}async.mapSeries($report$$,($r$$,$callback$jscomp$0$$)=>{async.mapSeries($r$$.details||[],($cell$$,$callback$$)=>{const $_q$$={...$query$$};"1"==$cell$$.thoi_gian&&($_q$$.tu_ngay=$_q$$.tu_ngay_kt,$_q$$.den_ngay=$_q$$.den_ngay_kt);const $col_ma_so$$=$cell$$.ma_so,$col_value$$=`${$col_ma_so$$}_value`,
$col_value_nt$$=`${$col_ma_so$$}_value_nt`,$col_cong_thuc$$=`cong_thuc_${$col_ma_so$$}_value`,$col_cong_thuc_nt$$=`cong_thuc_${$col_ma_so$$}_value_nt`;calc4cell($req$$,$r$$,$cell$$,$_q$$,($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$columns$$[$col_ma_so$$]={stt:$cell$$.stt,title:$cell$$.title,data_type:$cell$$.data_type,ma_so:$cell$$.ma_so,col_value:$col_value$$,col_value_nt:$col_value_nt$$,col_cong_thuc:$col_cong_thuc$$,col_cong_thuc_nt:$col_cong_thuc_nt$$};$r$$[$col_value$$]=$rs$$.value_string||
$rs$$.value;$r$$[$col_value_nt$$]=$rs$$.value_string||$rs$$.value_nt;$r$$[$col_cong_thuc$$]=$rs$$.cong_thuc;$r$$[$col_cong_thuc_nt$$]=$rs$$.cong_thuc;$r$$[$col_ma_so$$]=$cells$$[`c["${$r$$.ma_so}"]["${$col_ma_so$$}"]`]={type:$rs$$.value_string===$r$$[$col_value$$]?"String":"Number",value:$r$$[$col_value$$],cong_thuc:$r$$[$col_cong_thuc$$]};$callback$$()})},($e$$,$rs$$)=>{delete $r$$.details;$callback$jscomp$0$$($e$$,$rs$$)})},function($error$$){if($error$$)return $callback$jscomp$1$$($error$$);const $key_cells$$=
Object.keys($cells$$),$cells_value$$=Object.values($cells$$);let $cell_need_calc$$=$cells_value$$.filter($cell$$=>$cell$$.cong_thuc);async.whilst(function($cb$$){$cb$$(null,0<$cell_need_calc$$.length)},function($callback$$){setImmediate(()=>{try{$cell_need_calc$$.forEach($cell$$=>{let $cong_thuc$$=$cell$$.cong_thuc||"";$key_cells$$.filter($key$$=>0<=$cong_thuc$$.indexOf($key$$)).forEach($key_cell$$=>{$cong_thuc$$=$cong_thuc$$.split($key_cell$$).join(`(${$cells$$[$key_cell$$].cong_thuc||$cells$$[$key_cell$$].value})`);
if(0>$cong_thuc$$.indexOf("[")){try{$cell$$.value=exec($cong_thuc$$,{report:$report$$})}catch($e$$){console.error($e$$,$cong_thuc$$),$cell$$.value=0}$cell$$.cong_thuc=""}})});let $current_cell_need_calc$$=_.cloneDeep($cell_need_calc$$),$_cell_need_calc$$=$cells_value$$.filter($cell$$=>$cell$$.cong_thuc);$cell_need_calc$$=0<$_cell_need_calc$$.length&&_.isEqual($_cell_need_calc$$,$current_cell_need_calc$$)?[]:$_cell_need_calc$$;$callback$$()}catch($e$$){$callback$$($e$$)}})},async $err_func_string$$=>
{if($err_func_string$$)return $callback$jscomp$1$$($err_func_string$$);let $obj_rows$$={};$report$$.forEach($row$$=>{($row$$.details||[]).forEach($c$$=>{$row$$[$c$$.ma_so]=($row$$[$c$$.ma_so]||{}).value});$obj_rows$$[$row$$.ma_so]=$row$$});$cells_value$$.forEach($cell$$=>{if($cell$$.cong_thuc){try{$cell$$.value=exec($cell$$.cong_thuc,{report:$report$$,c:$obj_rows$$})}catch($e$$){console.error($e$$,$cell$$.cong_thuc),$cell$$.value=0}$cell$$.cong_thuc=""}});if($_rptform$$.handle_data_expression_server){if(0<=
$_rptform$$.handle_data_expression_server.indexOf("async "))return $callback$jscomp$1$$("async function is not allow");$err_func_string$$=`return (async ()=>{
try{
${$_rptform$$.handle_data_expression_server}
}catch(e){
return {error:e}
}
})`;try{let $rs$$=await evalute($err_func_string$$,{data:$report$$,moment,numeral,condition:$req$$.query})();if($rs$$){if($rs$$.error)return console.error($rs$$.error,$err_func_string$$),$callback$jscomp$1$$($rs$$.error.message||$rs$$.error);$report$$=$rs$$}}catch($e$$){return console.error($e$$,$err_func_string$$),$callback$jscomp$1$$($e$$.message||$e$$)}}$callback$jscomp$1$$(null,{data:$report$$.filter($r$$=>$r$$.print),columns:Object.values($columns$$).sort(($a$$,$b$$)=>$a$$.stt-$b$$.stt)})})})}).catch($e$$=>
{$callback$jscomp$1$$($e$$||"Kh\u00f4ng c\u00f3 m\u1eabu b\u00e1o c\u00e1o n\u00e0o cho b\u00e1o c\u00e1o n\u00e0y")})})};