UNPKG

flexbiz-server

Version:

Flexible Server

10 lines (9 loc) 4.06 kB
'use strict';const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,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,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,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}});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}; 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", 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, 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]}});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}); (global.configs||{}).createIndexes&&(pxcSchema.index({dien_giai:"text",so_ct:"text",ma_kho_x:"text",ten_kho_x:"text",ma_kho_n:"text",ten_kho_n:"text"},{name:"pxc_index_text"}),pxcSchema.index({ma_ct:1}),pxcSchema.index({user_created:1,date_created:-1}),pxcSchema.index({date_updated:-1}),pxcSchema.index({id_dn:1}),pxcSchema.index({id_pnc:1}),pxcSchema.index({"details.ma_vt":1}),pxcSchema.index({status:1}),pxcSchema.index({user_created:1,visible_to:1,visible_to_users:1}),pxcSchema.index({trang_thai:1})); const model=mongoose.models.pxc||mongoose.model("pxc",pxcSchema);model.referenceKeys={_id:[{model:"pnc",key:"id_px",error:"Phi\u1ebfu xu\u1ea5t \u0111i\u1ec1u chuy\u1ec3n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c nh\u1eadp kho"}]};module.exports=model;