flexbiz-server
Version:
Flexible Server
12 lines (11 loc) • 4.61 kB
JavaScript
;const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),detailSchema=new Schema({dien_giai:{type:String,default:"",maxlength:1024},ma_evoucher:{type:String,maxlength:32},ma_dvt:{type:String,maxlength:32},sl_xuat:{type:Number,default:0},gia_ban:{type:Number,default:0},gia_ban_nt:{type:Number,default:0},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},tk_dt:{type:String,required:"B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n doanh thu",
uppercase:!0,maxlength:32},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tk_ck:{type:String,uppercase:!0,maxlength:32},ma_thue:String,thue_suat:{type:Number,default:0},tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},ten_vt_vat:{type:String},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32},ma_dt:{type:String,
uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,uppercase:!0,default:"",maxlength:32},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_dt:validAccount.existsTk,tk_ck:validAccount.existsTk};
const hdeSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"HDE",required:!0,uppercase:!0,maxlength:32},ma_gd:{type:String,default:"0",maxlength:32},so_ct:{type:String,required:"B\u1ea1n ch\u01b0a nh\u1eadp s\u1ed1 ch\u1ee9ng t\u1eeb",uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"B\u1ea1n ch\u01b0a nh\u1eadp m\u00e3 ngo\u1ea1i t\u1ec7",default:"VND",
trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},ong_ba:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,required:"B\u1ea1n ch\u01b0a nh\u1eadp m\u00e3 kh\u00e1ch h\u00e0ng",default:"",maxlength:32},ma_so_thue:{type:String,maxlength:1024},tk_no:{type:String,uppercase:!0,required:"B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n n\u1ee3",default:"",maxlength:32},ma_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,
default:"",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,maxlength:32},so_seri:{type:String,uppercase:!0,maxlength:32},ngay_hd:{type:Date,uppercase:!0},ma_thue:{type:String,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_co:{type:String,uppercase:!0,maxlength:32},ten_kh:{type:String,default:"",maxlength:1024},dia_chi:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},dien_giai_thue:{type:String,default:"",maxlength:1024},
t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},han_tt:{type:Number,default:0},hinh_thuc_tt:{type:String,maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],
update_right:[String],delete_right:[String],details:{type:[detailSchema]},id_contract:{type:String,maxlength:1024},result_export_einvoice:Schema.Types.Mixed,ma_bp:{type:String,uppercase:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,maxlength:32},ma_dt:{type:String,uppercase:!0,maxlength:32},ma_nv:{type:String,uppercase:!0,maxlength:32},ma_lo:{type:String,uppercase:!0,maxlength:32},ma_kho:String,ten_kho:String});
hdeSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,tk_no:validAccount.existsTk,ma_thue:validator.existsVat,tk_thue_co:validAccount.existsTk};
(global.configs||{}).createIndexes&&(hdeSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),hdeSchema.index({dien_giai:"text",so_ct:"text",ma_kh:"text",ten_kh:"text"},{name:"hde_index_text"}),hdeSchema.index({ma_ct:1}),hdeSchema.index({"details.ma_evoucher":1}),hdeSchema.index({ma_kh:1}),hdeSchema.index({user_created:1,date_created:-1}),hdeSchema.index({date_updated:-1}),hdeSchema.index({status:1}),hdeSchema.index({user_created:1,visible_to:1,visible_to_users:1}),hdeSchema.index({trang_thai:1}));
module.exports=mongoose.models.hde||mongoose.model("hde",hdeSchema);