flexbiz-server 12.5.33 → 12.5.35

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.
@@ -1,8 +1,8 @@
1
- const sanphamSchema=new Schema({ma_vt:{type:String,uppercase:!0,default:"",maxlength:1024,trim:!0},ten_vt:String,ma_nvt:{type:String,default:"",maxlength:1024,trim:!0},ma_nvt2:{type:String,default:"",maxlength:1024,trim:!0},ma_nvt3:{type:String,default:"",maxlength:1024,trim:!0},ma_nvt4:{type:String,default:"",maxlength:1024,trim:!0},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},t_sl_ntt_tu:{type:Number,
2
- default:0},t_sl_ntt_den:{type:Number,default:0},t_sl_tu:{type:Number,default:0},t_sl_den:{type:Number,default:0},gia_nhap:{type:Number,default:0},ty_suat_ln:{type:Number,default:0},loi_nhuan:{type:Number,default:0},gia_ban_le:{type:Number,default:0},gia_ban_buon:{type:Number,default:0},gia_ban_chua_thue:{type:Boolean,default:!1},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}}),banggiabanSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt_uu_tien:Number,ma_ct:{type:String,
3
- default:"BGB"},so_ct:{type:String,default:"BGB"},ngay_ct:{type:Date,default:Date.now},trang_thai:{type:String,default:"5"},ma_nt:String,mieu_ta:{type:String,default:"",maxlength:1024},ma_kh:{type:String,default:"",maxlength:32,trim:!0},ten_kh:String,nh_kh:{type:String,maxlength:1024,trim:!0},ten_nh_kh:String,nh_kh2:{type:String,maxlength:1024,trim:!0},ten_nh_kh2:String,nh_kh3:{type:String,maxlength:1024,trim:!0},ten_nh_kh3:String,nh_kh4:{type:String,maxlength:1024,trim:!0},ten_nh_kh4:String,nh_kh5:{type:String,
4
- maxlength:1024,trim:!0},ten_nh_kh5:String,ma_kho:{type:String,default:"",maxlength:32,trim:!0},ten_kho:String,ma_ban:{type:String,default:"",maxlength:32,trim:!0},ten_ban:String,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},offline:{type:Boolean},details:[sanphamSchema],exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,
5
- default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}},{toJSON:{virtuals:!0}});
1
+ const sanphamSchema=new Schema({ma_vt:{type:String,uppercase:!0,default:"",maxlength:1024,trim:!0},ten_vt:String,ma_nvt:{type:String,default:"",maxlength:1024,trim:!0},ma_nvt2:{type:String,default:"",maxlength:1024,trim:!0},ma_nvt3:{type:String,default:"",maxlength:1024,trim:!0},ma_nvt4:{type:String,default:"",maxlength:1024,trim:!0},nh_kh:{type:String,default:"",maxlength:1024,trim:!0},nh_kh2:{type:String,default:"",maxlength:1024,trim:!0},nh_kh3:{type:String,default:"",maxlength:1024,trim:!0},nh_kh4:{type:String,
2
+ default:"",maxlength:1024,trim:!0},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},t_sl_ntt_tu:{type:Number,default:0},t_sl_ntt_den:{type:Number,default:0},t_sl_tu:{type:Number,default:0},t_sl_den:{type:Number,default:0},gia_nhap:{type:Number,default:0},ty_suat_ln:{type:Number,default:0},loi_nhuan:{type:Number,default:0},gia_ban_le:{type:Number,default:0},gia_ban_buon:{type:Number,default:0},gia_ban_chua_thue:{type:Boolean,
3
+ default:!1},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}}),banggiabanSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt_uu_tien:Number,ma_ct:{type:String,default:"BGB"},so_ct:{type:String,default:"BGB"},ngay_ct:{type:Date,default:Date.now},trang_thai:{type:String,default:"5"},ma_nt:String,mieu_ta:{type:String,default:"",maxlength:1024},ma_kh:{type:String,default:"",maxlength:32,trim:!0},ten_kh:String,nh_kh:{type:String,maxlength:1024,trim:!0},ten_nh_kh:String,
4
+ nh_kh2:{type:String,maxlength:1024,trim:!0},ten_nh_kh2:String,nh_kh3:{type:String,maxlength:1024,trim:!0},ten_nh_kh3:String,nh_kh4:{type:String,maxlength:1024,trim:!0},ten_nh_kh4:String,nh_kh5:{type:String,maxlength:1024,trim:!0},ten_nh_kh5:String,ma_kho:{type:String,default:"",maxlength:32,trim:!0},ten_kho:String,ma_ban:{type:String,default:"",maxlength:32,trim:!0},ten_ban:String,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},
5
+ ap_dung_lan_mua_den_thu:{type:Number},online:{type:Boolean},offline:{type:Boolean},details:[sanphamSchema],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:""}},{toJSON:{virtuals:!0}});
6
6
  (global.configs||{}).createIndexes&&(banggiabanSchema.index({id_app:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1}),banggiabanSchema.index({ma_ct:1}),banggiabanSchema.index({ngay_ct:1}),banggiabanSchema.index({so_ct:1}),banggiabanSchema.index({trang_thai:1}),banggiabanSchema.index({"details.ma_vt":1}),banggiabanSchema.index({"details.ma_tt1":1}),banggiabanSchema.index({"details.ma_tt2":1}),banggiabanSchema.index({"details.ma_tt3":1}),banggiabanSchema.index({"details.ma_nvt":1}),banggiabanSchema.index({"details.sl_tu":1}),
7
7
  banggiabanSchema.index({"details.sl_den":1}),banggiabanSchema.index({nh_kh:1}),banggiabanSchema.index({nh_kh2:1}),banggiabanSchema.index({nh_kh3:1}),banggiabanSchema.index({nh_kh4:1}),banggiabanSchema.index({nh_kh5:1}),banggiabanSchema.index({ma_kho:1}),banggiabanSchema.index({ma_ban:1}),banggiabanSchema.index({ma_kh:1}),banggiabanSchema.index({ap_dung_lan_mua_thu:1}),banggiabanSchema.index({ap_dung_lan_mua_tu_thu:1}),banggiabanSchema.index({ap_dung_lan_mua_den_thu:1}),banggiabanSchema.index({t_sl_tu:1}),
8
8
  banggiabanSchema.index({t_sl_den:1}),banggiabanSchema.index({date_updated:-1}),banggiabanSchema.index({date_created:-1}),banggiabanSchema.index({user_created:1}),banggiabanSchema.index({status:1}),banggiabanSchema.index({online:1}),banggiabanSchema.index({offline:1}),banggiabanSchema.index({mieu_ta:"text",ma_kh:"text",ten_kh:"text",ma_kho:"text",ten_kho:"text"},{name:"banggiaban_index_text"}));const model=mongoose.models.banggiaban||mongoose.model("banggiaban",banggiabanSchema);module.exports=model;
@@ -2,8 +2,8 @@ const validVt=require("../libs/validator-vt"),validator=require("../libs/validat
2
2
  default:0},tt_nt:{type:Number,default:0},promotion:Schema.Types.Mixed,dien_giai:{type:String,maxlength:1024},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},
3
3
  ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},picture:String,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={ma_vt:validVt.existsVt,ma_dvt:validator.existsDvt};
4
4
  const bg1Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,maxlength:1024},ma_ct:{type:String,default:"BG1",required:!0,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},ong_ba:{type:String,maxlength:32},so_ct:{type:String,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,
5
- min:0,default:1},trang_thai:{type:String,default:"1",maxlength:32,trim:!0},ma_kh:{type:String,uppercase:!0,maxlength:32,trim:!0},ten_kh:String,ma_kho:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,maxlength:32,trim:!0},ten_nv:String,id_bao_gia_mua:{type:String,maxlength:1024},ma_thue:{type:String,uppercase:!0,maxlength:32,trim:!0},thue_suat:{type:Number,default:0},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},ty_le_ck_hd:{type:Number,default:0},
6
- tien_ck_hd:{type:Number,default:0},dien_giai:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},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});
7
- bg1Schema.validate={ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh};
5
+ min:0,default:1},trang_thai:{type:String,default:"1",maxlength:32,trim:!0},ma_kh:{type:String,uppercase:!0,maxlength:32,trim:!0},ten_kh:String,dien_thoai:String,dia_chi:String,email:String,ma_kho:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,maxlength:32,trim:!0},ten_nv:String,id_bao_gia_mua:{type:String,maxlength:1024},ma_thue:{type:String,uppercase:!0,maxlength:32,trim:!0},thue_suat:{type:Number,default:0},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},
6
+ ty_le_ck_hd:{type:Number,default:0},tien_ck_hd:{type:Number,default:0},dien_giai:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},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],
7
+ details:{type:[detailSchema]},promotion:Schema.Types.Mixed});bg1Schema.validate={ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh};
8
8
  (global.configs||{}).createIndexes&&(bg1Schema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),bg1Schema.index({dien_giai:"text",so_ct:"text",ma_kh:"text",ten_kh:"text",ma_nv:"text",ten_nv:"text"},{name:"bg1_index"}),bg1Schema.index({ma_ct:1}),bg1Schema.index({ma_kh:1}),bg1Schema.index({user_created:1,date_created:-1}),bg1Schema.index({date_updated:-1}),bg1Schema.index({trang_thai:1}),bg1Schema.index({status:1}),bg1Schema.index({user_created:1,visible_to:1,visible_to_users:1}));
9
9
  module.exports=mongoose.models.bg1||mongoose.model("bg1",bg1Schema);
@@ -3,8 +3,8 @@ default:0},tien_ck_nt:{type:Number,default:0},gia_ban_muc_tieu:{type:Number,defa
3
3
  default:0},tien_thue_nk_nt:{type:Number,default:0},tt:{type:Number,default:0},tt_nt:{type:Number,default:0},dien_giai:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,
4
4
  default:"",maxlength:32,trim:!0},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},picture:String,duoc_chon:Boolean,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_dvt:validator.existsDvt};
5
5
  const bg2Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"BG2",required:!0,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},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,
6
- min:0,default:1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_kh:String,ma_kho:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_nv:String,ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_thue:{type:String,uppercase:!0,maxlength:32,trim:!0},thue_suat:{type:Number,default:0},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,
7
- default:0},ong_ba:{type:String,maxlength:1024},dien_giai:{type:String,maxlength:1024},id_dnm:{type:String,maxlength:1024,trim:!0},id_po1:{type:String,maxlength:1024,trim:!0},exfields:Schema.Types.Mixed,trang_thai:{type:String,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],
8
- delete_right:[String],details:{type:[detailSchema]}});bg2Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh};
6
+ min:0,default:1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_kh:String,dien_thoai:String,dia_chi:String,email:String,ma_kho:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_nv:String,ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_thue:{type:String,uppercase:!0,maxlength:32,trim:!0},thue_suat:{type:Number,default:0},
7
+ t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},ong_ba:{type:String,maxlength:1024},dien_giai:{type:String,maxlength:1024},id_dnm:{type:String,maxlength:1024,trim:!0},id_po1:{type:String,maxlength:1024,trim:!0},exfields:Schema.Types.Mixed,trang_thai:{type:String,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,
8
+ default:0},visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]}});bg2Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh};
9
9
  (global.configs||{}).createIndexes&&(bg2Schema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),bg2Schema.index({dien_giai:"text",so_ct:"text",ma_kh:"text",ten_kh:"text",ma_nv:"text",ten_nv:"text"},{name:"bg2_index"}),bg2Schema.index({ma_ct:1}),bg2Schema.index({ma_kh:1}),bg2Schema.index({id_dnm:1}),bg2Schema.index({id_po1:1}),bg2Schema.index({user_created:1,date_created:-1}),bg2Schema.index({date_updated:-1}),bg2Schema.index({trang_thai:1}),bg2Schema.index({status:1}),bg2Schema.index({user_created:1,
10
10
  visible_to:1,visible_to_users:1}));module.exports=mongoose.models.bg2||mongoose.model("bg2",bg2Schema);
@@ -1,2 +1,2 @@
1
- const ckgtluongSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_giam_tru:{type:String,required:!0},ten_giam_tru:{type:String,required:!0,maxlength:1024},ty_le_cty:{type:Number,default:0},ty_le_nv:{type:Number,default:0},tk:String,kieu_trich:{type:String,default:"#"},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:""}});
2
- (global.configs||{}).createIndexes&&(ckgtluongSchema.index({id_app:1,ten_giam_tru:1}),ckgtluongSchema.index({ma_giam_tru:1}),ckgtluongSchema.index({ten_giam_tru:"text"}),ckgtluongSchema.index({status:1}),ckgtluongSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.ckgtluong||mongoose.model("ckgtluong",ckgtluongSchema);module.exports=model;
1
+ const ckgtluongSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_giam_tru:{type:String,required:!0},ten_giam_tru:{type:String,required:!0,maxlength:1024},ty_le_cty:{type:Number,default:0},ty_le_nv:{type:Number,default:0},ma_nv:[String],ma_bp:[String],nv:{type:Number,default:0},cty:{type:Number,default:0},tk:String,kieu_trich:{type:String,default:"#"},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,
2
+ default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(ckgtluongSchema.index({id_app:1,ten_giam_tru:1}),ckgtluongSchema.index({ma_giam_tru:1}),ckgtluongSchema.index({ten_giam_tru:"text"}),ckgtluongSchema.index({status:1}),ckgtluongSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.ckgtluong||mongoose.model("ckgtluong",ckgtluongSchema);module.exports=model;
@@ -1,15 +1,15 @@
1
1
  const moment=require("moment"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},px_gia_dd:{type:Boolean,default:!1},ton_kho:{type:Number,default:0},sl_order:{type:Number,default:0},sl_xuat:{type:Number,default:0},sl_gui_bep:{type:Number,default:0},sl_gui_bartender:{type:Number,default:0},sl_ht:{type:Number,default:0},gia_von:{type:Number,
2
2
  default:0},gia_von_nt:{type:Number,default:0},tien_xuat:{type:Number,default:0},tien_xuat_nt:{type:Number,default:0},gia_ban:{type:Number,default:0},gia_ban_nt:{type:Number,default:0},tien_hang:{type:Number,default:0},tien_hang_nt:{type:Number,default:0},gia_ban_chua_thue:Boolean,id_cs_ck:String,ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},gia_ban_ct_nt:{type:Number},gia_ban_ct:{type:Number},
3
3
  tien_hang_ct:{type:Number,default:0},tien_hang_ct_nt:{type:Number,default:0},tien_thue_nt:{type:Number},tien_thue:{type:Number},thue_suat:{type:Number},tk_thue_co:String,tk_thue_co_treo:String,cs_discount:Schema.Types.Mixed,cs_tien_ck:{type:Number,default:0},cs_ty_le_ck:{type:Number,default:0},cs_sl_ap_dung:{type:Number,default:0},cs_gt_hd_tu:{type:Number,default:0},cs_gt_hd_den:{type:Number,default:0},ck_sl_tu2:[],tien_evoucher_duoc_pb:{type:Number,default:0},promotion:Schema.Types.Mixed,combo:Schema.Types.Mixed,
4
- sl_ap_dung_km:{type:Number,default:0},km_yn_for:String,id_cs:String,ma_thue:String,ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},ma_tt1:{type:String,
5
- default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},options:[],tien_hang_options:Number,tien_hang_options_ct:Number,tien_thue_options:Number,sign_user:String,sign_data:Schema.Types.Mixed,signature:String,order_time:{type:Date,default:Date.now},finish_time:{type:Date},ghi_chu:{type:String},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0},het_hang:{type:Boolean,
6
- default:!1}});detailSchema.validate={ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
4
+ sl_ap_dung_km:{type:Number,default:0},km_yn_for:String,id_cs:String,ma_thue:String,ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,
5
+ trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},options:[],tien_hang_options:Number,
6
+ tien_hang_options_ct:Number,tien_thue_options:Number,sign_user:String,sign_data:Schema.Types.Mixed,signature:String,order_time:{type:Date,default:Date.now},finish_time:{type:Date},ghi_chu:{type:String},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0},het_hang:{type:Boolean,default:!1}});detailSchema.validate={ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
7
7
  const pblSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PBL",required:!0,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},so_ct:{type:String,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},
8
8
  ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_kh:String,ma_kho:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_kho:String,ma_bp:{type:String,uppercase:!0,maxlength:32,trim:!0},ten_bp:String,ma_ban:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_ban0:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_ca:{type:String,uppercase:!0,maxlength:32,trim:!0},ty_le_ck_hd:{type:Number,default:0},tien_ck_hd:{type:Number,default:0},ong_ba:{type:String,maxlength:1024},sender_email:{type:String,
9
9
  maxlength:128},id_trans:{type:String,maxlength:1024},paymentByPoints:{type:Number,default:0},exchangeRate:Number,tien_paymentByPoints:{type:Number,default:0},evouchers:[global.Schema.Types.Mixed],tien_evoucher:Number,tk_no_evoucher:String,tk_co_evoucher:String,pt_thanh_toan:{type:String},tien_thu:{type:Number,default:0},bank_payment_info:{},pt_thanh_toan2:{type:String},tien_thu2:{type:Number,default:0},bank_payment_info2:{},ghi_chu_tt:String,con_no:{type:Number,default:0},phai_tra:{type:Number,default:0},
10
- dien_giai:{type:String,default:"",maxlength:1024},nguoi_giao_dich:{type:String,maxlength:1024},so_khach:{type:Number,default:1},tu_ngay:{type:Date,default:Date.now},den_ngay:{type:Date,default:Date.now},trang_thai:{type:String,default:"2"},sign_user:String,sign_data:Schema.Types.Mixed,signature:String,gio:Number,ngay:Number,thang:Number,quy:Number,nam:Number,t_sl:Number,t_sl_order:Number,t_tien_hang_ct:Number,t_tien_hang_ct_nt:Number,t_thue_nt:Number,t_thue:Number,t_tien_hang:Number,t_tien_hang_nt:Number,
11
- t_ck:Number,t_ck_nt:Number,t_tien_nt:Number,t_tien:Number,t_tt: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:""},cashier:{type:String,default:""},payment_time:{type:Date},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]},id_client:String,
12
- listinfo_code:String,promotion:Schema.Types.Mixed});pblSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,ma_kho:validVt.existsKho};
10
+ dien_giai:{type:String,default:"",maxlength:1024},nguoi_giao_dich:{type:String,maxlength:1024},so_khach:{type:Number,default:1},tu_ngay:{type:Date,default:Date.now},den_ngay:{type:Date,default:Date.now},trang_thai:{type:String,default:"2"},ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,
11
+ trim:!0,maxlength:32},ngay_hd:{type:Date},sign_user:String,sign_data:Schema.Types.Mixed,signature:String,gio:Number,ngay:Number,thang:Number,quy:Number,nam:Number,t_sl:Number,t_sl_order:Number,t_tien_hang_ct:Number,t_tien_hang_ct_nt:Number,t_thue_nt:Number,t_thue:Number,t_tien_hang:Number,t_tien_hang_nt:Number,t_ck:Number,t_ck_nt:Number,t_tien_nt:Number,t_tien:Number,t_tt:Number,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
12
+ default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},cashier:{type:String,default:""},payment_time:{type:Date},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]},id_client:String,listinfo_code:String,promotion:Schema.Types.Mixed});pblSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,ma_kho:validVt.existsKho};
13
13
  (global.configs||{}).createIndexes&&(pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,so_ct:-1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kho:1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kh:1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_bp:1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,"details.ma_vt":1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_ban:1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1}),pblSchema.index({id_app:1,
14
14
  ma_ct:1,ngay_ct:-1,ma_ca:1}),pblSchema.index({id_app:1,ma_ct:1,user_created:1,date_created:-1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1,so_ct:1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1,ma_kh:1}),pblSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,
15
15
  visible_to:1,visible_to_users:1,ma_kho:1}),pblSchema.index({id_app:1,so_ct:"text",ma_kh:"text",ten_kh:"text",dien_giai:"text",ma_kho:"text",ten_kho:"text"},{name:"pbl_index_text"}));pblSchema.pre("save",function($next$$){let $ngay_ct$$=moment(this.ngay_ct);this.gio=$ngay_ct$$.get("hours");this.ngay=$ngay_ct$$.get("dates");this.quy=$ngay_ct$$.get("quarters");this.thang=$ngay_ct$$.get("months")+1;this.nam=$ngay_ct$$.get("year");$next$$()});const model=mongoose.models.pbl||mongoose.model("pbl",pblSchema);
@@ -1,8 +1,8 @@
1
1
  const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pknhapSchema=new Schema({ma_pk_nhap:String,ma_dvt_pk_nhap:String,ma_kho_pk_nhap:String,sl_pk_nhap:Number,gia_von_pk_nhap_nt:{type:Number,default:0},tien_nhap_pk_nt:{type:Number,default:0},xuat_kho_kh:Boolean}),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,
2
2
  default:0},nhap_kho_kh:Boolean}),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ten_vt:String,ma_dvt:{type:String,required:!0,maxlength:32},ma_kho:{type:String,uppercase:!0,maxlength:32},tk_vt:{type:String,required:!0,uppercase:!0,maxlength:32},tk_co:{type:String,uppercase:!0,maxlength:32},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_da_nhap:{type:Number,default:0},sl_nhap:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,
3
- default:0},tien_hang:{type:Number,default:0},tien_hang_nt:{type:Number,default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tien_phi:{type:Number,default:0},tien_phi_nt:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},tien_tinh_thue_nt:Number,ma_thue:String,thue_suat:{type:Number,default:0},tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},tien_thue_nt_dc:{type:Number,default:0},
4
- ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},dien_giai:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},ma_phi:{type:String,uppercase:!0,default:"",
5
- 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_sp:{type:String,uppercase:!0,maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,
3
+ default:0},tien_hang:{type:Number,default:0},tien_hang_nt:{type:Number,default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tien_phi:{type:Number,default:0},tien_phi_nt:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},tien_tinh_thue_nt:Number,ma_thue:String,thue_suat:{type:Number,default:0},tk_thue_no:String,tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},tien_thue_nt_dc:{type:Number,
4
+ default:0},ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},dien_giai:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},ma_phi:{type:String,uppercase:!0,
5
+ 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_sp:{type:String,uppercase:!0,maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,
6
6
  default:"",uppercase:!0,maxlength:32},ma_vt_du:String,sl_vt_du:Number,ma_dvt_vt_du:String,don_gia_vt_du:Number,tk_dt_vt_du:String,dien_giai_vt_du:String,gt_vt_du:Number,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
7
7
  const vatvaoSchema=new Schema({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},ma_tc:{type:String,default:"1",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date,required:!0},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,required:!0,
8
8
  uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,required:!0,maxlength:32},tk_du_thue:{type:String,required:!0,maxlength:32},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},t_hd:{type:Number,default:0},t_hd_nt:{type:Number,default:0},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_kh_cn:{type:String,default:"",maxlength:32},ten_kh:{type:String,default:"",maxlength:1024},dia_chi:{type:String,default:"",maxlength:1024},ma_so_thue:{type:String,
@@ -10,8 +10,9 @@ default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},dien_g
10
10
  const ctcpmhSchema=new Schema({ma_cp:{type:String,uppercase:!0,required:!0},tien_cp_nt:{type:Number,default:0},tien_cp:{type:Number,default:0},kieu_pb:{type:String,default:"0"},line:{type:Number,default:0}}),pn1Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PN1",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},
11
11
  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},ma_kh:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ten_kh:String,ma_kho:{type:String,uppercase:!0,required:!0,default:""},ten_kho:String,tk_co:{type:String,uppercase:!0,required:!0,default:""},ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},
12
12
  han_tt:{type:Number,default:0},hinh_thuc_tt:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},id_contract:{type:String,maxlength:1024},id_po1:{type:String,maxlength:1024},id_dnm:{type:String,maxlength:1024},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_bp:{type:String,uppercase:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,maxlength:32},
13
- ma_lo:{type:String,uppercase:!0,maxlength:32},id_link:String,ma_ct_link:String,so_ct_link:String,ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
14
- 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]},vatvaos:[vatvaoSchema],ctcpmhs:[ctcpmhSchema],ds_pk_nhap:[pknhapSchema],ds_pk_xuat:[pkxuatSchema]});pn1Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,ma_kho:validVt.existsKho,tk_co:validAccount.existsTk};
13
+ ma_lo:{type:String,uppercase:!0,maxlength:32},id_link:String,ma_ct_link:String,so_ct_link:String,ma_thue:{type:String,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:String,ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},
14
+ 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]},vatvaos:[vatvaoSchema],ctcpmhs:[ctcpmhSchema],ds_pk_nhap:[pknhapSchema],ds_pk_xuat:[pkxuatSchema]});
15
+ pn1Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,ma_kho:validVt.existsKho,tk_co:validAccount.existsTk};
15
16
  (global.configs||{}).createIndexes&&(pn1Schema.index({id_app:1,ma_ct:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),pn1Schema.index({id_app:1,ngay_ct:-1,ma_ct:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kh:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kho:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,"details.ma_vt":1}),pn1Schema.index({id_app:1,id_po1:1}),pn1Schema.index({id_app:1,id_contract:1}),pn1Schema.index({id_po1:1}),pn1Schema.index({id_contract:1}),pn1Schema.index({id_app:1,ma_ct:1,date_updated:-1}),
16
17
  pn1Schema.index({id_app:1,ma_ct:1,status:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1,so_ct:-1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,
17
18
  trang_thai:1,ma_kh:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1,ma_kho:1}),pn1Schema.index({dien_giai:"text",so_ct:"text",ma_kho:"text",ten_kho:"text",ma_kh:"text",ten_kh:"text"},{name:"pn1_index_text"}));const model=mongoose.models.pn1||mongoose.model("pn1",pn1Schema);if((global.configs||{}).createIndexes)model.on("index",async function($err$$){$err$$?console.error("pn1 index error",$err$$):console.info("pn1 indexing complete")});
@@ -1,12 +1,12 @@
1
- const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),detailSchema=new Schema({tk_no:{type:String,required:!0,uppercase:!0,maxlength:32},tien:{type:Number,default:0},tien_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},tien_thue_nt_dc:{type:Number,default:0},ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,
2
- maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},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,
3
- uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,uppercase:!0,default:"",maxlength:32},ma_sp:{type:String,uppercase:!0,maxlength:32},dien_giai:{type:String,maxlength:2048},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_no:validAccount.existsTk};
1
+ const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),detailSchema=new Schema({tk_no:{type:String,required:!0,uppercase:!0,maxlength:32},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},ma_thue:String,thue_suat:{type:Number,default:0},tk_thue_no:String,tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},tien_thue_nt_dc:{type:Number,default:0},ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,
2
+ uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},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},
3
+ ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,uppercase:!0,default:"",maxlength:32},ma_sp:{type:String,uppercase:!0,maxlength:32},dien_giai:{type:String,maxlength:2048},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_no:validAccount.existsTk};
4
4
  const vatvaoSchema=new Schema({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},ma_tc:{type:String,default:"1",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date,required:!0},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,required:!0,
5
5
  uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,required:!0,maxlength:32},tk_du_thue:{type:String,required:!0,maxlength:32},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},t_hd:{type:Number,default:0},t_hd_nt:{type:Number,default:0},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_kh_cn:{type:String,default:"",maxlength:32},ten_kh_cn:{type:String,default:"",maxlength:1024},ten_kh:{type:String,default:"",maxlength:1024},dia_chi:{type:String,
6
6
  default:"",maxlength:1024},ma_so_thue:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},line:{type:Number,default:0},exfields_detail:Schema.Types.Mixed,dien_giai:{type:String,default:"",maxlength:1024}});vatvaoSchema.validate={tk_thue_no:validAccount.existsTk,tk_du_thue:validAccount.existsTk,ma_kh:validator.existsKh,ma_thue:validator.existsVat};
7
7
  const pn2Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PN2",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},
8
8
  ma_kh:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ten_kh:String,tk_co:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ong_ba:{type:String,default:"",maxlength:1024},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,maxlength:32},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},
9
- ma_kho:String,ten_kho:String,id_link:String,ma_ct_link:String,so_ct_link:String,ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},
10
- 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]},vatvaos:[vatvaoSchema]});pn2Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,tk_co:validAccount.existsTk};
11
- (global.configs||{}).createIndexes&&(pn2Schema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),pn2Schema.index({dien_giai:"text",so_ct:"text",ma_kh:"text",ten_kh:"text"},{name:"pn2_index_text"}),pn2Schema.index({ma_ct:1}),pn2Schema.index({ma_kh:1}),pn2Schema.index({user_created:1,date_created:-1}),pn2Schema.index({date_updated:-1}),pn2Schema.index({status:1}),pn2Schema.index({user_created:1,visible_to:1,visible_to_users:1}),pn2Schema.index({trang_thai:1}));
9
+ ma_kho:String,ten_kho:String,id_link:String,ma_ct_link:String,so_ct_link:String,ma_thue:{type:String,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:String,ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},status:{type:Boolean,
10
+ 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]},vatvaos:[vatvaoSchema]});pn2Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,tk_co:validAccount.existsTk};
11
+ (global.configs||{}).createIndexes&&(pn2Schema.index({id_app:1,ma_ct:1,so_ct:-1,ngay_ct:-1}),pn2Schema.index({id_app:1,ma_ct:1,dien_giai:"text",so_ct:"text",ma_kh:"text",ten_kh:"text"},{name:"pn2_index_text"}),pn2Schema.index({id_app:1,ma_ct:1}),pn2Schema.index({id_app:1,ma_ct:1,ma_kh:1}),pn2Schema.index({id_app:1,ma_ct:1,user_created:1,date_created:-1,trang_thai:1,visible_to:1,visible_to_users:1}),pn2Schema.index({id_app:1,ma_ct:1,status:1}),pn2Schema.index({id_app:1,ma_ct:1,trang_thai:1}));
12
12
  module.exports=mongoose.models.pn2||mongoose.model("pn2",pn2Schema);
@@ -1,7 +1,7 @@
1
- const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean}),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},ma_kho_x:{type:String,
2
- uppercase:!0,maxlength:32,trim:!0},ma_kho_n:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_vt:{type:String,required:!0,uppercase:!0,trim:!0},tk_du:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ton_kho:{type:Number,default:0},sl_da_xuat:{type:Number,default:0},sl_da_nhap:{type:Number,default:0},sl_xuat_pxc:{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,
3
- default:0},px_gia_dd:{type:Boolean,default:!1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},
4
- han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},exfields_detail:Schema.Types.Mixed,combo:Schema.Types.Mixed,line:{type:Number,default:0}});
1
+ const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,ma_kho_pk_nhap:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean}),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,
2
+ trim:!0},ma_kho_x:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_kho_n:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_vt:{type:String,required:!0,uppercase:!0,trim:!0},tk_du:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ton_kho:{type:Number,default:0},sl_da_xuat:{type:Number,default:0},sl_da_nhap:{type:Number,default:0},sl_xuat_pxc:{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,
3
+ default:0},tien_xuat_nt:{type:Number,default:0},px_gia_dd:{type:Boolean,default:!1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_lo:{type:String,default:"",
4
+ uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},exfields_detail:Schema.Types.Mixed,combo:Schema.Types.Mixed,line:{type:Number,default:0}});
5
5
  detailSchema.validate={tk_vt:validAccount.existsTk,tk_du:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho_x:validVt.existsKho,ma_kho_n:validVt.existsKho,ma_dvt:validator.existsDvt};
6
6
  const pncSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_px:{type:String,maxlength:1024},t_sl_da_xuat:Number,t_sl_da_nhap:Number,ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PNC",required:!0,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},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",
7
7
  trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},ma_kho_x:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_x:String,ma_kho_n:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_n:String,exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
@@ -1,7 +1,8 @@
1
- const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean}),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},ma_kho_x:{type:String,
2
- uppercase:!0,maxlength:32,trim:!0},ma_kho_n:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_vt:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},tk_du:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ton_kho:{type:Number,default:0},sl_da_xuat:{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},px_gia_dd:{type:Boolean,default:!1},ma_kh:{type:String,
3
- uppercase:!0,default:"",maxlength:32,trim:!0},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32,
4
- trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},exfields_detail:Schema.Types.Mixed,combo:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,tk_du:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho_x:validVt.existsKho,ma_kho_n:validVt.existsKho,ma_dvt:validator.existsDvt};
1
+ const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,ma_kho_pk_nhap:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean}),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,
2
+ trim:!0},ma_kho_x:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_kho_n:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_vt:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},tk_du:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ton_kho:{type:Number,default:0},sl_da_xuat:{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},px_gia_dd:{type:Boolean,
3
+ default:!1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},ma_vt2:{type:String,
4
+ default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},exfields_detail:Schema.Types.Mixed,combo:Schema.Types.Mixed,line:{type:Number,default:0}});
5
+ detailSchema.validate={tk_vt:validAccount.existsTk,tk_du:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho_x:validVt.existsKho,ma_kho_n:validVt.existsKho,ma_dvt:validator.existsDvt};
5
6
  const pxcSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_dn:{type:String,maxlength:1024},id_pnc:String,t_sl_da_xuat:Number,ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PXC",required:!0,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},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",
6
7
  trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},ma_kho_x:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_x:String,ma_kho_n:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_n:String,exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
7
8
  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]},ds_pk_xuat:[pkxuatSchema]});pxcSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook};pxcSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1,ma_kho_n:1,ma_kho_x:1});
@@ -11,25 +11,26 @@ $luong_bhxh$$=0):($nv$$.thu_viec=!1,($csphucap_luong_thu_viec_phu_cap_phu_cap_mi
11
11
  ($nv$$.luong_binh_quan_ngay=Math.roundBy($giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$/$so_ngay_lam_mot_thang$$),$nv$$.tong_ngay_cong_tinh_luong=$nv$$.ngay_cong+$nv$$.ngay_phep,$nv$$.tong_ngay_khong_luong=$nv$$.ngay_khong_phep+$nv$$.ngay_khong_luong,$nv$$.tinh_luong_theo_ngay?($nv$$.tru_luong=0,$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=$nv$$.ngay_tang_ca,$nv$$.tong_ngay_tang_ca=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$,$nv$$.luong_tang_ca=Math.roundBy($nv$$.luong_binh_quan_ngay*$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$),
12
12
  $nv$$.luong_thang=$nv$$.tong_ngay_cong_tinh_luong==$so_ngay_lam_mot_thang$$?$nv$$.luong_co_ban+$nv$$.luong_tang_ca:Math.roundBy($nv$$.luong_binh_quan_ngay*$nv$$.tong_ngay_cong_tinh_luong)+$nv$$.luong_tang_ca):(console.log("tinh luog theo thang",$nv$$.ma_nv,$nv$$.ten_nv),$nv$$.tru_luong=Math.roundBy($nv$$.luong_binh_quan_ngay*$nv$$.tong_ngay_khong_luong),$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=$nv$$.ngay_tang_ca,
13
13
  $nv$$.tong_ngay_tang_ca=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$,$nv$$.luong_tang_ca=Math.roundBy($nv$$.luong_binh_quan_ngay*$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$),$nv$$.luong_thang=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$+$nv$$.luong_tang_ca-$nv$$.tru_luong)):(console.log("Khong cham cong nhung van tinh luong",
14
- $nv$$.ma_nv,$nv$$.ten_nv),$nv$$.luong_thang=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$);$nv$$.gt_bhxh=0;$nv$$.cty_bhxh=0;$nv$$.gt_bhyt=0;$nv$$.cty_bhyt=0;$nv$$.gt_bhtn=0;$nv$$.cty_bhtn=0;$nv$$.gt_kpcd=0;$nv$$.cty_kpcd=0;$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=[];if(!$nv$$.ngay_tinh_bhxh||moment($nv$$.ngay_tinh_bhxh).startOf("date").toDate().getTime()<=$tu_ngay$$.getTime())$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=_.cloneDeep($cac_khoan_giam_tru$$),$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.forEach($gt$$=>
15
- {$gt$$.nv=0;$gt$$.cty=0;$gt$$.kieu_trich=="BHXH"?$nv$$.bhxh&&($gt$$.nv=Math.roundBy($gt$$.ty_le_nv*$luong_bhxh$$/100),$gt$$.cty=Math.roundBy($gt$$.ty_le_cty*$luong_bhxh$$/100),$nv$$.gt_bhxh+=$gt$$.nv,$nv$$.cty_bhxh+=$gt$$.cty):$gt$$.kieu_trich=="BHYT"?$nv$$.bhyt&&($gt$$.nv=Math.roundBy($gt$$.ty_le_nv*$luong_bhxh$$/100),$gt$$.cty=Math.roundBy($gt$$.ty_le_cty*$luong_bhxh$$/100),$nv$$.gt_bhyt+=$gt$$.nv,$nv$$.cty_bhyt+=$gt$$.cty):$gt$$.kieu_trich=="BHTN"?$nv$$.bhtn&&($gt$$.nv=Math.roundBy($gt$$.ty_le_nv*
16
- $luong_bhxh$$/100),$gt$$.cty=Math.roundBy($gt$$.ty_le_cty*$luong_bhxh$$/100),$nv$$.gt_bhtn+=$gt$$.nv,$nv$$.cty_bhtn+=$gt$$.cty):($gt$$.nv=Math.roundBy($gt$$.ty_le_nv*$luong_bhxh$$/100),$gt$$.cty=Math.roundBy($gt$$.ty_le_cty*$luong_bhxh$$/100),$gt$$.kieu_trich=="KPCD"&&($nv$$.gt_kpcd+=$gt$$.nv,$nv$$.cty_kpcd+=$gt$$.cty))});$nv$$.giam_tru=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$;$nv$$.tong_bao_hiem_nv=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.map($g$$=>$g$$.nv).reduce(($a$$,$b$$)=>$a$$+
17
- $b$$,0);$nv$$.tong_bao_hiem_cty=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.map($g$$=>$g$$.cty).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$condition$$.cac_khoan_phu_cap&&$condition$$.cac_khoan_phu_cap.length!=0?$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=[]:($giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=await phucap.find({id_app:$id_app$$,thang:$thang$$,nam:$nam$$,ma_nv:{$in:["",null,void 0,$nv$$.ma_nv]},ma_bp:{$in:["",null,void 0,$nv$$.ma_bp]}}).lean(),$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.forEach($p$$=>
18
- {$p$$.dvt="month";$p$$.tien_pc=$p$$.tien||0}),$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$={id_app:$id_app$$,ma_nv:$nv$$.ma_nv,nxt:2,ma_ct:{$in:["HD2","PBL","SO1"]},ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$}},$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=await global.getModel("sokho").find($csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$).lean(),
19
- $csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=await $csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.asyncGroupBy(["ma_vt"],["sl_xuat"]),await $csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.asyncJoinModel2($id_app$$,"dmvt",{where:"ma_vt",fields:["ten_phu_cap_them",
20
- "ten_vt","luong_tho_theo_ds","ds_yeu_cau"]}),$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.filter($d$$=>$d$$.luong_tho_theo_ds&&$d$$.ds_yeu_cau&&$d$$.sl_xuat>=$d$$.ds_yeu_cau),$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=
21
- $csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.map($sl$$=>{let $pc$$={kieu:"2",id_app:$id_app$$,thang:$thang$$,nam:$nam$$,ma_nv:$nv$$.ma_nv,ten_phu_cap:$sl$$.ten_phu_cap_them||$sl$$.ten_vt,dvt:"month"};$pc$$.sl_xuat=$sl$$.sl_xuat;$pc$$.ds_yeu_cau=$sl$$.ds_yeu_cau;$pc$$.tien_pc=$pc$$.tien=Math.trunc($sl$$.sl_xuat/$sl$$.ds_yeu_cau)*$sl$$.luong_tho_theo_ds;return $pc$$}),$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=
22
- [...$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$,...$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$]);$nv$$.cac_khoan_phat=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.filter($r$$=>$r$$.tien<0);$nv$$.tien_phat=$nv$$.cac_khoan_phat.map($r$$=>$r$$.tien_pc).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=
23
- {id_app:$id_app$$,status:!0,$or:[{ds_nv:$nv$$.ma_nv},{ds_bp:$nv$$.ma_bp}]};$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=await global.getModel("csphucap").findOne($csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$).lean();$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=
24
- [...($nv$$.phu_cap||[]),...($nv$$.phu_cap_theo_bp||[]),...($csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$?.phu_cap||[])].filter($p$$=>$p$$.tu_ngay&&(new Date($p$$.tu_ngay)).getTime()>$den_ngay$$.getTime()||$p$$.den_ngay&&(new Date($p$$.den_ngay)).getTime()<$tu_ngay$$.getTime()?!1:!0).map($r$$=>{let $tien_pc$$=$r$$.tien||0;switch($r$$.dvt){case "date":$tien_pc$$=Math.roundBy($tien_pc$$*$nv$$.so_ngay_tinh_phu_cap);break;
25
- case "year":$tien_pc$$=Math.roundBy($tien_pc$$/12)}if($r$$.max_phu_cap>0){let $da_phu_cap$$=($condition$$.cac_khoan_phu_cap||[]).filter($p$$=>$p$$.line==$r$$.line).map($r$$=>$r$$.tien_pc||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$tien_pc$$=Math.min($tien_pc$$,$r$$.max_phu_cap-$da_phu_cap$$)}$r$$.tien_pc=$tien_pc$$;return $r$$});$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=[...$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$,
26
- ...$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.filter($r$$=>$r$$.tien>0)];$nv$$.cac_khoan_phu_cap=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$;$nv$$.tien_phu_cap=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.map($r$$=>$r$$.tien_pc).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$nv$$.tong_phu_cap=$nv$$.tien_phu_cap+$nv$$.tien_phat;$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=
27
- [...($nv$$.phu_cap||[])].filter($p$$=>$p$$.tu_ngay&&(new Date($p$$.tu_ngay)).getTime()>$den_ngay$$.getTime()||$p$$.den_ngay&&(new Date($p$$.den_ngay)).getTime()<$tu_ngay$$.getTime()?!1:!0).filter($p$$=>!$p$$.khong_mien_thue).map($r$$=>{let $tien_pc$$=$r$$.tien||0;switch($r$$.dvt){case "date":$tien_pc$$=Math.roundBy($tien_pc$$*$nv$$.so_ngay_tinh_phu_cap);break;case "year":$tien_pc$$=Math.roundBy($tien_pc$$/12)}if($r$$.max_mien_thue>0){let $da_phu_cap$$=($condition$$.cac_khoan_phu_cap_mien_thue||[]).filter($p$$=>
28
- $p$$.line==$r$$.line).map($r$$=>$r$$.tien_pc||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$tien_pc$$=Math.min($tien_pc$$,$r$$.max_mien_thue-$da_phu_cap$$)}$r$$.tien_pc=$tien_pc$$;return $r$$});$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=[...$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$,...$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$];
29
- $nv$$.cac_khoan_phu_cap_mien_thue=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$;$nv$$.tong_phu_cap_mien_thue=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.map($r$$=>$r$$.tien_pc).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$nv$$.tong_thu_nhap=$nv$$.luong_thang+$nv$$.tong_phu_cap;$nv$$.luong_tang_ca_mien_thue=Math.roundBy($nv$$.luong_binh_quan_ngay*
30
- $nv$$.so_luong_ngay_tang_ca_mien_thue);$nv$$.ttncn_tong_thu_nhap_mien_thue=$nv$$.luong_tang_ca_mien_thue+$nv$$.tong_phu_cap_mien_thue;$nv$$.ttncn_gt_phu_thuoc=Math.roundBy(($nv$$.ttncn_so_nguoi_phu_thuoc||0)*($nv$$.ttncn_muc_gt_phu_thuoc||0));$nv$$.ttncn_gt_tu_thien=0;$nv$$.ttncn_gt_ban_than=Math.roundBy(($nv$$.ttncn_so_thang_gt_ban_than||0)*($nv$$.ttncn_muc_gt_ban_than||0));$nv$$.ttncn_tong_giam_tru=$nv$$.ttncn_gt_phu_thuoc+$nv$$.ttncn_gt_tu_thien+$nv$$.tong_bao_hiem_nv+$nv$$.ttncn_gt_ban_than;$nv$$.ttncn_thu_nhap_chiu_thue=
31
- Math.max($nv$$.tong_thu_nhap-$nv$$.ttncn_tong_thu_nhap_mien_thue-$nv$$.ttncn_tong_giam_tru,0);$nv$$.ttncn_thue_theo_bac=$nv$$.ttncn_thu_nhap_chiu_thue<2E6?$nv$$.thu_viec?[{thue_suat:0,tien_thue:0}]:tinhThueTNCV($nv$$.ttncn_thu_nhap_chiu_thue):$nv$$.thu_viec?[{thue_suat:10,tien_thue:Math.roundBy($nv$$.ttncn_thu_nhap_chiu_thue*10/100,0)}]:tinhThueTNCV($nv$$.ttncn_thu_nhap_chiu_thue);$nv$$.ttncn_tong_thue=$nv$$.ttncn_thue_theo_bac.map($b$$=>$b$$.tien_thue||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$nv$$.tong_luong=
32
- $nv$$.tong_thu_nhap-$nv$$.tong_bao_hiem_nv-$nv$$.ttncn_tong_thue;$nv$$.id_app=$id_app$$;$nv$$.thang=$thang$$;$nv$$.nam=$nam$$;$nv$$.loai_luong=$loai_luong$$;return null},async $e$$=>{if($e$$)return $callback$$($e$$);try{await bangtinhluong.create($nvs$$),$callback$$(null,$nvs$$)}catch($e$$){$callback$$($e$$.message)}})})}).catch($e$$=>{$callback$$($e$$)})};
14
+ $nv$$.ma_nv,$nv$$.ten_nv),$nv$$.luong_thang=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$);$nv$$.gt_bhxh=0;$nv$$.cty_bhxh=0;$nv$$.gt_bhyt=0;$nv$$.cty_bhyt=0;$nv$$.gt_bhtn=0;$nv$$.cty_bhtn=0;$nv$$.gt_kpcd=0;$nv$$.cty_kpcd=0;$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=[];if(!$nv$$.ngay_tinh_bhxh||moment($nv$$.ngay_tinh_bhxh).startOf("date").toDate().getTime()<=$tu_ngay$$.getTime())$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=_.cloneDeep($cac_khoan_giam_tru$$).filter($gt$$=>(!$gt$$.ma_nv||
15
+ $gt$$.ma_nv==0||$gt$$.ma_nv.indexOf($nv$$.ma_nv)>=0)&&(!$gt$$.ma_bp||$gt$$.ma_bp.length==0||$gt$$.ma_bp.indexOf($nv$$.ma_bp)>=0)),$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.forEach($gt$$=>{$gt$$.kieu_trich=="BHXH"?($gt$$.nv=0,$gt$$.cty=0,$nv$$.bhxh&&($gt$$.nv=Math.roundBy($gt$$.ty_le_nv*$luong_bhxh$$/100),$gt$$.cty=Math.roundBy($gt$$.ty_le_cty*$luong_bhxh$$/100),$nv$$.gt_bhxh+=$gt$$.nv,$nv$$.cty_bhxh+=$gt$$.cty)):$gt$$.kieu_trich=="BHYT"?($gt$$.nv=0,$gt$$.cty=0,$nv$$.bhyt&&($gt$$.nv=Math.roundBy($gt$$.ty_le_nv*
16
+ $luong_bhxh$$/100),$gt$$.cty=Math.roundBy($gt$$.ty_le_cty*$luong_bhxh$$/100),$nv$$.gt_bhyt+=$gt$$.nv,$nv$$.cty_bhyt+=$gt$$.cty)):$gt$$.kieu_trich=="BHTN"?($gt$$.nv=0,$gt$$.cty=0,$nv$$.bhtn&&($gt$$.nv=Math.roundBy($gt$$.ty_le_nv*$luong_bhxh$$/100),$gt$$.cty=Math.roundBy($gt$$.ty_le_cty*$luong_bhxh$$/100),$nv$$.gt_bhtn+=$gt$$.nv,$nv$$.cty_bhtn+=$gt$$.cty)):$gt$$.kieu_trich=="KPCD"?($gt$$.nv=Math.roundBy($gt$$.ty_le_nv*$luong_bhxh$$/100),$gt$$.cty=Math.roundBy($gt$$.ty_le_cty*$luong_bhxh$$/100),$nv$$.gt_kpcd+=
17
+ $gt$$.nv,$nv$$.cty_kpcd+=$gt$$.cty):($gt$$.nv=$gt$$.ty_le_nv?Math.roundBy($gt$$.ty_le_nv*$luong_bhxh$$/100):$gt$$.nv||0,$gt$$.cty=$gt$$.ty_le_cty?Math.roundBy($gt$$.ty_le_cty*$luong_bhxh$$/100):$gt$$.cty||0)});$nv$$.giam_tru=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$;$nv$$.tong_bao_hiem_nv=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.map($g$$=>$g$$.nv).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$nv$$.tong_bao_hiem_cty=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.map($g$$=>$g$$.cty).reduce(($a$$,
18
+ $b$$)=>$a$$+$b$$,0);$condition$$.cac_khoan_phu_cap&&$condition$$.cac_khoan_phu_cap.length!=0?$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=[]:($giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=await phucap.find({id_app:$id_app$$,thang:$thang$$,nam:$nam$$,ma_nv:{$in:["",null,void 0,$nv$$.ma_nv]},ma_bp:{$in:["",null,void 0,$nv$$.ma_bp]}}).lean(),$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.forEach($p$$=>{$p$$.dvt="month";$p$$.tien_pc=$p$$.tien||0}),$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=
19
+ {id_app:$id_app$$,ma_nv:$nv$$.ma_nv,nxt:2,ma_ct:{$in:["HD2","PBL","SO1"]},ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$}},$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=await global.getModel("sokho").find($csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$).lean(),$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=
20
+ await $csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.asyncGroupBy(["ma_vt"],["sl_xuat"]),await $csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.asyncJoinModel2($id_app$$,"dmvt",{where:"ma_vt",fields:["ten_phu_cap_them","ten_vt","luong_tho_theo_ds","ds_yeu_cau"]}),$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=
21
+ $csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.filter($d$$=>$d$$.luong_tho_theo_ds&&$d$$.ds_yeu_cau&&$d$$.sl_xuat>=$d$$.ds_yeu_cau),$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.map($sl$$=>{let $pc$$={kieu:"2",
22
+ id_app:$id_app$$,thang:$thang$$,nam:$nam$$,ma_nv:$nv$$.ma_nv,ten_phu_cap:$sl$$.ten_phu_cap_them||$sl$$.ten_vt,dvt:"month"};$pc$$.sl_xuat=$sl$$.sl_xuat;$pc$$.ds_yeu_cau=$sl$$.ds_yeu_cau;$pc$$.tien_pc=$pc$$.tien=Math.trunc($sl$$.sl_xuat/$sl$$.ds_yeu_cau)*$sl$$.luong_tho_theo_ds;return $pc$$}),$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$=[...$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$,...$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$]);
23
+ $nv$$.cac_khoan_phat=$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.filter($r$$=>$r$$.tien<0);$nv$$.tien_phat=$nv$$.cac_khoan_phat.map($r$$=>$r$$.tien_pc).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$={id_app:$id_app$$,status:!0,$or:[{ds_nv:$nv$$.ma_nv},{ds_bp:$nv$$.ma_bp}]};$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=
24
+ await global.getModel("csphucap").findOne($csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$).lean();$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=[...($nv$$.phu_cap||[]),...($nv$$.phu_cap_theo_bp||[]),...($csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$?.phu_cap||
25
+ [])].filter($p$$=>$p$$.tu_ngay&&(new Date($p$$.tu_ngay)).getTime()>$den_ngay$$.getTime()||$p$$.den_ngay&&(new Date($p$$.den_ngay)).getTime()<$tu_ngay$$.getTime()?!1:!0).map($r$$=>{let $tien_pc$$=$r$$.tien||0;switch($r$$.dvt){case "date":$tien_pc$$=Math.roundBy($tien_pc$$*$nv$$.so_ngay_tinh_phu_cap);break;case "year":$tien_pc$$=Math.roundBy($tien_pc$$/12)}if($r$$.max_phu_cap>0){let $da_phu_cap$$=($condition$$.cac_khoan_phu_cap||[]).filter($p$$=>$p$$.line==$r$$.line).map($r$$=>$r$$.tien_pc||0).reduce(($a$$,
26
+ $b$$)=>$a$$+$b$$,0);$tien_pc$$=Math.min($tien_pc$$,$r$$.max_phu_cap-$da_phu_cap$$)}$r$$.tien_pc=$tien_pc$$;return $r$$});$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=[...$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$,...$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$.filter($r$$=>$r$$.tien>0)];$nv$$.cac_khoan_phu_cap=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$;
27
+ $nv$$.tien_phu_cap=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.map($r$$=>$r$$.tien_pc).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$nv$$.tong_phu_cap=$nv$$.tien_phu_cap+$nv$$.tien_phat;$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=[...($nv$$.phu_cap||[])].filter($p$$=>$p$$.tu_ngay&&(new Date($p$$.tu_ngay)).getTime()>$den_ngay$$.getTime()||
28
+ $p$$.den_ngay&&(new Date($p$$.den_ngay)).getTime()<$tu_ngay$$.getTime()?!1:!0).filter($p$$=>!$p$$.khong_mien_thue).map($r$$=>{let $tien_pc$$=$r$$.tien||0;switch($r$$.dvt){case "date":$tien_pc$$=Math.roundBy($tien_pc$$*$nv$$.so_ngay_tinh_phu_cap);break;case "year":$tien_pc$$=Math.roundBy($tien_pc$$/12)}if($r$$.max_mien_thue>0){let $da_phu_cap$$=($condition$$.cac_khoan_phu_cap_mien_thue||[]).filter($p$$=>$p$$.line==$r$$.line).map($r$$=>$r$$.tien_pc||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$tien_pc$$=Math.min($tien_pc$$,
29
+ $r$$.max_mien_thue-$da_phu_cap$$)}$r$$.tien_pc=$tien_pc$$;return $r$$});$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$=[...$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$,...$giam_tru_luong_co_ban_phu_cap_mot_lan_tang_ca$$];$nv$$.cac_khoan_phu_cap_mien_thue=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$;
30
+ $nv$$.tong_phu_cap_mien_thue=$csphucap_luong_thu_viec_phu_cap_phu_cap_mien_thue_phu_cap_mot_lan_them_query_phu_cap_query_san_luong_san_luong_ban_hang_tang_ca$$.map($r$$=>$r$$.tien_pc).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$nv$$.tong_thu_nhap=$nv$$.luong_thang+$nv$$.tong_phu_cap;$nv$$.luong_tang_ca_mien_thue=Math.roundBy($nv$$.luong_binh_quan_ngay*$nv$$.so_luong_ngay_tang_ca_mien_thue);$nv$$.ttncn_tong_thu_nhap_mien_thue=$nv$$.luong_tang_ca_mien_thue+$nv$$.tong_phu_cap_mien_thue;$nv$$.ttncn_gt_phu_thuoc=
31
+ Math.roundBy(($nv$$.ttncn_so_nguoi_phu_thuoc||0)*($nv$$.ttncn_muc_gt_phu_thuoc||0));$nv$$.ttncn_gt_tu_thien=0;$nv$$.ttncn_gt_ban_than=Math.roundBy(($nv$$.ttncn_so_thang_gt_ban_than||0)*($nv$$.ttncn_muc_gt_ban_than||0));$nv$$.ttncn_tong_giam_tru=$nv$$.ttncn_gt_phu_thuoc+$nv$$.ttncn_gt_tu_thien+$nv$$.tong_bao_hiem_nv+$nv$$.ttncn_gt_ban_than;$nv$$.ttncn_thu_nhap_chiu_thue=Math.max($nv$$.tong_thu_nhap-$nv$$.ttncn_tong_thu_nhap_mien_thue-$nv$$.ttncn_tong_giam_tru,0);$nv$$.ttncn_thue_theo_bac=$nv$$.ttncn_thu_nhap_chiu_thue<
32
+ 2E6?$nv$$.thu_viec?[{thue_suat:0,tien_thue:0}]:tinhThueTNCV($nv$$.ttncn_thu_nhap_chiu_thue):$nv$$.thu_viec?[{thue_suat:10,tien_thue:Math.roundBy($nv$$.ttncn_thu_nhap_chiu_thue*10/100,0)}]:tinhThueTNCV($nv$$.ttncn_thu_nhap_chiu_thue);$nv$$.ttncn_tong_thue=$nv$$.ttncn_thue_theo_bac.map($b$$=>$b$$.tien_thue||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$nv$$.tong_luong=$nv$$.tong_thu_nhap-$nv$$.tong_bao_hiem_nv-$nv$$.ttncn_tong_thue;$nv$$.id_app=$id_app$$;$nv$$.thang=$thang$$;$nv$$.nam=$nam$$;$nv$$.loai_luong=
33
+ $loai_luong$$;return null},async $e$$=>{if($e$$)return $callback$$($e$$);try{await bangtinhluong.create($nvs$$),$callback$$(null,$nvs$$)}catch($e$$){$callback$$($e$$.message)}})})}).catch($e$$=>{$callback$$($e$$)})};
33
34
  module.exports=function($router$$){new controller($router$$,"tinhluong",async($nhanvien_req$$,$callback$$)=>{let $thang$$=Number($nhanvien_req$$.query.thang),$nam$$=Number($nhanvien_req$$.query.nam);var $id_app$jscomp$1_query$$=$nhanvien_req$$.query.id_app;if(!$thang$$||!$nam$$)return $callback$$("T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u hai tham s\u1ed1 thang v\u00e0 nam");if($thang$$<1||$thang$$>12||$nam$$<1E3||$nam$$>3E3)return $callback$$("Tham s\u1ed1 thang ho\u1eb7c nam kh\u00f4ng ph\u00f9 h\u1ee3p");
34
35
  const $tu_ngay$$=moment(new Date($nam$$,$thang$$-1,1)).startOf("month").toDate(),$den_ngay$$=moment($tu_ngay$$).endOf("month").toDate();var $appInfo_query_delete_old$$=await App.findOne({_id:$id_app$jscomp$1_query$$});if(!$appInfo_query_delete_old$$)return $callback$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");let $ngay_ks$$=await utils.isBookLocked({id_app:$id_app$jscomp$1_query$$,ngay_ct:$tu_ngay$$});if($ngay_ks$$)return $callback$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${moment($ngay_ks$$).format("DD/MM/YYYY")}`);
35
36
  const $main_condition$$={tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,id_app:$id_app$jscomp$1_query$$,thang:$thang$$,nam:$nam$$,so_ngay_lam_mot_thang:$nhanvien_req$$.query.so_ngay_lam_mot_thang||$appInfo_query_delete_old$$.so_ngay_lam_mot_thang||24,ma_nv:$nhanvien_req$$.query.ma_nv,ma_bp:$nhanvien_req$$.query.ma_bp};$appInfo_query_delete_old$$={};$appInfo_query_delete_old$$.id_app=$id_app$jscomp$1_query$$;$appInfo_query_delete_old$$.thang=$thang$$;$appInfo_query_delete_old$$.nam=$nam$$;$main_condition$$.ma_nv&&
@@ -2,6 +2,7 @@ const cdpskh=require("../../libs/cdpskh"),permission=require("../../libs/permiss
2
2
  module.exports=function($router$$){new controller($router$$,"cdpskh",async function($req$$,$callback$$){const $query$$=$req$$.query;if(!$query$$.tk||!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 tk, tu_ngay,den_ngay");var $groupBy_ma_khs$$=$query$$.groupBy||$query$$.groupby||$query$$.group_by;if($groupBy_ma_khs$$&&!underscore.isArray($groupBy_ma_khs$$))try{$groupBy_ma_khs$$=JSON.parse($groupBy_ma_khs$$)}catch($e$$){console.error("cdpskh",
3
3
  $e$$.message,$groupBy_ma_khs$$)}$query$$.groupBy=$groupBy_ma_khs$$||["tk","ma_kh"];const $id_app$$=$query$$.id_app;$req$$.user.current_app_info.appAdmin||($groupBy_ma_khs$$=await new Promise($resolve$$=>{permission.getRightByItem($req$$.user.current_id_app,global.getModel("customer"),$req$$.user.email,async function($e$$,$_condition$$,$admin$$){if($admin$$)return $resolve$$(null);$_condition$$.id_app=$query$$.id_app;$query$$.ma_kh&&($_condition$$.ma_kh=$query$$.ma_kh);$query$$.nh_kh&&($_condition$$.nh_kh=
4
4
  $query$$.nh_kh);$query$$.phu_trach&&($_condition$$.phu_trach=$query$$.phu_trach);$e$$=await global.getModel("customer").find($_condition$$,{ma_kh:1}).lean();$resolve$$($e$$.map($k$$=>$k$$.ma_kh))})}),$query$$.ma_kh={$in:$groupBy_ma_khs$$},delete $query$$.nh_kh,delete $query$$.phu_trach);cdpskh($query$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);async.parallel({cust:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kh).joinModel2($id_app$$,Customer,{where:"ma_kh",fields:["ten_kh",
5
- "dia_chi","dien_thoai"]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:"ten_kho"},()=>{$callback$$()})},bp:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_bp).joinModel2($id_app$$,dmbp,{where:"ma_bp",fields:"ten_bp"},()=>{$callback$$()})},nv:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_nv).joinModel2($id_app$$,dmnv,{where:"ma_nv",fields:"ten_nv"},()=>{$callback$$()})},dmdt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_dt).joinModel2($id_app$$,
6
- dmdt,{where:"ma_dt",fields:"ten_dt"},()=>{$callback$$()})},dmphi:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_phi).joinModel2($id_app$$,dmphi,{where:"ma_phi",fields:"ten_phi"},()=>{$callback$$()})},contract:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_hd).joinModel2($id_app$$,contract,{where:{ma_hd:"so_hd"},fields:"ten_hd"},()=>{$callback$$()})}},()=>{$report$$=underscore.sortBy($report$$,function($r$$){return($r$$.ma_kh||"")+($r$$.ma_kho||"")+($r$$.ma_bp||"")+($r$$.ma_nv||"")+($r$$.ma_dt||"")+($r$$.ma_hd||
7
- "")});$report$$.push({ten_kh:"T\u1ed5ng c\u1ed9ng",dk_no:$report$$.csum("dk_no"),dk_co:$report$$.csum("dk_co"),ps_no:$report$$.csum("ps_no"),ps_co:$report$$.csum("ps_co"),ck_no:$report$$.csum("ck_no"),ck_co:$report$$.csum("ck_co"),dk_no_nt:$report$$.csum("dk_no_nt"),dk_co_nt:$report$$.csum("dk_co_nt"),ps_no_nt:$report$$.csum("ps_no_nt"),ps_co_nt:$report$$.csum("ps_co_nt"),ck_no_nt:$report$$.csum("ck_no_nt"),ck_co_nt:$report$$.csum("ck_co_nt"),systotal:1,bold:!0});$callback$$(null,$report$$)})})})};
5
+ "dia_chi","dien_thoai","email","so_ngay_duoc_no"]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:"ten_kho"},()=>{$callback$$()})},bp:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_bp).joinModel2($id_app$$,dmbp,{where:"ma_bp",fields:"ten_bp"},()=>{$callback$$()})},nv:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_nv).joinModel2($id_app$$,dmnv,{where:"ma_nv",fields:"ten_nv"},()=>{$callback$$()})},dmdt:$callback$$=>{$report$$.filter($r$$=>
6
+ $r$$.ma_dt).joinModel2($id_app$$,dmdt,{where:"ma_dt",fields:"ten_dt"},()=>{$callback$$()})},dmphi:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_phi).joinModel2($id_app$$,dmphi,{where:"ma_phi",fields:"ten_phi"},()=>{$callback$$()})},contract:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_hd).joinModel2($id_app$$,contract,{where:{ma_hd:"so_hd"},fields:"ten_hd"},()=>{$callback$$()})}},()=>{$report$$=underscore.sortBy($report$$,function($r$$){return($r$$.ma_kh||"")+($r$$.ma_kho||"")+($r$$.ma_bp||"")+($r$$.ma_nv||
7
+ "")+($r$$.ma_dt||"")+($r$$.ma_hd||"")});$report$$.push({ten_kh:"T\u1ed5ng c\u1ed9ng",dk_no:$report$$.csum("dk_no"),dk_co:$report$$.csum("dk_co"),ps_no:$report$$.csum("ps_no"),ps_co:$report$$.csum("ps_co"),ck_no:$report$$.csum("ck_no"),ck_co:$report$$.csum("ck_co"),dk_no_nt:$report$$.csum("dk_no_nt"),dk_co_nt:$report$$.csum("dk_co_nt"),ps_no_nt:$report$$.csum("ps_no_nt"),ps_co_nt:$report$$.csum("ps_co_nt"),ck_no_nt:$report$$.csum("ck_no_nt"),ck_co_nt:$report$$.csum("ck_co_nt"),systotal:1,bold:!0});
8
+ $callback$$(null,$report$$)})})})};
@@ -1,9 +1,11 @@
1
1
  const dtbanletheosp=require("../../libs/dtbanletheosp"),controller=require("../../controllers/controllerRPT");
2
- module.exports=function($router$$){new controller($router$$,"dtbanlekempk",async function($req$$,$callback$$){const $condition$$=$req$$.query;try{$condition$$.den_ngay=$condition$$.den_gio||$condition$$.den_ngay;$condition$$.tu_ngay=$condition$$.tu_gio||$condition$$.tu_ngay;let $report$$=await dtbanletheosp($condition$$);await $report$$.asyncJoinModel2($condition$$.id_app,"dmvt",{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]});await $report$$.filter($r$$=>$r$$.ma_kh).asyncJoinModel2($condition$$.id_app,
3
- "customer",{where:{ma_kh:"ma_kh"},fields:["nh_kh"]});let $group_by$$=$req$$.query.group_by;$group_by$$&&(typeof $group_by$$=="string"&&($group_by$$=[$group_by$$]),$report$$=await $report$$.asyncGroupBy($group_by$$,"sl_xuat sl_nhap sl_xuat_qd sl_nhap_qd tien_hang_nt tien_hang_ct_nt tien_hang tien_hang_ct tien_cp tien_cp_nt tien_ck_nt tien_ck tien_thue tien_thue_nt tien tien_nt tt tt_nt tien_xuat_tmp tien_xuat tien_nhap loi_nhuan_tmp loi_nhuan tien_hoa_hong tien_hoa_hong_gt tien_hoa_hong_ctv tien_hoa_hong_ql t_hoa_hong sl_vt_du gt_vt_du".split(" ")));
4
- await $report$$.filter($r$$=>$r$$.ma_vt).asyncJoinModel2($condition$$.id_app,"dmvt",{where:"ma_vt",fields:["ten_vt","ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]});await $report$$.filter($r$$=>$r$$.ma_nvt).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt:"_id"},fields:["ten_nvt"]});await $report$$.filter($r$$=>$r$$.ma_nvt2).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt2:"_id"},fields:[{ten_nvt2:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_nvt3).asyncJoinModel2($condition$$.id_app,
5
- "dmnvt",{where:{ma_nvt3:"_id"},fields:[{ten_nvt3:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_nvt4).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt4:"_id"},fields:[{ten_nvt4:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_kh).asyncJoinModel2($condition$$.id_app,"customer",{where:{ma_kh:"ma_kh"},fields:["ten_kh","nh_kh","dia_chi","dien_thoai"]});await $report$$.filter($r$$=>$r$$.nh_kh).asyncJoinModel2($condition$$.id_app,"group",{where:{nh_kh:"_id"},fields:[{ten_nh_kh:"group_name"}]});
6
- await $report$$.filter($r$$=>$r$$.ma_bp).asyncJoinModel2($condition$$.id_app,"dmbp",{where:{ma_bp:"ma_bp"},fields:[{ten_bp:"ten_bp"}]});await $report$$.filter($r$$=>$r$$.ma_vt_du).asyncJoinModel2($condition$$.id_app,"dmvt",{where:{ma_vt_du:"ma_vt"},fields:[{ten_vt_du:"ten_vt"}]});await $report$$.filter($r$$=>$r$$.user_nv_giao_hang).asyncJoinModel2(null,"user",{where:{user_nv_giao_hang:"email"},fields:[{ten_nv_giao_hang:"name"}]});const $tong_cong$$={[$group_by$$?$group_by$$[0]:"ten_vt"]:"T\u1ed5ng c\u1ed9ng",
7
- sl_xuat:$report$$.csum("sl_xuat"),sl_nhap:$report$$.csum("sl_nhap"),sl_xuat_qd:$report$$.csum("sl_xuat_qd"),sl_nhap_qd:$report$$.csum("sl_nhap_qd"),tien_hang_nt:$report$$.csum("tien_hang_nt"),tien_hang_ct_nt:$report$$.csum("tien_hang_ct_nt"),tien_hang:$report$$.csum("tien_hang"),tien_hang_ct:$report$$.csum("tien_hang_ct"),tien_cp:$report$$.csum("tien_cp"),tien_cp_nt:$report$$.csum("tien_cp_nt"),tien_ck_nt:$report$$.csum("tien_ck_nt"),tien_ck:$report$$.csum("tien_ck"),tien_thue:$report$$.csum("tien_thue"),
8
- tien_thue_nt:$report$$.csum("tien_thue_nt"),tien:$report$$.csum("tien"),tien_nt:$report$$.csum("tien_nt"),tt:$report$$.csum("tt"),tt_nt:$report$$.csum("tt_nt"),tien_xuat_tmp:$report$$.csum("tien_xuat_tmp"),tien_xuat:$report$$.csum("tien_xuat"),tien_nhap:$report$$.csum("tien_nhap"),loi_nhuan_tmp:$report$$.csum("loi_nhuan_tmp"),loi_nhuan:$report$$.csum("loi_nhuan"),tien_hoa_hong:$report$$.csum("tien_hoa_hong"),tien_hoa_hong_gt:$report$$.csum("tien_hoa_hong_gt"),tien_hoa_hong_ctv:$report$$.csum("tien_hoa_hong_ctv"),
9
- tien_hoa_hong_ql:$report$$.csum("tien_hoa_hong_ql"),t_hoa_hong:$report$$.csum("t_hoa_hong"),sl_vt_du:$report$$.csum("sl_vt_du"),gt_vt_du:$report$$.csum("gt_vt_du"),bold:!0};$report$$.push($tong_cong$$);$callback$$(null,$report$$)}catch($e$$){$callback$$($e$$)}})};
2
+ module.exports=function($router$$){new controller($router$$,"dtbanlekempk",async function($req$$,$callback$$){const $condition$$=$req$$.query;try{$condition$$.den_ngay=$condition$$.den_gio||$condition$$.den_ngay;$condition$$.tu_ngay=$condition$$.tu_gio||$condition$$.tu_ngay;const $data$$=await dtbanletheosp($condition$$);await $data$$.asyncJoinModel2($condition$$.id_app,"dmvt",{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]});await $data$$.filter($r$$=>$r$$.ma_kh).asyncJoinModel2($condition$$.id_app,
3
+ "customer",{where:{ma_kh:"ma_kh"},fields:["nh_kh"]});let $group_by$$=$req$$.query.group_by,$report$$;$group_by$$?(typeof $group_by$$=="string"&&($group_by$$=[$group_by$$]),$report$$=await $data$$.asyncGroupBy($group_by$$,"sl_xuat sl_nhap sl_xuat_qd sl_nhap_qd sl_xuat_qd_bc sl_nhap_qd_bc tien_hang_nt tien_hang_ct_nt tien_hang tien_hang_ct tien_cp tien_cp_nt tien_ck_nt tien_ck tien_thue tien_thue_nt tien tien_nt tt tt_nt tien_xuat_tmp tien_xuat tien_nhap loi_nhuan_tmp loi_nhuan tien_hoa_hong tien_hoa_hong_gt tien_hoa_hong_ctv tien_hoa_hong_ql t_hoa_hong sl_vt_du gt_vt_du".split(" "))):
4
+ $report$$=$data$$;$group_by$$&&$condition$$.show_detail&&($report$$.forEach($r$$=>{$r$$.bold=!0;$r$$.sysorder=3}),$report$$=$report$$.concat($data$$));await $report$$.filter($r$$=>$r$$.ma_vt).asyncJoinModel2($condition$$.id_app,"dmvt",{where:"ma_vt",fields:["ten_vt","ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]});await $report$$.filter($r$$=>$r$$.ma_nvt).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt:"_id"},fields:["ten_nvt"]});await $report$$.filter($r$$=>$r$$.ma_nvt2).asyncJoinModel2($condition$$.id_app,
5
+ "dmnvt",{where:{ma_nvt2:"_id"},fields:[{ten_nvt2:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_nvt3).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt3:"_id"},fields:[{ten_nvt3:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_nvt4).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt4:"_id"},fields:[{ten_nvt4:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_kh).asyncJoinModel2($condition$$.id_app,"customer",{where:{ma_kh:"ma_kh"},fields:["ten_kh","nh_kh","dia_chi","dien_thoai"]});
6
+ await $report$$.filter($r$$=>$r$$.nh_kh).asyncJoinModel2($condition$$.id_app,"group",{where:{nh_kh:"_id"},fields:[{ten_nh_kh:"group_name"}]});await $report$$.filter($r$$=>$r$$.ma_bp).asyncJoinModel2($condition$$.id_app,"dmbp",{where:{ma_bp:"ma_bp"},fields:[{ten_bp:"ten_bp"}]});await $report$$.filter($r$$=>$r$$.ma_vt_du).asyncJoinModel2($condition$$.id_app,"dmvt",{where:{ma_vt_du:"ma_vt"},fields:[{ten_vt_du:"ten_vt"}]});await $report$$.filter($r$$=>$r$$.user_nv_giao_hang).asyncJoinModel2(null,"user",
7
+ {where:{user_nv_giao_hang:"email"},fields:[{ten_nv_giao_hang:"name"}]});$req$$.query.group_by&&$condition$$.show_detail&&($report$$=$report$$.sort(($a$$,$b$$)=>{var $date2Diff_dateDiff_groupByDiff_sysorderDiff$$=$a$$[$req$$.query.group_by].localeCompare($b$$[$req$$.query.group_by]);if($date2Diff_dateDiff_groupByDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_groupByDiff_sysorderDiff$$;$date2Diff_dateDiff_groupByDiff_sysorderDiff$$=$a$$.sysorder-$b$$.sysorder;if($date2Diff_dateDiff_groupByDiff_sysorderDiff$$!==
8
+ 0)return $date2Diff_dateDiff_groupByDiff_sysorderDiff$$;$date2Diff_dateDiff_groupByDiff_sysorderDiff$$=new Date($a$$.ngay_ct)-new Date($b$$.ngay_ct);if($date2Diff_dateDiff_groupByDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_groupByDiff_sysorderDiff$$;$date2Diff_dateDiff_groupByDiff_sysorderDiff$$=new Date($a$$.date_created)-new Date($b$$.date_created);if($date2Diff_dateDiff_groupByDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_groupByDiff_sysorderDiff$$;$a$$=$a$$.so_ct.localeCompare($b$$.so_ct);
9
+ return $a$$!==0?$a$$:0}));const $tong_cong$$={[$group_by$$?$group_by$$[0]:"ten_vt"]:"T\u1ed5ng c\u1ed9ng",sl_xuat:$report$$.csum("sl_xuat"),sl_nhap:$report$$.csum("sl_nhap"),sl_xuat_qd:$report$$.csum("sl_xuat_qd"),sl_nhap_qd:$report$$.csum("sl_nhap_qd"),sl_xuat_qd_bc:$report$$.csum("sl_xuat_qb_bc"),sl_nhap_qd_bc:$report$$.csum("sl_nhap_qd_bc"),tien_hang_nt:$report$$.csum("tien_hang_nt"),tien_hang_ct_nt:$report$$.csum("tien_hang_ct_nt"),tien_hang:$report$$.csum("tien_hang"),tien_hang_ct:$report$$.csum("tien_hang_ct"),
10
+ tien_cp:$report$$.csum("tien_cp"),tien_cp_nt:$report$$.csum("tien_cp_nt"),tien_ck_nt:$report$$.csum("tien_ck_nt"),tien_ck:$report$$.csum("tien_ck"),tien_thue:$report$$.csum("tien_thue"),tien_thue_nt:$report$$.csum("tien_thue_nt"),tien:$report$$.csum("tien"),tien_nt:$report$$.csum("tien_nt"),tt:$report$$.csum("tt"),tt_nt:$report$$.csum("tt_nt"),tien_xuat_tmp:$report$$.csum("tien_xuat_tmp"),tien_xuat:$report$$.csum("tien_xuat"),tien_nhap:$report$$.csum("tien_nhap"),loi_nhuan_tmp:$report$$.csum("loi_nhuan_tmp"),
11
+ loi_nhuan:$report$$.csum("loi_nhuan"),tien_hoa_hong:$report$$.csum("tien_hoa_hong"),tien_hoa_hong_gt:$report$$.csum("tien_hoa_hong_gt"),tien_hoa_hong_ctv:$report$$.csum("tien_hoa_hong_ctv"),tien_hoa_hong_ql:$report$$.csum("tien_hoa_hong_ql"),t_hoa_hong:$report$$.csum("t_hoa_hong"),sl_vt_du:$report$$.csum("sl_vt_du"),gt_vt_du:$report$$.csum("gt_vt_du"),sysorder:9,bold:!0};$report$$.push($tong_cong$$);$callback$$(null,$report$$)}catch($e$$){$callback$$($e$$)}})};
@@ -1,8 +1,8 @@
1
1
  const dtbanletheosp=require("../../libs/dtbanletheosp"),controller=require("../../controllers/controllerRPT");
2
2
  module.exports=function($router$$){new controller($router$$,"dtbanletheosp",async function($req$$,$callback$$){const $condition$$=$req$$.query;try{let $report$$=await dtbanletheosp($condition$$);await $report$$.asyncJoinModel2($condition$$.id_app,"dmvt",{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]});await $report$$.filter($r$$=>$r$$.ma_kh).asyncJoinModel2($condition$$.id_app,"customer",{where:{ma_kh:"ma_kh"},fields:["nh_kh"]});let $group_by$$=$req$$.query.group_by;$group_by$$&&(typeof $group_by$$==
3
- "string"&&($group_by$$=[$group_by$$]),$report$$=await $report$$.asyncGroupBy($group_by$$,"sl_xuat sl_nhap sl_xuat_qd sl_nhap_qd tien_hang_nt tien_hang_ct_nt tien_hang tien_hang_ct tien_cp tien_cp_nt tien_ck_nt tien_ck tien_thue tien_thue_nt tien tien_nt tt tt_nt tien_xuat_tmp tien_xuat tien_nhap loi_nhuan_tmp loi_nhuan tien_hoa_hong tien_hoa_hong_gt tien_hoa_hong_ctv tien_hoa_hong_ql t_hoa_hong".split(" ")));await $report$$.filter($r$$=>$r$$.ma_vt).asyncJoinModel2($condition$$.id_app,"dmvt",{where:"ma_vt",
4
- fields:["ten_vt","ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]});await $report$$.filter($r$$=>$r$$.ma_nvt).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt:"_id"},fields:["ten_nvt"]});await $report$$.filter($r$$=>$r$$.ma_nvt2).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt2:"_id"},fields:[{ten_nvt2:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_nvt3).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt3:"_id"},fields:[{ten_nvt3:"ten_nvt"}]});await $report$$.filter($r$$=>
3
+ "string"&&($group_by$$=[$group_by$$]),$report$$=await $report$$.asyncGroupBy($group_by$$,"sl_xuat sl_nhap sl_xuat_qd sl_nhap_qd sl_xuat_qd_bc sl_nhap_qd_bc tien_hang_nt tien_hang_ct_nt tien_hang tien_hang_ct tien_cp tien_cp_nt tien_ck_nt tien_ck tien_thue tien_thue_nt tien tien_nt tt tt_nt tien_xuat_tmp tien_xuat tien_nhap loi_nhuan_tmp loi_nhuan tien_hoa_hong tien_hoa_hong_gt tien_hoa_hong_ctv tien_hoa_hong_ql t_hoa_hong".split(" ")));await $report$$.filter($r$$=>$r$$.ma_vt).asyncJoinModel2($condition$$.id_app,
4
+ "dmvt",{where:"ma_vt",fields:["ten_vt","ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]});await $report$$.filter($r$$=>$r$$.ma_nvt).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt:"_id"},fields:["ten_nvt"]});await $report$$.filter($r$$=>$r$$.ma_nvt2).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt2:"_id"},fields:[{ten_nvt2:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_nvt3).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt3:"_id"},fields:[{ten_nvt3:"ten_nvt"}]});await $report$$.filter($r$$=>
5
5
  $r$$.ma_nvt4).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt4:"_id"},fields:[{ten_nvt4:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_kh).asyncJoinModel2($condition$$.id_app,"customer",{where:{ma_kh:"ma_kh"},fields:["ten_kh","nh_kh"]});await $report$$.filter($r$$=>$r$$.nh_kh).asyncJoinModel2($condition$$.id_app,"group",{where:{nh_kh:"_id"},fields:[{ten_nh_kh:"group_name"}]});await $report$$.filter($r$$=>$r$$.ma_bp).asyncJoinModel2($condition$$.id_app,"dmbp",{where:{ma_bp:"ma_bp"},
6
- fields:[{ten_bp:"ten_bp"}]});const $tong_cong$$={[$group_by$$?$group_by$$[0]:"ten_vt"]:"T\u1ed5ng c\u1ed9ng",sl_xuat:$report$$.csum("sl_xuat"),sl_nhap:$report$$.csum("sl_nhap"),sl_xuat_qd:$report$$.csum("sl_xuat_qd"),sl_nhap_qd:$report$$.csum("sl_nhap_qd"),tien_hang_nt:$report$$.csum("tien_hang_nt"),tien_hang_ct_nt:$report$$.csum("tien_hang_ct_nt"),tien_hang:$report$$.csum("tien_hang"),tien_hang_ct:$report$$.csum("tien_hang_ct"),tien_cp:$report$$.csum("tien_cp"),tien_cp_nt:$report$$.csum("tien_cp_nt"),
7
- tien_ck_nt:$report$$.csum("tien_ck_nt"),tien_ck:$report$$.csum("tien_ck"),tien_thue:$report$$.csum("tien_thue"),tien_thue_nt:$report$$.csum("tien_thue_nt"),tien:$report$$.csum("tien"),tien_nt:$report$$.csum("tien_nt"),tt:$report$$.csum("tt"),tt_nt:$report$$.csum("tt_nt"),tien_xuat_tmp:$report$$.csum("tien_xuat_tmp"),tien_xuat:$report$$.csum("tien_xuat"),tien_nhap:$report$$.csum("tien_nhap"),loi_nhuan_tmp:$report$$.csum("loi_nhuan_tmp"),loi_nhuan:$report$$.csum("loi_nhuan"),tien_hoa_hong:$report$$.csum("tien_hoa_hong"),
8
- tien_hoa_hong_gt:$report$$.csum("tien_hoa_hong_gt"),tien_hoa_hong_ctv:$report$$.csum("tien_hoa_hong_ctv"),tien_hoa_hong_ql:$report$$.csum("tien_hoa_hong_ql"),t_hoa_hong:$report$$.csum("t_hoa_hong"),bold:!0};$report$$.push($tong_cong$$);$callback$$(null,$report$$)}catch($e$$){$callback$$($e$$)}})};
6
+ fields:[{ten_bp:"ten_bp"}]});const $tong_cong$$={[$group_by$$?$group_by$$[0]:"ten_vt"]:"T\u1ed5ng c\u1ed9ng",sl_xuat:$report$$.csum("sl_xuat"),sl_nhap:$report$$.csum("sl_nhap"),sl_xuat_qd:$report$$.csum("sl_xuat_qd"),sl_nhap_qd:$report$$.csum("sl_nhap_qd"),sl_xuat_qd_bc:$report$$.csum("sl_xuat_qd_bc"),sl_nhap_qd_bc:$report$$.csum("sl_nhap_qd_bc"),tien_hang_nt:$report$$.csum("tien_hang_nt"),tien_hang_ct_nt:$report$$.csum("tien_hang_ct_nt"),tien_hang:$report$$.csum("tien_hang"),tien_hang_ct:$report$$.csum("tien_hang_ct"),
7
+ tien_cp:$report$$.csum("tien_cp"),tien_cp_nt:$report$$.csum("tien_cp_nt"),tien_ck_nt:$report$$.csum("tien_ck_nt"),tien_ck:$report$$.csum("tien_ck"),tien_thue:$report$$.csum("tien_thue"),tien_thue_nt:$report$$.csum("tien_thue_nt"),tien:$report$$.csum("tien"),tien_nt:$report$$.csum("tien_nt"),tt:$report$$.csum("tt"),tt_nt:$report$$.csum("tt_nt"),tien_xuat_tmp:$report$$.csum("tien_xuat_tmp"),tien_xuat:$report$$.csum("tien_xuat"),tien_nhap:$report$$.csum("tien_nhap"),loi_nhuan_tmp:$report$$.csum("loi_nhuan_tmp"),
8
+ loi_nhuan:$report$$.csum("loi_nhuan"),tien_hoa_hong:$report$$.csum("tien_hoa_hong"),tien_hoa_hong_gt:$report$$.csum("tien_hoa_hong_gt"),tien_hoa_hong_ctv:$report$$.csum("tien_hoa_hong_ctv"),tien_hoa_hong_ql:$report$$.csum("tien_hoa_hong_ql"),t_hoa_hong:$report$$.csum("t_hoa_hong"),bold:!0};$report$$.push($tong_cong$$);$callback$$(null,$report$$)}catch($e$$){$callback$$($e$$)}})};
@@ -2,8 +2,8 @@ const dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),dmkho=global.get
2
2
  module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,check_stock:!1,sort:{trang_thai:1,ngay_ct:-1,so_ct:-1}});$contr_router$$.route();const $valid$$=function($user$$,$obj$$,$next$$){for(let $i$$=0;$i$$<$obj$$.details.length;$i$$++){const $detail$$=$obj$$.details[$i$$];$detail$$.line=$i$$;$obj$$.ma_nt=="VND"&&($detail$$.tien=$detail$$.tien_nt,$detail$$.tien_ck=$detail$$.tien_ck_nt,$detail$$.gia=$detail$$.gia_nt)}$obj$$.ma_dvcs?
3
3
  $next$$(null,$obj$$):dvcs.findOne({id_app:$user$$.current_id_app},{_id:1},function($error$$,$dv$$){return $error$$?$next$$($error$$):$dv$$?($obj$$.ma_dvcs=$dv$$._id.toString(),$next$$(null,$obj$$)):$next$$("C\u00f4ng ty/c\u1eeda h\u00e0ng n\u00e0y ch\u01b0a c\u00f3 m\u1ed9t \u0111\u01a1n v\u1ecb c\u01a1 s\u1edf n\u00e0o")})};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$valid$$($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);
4
4
  $next$$(null,$obj$$)})};$contr_router$$.created=function($user$$,$obj$$,$next$$){$next$$(null,$obj$$)};$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){$valid$$($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.updated=function($user$$,$obj$$,$next$$){$next$$(null,$obj$$)};$contr_router$$.deleting=function($user$$,$obj$$,$next$$){$next$$(null,$obj$$)};$contr_router$$.view=function($user$$,$items$$,$fn$$){const $id_app$$=
5
- $user$$.current_id_app;async.parallel({kh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel($id_app$$,customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){$callback$$()})},kho:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kho).joinModel($id_app$$,dmkho,[{akey:"ma_kho",bkey:"ma_kho",fields:[{name:"ten_kho",value:"ten_kho"}]}],function(){$callback$$()})},dt:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,
6
- dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback$$()})},contract:function($callback$$){$items$$.joinModel2($id_app$$,sale_contract,[{where:{_id:"id_bao_gia"},fields:[{name:"id_contract",value:"_id"}]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.details?
5
+ $user$$.current_id_app;async.parallel({kh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,[{where:"ma_kh",fields:["ten_kh"]}],function(){$callback$$()})},kho:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kho).joinModel($id_app$$,dmkho,[{akey:"ma_kho",bkey:"ma_kho",fields:[{name:"ten_kho",value:"ten_kho"}]}],function(){$callback$$()})},dt:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",
6
+ fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback$$()})},contract:function($callback$$){$items$$.joinModel2($id_app$$,sale_contract,[{where:{_id:"id_bao_gia"},fields:[{name:"id_contract",value:"_id"}]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.details?
7
7
  ($r$$.t_sl=$r$$.details.csum("so_luong"),$r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck")+($r$$.tien_ck_hd|0),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt")+($r$$.tien_ck_hd|0),$r$$.t_tt=$r$$.t_tien-$r$$.t_ck+($r$$.t_thue|0),$r$$.t_tt_nt=$r$$.t_tien_nt-$r$$.t_ck_nt+($r$$.t_thue_nt|0)):($r$$.t_sl=0,$r$$.t_tien=0,$r$$.t_tien_nt=0,$r$$.t_ck=0,$r$$.t_ck_nt=0,$r$$.t_tt=0,$r$$.t_tt_nt=0)});$callback$$()},details_vt:function($callback$$){async.each($items$$,
8
8
  function($r$$,$callback1$$){($r$$.details||[]).joinModel($id_app$$,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapLimit($items$$,20,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_contract:function($callback$$){async.mapLimit($items$$,
9
9
  20,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_hd).joinModel($id_app$$,contract,[{akey:"ma_hd",bkey:"so_hd",fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_phi:function($callback$$){async.mapLimit($items$$,20,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_phi).joinModel($id_app$$,dmphi,[{akey:"ma_phi",bkey:"ma_phi",fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})},
@@ -1,12 +1,12 @@
1
- const dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),customer=global.getModel("customer"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),contract=global.getModel("contract"),po1=global.getModel("po1"),dnm=global.getModel("dnm"),model=global.getModel("bg2"),purchase_contract=global.getModel("purchase_contract"),controller=require("../../controllers/controller"),async=require("async"),ma_ct="BG2",trangthai=global.getModel("trangthai");
1
+ const dmvt=global.getModel("dmvt"),customer=global.getModel("customer"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),contract=global.getModel("contract"),po1=global.getModel("po1"),dnm=global.getModel("dnm"),model=global.getModel("bg2"),purchase_contract=global.getModel("purchase_contract"),controller=require("../../controllers/controller"),async=require("async"),ma_ct="BG2",trangthai=global.getModel("trangthai");
2
2
  module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,check_stock:!1,sort:{ngay_ct:-1,so_ct:-1}});$contr_router$$.route();const $valid$$=function($i_user$$,$obj$$,$next$$){for($i_user$$=0;$i_user$$<$obj$$.details.length;$i_user$$++){const $detail$$=$obj$$.details[$i_user$$];$detail$$.line=$i_user$$;$detail$$.tt_nt=$detail$$.tien_nt-$detail$$.tien_ck_nt;$detail$$.tt=$detail$$.tien-$detail$$.tien_ck;$obj$$.ma_nt=="VND"&&($detail$$.tien=
3
3
  $detail$$.tien_nt,$detail$$.tien_ck=$detail$$.tien_ck_nt,$detail$$.tt=$detail$$.tt_nt)}$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$obj$$.id_po1="";$valid$$($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){$valid$$($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};
4
4
  $contr_router$$.deleting=function($user$$,$obj$$,$next$$){$next$$(null,$obj$$)};$contr_router$$.on("saved",function($obj$$){$obj$$.id_dnm&&$obj$$.trang_thai=="3"&&dnm.updateMany({_id:$obj$$.id_dnm,id_app:$obj$$.id_app,trang_thai:{$ne:"7"}},{id_bg2:$obj$$._id.toString(),trang_thai:"6"},()=>{dnm.findOne({_id:$obj$$.id_dnm,id_app:$obj$$.id_app},($e$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.DNM,$e$$=>{$e$$&&console.error($e$$)})})})});$contr_router$$.on("deleted",function($obj$$){$obj$$.id_dnm&&
5
- dnm.updateMany({_id:$obj$$.id_dnm,id_app:$obj$$.id_app,trang_thai:"6",id_bg2:$obj$$._id.toString()},{trang_thai:"3",id_bg2:""},($e$$,$rs$$)=>{console.log("update trang thai dnm",$rs$$);dnm.findOne({_id:$obj$$.id_dnm,id_app:$obj$$.id_app},($e$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.DNM,$e$$=>{$e$$&&console.error($e$$)})})})});$contr_router$$.view=function($user$$,$items$$,$fn$$){const $id_app$$=$user$$.current_id_app;async.series({dv:function($callback$$){$items$$.filter($item$$=>
6
- $item$$.ma_dvcs).joinModel($id_app$$,dvcs,[{akey:"ma_dvcs",bkey:"_id",fields:[{name:"ten_dvcs",value:"ten_dvcs"}]}],function(){$callback$$()})},kh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel($id_app$$,customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){$callback$$()})},ma_bp:function($callback$$){$items$$.filter($item$$=>$item$$.ma_bp).joinModel($id_app$$,dmbp,[{akey:"ma_bp",bkey:"ma_bp",fields:[{name:"ten_bp",value:"ten_bp"}]}],function(){$callback$$()})},
7
- ma_nv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_nv).joinModel($id_app$$,dmnv,[{akey:"ma_nv",bkey:"ma_nv",fields:[{name:"ten_nv",value:"ten_nv"}]}],function(){$callback$$()})},dt:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback$$()})},contract:function($callback$$){$items$$.joinModel2($id_app$$,purchase_contract,[{where:{_id:"id_bao_gia"},fields:[{name:"id_contract",
8
- value:"_id"}]}],function(){$callback$$()})},po1:function($callback$$){$items$$.joinModel2($id_app$$,po1,[{where:{_id:"id_bao_gia"},fields:[{name:"id_po1",value:"_id"}]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.t_tt=0;$r$$.t_tt_nt=
9
- 0;$r$$.details&&($r$$.t_sl=$r$$.details.csum("so_luong"),$r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.t_thue_nk_nt=$r$$.details.csum("tien_thue_nk_nt"),$r$$.t_thue_nk=$r$$.details.csum("tien_thue_nk"),$r$$.t_tt=$r$$.t_tien+($r$$.t_thue|0)-$r$$.t_ck+$r$$.t_thue_nk,$r$$.t_tt_nt=$r$$.t_tien_nt+($r$$.t_thue_nt|0)-$r$$.t_ck_nt+$r$$.t_thue_nk_nt)});$callback$$()},details_vt:function($callback$$){async.each($items$$,
10
- function($r$$,$callback1$$){($r$$.details||[]).joinModel($id_app$$,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_kh:function($callback$$){async.each($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,{where:"ma_kh",fields:"ten_kh"},function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,
11
- function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_contract:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_kh).joinModel($id_app$$,contract,[{akey:"ma_hd",bkey:"so_hd",fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback1$$()})},function(){$callback$$()})},
12
- details_phi:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_phi).joinModel($id_app$$,dmphi,[{akey:"ma_phi",bkey:"ma_phi",fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){$fn$$(null,$items$$)})}};
5
+ dnm.updateMany({_id:$obj$$.id_dnm,id_app:$obj$$.id_app,trang_thai:"6",id_bg2:$obj$$._id.toString()},{trang_thai:"3",id_bg2:""},($e$$,$rs$$)=>{console.log("update trang thai dnm",$rs$$);dnm.findOne({_id:$obj$$.id_dnm,id_app:$obj$$.id_app},($e$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.DNM,$e$$=>{$e$$&&console.error($e$$)})})})});$contr_router$$.view=function($user$$,$items$$,$fn$$){const $id_app$$=$user$$.current_id_app;async.parallel({kh:function($callback$$){$items$$.filter($item$$=>
6
+ $item$$.ma_kh).joinModel2($id_app$$,customer,[{where:"ma_kh",fields:["ten_kh"]}],function(){$callback$$()})},ma_bp:function($callback$$){$items$$.filter($item$$=>$item$$.ma_bp).joinModel($id_app$$,dmbp,[{akey:"ma_bp",bkey:"ma_bp",fields:[{name:"ten_bp",value:"ten_bp"}]}],function(){$callback$$()})},ma_nv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_nv).joinModel($id_app$$,dmnv,[{akey:"ma_nv",bkey:"ma_nv",fields:[{name:"ten_nv",value:"ten_nv"}]}],function(){$callback$$()})},dt:function($callback$$){$items$$.filter($item$$=>
7
+ $item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback$$()})},contract:function($callback$$){$items$$.joinModel2($id_app$$,purchase_contract,[{where:{_id:"id_bao_gia"},fields:[{name:"id_contract",value:"_id"}]}],function(){$callback$$()})},po1:function($callback$$){$items$$.joinModel2($id_app$$,po1,[{where:{_id:"id_bao_gia"},fields:[{name:"id_po1",value:"_id"}]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>
8
+ $item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.t_tt=0;$r$$.t_tt_nt=0;$r$$.details&&($r$$.t_sl=$r$$.details.csum("so_luong"),$r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.t_thue_nk_nt=$r$$.details.csum("tien_thue_nk_nt"),
9
+ $r$$.t_thue_nk=$r$$.details.csum("tien_thue_nk"),$r$$.t_tt=$r$$.t_tien+($r$$.t_thue|0)-$r$$.t_ck+$r$$.t_thue_nk,$r$$.t_tt_nt=$r$$.t_tien_nt+($r$$.t_thue_nt|0)-$r$$.t_ck_nt+$r$$.t_thue_nk_nt)});$callback$$()},details_vt:function($callback$$){async.each($items$$,function($r$$,$callback1$$){($r$$.details||[]).joinModel($id_app$$,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_kh:function($callback$$){async.each($items$$,
10
+ function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,{where:"ma_kh",fields:"ten_kh"},function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_contract:function($callback$$){async.mapSeries($items$$,
11
+ function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_kh).joinModel($id_app$$,contract,[{akey:"ma_hd",bkey:"so_hd",fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_phi:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).filter($item$$=>$item$$.ma_phi).joinModel($id_app$$,dmphi,[{akey:"ma_phi",bkey:"ma_phi",fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})},
12
+ function(){$callback$$()})}},function(){$fn$$(null,$items$$)})}};