flexbiz-server
Version:
Flexible Server
71 lines (70 loc) • 35.6 kB
JavaScript
const dmvt=global.getModel("dmvt"),dmgiaban=global.getModel("dmgiaban"),so1=global.getModel("so1"),pbl=global.getModel("pbl"),dmchietkhau=global.getModel("dmchietkhau"),dmkhuyenmai=global.getModel("dmkhuyenmai"),customer=global.getModel("customer"),async=require("async"),underscore=require("underscore"),utils=require("./utils"),_=require("lodash"),round=0,getSLDaBanCKs=async $items$$=>new Promise(($rs$$,$rj$$)=>{async.mapSeries($items$$,($item$$,$cb$$)=>{setImmediate(async()=>{try{const $details$$=
(await so1.find({id_app:$item$$.id_app,"details.id_cs":$item$$._id.toString(),trang_thai:{$nin:["9","10","LCT"]}})).map($r$$=>$r$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($a$$=>$a$$.id_cs===$item$$._id.toString());$item$$.sl_da_ban=$details$$.map($r$$=>$item$$.sl_ap_dung?Math.min($r$$.sl_xuat,$item$$.sl_ap_dung):$r$$.sl_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$$.sl_con_lai=Math.max(($item$$.tong_sl_ap_dung||0)-$item$$.sl_da_ban,0);$item$$.sl_ap_dung=$item$$.tong_sl_ap_dung?
Math.min($item$$.sl_ap_dung,$item$$.sl_con_lai):$item$$.sl_ap_dung;$cb$$(null,$item$$)}catch($e$$){$cb$$($e$$)}})},$e$$=>{if($e$$)return $rj$$($e$$);$rs$$($items$$)})}),calcDefaultDiscount=async($id_app_rs$$,$groups$$)=>{await $groups$$.filter($d$$=>$d$$.ma_nhom&&!$d$$.phuong_phap_ap_dung).asyncJoinModel2($id_app_rs$$,"dmnckkm",{where:{ma_nhom:"_id"},fields:["phuong_phap_ap_dung","nh_me",{stt_uu_tien:"stt"}]});$groups$$.forEach($g$$=>{switch($g$$.phuong_phap_ap_dung){case "TOI_THIEU":$g$$.ck=$g$$.cks.sort(($a$$,
$b$$)=>$a$$.ty_le_ck-$b$$.ty_le_ck)[0];$g$$.ck.stt_uu_tien=$g$$.stt_uu_tien;break;case "TOI_DA":$g$$.ck=$g$$.cks.sort(($a$$,$b$$)=>$b$$.ty_le_ck-$a$$.ty_le_ck)[0];$g$$.ck.stt_uu_tien=$g$$.stt_uu_tien;break;case "CONG":$g$$.ck={ty_le_ck:$g$$.cks.map($c$$=>$c$$.ty_le_ck).reduce(($a$$,$b$$)=>$a$$+$b$$,0),tien_ck:$g$$.cks.map($c$$=>$c$$.tien_ck||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)};$g$$.ck.stt_uu_tien=$g$$.stt_uu_tien;break;default:$g$$.ck=$g$$.cks.sort(($a$$,$b$$)=>($a$$.stt_uu_tien||0)-($b$$.stt_uu_tien||
0))[0],$g$$.ck.stt_uu_tien=$g$$.stt_uu_tien}delete $g$$.cks});if($groups$$.length==1)$id_app_rs$$=$groups$$[0].ck;else if($groups$$.find($g$$=>$g$$.nh_me)){$groups$$=$groups$$.map($g$$=>{$g$$.nh_me&&($g$$.ma_nhom=$g$$.nh_me,$g$$.nh_me="",$g$$.phuong_phap_ap_dung="");return $g$$});const $new_groups$$=[...(new Set($groups$$.map($d$$=>$d$$.ma_nhom||"")))].map($ma_nhom$$=>{const $cks$$=$groups$$.filter($d$$=>($d$$.ma_nhom||"")==$ma_nhom$$).map($g$$=>$g$$.ck);return{ma_nhom:$ma_nhom$$,cks:$cks$$}});$id_app_rs$$=
await calcDefaultDiscount($id_app_rs$$,$new_groups$$)}else $id_app_rs$$=$groups$$.sort(($a$$,$b$$)=>($a$$.stt_uu_tien||0)-($b$$.stt_uu_tien||0))[0];return $id_app_rs$$},calcDefaultPromotion=async($id_app$jscomp$1_rs$$,$groups$$)=>{await $groups$$.filter($d$$=>$d$$.ma_nhom&&!$d$$.phuong_phap_ap_dung).asyncJoinModel2($id_app$jscomp$1_rs$$,"dmnckkm",{where:{ma_nhom:"_id"},fields:["phuong_phap_ap_dung","nh_me",{stt_uu_tien:"stt"}]});$groups$$.forEach($g$$=>{switch($g$$.phuong_phap_ap_dung){case "TOI_THIEU":var $ck_ck$jscomp$1_ck$$=
$g$$.cks.sort(($a$$,$b$$)=>$a$$.t_sl_km-$b$$.t_sl_km)[0];$g$$.ck=$ck_ck$jscomp$1_ck$$?{t_sl_km:$ck_ck$jscomp$1_ck$$.t_sl_km||0,promotions:[$ck_ck$jscomp$1_ck$$],stt_uu_tien:$g$$.stt_uu_tien}:{t_sl_km:0,promotions:[],stt_uu_tien:$g$$.stt_uu_tien};break;case "TOI_DA":$ck_ck$jscomp$1_ck$$=$g$$.cks.sort(($a$$,$b$$)=>$b$$.t_sl_km-$a$$.t_sl_km)[0];$g$$.ck=$ck_ck$jscomp$1_ck$$?{t_sl_km:$ck_ck$jscomp$1_ck$$.t_sl_km||0,promotions:[$ck_ck$jscomp$1_ck$$],stt_uu_tien:$g$$.stt_uu_tien}:{t_sl_km:0,promotions:[],
stt_uu_tien:$g$$.stt_uu_tien};break;case "CONG":$ck_ck$jscomp$1_ck$$=$g$$.cks.map($c$$=>$c$$.t_sl_km).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$g$$.ck={t_sl_km:$ck_ck$jscomp$1_ck$$,promotions:$g$$.cks,stt_uu_tien:$g$$.stt_uu_tien};break;default:$ck_ck$jscomp$1_ck$$=$g$$.cks.sort(($a$$,$b$$)=>($a$$.stt_uu_tien||0)-($b$$.stt_uu_tien||0))[0],$g$$.ck=$ck_ck$jscomp$1_ck$$?{t_sl_km:$ck_ck$jscomp$1_ck$$.t_sl_km||0,promotions:[$ck_ck$jscomp$1_ck$$],stt_uu_tien:$g$$.stt_uu_tien}:{t_sl_km:0,promotions:[],stt_uu_tien:$g$$.stt_uu_tien}}});
if($groups$$.length==1)$id_app$jscomp$1_rs$$=$groups$$[0].ck.promotions;else if($groups$$.find($g$$=>$g$$.nh_me)){$groups$$=$groups$$.map($g$$=>{$g$$.nh_me&&($g$$.ma_nhom=$g$$.nh_me,$g$$.nh_me="",$g$$.phuong_phap_ap_dung="");return $g$$});const $new_groups$$=[...(new Set($groups$$.map($d$$=>$d$$.ma_nhom||"")))].map($ma_nhom$$=>{const $cks$$=$groups$$.filter($d$$=>($d$$.ma_nhom||"")==$ma_nhom$$).map($g$$=>$g$$.ck);return{ma_nhom:$ma_nhom$$,cks:$cks$$}});$id_app$jscomp$1_rs$$=await calcDefaultPromotion($id_app$jscomp$1_rs$$,
$new_groups$$)}else $id_app$jscomp$1_rs$$=$groups$$.sort(($a$$,$b$$)=>($a$$.stt_uu_tien||0)-($b$$.stt_uu_tien||0))[0].ck.promotions;return $id_app$jscomp$1_rs$$};
module.exports=async($condition$$,$fn$$,$par$$={})=>{!$condition$$.ma_vt&&$condition$$.vt&&($condition$$.ma_vt=$condition$$.vt.ma_vt);$condition$$.so_luong=$condition$$.so_luong||$condition$$.sl_xuat||1;$condition$$.t_so_luong=$condition$$.t_so_luong||$condition$$.t_sl_xuat||$condition$$.t_sl||$condition$$.so_luong;$condition$$.t_so_luong_ntt=$condition$$.t_so_luong_ntt||$condition$$.t_sl_xuat_ntt||$condition$$.t_sl_ntt||$condition$$.so_luong_ntt||0;$condition$$.t_tien_ntt=$condition$$.t_tien_ntt||
0;let $he_so_qd$$=1;if($condition$$.ma_dvt_sd){var $qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$=await global.getModel("dmqddvt").findOne({id_app:$condition$$.id_app,ma_vt:$condition$$.ma_vt,ma_dvt:$condition$$.ma_dvt_sd}).lean();$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$&&($he_so_qd$$=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.ty_le_qd||1,$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.mau&&$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.tu&&($he_so_qd$$=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.tu/
$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.mau))}!$condition$$.ma_vt&&$condition$$.vt&&$condition$$.vt._id&&($condition$$.vt=await dmvt.findOne({_id:$condition$$.vt._id},{ma_vt:1,ma_nvt:1,ma_nvt2:1,ma_nvt3:1,ma_nvt4:1,ma_danh_muc:1,gia_ban_le0:1,gia_ban_buon0:1,gia_ban_le:1,gia_ban_buon:1,ty_le_ck0:1,tien_ck0:1,ma_nt:1,gia_ban_chua_thue:1,ma_thue:1,ma_nt0:1}).lean(),$condition$$.vt&&($condition$$.vt.is_full=!0,$condition$$.ma_vt=$condition$$.vt.ma_vt));if($condition$$&&$condition$$.ma_vt&&
$condition$$.id_app){var $vt$$=$condition$$.vt;if(!$vt$$||!$vt$$.is_full&&($vt$$.gia_ban_le===void 0||$vt$$.gia_ban_le0===void 0||$vt$$.ty_le_ck0===void 0||$vt$$.tien_ck0===void 0||$vt$$.ma_nt0===void 0||$vt$$.ma_thue===void 0))if($vt$$=await dmvt.findOne({ma_vt:$condition$$.ma_vt,id_app:$condition$$.id_app},{ma_vt:1,ma_nvt:1,ma_nvt2:1,ma_nvt3:1,ma_nvt4:1,ma_danh_muc:1,gia_ban_le0:1,gia_ban_buon0:1,gia_ban_le:1,gia_ban_buon:1,ty_le_ck0:1,tien_ck0:1,ma_nt:1,gia_ban_chua_thue:1,ma_thue:1,ma_nt0:1}).lean(),
!$vt$$)return $fn$$("Not found product: "+$condition$$.ma_vt);$vt$$.ma_nvt2||($vt$$.ma_nvt2=[]);typeof $vt$$.ma_nvt2=="string"&&($vt$$.ma_nvt2=[$vt$$.ma_nvt2]);$vt$$.ma_nvt3||($vt$$.ma_nvt3=[]);typeof $vt$$.ma_nvt3=="string"&&($vt$$.ma_nvt3=[$vt$$.ma_nvt3]);$vt$$.ma_nvt4||($vt$$.ma_nvt4=[]);typeof $vt$$.ma_nvt4=="string"&&($vt$$.ma_nvt4=[$vt$$.ma_nvt4]);if($condition$$.ma_tt1){var $hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$={id_app:$vt$$.id_app_vt||$condition$$.id_app,ma_vt:$vt$$.ma_vt,status:!0};
$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.ma_tt=$condition$$.ma_tt1;$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.loai_tt="1";if($hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$=await global.getModel("dmtt").findOne($hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$).lean())$vt$$.gia_ban_le0=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.gia_ban_le||$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.gia_ban_buon||$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||
0}else if($condition$$.ma_tt2){if($qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$={id_app:$vt$$.id_app_vt||$condition$$.id_app,ma_vt:$vt$$.ma_vt,status:!0},$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.ma_tt=$condition$$.ma_tt2,$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.loai_tt="2",$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$=await global.getModel("dmtt").findOne($qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$).lean())$vt$$.gia_ban_le0=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.gia_ban_le||
$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.gia_ban_buon||$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0}else $condition$$.ma_tt3&&($qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$={id_app:$vt$$.id_app_vt||$condition$$.id_app,ma_vt:$vt$$.ma_vt,status:!0},$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.ma_tt=$condition$$.ma_tt3,$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.loai_tt="3",$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$=
await global.getModel("dmtt").findOne($qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$).lean())&&($vt$$.gia_ban_le0=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.gia_ban_le||$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.gia_ban_buon||$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0);$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$&&($condition$$.nh_tt_me=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt?await global.getModel("group").getAllMotherGroup($condition$$.id_app,
$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt):[],$condition$$.nh_tt2_me=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt2?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt2):[],$condition$$.nh_tt3_me=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt3?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt3):[],$condition$$.nh_tt4_me=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt4?
await global.getModel("group").getAllMotherGroup($condition$$.id_app,$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt4):[],$condition$$.nh_tt5_me=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt5?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt5):[]);var $_cust_den_ngay_hieu_luc_tu$$;if($condition$$.user&&!$condition$$.ma_kh)try{if($_cust_den_ngay_hieu_luc_tu$$=await customer.findOne({id_app:$condition$$.id_app,of_user:$condition$$.user.email},
{ma_kh:1,nh_kh:1,nh_kh2:1,nh_kh3:1,nh_kh4:1,nh_kh5:1}).lean())$condition$$.ma_kh=$_cust_den_ngay_hieu_luc_tu$$.ma_kh,$condition$$.nh_kh=$_cust_den_ngay_hieu_luc_tu$$.nh_kh,$condition$$.nh_kh2=$_cust_den_ngay_hieu_luc_tu$$.nh_kh2,$condition$$.nh_kh3=$_cust_den_ngay_hieu_luc_tu$$.nh_kh3,$condition$$.nh_kh4=$_cust_den_ngay_hieu_luc_tu$$.nh_kh4,$condition$$.nh_kh5=$_cust_den_ngay_hieu_luc_tu$$.nh_kh5}catch($e$$){Logger.info("Error find customer code of user",$e$$)}if($condition$$.ma_kh){var $lan_mua_thu$$=
await so1.countDocuments({id_app:$condition$$.id_app,ma_kh:$condition$$.ma_kh,trang_thai:{$in:["4","5"]}});($lan_mua_thu$$+=await pbl.countDocuments({id_app:$condition$$.id_app,ma_kh:$condition$$.ma_kh,trang_thai:{$in:["5","6"]}}))||($lan_mua_thu$$=0);$lan_mua_thu$$+=1;!$_cust_den_ngay_hieu_luc_tu$$&&($_cust_den_ngay_hieu_luc_tu$$=await customer.findOne({id_app:$condition$$.id_app,ma_kh:$condition$$.ma_kh},{nh_kh:1,nh_kh2:1,nh_kh3:1,nh_kh4:1,nh_kh5:1}).lean())&&($condition$$.nh_kh=$_cust_den_ngay_hieu_luc_tu$$.nh_kh,
$condition$$.nh_kh2=$_cust_den_ngay_hieu_luc_tu$$.nh_kh2,$condition$$.nh_kh3=$_cust_den_ngay_hieu_luc_tu$$.nh_kh3,$condition$$.nh_kh4=$_cust_den_ngay_hieu_luc_tu$$.nh_kh4,$condition$$.nh_kh5=$_cust_den_ngay_hieu_luc_tu$$.nh_kh5)}else $lan_mua_thu$$=0;var $query$$={ma_vt:$condition$$.ma_vt,id_app:$condition$$.id_app,status:!0,$and:[]};$query$$.ma_kh={$in:[null,"",$condition$$.ma_kh]};$_cust_den_ngay_hieu_luc_tu$$&&($condition$$.nh_kh_me=$_cust_den_ngay_hieu_luc_tu$$.nh_kh?await global.getModel("group").getAllMotherGroup($condition$$.id_app,
$_cust_den_ngay_hieu_luc_tu$$.nh_kh):[],$condition$$.nh_kh2_me=$_cust_den_ngay_hieu_luc_tu$$.nh_kh2?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$_cust_den_ngay_hieu_luc_tu$$.nh_kh2):[],$condition$$.nh_kh3_me=$_cust_den_ngay_hieu_luc_tu$$.nh_kh3?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$_cust_den_ngay_hieu_luc_tu$$.nh_kh3):[],$condition$$.nh_kh4_me=$_cust_den_ngay_hieu_luc_tu$$.nh_kh4?await global.getModel("group").getAllMotherGroup($condition$$.id_app,
$_cust_den_ngay_hieu_luc_tu$$.nh_kh4):[],$condition$$.nh_kh5_me=$_cust_den_ngay_hieu_luc_tu$$.nh_kh5?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$_cust_den_ngay_hieu_luc_tu$$.nh_kh5):[]);$query$$.nh_kh={$in:[null,"",...($condition$$.nh_kh_me||[])]};$query$$.nh_kh2={$in:[null,"",...($condition$$.nh_kh2_me||[])]};$query$$.nh_kh3={$in:[null,"",...($condition$$.nh_kh3_me||[])]};$query$$.nh_kh4={$in:[null,"",...($condition$$.nh_kh4_me||[])]};$query$$.nh_kh5={$in:[null,"",...($condition$$.nh_kh5_me||
[])]};$query$$.ma_kho={$in:[null,"",$condition$$.ma_kho]};$query$$.ma_tt1={$in:[null,"",$condition$$.ma_tt1]};$query$$.ma_tt2={$in:[null,"",$condition$$.ma_tt2]};$query$$.ma_tt3={$in:[null,"",$condition$$.ma_tt3]};$condition$$.ngay_ct=$condition$$.ngay_ct?new Date($condition$$.ngay_ct):new Date;$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$=$_cust_den_ngay_hieu_luc_tu$$=$condition$$.ngay_ct;$_cust_den_ngay_hieu_luc_tu$$={$lte:$_cust_den_ngay_hieu_luc_tu$$};$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$=
{$gte:$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$};$query$$.hieu_luc_tu=$_cust_den_ngay_hieu_luc_tu$$;$query$$.hieu_luc_den=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$;var $sort$$={stt_uu_tien:1};async.parallel({giabans:$callback$$=>{if($condition$$.get_price==0)return $callback$$(null,[]);setImmediate(()=>{let $_query$$=_.cloneDeep($query$$);$_query$$.$and.push({$or:[{ap_dung_lan_mua_tu_thu:{$in:[0,null]}},{ap_dung_lan_mua_tu_thu:{$lte:$lan_mua_thu$$}}]});$_query$$.$and.push({$or:[{ap_dung_lan_mua_den_thu:{$in:[0,
null]}},{ap_dung_lan_mua_den_thu:{$gte:$lan_mua_thu$$}}]});$condition$$.online!=void 0&&($_query$$.online=$condition$$.online);$condition$$.offline!=void 0&&($_query$$.offline=$condition$$.offline);$_query$$.$and&&$_query$$.$and.length==0&&delete $_query$$.$and;dmgiaban.find($_query$$).sort($sort$$).lean().then(async $_q_giabans$$=>{$_q_giabans$$.length>0?$callback$$(null,$_q_giabans$$):($_q_giabans$$=_.cloneDeep($_query$$),$_q_giabans$$.ma_vt={$in:["",null]},$_q_giabans$$.ma_nvt={$in:["",null,$vt$$.ma_nvt]},
$_q_giabans$$.ma_nvt2={$in:["",null,...$vt$$.ma_nvt2]},$_q_giabans$$.ma_nvt3={$in:["",null,...$vt$$.ma_nvt3]},$_q_giabans$$.ma_nvt4={$in:["",null,...$vt$$.ma_nvt4]},$_q_giabans$$.ma_danh_muc={$in:["",null,$vt$$.ma_danh_muc]},dmgiaban.find($_q_giabans$$).sort($sort$$).lean().then(async $giabans$$=>{$callback$$(null,$giabans$$)}).catch($error$$=>{$callback$$({message:$error$$.message})}))}).catch($error$$=>{$callback$$({message:$error$$.message})})})},discount_vt:$callback$$=>{if($condition$$.get_discount==
0)return $callback$$(null,[]);setImmediate(async()=>{let $query_ck$$=_.cloneDeep($query$$);$query_ck$$.$and.push({$or:[{ap_dung_lan_mua_tu_thu:{$in:[0,null]}},{ap_dung_lan_mua_tu_thu:{$lte:$lan_mua_thu$$}}]});$query_ck$$.$and.push({$or:[{ap_dung_lan_mua_den_thu:{$in:[0,null]}},{ap_dung_lan_mua_den_thu:{$gte:$lan_mua_thu$$}}]});$condition$$.online!=void 0&&($query_ck$$.online=$condition$$.online);$condition$$.offline!=void 0&&($query_ck$$.offline=$condition$$.offline);delete $query_ck$$.ma_kh;delete $query_ck$$.nh_kh;
delete $query_ck$$.nh_kh2;delete $query_ck$$.nh_kh3;delete $query_ck$$.nh_kh4;delete $query_ck$$.nh_kh5;delete $query_ck$$.ma_tt1;delete $query_ck$$.ma_tt2;delete $query_ck$$.ma_tt3;$query_ck$$.$and&&$query_ck$$.$and.length==0&&delete $query_ck$$.$and;let $chietkhaus$$;try{$chietkhaus$$=await new Promise(($resolve$$,$reject$$)=>{async.parallel({cktheovt:$callback$$=>{let $_query$$=_.cloneDeep($query_ck$$);dmchietkhau.find($_query$$).sort($sort$$).lean().then(async $chietkhaus$$=>{$callback$$(null,
$chietkhaus$$)}).catch($error$$=>{$callback$$({message:$error$$.message})})},cktheonvt:$callback$$=>{let $_q$$=_.cloneDeep($query_ck$$);$_q$$.ma_vt={$in:["",null]};$_q$$.ma_nvt={$in:["",null,$vt$$.ma_nvt]};$_q$$.ma_nvt2={$in:["",null,...$vt$$.ma_nvt2]};$_q$$.ma_nvt3={$in:["",null,...$vt$$.ma_nvt3]};$_q$$.ma_nvt4={$in:["",null,...$vt$$.ma_nvt4]};$_q$$.ma_danh_muc={$in:["",null,$vt$$.ma_danh_muc]};dmchietkhau.find($_q$$).sort($sort$$).lean().then(async $chietkhaus$$=>{$callback$$(null,$chietkhaus$$)}).catch($error$$=>
{$callback$$({message:$error$$.message})})}},async($chietkhaus$jscomp$3_e$$,$rs$$)=>{if($chietkhaus$jscomp$3_e$$)return $reject$$($chietkhaus$jscomp$3_e$$);$chietkhaus$jscomp$3_e$$=$rs$$.cktheovt.concat($rs$$.cktheonvt);$resolve$$($chietkhaus$jscomp$3_e$$)})})}catch($e$$){return $callback$$($e$$)}$chietkhaus$$=$chietkhaus$$.filter($ck$$=>(!$ck$$.ma_kh||$condition$$.ma_kh==$ck$$.ma_kh)&&(!$ck$$.nh_kh||($condition$$.nh_kh_me||[]).find($nh$$=>$ck$$.nh_kh==$nh$$))&&(!$ck$$.nh_kh2||$ck$$.nh_kh2.length==
0||($condition$$.nh_kh2_me||[]).find($nh$$=>$ck$$.nh_kh2.indexOf($nh$$)>=0))&&(!$ck$$.nh_kh3||$ck$$.nh_kh3.length==0||($condition$$.nh_kh3_me||[]).find($nh$$=>$ck$$.nh_kh3.indexOf($nh$$)>=0))&&(!$ck$$.nh_kh4||$ck$$.nh_kh4.length==0||($condition$$.nh_kh4_me||[]).find($nh$$=>$ck$$.nh_kh4.indexOf($nh$$)>=0))&&(!$ck$$.nh_kh5||$ck$$.nh_kh5.length==0||($condition$$.nh_kh5_me||[]).find($nh$$=>$ck$$.nh_kh5.indexOf($nh$$)>=0))&&(!$ck$$.ma_tt1||$condition$$.ma_tt1==$ck$$.ma_tt1)&&(!$ck$$.ma_tt2||$condition$$.ma_tt2==
$ck$$.ma_tt2)&&(!$ck$$.ma_tt3||$condition$$.ma_tt3==$ck$$.ma_tt3)&&(!$ck$$.nh_tt||($condition$$.nh_tt_me||[]).find($nh$$=>$ck$$.nh_tt==$nh$$))&&(!$ck$$.nh_tt2||$ck$$.nh_tt2.length==0||($condition$$.nh_tt2_me||[]).find($nh$$=>$ck$$.nh_tt2.indexOf($nh$$)>=0))&&(!$ck$$.nh_tt3||$ck$$.nh_tt3.length==0||($condition$$.nh_tt3_me||[]).find($nh$$=>$ck$$.nh_tt3.indexOf($nh$$)>=0))&&(!$ck$$.nh_tt4||$ck$$.nh_tt4.length==0||($condition$$.nh_tt4_me||[]).find($nh$$=>$ck$$.nh_tt4.indexOf($nh$$)>=0))&&(!$ck$$.nh_tt5||
$ck$$.nh_tt5.length==0||($condition$$.nh_tt5_me||[]).find($nh$$=>$ck$$.nh_tt5.indexOf($nh$$)>=0)));await getSLDaBanCKs($chietkhaus$$);$chietkhaus$$=$chietkhaus$$.filter($ck$$=>!$ck$$.tong_sl_ap_dung||!$ck$$.sl_da_ban||$ck$$.sl_con_lai>0);$callback$$(null,$chietkhaus$$)})},promotion_vt:$callback$$=>{if($condition$$.get_promotion==0)return $callback$$(null,[]);setImmediate(async()=>{let $query_promotion$$=_.cloneDeep($query$$);$condition$$.online!=void 0&&($query_promotion$$.online=$condition$$.online);
$condition$$.offline!=void 0&&($query_promotion$$.offline=$condition$$.offline);let $sort_km$$={stt_uu_tien:1};$query_promotion$$.$and&&$query_promotion$$.$and.length==0&&delete $query_promotion$$.$and;delete $query_promotion$$.ma_kh;delete $query_promotion$$.nh_kh;delete $query_promotion$$.nh_kh2;delete $query_promotion$$.nh_kh3;delete $query_promotion$$.nh_kh4;delete $query_promotion$$.nh_kh5;delete $query_promotion$$.ma_tt1;delete $query_promotion$$.ma_tt2;delete $query_promotion$$.ma_tt3;try{var $khuyenmais_khuyenmais_tm$$=
await new Promise(($resolve$$,$reject$$)=>{async.parallel({theovt:$callback$$=>{dmkhuyenmai.find($query_promotion$$).sort($sort_km$$).lean().then($khuyenmai$$=>{$callback$$(null,$khuyenmai$$)}).catch($error$$=>{$callback$$({message:$error$$.message})})},theonvt:$callback$$=>{let $_q$$=_.cloneDeep($query_promotion$$);$_q$$.ma_vt={$in:["",null]};$_q$$.ma_nvt={$in:["",null,$vt$$.ma_nvt]};$_q$$.ma_nvt2={$in:["",null,...$vt$$.ma_nvt2]};$_q$$.ma_nvt3={$in:["",null,...$vt$$.ma_nvt3]};$_q$$.ma_danh_muc={$in:["",
null,$vt$$.ma_danh_muc]};dmkhuyenmai.find($_q$$).sort($sort_km$$).lean().then($khuyenmai$$=>{$callback$$(null,$khuyenmai$$)}).catch($error$$=>{$callback$$({message:$error$$.message})})}},($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$e$$=$rs$$.theovt.concat($rs$$.theonvt);$resolve$$($e$$)})})}catch($e$$){return $callback$$($e$$)}$khuyenmais_khuyenmais_tm$$=$khuyenmais_khuyenmais_tm$$.filter($ck$$=>(!$ck$$.ma_kh||$condition$$.ma_kh==$ck$$.ma_kh)&&(!$ck$$.nh_kh||($condition$$.nh_kh_me||[]).find($nh$$=>
$ck$$.nh_kh==$nh$$))&&(!$ck$$.nh_kh2||$ck$$.nh_kh2.length==0||($condition$$.nh_kh2_me||[]).find($nh$$=>$ck$$.nh_kh2.indexOf($nh$$)>=0))&&(!$ck$$.nh_kh3||$ck$$.nh_kh3.length==0||($condition$$.nh_kh3_me||[]).find($nh$$=>$ck$$.nh_kh3.indexOf($nh$$)>=0))&&(!$ck$$.nh_kh4||$ck$$.nh_kh4.length==0||($condition$$.nh_kh4_me||[]).find($nh$$=>$ck$$.nh_kh4.indexOf($nh$$)>=0))&&(!$ck$$.nh_kh5||$ck$$.nh_kh5.length==0||($condition$$.nh_kh5_me||[]).find($nh$$=>$ck$$.nh_kh5.indexOf($nh$$)>=0))&&(!$ck$$.ma_tt1||$condition$$.ma_tt1==
$ck$$.ma_tt1)&&(!$ck$$.ma_tt2||$condition$$.ma_tt2==$ck$$.ma_tt2)&&(!$ck$$.ma_tt3||$condition$$.ma_tt3==$ck$$.ma_tt3)&&(!$ck$$.nh_tt||($condition$$.nh_tt_me||[]).find($nh$$=>$ck$$.nh_tt==$nh$$))&&(!$ck$$.nh_tt2||$ck$$.nh_tt2.length==0||($condition$$.nh_tt2_me||[]).find($nh$$=>$ck$$.nh_tt2.indexOf($nh$$)>=0))&&(!$ck$$.nh_tt3||$ck$$.nh_tt3.length==0||($condition$$.nh_tt3_me||[]).find($nh$$=>$ck$$.nh_tt3.indexOf($nh$$)>=0))&&(!$ck$$.nh_tt4||$ck$$.nh_tt4.length==0||($condition$$.nh_tt4_me||[]).find($nh$$=>
$ck$$.nh_tt4.indexOf($nh$$)>=0))&&(!$ck$$.nh_tt5||$ck$$.nh_tt5.length==0||($condition$$.nh_tt5_me||[]).find($nh$$=>$ck$$.nh_tt5.indexOf($nh$$)>=0)));$callback$$(null,$khuyenmais_khuyenmais_tm$$)})}},async($e$jscomp$7_g$jscomp$12_giabans$$,$rs$$)=>{if($e$jscomp$7_g$jscomp$12_giabans$$)return $fn$$($e$jscomp$7_g$jscomp$12_giabans$$);if($condition$$.get_price==0)$rs$$.price={};else{$vt$$.ma_nt0||($vt$$.ma_nt0="VND");!($rs$$.giabans.length>0)||$rs$$.giabans[0].sl_tu||$rs$$.giabans[0].sl_den||$rs$$.giabans[0].t_sl_tu||
$rs$$.giabans[0].t_sl_den||($rs$$.giabans=[$rs$$.giabans[0]]);$e$jscomp$7_g$jscomp$12_giabans$$=[];for(let $g$$ of $rs$$.giabans)$g$$.sl_tu=$g$$.sl_tu||0,$g$$.sl_den=$g$$.sl_den||0,$g$$.t_sl_tu=$g$$.t_sl_tu||0,$g$$.t_sl_den=$g$$.t_sl_den||0,$e$jscomp$7_g$jscomp$12_giabans$$.find($_g$$=>$_g$$.sl_tu===$g$$.sl_tu&&$_g$$.sl_den===$g$$.sl_den&&$_g$$.t_sl_tu===$g$$.t_sl_tu&&$_g$$.t_sl_den===$g$$.t_sl_den)||$e$jscomp$7_g$jscomp$12_giabans$$.push($g$$);$rs$$.giabans=$e$jscomp$7_g$jscomp$12_giabans$$;$rs$$.giabans.find($g$$=>
!$g$$.sl_tu)||($rs$$.giabans=[...$rs$$.giabans,{gia_ban_le:$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,gia_ban_buon:$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0,ma_nt:$vt$$.ma_nt0,gia_ban_chua_thue:$vt$$.gia_ban_chua_thue,t_sl_tu:0,t_sl_den:0,sl_tu:0,sl_den:$rs$$.giabans.length>0?$rs$$.giabans.sort(($a$$,$b$$)=>$a$$.sl_tu-$b$$.sl_tu)[0].sl_tu-.001:0}]);for(var $g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$ of $rs$$.giabans)$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.ma_nt||($g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.ma_nt=
"VND"),$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.ma_thue=$vt$$.ma_thue,$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.thue_suat=$vt$$.thue_suat;await $rs$$.giabans.asyncJoinModel2($condition$$.id_app,"currency",{where:"ma_nt",fields:["ty_gia"]});await [$vt$$].asyncJoinModel2($condition$$.id_app,"currency",{where:{ma_nt0:"ma_nt"},fields:[{ty_gia0:"ty_gia"}]});$vt$$.ma_thue&&await [$vt$$].asyncJoinModel2($condition$$.id_app,"vat",{where:{ma_thue:"ma_thue"},fields:[{thue_suat:"thue_suat"}]});
$rs$$.giabans.forEach($g$$=>{$par$$&&$par$$.ma_nt&&$par$$.ty_gia&&$g$$.ma_nt!==$par$$.ma_nt?($g$$.gia_ban_le0_qd=utils.round(($vt$$.gia_ban_le0||0)*$vt$$.ty_gia0/$par$$.ty_gia,2),$g$$.gia_ban_buon0_qd=utils.round(($vt$$.gia_ban_buon0||0)*$vt$$.ty_gia0/$par$$.ty_gia,2),$g$$.gia_ban_le=utils.round($g$$.gia_ban_le*$g$$.ty_gia/$par$$.ty_gia,2),$g$$.gia_ban_buon=utils.round(($g$$.gia_ban_buon||0)*$g$$.ty_gia/$par$$.ty_gia,2),$g$$.ma_nt=$par$$.ma_nt,$g$$.ty_gia=$par$$.ty_gia):($g$$.gia_ban_le0_qd=$vt$$.gia_ban_le0||
0,$g$$.gia_ban_buon0_qd=$vt$$.gia_ban_buon0||0)});for($g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$=0;$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$<$rs$$.giabans.length;$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$++){$e$jscomp$7_g$jscomp$12_giabans$$=$rs$$.giabans[$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$];$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_chua_thue?($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le0_qd_ct=$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le0_qd,
$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon0_qd_ct=$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon0_qd,$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le_ct=$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le,$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon_ct=$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon,$vt$$.ma_thue&&($vt$$.thue_suat=$vt$$.thue_suat||0,$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le0_qd=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le0_qd_ct*(1+$vt$$.thue_suat/100),2),$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon0_qd=
utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon0_qd_ct*(1+$vt$$.thue_suat/100),2),$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le_ct*(1+$vt$$.thue_suat/100),2),$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon_ct*(1+$vt$$.thue_suat/100),2))):($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le0_qd_ct=$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le0_qd,$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon0_qd_ct=
$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon0_qd,$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le_ct=$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le,$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon_ct=$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon,$vt$$.ma_thue&&($vt$$.thue_suat=$vt$$.thue_suat||0,$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le0_qd_ct=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le0_qd/(1+$vt$$.thue_suat/100),2),$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon0_qd_ct=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon0_qd/
(1+$vt$$.thue_suat/100),2),$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le_ct=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le/(1+$vt$$.thue_suat/100),2),$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon_ct=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon/(1+$vt$$.thue_suat/100),2)));delete $e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_chua_thue;if($e$jscomp$7_g$jscomp$12_giabans$$.ma_dvt_gia_ban){let $qddct$$=await global.getModel("dmqddvt").findOne({id_app:$condition$$.id_app,ma_vt:$condition$$.ma_vt,
ma_dvt:$e$jscomp$7_g$jscomp$12_giabans$$.ma_dvt_gia_ban}).lean();if($qddct$$){let $he_so_qd_dvtc$$=$qddct$$.ty_le_qd?1/$qddct$$.ty_le_qd:1;$qddct$$.mau&&$qddct$$.tu&&($he_so_qd_dvtc$$=$qddct$$.mau/$qddct$$.tu);$he_so_qd_dvtc$$&&$he_so_qd_dvtc$$!=1&&($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le*$he_so_qd_dvtc$$,round),$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon*$he_so_qd_dvtc$$,round),
$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le0_qd_ct=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le0_qd_ct*$he_so_qd_dvtc$$,round),$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon0_qd_ct=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon0_qd_ct*$he_so_qd_dvtc$$,round),$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le_ct=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_le_ct*$he_so_qd_dvtc$$,round),$e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon_ct=utils.round($e$jscomp$7_g$jscomp$12_giabans$$.gia_ban_buon_ct*
$he_so_qd_dvtc$$,round))}}$e$jscomp$7_g$jscomp$12_giabans$$.he_so_qd=$he_so_qd$$;$condition$$.ma_dvt_sd&&$rs$$.giabans.forEach($g$$=>{$g$$.gia_ban_le=utils.round($g$$.gia_ban_le*$he_so_qd$$,round);$g$$.gia_ban_buon=utils.round($g$$.gia_ban_buon*$he_so_qd$$,round);$g$$.gia_ban_le0_qd_ct=utils.round($g$$.gia_ban_le0_qd_ct*$he_so_qd$$,round);$g$$.gia_ban_buon0_qd_ct=utils.round($g$$.gia_ban_buon0_qd_ct*$he_so_qd$$,round);$g$$.gia_ban_le_ct=utils.round($g$$.gia_ban_le_ct*$he_so_qd$$,round);$g$$.gia_ban_buon_ct=
utils.round($g$$.gia_ban_buon_ct*$he_so_qd$$,round);$g$$.ma_dvt=$condition$$.ma_dvt_sd;$g$$.he_so_qd=$he_so_qd$$})}$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$=$rs$$.giabans.filter($g$$=>$g$$.sl_tu<=$condition$$.so_luong&&(!$g$$.sl_den||$g$$.sl_den>$condition$$.so_luong)&&$g$$.t_sl_tu<=$condition$$.t_so_luong&&(!$g$$.t_sl_den||$g$$.t_sl_den>$condition$$.t_so_luong)&&(!$g$$.t_sl_ntt_tu||$g$$.t_sl_ntt_tu<=$condition$$.t_so_luong_ntt)&&(!$g$$.t_sl_ntt_den||$g$$.t_sl_ntt_den>$condition$$.t_so_luong_ntt)&&
(!$g$$.t_tien_ntt_tu||$g$$.t_tien_ntt_tu<=$condition$$.t_tien_ntt)&&(!$g$$.t_tien_ntt_den||$g$$.t_tien_ntt_den>$condition$$.t_tien_ntt));$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$=$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.length>0?$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$[0]:$rs$$.giabans[0]||{};$rs$$.price={gia_ban_le0_qd:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_le0_qd,gia_ban_buon0_qd:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_buon0_qd,
gia_ban_le:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_le,gia_ban_buon:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_buon,gia_ban_le0_qd_ct:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_le0_qd_ct,gia_ban_buon0_qd_ct:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_buon0_qd_ct,gia_ban_le_ct:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_le_ct,gia_ban_buon_ct:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_buon_ct,
ma_nt:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.ma_nt,ty_gia:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.ty_gia,ma_thue:$vt$$.ma_thue,thue_suat:$vt$$.thue_suat,prices:$rs$$.giabans}}if($condition$$.get_discount!=0){$rs$$.discount=$rs$$.discount_vt;$rs$$.discount.forEach($r$$=>{$r$$.id_cs=$r$$._id});$rs$$.price.discount=$rs$$.discount.sort(function($a$$,$b$$){return($b$$.ap_dung_lan_mua_tu_thu||0)>($a$$.ap_dung_lan_mua_tu_thu||0)?1:$b$$.ty_le_ck-$a$$.ty_le_ck});let $discounts$$=
[];$rs$$.price.discount.forEach($d$$=>{$d$$.tien_ck&&$rs$$.price.gia_ban_le_ct&&($d$$.ty_le_ck=$d$$.tien_ck/$rs$$.price.gia_ban_le_ct*100);$d$$.sl_tu=$d$$.sl_tu||0;$d$$.sl_den=$d$$.sl_den||0;$d$$.gt_hd_tu=$d$$.gt_hd_tu||0;$d$$.gt_hd_den=$d$$.gt_hd_den||0;$discounts$$.push($d$$)});$rs$$.price.discount=$discounts$$;let $t_gt_hd$$=$condition$$.t_gt_hd||0,$t_tien_ntt$$=$condition$$.t_tien_ntt||0,$t_so_luong_ntt$$=$condition$$.t_so_luong_ntt||0,$default_cks$$=$discounts$$.filter($d$$=>(!$d$$.gt_hd_tu||
$d$$.gt_hd_tu<=$t_gt_hd$$)&&(!$d$$.gt_hd_den||$d$$.gt_hd_den>$t_gt_hd$$)&&!$d$$.mua_them&&$condition$$.so_luong>=$d$$.sl_tu&&(!$d$$.sl_den||$d$$.sl_den>$condition$$.so_luong)&&(!$d$$.t_sl_tu||$d$$.t_sl_tu<=$condition$$.t_so_luong)&&(!$d$$.t_sl_den||$d$$.t_sl_den>$condition$$.t_so_luong)&&(!$d$$.t_sl_ntt_tu||$d$$.t_sl_ntt_tu<=$t_so_luong_ntt$$)&&(!$d$$.t_sl_ntt_den||$d$$.t_sl_ntt_den>$t_so_luong_ntt$$)&&(!$d$$.t_tien_ntt_tu||$d$$.t_tien_ntt_tu<=$t_tien_ntt$$)&&(!$d$$.t_tien_ntt_den||$d$$.t_tien_ntt_den>
$t_tien_ntt$$));var $default_ck_groups$jscomp$2_i$$;$condition$$.id_cs_ck&&($default_ck_groups$jscomp$2_i$$=$default_cks$$.find($d$$=>$d$$._id.toString()==$condition$$.id_cs_ck));!$default_ck_groups$jscomp$2_i$$&&$default_cks$$.length>0&&($default_ck_groups$jscomp$2_i$$=[...(new Set($default_cks$$.map($d$$=>$d$$.ma_nhom||"")))].map($ma_nhom$$=>({ma_nhom:$ma_nhom$$,cks:$default_cks$$.filter($d$$=>($d$$.ma_nhom||"")==($ma_nhom$$||""))})),$default_ck_groups$jscomp$2_i$$=await calcDefaultDiscount($condition$$.id_app,
$default_ck_groups$jscomp$2_i$$));$default_ck_groups$jscomp$2_i$$&&(underscore.extend($rs$$.price,{sl_tu:$default_ck_groups$jscomp$2_i$$.sl_tu,ty_le_ck:$default_ck_groups$jscomp$2_i$$.ty_le_ck||0,tien_ck:$default_ck_groups$jscomp$2_i$$.tien_ck,gt_hd_tu:$default_ck_groups$jscomp$2_i$$.gt_hd_tu,gt_hd_den:$default_ck_groups$jscomp$2_i$$.gt_hd_den,sl_ap_dung:$default_ck_groups$jscomp$2_i$$.sl_ap_dung,so_tien_max:$default_ck_groups$jscomp$2_i$$.so_tien_max,id_cs:$default_ck_groups$jscomp$2_i$$._id}),$rs$$.tien_ck_tmp=
$rs$$.tien_ck,$rs$$.tien_ck_tmp||($rs$$.tien_ck_tmp=utils.round($rs$$.price.gia_ban_le_ct*$rs$$.ty_le_ck/100,2)),$rs$$.price.gia_ban_le_sau_ck_tmp=Math.max(0,$rs$$.price.gia_ban_le-$rs$$.tien_ck_tmp));$default_ck_groups$jscomp$2_i$$=underscore.filter($rs$$.discount,$d$$=>$d$$.sl_tu>1).sort(function($a$$,$b$$){return $b$$.ty_le_ck-$a$$.ty_le_ck});$default_ck_groups$jscomp$2_i$$.length>0&&($rs$$.price.ck_sl_tu2=$default_ck_groups$jscomp$2_i$$)}if($condition$$.get_promotion!=0){$rs$$.promotion=$rs$$.promotion_vt;
$rs$$.promotion.forEach($r$$=>{$r$$.id_cs=$r$$._id});$rs$$.promotion&&$rs$$.promotion.forEach($p$$=>{delete $p$$.status;delete $p$$.user_created;delete $p$$.user_updated;delete $p$$.date_created;delete $p$$.date_updated;delete $p$$.exfields;delete $p$$.id_app;delete $p$$.dmkh;delete $p$$.dmkho;delete $p$$.dmnvt;delete $p$$.dmvt;delete $p$$.__v});$rs$$.price.promotion=$rs$$.promotion||[];$condition$$.ma_ct?($rs$$.price.promotion=$rs$$.price.promotion.filter($p$$=>!$p$$.chi_su_dung_cho_ct||$p$$.chi_su_dung_cho_ct.toUpperCase().split(",").indexOf($condition$$.ma_ct.toUpperCase())>=
0),$rs$$.price.promotion=$rs$$.price.promotion.filter($p$$=>!$p$$.khong_su_dung_cho_ct||$p$$.khong_su_dung_cho_ct.toUpperCase().split(",").indexOf($condition$$.ma_ct.toUpperCase())<0)):$rs$$.price.promotion=$rs$$.price.promotion.filter($p$$=>!$p$$.chi_su_dung_cho_ct&&!$p$$.khong_su_dung_cho_ct);for($default_ck_groups$jscomp$2_i$$=0;$default_ck_groups$jscomp$2_i$$<$rs$$.price.promotion.length;$default_ck_groups$jscomp$2_i$$++)$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$=$rs$$.price.promotion[$default_ck_groups$jscomp$2_i$$],
await ($g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.details_km||[]).asyncJoinModel2($condition$$.id_app,dmvt,{where:"ma_vt",fields:["ten_vt","picture"]}),await ($g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.details_km||[]).filter($d$$=>$d$$.ma_tt1).asyncJoinModel2($condition$$.id_app,"dmtt",{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),setFields:($item$$,$ref$$)=>{$item$$.thuoc_tinh=$ref$$}});let $promotions_df$$=$rs$$.price.promotion.filter($p$$=>$p$$.details_km&&
$p$$.details_km.length>0&&$p$$.sl_tu<=$condition$$.so_luong&&(!$p$$.sl_den||$p$$.sl_den>=$condition$$.so_luong||$p$$.sl_den===$p$$.sl_tu)&&(!$p$$.t_sl_tu||$p$$.t_sl_tu<=$condition$$.t_so_luong)&&(!$p$$.t_sl_den||$p$$.t_sl_den>$condition$$.t_so_luong)&&(!$p$$.t_sl_ntt_tu||$p$$.t_sl_ntt_tu<=$condition$$.t_so_luong_ntt)&&(!$p$$.t_sl_ntt_den||$p$$.t_sl_ntt_den>$condition$$.t_so_luong_ntt)&&(!$p$$.t_tien_ntt_tu||$p$$.t_tien_ntt_tu<=$condition$$.t_tien_ntt)&&(!$p$$.t_tien_ntt_den||$p$$.t_tien_ntt_den>$condition$$.t_tien_ntt));
var $groups$$;$condition$$.id_cs&&($groups$$=$promotions_df$$.find($d$$=>$d$$._id.toString()==$condition$$.id_cs));!$groups$$&&$promotions_df$$.length>0&&($promotions_df$$.forEach($p$$=>{$p$$.t_sl_km=($p$$.details_km||[]).map($d$$=>$d$$.sl_km||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)}),$groups$$=[...(new Set($promotions_df$$.map($d$$=>$d$$.ma_nhom||"")))].map($ma_nhom$$=>({ma_nhom:$ma_nhom$$,cks:$promotions_df$$.filter($d$$=>($d$$.ma_nhom||"")==$ma_nhom$$)})),$groups$$=await calcDefaultPromotion($condition$$.id_app,
$groups$$));$rs$$.price.default_promotion=$groups$$}$fn$$(null,$rs$$.price)})}else $fn$$(`Condition required ma_vt,id_app. Current condition ${JSON.stringify($condition$$)}`)};