flexbiz-server 12.2.2 → 12.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/server/app.js +14 -14
- package/server/auths/local.js +3 -3
- package/server/cluster.js +12 -11
- package/server/controllers/controller.js +37 -34
- package/server/data/sys/listinfo.js +80395 -78085
- package/server/data/sys/reportinfo.js +8826 -8826
- package/server/data/sys/trangthai.js +10348 -10229
- package/server/libs/getGiaban.js +21 -21
- package/server/libs/permission.js +12 -12
- package/server/libs/prototypes.js +3 -3
- package/server/libs/tinhgiatb.js +16 -19
- package/server/models/customer.js +9 -5
- package/server/models/dh2.js +9 -7
- package/server/models/dmbp.js +7 -4
- package/server/models/dmgiaban.js +6 -6
- package/server/models/dmhoahonghd.js +5 -5
- package/server/models/dmnvt.js +3 -3
- package/server/models/dmvt.js +9 -9
- package/server/models/ecomcategories.js +2 -2
- package/server/models/ecomcategories_cty.js +3 -0
- package/server/models/group.js +4 -4
- package/server/models/hd2.js +9 -6
- package/server/models/listinfo.js +15 -8
- package/server/models/originimportid.js +1 -0
- package/server/models/so1.js +15 -13
- package/server/models/socai.js +3 -1
- package/server/models/task.js +4 -4
- package/server/models/tontucthoi.js +2 -2
- package/server/models/usergroup.js +4 -4
- package/server/modules/lists/ls-asskey.js +34 -34
- package/server/modules/lists/ls-customer.js +14 -7
- package/server/modules/lists/ls-dmbp.js +7 -3
- package/server/modules/lists/ls-dmnkh.js +5 -1
- package/server/modules/lists/ls-dmnvt.js +5 -5
- package/server/modules/lists/ls-dmvt.js +15 -11
- package/server/modules/lists/ls-ecomcategories.js +5 -0
- package/server/modules/lists/ls-ecomcategories_cty.js +5 -0
- package/server/modules/lists/ls-file.js +21 -25
- package/server/modules/lists/ls-group.js +5 -1
- package/server/modules/lists/ls-introducecode.js +8 -7
- package/server/modules/lists/ls-introducer.js +16 -17
- package/server/modules/lists/ls-message2.js +8 -7
- package/server/modules/lists/ls-message2setting.js +4 -4
- package/server/modules/lists/ls-session.js +1 -1
- package/server/modules/lists/ls-task.js +18 -18
- package/server/modules/lists/ls-usergroup.js +6 -2
- package/server/modules/reports/calc-tinhgiatb.js +2 -2
- package/server/modules/reports/rp-congviectheonv.js +5 -5
- package/server/modules/reports/rp-thnxt.js +4 -3
- package/server/modules/reports/rp-thnxt_sl.js +3 -3
- package/server/modules/reports/rp-thnxttt.js +3 -3
- package/server/modules/vouchers/vo-dh2.js +38 -20
- package/server/modules/vouchers/vo-hd2.js +82 -50
- package/server/modules/vouchers/vo-so1.js +119 -120
- package/server/templates/reset mat khau.html +1 -1
- package/server/templates/reset mat khau.pug +1 -3
package/server/libs/getGiaban.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
'use strict';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"),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,
|
|
2
2
|
"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):
|
|
3
3
|
$item$$.sl_ap_dung;$cb$$(null,$item$$)}catch($e$$){$cb$$($e$$)}})},$e$$=>{if($e$$)return $rj$$($e$$);$rs$$($items$$)})});
|
|
4
|
-
module.exports=async($condition$$,$fn$$)=>{!$condition$$.ma_vt&&$condition$$.vt&&($condition$$.ma_vt=$condition$$.vt.ma_vt);!$condition$$.ma_vt&&$condition$$.vt&&$condition$$.vt._id&&($condition$$.vt=await dmvt.findOne({_id:$condition$$.vt._id},{ma_vt:1,ma_nvt: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}).lean(),$condition$$.vt&&($condition$$.ma_vt=$condition$$.vt.ma_vt));if($condition
|
|
5
|
-
if(!$vt$$||void 0===$vt$$.gia_ban_le||void 0===$vt$$.gia_ban_le0||void 0===$vt$$.ty_le_ck0||void 0===$vt$$.tien_ck0)if($vt$$=await dmvt.findOne({ma_vt:$condition$$.ma_vt,id_app:$condition$$.id_app},{ma_vt:1,ma_nvt: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}).lean(),!$vt$$)return $fn$$("Not found product: "+$condition$$.ma_vt);if($condition$$.ma_tt1){var $hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=
|
|
6
|
-
|
|
7
|
-
$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.gia_ban_buon||$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0}else if($condition$$.ma_tt2){if($hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$={id_app:$vt$$.id_app_vt||$condition$$.id_app,ma_vt:$vt$$.ma_vt,status:!0},$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.ma_tt
|
|
8
|
-
$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.loai_tt="2",$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=await global.getModel("dmtt").findOne($hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$).lean())$vt$$.gia_ban_le0=$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.gia_ban_le||$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0
|
|
9
|
-
$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0}else $condition$$.ma_tt3&&($hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$={id_app:$vt$$.id_app_vt||$condition$$.id_app,ma_vt:$vt$$.ma_vt,status:!0},$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.ma_tt=$condition$$.ma_tt3,$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.loai_tt=
|
|
10
|
-
await global.getModel("dmtt").findOne($hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$).lean())&&($vt$$.gia_ban_le0=$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.gia_ban_le||$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.gia_ban_buon||$vt$$.gia_ban_buon0
|
|
11
|
-
|
|
12
|
-
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}))&&($condition$$.nh_kh=$_cust_den_ngay_hieu_luc_tu$$.nh_kh)}else $hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=
|
|
4
|
+
module.exports=async($condition$$,$fn$$)=>{!$condition$$.ma_vt&&$condition$$.vt&&($condition$$.ma_vt=$condition$$.vt.ma_vt);$condition$$.so_luong=$condition$$.so_luong||$condition$$.sl_xuat||0;!$condition$$.ma_vt&&$condition$$.vt&&$condition$$.vt._id&&($condition$$.vt=await dmvt.findOne({_id:$condition$$.vt._id},{ma_vt:1,ma_nvt: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}).lean(),$condition$$.vt&&($condition$$.ma_vt=$condition$$.vt.ma_vt));if($condition$$&&
|
|
5
|
+
$condition$$.ma_vt&&$condition$$.id_app){var $vt$$=$condition$$.vt;if(!$vt$$||void 0===$vt$$.gia_ban_le||void 0===$vt$$.gia_ban_le0||void 0===$vt$$.ty_le_ck0||void 0===$vt$$.tien_ck0)if($vt$$=await dmvt.findOne({ma_vt:$condition$$.ma_vt,id_app:$condition$$.id_app},{ma_vt:1,ma_nvt: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}).lean(),!$vt$$)return $fn$$("Not found product: "+$condition$$.ma_vt);if($condition$$.ma_tt1){var $hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=
|
|
6
|
+
{id_app:$vt$$.id_app_vt||$condition$$.id_app,ma_vt:$vt$$.ma_vt,status:!0};$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.ma_tt=$condition$$.ma_tt1;$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.loai_tt="1";if($hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=await global.getModel("dmtt").findOne($hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$).lean())$vt$$.gia_ban_le0=
|
|
7
|
+
$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.gia_ban_le||$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.gia_ban_buon||$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0}else if($condition$$.ma_tt2){if($hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$={id_app:$vt$$.id_app_vt||$condition$$.id_app,ma_vt:$vt$$.ma_vt,status:!0},$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.ma_tt=
|
|
8
|
+
$condition$$.ma_tt2,$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.loai_tt="2",$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=await global.getModel("dmtt").findOne($hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$).lean())$vt$$.gia_ban_le0=$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.gia_ban_le||$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=
|
|
9
|
+
$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.gia_ban_buon||$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0}else $condition$$.ma_tt3&&($hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$={id_app:$vt$$.id_app_vt||$condition$$.id_app,ma_vt:$vt$$.ma_vt,status:!0},$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.ma_tt=$condition$$.ma_tt3,$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.loai_tt=
|
|
10
|
+
"3",$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=await global.getModel("dmtt").findOne($hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$).lean())&&($vt$$.gia_ban_le0=$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.gia_ban_le||$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$.gia_ban_buon||$vt$$.gia_ban_buon0||
|
|
11
|
+
$vt$$.gia_ban_buon||0);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}))$condition$$.ma_kh=$_cust_den_ngay_hieu_luc_tu$$.ma_kh,$condition$$.nh_kh=$_cust_den_ngay_hieu_luc_tu$$.nh_kh}catch($e$$){console.log("Error find customer code of user",$e$$)}if($condition$$.ma_kh){$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=
|
|
12
|
+
{$in:[null,void 0,"",$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}))&&($condition$$.nh_kh=$_cust_den_ngay_hieu_luc_tu$$.nh_kh)}else $hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=
|
|
13
13
|
{$in:[null,void 0,""]},$lan_mua_thu$$=0;var $query$$={ma_vt:$condition$$.ma_vt,id_app:$condition$$.id_app,status:!0};$query$$.$and=[{$or:[{$and:[{ma_kh:$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$,nh_kh:{$in:[null,void 0,""]}}]},{$and:[{nh_kh:{$in:[null,void 0,"",$condition$$.nh_kh]},ma_kh:{$in:["",null,void 0]}}]}]}];$query$$.ma_kho={$in:[null,void 0,"",$condition$$.ma_kho]};$query$$.ma_ban={$in:[null,void 0,"",$condition$$.ma_ban]};$query$$.ma_tt1={$in:[null,
|
|
14
14
|
void 0,"",$condition$$.ma_tt1]};$query$$.ma_tt2={$in:[null,void 0,"",$condition$$.ma_tt2]};$query$$.ma_tt3={$in:[null,void 0,"",$condition$$.ma_tt3]};$condition$$.ngay_ct=$condition$$.ngay_ct?new Date($condition$$.ngay_ct):new Date;$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=$_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_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$=
|
|
15
|
-
{$gte:$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$};$query$$.hieu_luc_tu=$_cust_den_ngay_hieu_luc_tu$$;$query$$.hieu_luc_den=$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$;var $sort$$={stt_uu_tien:1,id_cs:-1,tien_ck:-1,ty_le_ck:-1,ma_kho:-1,ma_ban:-1,ma_kh:-1,nh_kh:-1,hieu_luc_tu:-1,ma_tt1:-1,ma_tt2:-1,ma_tt3:-1};async.series({giabans:$callback$$=>{setImmediate(()=>{let $_query$$=Object.assign({},$query$$)
|
|
16
|
-
void 0,null]}},{ap_dung_lan_mua_tu_thu:{$lte:$lan_mua_thu$$}}]});$_query$$.$and.push({$or:[{ap_dung_lan_mua_den_thu:{$in:[0,void 0,null]}},{ap_dung_lan_mua_den_thu:{$gte:$lan_mua_thu$$}}]});void 0!=$condition$$.online&&($_query$$.online=$condition$$.online);void 0!=$condition$$.offline&&($_query$$.offline=$condition$$.offline)
|
|
17
|
-
$_query$$),$_q_e$$.ma_vt={$in:["",null,void 0]},$_q_e$$.ma_nvt={$in:["",null,void 0,$vt$$.ma_nvt]},$_q_e$$.ma_danh_muc={$in:["",null,void 0,$vt$$.ma_danh_muc]},dmgiaban.find($_q_e$$).sort($sort$$).lean().exec(($e$$,$giabans$$)=>{if($e$$)return $callback$$($e$$);0===$giabans$$.length&&($giabans$$=[{gia_ban_le:$vt$$.gia_ban_le0
|
|
18
|
-
Object.assign({},$query$$);$query_ck$$.$and.push({$or:[{ap_dung_lan_mua_tu_thu:{$in:[0,void 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,void 0,null]}},{ap_dung_lan_mua_den_thu:{$gte:$lan_mua_thu$$}}]});$condition$$.sl_xuat&&($query_ck$$.$and.push({$or:[{sl_tu:{$in:[0,
|
|
19
|
-
($query_ck$$.$and.push({$or:[{gt_hd_tu:{$in:[0,void 0,null]}},{gt_hd_tu:{$lte:$condition$$.t_gt_hd}}]}),$query_ck$$.$and.push({$or:[{gt_hd_den:{$in:[0,void 0,null]}},{gt_hd_den:{$gte:$condition$$.t_gt_hd}}]}));void 0!=$condition$$.online&&($query_ck$$.online=$condition$$.online);void 0!=$condition$$.offline&&($query_ck$$.offline
|
|
20
|
-
await getSLDaBanCKs($chietkhaus$$);($chietkhaus$$=$chietkhaus$$.filter($ck$$=>!$ck$$.tong_sl_ap_dung||!$ck$$.sl_da_ban||0<$ck$$.sl_con_lai))&&0<$chietkhaus$$.length?$callback$$(null,$chietkhaus$$):($_q$jscomp$1_e$$=Object.assign({},$query_ck$$),$_q$jscomp$1_e$$.ma_vt={$in:["",null,void 0]},$_q$jscomp$1_e$$.ma_nvt={$in:["",null,
|
|
21
|
-
{if($e$$)return $callback$$($e$$);await getSLDaBanCKs($chietkhaus$$);$chietkhaus$$=$chietkhaus$$.filter($ck$$=>!$ck$$.tong_sl_ap_dung||!$ck$$.sl_da_ban||0<$ck$$.sl_con_lai);$callback$$(null,$chietkhaus$$)}))})})},promotion_vt:$callback$$=>{setImmediate(()=>{let $query_ck$$=Object.assign({},$query$$);void 0!=$condition$$.online&&
|
|
22
|
-
dmkhuyenmai.find($query_ck$$).sort($sort_km$$).lean().exec(($_q$jscomp$2_e$$,$khuyenmai$$)=>{if($_q$jscomp$2_e$$)return $callback$$($_q$jscomp$2_e$$);$khuyenmai$$&&0<$khuyenmai$$.length?$callback$$(null,$khuyenmai$$):($_q$jscomp$2_e$$=Object.assign({},$query_ck$$),$_q$jscomp$2_e$$.ma_vt={$in:["",null,void 0]},$_q$jscomp$2_e$$.ma_nvt=
|
|
23
|
-
$khuyenmai$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$khuyenmai$$)}))})})}},async($default_ck_e$$,$rs$$)=>{if($default_ck_e$$)return $fn$$($default_ck_e$$);$rs$$.discount=$rs$$.discount_vt;$rs$$.promotion=$rs$$.promotion_vt;$rs$$.promotion&&$rs$$.promotion.forEach($p$$=>{delete $p$$.status;delete $p$$.user_created;
|
|
24
|
-
delete $p$$.__v});$rs$$.price={gia_ban_le:$rs$$.giabans[0].gia_ban_le,gia_ban_buon:$rs$$.giabans[0].gia_ban_buon,prices:$rs$$.giabans};$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 $gt_hd$$=$condition$$.t_gt_hd||
|
|
25
|
-
{sl_tu:$default_ck_e$$.sl_tu,ty_le_ck:$default_ck_e$$.ty_le_ck,tien_ck:$default_ck_e$$.tien_ck,gt_hd_tu:$default_ck_e$$.gt_hd_tu,gt_hd_den:$default_ck_e$$.gt_hd_den,sl_ap_dung:$default_ck_e$$.sl_ap_dung,so_tien_max:$default_ck_e$$.so_tien_max,id_cs:$default_ck_e$$._id});$default_ck_e$$=underscore.filter($rs$$.discount
|
|
26
|
-
[];async.mapSeries($rs$$.price.promotion,($p$$,$callback$$)=>{setImmediate(()=>{($p$$.details_km||[]).joinModel2($condition$$.id_app,dmvt,{where:"ma_vt",fields:["ten_vt","picture"]},()=>{$callback$$()})})},()=>{$fn$$(null,$rs$$.price)})})}else $fn$$(`Condition required ma_vt,id_app. Current condition ${JSON.stringify($condition$$)}`)};
|
|
15
|
+
{$gte:$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$};$query$$.hieu_luc_tu=$_cust_den_ngay_hieu_luc_tu$$;$query$$.hieu_luc_den=$hieu_luc_den_ma_kh_query_tt_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$jscomp$1_tt$$;var $sort$$={stt_uu_tien:1,sl_tu:-1,sl_den:-1,id_cs:-1,tien_ck:-1,ty_le_ck:-1,ma_kho:-1,ma_ban:-1,ma_kh:-1,nh_kh:-1,hieu_luc_tu:-1,ma_tt1:-1,ma_tt2:-1,ma_tt3:-1};async.series({giabans:$callback$$=>{setImmediate(()=>{let $_query$$=Object.assign({},$query$$);
|
|
16
|
+
$_query$$.$and.push({$or:[{ap_dung_lan_mua_tu_thu:{$in:[0,void 0,null]}},{ap_dung_lan_mua_tu_thu:{$lte:$lan_mua_thu$$}}]});$_query$$.$and.push({$or:[{ap_dung_lan_mua_den_thu:{$in:[0,void 0,null]}},{ap_dung_lan_mua_den_thu:{$gte:$lan_mua_thu$$}}]});void 0!=$condition$$.online&&($_query$$.online=$condition$$.online);void 0!=$condition$$.offline&&($_query$$.offline=$condition$$.offline);$_query$$.sl_tu={$lte:$condition$$.so_luong};$_query$$.$and.push({$or:[{sl_den:null},{sl_den:0},{sl_den:{$gte:$condition$$.so_luong}}]});
|
|
17
|
+
dmgiaban.find($_query$$).sort($sort$$).lean().exec(($_q_e$$,$giabans$$)=>{if($_q_e$$)return $callback$$($_q_e$$);0<$giabans$$.length?$callback$$(null,$giabans$$):($_q_e$$=Object.assign({},$_query$$),$_q_e$$.ma_vt={$in:["",null,void 0]},$_q_e$$.ma_nvt={$in:["",null,void 0,$vt$$.ma_nvt]},$_q_e$$.ma_danh_muc={$in:["",null,void 0,$vt$$.ma_danh_muc]},dmgiaban.find($_q_e$$).sort($sort$$).lean().exec(($e$$,$giabans$$)=>{if($e$$)return $callback$$($e$$);0===$giabans$$.length&&($giabans$$=[{gia_ban_le:$vt$$.gia_ban_le0||
|
|
18
|
+
$vt$$.gia_ban_le||0,gia_ban_buon:$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0}]);$callback$$(null,$giabans$$)}))})})},discount_vt:$callback$$=>{setImmediate(()=>{let $query_ck$$=Object.assign({},$query$$);$query_ck$$.$and.push({$or:[{ap_dung_lan_mua_tu_thu:{$in:[0,void 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,void 0,null]}},{ap_dung_lan_mua_den_thu:{$gte:$lan_mua_thu$$}}]});$condition$$.sl_xuat&&($query_ck$$.$and.push({$or:[{sl_tu:{$in:[0,
|
|
19
|
+
void 0,null]}},{sl_tu:{$lte:$condition$$.sl_xuat}}]}),$query_ck$$.$and.push({$or:[{sl_den:{$in:[0,void 0,null]}},{sl_den:{$gte:$condition$$.sl_xuat}}]}));$condition$$.t_gt_hd&&($query_ck$$.$and.push({$or:[{gt_hd_tu:{$in:[0,void 0,null]}},{gt_hd_tu:{$lte:$condition$$.t_gt_hd}}]}),$query_ck$$.$and.push({$or:[{gt_hd_den:{$in:[0,void 0,null]}},{gt_hd_den:{$gte:$condition$$.t_gt_hd}}]}));void 0!=$condition$$.online&&($query_ck$$.online=$condition$$.online);void 0!=$condition$$.offline&&($query_ck$$.offline=
|
|
20
|
+
$condition$$.offline);dmchietkhau.find($query_ck$$).sort($sort$$).lean().exec(async($_q$jscomp$1_e$$,$chietkhaus$$)=>{if($_q$jscomp$1_e$$)return $callback$$($_q$jscomp$1_e$$);await getSLDaBanCKs($chietkhaus$$);($chietkhaus$$=$chietkhaus$$.filter($ck$$=>!$ck$$.tong_sl_ap_dung||!$ck$$.sl_da_ban||0<$ck$$.sl_con_lai))&&0<$chietkhaus$$.length?$callback$$(null,$chietkhaus$$):($_q$jscomp$1_e$$=Object.assign({},$query_ck$$),$_q$jscomp$1_e$$.ma_vt={$in:["",null,void 0]},$_q$jscomp$1_e$$.ma_nvt={$in:["",null,
|
|
21
|
+
void 0,$vt$$.ma_nvt]},$_q$jscomp$1_e$$.ma_danh_muc={$in:["",null,void 0,$vt$$.ma_danh_muc]},dmchietkhau.find($_q$jscomp$1_e$$).sort($sort$$).lean().exec(async($e$$,$chietkhaus$$)=>{if($e$$)return $callback$$($e$$);await getSLDaBanCKs($chietkhaus$$);$chietkhaus$$=$chietkhaus$$.filter($ck$$=>!$ck$$.tong_sl_ap_dung||!$ck$$.sl_da_ban||0<$ck$$.sl_con_lai);$callback$$(null,$chietkhaus$$)}))})})},promotion_vt:$callback$$=>{setImmediate(()=>{let $query_ck$$=Object.assign({},$query$$);void 0!=$condition$$.online&&
|
|
22
|
+
($query_ck$$.online=$condition$$.online);void 0!=$condition$$.offline&&($query_ck$$.offline=$condition$$.offline);let $sort_km$$={stt_uu_tien:1,sl_tu:-1,ma_vt:-1,ma_nvt:-1};dmkhuyenmai.find($query_ck$$).sort($sort_km$$).lean().exec(($_q$jscomp$2_e$$,$khuyenmai$$)=>{if($_q$jscomp$2_e$$)return $callback$$($_q$jscomp$2_e$$);$khuyenmai$$&&0<$khuyenmai$$.length?$callback$$(null,$khuyenmai$$):($_q$jscomp$2_e$$=Object.assign({},$query_ck$$),$_q$jscomp$2_e$$.ma_vt={$in:["",null,void 0]},$_q$jscomp$2_e$$.ma_nvt=
|
|
23
|
+
{$in:["",null,void 0,$vt$$.ma_nvt]},$_q$jscomp$2_e$$.ma_danh_muc={$in:["",null,void 0,$vt$$.ma_danh_muc]},dmkhuyenmai.find($_q$jscomp$2_e$$).sort($sort_km$$).lean().exec(($e$$,$khuyenmai$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$khuyenmai$$)}))})})}},async($default_ck_e$$,$rs$$)=>{if($default_ck_e$$)return $fn$$($default_ck_e$$);$rs$$.discount=$rs$$.discount_vt;$rs$$.promotion=$rs$$.promotion_vt;$rs$$.promotion&&$rs$$.promotion.forEach($p$$=>{delete $p$$.status;delete $p$$.user_created;
|
|
24
|
+
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={gia_ban_le:$rs$$.giabans[0].gia_ban_le,gia_ban_buon:$rs$$.giabans[0].gia_ban_buon,prices:$rs$$.giabans};$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 $gt_hd$$=$condition$$.t_gt_hd||
|
|
25
|
+
0;($default_ck_e$$=$rs$$.price.discount.find($d$$=>(!$d$$.gt_hd_tu||$d$$.gt_hd_tu<$gt_hd$$)&&(!$d$$.gt_hd_den||$d$$.gt_hd_den>=$gt_hd$$)&&!$d$$.mua_them))&&underscore.extend($rs$$.price,{sl_tu:$default_ck_e$$.sl_tu,ty_le_ck:$default_ck_e$$.ty_le_ck,tien_ck:$default_ck_e$$.tien_ck,gt_hd_tu:$default_ck_e$$.gt_hd_tu,gt_hd_den:$default_ck_e$$.gt_hd_den,sl_ap_dung:$default_ck_e$$.sl_ap_dung,so_tien_max:$default_ck_e$$.so_tien_max,id_cs:$default_ck_e$$._id});$default_ck_e$$=underscore.filter($rs$$.discount,
|
|
26
|
+
$d$$=>1<$d$$.sl_tu).sort(function($a$$,$b$$){return $b$$.ty_le_ck-$a$$.ty_le_ck});0<$default_ck_e$$.length&&($rs$$.price.ck_sl_tu2=$default_ck_e$$);$rs$$.price.promotion=$rs$$.promotion||[];async.mapSeries($rs$$.price.promotion,($p$$,$callback$$)=>{setImmediate(()=>{($p$$.details_km||[]).joinModel2($condition$$.id_app,dmvt,{where:"ma_vt",fields:["ten_vt","picture"]},()=>{$callback$$()})})},()=>{$fn$$(null,$rs$$.price)})})}else $fn$$(`Condition required ma_vt,id_app. Current condition ${JSON.stringify($condition$$)}`)};
|
|
@@ -5,18 +5,18 @@ exports.isAdmin=function($current_id_app$$,$email$$,$callback$$){if(!$current_id
|
|
|
5
5
|
!1);$error$$=await Participant.findOne({id_app:$current_id_app$$,email:$email$$});if(!$error$$)return $callback$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp c\u00f4ng ty n\u00e0y",!1);$callback$$(null,$error$$.admin,$app$$,$error$$)})};
|
|
6
6
|
exports.hasRight=async function($current_id_app$$,$email$$,$module$$,$action$$,$callback$jscomp$0$$,$options$$={}){if(!$current_id_app$$||$options$$.notNeedRight||global.controllers[$module$$]&&global.controllers[$module$$].model&&global.controllers[$module$$].model.schema&&!underscore.has(global.controllers[$module$$].model.schema.paths,"id_app"))return $callback$jscomp$0$$(null,!0);$options$$.data&&($options$$.data.trang_thai||0==$options$$.data.trang_thai)&&($options$$.data.trang_thai=$options$$.data.trang_thai.toString());
|
|
7
7
|
$options$$.obj&&($options$$.obj.trang_thai||0==$options$$.obj.trang_thai)&&($options$$.obj.trang_thai=$options$$.obj.trang_thai.toString());$action$$=$action$$.toLowerCase();var $data_trang_thai$$=$options$$.data||$options$$.obj||{};const $ma_ct$$=(($options$$.obj||{}).ma_ct||($options$$.data||{}).ma_ct||"").toString().toUpperCase();let $ma_trang_thai$$=($data_trang_thai$$.trang_thai||$data_trang_thai$$.progress||"").toString().toUpperCase();!$ma_trang_thai$$&&$options$$.obj&&($ma_trang_thai$$=($options$$.obj.trang_thai||
|
|
8
|
-
$options$$.obj.progress||"").toString().toUpperCase());if($ma_ct$$&&$ma_trang_thai$$)if($data_trang_thai$$=await trangthai.findOne({ma_trang_thai:$ma_trang_thai$$,ma_ct:$ma_ct$$}).lean()){if($data_trang_thai$$.not_need_right)return $callback$jscomp$0$$(null,!0)}else console.log("Khong tim thay trang thai cho chuc nang nay",{ma_ct:$ma_ct$$,ma_trang_thai:$ma_trang_thai$$,trang_thai:$data_trang_thai$$,action:$action$$});exports.isAdmin($current_id_app$$,$email$$,async($
|
|
9
|
-
{if($
|
|
10
|
-
$module$$+'" ch\u01b0a \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t cho c\u00f4ng ty n\u00e0y (trong module '+$
|
|
11
|
-
|
|
12
|
-
$email$$.toLowerCase())return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1)}else if(1===$options$$.obj.visible_to&&$options$$.obj.of_user!==$email$$.toLowerCase()&&$options$$.obj.user_created&&$options$$.obj.user_created.toLowerCase()!==$email$$.toLowerCase()&&await exports.nguoiPhuTrach($options$$.obj.id_app
|
|
13
|
-
[]).indexOf($email$$))return $callback$jscomp$0$$("Ch\u1ec9 ng\u01b0\u1eddi t\u1ea1o, ph\u1ee5 tr\u00e1ch, h\u1ed7 tr\u1ee3 v\u00e0 admin m\u1edbi c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1)
|
|
14
|
-
|
|
15
|
-
$_right__right_trang_thai$$&&!$_right__right_trang_thai$$.viewOfOther&&$options$$.obj.user_created.toLowerCase()!==$email$$&&(2!==$options$$.obj.visible_to||!underscore.contains($options$$.obj.visible_to_users,$email$$))&&($error$jscomp$2_user_phu_trach$$=await exports.nguoiPhuTrach($options$$.obj.id_app
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
$options$$.obj.progress||"").toString().toUpperCase());if($ma_ct$$&&$ma_trang_thai$$)if($data_trang_thai$$=await trangthai.findOne({ma_trang_thai:$ma_trang_thai$$,ma_ct:$ma_ct$$}).lean()){if($data_trang_thai$$.not_need_right)return $callback$jscomp$0$$(null,!0)}else console.log("Khong tim thay trang thai cho chuc nang nay",{ma_ct:$ma_ct$$,ma_trang_thai:$ma_trang_thai$$,trang_thai:$data_trang_thai$$,action:$action$$});exports.isAdmin($current_id_app$$,$email$$,async($e_key_right_ms$$,$admin$$,$app$$,
|
|
9
|
+
$participant$$)=>{if($e_key_right_ms$$)return $callback$jscomp$0$$($e_key_right_ms$$,!1);if($app$$&&$app$$.allow_modules&&0<$app$$.allow_modules.length&&($e_key_right_ms$$=await global.getModel("moduleinfo").find({"items.code":{$regex:"^"+$module$$+"$",$options:"i"},active_require:!0}),0<$e_key_right_ms$$.length&&0==$e_key_right_ms$$.filter($m$$=>0<=$app$$.allow_modules.indexOf($m$$.code)&&(!$m$$.not_for_companies||0>$m$$.not_for_companies.indexOf($app$$._id.toString()))&&(!$m$$.only_for_companies||
|
|
10
|
+
0<=$m$$.only_for_companies.indexOf($app$$._id.toString()))).length))return $callback$jscomp$0$$('API "'+$module$$+'" ch\u01b0a \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t cho c\u00f4ng ty n\u00e0y (trong module '+$e_key_right_ms$$[0].app+"/"+$e_key_right_ms$$[0].title+")",!1);if($options$$.data&&$options$$.data.id_app){if($options$$.data.id_app!=$current_id_app$$)return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng th\u1ec3 truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);if($options$$.obj&&$options$$.data.id_app!=
|
|
11
|
+
$options$$.obj.id_app)return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1)}if($options$$.obj&&$options$$.obj.id_app&&$options$$.obj.id_app!=$current_id_app$$)return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng th\u1ec3 truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);if($options$$.notNeedRight)return $callback$jscomp$0$$(null,!0,$app$$);if($options$$.obj&&!$admin$$)if(2===$options$$.obj.visible_to){if(!underscore.contains($options$$.obj.visible_to_users,
|
|
12
|
+
$email$$)&&$options$$.obj.of_user!==$email$$.toLowerCase()&&$options$$.obj.user_created&&$options$$.obj.user_created.toLowerCase()!==$email$$.toLowerCase())return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1)}else if(1===$options$$.obj.visible_to&&$options$$.obj.of_user!==$email$$.toLowerCase()&&$options$$.obj.user_created&&$options$$.obj.user_created.toLowerCase()!==$email$$.toLowerCase()&&await exports.nguoiPhuTrach($options$$.obj.id_app,
|
|
13
|
+
$options$$.obj.user_created)!=$email$$.toLowerCase()&&$options$$.obj.phu_trach!=$email$$.toLowerCase()&&0>($options$$.obj.attends||[]).indexOf($email$$))return $callback$jscomp$0$$("Ch\u1ec9 ng\u01b0\u1eddi t\u1ea1o, ph\u1ee5 tr\u00e1ch, h\u1ed7 tr\u1ee3 v\u00e0 admin m\u1edbi c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);$e_key_right_ms$$=$email$$;$participant$$&&$participant$$.group_id&&($e_key_right_ms$$=$participant$$.group_id.toLowerCase());right.findOne({id_app:$current_id_app$$,
|
|
14
|
+
email:$e_key_right_ms$$,module:$module$$.toLowerCase()},async function($error$jscomp$2_user_phu_trach$$,$_right__right_trang_thai$$){if($error$jscomp$2_user_phu_trach$$)return $callback$jscomp$0$$($error$jscomp$2_user_phu_trach$$,!1);if(!$admin$$){if(!$_right__right_trang_thai$$)return global.modulesInMenu[$module$$]||"view"!==$action$$&&("add"!==$action$$||"group"!==$module$$.toLowerCase())?$callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",
|
|
15
|
+
!1):$callback$jscomp$0$$(null,!0,$app$$);if(!$_right__right_trang_thai$$[$action$$])return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",!1);if($options$$.obj&&$_right__right_trang_thai$$&&!$_right__right_trang_thai$$.viewOfOther&&$options$$.obj.user_created.toLowerCase()!==$email$$&&(2!==$options$$.obj.visible_to||!underscore.contains($options$$.obj.visible_to_users,$email$$))&&($error$jscomp$2_user_phu_trach$$=await exports.nguoiPhuTrach($options$$.obj.id_app,
|
|
16
|
+
$options$$.obj.user_created),$options$$.obj.phu_trach!==$email$$&&$error$jscomp$2_user_phu_trach$$!=$email$$&&0>($options$$.obj.attends||[]).indexOf($email$$)))return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);if($ma_trang_thai$$&&($_right__right_trang_thai$$=$_right__right_trang_thai$$[`${$action$$}_trang_thai`])&&!$_right__right_trang_thai$$[$ma_trang_thai$$]&&void 0!=$_right__right_trang_thai$$[$ma_trang_thai$$])return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y",
|
|
17
|
+
!1)}$options$$.obj?async.series({trangthai:$callback$$=>{$options$$.obj&&("update"===$action$$||"delete"===$action$$)&&$options$$.obj.ma_ct?trangthai.findOne({ma_ct:$options$$.obj.ma_ct.toUpperCase(),ma_trang_thai:$options$$.obj.trang_thai},function($e$$,$trang_thai$$){if($e$$)return $callback$$($e$$);if($trang_thai$$){if("update"===$action$$){if(0==$trang_thai$$.allow_update)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p s\u1eeda");if(1==$trang_thai$$.lock_data)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c kho\u00e1")}if("delete"===
|
|
18
|
+
$action$$&&($trang_thai$$.lock_data||0==$trang_thai$$.allow_delete))return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p xo\u00e1")}return $callback$$()}):$callback$$()}},$action_right_e$$=>{if($action_right_e$$)$callback$jscomp$0$$($action_right_e$$,!1);else{$action_right_e$$=`${$action$$}_right`;if(!$admin$$&&$options$$.obj&&$options$$.obj[$action_right_e$$]&&0<$options$$.obj[$action_right_e$$].length&&0>$options$$.obj[$action_right_e$$].indexOf($email$$.toLowerCase()))return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",
|
|
19
|
+
!1);$callback$jscomp$0$$(null,!0,$app$$)}}):$callback$jscomp$0$$(null,!0,$app$$)})},$options$$)};
|
|
20
20
|
exports.getRightByItem=function($id_app$$,$model$$,$email$$,$next$$,$module$$,$options$$={}){exports.isAdmin($id_app$$,$email$$,async function($e$jscomp$3_key_right$$,$admin$$,$app$$,$participant$$){if($e$jscomp$3_key_right$$)return $next$$($e$jscomp$3_key_right$$);let $condition$$={};$module$$||($module$$=$model$$&&$model$$.collection&&$model$$.collection.name&&1<$model$$.collection.name.length?$model$$.collection.name.substr(0,$model$$.collection.name.length-1).toLowerCase():"");if($admin$$||$options$$.notNeedRight||
|
|
21
21
|
!underscore.has($model$$.schema.paths,"id_app"))$next$$(null,$condition$$,$admin$$);else{let $allUsers$$,$selUsers$$,$selGroups$$,$visible$$=[],$allow_trang_thai$$;$e$jscomp$3_key_right$$=$email$$;$participant$$&&$participant$$.group_id&&($e$jscomp$3_key_right$$=$participant$$.group_id.toLowerCase());right.findOne({id_app:$id_app$$,email:$e$jscomp$3_key_right$$,module:$module$$},async function($ds_dang_phu_trach_error$$,$_right$jscomp$1_users$$){if($_right$jscomp$1_users$$&&$_right$jscomp$1_users$$.view){$ds_dang_phu_trach_error$$=
|
|
22
22
|
{visible_to:null};underscore.has($model$$.schema.paths,"visible_to")&&($condition$$.$and||($condition$$.$and=[]),$allUsers$$={visible_to:0},$selUsers$$={visible_to:2,visible_to_users:$email$$},$selGroups$$=underscore.has($model$$.schema.paths,"visible_to_usergroups")?{visible_to:5,visible_to_usergroups:($participant$$||{}).group_id}:{visible_to:5,visible_to_users:($participant$$||{}).group_id},$visible$$.push($allUsers$$),$visible$$.push($selUsers$$),$visible$$.push($selGroups$$),$visible$$.push($ds_dang_phu_trach_error$$));
|
|
@@ -10,9 +10,9 @@ Array.prototype.joinModel=function($id_app$$,$model$$,$joinFields$$,$fn$$){_.isA
|
|
|
10
10
|
$joinFields$$,$fn$$)};const getFields=$fields$$=>{_.isArray($fields$$)||($fields$$=[$fields$$]);return $fields$$=$fields$$.map(function($map$$){if(_.isObject($map$$)){var $rs$jscomp$1_value$$=$map$$.value;if($map$$.name&&$rs$jscomp$1_value$$)return{[$rs$jscomp$1_value$$]:1};$rs$jscomp$1_value$$={};for(let $key$$ in $map$$)$rs$jscomp$1_value$$[$map$$[$key$$]]=1;return $rs$jscomp$1_value$$}return{[$map$$]:1}}).reduce(($a$$,$b$$)=>({...$a$$,...$b$$}),{})};
|
|
11
11
|
Array.prototype.joinModel2=function($id_app$$,$model$jscomp$0$$,$joinFields$$,$fn$$,$options$$={cache:!0}){let $self$$=this;setImmediate(()=>{if(_.isArray($id_app$$)){let $model_1$$=$id_app$$,$joinFields_1$$=$model$jscomp$0$$,$fn_1$$=$joinFields$$;$id_app$$=void 0;$model$jscomp$0$$=$model_1$$;$joinFields$$=$joinFields_1$$;$fn$$=$fn_1$$}let $model_origin$$;_.isArray($model$jscomp$0$$)||($model_origin$$=$model$jscomp$0$$);(new Promise($resolve$$=>{setImmediate(()=>{_.isArray($joinFields$$)||($joinFields$$=
|
|
12
12
|
[$joinFields$$]);$joinFields$$.forEach($join$$=>{$join$$.fields_need_get_data||_.isArray($model$jscomp$0$$)||$join$$.setFields||$join$$.asyncSetFields||!$join$$.fields||_.isFunction($join$$.fields)||($join$$.fields_need_get_data=getFields($join$$.fields))});_.isArray($model$jscomp$0$$)?$resolve$$($model$jscomp$0$$):$resolve$$([])})})).then($model$$=>{async.mapSeries($self$$,function($item$$,$callback$jscomp$0$$){setImmediate(()=>{async.mapSeries($joinFields$$,function($join$$,$callback$$){setImmediate(()=>
|
|
13
|
-
{let $query$$={};if($join$$.where)if(_.isFunction($join$$.where))$query$$=$join$$.where($item$$)||{};else{if(_.isString($join$$.where)){var $bkey_k$$=$join$$.where;$join$$.where={};$join$$.where[$bkey_k$$]=$bkey_k$$}for(let $akey$$ in $join$$.where)if($bkey_k$$=$join$$.where[$akey$$],_.isObject($bkey_k$$)?$query$$[$akey$$]=$bkey_k$$:$query$$[$bkey_k$$]=$item$$[$akey$$]
|
|
14
|
-
$join$$.bkey){if("_id"
|
|
15
|
-
|
|
13
|
+
{let $query$$={};if($join$$.where)if(_.isFunction($join$$.where))$query$$=$join$$.where($item$$)||{};else{if(_.isString($join$$.where)){var $bkey_k$$=$join$$.where;$join$$.where={};$join$$.where[$bkey_k$$]=$bkey_k$$}for(let $akey$$ in $join$$.where)if($bkey_k$$=$join$$.where[$akey$$],_.isObject($bkey_k$$)?$query$$[$akey$$]=$bkey_k$$:$query$$[$bkey_k$$]=$item$$[$akey$$],!("_id"!=$bkey_k$$||$item$$[$akey$$]&&global.mongoose.Types.ObjectId.isValid($item$$[$akey$$])))return $callback$$(null)}if($join$$.akey&&
|
|
14
|
+
$join$$.bkey){if(!("_id"!=$join$$.bkey||$item$$[$join$$.akey]&&global.mongoose.Types.ObjectId.isValid($item$$[$join$$.akey])))return $callback$$(null);$query$$[$join$$.bkey]=$item$$[$join$$.akey]}let $_model$$;($_model$$="function"!==typeof $model_origin$$||$model_origin$$.findOne?$model_origin$$:$model_origin$$($item$$))&&$_model$$.schema&&($_model$$.schema.paths.id_app?$query$$.id_app=$item$$.id_app||$query$$.id_app:delete $query$$.id_app);let $b$$=_.findWhere($model$$,$query$$),$d_session$$="";
|
|
15
|
+
if($query$$._id)$d_session$$="stp:"+$query$$._id;else{for(let $key$$ in $query$$)"id_app"!==$key$$&&$query$$[$key$$]&&($d_session$$=$d_session$$?$d_session$$+":"+$key$$+":"+$query$$[$key$$]:$key$$+":"+$query$$[$key$$]);$d_session$$=$query$$.id_app?"id_app:"+$query$$.id_app+":"+$d_session$$:($id_app$$||"")+":"+$d_session$$}(new Promise(($resolve$jscomp$0$$,$reject$$)=>{$_model$$&&!$b$$?(new Promise($resolve$$=>{setImmediate(()=>{$options$$.cache&&$d_session$$&&$_model$$.collection&&$_model$$.collection.name&&
|
|
16
16
|
cachedKeys[$_model$$.collection.name.substring(0,$_model$$.collection.name.length-1)]?global.clientRedis.get($d_session$$,function($err$$,$reply$$){$resolve$$($reply$$)}):$resolve$$()})})).then($rep$$=>{setImmediate(async()=>{if($rep$$)$b$$=JSON.parse($rep$$),$resolve$jscomp$0$$($b$$);else{let $q$$={};for($fields$jscomp$1_key$$ in $query$$)void 0!==$query$$[$fields$jscomp$1_key$$]&&($q$$[$fields$jscomp$1_key$$]=$query$$[$fields$jscomp$1_key$$]);if(0===Object.keys($q$$).length)return $resolve$jscomp$0$$(null);
|
|
17
17
|
$id_app$$&&($q$$.id_app=$id_app$$);if(""==$q$$._id||$q$$._id&&!global.mongoose.Types.ObjectId.isValid($q$$._id))return $resolve$jscomp$0$$(null);var $fields$jscomp$1_key$$=$join$$.fields_need_get_data;if(_.isString($_model$$)){if(!mongoose.models[$_model$$])return $reject$$("Collection "+$_model$$+" is not exists");$_model$$=mongoose.models[$_model$$]}try{const $rs$$=await $_model$$.findOne($q$$,$fields$jscomp$1_key$$).lean().exec();$rs$$&&($rs$$._id=$rs$$._id.toString(),$b$$=$rs$$);$resolve$jscomp$0$$($b$$)}catch($e$$){console.error($e$$),
|
|
18
18
|
$resolve$jscomp$0$$($b$$)}}})}):$resolve$jscomp$0$$($b$$)})).then(()=>{setImmediate(()=>{$b$$&&($join$$.fields||$join$$.setFields||$join$$.asyncSetFields)?($join$$.fields&&(_.isFunction($join$$.fields)?$join$$.fields($item$$,$b$$):(_.isArray($join$$.fields)||($join$$.fields=[$join$$.fields]),$join$$.fields.forEach(function($map$$){if(_.isObject($map$$)){let $name$$=$map$$.name,$value$$=$map$$.value;if($name$$&&$value$$)$item$$[$name$$]=$b$$[$value$$];else for(let $key$$ in $map$$)$item$$[$key$$]=
|
package/server/libs/tinhgiatb.js
CHANGED
|
@@ -6,7 +6,7 @@ $bang_gia$$=underscore.filter($bang_gia$$,function($r$$){return 0!==$r$$.gia||0!
|
|
|
6
6
|
{id_app:$id_app$$,ma_vt:$gia$$.ma_vt};$ma_kho$$&&($query_delete$$.ma_kho=$ma_kho$$);giatb.deleteMany($query_delete$$,function($error$jscomp$0$$){if($error$jscomp$0$$)return $callback$$($error$jscomp$0$$);giatb.create($gia$$,function($error$$,$result$$){if($error$$)return console.log("Loi khi luu vao bang gia trung binh thang vat tu "+$gia$$.ma_vt,$error$$),$callback$$($error$$);$callback$$(null,$result$$)})})}},function($error$$){if($error$$)return $callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null)})})},
|
|
7
7
|
function($error$$){if($error$$)return $callback$jscomp$1$$($error$$);$callback$jscomp$1$$(null)})},function($error$jscomp$1$$){if($error$jscomp$1$$)return $fn$$($error$jscomp$1$$);let $vouchers_x$$={},$vouchers_n$$={},$ma_vts$$=underscore.pluck($bang_gia$$,"ma_vt");async.series({xuat:function($callback$jscomp$0$$){setImmediate(()=>{let $query_sokho_x$$={id_app:$id_app$$,ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$},nxt:2,ma_vt:{$in:$ma_vts$$},px_gia_dd:!1};$ma_kho$$&&($query_sokho_x$$.ma_kho=$ma_kho$$);
|
|
8
8
|
sokho.find($query_sokho_x$$).lean().exec(function($error$jscomp$0$$,$sks$$){if($error$jscomp$0$$)return $callback$jscomp$0$$($error$jscomp$0$$);if(!$sks$$||0===$sks$$.length)return $callback$jscomp$0$$(null,$vouchers_x$$);async.mapSeries($sks$$,function($sk$$,$callback$$){let $voucher$$=$vouchers_x$$[$sk$$.id_ct],$ct$$=mongoose.models[$sk$$.ma_ct.toLowerCase()];!$voucher$$&&$ct$$?$ct$$.findById($sk$$.id_ct,function($error$$,$v$$){if($error$$)return $callback$$($error$$);$v$$?($voucher$$=$v$$,$vouchers_x$$[$sk$$.id_ct]=
|
|
9
|
-
$voucher$$):(sokho.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu xuat. chuong trinh da xoa phieu nay khoi sokho",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}),socai.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu xuat. chuong trinh da xoa phieu nay khoi socai",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}));$callback$$()}):$callback$$()},function($error$$){if($error$$)return console.
|
|
9
|
+
$voucher$$):(sokho.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu xuat. chuong trinh da xoa phieu nay khoi sokho",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}),socai.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu xuat. chuong trinh da xoa phieu nay khoi socai",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}));$callback$$()}):$callback$$()},function($error$$){if($error$$)return console.error("co loi lay phieu xuat",
|
|
10
10
|
$error$$),$callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null,$vouchers_x$$)})})})},nhap:function($callback$jscomp$0$$){setImmediate(()=>{let $query_sokho_n$$={id_app:$id_app$$,ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$},nxt:1,ma_vt:{$in:$ma_vts$$},pn_gia_tb:!0,ma_ct:{$ne:"PXC"}};$ma_kho$$&&($query_sokho_n$$.ma_kho=$ma_kho$$);sokho.find($query_sokho_n$$,function($error$jscomp$0$$,$sks$$){if($error$jscomp$0$$)return $callback$jscomp$0$$($error$jscomp$0$$);if(!$sks$$||0===$sks$$.length)return $callback$jscomp$0$$(null,
|
|
11
11
|
$vouchers_n$$);async.mapSeries($sks$$,function($sk$$,$callback$$){let $voucher$$=$vouchers_n$$[$sk$$.id_ct],$ct$$=mongoose.models[$sk$$.ma_ct.toLowerCase()];!$voucher$$&&$ct$$?$ct$$.findById($sk$$.id_ct,function($error$$,$v$$){if($error$$)return $callback$$($error$$);$v$$?($voucher$$=$v$$,$vouchers_n$$[$sk$$.id_ct]=$voucher$$):(sokho.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu nhap. chuong trinh da xoa phieu nay khoi sokho",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,
|
|
12
12
|
$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}),socai.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu nhap. chuong trinh da xoa phieu nay khoi socai",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}));$callback$$()}):$callback$$()},function($error$$){if($error$$)return console.log("co loi lay phieu nhap",$error$$),$callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null,$vouchers_n$$)})})})}},function($error$jscomp$0$$){if($error$jscomp$0$$)return $fn$$($error$jscomp$0$$);
|
|
@@ -15,21 +15,18 @@ $d$$.ma_vt===$vt$$.ma_vt);$gia$$=$gia$$?$gia$$.gia:0;let $he_so_qd$$=1,$qd$$=awa
|
|
|
15
15
|
$d$$.ma_vt)&&!$d$$.px_gia_dd&&(!$ma_kho$$||$ma_kho$$===($d$$.ma_kho||$voucher_x$$.ma_kho||$voucher_x$$.ma_kho_x))),await Promise.all($details_details_doi_details_kmc$$.map($d$$=>(async()=>{var $gia$jscomp$3_gia_chuan$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$3_gia_chuan$$=$gia$jscomp$3_gia_chuan$$?$gia$jscomp$3_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$voucher_x$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=
|
|
16
16
|
$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von=$d$$.gia_von_nt=$gia$jscomp$3_gia_chuan$$*$he_so_qd$$;$d$$.tien_xuat=$d$$.tien_xuat_nt=Math.roundBy($d$$.sl_xuat*$d$$.gia_von,$f_tien$$)})())));await $voucher_x$$.details.filter($d$$=>$d$$.promotion&&$d$$.promotion.details_km).map($d$jscomp$0$$=>(async()=>{const $details_km$$=$d$jscomp$0$$.promotion.details_km.filter($d$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&!$d$$.px_gia_dd&&(!$ma_kho$$||$ma_kho$$===($d$$.ma_kho||$voucher_x$$.ma_kho||
|
|
17
17
|
$voucher_x$$.ma_kho_x)));await Promise.all($details_km$$.map($d$$=>(async()=>{var $gia$jscomp$4_gia_chuan$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$4_gia_chuan$$=$gia$jscomp$4_gia_chuan$$?$gia$jscomp$4_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$voucher_x$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von=$d$$.gia_von_nt=$gia$jscomp$4_gia_chuan$$*$he_so_qd$$;
|
|
18
|
-
$d$$.tien_xuat=$d$$.tien_xuat_nt=Math.roundBy(($d$$.sl_xuat||$d$$.sl_km||0)*$d$$.gia_von,$f_tien$$)
|
|
19
|
-
|
|
20
|
-
$
|
|
21
|
-
|
|
22
|
-
$
|
|
23
|
-
$
|
|
24
|
-
$
|
|
25
|
-
$voucher_n$$.
|
|
26
|
-
$d$$.
|
|
27
|
-
($
|
|
28
|
-
|
|
29
|
-
$
|
|
30
|
-
$
|
|
31
|
-
|
|
32
|
-
$
|
|
33
|
-
$d_voucher$$&&($chung_tu_cap_nhat_chenh_lech$$[$d_voucher$$._id.toString()]=$d_voucher$$);$callback$$(null,$d_voucher$$)})},$_vouchers_chenh_lech_e$$=>{if($_vouchers_chenh_lech_e$$)return $fn$$($_vouchers_chenh_lech_e$$);$_vouchers_chenh_lech_e$$=underscore.values($chung_tu_cap_nhat_chenh_lech$$);async.mapSeries($_vouchers_chenh_lech_e$$,($voucher$$,$callback$$)=>{setImmediate(()=>{$voucher$$.save($ctrl$jscomp$2_error$$=>{if($ctrl$jscomp$2_error$$)return $callback$$($ctrl$jscomp$2_error$$);let $voucher_data$$=
|
|
34
|
-
$voucher$$.toObject();($ctrl$jscomp$2_error$$=global.controllers[$voucher_data$$.ma_ct.toUpperCase()])&&$ctrl$jscomp$2_error$$.post?(console.log("repost voucher",$voucher_data$$.ma_ct,$voucher_data$$.so_ct,$voucher_data$$._id,"..."),Controller.postData($voucher_data$$,$ctrl$jscomp$2_error$$,($e$$,$rs$$)=>{$e$$&&console.error("error repost khi tinh gia trung binh",$e$$,$voucher_data$$);$callback$$($e$$,$rs$$)})):$callback$$(null)})})},$e$$=>{if($e$$)return $fn$$($e$$);$bang_gia$$.joinModel2($id_app$$,
|
|
35
|
-
dmvt,[{where:"ma_vt",fields:"ten_vt"}],()=>{$fn$$(null,$bang_gia$$)})})})})})})})})})}else $fn$$("L\u1ed7i: T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_thang,den_thang,nam,id_app")};
|
|
18
|
+
$d$$.tien_xuat=$d$$.tien_xuat_nt=Math.roundBy(($d$$.sl_xuat||$d$$.sl_km||0)*$d$$.gia_von,$f_tien$$)})()))})());await $voucher_x$$.details.filter($d$$=>$d$$.combo&&0<$d$$.combo.length).map($d$jscomp$0$$=>(async()=>{const $combo$$=$d$jscomp$0$$.combo.filter($d$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&!$d$$.px_gia_dd&&(!$ma_kho$$||$ma_kho$$===($d$$.ma_kho||$voucher_x$$.ma_kho||$voucher_x$$.ma_kho_x)));await Promise.all($combo$$.map($d$$=>(async()=>{var $gia$jscomp$5_gia_chuan$$=underscore.find($bang_gia$$,
|
|
19
|
+
$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$5_gia_chuan$$=$gia$jscomp$5_gia_chuan$$?$gia$jscomp$5_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$voucher_x$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von=$d$$.gia_von_nt=$gia$jscomp$5_gia_chuan$$*$he_so_qd$$;$d$$.tien_xuat=$d$$.tien_xuat_nt=Math.roundBy(($d$$.sl_xuat||0)*$d$$.gia_von,$f_tien$$)})()))})());$voucher_x$$.promotion&&($details_details_doi_details_kmc$$=
|
|
20
|
+
$voucher_x$$.promotion.filter($d$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&!$d$$.px_gia_dd&&(!$ma_kho$$||$ma_kho$$===($d$$.ma_kho||$voucher_x$$.ma_kho||$voucher_x$$.ma_kho_x))),await Promise.all($details_details_doi_details_kmc$$.map($d$$=>(async()=>{var $gia$jscomp$6_gia_chuan$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$6_gia_chuan$$=$gia$jscomp$6_gia_chuan$$?$gia$jscomp$6_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$voucher_x$$.id_app,
|
|
21
|
+
ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von_nt=$gia$jscomp$6_gia_chuan$$*$he_so_qd$$;$d$$.gia_von=$d$$.gia_von_nt;$d$$.tien_xuat_nt=Math.roundBy(($d$$.sl_xuat||$d$$.sl_km||0)*$d$$.gia_von,$f_tien$$);$d$$.tien_xuat=$d$$.tien_xuat_nt})())));await $voucher_x$$.save();let $voucher_x_data$$=$voucher_x$$.toObject(),$ctrl$$=global.controllers[$voucher_x_data$$.ma_ct.toUpperCase()];$ctrl$$&&$ctrl$$.post&&await (async()=>new Promise(($resolve$$,
|
|
22
|
+
$reject$$)=>{Controller.postData($voucher_x_data$$,$ctrl$$,($e$$,$rs$$)=>{if($e$$)return console.error("error repost khi tinh gia trung binh",$e$$,$voucher_x_data$$),$reject$$($e$$);$resolve$$($rs$$)})}))()})().then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})})},$error$$=>{$callback$jscomp$0$$($error$$,$vouchers_x$$)})},function($_vouchers_x$$,$callback$jscomp$0$$){async.mapSeries(underscore.values($vouchers_n$$),($voucher_n$$,$callback$$)=>{setImmediate(()=>{(async()=>{var $details_doi$$=
|
|
23
|
+
$voucher_n$$.details.filter($d$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&($d$$.pn_gia_tb||"PNC"===$voucher_n$$.ma_ct&&!$d$$.px_gia_dd||"PKK"===$voucher_n$$.ma_ct&&!$d$$.px_gia_dd)&&(!$ma_kho$$||$ma_kho$$===$d$$.ma_kho||$ma_kho$$===$voucher_n$$.ma_kho||$ma_kho$$===$voucher_n$$.ma_kho_n));await Promise.all($details_doi$$.map($d$$=>(async()=>{var $gia$jscomp$7_gia_chuan$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$7_gia_chuan$$=$gia$jscomp$7_gia_chuan$$?
|
|
24
|
+
$gia$jscomp$7_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$vouchers_n$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von_nt=$gia$jscomp$7_gia_chuan$$*$he_so_qd$$;$d$$.gia_von=$d$$.gia_von_nt;"PNC"===$voucher_n$$.ma_ct||"PKK"===$voucher_n$$.ma_ct?($d$$.tien_xuat_nt=Math.roundBy($d$$.sl_xuat*$d$$.gia_von,$f_tien$$),$d$$.tien_xuat=$d$$.tien_xuat_nt):($d$$.tien_nhap_nt=Math.roundBy($d$$.sl_nhap*
|
|
25
|
+
$d$$.gia_von,$f_tien$$),$d$$.tien_nhap=$d$$.tien_nhap_nt)})()));$voucher_n$$.details_doi&&($details_doi$$=$voucher_n$$.details_doi.filter($d$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&$d$$.pn_gia_tb&&(!$ma_kho$$||$ma_kho$$===$d$$.ma_kho)),await Promise.all($details_doi$$.map($d$$=>(async()=>{var $gia$jscomp$8_gia_chuan$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$8_gia_chuan$$=$gia$jscomp$8_gia_chuan$$?$gia$jscomp$8_gia_chuan$$.gia:0;let $he_so_qd$$=1,
|
|
26
|
+
$qd$$=await dmqddvt.findOne({id_app:$vouchers_n$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von_nt=$gia$jscomp$8_gia_chuan$$*$he_so_qd$$;$d$$.gia_von=$d$$.gia_von_nt;$d$$.tien_xuat_nt=Math.roundBy($d$$.sl_xuat*$d$$.gia_von,$f_tien$$);$d$$.tien_xuat=$d$$.tien_xuat_nt})())));await $voucher_n$$.save();let $voucher_n_data$$=$voucher_n$$.toObject(),$ctrl$$=global.controllers[$voucher_n_data$$.ma_ct.toUpperCase()];$ctrl$$&&
|
|
27
|
+
$ctrl$$.post&&await (async()=>new Promise(($resolve$$,$reject$$)=>{Controller.postData($voucher_n_data$$,$ctrl$$,function($e$$,$rs$$){if($e$$)return console.error("error repost khi tinh gia trung binh",$e$$,$voucher_n_data$$),$reject$$($e$$);$resolve$$($rs$$)})}))()})().then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})})},function($error$$){$callback$jscomp$0$$($error$$)})}],function($e$jscomp$1$$){if($e$jscomp$1$$)return $fn$$($e$jscomp$1$$);$e$jscomp$1$$={id_app:$condition$$.id_app,
|
|
28
|
+
ngay:$den_ngay$$,chenh_lech:1};$condition$$.ma_vt&&($e$jscomp$1$$.ma_vt=$condition$$.ma_vt);$condition$$.ma_kho&&($e$jscomp$1$$.ma_kho=$condition$$.ma_kho);ckvt($e$jscomp$1$$,($e$jscomp$0$$,$rs$jscomp$0$$)=>{if($e$jscomp$0$$)return $fn$$($e$jscomp$0$$);$rs$jscomp$0$$=underscore.filter($rs$jscomp$0$$,$r$$=>0!==$r$$.du00&&(0==$r$$.ton00||.001>Math.abs($r$$.ton00)));$vouchers_x$$=underscore.sortBy(underscore.values($vouchers_x$$),$v$$=>-(new Date($v$$.ngay_ct)).getTime());$vouchers_n$$=underscore.sortBy(underscore.values($vouchers_n$$),
|
|
29
|
+
$v$$=>-(new Date($v$$.ngay_ct)).getTime());let $chung_tu_cap_nhat_chenh_lech$$={};async.mapSeries($rs$jscomp$0$$,($vt$$,$callback$$)=>{setImmediate(()=>{let $d_voucher$$=null;($d_voucher$$=underscore.find($vouchers_x$$,$x$$=>underscore.find($x$$.details,$vc$$=>{if($vc$$.ma_vt!=$vt$$.ma_vt||$vc$$.px_gia_dd||$ma_kho$$&&$ma_kho$$!==$vc$$.ma_kho&&$ma_kho$$!==$x$$.ma_kho)return!1;$vc$$.tien_xuat_nt+=$vt$$.du00;$vc$$.tien_xuat=Math.roundBy($vc$$.tien_xuat_nt,$f_tien$$);return!0})))||($d_voucher$$=underscore.find($vouchers_n$$,
|
|
30
|
+
$n$$=>underscore.find($n$$.details,$vc$$=>{if($vc$$.ma_vt!=$vt$$.ma_vt||$vc$$.pn_gia_tb||$ma_kho$$&&$ma_kho$$!==$vc$$.ma_kho&&$ma_kho$$!==$n$$.ma_kho)return!1;$vc$$.tien_nhap_nt-=$vt$$.du00;$vc$$.tien_nhap=Math.roundBy($vc$$.tien_nhap_nt,$f_tien$$);return!0})));$d_voucher$$&&($chung_tu_cap_nhat_chenh_lech$$[$d_voucher$$._id.toString()]=$d_voucher$$);$callback$$(null,$d_voucher$$)})},$_vouchers_chenh_lech_e$$=>{if($_vouchers_chenh_lech_e$$)return $fn$$($_vouchers_chenh_lech_e$$);$_vouchers_chenh_lech_e$$=
|
|
31
|
+
underscore.values($chung_tu_cap_nhat_chenh_lech$$);async.mapSeries($_vouchers_chenh_lech_e$$,($voucher$$,$callback$$)=>{setImmediate(()=>{$voucher$$.save($ctrl$jscomp$2_error$$=>{if($ctrl$jscomp$2_error$$)return $callback$$($ctrl$jscomp$2_error$$);let $voucher_data$$=$voucher$$.toObject();($ctrl$jscomp$2_error$$=global.controllers[$voucher_data$$.ma_ct.toUpperCase()])&&$ctrl$jscomp$2_error$$.post?Controller.postData($voucher_data$$,$ctrl$jscomp$2_error$$,($e$$,$rs$$)=>{$e$$&&console.error("error repost khi tinh gia trung binh",
|
|
32
|
+
$e$$,$voucher_data$$);$callback$$($e$$,$rs$$)}):$callback$$(null)})})},$e$$=>{if($e$$)return $fn$$($e$$);$bang_gia$$.joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ten_vt"}],()=>{$fn$$(null,$bang_gia$$)})})})})})})})})})}else $fn$$("L\u1ed7i: T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_thang,den_thang,nam,id_app")};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';const validator=require("validator"),customerSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_kh:{type:String,uppercase:!0,required:!0,default:"",trim:!0,maxlength:32},ten_kh:{type:String,required:"Y\u00eau c\u1ea7u nh\u1eadp t\u00ean kh\u00e1ch h\u00e0ng",trim:!0,maxlength:1024},device_user_id:String,gioi_tinh:{type:String,maxlength:1024},ngay_sinh:Date,dia_chi:{type:String,maxlength:1024},xa_phuong:{type:String,maxlength:1024},quan_huyen:{type:String,maxlength:1024},
|
|
2
2
|
tinh_thanh:{type:String,maxlength:1024},location:Schema.Types.Mixed,dien_thoai:{type:String,maxlength:1024},dia_chi2:{type:String,maxlength:1024},xa_phuong2:{type:String,maxlength:1024},quan_huyen2:{type:String,maxlength:1024},tinh_thanh2:{type:String,maxlength:1024},location2:Schema.Types.Mixed,dien_thoai2:{type:String,maxlength:1024},fax:{type:String,maxlength:1024},email:{type:String,maxlength:1024},website:{type:String,maxlength:1024},ma_so_thue:{type:String,maxlength:1024},phu_trach:{type:String,
|
|
3
|
-
maxlength:1024},ten_phu_trach:String,loai_kh:{type:String,default:"",trim:!0,maxlength:1024},nh_kh:{type:String,default:"",trim:!0,maxlength:1024},ten_nh_kh:String,ghi_chu:{type:String,default:"",trim:!0,maxlength:1024},ncc_yn:{type:Boolean,default:!0},kh_yn:{type:Boolean,default:!0},from_updated:{type:String,default:"M",maxlength:1024},of_user:{type:String,lowercase:!0,maxlength:1024,set:function($of_user$$){this._previous_of_user=this.of_user;
|
|
4
|
-
exfields:Schema.Types.Mixed,trang_thai:{type:String,default:"1"},status:{type:Boolean,default:!0},labels:[String],date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],
|
|
5
|
-
customerSchema.index({
|
|
6
|
-
customerSchema.index({ten_kh:"text",ma_kh:"text",dia_chi:"text",xa_phuong:"text",quan_huyen:"text",tinh_thanh:"text",dien_thoai:"text",email:"text",ma_so_thue:"text",phu_trach:"text",ten_phu_trach:"text",nh_kh:"text",ten_nh_kh:"text"},{name:"customer_index"});
|
|
3
|
+
maxlength:1024},ten_phu_trach:String,loai_kh:{type:String,default:"",trim:!0,maxlength:1024},nh_kh:{type:String,default:"",trim:!0,maxlength:1024},ten_nh_kh:String,nh_kh2:[String],nh_kh3:[String],nh_kh4:[String],nh_kh5:[String],ghi_chu:{type:String,default:"",trim:!0,maxlength:1024},ncc_yn:{type:Boolean,default:!0},kh_yn:{type:Boolean,default:!0},from_updated:{type:String,default:"M",maxlength:1024},of_user:{type:String,lowercase:!0,maxlength:1024,set:function($of_user$$){this._previous_of_user=this.of_user;
|
|
4
|
+
return $of_user$$}},group_user:String,default_password:{type:String},exfields:Schema.Types.Mixed,trang_thai:{type:String,default:"1"},status:{type:Boolean,default:!0},ngay_mua_gan_nhat:Date,ngay_tuong_tac_gan_nhat:{type:Date,default:Date.now},labels:[String],date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],
|
|
5
|
+
update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]},{toJSON:{virtuals:!0}});customerSchema.index({id_app:1});customerSchema.index({ma_kh:1});customerSchema.index({ten_kh:1});customerSchema.index({nh_kh:1});customerSchema.index({nh_kh2:1});customerSchema.index({nh_kh3:1});customerSchema.index({nh_kh4:1});customerSchema.index({nh_kh5:1});customerSchema.index({ngay_mua_gan_nhat:1});customerSchema.index({ngay_tuong_tac_gan_nhat:1});customerSchema.index({dien_thoai:1});
|
|
6
|
+
customerSchema.index({email:1});customerSchema.index({tinh_thanh:1});customerSchema.index({date_updated:-1});customerSchema.index({date_created:-1});customerSchema.index({user_created:1});customerSchema.index({labels:1});customerSchema.index({of_user:1});customerSchema.index({ten_kh:"text",ma_kh:"text",dia_chi:"text",xa_phuong:"text",quan_huyen:"text",tinh_thanh:"text",dien_thoai:"text",email:"text",ma_so_thue:"text",phu_trach:"text",ten_phu_trach:"text",nh_kh:"text",ten_nh_kh:"text"},{name:"customer_index"});
|
|
7
|
+
customerSchema.index({id_app:1,ma_kh:1},{unique:!0});customerSchema.index({status:1});customerSchema.index({user_created:1,visible_to:1,visible_to_users:1});customerSchema.index({trang_thai:1});
|
|
7
8
|
customerSchema.pre("save",function($next$$){if(!this.of_user)return $next$$();const $self$$=this;if(this.isNew||this.of_user!=this._previous_of_user){let $condition$$={id_app:this.id_app,of_user:this.of_user,ma_kh:{$ne:this.ma_kh}};console.log("Check of_user, previous of_user:",this._previous_of_user,"new of_user:",this.of_user,"ma_kh:",this.ma_kh);mongoose.models.customer.find($condition$$,{ten_kh:1,ma_kh:1},($e$$,$khs$$)=>{0<$khs$$.length?$next$$(Error(`Ng\u01b0\u1eddi s\u1eed d\u1ee5ng '${$self$$.of_user}' \u0111\u00e3 \u0111\u01b0\u1ee3c g\u1eafn cho kh\u00e1ch h\u00e0ng '${$khs$$.map($kh$$=>
|
|
8
9
|
$kh$$.ma_kh+" - "+$kh$$.ten_kh).join(",")}'`)):$next$$()})}else $next$$()});const model=mongoose.models.customer||mongoose.model("customer",customerSchema);
|
|
9
10
|
model.on("index",async function($err$$){$err$$?(console.error("Customer index error",$err$$),(await model.aggregate([{$group:{_id:{id_app:"$id_app",ma_kh:"$ma_kh"},count:{$sum:1},ids:{$push:"$_id"}}},{$match:{count:{$gt:1}}}])).forEach($d$$=>{console.info("customer duplication",$d$$._id,$d$$.ids);$d$$.ids.forEach(($id$$,$index$$)=>{0<$index$$&&console.info("you should delete customer",$id$$)})})):console.info("Customer indexing complete")});
|
|
@@ -14,4 +15,7 @@ model.asyncCreateCustomerCode=async($id_app$$,$ma_kh$$,$lanthu$$)=>{$lanthu$$||(
|
|
|
14
15
|
model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().exec(($e$$,$rs$$)=>{if($e$$||!$rs$$)return $reject$$($e$$?$e$$.message:"Can't find customer information");$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)})})};
|
|
15
16
|
model.getList=async($id_app$$,$condition$$,$field$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.find($condition$$).lean().exec(($e$$,$rs$$)=>{if($e$$)return $reject$$(Error($e$$.message));$resolve$$($field$$?$rs$$.map($r$$=>$r$$[$field$$]):$rs$$)})})};
|
|
16
17
|
model.asyncCreateCustomer=async $data$$=>{if($data$$.of_user){var $_cust__cust$$=await model.findOne({id_app:$data$$.id_app,of_user:$data$$.of_user});if($_cust__cust$$)return $_cust__cust$$}$data$$.ma_kh||($data$$.ma_kh=await model.asyncCreateCustomerCode($data$$.id_app,$data$$.ten_kh));return($_cust__cust$$=await model.findOne({id_app:$data$$.id_app,ma_kh:$data$$.ma_kh}))?$_cust__cust$$:new Promise(($resolve$$,$reject$$)=>{$data$$.email&&!validator.isEmail($data$$.email)&&($data$$.email="");model.create($data$$,
|
|
17
|
-
($e$$,$rs$$)=>$e$$?$reject$$(Error($e$$.message)):$resolve$$($rs$$))})};
|
|
18
|
+
($e$$,$rs$$)=>$e$$?$reject$$(Error($e$$.message)):$resolve$$($rs$$))})};model.buyVouchers=["SO1","HD2","HD1","PBL"];
|
|
19
|
+
model.updateActives=async $cust_dhgn$$=>{let $_id$$,$kh$$;if($cust_dhgn$$.ma_kh&&$cust_dhgn$$.id_app)($kh$$=await model.findOne({id_app:$cust_dhgn$$.id_app,ma_kh:$cust_dhgn$$.ma_kh},{_id:1,ngay_tuong_tac_gan_nhat:1,ngay_mua_gan_nhat:1}))&&($_id$$=$kh$$._id.toString());else{let $link$$=$cust_dhgn$$.id_kh||$cust_dhgn$$.id_link;$link$$&&global.mongoose.Types.ObjectId.isValid($link$$)&&($kh$$=await model.findOne({_id:$link$$},{_id:1,ngay_tuong_tac_gan_nhat:1,ngay_mua_gan_nhat:1}))&&($_id$$=$kh$$._id.toString())}if(!$kh$$)return{};
|
|
20
|
+
$cust_dhgn$$.date_created&&(!$kh$$.ngay_tuong_tac_gan_nhat||(new Date($kh$$.ngay_tuong_tac_gan_nhat)).getTime()<(new Date($cust_dhgn$$.date_created)).getTime())&&$_id$$!=($cust_dhgn$$._id||"").toString()&&await model.updateOne({_id:$_id$$},{ngay_tuong_tac_gan_nhat:$cust_dhgn$$.date_created});if($cust_dhgn$$=await global.getModel("socai").findOne({$or:[{ma_kh_no:$cust_dhgn$$.ma_kh},{ma_kh_co:$cust_dhgn$$.ma_kh}],id_app:$cust_dhgn$$.id_app,ma_ct:{$in:model.buyVouchers}},{ngay_ct:1}).sort({ngay_ct:-1}))return await model.updateOne({_id:$_id$$},
|
|
21
|
+
{ngay_mua_gan_nhat:$cust_dhgn$$.ngay_ct}),{ngay_mua_gan_nhat:$cust_dhgn$$.ngay_ct};await model.updateOne({_id:$_id$$},{ngay_mua_gan_nhat:null});return{ngay_mua_gan_nhat:null}};module.exports=model;
|
package/server/models/dh2.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
'use strict';const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ma_dvt:{type:String,required:!0,maxlength:32},ma_kho:{type:String,uppercase:!0,maxlength:32},tk_vt:{type:String,uppercase:!0,maxlength:32},tk_gv:{type:String,uppercase:!0,maxlength:32},tk_dt:{type:String,uppercase:!0,maxlength:32},tk_ck:{type:String,uppercase:!0,maxlength:32},
|
|
2
|
-
px_gia_dd:{type:Boolean,default:!1},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_xuat:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_xuat:{type:Number,default:0},tien_xuat_nt:{type:Number,default:0},
|
|
3
|
-
thue_suat:{type:Number,default:0},tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},promotion:Schema.Types.Mixed,dien_giai:{type:String,maxlength:1024},ten_vt_vat:{type:String},
|
|
4
|
-
|
|
2
|
+
px_gia_dd:{type:Boolean,default:!1},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_xuat:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_xuat:{type:Number,default:0},tien_xuat_nt:{type:Number,default:0},tien_xuat_tmp:{type:Number,default:0},gia_ban:{type:Number,default:0},gia_ban_nt:{type:Number,default:0},gia_ban_niem_yet_nt:Number,tien:{type:Number,default:0},tien_nt:{type:Number,default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,
|
|
3
|
+
default:0},tien_ck_nt:{type:Number,default:0},ma_thue:String,thue_suat:{type:Number,default:0},tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},promotion:Schema.Types.Mixed,dien_giai:{type:String,maxlength:1024},ten_vt_vat:{type:String},ty_le_hoa_hong:Number,tien_hoa_hong:Number,chuyen_ngay:Boolean,ty_le_hoa_hong_gt:Number,tien_hoa_hong_gt:Number,chuyen_ngay_gt:Boolean,ty_le_hoa_hong_ctv:Number,tien_hoa_hong_ctv:Number,chuyen_ngay_ctv:Boolean,ty_le_hoa_hong_ql:Number,tien_hoa_hong_ql:Number,
|
|
4
|
+
chuyen_ngay_ql:Boolean,ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},
|
|
5
|
+
ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,tk_gv:validAccount.existsTk,tk_dt:validAccount.existsTk,tk_ck:validAccount.existsTk,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
|
|
5
6
|
const dh2Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"DH2",required:!0,uppercase:!0,maxlength:32},ma_gd:{type:String,default:"0",maxlength:32},so_ct:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"ma_nt is required",default:"VND",trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},
|
|
6
7
|
ong_ba:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ten_kh:String,ma_so_thue:{type:String,maxlength:1024},tk_no:{type:String,uppercase:!0,default:"",maxlength:32},ma_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,maxlength:32},so_seri:{type:String,uppercase:!0,maxlength:32},ngay_hd:{type:Date,uppercase:!0},ma_thue:{type:String,
|
|
7
8
|
uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_co:{type:String,uppercase:!0,maxlength:32},dia_chi:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},dien_giai_thue:{type:String,default:"",maxlength:1024},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},han_tt:{type:Number,default:0},hinh_thuc_tt:{type:String,maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},exfields:Schema.Types.Mixed,trang_thai:{type:String,
|
|
8
|
-
maxlength:32},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:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]},promotion:Schema.Types.Mixed,id_contract:{type:String,maxlength:1024},ma_kho:{type:String,uppercase:!0,maxlength:32},
|
|
9
|
-
ty_le_hoa_hong:Number,tien_hoa_hong:Number,tk_no_hoa_hong:String,tk_co_hoa_hong:String,tu_tinh_hoa_hong:Boolean,
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
maxlength:32},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:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]},promotion:Schema.Types.Mixed,id_contract:{type:String,maxlength:1024},ma_kho:{type:String,uppercase:!0,maxlength:32},ma_nv:{type:String,uppercase:!0,maxlength:32},
|
|
10
|
+
user_nv:String,ma_kh_hoa_hong:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong:Number,tien_hoa_hong:Number,tk_no_hoa_hong:String,tk_co_hoa_hong:String,tu_tinh_hoa_hong:Boolean,chuyen_ngay:Boolean,da_chuyen_hoa_hong:Boolean,user_gt:String,introduce_code:String,ma_kh_hoa_hong_gt:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_gt:Number,tien_hoa_hong_gt:Number,tk_no_hoa_hong_gt:String,tk_co_hoa_hong_gt:String,chuyen_ngay_gt:Boolean,da_chuyen_hoa_hong_gt:Boolean,user_ctv:String,ma_ctv:{type:String,
|
|
11
|
+
uppercase:!0,maxlength:32},ty_le_hoa_hong_ctv:Number,thu_nhap_ctv:Number,tk_cp_ctv:String,tk_cn_ctv:String,chuyen_ngay_ctv:Boolean,da_chuyen_hoa_hong_ctv:Boolean,user_ql:String,ma_kh_hoa_hong_ql:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_ql:Number,tien_hoa_hong_ql:Number,tk_no_hoa_hong_ql:String,tk_co_hoa_hong_ql:String,chuyen_ngay_ql:Boolean,da_chuyen_hoa_hong_ql:Boolean,ty_le_ck_hd:{type:Number,default:0},tien_ck_hd:{type:Number,default:0},result_export_einvoice:Schema.Types.Mixed,ma_bp:{type:String,
|
|
12
|
+
uppercase:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,maxlength:32},ma_dt:{type:String,uppercase:!0,maxlength:32},ma_lo:{type:String,uppercase:!0,maxlength:32}});dh2Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,tk_no:validAccount.existsTk,ma_thue:validator.existsVat,tk_thue_co:validAccount.existsTk};dh2Schema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1});
|
|
13
|
+
dh2Schema.index({dien_giai:"text",ma_kh:"text",ten_kh:"text",so_ct:"text"},{name:"dh2_index_text"});dh2Schema.index({ma_ct:1});dh2Schema.index({ma_kh:1});dh2Schema.index({ma_kho:1});dh2Schema.index({id_contract:1});dh2Schema.index({user_created:1,date_created:-1});dh2Schema.index({date_updated:-1});dh2Schema.index({status:1});dh2Schema.index({user_created:1,visible_to:1,visible_to_users:1});dh2Schema.index({trang_thai:1});module.exports=mongoose.models.dh2||mongoose.model("dh2",dh2Schema);
|
package/server/models/dmbp.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
'use strict';const dmbpSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_bp:{type:String,required:!0,uppercase:!0,maxlength:32},ten_bp:{type:String,required:!0,maxlength:1024},phu_trach:{type:String,uppercase:!0,maxlength:1024},ten_phu_trach:String,phoi_hop:{type:String,uppercase:!0,maxlength:1024},ma_bp_me:{type:String,uppercase:!0,maxlength:32},ma_bp_tuong_tac:[String],nhiem_vu:{type:String},tk_cp_luong:String,tk_pt_nv:String,tk_thue_tncn:String,ma_phi:String,tinh_luong_theo_ngay:Boolean,
|
|
2
|
-
ma_loai_cong_mac_dinh:String,stt:Number,exfields:Schema.Types.Mixed,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:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]},{toJSON:{virtuals:!0}});
|
|
3
|
-
dmbpSchema.index({ten_bp:1});dmbpSchema.index({phu_trach:1});dmbpSchema.index({ten_phu_trach:1});dmbpSchema.index({status:1});dmbpSchema.index({
|
|
4
|
-
const model=mongoose.models.dmbp||mongoose.model("dmbp",dmbpSchema);
|
|
2
|
+
ma_loai_cong_mac_dinh:String,sysorder:String,bac:{type:Number},loai_nh:{type:Number,default:1},stt:Number,exfields:Schema.Types.Mixed,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:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]},{toJSON:{virtuals:!0}});
|
|
3
|
+
dmbpSchema.index({id_app:1,ma_bp:1},{unique:!0});dmbpSchema.index({ten_bp:1});dmbpSchema.index({phu_trach:1});dmbpSchema.index({ten_phu_trach:1});dmbpSchema.index({status:1});dmbpSchema.index({sysorder:1});dmbpSchema.index({bac:1});dmbpSchema.index({loai_nh:1});dmbpSchema.index({ma_bp_me:1});dmbpSchema.index({ma_bp_tuong_tac:1});dmbpSchema.index({nhiem_vu:1});dmbpSchema.index({ma_loai_cong_mac_dinh:1});dmbpSchema.index({user_created:1,visible_to:1,visible_to_users:1});
|
|
4
|
+
dmbpSchema.index({ma_bp:"text",ten_bp:"text",phu_trach:"text",ten_phu_trach:"text"},{name:"dmbp_index_text"});const model=mongoose.models.dmbp||mongoose.model("dmbp",dmbpSchema);
|
|
5
5
|
model.referenceKeys={ma_bp:[{model:"socai",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong s\u1ed5 c\u00e1i"},{model:"chamcong",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong b\u1ea3ng ch\u1ea5m c\u00f4ng"},{model:"bangtinhluong",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong b\u1ea3ng t\u00ednh l\u01b0\u01a1ng"},{model:"qts",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong qu\u1ea3n l\u00fd t\u00e0i s\u1ea3n"},
|
|
6
6
|
{model:"phieudanhgia",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong phi\u1ebfu \u0111\u00e1nh gi\u00e1 nh\u00e2n vi\u00ean"},{model:"dmnv",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh nh\u00e2n vi\u00ean"},{model:"dmbp",key:"ma_bp_me",error:"B\u1ed9 ph\u1eadn {{VALUE}} c\u00f3 b\u1ed9 ph\u1eadn con"}]};
|
|
7
7
|
model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().exec(($e$$,$rs$$)=>{if($e$$||!$rs$$)return $reject$$(Error($e$$?$e$$.message:"Can't find data"));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)})})};
|
|
8
8
|
model.getChilren=async($id_app$$,$id$$)=>{let $_bp$$=await model.getInfo($id_app$$,{_id:$id$$});return new Promise(($resolve$$,$reject$$)=>{model.find({id_app:$id_app$$,ma_bp_me:$_bp$$.ma_bp}).lean().exec(async($_mbp_e$$,$_rs_rs$$)=>{if($_mbp_e$$)return $reject$$(Error($_mbp_e$$.message));$_mbp_e$$=$_rs_rs$$.map($r$$=>$r$$._id);$_rs_rs$$=[].concat($_mbp_e$$);for(let $i$$=0;$i$$<$_mbp_e$$.length;$i$$++)$_mbp_e$$=await model.getChilren($id_app$$,$_mbp_e$$[$i$$]),$_rs_rs$$=$_rs_rs$$.concat($_mbp_e$$);
|
|
9
|
-
$resolve$$($_rs_rs$$)})})};
|
|
9
|
+
$resolve$$($_rs_rs$$)})})};
|
|
10
|
+
model.getChilrenByMaBP=async($id_app$$,$ma_bp$$)=>{let $_bp$$=await model.getInfo($id_app$$,{ma_bp:$ma_bp$$});return new Promise(($resolve$$,$reject$$)=>{model.find({id_app:$id_app$$,ma_bp_me:$_bp$$.ma_bp}).lean().exec(async($_mbp$jscomp$1_e$$,$_rs$jscomp$1_rs$$)=>{if($_mbp$jscomp$1_e$$)return $reject$$(Error($_mbp$jscomp$1_e$$.message));$_mbp$jscomp$1_e$$=$_rs$jscomp$1_rs$$.map($r$$=>$r$$.ma_bp);$_rs$jscomp$1_rs$$=[].concat($_mbp$jscomp$1_e$$);for(let $i$$=0;$i$$<$_mbp$jscomp$1_e$$.length;$i$$++)$_mbp$jscomp$1_e$$=await model.getChilrenByMaBP($id_app$$,
|
|
11
|
+
$_mbp$jscomp$1_e$$[$i$$]),$_rs$jscomp$1_rs$$=$_rs$jscomp$1_rs$$.concat($_mbp$jscomp$1_e$$);$resolve$$($_rs$jscomp$1_rs$$)})})};model.getEmployeesByMaBP=async($id_app$$,$all_bp_ma_bp$$)=>{let $chilrends$$=await model.getChilrenByMaBP($id_app$$,$all_bp_ma_bp$$);$all_bp_ma_bp$$=[$all_bp_ma_bp$$,...$chilrends$$];return await global.getModel("dmnv").find({id_app:$id_app$$,ma_bp:{$in:$all_bp_ma_bp$$}})};
|
|
12
|
+
model.getUsersByMaBP=async($id_app$$,$ma_bp$$)=>(await model.getEmployeesByMaBP($id_app$$,$ma_bp$$)).map($e$$=>$e$$.user).filter($e$$=>$e$$);module.exports=model;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
'use strict';const dmgiabanSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_vt:{type:String,uppercase:!0,default:"",maxlength:1024,trim:!0},ten_vt:String,ma_nvt:{type:String,default:"",maxlength:1024,trim:!0},ten_nvt:String,mieu_ta:{type:String,default:"",maxlength:1024},ma_kh:{type:String,default:"",maxlength:32,trim:!0},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024,trim:!0},ten_nh_kh:String,ma_kho:{type:String,default:"",maxlength:32,trim:!0},
|
|
2
|
-
default:"",maxlength:32,trim:!0},ten_ban:String,ma_tt1:{type:String,trim:!0},ma_tt2:{type:String,trim:!0},ma_tt3:{type:String,trim:!0},sl_tu:{type:Number,default:0},sl_den:{type:Number,default:0},gia_ban_le:{type:Number,default:0},gia_ban_buon:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},ap_dung_lan_mua_thu:{type:Number},ap_dung_lan_mua_tu_thu:{type:Number},ap_dung_lan_mua_den_thu:{type:Number},online:{type:Boolean},
|
|
3
|
-
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:""},dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]},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"]},
|
|
4
|
-
ref:"dmnvt",localField:["ma_nvt"],foreignField:["_id"]}},{toJSON:{virtuals:!0}});dmgiabanSchema.index({id_app:1,ma_vt:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1});dmgiabanSchema.index({ma_nvt:1});dmgiabanSchema.index({nh_kh:1});dmgiabanSchema.index({ma_kho:1});dmgiabanSchema.index({ma_ban:1});dmgiabanSchema.index({ma_kh:1});dmgiabanSchema.index({ma_tt1:1});dmgiabanSchema.index({ma_tt2:1});dmgiabanSchema.index({ma_tt3:1});dmgiabanSchema.index({ap_dung_lan_mua_thu:1});
|
|
5
|
-
dmgiabanSchema.index({ap_dung_lan_mua_den_thu:1});dmgiabanSchema.index({sl_tu:1});dmgiabanSchema.index({sl_den:1});dmgiabanSchema.index({date_updated:-1});dmgiabanSchema.index({date_created:-1});dmgiabanSchema.index({user_created:1});dmgiabanSchema.index({status:1});dmgiabanSchema.index({online:1});dmgiabanSchema.index({offline:1});
|
|
6
|
-
const model=mongoose.models.dmgiaban||mongoose.model("dmgiaban",dmgiabanSchema);module.exports=model;
|
|
1
|
+
'use strict';const dmgiabanSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt_uu_tien:Number,ma_vt:{type:String,uppercase:!0,default:"",maxlength:1024,trim:!0},ten_vt:String,ma_nvt:{type:String,default:"",maxlength:1024,trim:!0},ten_nvt:String,mieu_ta:{type:String,default:"",maxlength:1024},ma_kh:{type:String,default:"",maxlength:32,trim:!0},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024,trim:!0},ten_nh_kh:String,ma_kho:{type:String,default:"",maxlength:32,trim:!0},
|
|
2
|
+
ten_kho:String,ma_ban:{type:String,default:"",maxlength:32,trim:!0},ten_ban:String,ma_tt1:{type:String,trim:!0},ma_tt2:{type:String,trim:!0},ma_tt3:{type:String,trim:!0},sl_tu:{type:Number,default:0},sl_den:{type:Number,default:0},gia_ban_le:{type:Number,default:0},gia_ban_buon:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},ap_dung_lan_mua_thu:{type:Number},ap_dung_lan_mua_tu_thu:{type:Number},ap_dung_lan_mua_den_thu:{type:Number},online:{type:Boolean},
|
|
3
|
+
offline:{type:Boolean},exfields:Schema.Types.Mixed,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:""},dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]},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"]},
|
|
4
|
+
dmnvt:{type:Schema.Types.ObjectId,ref:"dmnvt",localField:["ma_nvt"],foreignField:["_id"]}},{toJSON:{virtuals:!0}});dmgiabanSchema.index({id_app:1,ma_vt:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1});dmgiabanSchema.index({ma_nvt:1});dmgiabanSchema.index({nh_kh:1});dmgiabanSchema.index({ma_kho:1});dmgiabanSchema.index({ma_ban:1});dmgiabanSchema.index({ma_kh:1});dmgiabanSchema.index({ma_tt1:1});dmgiabanSchema.index({ma_tt2:1});dmgiabanSchema.index({ma_tt3:1});dmgiabanSchema.index({ap_dung_lan_mua_thu:1});
|
|
5
|
+
dmgiabanSchema.index({ap_dung_lan_mua_tu_thu:1});dmgiabanSchema.index({ap_dung_lan_mua_den_thu:1});dmgiabanSchema.index({sl_tu:1});dmgiabanSchema.index({sl_den:1});dmgiabanSchema.index({date_updated:-1});dmgiabanSchema.index({date_created:-1});dmgiabanSchema.index({user_created:1});dmgiabanSchema.index({status:1});dmgiabanSchema.index({online:1});dmgiabanSchema.index({offline:1});
|
|
6
|
+
dmgiabanSchema.index({mieu_ta:"text",ma_vt:"text",ten_vt:"text",ma_kh:"text",ten_kh:"text",ma_nvt:"text",ten_nvt:"text",ma_kho:"text",ten_kho:"text"},{name:"dmgiaban_index_text"});const model=mongoose.models.dmgiaban||mongoose.model("dmgiaban",dmgiabanSchema);module.exports=model;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
'use strict';const dmhoahonghdSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},kieu:{type:String,default:"0"},doi_tuong:{type:String,default:"0"},hinh_thuc_tt:{type:String,default:"0"},do_uu_tien:{type:Number,default:0},ma_hoahong:{type:String,uppercase:!0,required:!0,maxlength:32},ten_hoahong:{type:String,required:!0,maxlength:1024},mieu_ta:{type:String},chi_su_dung_cho_ct:{type:String,uppercase:!0},khong_su_dung_cho_ct:{type:String,uppercase:!0},user_group:String,
|
|
2
|
-
default:"",maxlength:32},ten_nv:String,ma_bp:{type:String,default:"",maxlength:1024},ten_bp:String,ma_kh:{type:String,default:"",maxlength:32},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024},ten_nh_kh:String,ma_kho:{type:String,default:"",maxlength:32},ten_kho:String,gt_tu:{type:Number,default:0},gt_den:{type:Number,default:0},vts:[],sl_toi_thieu:{type:Number,default:0},tien_hh:{type:Number,default:0},ty_le_hh:{type:Number,default:0},so_tien_max:{type:Number,default:0},
|
|
3
|
-
|
|
4
|
-
ref:"customer",localField:["ma_kh"],foreignField:["ma_kh"]},ma_kho_id:{type:Schema.Types.ObjectId,ref:"dmkho",localField:["ma_kho"],foreignField:["ma_kho"]}});dmhoahonghdSchema.index({id_app:1,ma_hoahong:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1});dmhoahonghdSchema.index({
|
|
5
|
-
dmhoahonghdSchema.index({
|
|
1
|
+
'use strict';const dmhoahonghdSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},kieu:{type:String,default:"0"},doi_tuong:{type:String,default:"0"},hinh_thuc_tt:{type:String,default:"0"},tk_no:String,tk_co:String,do_uu_tien:{type:Number,default:0},ma_hoahong:{type:String,uppercase:!0,required:!0,maxlength:32},ten_hoahong:{type:String,required:!0,maxlength:1024},mieu_ta:{type:String},chi_su_dung_cho_ct:{type:String,uppercase:!0},khong_su_dung_cho_ct:{type:String,uppercase:!0},user_group:String,
|
|
2
|
+
ma_nv:{type:String,default:"",maxlength:32},ten_nv:String,ma_bp:{type:String,default:"",maxlength:1024},ten_bp:String,ma_kh:{type:String,default:"",maxlength:32},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024},ten_nh_kh:String,ma_kho:{type:String,default:"",maxlength:32},ten_kho:String,gt_tu:{type:Number,default:0},gt_den:{type:Number,default:0},vts:[],sl_toi_thieu:{type:Number,default:0},tien_hh:{type:Number,default:0},ty_le_hh:{type:Number,default:0},so_tien_max:{type:Number,default:0},
|
|
3
|
+
tien_hh2:{type:Number,default:0},ty_le_hh2:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},details_km:[],picture:{type:String},exfields:Schema.Types.Mixed,newsfeed:{type:Boolean,default:!0},online:{type:Boolean},offline:{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:""},ma_kh_id:{type:Schema.Types.ObjectId,
|
|
4
|
+
ref:"customer",localField:["ma_kh"],foreignField:["ma_kh"]},ma_kho_id:{type:Schema.Types.ObjectId,ref:"dmkho",localField:["ma_kho"],foreignField:["ma_kho"]}});dmhoahonghdSchema.index({id_app:1,ma_hoahong:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1});dmhoahonghdSchema.index({gt_tu:1});dmhoahonghdSchema.index({gt_den:1});dmhoahonghdSchema.index({ten_kho:1});dmhoahonghdSchema.index({nh_kh:1});dmhoahonghdSchema.index({ten_nh_kh:1});dmhoahonghdSchema.index({ma_nv:1});dmhoahonghdSchema.index({ma_bp:1});
|
|
5
|
+
dmhoahonghdSchema.index({user_group:1});dmhoahonghdSchema.index({kieu:1});dmhoahonghdSchema.index({do_uu_tien:1});dmhoahonghdSchema.index({date_updated:-1});dmhoahonghdSchema.index({date_created:-1});dmhoahonghdSchema.index({user_created:1});dmhoahonghdSchema.index({online:1});dmhoahonghdSchema.index({offline:1});
|
|
6
6
|
dmhoahonghdSchema.index({mieu_ta:"text",ma_hoahong:"text",ten_hoahong:"text",ma_kh:"text",ten_kh:"text",nh_kh:"text",ten_nh_kh:"text",ma_kho:"text",ten_kho:"text",ma_nv:"text",ten_nv:"text",ma_bp:"text",ten_bp:"text"},{name:"dmhoahonghd_index_text"});dmhoahonghdSchema.set("toObject",{virtuals:!0});dmhoahonghdSchema.set("toJSON",{virtuals:!0});dmhoahonghdSchema.index({status:1});const model=mongoose.models.dmhoahonghd||mongoose.model("dmhoahonghd",dmhoahonghdSchema);module.exports=model;
|
package/server/models/dmnvt.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
'use strict';const dmnvtSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:{type:Number,default:0},ten_nvt:{type:String,required:!0,maxlength:1024},nh_me:{type:String,maxlength:1024},loai_nh:{type:Number,default:1},bac:Number,sysorder:
|
|
2
|
-
default:!0},shared:{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:""}},{toJSON:{virtuals:!0}});dmnvtSchema.index({id_app:1,ten_nvt:1});dmnvtSchema.index({nh_me:1});dmnvtSchema.index({loai_nh:1});dmnvtSchema.index({bac:1});dmnvtSchema.index({
|
|
3
|
-
dmnvtSchema.index({status:1});dmnvtSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.dmnvt||mongoose.model("dmnvt",dmnvtSchema);model.referenceKeys={_id:[{model:"dmvt",key:"ma_nvt",error:"Nh\u00f3m v\u1eadt t\u01b0 ${obj.ten_nvt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong danh m\u1ee5c v\u1eadt t\u01b0"}]};module.exports=model;
|
|
1
|
+
'use strict';const dmnvtSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:{type:Number,default:0},ten_nvt:{type:String,required:!0,maxlength:1024},nh_me:{type:String,maxlength:1024},ma_nganh_hang:String,loai_nh:{type:Number,default:1},bac:Number,sysorder:String,quan_trong:Boolean,la_nhom_hang_hoa:Boolean,description:String,logo:{type:String,maxlength:1024},banner1:{type:String,maxlength:1024},banner2:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,status:{type:Boolean,
|
|
2
|
+
default:!0},shared:{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:""}},{toJSON:{virtuals:!0}});dmnvtSchema.index({id_app:1,ten_nvt:1});dmnvtSchema.index({nh_me:1});dmnvtSchema.index({sysorder:1});dmnvtSchema.index({loai_nh:1});dmnvtSchema.index({bac:1});dmnvtSchema.index({ma_nganh_hang:1});dmnvtSchema.index({la_nhom_hang_hoa:1});dmnvtSchema.index({description:1});
|
|
3
|
+
dmnvtSchema.index({ten_nvt:"text",nh_me:"text",description:"text"},{name:"dmnvt_index_text"});dmnvtSchema.index({status:1});dmnvtSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.dmnvt||mongoose.model("dmnvt",dmnvtSchema);model.referenceKeys={_id:[{model:"dmvt",key:"ma_nvt",error:"Nh\u00f3m v\u1eadt t\u01b0 ${obj.ten_nvt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong danh m\u1ee5c v\u1eadt t\u01b0"}]};module.exports=model;
|
package/server/models/dmvt.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),unidecode=require("unidecode"),dmvtSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_vt:{type:String,required:"M\u00e3 v\u1eadt t\u01b0 kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",uppercase:!0,trim:!0,maxlength:1024},ma_vt2:{type:String,maxlength:1024,uppercase:!0,trim:!0},ma_can:{type:String,maxlength:1024,uppercase:!0,trim:!0},ten_vt:{type:String,required:"T\u00ean v\u1eadt t\u01b0 kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",
|
|
2
|
-
maxlength:1024},ten_vt_kd:String,ten_vt_eng:String,ma_dvt:{type:String,required:"M\u00e3 \u0111\u01a1n v\u1ecb t\u00ednh kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",maxlength:32,trim:!0},ma_lvt:{type:String,required:!1,maxlength:32,trim:!0},ma_nvt:{type:String,required:!1,maxlength:1024,trim:!0},ten_nvt:String,ma_nvt2:{type:String,required:!1,maxlength:1024,trim:!0},ma_nvt3:{type:String,required:!1,maxlength:1024,trim:!0},ma_nvt4:{type:String,required:!1,maxlength:1024,trim:!0},
|
|
3
|
-
required:!1,maxlength:32,trim:!0},ten_ncc:String,tg_tk:{type:Boolean,default:!0},kg_kiem_tra_ton_kho:{type:Boolean,default:!1},kg_kiem_tra_ton_kho_tt:{type:Boolean,default:!1},gia_xuat:{type:String,default:"1",maxlength:32},tk_vt:{type:String,default:"1561",maxlength:32},tk_dt:{type:String,maxlength:32},tk_gv:{type:String,maxlength:32},tk_dl:{type:String,maxlength:32},tk_tl:{type:String,maxlength:32},gia_ban_le0:{type:Number,default:0},gia_ban_buon0:{type:Number,
|
|
4
|
-
default:0},gia_ban_buon:{type:Number,default:0},ban_theo_tg:{type:Boolean,default:!1},sp_yeu_cau_che_bien:{type:Boolean,default:!1},sp_yeu_cau_pha_che:{type:Boolean,default:!1},gia_mua:{type:Number,default:0},ty_le_ck0:{type:Number,default:0},tien_ck0:{type:Number,default:0},thue_suat_nk0:{type:Number,default:0},ton_kho_mac_dinh:{type:Number,default:0},ton_kho_online_hien_tai:{type:Number,default:0},thue_suat_nk:{type:Number,default:0},ma_thue:{type:String,maxlength:32},
|
|
5
|
-
maxlength:1024},picture:{type:String,maxlength:1024},picture2:{type:String,maxlength:1024},picture3:{type:String,maxlength:1024},picture4:{type:String,maxlength:1024},picture5:{type:String,maxlength:1024},picture6:{type:String,maxlength:1024},mieu_ta:{type:String},mieu_ta_chi_tiet:{type:String},khuyen_mai:{type:String},bao_hang:{type:String},
|
|
6
|
-
maxlength:1024},exfields:Schema.Types.Mixed,labels:[String],ma_lo_yn:Boolean,ma_tt1_yn:Boolean,ma_tt2_yn:Boolean,ma_tt3_yn:Boolean,thuoc_tinh:Schema.Types.Mixed,cong_doan_sx:[Schema.Types.Mixed],is_service:{type:Boolean,default:!1},is_digital:{type:Boolean,default:!1},is_coin:Boolean,is_point:Boolean,file_digital:String,combo:[],shared:{type:Boolean,default:!0},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
|
|
7
|
-
default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]},{toJSON:{virtuals:!0}});
|
|
2
|
+
maxlength:1024},ten_vt_kd:String,ten_vt_eng:String,ma_dvt:{type:String,required:"M\u00e3 \u0111\u01a1n v\u1ecb t\u00ednh kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",maxlength:32,trim:!0},ma_lvt:{type:String,required:!1,maxlength:32,trim:!0},ma_nvt:{type:String,required:!1,maxlength:1024,trim:!0},ten_nvt:String,ma_nvt2:{type:String,required:!1,maxlength:1024,trim:!0},ma_nvt3:{type:String,required:!1,maxlength:1024,trim:!0},ma_nvt4:{type:String,required:!1,maxlength:1024,trim:!0},ma_danh_muc:String,
|
|
3
|
+
ma_danh_muc_cty:String,ma_ncc:{type:String,required:!1,maxlength:32,trim:!0},ten_ncc:String,tg_tk:{type:Boolean,default:!0},kg_kiem_tra_ton_kho:{type:Boolean,default:!1},kg_kiem_tra_ton_kho_tt:{type:Boolean,default:!1},gia_xuat:{type:String,default:"1",maxlength:32},tk_vt:{type:String,default:"1561",maxlength:32},tk_dt:{type:String,maxlength:32},tk_gv:{type:String,maxlength:32},tk_dl:{type:String,maxlength:32},tk_tl:{type:String,maxlength:32},gia_ban_le0:{type:Number,default:0},gia_ban_buon0:{type:Number,
|
|
4
|
+
default:0},gia_ban_le:{type:Number,default:0},gia_ban_buon:{type:Number,default:0},ban_theo_tg:{type:Boolean,default:!1},sp_yeu_cau_che_bien:{type:Boolean,default:!1},sp_yeu_cau_pha_che:{type:Boolean,default:!1},gia_mua:{type:Number,default:0},ty_le_ck0:{type:Number,default:0},tien_ck0:{type:Number,default:0},thue_suat_nk0:{type:Number,default:0},ton_kho_mac_dinh:{type:Number,default:0},ton_kho_online_hien_tai:{type:Number,default:0},thue_suat_nk:{type:Number,default:0},ma_thue:{type:String,maxlength:32},
|
|
5
|
+
picture_slide:{type:String,maxlength:1024},picture:{type:String,maxlength:1024},picture2:{type:String,maxlength:1024},picture3:{type:String,maxlength:1024},picture4:{type:String,maxlength:1024},picture5:{type:String,maxlength:1024},picture6:{type:String,maxlength:1024},mieu_ta:{type:String},mieu_ta_chi_tiet:{type:String},khuyen_mai:{type:String},bao_hang:{type:String},ma_xuat_xu:{type:String},ma_thuong_hieu:{type:String},hot:{type:Boolean},bestseller:{type:Boolean},banner_large:{type:Boolean},banner_small:{type:Boolean},
|
|
6
|
+
tinh_trang:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,labels:[String],ma_kho_df:String,ma_lo_yn:Boolean,ma_tt1_yn:Boolean,ma_tt2_yn:Boolean,ma_tt3_yn:Boolean,thuoc_tinh:Schema.Types.Mixed,cong_doan_sx:[Schema.Types.Mixed],is_service:{type:Boolean,default:!1},is_digital:{type:Boolean,default:!1},is_coin:Boolean,is_point:Boolean,file_digital:String,combo:[],shared:{type:Boolean,default:!0},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
|
|
7
|
+
default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]},{toJSON:{virtuals:!0}});
|
|
8
8
|
dmvtSchema.validate={tk_vt:validAccount.existsTk,ma_dvt:validator.existsDvt,ma_thue:validator.existsVat,gia_xuat:[function($id_app$$,$gx$$,$callback$$){"1"!=$gx$$&&"2"!=$gx$$&&"3"!=$gx$$?$callback$$(!1):$callback$$(!0)},"Ph\u01b0\u01a1ng ph\u00e1p t\u00ednh gi\u00e1 xu\u1ea5t: 1- Trung b\u00ecnh th\u00e1ng, 2- Nh\u1eadp tr\u01b0\u1edbc xu\u1ea5t tr\u01b0\u1edbc, 3- \u0110\u00edch danh"],tinh_trang:[function($id_app$$,$gx$$,$callback$$){"1"!=$gx$$&&"2"!=$gx$$&&"3"!=$gx$$?$callback$$(!1):$callback$$(!0)},
|
|
9
|
-
"T\u00ecnh tr\u1ea1ng: 1- \u0110ang c\u00f3 h\u00e0ng, 2- S\u1eafp c\u00f3 h\u00e0ng, 3- H\u1ebft h\u00e0ng"]};dmvtSchema.index({
|
|
10
|
-
dmvtSchema.index({
|
|
11
|
-
dmvtSchema.index({
|
|
9
|
+
"T\u00ecnh tr\u1ea1ng: 1- \u0110ang c\u00f3 h\u00e0ng, 2- S\u1eafp c\u00f3 h\u00e0ng, 3- H\u1ebft h\u00e0ng"]};dmvtSchema.index({ten_vt:"text",mieu_ta:"text",ma_vt:"text",ma_vt2:"text",ma_can:"text",ma_thuong_hieu:"text",ma_xuat_xu:"text",ma_nvt:"text",ten_nvt:"text",ma_ncc:"text",ten_ncc:"text",labels:"text",ten_vt_eng:"text"},{name:"product_index"});dmvtSchema.index({id_app:1,ma_vt:1},{unique:!0});dmvtSchema.index({ma_vt2:1});dmvtSchema.index({ma_can:1});dmvtSchema.index({ten_vt:1});dmvtSchema.index({ten_vt_eng:1});
|
|
10
|
+
dmvtSchema.index({ma_dvt:1});dmvtSchema.index({ma_lvt:1});dmvtSchema.index({ma_nvt:1});dmvtSchema.index({ma_danh_muc:1});dmvtSchema.index({ma_danh_muc_cty:1});dmvtSchema.index({ten_nvt:1});dmvtSchema.index({ma_ncc:1});dmvtSchema.index({ten_ncc:1});dmvtSchema.index({ma_kho_df:1});dmvtSchema.index({tg_tk:1});dmvtSchema.index({ma_thuong_hieu:1});dmvtSchema.index({ma_xuat_xu:1});dmvtSchema.index({labels:1});dmvtSchema.index({mieu_ta:1});dmvtSchema.index({id_app:1});dmvtSchema.index({is_service:1});dmvtSchema.index({is_digital:1});
|
|
11
|
+
dmvtSchema.index({date_updated:-1});dmvtSchema.index({date_created:-1});dmvtSchema.index({user_created:1});dmvtSchema.index({ton_kho_online_hien_tai:1});dmvtSchema.index({ten_vt_kd:1});dmvtSchema.index({status:1});dmvtSchema.index({user_created:1,visible_to:1,visible_to_users:1});dmvtSchema.pre("save",function($next$$){const $self$$=this;$self$$.ten_vt?setImmediate(()=>{const $ten_vt_kd$$=unidecode($self$$.ten_vt);$self$$.ten_vt_kd=`${$ten_vt_kd$$}`;$next$$()}):$next$$()});
|
|
12
12
|
const model=mongoose.models.dmvt||mongoose.model("dmvt",dmvtSchema);model.on("index",async function($err$$){$err$$?(console.error("Product index error",$err$$),(await model.aggregate([{$group:{_id:{id_app:"$id_app",ma_vt:"$ma_vt"},count:{$sum:1},ids:{$push:"$_id"}}},{$match:{count:{$gt:1}}}])).forEach($d$$=>{console.info("product duplication",$d$$._id,$d$$.ids);$d$$.ids.forEach(($id$$,$index$$)=>{0<$index$$&&console.info("you should delete product",$id$$)})})):console.info("Product indexing complete")});
|
|
13
13
|
model.referenceKeys={ma_vt:[{model:"sokho",key:"ma_vt",error:"V\u1eadt t\u01b0 ${obj.ten_vt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong s\u1ed5 kho"},{model:"cdvt",key:"ma_vt",error:"V\u1eadt t\u01b0 ${obj.ten_vt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong c\u00e2n \u0111\u1ed1i v\u1eadt t\u01b0"}]};module.exports=model;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';const ecomcategoriesScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},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:""}});ecomcategoriesScheam.index({id_app:1});ecomcategoriesScheam.index({status:1});
|
|
2
|
-
module.exports=mongoose.models.ecomcategories||mongoose.model("ecomcategories",ecomcategoriesScheam);
|
|
1
|
+
'use strict';const ecomcategoriesScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},status:{type:Boolean,default:!0},ma_danh_muc:String,ten_danh_muc:String,ma_nganh_hang:String,danh_muc_me:String,sysorder:String,bac:{type:Number},loai_nh:{type:Number,default:1},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});ecomcategoriesScheam.index({id_app:1});ecomcategoriesScheam.index({status:1});
|
|
2
|
+
ecomcategoriesScheam.index({ma_danh_muc:1});ecomcategoriesScheam.index({ten_danh_muc:1});ecomcategoriesScheam.index({ma_nganh_hang:1});ecomcategoriesScheam.index({danh_muc_me:1});ecomcategoriesScheam.index({sysorder:1});ecomcategoriesScheam.index({bac:1});ecomcategoriesScheam.index({loai_nh:1});ecomcategoriesScheam.index({user_created:1,visible_to:1,visible_to_users:1});module.exports=mongoose.models.ecomcategories||mongoose.model("ecomcategories",ecomcategoriesScheam);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use strict';const ecomcategoriesScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},status:{type:Boolean,default:!0},ma_danh_muc:String,ten_danh_muc:String,ma_nganh_hang:String,sysorder:String,danh_muc_me:String,bac:{type:Number},loai_nh:{type:Number,default:1},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});ecomcategoriesScheam.index({id_app:1});ecomcategoriesScheam.index({status:1});
|
|
2
|
+
ecomcategoriesScheam.index({ma_danh_muc:1});ecomcategoriesScheam.index({ten_danh_muc:1});ecomcategoriesScheam.index({ma_nganh_hang:1});ecomcategoriesScheam.index({danh_muc_me:1});ecomcategoriesScheam.index({sysorder:1});ecomcategoriesScheam.index({bac:1});ecomcategoriesScheam.index({loai_nh:1});ecomcategoriesScheam.index({id_app:1,ma_danh_muc:1},{unique:!0});ecomcategoriesScheam.index({user_created:1,visible_to:1,visible_to_users:1});
|
|
3
|
+
module.exports=mongoose.models.ecomcategories_cty||mongoose.model("ecomcategories_cty",ecomcategoriesScheam);
|
package/server/models/group.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict';const groupSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},group_type:{type:String,uppercase:!0,required:!0,maxlength:1024},group_name:{type:String,required:!0,maxlength:1024},group_name_en:{type:String,maxlength:1024},group_mother:String,ma_kho:{type:String,maxlength:32},ma_bp:{type:String,maxlength:32},ma_dt:{type:String,maxlength:32},color:{type:String,maxlength:32},muc_tieu_bieu:{type:Number,default:0},ma_doi_tuong_danh_gia_default:{type:String},
|
|
2
|
-
collection_link:String,phu_trach:String,attends:[],dac_thu:Schema.Types.Mixed,exfields:Schema.Types.Mixed,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:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],update_right:[String],delete_right:[String],
|
|
3
|
-
groupSchema.index({id_app:1,group_type:1,ma_dt:1,ma_bp:1});groupSchema.index({group_type:1});groupSchema.index({
|
|
4
|
-
groupSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.group||mongoose.model("group",groupSchema);model.referenceKeys={_id:[{model:"task",key:"nh_cv",error:"Nh\u00f3m n\u00e0y \u0111\u00e3 c\u00f3 ph\u00e1t sinh chi ti\u1ebft. B\u1ea1n c\u1ea7n xo\u00e1 t\u1ea5t c\u1ea3 chi ti\u1ebft tr\u01b0\u1edbc khi xo\u00e1 nh\u00f3m n\u00e0y"}]};
|
|
1
|
+
'use strict';const groupSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},group_kind:{type:Number,default:1},group_type:{type:String,uppercase:!0,required:!0,maxlength:1024},group_name:{type:String,required:!0,maxlength:1024},group_name_en:{type:String,maxlength:1024},group_mother:String,ma_kho:{type:String,maxlength:32},ma_bp:{type:String,maxlength:32},ma_dt:{type:String,maxlength:32},color:{type:String,maxlength:32},muc_tieu_bieu:{type:Number,default:0},ma_doi_tuong_danh_gia_default:{type:String},
|
|
2
|
+
id_link:String,collection_link:String,phu_trach:String,sysorder:String,bac:{type:Number},loai_nh:{type:Number,default:1},attends:[],dac_thu:Schema.Types.Mixed,exfields:Schema.Types.Mixed,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:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],update_right:[String],delete_right:[String],
|
|
3
|
+
dataview_to:{type:Number,default:0},dataview_to_users:[String]});groupSchema.index({id_app:1,group_type:1,ma_dt:1,ma_bp:1});groupSchema.index({group_type:1});groupSchema.index({group_kind:1});groupSchema.index({group_mother:1});groupSchema.index({group_name:1});groupSchema.index({ma_kho:1});groupSchema.index({ma_dt:1});groupSchema.index({ma_bp:1});groupSchema.index({sysorder:1});groupSchema.index({bac:1});groupSchema.index({loai_nh:1});groupSchema.index({phu_trach:1});groupSchema.index({id_link:1});
|
|
4
|
+
groupSchema.index({status:1});groupSchema.index({attends:1});groupSchema.index({group_name:"text",group_type:"text"},{name:"group_index_text"});groupSchema.index({status:1});groupSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.group||mongoose.model("group",groupSchema);model.referenceKeys={_id:[{model:"task",key:"nh_cv",error:"Nh\u00f3m n\u00e0y \u0111\u00e3 c\u00f3 ph\u00e1t sinh chi ti\u1ebft. B\u1ea1n c\u1ea7n xo\u00e1 t\u1ea5t c\u1ea3 chi ti\u1ebft tr\u01b0\u1edbc khi xo\u00e1 nh\u00f3m n\u00e0y"}]};
|
|
5
5
|
model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().exec(($e$$,$rs$$)=>{if($e$$||!$rs$$)return $reject$$(Error($e$$?$e$$.message:"Can't find information"));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)})})};module.exports=model;
|