kpiplus
Version:
KPI+
1 lines • 1.79 kB
JavaScript
var validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),detailSchema=new Schema({id_ts:{type:String},tk_no:{type:String,required:!0,uppercase:!0},tk_co:{type:String,required:!0,uppercase:!0},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},ma_bp:{type:String,uppercase:!0,default:""},ma_phi:{type:String,uppercase:!0,default:""},ma_hd:{type:String,uppercase:!0,default:""},ma_dt:{type:String,uppercase:!0,default:""},ma_nv:{type:String,uppercase:!0,default:""},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_no:validAccount.existsTk,tk_co:validAccount.existsTk};var pkhSchema=new Schema({id_app:{type:String,required:!0},ma_dvcs:{type:String,required:!0},ma_ct:{type:String,default:"pkh",required:!0,uppercase:!0},ma_gd:{type:String,default:"0"},so_ct:{type:String,required:!0,uppercase:!0,trim:!0},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"ma_nt is required",default:"VND",trim:!0,uppercase:!0},ty_gia:{type:Number,required:!0,min:0,default:1},dien_giai:{type:String,default:""},exfields:Schema.Types.Mixed,trang_thai:String,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],details:{type:[detailSchema]}});pkhSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook},pkhSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),pkhSchema.index({dien_giai:1}),pkhSchema.index({ma_ct:1}),pkhSchema.index({user_created:1,date_created:-1}),pkhSchema.index({date_updated:-1}),module.exports=mongoose.model("pkh",pkhSchema);