flexbiz-server
Version:
Flexible Server
12 lines (11 loc) • 5.01 kB
JavaScript
'use strict';const dmkhuyenmaihdSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt_uu_tien:Number,ten_khuyenmai:{type:String,maxlength:1024},ma_nhom:String,ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024},ten_nh_kh:String,ma_kho:{type:String,default:"",maxlength:32,trim:!0},ten_kho:String,vts:[],sl_toi_thieu:{type:Number,default:0},gt_tu:{type:Number,default:0},gt_den:{type:Number,default:0},hieu_luc_tu:{type:Date,
required:!0},hieu_luc_den:{type:Date,required:!0},details_km:[],mieu_ta:{type:String},picture:{type:String,maxlength:1024},online:{type:Boolean},offline:{type:Boolean},exfields:Schema.Types.Mixed,newsfeed:{type:Boolean},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},dmkh:{type:Schema.Types.ObjectId,ref:"customer",localField:["ma_kh"],foreignField:["ma_kh"]},
dmkho:{type:Schema.Types.ObjectId,ref:"dmkho",localField:["ma_kho"],foreignField:["ma_kho"]}},{toJSON:{virtuals:!0}});
(global.configs||{}).createIndexes&&(dmkhuyenmaihdSchema.index({id_app:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1},{name:"dmkhuyenmaihd_index_1"}),dmkhuyenmaihdSchema.index({ma_nhom:1}),dmkhuyenmaihdSchema.index({nh_kh:1}),dmkhuyenmaihdSchema.index({stt_uu_tien:1}),dmkhuyenmaihdSchema.index({sl_tu:-1}),dmkhuyenmaihdSchema.index({sl_den:-1}),dmkhuyenmaihdSchema.index({date_updated:-1}),dmkhuyenmaihdSchema.index({date_created:-1}),dmkhuyenmaihdSchema.index({user_created:1}),dmkhuyenmaihdSchema.index({status:1}),
dmkhuyenmaihdSchema.index({online:1}),dmkhuyenmaihdSchema.index({offline:1}),dmkhuyenmaihdSchema.index({ten_khuyenmai:"text",mieu_ta:"text",nh_kh:"text",ten_nh_kh:"text",ma_kho:"text",ten_kho:"text",ma_kh:"text",ten_kh:"text"},{name:"dmkhuyenmaihd_index_text"}));const model=mongoose.models.dmkhuyenmaihd||mongoose.model("dmkhuyenmaihd",dmkhuyenmaihdSchema),moment=require("moment");
model.tinhKhuyenMai=async($i_id_app_kh$$,$obj$$,$hieu_luc_tu_ngay_ct_q_ma_kh$$,$ma_kh_sl_toi_thieu$$,$ma_kho_query$$,$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$,$ckhds_lan_mua_thu$$=0)=>{$ma_kho_query$$={id_app:$i_id_app_kh$$,gt_tu:{$lte:$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$},ma_kho:{$in:[void 0,null,"",$ma_kho_query$$]}};$ma_kho_query$$.$and=[{$or:[{gt_den:{$in:[0,void 0,null]}},{gt_den:{$gte:$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$}}]}];$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$=moment($hieu_luc_tu_ngay_ct_q_ma_kh$$).startOf("date").toDate();
$hieu_luc_tu_ngay_ct_q_ma_kh$$={$lte:moment($hieu_luc_tu_ngay_ct_q_ma_kh$$).endOf("date").toDate()};$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$={$gte:$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$};$ma_kho_query$$.hieu_luc_tu=$hieu_luc_tu_ngay_ct_q_ma_kh$$;$ma_kho_query$$.hieu_luc_den=$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$;$hieu_luc_tu_ngay_ct_q_ma_kh$$={$in:[void 0,null,"",$ma_kh_sl_toi_thieu$$]};$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$={$in:[void 0,null,""]};$ma_kh_sl_toi_thieu$$&&($i_id_app_kh$$=await global.getModel("customer").findOne({id_app:$i_id_app_kh$$,
ma_kh:$ma_kh_sl_toi_thieu$$},{nh_kh:1}))&&$i_id_app_kh$$.nh_kh&&($hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$={$in:[void 0,null,"",$i_id_app_kh$$.nh_kh]});$ma_kho_query$$.$or=[{$and:[{ma_kh:$hieu_luc_tu_ngay_ct_q_ma_kh$$},{nh_kh:{$in:["",null,void 0]}}]},{$and:[{nh_kh:$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$},{ma_kh:{$in:["",null,void 0]}}]}];$ma_kho_query$$.ap_dung_lan_mua_thu={$in:[null,void 0,0,$ckhds_lan_mua_thu$$]};$ckhds_lan_mua_thu$$=await model.find($ma_kho_query$$).sort({stt_uu_tien:1,gt_tu:-1,
ma_kh:-1,nh_kh:-1,hieu_luc_tu:-1}).lean();for($i_id_app_kh$$=0;$i_id_app_kh$$<$ckhds_lan_mua_thu$$.length;$i_id_app_kh$$++){let $ckhd$$=$ckhds_lan_mua_thu$$[$i_id_app_kh$$];if($ckhd$$&&$ckhd$$.details_km&&0<$ckhd$$.details_km.length){$ma_kh_sl_toi_thieu$$=$ckhd$$.sl_toi_thieu||0;let $sl_dap_ung$$=0;$ma_kh_sl_toi_thieu$$&&$ckhd$$.vts&&0<$ckhd$$.vts.length&&$ckhd$$.vts.forEach($vt$$=>{var $ds_tien$$=$obj$$.details.filter($d$$=>$d$$.ma_vt===$vt$$.ma_vt&&(!$vt$$.ma_tt1||$vt$$.ma_tt1===$d$$.ma_tt1)&&(!$vt$$.ma_tt2||
$vt$$.ma_tt2===$d$$.ma_tt2)&&(!$vt$$.ma_tt3||$vt$$.ma_tt3===$d$$.ma_tt3));if(0!=$ds_tien$$.length){var $so_luong$$=$ds_tien$$.map($d$$=>$d$$.sl_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$ds_tien$$=$ds_tien$$.map($d$$=>($d$$.tien_hang_ct_nt||0)-($d$$.tien_ck_nt||0)).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$vt$$.sl_tu&&$so_luong$$<$vt$$.sl_tu||$vt$$.sl_den&&$so_luong$$>$vt$$.sl_den||$vt$$.gt_tu&&$ds_tien$$<$vt$$.gt_tu||$vt$$.gt_den&&$ds_tien$$>$vt$$.gt_den||($sl_dap_ung$$+=1)}});if($ma_kh_sl_toi_thieu$$<=$sl_dap_ung$$){$ckhd$$.details_km.forEach($d$$=>
{$d$$={...$d$$,km_yn_for:"khuyenmaihd"};$d$$.id_cs=$ckhd$$._id.toString();$d$$.sl_xuat=$d$$.sl_km;$d$$.tien_hang_ct_nt=$d$$.tien_hang_ct=$d$$.tien_hang_nt=$d$$.tien_hang=0;$d$$.tien_ck_nt=$d$$.tien_ck=0;$d$$.ty_le_ck=0;$d$$.tien_nt=$d$$.tien=0;return $d$$});break}}}};module.exports=model;