flexbiz-server
Version:
Flexible Server
20 lines (19 loc) • 9.04 kB
JavaScript
'use strict';const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ma_dvt:{type:String,required:!0,maxlength:32},ma_kho:{type:String,uppercase:!0,maxlength:32},ma_nvt:String,tk_vt:{type:String,uppercase:!0,maxlength:32},tk_gv:{type:String,uppercase:!0,maxlength:32},tk_dt:{type:String,uppercase:!0,maxlength:32},tk_ck:{type:String,uppercase:!0,
maxlength:32},px_gia_dd:{type:Boolean,default:!1},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_xuat:{type:Number,default:0},he_so_qd:{type:Number,default:1},sl_xuat_qd:Number,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},gia_mua:{type:Number,default:0},tien_xuat_tmp:{type:Number,default:0},gia_ban_ct_nt:{type:Number},gia_ban_ct:{type:Number},tien_ct:{type:Number,default:0},tien_ct_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},gia_ban_niem_yet_nt:Number,gia_ban:{type:Number,default:0},gia_ban_nt:{type:Number,default:0},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},id_cs_ck:String,ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tt_nt:{type:Number,default:0},tt:{type:Number,default:0},promotion:Schema.Types.Mixed,dien_giai:{type:String,
maxlength:1024},ten_vt_vat: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,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},nh_tt:String,ma_tt2:{type:String,default:"",uppercase:!0,
maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ty_le_hoa_hong:Number,tien_hoa_hong:Number,chuyen_ngay:Boolean,tk_no_hoa_hong:String,tk_co_hoa_hong:String,ty_le_hoa_hong_gt:Number,tien_hoa_hong_gt:Number,chuyen_ngay_gt:Boolean,tk_no_hoa_hong_gt:String,tk_co_hoa_hong_gt:String,ty_le_hoa_hong_ctv:Number,tien_hoa_hong_ctv:Number,chuyen_ngay_ctv:Boolean,tk_cn_ctv:String,tk_cp_ctv:String,ty_le_hoa_hong_ctv2:Number,tien_hoa_hong_ctv2:Number,ty_le_hoa_hong_ql:Number,tien_hoa_hong_ql:Number,
chuyen_ngay_ql:Boolean,tk_no_hoa_hong_ql:String,tk_co_hoa_hong_ql:String,ty_le_hoa_hong_kho:Number,tien_hoa_hong_kho:Number,chuyen_ngay_kho:Boolean,tk_no_hoa_hong_kho:String,tk_co_hoa_hong_kho:String,combo:Schema.Types.Mixed,ma_td1:Schema.Types.Mixed,ma_td2:Schema.Types.Mixed,ma_td3:Schema.Types.Mixed,ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,sl_ap_dung_km:{type:Number,default:0},km_yn_for:String,
id_cs:String,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,tk_gv:validAccount.existsTk,tk_dt:validAccount.existsTk,tk_ck:validAccount.existsTk,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
const hd2Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"HD2",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},
ong_ba:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ten_kh:String,ma_so_thue:{type:String,maxlength:1024},tk_no:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},id_invoice:String,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},dia_chi:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},dien_giai_thue:{type:String,default:"",maxlength:1024},tien_thue_dc_nt:Number,t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},tien_phi_vc:{type:Number,default:0},tien_phi_vc_nt:{type:Number,default:0},tk_phi_vc:String,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]},promotion:Schema.Types.Mixed,
id_contract:{type:String,maxlength:1024},id_dh2:{type:String,maxlength:1024},ma_kho:{type:String,uppercase:!0,maxlength:32},ma_kho_npp:{type:String,uppercase:!0,maxlength:32},of_user:{type:String},id_cs_ck_hd:String,ty_le_ck_hd:{type:Number,default:0},tien_ck_hd:{type:Number,default:0},tk_ck:String,result_export_einvoice:Schema.Types.Mixed,ma_nv:{type:String,uppercase:!0,maxlength:32},user_nv:String,ma_kh_hoa_hong:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong:Number,tien_hoa_hong:Number,
tk_no_hoa_hong:String,tk_co_hoa_hong:String,tu_tinh_hoa_hong:Boolean,chuyen_ngay:Boolean,da_chuyen_hoa_hong:Boolean,user_gt:String,introduce_code:String,ma_kh_hoa_hong_gt:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_gt:Number,tien_hoa_hong_gt:Number,tk_no_hoa_hong_gt:String,tk_co_hoa_hong_gt:String,chuyen_ngay_gt:Boolean,da_chuyen_hoa_hong_gt:Boolean,user_ctv:String,ma_ctv:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_ctv:Number,thu_nhap_ctv:Number,tk_cp_ctv:String,tk_cn_ctv:String,
chuyen_ngay_ctv:Boolean,da_chuyen_hoa_hong_ctv:Boolean,user_ctv2:String,ma_ctv2:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_ctv2:Number,thu_nhap_ctv2:Number,user_ql:String,ma_kh_hoa_hong_ql:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_ql:Number,tien_hoa_hong_ql:Number,tk_no_hoa_hong_ql:String,tk_co_hoa_hong_ql:String,chuyen_ngay_ql:Boolean,da_chuyen_hoa_hong_ql:Boolean,user_kho:String,ma_kh_hoa_hong_kho:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_kho:Number,tien_hoa_hong_kho:Number,
tk_no_hoa_hong_kho:String,tk_co_hoa_hong_kho:String,chuyen_ngay_kho:Boolean,da_chuyen_hoa_hong_kho:Boolean,trang_thai_dh:String,user_nv_dong_hang:{type:String,maxlength:128},ngay_dong_hang:Date,ngay_hoan_dong_hang:Date,ngay_dong_hang_hoan_thanh:Date,trang_thai_gh:String,user_nv_giao_hang:{type:String,maxlength:128},ngay_giao_hang:Date,ngay_hoan_giao_hang:Date,ngay_kg_giao_duoc:Date,ngay_giao_hang_hoan_thanh:Date,khong_tinh_lai_hoa_hong:Boolean,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_lo:{type:String,uppercase:!0,maxlength:32},id_client:String});hd2Schema.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&&(hd2Schema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),hd2Schema.index({dien_giai:"text",ma_kh:"text",ten_kh:"text",so_ct:"text"},{name:"hd2_index_text"}),hd2Schema.index({ma_ct:1}),hd2Schema.index({ma_kh:1}),hd2Schema.index({ma_kho:1}),hd2Schema.index({ma_kho_npp:1}),hd2Schema.index({of_user:1}),hd2Schema.index({"details.ma_vt":1}),hd2Schema.index({"details.id_cs_ck":1}),hd2Schema.index({"details.id_cs":1}),hd2Schema.index({id_cs_ck_hd:1}),hd2Schema.index({id_dh2:1}),
hd2Schema.index({id_contract:1}),hd2Schema.index({user_created:1,date_created:-1}),hd2Schema.index({date_updated:-1}),hd2Schema.index({user_nv:1}),hd2Schema.index({user_gt:1}),hd2Schema.index({user_ctv:1}),hd2Schema.index({user_ql:1}),hd2Schema.index({user_ctv2:1}),hd2Schema.index({user_kho:1}),hd2Schema.index({trang_thai_dh:1}),hd2Schema.index({trang_thai_gh:1}),hd2Schema.index({user_nv_dong_hang:1}),hd2Schema.index({user_nv_giao_hang:1}),hd2Schema.index({status:1}),hd2Schema.index({user_created:1,
visible_to:1,visible_to_users:1}),hd2Schema.index({trang_thai:1}),hd2Schema.index({id_client:1}));module.exports=mongoose.models.hd2||mongoose.model("hd2",hd2Schema);