flexbiz-server 12.3.35 → 12.3.37
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.
- package/package.json +1 -1
- package/server/models/approve.js +1 -1
- package/server/models/cache.js +3 -1
- package/server/models/calllog.js +2 -1
- package/server/models/cart.js +2 -2
- package/server/models/cddt.js +1 -1
- package/server/models/cdkh.js +2 -1
- package/server/models/cdkhtheongay.js +2 -1
- package/server/models/cdnphep.js +1 -1
- package/server/models/cdtk.js +1 -1
- package/server/models/cdtktheongay.js +1 -1
- package/server/models/counter.js +1 -1
- package/server/models/currency.js +2 -2
- package/server/models/dmbp.js +2 -2
- package/server/models/dmdvt.js +2 -2
- package/server/models/dmkc.js +1 -1
- package/server/models/dmkho.js +3 -2
- package/server/models/dmlo.js +2 -1
- package/server/models/dmnghiepvu.js +2 -2
- package/server/models/dmqct.js +1 -1
- package/server/models/dmqddvt.js +2 -1
- package/server/models/dmyt.js +1 -1
- package/server/models/dvcs.js +1 -1
- package/server/models/giatb.js +1 -1
- package/server/models/hd1.js +2 -2
- package/server/models/kbbtpb.js +2 -1
- package/server/models/lenhsx.js +2 -2
- package/server/models/lienhe.js +2 -2
- package/server/models/mailaccount.js +1 -1
- package/server/models/ptthanhtoan.js +2 -2
- package/server/models/qts.js +2 -2
- package/server/models/receivedinvoice.js +2 -2
- package/server/models/usergroup.js +3 -3
- package/server/models/vat.js +1 -1
- package/server/models/vatra.js +2 -2
- package/server/models/vatvao.js +2 -2
- package/server/models/warranty.js +2 -2
- package/server/services/invoiceFetcher.js +7 -7
package/package.json
CHANGED
package/server/models/approve.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';const App=require("./app"),Options=require("./options"),ngcompile=require("ng-node-compile"),utils=require("../libs/utils"),File=require("./file"),underscore=require("underscore"),moment=require("moment"),participant=require("./participant"),_=require("lodash"),approveSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_ct:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,required:!0,maxlength:32,trim:!0},trang_thai:{type:String},user_request:{type:String,required:!0,
|
|
2
2
|
maxlength:128,trim:!0},user_request_name:{type:String,required:!0,maxlength:1024},template_content:String,request_content:String,user_approves:[{email:{type:String,maxlength:128,trim:!0},name:{type:String,maxlength:1024}}],user_approved:{type:String,maxlength:128,trim:!0},user_approved_name:{type:String,maxlength:1024},date_approved:Date,approved_reason:String,user_denied:{type:String,maxlength:128,trim:!0},user_denied_name:{type:String,maxlength:1024},date_denied:Date,denied_reason:{type:String,
|
|
3
3
|
maxlength:4E3},update_after_approve:Schema.Types.Mixed,update_after_deny:Schema.Types.Mixed,title:{type:String,maxlength:1024},data:Schema.Types.Mixed,status:{type:Boolean,default:!1},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:2},visible_to_users:[String]});
|
|
4
|
-
(global.configs||{}).createIndexes&&(approveSchema.index({id_ct:1,id_app:1}),approveSchema.index({id_ct:1}),approveSchema.index({trang_thai:1}),approveSchema.index({user_approved:1}),approveSchema.index({user_denied:1}),approveSchema.index({status:1}),approveSchema.index({date_created:1}),approveSchema.index({
|
|
4
|
+
(global.configs||{}).createIndexes&&(approveSchema.index({id_ct:1,id_app:1}),approveSchema.index({id_ct:1}),approveSchema.index({id_app:1,trang_thai:1}),approveSchema.index({id_app:1,user_approved:1}),approveSchema.index({id_app:1,user_denied:1}),approveSchema.index({id_app:1,status:1}),approveSchema.index({id_app:1,date_created:1}),approveSchema.index({id_app:1,user_request:"text",user_request_name:"text"},{name:"approve_index"}));const model=mongoose.models.approve||mongoose.model("approve",approveSchema);
|
|
5
5
|
let renderRequests=$requests$$=>$requests$$&&0!==$requests$$.length?`
|
|
6
6
|
<p style='margin-top:50px'>
|
|
7
7
|
<hr/>
|
package/server/models/cache.js
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
'use strict';const cacheSchema=new Schema({user:String,id_app:String,key:{type:String,required:!0},query:String,page:Number,data:String,date_created:{type:Date,default:Date.now}});
|
|
1
|
+
'use strict';const cacheSchema=new Schema({user:String,id_app:String,key:{type:String,required:!0},query:String,page:Number,data:String,date_created:{type:Date,default:Date.now}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(cacheSchema.index({user:1}),cacheSchema.index({id_app:1}),cacheSchema.index({key:1}),cacheSchema.index({page:1}),cacheSchema.index({query:"text"}),cacheSchema.index({data:"text"}),cacheSchema.index({id_app:1,key:1}),cacheSchema.index({id_app:1,user:1}),cacheSchema.index({id_app:1,user:1,key:1}),cacheSchema.index({id_app:1,user:1,query:1}),cacheSchema.index({id_app:1,user:1,key:1,query:1}));const model=mongoose.models.cache||mongoose.model("cache",cacheSchema);
|
|
3
|
+
module.exports=model;
|
package/server/models/calllog.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
'use strict';const calllogSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},phone:{type:String,required:!0,maxlength:32},extend:{type:String,maxlength:32},type:{type:String,maxlength:32},call_status:{type:String,required:!0,maxlength:32},callid:String,msgid:String,calldate:Date,recording:String,play:String,eplay:String,download:String,did:String,src:String,dst:String,note:String,disposition:String,lastapp:String,billsec:String,duration:String,duration_minutes:String,duration_seconds:String,
|
|
2
2
|
hotline:{type:String,maxlength:32},id_kh:{type:String,maxlength:1024},ma_kh:String,ten_kh:String,dia_chi:String,ds_dien_thoai_khac:String,dien_thoai:String,dien_thoai2:String,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:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]});
|
|
3
|
-
(global.configs||{}).createIndexes&&(calllogSchema.index({phone:1,
|
|
3
|
+
(global.configs||{}).createIndexes&&(calllogSchema.index({id_app:1,phone:1,extend:1}),calllogSchema.index({id_app:1,ma_kh:1,ten_kh:1}),calllogSchema.index({id_app:1,dien_thoai:1,dien_thoai2:1}),calllogSchema.index({id_app:1,phone:1,extend:1,id_kh:1}),calllogSchema.index({id_app:1,phone:"text"},{name:"calllog_index"}),calllogSchema.index({id_app:1,status:1}),calllogSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),calllogSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,
|
|
4
|
+
phone:1}));const model=mongoose.models.calllog||mongoose.model("calllog",calllogSchema);module.exports=model;
|
package/server/models/cart.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use strict';const cartSchema=new Schema({id_app:{type:String,required:!0},id_app_vt:{type:String,maxlength:1024},user:{type:String},ma_vt:{type:String,required:!0,maxlength:1024,trim:!0},ten_vt:String,ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},thuoc_tinh:Schema.Types.Mixed,km_yn_for:String,sl_xuat:{type:Number,default:1},gia_ban:{type:Number,default:0},ma_vt_tt:{type:String,maxlength:1024,trim:!0},id_cs:String,collection_cs:String,ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,
|
|
2
2
|
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},ma_tinh_thanh:String,ma_quan_huyen:String,ma_xa_phuong:String,shared:{type:Boolean,default:!0},trang_thai:{type:String,default:"0"},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,
|
|
3
3
|
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],dataview_to:{type:Number,default:0},dataview_to_users:[String],session_created:String,session_updated:String,dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]}});
|
|
4
|
-
(global.configs||{}).createIndexes&&(cartSchema.index({id_app:1,user:1}),cartSchema.index({user:"text",ma_vt:"text",ten_vt:"text"},{name:"cart_index"}),cartSchema.index({trang_thai:1}),cartSchema.index({status:1}),cartSchema.index({ma_tt1:1}),cartSchema.index({ma_tt2:1}),cartSchema.index({ma_tt3:1}),cartSchema.index({ma_lo:1}),cartSchema.index({
|
|
5
|
-
visible_to_users:1}));const model=mongoose.models.cart||mongoose.model("cart",cartSchema);module.exports=model;
|
|
4
|
+
(global.configs||{}).createIndexes&&(cartSchema.index({id_app:1,user:1}),cartSchema.index({id_app:1,user:"text",ma_vt:"text",ten_vt:"text"},{name:"cart_index"}),cartSchema.index({id_app:1,trang_thai:1}),cartSchema.index({id_app:1,status:1}),cartSchema.index({id_app:1,ma_tt1:1}),cartSchema.index({id_app:1,ma_tt2:1}),cartSchema.index({id_app:1,ma_tt3:1}),cartSchema.index({id_app:1,ma_lo:1}),cartSchema.index({id_app:1,session_created:1}),cartSchema.index({id_app:1,session_updated:1}),cartSchema.index({id_app:1,
|
|
5
|
+
han_sd:1}),cartSchema.index({id_app:1,km_yn_for:1}),cartSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1}));const model=mongoose.models.cart||mongoose.model("cart",cartSchema);module.exports=model;
|
package/server/models/cddt.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const dmdt=global.getModel("dmdt"),validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),cddtScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},nam:{type:Number,required:!0},ma_dvcs:{type:String,maxlength:1024},tk:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_dt:{type:String,required:"V\u1ee5 vi\u1ec7c kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",maxlength:32,trim:!0},ten_dt:String,du_no00:{type:Number,default:0},du_co00:{type:Number,
|
|
2
2
|
default:0},du_no_nt00:{type:Number,default:0},du_co_nt00:{type:Number,default:0},kc_yn:{type:Boolean,default:!1},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:""}});cddtScheam.validate={ma_dvcs:validator.existsDvcs,ma_dt:dmdt.exists,tk:validAccount.isNotTkcn};
|
|
3
|
-
(global.configs||{}).createIndexes&&(cddtScheam.index({id_app:1,nam:1,ma_dvcs:1,tk:1,ma_dt:1}),cddtScheam.index({tk:"text",ma_dt:"text",ten_dt:"text"}),cddtScheam.index({status:1}),cddtScheam.index({user_created:1}));module.exports=mongoose.models.cddt||mongoose.model("cddt",cddtScheam);
|
|
3
|
+
(global.configs||{}).createIndexes&&(cddtScheam.index({id_app:1,nam:1,tk:1,ma_dt:1}),cddtScheam.index({id_app:1,nam:1,ma_dvcs:1,tk:1,ma_dt:1}),cddtScheam.index({id_app:1,tk:"text",ma_dt:"text",ten_dt:"text"}),cddtScheam.index({id_app:1,status:1}),cddtScheam.index({id_app:1,user_created:1}));module.exports=mongoose.models.cddt||mongoose.model("cddt",cddtScheam);
|
package/server/models/cdkh.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';const validator=require("../libs/validator"),validAccount=require("../libs/validator-account"),cdkhScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},nam:{type:Number,required:!0},ma_dvcs:{type:String,required:!0,maxlength:1024},tk:{type:String,required:"tk is required",trim:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,trim:!0,maxlength:32},ten_kh:String,ma_kho:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_dt:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_bp:{type:String,
|
|
2
2
|
uppercase:!0,trim:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_nv:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,trim:!0,maxlength:32},du_no00:{type:Number,default:0},du_co00:{type:Number,default:0},du_no_nt00:{type:Number,default:0},du_co_nt00:{type:Number,default:0},du_no1:{type:Number,default:0},du_co1:{type:Number,default:0},du_no_nt1:{type:Number,default:0},du_co_nt1:{type:Number,default:0},kc_yn:{type:Boolean,default:!1},status:{type:Boolean,
|
|
3
3
|
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:""}});cdkhScheam.validate={ma_dvcs:validator.existsDvcs,tk:validAccount.isTkcn,ma_kh:validator.existsKh};
|
|
4
|
-
(global.configs||{}).createIndexes&&(cdkhScheam.index({id_app:1,nam:1,ma_dvcs:1,tk:1,ma_kh:1}),cdkhScheam.index({tk:"text",ma_kh:"text",ten_kh:"text"}),cdkhScheam.index({nam:1}),cdkhScheam.index({tk:1}),cdkhScheam.index({ma_kh:1}),cdkhScheam.index({status:1}),cdkhScheam.index({user_created:1}));
|
|
4
|
+
(global.configs||{}).createIndexes&&(cdkhScheam.index({id_app:1,nam:1,tk:1,ma_kh:1}),cdkhScheam.index({id_app:1,nam:1,tk:1,ma_kh:1,ma_nv:1}),cdkhScheam.index({id_app:1,nam:1,tk:1,ma_kh:1,ma_kho:1}),cdkhScheam.index({id_app:1,nam:1,ma_dvcs:1,tk:1,ma_kh:1}),cdkhScheam.index({id_app:1,tk:"text",ma_kh:"text",ten_kh:"text"}),cdkhScheam.index({id_app:1,nam:1}),cdkhScheam.index({id_app:1,tk:1}),cdkhScheam.index({id_app:1,ma_kh:1}),cdkhScheam.index({id_app:1,status:1}),cdkhScheam.index({id_app:1,user_created:1}));
|
|
5
|
+
module.exports=mongoose.models.cdkh||mongoose.model("cdkh",cdkhScheam);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';const validator=require("../libs/validator"),validAccount=require("../libs/validator-account"),cdkhtheongayScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},den_ngay:{type:Date,required:!0},ma_dvcs:{type:String,required:!0,maxlength:1024},tk:{type:String,required:"tk is required",trim:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,trim:!0,maxlength:32},ten_kh:String,ma_kho:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_dt:{type:String,uppercase:!0,trim:!0,maxlength:32},
|
|
2
2
|
ma_bp:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_nv:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,trim:!0,maxlength:32},du_no00:{type:Number,default:0},du_co00:{type:Number,default:0},du_no_nt00:{type:Number,default:0},du_co_nt00:{type:Number,default:0},du_no1:{type:Number,default:0},du_co1:{type:Number,default:0},du_no_nt1:{type:Number,default:0},du_co_nt1:{type:Number,default:0},kc_yn:{type:Boolean,
|
|
3
3
|
default:!1},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:""}});cdkhtheongayScheam.validate={ma_dvcs:validator.existsDvcs,tk:validAccount.isTkcn,ma_kh:validator.existsKh};
|
|
4
|
-
(global.configs||{}).createIndexes&&(cdkhtheongayScheam.index({id_app:1,
|
|
4
|
+
(global.configs||{}).createIndexes&&(cdkhtheongayScheam.index({id_app:1,den_ngay:-1,tk:1,ma_kh:1}),cdkhtheongayScheam.index({id_app:1,den_ngay:-1,tk:1,ma_kh:1,ma_nv:1}),cdkhtheongayScheam.index({id_app:1,den_ngay:-1,tk:1,ma_kh:1,ma_kho:1}),cdkhtheongayScheam.index({id_app:1,den_ngay:-1,ma_dvcs:1,tk:1,ma_kh:1}),cdkhtheongayScheam.index({id_app:1,ten_kh:"text"}),cdkhtheongayScheam.index({id_app:1,den_ngay:-1}),cdkhtheongayScheam.index({id_app:1,tk:1}),cdkhtheongayScheam.index({id_app:1,ma_kh:1}),cdkhtheongayScheam.index({id_app:1,
|
|
5
|
+
status:1}),cdkhtheongayScheam.index({id_app:1,user_created:1}));module.exports=mongoose.models.cdkhtheongay||mongoose.model("cdkhtheongay",cdkhtheongayScheam);
|
package/server/models/cdnphep.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use strict';const cdnphepScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},nam:{type:Number,required:!0},email:{type:String,required:!0,lowercase:!0,maxlength:128,trim:!0},ton00:{type:Number,default:0},status:{type:Boolean,default:!0},kc_yn:{type:Boolean,default:!1},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&&(cdnphepScheam.index({id_app:1,nam:1,email:1}),cdnphepScheam.index({email:"text"}),cdnphepScheam.index({status:1}),cdnphepScheam.index({user_created:1}));module.exports=mongoose.models.cdnphep||mongoose.model("cdnphep",cdnphepScheam);
|
|
2
|
+
(global.configs||{}).createIndexes&&(cdnphepScheam.index({id_app:1,nam:1,email:1}),cdnphepScheam.index({id_app:1,email:"text"}),cdnphepScheam.index({id_app:1,status:1}),cdnphepScheam.index({id_app:1,user_created:1}));module.exports=mongoose.models.cdnphep||mongoose.model("cdnphep",cdnphepScheam);
|
package/server/models/cdtk.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const validator=require("../libs/validator"),validAccount=require("../libs/validator-account"),cdtkScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},nam:{type:Number,required:!0},ma_dvcs:{type:String,required:!0,maxlength:1024},tk:{type:String,required:"tk is required",uppercase:!0,maxlength:32,trim:!0},ma_kho:{type:String,uppercase:!0,maxlength:32,trim:!0},du_no00:{type:Number,default:0},du_co00:{type:Number,default:0},du_no_nt00:{type:Number,default:0},du_co_nt00:{type:Number,
|
|
2
2
|
default:0},du_no1:{type:Number,default:0},du_co1:{type:Number,default:0},du_no_nt1:{type:Number,default:0},du_co_nt1:{type:Number,default:0},kc_yn:{type:Boolean,default:!1},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:""}});cdtkScheam.validate={ma_dvcs:validator.existsDvcs,tk:validAccount.isNotTkcn};
|
|
3
|
-
(global.configs||{}).createIndexes&&(cdtkScheam.index({id_app:1,nam:1,ma_dvcs:1,tk:1}),cdtkScheam.index({tk:"text"}),cdtkScheam.index({ma_kho:"text"}),cdtkScheam.index({nam:1}),cdtkScheam.index({status:1}),cdtkScheam.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.cdtk||mongoose.model("cdtk",cdtkScheam);
|
|
3
|
+
(global.configs||{}).createIndexes&&(cdtkScheam.index({id_app:1,nam:1,tk:1}),cdtkScheam.index({id_app:1,nam:1,ma_dvcs:1,tk:1}),cdtkScheam.index({id_app:1,tk:"text"}),cdtkScheam.index({id_app:1,ma_kho:"text"}),cdtkScheam.index({id_app:1,nam:1}),cdtkScheam.index({id_app:1,status:1}),cdtkScheam.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.cdtk||mongoose.model("cdtk",cdtkScheam);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const validator=require("../libs/validator"),validAccount=require("../libs/validator-account"),cdtktheongayScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},den_ngay:{type:Date,required:!0},ma_dvcs:{type:String,required:!0,maxlength:1024},tk:{type:String,required:"tk is required",uppercase:!0,maxlength:32,trim:!0},ma_kho:{type:String,uppercase:!0,maxlength:32,trim:!0},du_no00:{type:Number,default:0},du_co00:{type:Number,default:0},du_no_nt00:{type:Number,default:0},du_co_nt00:{type:Number,
|
|
2
2
|
default:0},du_no1:{type:Number,default:0},du_co1:{type:Number,default:0},du_no_nt1:{type:Number,default:0},du_co_nt1:{type:Number,default:0},kc_yn:{type:Boolean,default:!1},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:""}});cdtktheongayScheam.validate={ma_dvcs:validator.existsDvcs,tk:validAccount.isNotTkcn};
|
|
3
|
-
(global.configs||{}).createIndexes&&(cdtktheongayScheam.index({id_app:1,ma_dvcs:1,tk:1}),cdtktheongayScheam.index({tk:1}),cdtktheongayScheam.index({den_ngay:-1}),cdtktheongayScheam.index({ma_kho:1}),cdtktheongayScheam.index({status:1}),cdtktheongayScheam.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.cdtktheongay||mongoose.model("cdtktheongay",cdtktheongayScheam);
|
|
3
|
+
(global.configs||{}).createIndexes&&(cdtktheongayScheam.index({id_app:1,den_ngay:-1,tk:1}),cdtktheongayScheam.index({id_app:1,den_ngay:-1,ma_dvcs:1,tk:1}),cdtktheongayScheam.index({id_app:1,tk:1}),cdtktheongayScheam.index({id_app:1,den_ngay:-1}),cdtktheongayScheam.index({id_app:1,ma_kho:1}),cdtktheongayScheam.index({id_app:1,status:1}),cdtktheongayScheam.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.cdtktheongay||mongoose.model("cdtktheongay",cdtktheongayScheam);
|
package/server/models/counter.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';const counterScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},name:{type:String,required:!0,uppercase:!0,maxlength:1024},field:{type:String,required:!0,maxlength:32},sequence:{type:Number}});(global.configs||{}).createIndexes&&(counterScheam.index({id_app:1,name:1,field:1}),counterScheam.index({name:"text",field:"text"},{name:"counter_index_text"}));const model=mongoose.models.counter||mongoose.model("counter",counterScheam);
|
|
1
|
+
'use strict';const counterScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},name:{type:String,required:!0,uppercase:!0,maxlength:1024},field:{type:String,required:!0,maxlength:32},sequence:{type:Number}});(global.configs||{}).createIndexes&&(counterScheam.index({id_app:1,name:1,field:1}),counterScheam.index({id_app:1,name:"text",field:"text"},{name:"counter_index_text"}));const model=mongoose.models.counter||mongoose.model("counter",counterScheam);
|
|
2
2
|
model.getNextSequence=function($id_app$$,$name$$,$field$$,$fn$$){model.findOneAndUpdate({id_app:$id_app$$,name:$name$$.toUpperCase(),field:$field$$},{$inc:{sequence:1}},{new:!0,upsert:!0},function($error$$,$obj$$){return $error$$?$fn$$($error$$):$obj$$?$fn$$(null,$obj$$.sequence):$fn$$(null,-1)})};module.exports=model;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const currencySchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_nt:{type:String,uppercase:!0,required:!0,maxlength:32},ten_nt:{type:String,required:!0,maxlength:1024},ty_gia:{type:Number,default:1,required:!0},so_diem:{type:Number,default:0},so_tien:{type:Number,default:0},tk_cl_no:{type:String,default:"",maxlength:32},tk_cl_co:{type:String,default:"",maxlength:32},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},
|
|
2
|
-
date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(currencySchema.index({id_app:1,ma_nt:1,ten_nt:1},{unique:!0}),currencySchema.index({ma_nt:"text",ten_nt:"text"},{name:"currency_index_text"}),currencySchema.index({status:1}),currencySchema.index({user_created:1,visible_to:1,visible_to_users:1}));
|
|
3
|
-
model.getRate=async($id_app$$,$ma_nt$$)=>new Promise($resolve$$=>{model.findOne({ma_nt:$ma_nt$$,id_app:$id_app$$}).lean().then($rs$$=>{if(!$rs$$||!$rs$$.so_diem)return $resolve$$(1);$resolve$$($rs$$.so_tien/$rs$$.so_diem)}).catch($e$$=>{console.error($e$$);$resolve$$(1)})});module.exports=model;
|
|
2
|
+
date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(currencySchema.index({id_app:1,ma_nt:1,ten_nt:1},{unique:!0}),currencySchema.index({id_app:1,ma_nt:"text",ten_nt:"text"},{name:"currency_index_text"}),currencySchema.index({id_app:1,status:1}),currencySchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1}));
|
|
3
|
+
const model=mongoose.models.currency||mongoose.model("currency",currencySchema);model.getRate=async($id_app$$,$ma_nt$$)=>new Promise($resolve$$=>{model.findOne({ma_nt:$ma_nt$$,id_app:$id_app$$}).lean().then($rs$$=>{if(!$rs$$||!$rs$$.so_diem)return $resolve$$(1);$resolve$$($rs$$.so_tien/$rs$$.so_diem)}).catch($e$$=>{console.error($e$$);$resolve$$(1)})});module.exports=model;
|
package/server/models/dmbp.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';const dmbpSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_bp:{type:String,required:!0,uppercase:!0,maxlength:32},ten_bp:{type:String,required:!0,maxlength:1024},phu_trach:{type:String,uppercase:!0,maxlength:1024},ten_phu_trach:String,phoi_hop:{type:String,uppercase:!0,maxlength:1024},ma_bp_me:{type:String,uppercase:!0,maxlength:32},ma_bp_tuong_tac:[String],nhiem_vu:{type:String},tk_cp_luong:String,tk_pt_nv:String,tk_thue_tncn:String,ma_phi:String,tinh_luong_theo_ngay:Boolean,
|
|
2
2
|
ma_loai_cong_mac_dinh:String,sysorder:String,bac:{type:Number},loai_nh:{type:Number,default:1},la_cong_doan_sx:{type:Boolean,default:!1},stt: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:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},
|
|
3
3
|
dataview_to_users:[String]},{toJSON:{virtuals:!0}});
|
|
4
|
-
(global.configs||{}).createIndexes&&(dmbpSchema.index({id_app:1,ma_bp:1},{unique:!0}),dmbpSchema.index({ten_bp:1}),dmbpSchema.index({
|
|
5
|
-
dmbpSchema.index({ma_bp:"text",ten_bp:"text",phu_trach:"text",ten_phu_trach:"text"},{name:"dmbp_index_text"}));const model=mongoose.models.dmbp||mongoose.model("dmbp",dmbpSchema);
|
|
4
|
+
(global.configs||{}).createIndexes&&(dmbpSchema.index({id_app:1,ma_bp:1},{unique:!0}),dmbpSchema.index({id_app:1,ma_bp:1,ten_bp:1}),dmbpSchema.index({id_app:1,ma_bp:1,ten_bp:1,sysorder:1,bac:1,loai_nh:1}),dmbpSchema.index({id_app:1,phu_trach:1,ten_phu_trach:1}),dmbpSchema.index({id_app:1,status:1}),dmbpSchema.index({id_app:1,ma_bp_me:1}),dmbpSchema.index({id_app:1,ma_bp_tuong_tac:1}),dmbpSchema.index({id_app:1,nhiem_vu:1}),dmbpSchema.index({id_app:1,ma_loai_cong_mac_dinh:1}),dmbpSchema.index({id_app:1,
|
|
5
|
+
user_created:1,visible_to:1,visible_to_users:1,status:1}),dmbpSchema.index({id_app:1,ma_bp:"text",ten_bp:"text",phu_trach:"text",ten_phu_trach:"text"},{name:"dmbp_index_text"}));const model=mongoose.models.dmbp||mongoose.model("dmbp",dmbpSchema);
|
|
6
6
|
model.referenceKeys={ma_bp:[{model:"socai",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong s\u1ed5 c\u00e1i"},{model:"chamcong",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong b\u1ea3ng ch\u1ea5m c\u00f4ng"},{model:"bangtinhluong",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong b\u1ea3ng t\u00ednh l\u01b0\u01a1ng"},{model:"qts",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong qu\u1ea3n l\u00fd t\u00e0i s\u1ea3n"},
|
|
7
7
|
{model:"phieudanhgia",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong phi\u1ebfu \u0111\u00e1nh gi\u00e1 nh\u00e2n vi\u00ean"},{model:"dmnv",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh nh\u00e2n vi\u00ean"},{model:"dmbp",key:"ma_bp_me",error:"B\u1ed9 ph\u1eadn {{VALUE}} c\u00f3 b\u1ed9 ph\u1eadn con"}]};
|
|
8
8
|
model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$(Error("Can't find data"));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$($e$$.message)})})};
|
package/server/models/dmdvt.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const dmdvtSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},ten_dvt:{type:String,required:!0,maxlength:1024},tg_qd:{type:Number,default:0},kieu_tg:{type:String,default:"HH",enum:["MM","DD","HH"]},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:""}});
|
|
2
|
-
(global.configs||{}).createIndexes&&(dmdvtSchema.index({id_app:1,ma_dvt:1},{unique:!0}),dmdvtSchema.index({ten_dvt:1}),dmdvtSchema.index({ma_dvt:"text",ten_dvt:"text"},{name:"dmdvt_index_text"}),dmdvtSchema.index({status:1}),dmdvtSchema.index({user_created:1,visible_to:1,visible_to_users:1})
|
|
3
|
-
model.referenceKeys={ma_dvt:[{model:"dmvt",key:"ma_dvt",error:"\u0110\u01a1n v\u1ecb t\u00ednh {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"sokho",key:"ma_dvt",error:"\u0110\u01a1n v\u1ecb t\u00ednh {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
|
|
2
|
+
(global.configs||{}).createIndexes&&(dmdvtSchema.index({id_app:1,ma_dvt:1},{unique:!0}),dmdvtSchema.index({id_app:1,ma_dvt:1,ten_dvt:1}),dmdvtSchema.index({id_app:1,ma_dvt:1,ten_dvt:1,status:1}),dmdvtSchema.index({id_app:1,ma_dvt:"text",ten_dvt:"text"},{name:"dmdvt_index_text"}),dmdvtSchema.index({id_app:1,status:1}),dmdvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmdvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1}));
|
|
3
|
+
const model=mongoose.models.dmdvt||mongoose.model("dmdvt",dmdvtSchema);model.referenceKeys={ma_dvt:[{model:"dmvt",key:"ma_dvt",error:"\u0110\u01a1n v\u1ecb t\u00ednh {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"sokho",key:"ma_dvt",error:"\u0110\u01a1n v\u1ecb t\u00ednh {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
|
package/server/models/dmkc.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const validAccount=require("../libs/validator-account"),dmkcSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:{type:Number,required:!0},ten_bt:{type:String,required:!0,maxlength:1024},loai_kc:{type:String,required:!0,maxlength:32,enum:["1","2"]},chi_kc_gt_duong:Boolean,tk_chuyen:{type:String,required:!0,maxlength:32},tk_nhan:{type:String,required:!0,maxlength:32},phi_yn:{type:Boolean,default:!1},dt_yn:{type:Boolean,default:!1},bp_yn:{type:Boolean,default:!1},sp_yn:{type:Boolean,
|
|
2
2
|
default:!1},hd_yn:{type:Boolean,default:!1},kh_yn:{type:Boolean,default:!1},kho_yn:{type:Boolean,default:!1},not_nt_yn:{type:Boolean,default:!1},ps_yn:{type:Boolean,default:!0},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:""}});dmkcSchema.validate={tk_nhan:validAccount.existsTk};
|
|
3
|
-
(global.configs||{}).createIndexes&&(dmkcSchema.index({id_app:1,stt:1,tk_chuyen:1,tk_nhan:1}),dmkcSchema.index({ten_bt:"text",tk_chuyen:"text",tk_nhan:"text"},{name:"dmkc_index_text"}),dmkcSchema.index({status:1}),dmkcSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dmkc||mongoose.model("dmkc",dmkcSchema);
|
|
3
|
+
(global.configs||{}).createIndexes&&(dmkcSchema.index({id_app:1,stt:1,tk_chuyen:1,tk_nhan:1}),dmkcSchema.index({id_app:1,ten_bt:"text",tk_chuyen:"text",tk_nhan:"text"},{name:"dmkc_index_text"}),dmkcSchema.index({id_app:1,status:1}),dmkcSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dmkc||mongoose.model("dmkc",dmkcSchema);
|
package/server/models/dmkho.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';const dmkhoSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_kho:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho:{type:String,required:!0,maxlength:1024},stt:Number,ma_kh:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_cn:{type:String,maxlength:32,trim:!0},tk_dt:{type:String,maxlength:32,trim:!0},tk_tl:{type:String,maxlength:32,trim:!0},tk_ck:{type:String,maxlength:32,trim:!0},tk_gv:{type:String,maxlength:32,trim:!0},tk_tien:{type:String,maxlength:32,
|
|
2
2
|
trim:!0},tk_cp_bh:{type:String,maxlength:32,trim:!0},tk_cp_gh:{type:String,maxlength:32,trim:!0},tk_cp_ctv:{type:String,maxlength:32,trim:!0},tk_cn_ctv:{type:String,maxlength:32,trim:!0},tk_no_hoa_hong:String,tk_co_hoa_hong:String,dia_chi:{type:String,maxlength:1024},kho_dl:{type:Boolean,default:!1},kho_dc:{type:Boolean,default:!1},la_cua_hang:Boolean,user_quan_ly:String,theo_doi_sl_ht:Boolean,printers:[],la_kho_thue:Boolean,user_cho_thue:String,ds_ctv_kho_thue:[],la_kho_npp:Boolean,user_npp:String,
|
|
3
3
|
ds_ctv_npp:[],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:""},location:Schema.Types.Mixed,location2:global.customTypes.Point,visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]},{toJSON:{virtuals:!0}});
|
|
4
|
-
(global.configs||{}).createIndexes&&(dmkhoSchema.index({id_app:1,ma_kho:1},{unique:!0}),dmkhoSchema.index({ten_kho:1}),dmkhoSchema.index({dia_chi:1}),dmkhoSchema.index({stt:1}),dmkhoSchema.index({la_kho_thue:1,user_cho_thue:1,ds_ctv_kho_thue:1}),dmkhoSchema.index({la_kho_npp:1,user_npp:1,ds_ctv_npp:1}),dmkhoSchema.index({ma_kho:"text",ten_kho:"text",dia_chi:"text"},
|
|
5
|
-
{background:!1}));const model=mongoose.models.dmkho||mongoose.model("dmkho",dmkhoSchema);model.referenceKeys={ma_kho:[{model:"sokho",key:"ma_kho",error:"Kho ${obj.ten_kho} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong s\u1ed5 kho"}]};
|
|
4
|
+
(global.configs||{}).createIndexes&&(dmkhoSchema.index({id_app:1,ma_kho:1},{unique:!0}),dmkhoSchema.index({id_app:1,ma_kho:1,ten_kho:1,stt:1}),dmkhoSchema.index({id_app:1,ma_kho:1,ten_kho:1,stt:1,status:1}),dmkhoSchema.index({id_app:1,dia_chi:1}),dmkhoSchema.index({id_app:1,stt:1}),dmkhoSchema.index({id_app:1,la_kho_thue:1,user_cho_thue:1,ds_ctv_kho_thue:1}),dmkhoSchema.index({id_app:1,la_kho_npp:1,user_npp:1,ds_ctv_npp:1}),dmkhoSchema.index({id_app:1,ma_kho:"text",ten_kho:"text",dia_chi:"text"},
|
|
5
|
+
{name:"dmkho_index_text"}),dmkhoSchema.index({id_app:1,status:1}),dmkhoSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmkhoSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_kho:1,ten_kho:1}),dmkhoSchema.index({location2:"2dsphere"},{background:!1}));const model=mongoose.models.dmkho||mongoose.model("dmkho",dmkhoSchema);model.referenceKeys={ma_kho:[{model:"sokho",key:"ma_kho",error:"Kho ${obj.ten_kho} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong s\u1ed5 kho"}]};
|
|
6
|
+
module.exports=model;
|
package/server/models/dmlo.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
'use strict';const dmloSchema=new Schema({id_app:{type:String,required:!0},ma_lo:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_lo:{type:String,required:!0,maxlength:1024},ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ten_vt:String,han_sd:{type:Date,required:!0},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,
|
|
2
|
-
default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]});
|
|
2
|
+
default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]});
|
|
3
|
+
(global.configs||{}).createIndexes&&(dmloSchema.index({id_app:1,ma_lo:1,ten_lo:1,ma_vt:1,han_sd:1}),dmloSchema.index({id_app:1,ma_vt:1}),dmloSchema.index({id_app:1,han_sd:1}),dmloSchema.index({id_app:1,ma_lo:"text",ten_lo:"text",ma_vt:"text",ten_vt:"text"},{name:"dmlo_index_text"}),dmloSchema.index({id_app:1,status:1}),dmloSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmloSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_vt:1,ma_lo:1,ten_lo:1}));
|
|
3
4
|
const model=mongoose.models.dmlo||mongoose.model("dmlo",dmloSchema);model.referenceKeys={ma_lo:[{model:"sokho",key:"ma_lo",error:"M\u00e3 l\u00f4 {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use strict';const dmnghiepvuSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,required:!0,uppercase:!0,maxlength:64,trim:!0},ma_nghiep_vu:{type:String,required:!0,uppercase:!0,maxlength:64,trim:!0},ten_nghiep_vu:String,tk_no:{type:String,trim:!0},tk_co:{type:String,trim:!0},trang_thai:{type:String,maxlength:32},stt:{type:Number,default:0},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
|
|
2
2
|
default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
3
|
-
(global.configs||{}).createIndexes&&(dmnghiepvuSchema.index({id_app:1,ma_ct:1,ma_nghiep_vu:1,ten_nghiep_vu:1}),dmnghiepvuSchema.index({tk_no:1}),dmnghiepvuSchema.index({tk_co:1}),dmnghiepvuSchema.index({status:1}),dmnghiepvuSchema.index({user_created:1,visible_to:1,visible_to_users:1}),dmnghiepvuSchema.index({
|
|
4
|
-
const model=mongoose.models.dmnghiepvu||mongoose.model("dmnghiepvu",dmnghiepvuSchema);module.exports=model;
|
|
3
|
+
(global.configs||{}).createIndexes&&(dmnghiepvuSchema.index({id_app:1,ma_ct:1,ma_nghiep_vu:1,ten_nghiep_vu:1}),dmnghiepvuSchema.index({id_app:1,ma_ct:1,ma_nghiep_vu:1,ten_nghiep_vu:1,status:1}),dmnghiepvuSchema.index({id_app:1,tk_no:1}),dmnghiepvuSchema.index({id_app:1,tk_co:1}),dmnghiepvuSchema.index({id_app:1,status:1}),dmnghiepvuSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmnghiepvuSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1}),
|
|
4
|
+
dmnghiepvuSchema.index({id_app:1,trang_thai:1}),dmnghiepvuSchema.index({id_app:1,ma_nghiep_vu:"text",ten_nghiep_vu:"text",tk_no:"text",tk_co:"text",ma_ct:"text"},{name:"dmnghiepvu_index_text"}));const model=mongoose.models.dmnghiepvu||mongoose.model("dmnghiepvu",dmnghiepvuSchema);module.exports=model;
|
package/server/models/dmqct.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const dmqctSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ten_qct:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_ct_khac:{type:String,uppercase:!0,maxlength:32,trim:!0},cac_ma_ct:[String],field:{type:String,default:"so_ct",maxlength:32,trim:!0},tien_to:{type:String,trim:!0},hau_to:{type:String,trim:!0},tu_so:{type:Number,default:1},den_so:{type:Number,default:999999},tien_to_ht:{type:String,trim:!0},hau_to_ht:{type:String,
|
|
2
2
|
trim:!0},so_ht:{type:Number,default:0},tu_dong_reset:Boolean,tu_ngay:{type:Date},den_ngay:{type:Date},dieu_kien:String,check_duplicate:Boolean,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:""}});
|
|
3
|
-
(global.configs||{}).createIndexes&&(dmqctSchema.index({id_app:1,ma_ct:1}),dmqctSchema.index({ten_qct:1}),dmqctSchema.index({id_app:1,cac_ma_ct:1}),dmqctSchema.index({cac_ma_ct:"text",ten_qct:"text",ma_ct:"text"}),dmqctSchema.index({status:1}),dmqctSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dmqct||mongoose.model("dmqct",dmqctSchema);
|
|
3
|
+
(global.configs||{}).createIndexes&&(dmqctSchema.index({id_app:1,ma_ct:1}),dmqctSchema.index({id_app:1,ten_qct:1}),dmqctSchema.index({id_app:1,cac_ma_ct:1}),dmqctSchema.index({id_app:1,cac_ma_ct:"text",ten_qct:"text",ma_ct:"text"}),dmqctSchema.index({id_app:1,status:1}),dmqctSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dmqct||mongoose.model("dmqct",dmqctSchema);
|
package/server/models/dmqddvt.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
'use strict';const dmqddvtSchema=new Schema({id_app:{type:String,required:!0},ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ten_vt:String,ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},ten_dvt:String,tu:Number,mau:Number,ty_le_qd:{type:Number,default:1},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:""}});
|
|
2
|
-
(global.configs||{}).createIndexes&&(dmqddvtSchema.index({id_app:1,ma_vt:1,ma_dvt:1}),dmqddvtSchema.index({ma_vt:1
|
|
2
|
+
(global.configs||{}).createIndexes&&(dmqddvtSchema.index({id_app:1,ma_vt:1,ma_dvt:1}),dmqddvtSchema.index({id_app:1,ma_vt:1,ma_dvt:1,status:1}),dmqddvtSchema.index({id_app:1,ma_vt:1}),dmqddvtSchema.index({id_app:1,ma_dvt:"text",ma_vt:"text",ten_vt:"text"}),dmqddvtSchema.index({id_app:1,status:1}),dmqddvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmqddvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1}));
|
|
3
|
+
const model=mongoose.models.dmqddvt||mongoose.model("dmqddvt",dmqddvtSchema);module.exports=model;
|
package/server/models/dmyt.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use strict';const dmytSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_yt:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_yt:{type:String,required:!0,maxlength:1024},nh_yt:{type:String,required:!0,maxlength:1024,trim:!0},co_do_dang:{type:Boolean,default:!1},yt_trung_gian:{type:Boolean,default:!1},ma_bp:String,ma_bp_cp:String,ma_dt_cp:String,ma_phi_cp:String,ma_kho_cp:String,ma_vt_cp:String,cong_tru:{type:String,default:"1",enum:["1","2"]},tk_no:[String],tk_co:[String],
|
|
2
2
|
tk_dd:String,th_sp:{type:Boolean,default:!1},th_nvl:{type:Boolean,default:!1},th_bp:{type:Boolean,default:!1},th_lsx:{type:Boolean,default:!1},pt_phan_bo:{type:String,default:"0",enum:["0","1","2","5"]},yt_tinh_hs_pb:String,pt_tinh_hs_pb:{type:String,default:"1",enum:["1","2"]},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:""}});
|
|
3
|
-
(global.configs||{}).createIndexes&&(dmytSchema.index({id_app:1,ma_yt:1},{unique:!0}),dmytSchema.index({ma_yt:"text",ten_yt:"text"}),dmytSchema.index({ten_yt:1}),dmytSchema.index({status:1}),dmytSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dmyt||mongoose.model("dmyt",dmytSchema);model.referenceKeys={ma_yt:[{model:"gt_ctgt",key:"ma_yt",error:"Y\u1ebfu t\u1ed1 ${obj.ma_yt} - ${obj.ten_yt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};
|
|
3
|
+
(global.configs||{}).createIndexes&&(dmytSchema.index({id_app:1,ma_yt:1},{unique:!0}),dmytSchema.index({id_app:1,ma_yt:"text",ten_yt:"text"}),dmytSchema.index({id_app:1,ten_yt:1}),dmytSchema.index({id_app:1,status:1}),dmytSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dmyt||mongoose.model("dmyt",dmytSchema);model.referenceKeys={ma_yt:[{model:"gt_ctgt",key:"ma_yt",error:"Y\u1ebfu t\u1ed1 ${obj.ma_yt} - ${obj.ten_yt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};
|
|
4
4
|
module.exports=model;
|
package/server/models/dvcs.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const dvcsSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,uppercase:!0,maxlength:1024},ten_dvcs:{type:String,required:!0,maxlength:1024},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:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]});
|
|
2
|
-
(global.configs||{}).createIndexes&&(dvcsSchema.index({id_app:1,ma_dvcs:1},{unique:!0}),dvcsSchema.index({ten_dvcs:1}),dvcsSchema.index({ma_dvcs:"text",ten_dvcs:"text"}),dvcsSchema.index({status:1}),dvcsSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dvcs||mongoose.model("dvcs",dvcsSchema);
|
|
2
|
+
(global.configs||{}).createIndexes&&(dvcsSchema.index({id_app:1,ma_dvcs:1},{unique:!0}),dvcsSchema.index({id_app:1,ten_dvcs:1}),dvcsSchema.index({id_app:1,ma_dvcs:"text",ten_dvcs:"text"}),dvcsSchema.index({id_app:1,status:1}),dvcsSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dvcs||mongoose.model("dvcs",dvcsSchema);
|
|
3
3
|
model.referenceKeys={_id:[{model:"sokho",key:"ma_dvcs",error:"\u0110\u01a1n v\u1ecb {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"cdvt",key:"ma_dvcs",error:"\u0110\u01a1n v\u1ecb {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"socai",key:"ma_dvcs",error:"\u0110\u01a1n v\u1ecb {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
|
package/server/models/giatb.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const giatbSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},nam:{type:Number,required:!0,default:0},thang:{type:Number,required:!0,default:0},ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ten_vt:String,ma_kho:{type:String,uppercase:!0,maxlength:32},ten_kho:String,ton_dau:{type:Number,default:0},du_dau:{type:Number,default:0},sl_nhap:{type:Number,default:0},tien_nhap:{type:Number,default:0},tong_sl:{type:Number,default:0},tong_tien:{type:Number,default:0},
|
|
2
2
|
gia:{type:Number,default: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:""}});
|
|
3
|
-
(global.configs||{}).createIndexes&&(giatbSchema.index({id_app:1,ma_dvcs:1,nam:1,thang:1,ma_vt:1,ma_kho:1}),giatbSchema.index({ma_vt:"text",ma_kho:"text",ten_vt:"text",ten_kho:"text"},{name:"giatb_index_text"}),giatbSchema.index({status:1}),giatbSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.giatb||mongoose.model("giatb",giatbSchema);
|
|
3
|
+
(global.configs||{}).createIndexes&&(giatbSchema.index({id_app:1,ma_dvcs:1,nam:1,thang:1,ma_vt:1,ma_kho:1}),giatbSchema.index({id_app:1,ma_vt:"text",ma_kho:"text",ten_vt:"text",ten_kho:"text"},{name:"giatb_index_text"}),giatbSchema.index({id_app:1,status:1}),giatbSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.giatb||mongoose.model("giatb",giatbSchema);
|
package/server/models/hd1.js
CHANGED
|
@@ -7,5 +7,5 @@ default:"",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,ma
|
|
|
7
7
|
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],
|
|
8
8
|
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,id_client:String,listinfo_code:String});
|
|
9
9
|
hd1Schema.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};
|
|
10
|
-
(global.configs||{}).createIndexes&&(hd1Schema.index({id_app:1,
|
|
11
|
-
module.exports=mongoose.models.hd1||mongoose.model("hd1",hd1Schema);
|
|
10
|
+
(global.configs||{}).createIndexes&&(hd1Schema.index({id_app:1,ma_ct:1,so_ct:-1,ngay_ct:-1}),hd1Schema.index({id_app:1,dien_giai:"text",so_ct:"text",ma_kh:"text",ten_kh:"text"},{name:"hd1_index_text"}),hd1Schema.index({id_app:1,ma_ct:1}),hd1Schema.index({id_app:1,ma_kh:1}),hd1Schema.index({id_app:1,user_created:1,date_created:-1}),hd1Schema.index({id_app:1,date_updated:-1}),hd1Schema.index({id_app:1,status:1}),hd1Schema.index({id_app:1,ma_ct:1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1}),
|
|
11
|
+
hd1Schema.index({id_app:1,trang_thai:1}));module.exports=mongoose.models.hd1||mongoose.model("hd1",hd1Schema);
|
package/server/models/kbbtpb.js
CHANGED
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,uppercase:!0,default:"",maxlength:32},ma_kho:{type:String,uppercase:!0,default:"",maxlength:32},ma_sp:{type:String,uppercase:!0,maxlength:32},tk_no1:{type:String,uppercase:!0,maxlength:32},tk_co1:{type:String,uppercase:!0,maxlength:32},line:{type:Number,default:0}});detailSchema.validate={tk_no:validAccount.existsTk,tk_no1:validAccount.existsTk,tk_co1:validAccount.existsTk,ma_kh:validator.existsKh};
|
|
3
3
|
const kbbtpbSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PTPB",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},
|
|
4
4
|
hieu_luc_tu:Date,hieu_luc_den:Date,tien_can_phan_bo:{type:Number,default:0},so_ky_phan_bo:{type:Number,default:1,min:1},stt:{type:Number,required:!0,min:0},tk_co:{type:String,required:!0,uppercase:!0,maxlength:32},dien_giai:{type:String,default:"",maxlength:1024},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:""},details:{type:[detailSchema]}});
|
|
5
|
-
kbbtpbSchema.validate={ma_dvcs:validator.existsDvcs,tk_co:validAccount.existsTk};
|
|
5
|
+
kbbtpbSchema.validate={ma_dvcs:validator.existsDvcs,tk_co:validAccount.existsTk};
|
|
6
|
+
(global.configs||{}).createIndexes&&(kbbtpbSchema.index({id_app:1,ma_dvcs:1,so_ct:1,ngay_ct:1}),kbbtpbSchema.index({id_app:1,so_ct:"text",dien_giai:"text",tk_co:"text"},{name:"kbbtpb_index_text"}),kbbtpbSchema.index({id_app:1,status:1}),kbbtpbSchema.index({id_app:1,hieu_luc_tu:1,hieu_luc_den:1}),kbbtpbSchema.index({id_app:1,hieu_luc_tu:1,hieu_luc_den:1,status:1}),kbbtpbSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));
|
|
6
7
|
module.exports=mongoose.models.kbbtpb||mongoose.model("kbbtpb",kbbtpbSchema);
|
package/server/models/lenhsx.js
CHANGED
|
@@ -4,5 +4,5 @@ line:{type:Number,default:0}});detailSchema.validate={ma_sp:validVt.existsVt,ma_
|
|
|
4
4
|
const lenhsxSchema=new global.Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"LENHSX",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},ngay_ke_hoach:Date,ngay_bat_dau:{type:Date,required:"B\u1ea1n ch\u01b0a nh\u1eadp ng\u00e0y b\u1eaft \u0111\u1ea7u s\u1ea3n xu\u1ea5t"},
|
|
5
5
|
ngay_ket_thuc:Date,ngay_dong_bo_nvl:Date,id_contract:{type:String,default:"",maxlength:1024},id_dh2:String,ma_kh:{type:String,maxlength:32},ten_kh:String,dien_giai:{type:String,default:"",maxlength:1024},exfields:global.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},
|
|
6
6
|
visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]}});lenhsxSchema.validate={ma_dvcs:validator.existsDvcs};
|
|
7
|
-
(global.configs||{}).createIndexes&&(lenhsxSchema.index({id_app:1,
|
|
8
|
-
visible_to:1,visible_to_users:1}));module.exports=global.mongoose.models.lenhsx||global.mongoose.model("lenhsx",lenhsxSchema);
|
|
7
|
+
(global.configs||{}).createIndexes&&(lenhsxSchema.index({id_app:1,ma_ct:1,so_ct:-1,ngay_ct:-1}),lenhsxSchema.index({id_app:1,dien_giai:"text",so_ct:"text",ma_kh:"text",ten_kh:"text"},{name:"lenhsx_index_text"}),lenhsxSchema.index({id_app:1,ma_ct:1}),lenhsxSchema.index({id_app:1,trang_thai:1}),lenhsxSchema.index({id_contract:1}),lenhsxSchema.index({id_dh2:1}),lenhsxSchema.index({id_app:1,ma_kh:1}),lenhsxSchema.index({id_app:1,user_created:1,date_created:-1}),lenhsxSchema.index({id_app:1,date_updated:-1}),
|
|
8
|
+
lenhsxSchema.index({id_app:1,status:1}),lenhsxSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1}));module.exports=global.mongoose.models.lenhsx||global.mongoose.model("lenhsx",lenhsxSchema);
|
package/server/models/lienhe.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use strict';const lienheSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_kh:{type:String,default:"",maxlength:1024},id_cv:{type:String,default:"",maxlength:1024},ten_lien_he:{type:String,required:"T\u00ean li\u00ean h\u1ec7 kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",trim:!0,maxlength:1024},nh_lh:{type:String,default:"",maxlength:1024},dia_chi:{type:String,default:"",maxlength:1024},dien_thoai:{type:String,maxlength:1024},fax:{type:String,default:"",maxlength:1024},email:{type:String,
|
|
2
2
|
default:"",maxlength:1024},website:{type:String,default:"",maxlength:1024},ghi_chu:{type:String,default:"",maxlength:1024},exfields:Schema.Types.Mixed,labels:[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],update_right:[String],delete_right:[String]});
|
|
3
|
-
(global.configs||{}).createIndexes&&(lienheSchema.index({id_app:1}),lienheSchema.index({ten_lien_he:1}),lienheSchema.index({nh_lh:1}),lienheSchema.index({dia_chi:1}),lienheSchema.index({dien_thoai:1}),lienheSchema.index({email:1}),lienheSchema.index({id_kh:1}),lienheSchema.index({
|
|
4
|
-
email:"text"},{name:"lienhe_index_text"}),lienheSchema.index({status:1}),lienheSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.lienhe||mongoose.model("lienhe",lienheSchema);module.exports=model;
|
|
3
|
+
(global.configs||{}).createIndexes&&(lienheSchema.index({id_app:1}),lienheSchema.index({id_app:1,ten_lien_he:1}),lienheSchema.index({id_app:1,nh_lh:1}),lienheSchema.index({id_app:1,dia_chi:1}),lienheSchema.index({id_app:1,dien_thoai:1}),lienheSchema.index({id_app:1,email:1}),lienheSchema.index({id_app:1,id_kh:1}),lienheSchema.index({id_kh:1}),lienheSchema.index({id_cv:1}),lienheSchema.index({id_app:1,id_cv:1}),lienheSchema.index({id_app:1,labels:1}),lienheSchema.index({id_app:1,user_created:1}),lienheSchema.index({id_app:1,
|
|
4
|
+
date_created:-1}),lienheSchema.index({id_app:1,date_updated:-1}),lienheSchema.index({id_app:1,ten_lien_he:"text",dia_chi:"text",dien_thoai:"text",email:"text"},{name:"lienhe_index_text"}),lienheSchema.index({id_app:1,status:1}),lienheSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.lienhe||mongoose.model("lienhe",lienheSchema);module.exports=model;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const mailaccountSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_link:{type:String},fullname:{type:String,required:!0},username:{type:String,required:!0},password:{type:String,required:!0},imap:{host:{type:String},port:{type:Number,default:993},secure:{type:Boolean,default:!0},mailbox:{type:String,default:"INBOX"},fetchsenders:{type:String,default:"invoice,hoadon"}},smtp:{host:{type:String,required:!0},port:{type:Number,default:465,required:!0},ssl:{type:Boolean,
|
|
2
|
-
default:!0}},error:{},status_string:{type:String},status_code:Number,provider:{type:String,default:"generic"},
|
|
2
|
+
default:!0}},error:{},status_string:{type:String},status_code:Number,provider:{type:String,default:"generic"},last_checked:{type:Date,default:null},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:""}});
|
|
3
3
|
(global.configs||{}).createIndexes&&(mailaccountSchema.index({id_app:1,username:"text",fullname:"text"}),mailaccountSchema.index({id_app:1,username:1}),mailaccountSchema.index({id_app:1,fullname:1}),mailaccountSchema.index({id_app:1,id_link:1}),mailaccountSchema.index({id_app:1,status:1}),mailaccountSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.mailaccount||mongoose.model("mailaccount",mailaccountSchema);module.exports=model;
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
required:!0},stt:{type:Number,default:0},ten:{type:String,required:!0,maxlength:1024},ds_ma_kho:[String],chi_su_dung_cho_ct:{type:String,uppercase:!0},khong_su_dung_cho_ct:{type:String,uppercase:!0},ngan_hang:{type:String,maxlength:1024},tai_khoan_nh:{type:String,maxlength:1024},chu_tai_khoan:{type:String,maxlength:1024},tk_tien_dc:{type:String,uppercase:!0,maxlength:32},tk_tien:{type:String,uppercase:!0,maxlength:32},tk_dt:{type:String,uppercase:!0,maxlength:32},tk_dt_vc:{type:String,uppercase:!0,
|
|
3
3
|
maxlength:32},tk_tl:{type:String,uppercase:!0,maxlength:32},tk_ck:{type:String,uppercase:!0,maxlength:32},tk_gv:{type:String,uppercase:!0,maxlength:32},tk_cn:{type:String,uppercase:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,maxlength:32},hinh_thuc:Number,tra_truoc:Boolean,payment_service:{type:String},onepay_configs:OnePayConfig,momo_configs:MomoConfig,zalo_configs:Schema.Types.Mixed,wallet_configs:Schema.Types.Mixed,thanh_toan_bang_diem:{type:Boolean,default:!1},thanh_toan_bang_tien:{type:Boolean,
|
|
4
4
|
default:!1},loai_tien:{type:String},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[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:""}});
|
|
5
|
-
(global.configs||{}).createIndexes&&(ptthanhtoanSchema.index({id_app:1,ten:1}),ptthanhtoanSchema.index({
|
|
6
|
-
model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$(Error(`Can't find payment method info. Query ${JSON.stringify($condition$$)}`));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$($e$$)})})};module.exports=model;
|
|
5
|
+
(global.configs||{}).createIndexes&&(ptthanhtoanSchema.index({id_app:1,ten:"text"}),ptthanhtoanSchema.index({id_app:1,ds_ma_kho:1}),ptthanhtoanSchema.index({id_app:1,status:1}),ptthanhtoanSchema.index({id_app:1,status:1,ds_ma_kho:1}),ptthanhtoanSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),ptthanhtoanSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1}),ptthanhtoanSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1,ds_ma_kho:1}));
|
|
6
|
+
const model=mongoose.models.ptthanhtoan||mongoose.model("ptthanhtoan",ptthanhtoanSchema);model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$(Error(`Can't find payment method info. Query ${JSON.stringify($condition$$)}`));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$($e$$)})})};module.exports=model;
|
package/server/models/qts.js
CHANGED
|
@@ -7,8 +7,8 @@ maxlength:1024},nuoc_san_xuat:{type:String,maxlength:1024},nam_san_xuat:{type:St
|
|
|
7
7
|
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]},phutungs:{type:[phutungSchema]}});
|
|
8
8
|
qtsSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ma_bp:validator.existsBp,tk_ts:validAccount.existsTk,tk_cp:validAccount.existsTk,tk_kh:validAccount.existsTk,ma_loai_ts:validator.existsLts,ma_tang_giam_ts:validator.existsTgts,pp_tinh_kh:[function($id_app$$,$value$$,$callback$$){"1"==$value$$?$callback$$(!0):$callback$$(!1)},"Ph\u01b0\u01a1ng ph\u00e1p t\u00ednh kh\u1ea5u hao(pp_tinh_kh): 1-\u0110\u01b0\u1eddng th\u1eb3ng"],ma_gd:[function($id_app$$,$value$$,$callback$$){"1"==
|
|
9
9
|
$value$$||"2"==$value$$?$callback$$(!0):$callback$$(!1)},"Ki\u1ec3u (ma_gd): 1-t\u00e0i s\u1ea3n,2-c\u00f4ng c\u1ee5, d\u1ee5ng c\u1ee5"]};
|
|
10
|
-
(global.configs||{}).createIndexes&&(qtsSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1,so_the_ts:1},{name:"qts_index_1"}),qtsSchema.index({ma_ct:1}),qtsSchema.index({ma_kho:1}),qtsSchema.index({ma_bp:1}),qtsSchema.index({ma_nv:1}),qtsSchema.index({ma_dt:1}),qtsSchema.index({ten_ts:1}),qtsSchema.index({user_created:1,date_created:-1}),qtsSchema.index({date_updated:-1}),
|
|
11
|
-
visible_to:1,visible_to_users:1}));const model=mongoose.models.qts||mongoose.model("qts",qtsSchema);
|
|
10
|
+
(global.configs||{}).createIndexes&&(qtsSchema.index({id_app:1,ma_ct:1,so_ct:-1,ngay_ct:-1,so_the_ts:1}),qtsSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1,so_the_ts:1},{name:"qts_index_1"}),qtsSchema.index({id_app:1,ma_ct:1}),qtsSchema.index({id_app:1,ma_kho:1}),qtsSchema.index({id_app:1,ma_bp:1}),qtsSchema.index({id_app:1,ma_nv:1}),qtsSchema.index({id_app:1,ma_dt:1}),qtsSchema.index({id_app:1,ten_ts:1}),qtsSchema.index({id_app:1,user_created:1,date_created:-1}),qtsSchema.index({id_app:1,date_updated:-1}),
|
|
11
|
+
qtsSchema.index({id_app:1,so_ct:"text",so_the_ts:"text",ten_ts:"text"},{name:"qts_index_text"}),qtsSchema.index({id_app:1,status:1}),qtsSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.qts||mongoose.model("qts",qtsSchema);
|
|
12
12
|
model.bophansudung=async($dc_id_app$$,$id_ts$$,$den_ngay$$)=>{let $ts$$=await model.findOne({_id:$id_ts$$,id_app:$dc_id_app$$}).lean();if(!$ts$$)throw"T\u00e0i s\u1ea3n kh\u00f4ng t\u1ed3n t\u1ea1i";$den_ngay$$=moment($den_ngay$$).endOf("date").toDate();$dc_id_app$$=await global.getModel("qts_dieuchuyen").find({id_app:$dc_id_app$$,id_ts:$id_ts$$,ngay_ct:{$lte:$den_ngay$$}}).lean();let $bs$$=[{ma_bp:$ts$$.ma_bp,ma_nv:$ts$$.ma_nv||"",so_luong:$ts$$.so_luong||1}];$dc_id_app$$.forEach($d$$=>{$bs$$.push({ma_bp:$d$$.tu_bp,
|
|
13
13
|
ma_nv:$d$$.tu_nv||$ts$$.ma_nv||"",so_luong:0-$d$$.so_luong});$bs$$.push({ma_bp:$d$$.den_bp,ma_nv:$d$$.ma_nv_sd||$ts$$.ma_nv||"",so_luong:$d$$.so_luong})});$bs$$=await $bs$$.asyncGroupBy(["ma_bp","ma_nv"],["so_luong"]);return $bs$$.filter($b$$=>0<$b$$.so_luong)};model.exists=[function($id_app$$,$so_the_ts$$,$callback$$){$so_the_ts$$?model.findOne({id_app:$id_app$$,so_the_ts:$so_the_ts$$},function($error$$,$v$$){return $error$$||!$v$$?$callback$$(!1):$callback$$(!0)}):$callback$$(!0)},"S\u1ed1 th\u1ebb t\u00e0i s\u1ea3n ({PATH}) {VALUE} kh\u00f4ng t\u1ed3n t\u1ea1i"];
|
|
14
14
|
model.idExists=[function($id_app$$,$id$$,$callback$$){$id$$?model.findOne({id_app:$id_app$$,_id:$id$$},function($error$$,$v$$){return $error$$||!$v$$?$callback$$(!1):$callback$$(!0)}):$callback$$(!0)},"T\u00e0i s\u1ea3n ({PATH}) {VALUE} kh\u00f4ng t\u1ed3n t\u1ea1i"];module.exports=model;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';const InvoiceSchema$$module$models$receivedinvoice=new Schema({id_app:{type:String,required:!0},
|
|
2
|
-
default:""}});InvoiceSchema$$module$models$receivedinvoice.index({id_app:1,
|
|
1
|
+
'use strict';const InvoiceSchema$$module$models$receivedinvoice=new Schema({id_app:{type:String,required:!0},invoice_number:{type:String,required:!0},invoice_symbol:{type:String},issue_date:{type:Date},seller_taxCode:{type:String},buyer_tax_code:{type:String},total:{type:Number},items:[],xml_content:{type:String},source_email:{type:String},id_ct: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:""},
|
|
2
|
+
user_updated:{type:String,default:""}});InvoiceSchema$$module$models$receivedinvoice.index({id_app:1,invoice_number:1,invoice_symbol:1,seller_tax_code:1},{unique:!0});InvoiceSchema$$module$models$receivedinvoice.index({id_app:1,source_email:1});var $jscompDefaultExport$$module$models$receivedinvoice=mongoose.model("receivedinvoice",InvoiceSchema$$module$models$receivedinvoice),module$models$receivedinvoice={};module$models$receivedinvoice.default=$jscompDefaultExport$$module$models$receivedinvoice;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';const usergroupSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},group_name:{type:String,required:!0,maxlength:1024},ds_phu_trach:[String],phan_loai:String,is_customer_group:{type:Boolean,default:!1},is_employee_group:{type:Boolean,default:!1},is_partner_group:{type:Boolean,default:!1},is_agent_group:{type:Boolean,default:!1},is_pttt_group:{type:Boolean,default:!1},default_group:Boolean,tang_duoc_gioi_thieu:Number,tang_gioi_thieu:Number,ty_le_hoa_hong:Number,tang_gioi_thieu_pt:Number,
|
|
2
2
|
ty_le_hoa_hong_pt:Number,tang_gioi_thieu_denom:String,group_mother:String,loai_nh:{type:Number,default:1},bac:Number,sysorder:String,nh_kh:String,ma_nganh_hang:[String],ma_nvt:[String],mieu_ta_chinh_sach:String,ma_nt:String,allow_signup:{type:Boolean,default:!1},not_need_active:{type:Boolean,default:!1},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,
|
|
3
3
|
default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});
|
|
4
|
-
(global.configs||{}).createIndexes&&(usergroupSchema.index({id_app:1,is_customer_group:1}),usergroupSchema.index({id_app:1,is_employee_group:1}),usergroupSchema.index({id_app:1,is_partner_group:1}),usergroupSchema.index({id_app:1,is_agent_group:1}),usergroupSchema.index({id_app:1,is_pttt_group:1}),usergroupSchema.index({ds_phu_trach:1}),usergroupSchema.index({group_name:1}),usergroupSchema.index({group_mother:1}),usergroupSchema.index({
|
|
5
|
-
usergroupSchema.index({bac:1}),usergroupSchema.index({sysorder:1}),usergroupSchema.index({allow_signup:1}),usergroupSchema.index({status:1}),usergroupSchema.index({user_created:1,visible_to:1,visible_to_users:1}),usergroupSchema.index({group_name:"text"}));const model=mongoose.models.usergroup||mongoose.model("usergroup",usergroupSchema);
|
|
6
|
-
model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$(Error(`Can't find user group:${$condition$$}`));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$($e$$)})})};
|
|
4
|
+
(global.configs||{}).createIndexes&&(usergroupSchema.index({id_app:1,is_customer_group:1}),usergroupSchema.index({id_app:1,is_employee_group:1}),usergroupSchema.index({id_app:1,is_partner_group:1}),usergroupSchema.index({id_app:1,is_agent_group:1}),usergroupSchema.index({id_app:1,is_pttt_group:1}),usergroupSchema.index({id_app:1,ds_phu_trach:1}),usergroupSchema.index({id_app:1,group_name:1}),usergroupSchema.index({id_app:1,group_mother:1}),usergroupSchema.index({id_app:1,phan_loai:1}),usergroupSchema.index({id_app:1,
|
|
5
|
+
default_group:1}),usergroupSchema.index({id_app:1,loai_nh:1}),usergroupSchema.index({id_app:1,bac:1}),usergroupSchema.index({id_app:1,sysorder:1}),usergroupSchema.index({id_app:1,allow_signup:1}),usergroupSchema.index({id_app:1,status:1}),usergroupSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),usergroupSchema.index({id_app:1,group_name:"text"}));const model=mongoose.models.usergroup||mongoose.model("usergroup",usergroupSchema);
|
|
6
|
+
model.referenceKeys={_id:[{model:"participant",key:"group_id",error:"Kh\u00f4ng th\u1ec3 x\u00f3a nh\u00f3m n\u00e0y."}]};model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$(Error(`Can't find user group:${$condition$$}`));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$($e$$)})})};
|
|
7
7
|
model.getList=async($id_app$$,$condition$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.find($condition$$).lean().then($rs$$=>{$resolve$$($rs$$||[])}).catch($e$$=>{$reject$$($e$$)})})};module.exports=model;
|
package/server/models/vat.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const validAccount=require("../libs/validator-account"),vatSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_thue:{type:String,uppercase:!0,required:!0,maxlength:32,trim:!0},ten_thue:{type:String,required:!0,maxlength:1024},thue_suat:{type:Number,default:0},stt_in:{type:Number,default:0},tk_thue_no:{type:String,default:"",required:!0,maxlength:32,trim:!0},tk_thue_co:{type:String,default:"",required:!0,maxlength:32,trim:!0},tk_thue_no_treo:{type:String,default:"",maxlength:32,
|
|
2
2
|
trim:!0},tk_thue_co_treo:{type:String,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:""}});vatSchema.validate={tk_thue_co:validAccount.existsTk,tk_thue_no:validAccount.existsTk};
|
|
3
|
-
(global.configs||{}).createIndexes&&(vatSchema.index({id_app:1,ma_thue:1,ten_thue:1,thue_suat:1,tk_thue_co:1,tk_thue_no:1}),vatSchema.index({ma_thue:"text",ten_thue:"text"}),vatSchema.index({status:1}),vatSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.vat||mongoose.model("vat",vatSchema);
|
|
3
|
+
(global.configs||{}).createIndexes&&(vatSchema.index({id_app:1,ma_thue:1,ten_thue:1,thue_suat:1,tk_thue_co:1,tk_thue_no:1}),vatSchema.index({id_app:1,ma_thue:"text",ten_thue:"text"}),vatSchema.index({id_app:1,status:1}),vatSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.vat||mongoose.model("vat",vatSchema);
|
package/server/models/vatra.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
so_hd:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date,required:!0},ma_nt:{type:String,default:"VND",required:!0,maxlength:32},ty_gia:{type:Number,default:1},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,required:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_co:{type:String,default:"33311",maxlength:32},tk_du_thue:{type:String,maxlength:32},t_thue:{type:Number,
|
|
3
3
|
default:0},t_thue_nt:{type:Number,default:0},t_hd:{type:Number,default:0},t_hd_nt:{type:Number,default:0},ma_kh_cn:{type:String,default:"",maxlength:32},ten_kh_cn:{type:String,default:"",maxlength:1024},ma_kh:{type:String,default:"",maxlength:32},ten_kh:{type:String,default:"",maxlength:1024},dia_chi:{type:String,default:"",maxlength:1024},ma_so_thue:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:""},dien_giai:{type:String,default:"",maxlength:1024},exfields:Schema.Types.Mixed,
|
|
4
4
|
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:""}});
|
|
5
|
-
(global.configs||{}).createIndexes&&(taxSchema.index({id_app:1,ma_dvcs:1,id_ct:1,ngay_hd:-1,ngay_ct:-1,ma_thue:1},{name:"vatra_index_1"}),taxSchema.index({so_ct:"text",so_hd:"text",dien_giai:"text",ma_kh:"text",ten_kh:"text",so_seri:"text",ma_so_thue:"text"},{name:"vatra_index_text"}),taxSchema.index({
|
|
6
|
-
taxSchema.index({id_hd:1}),taxSchema.index({status:1}),taxSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.vatra||mongoose.model("vatra",taxSchema);
|
|
5
|
+
(global.configs||{}).createIndexes&&(taxSchema.index({id_app:1,ngay_hd:-1,ngay_ct:-1,ma_thue:1}),taxSchema.index({id_app:1,ma_dvcs:1,id_ct:1,ngay_hd:-1,ngay_ct:-1,ma_thue:1},{name:"vatra_index_1"}),taxSchema.index({id_app:1,so_ct:"text",so_hd:"text",dien_giai:"text",ma_kh:"text",ten_kh:"text",so_seri:"text",ma_so_thue:"text"},{name:"vatra_index_text"}),taxSchema.index({id_app:1,ma_ct:1,so_ct:1,ngay_ct:-1}),taxSchema.index({id_app:1,so_hd:1,ngay_hd:1}),taxSchema.index({id_app:1,ma_kh:1}),taxSchema.index({id_app:1,
|
|
6
|
+
ma_thue:1}),taxSchema.index({id_app:1,thue_suat:1}),taxSchema.index({id_ct:1}),taxSchema.index({id_hd:1}),taxSchema.index({id_app:1,status:1}),taxSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.vatra||mongoose.model("vatra",taxSchema);
|
package/server/models/vatvao.js
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
trim:!0,maxlength:32},ma_tc:{type:String,default:"1",required:!0,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},ma_nt:{type:String,default:"VND",required:!0,maxlength:32},ty_gia:{type:Number,default:1},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,maxlength:32},
|
|
3
3
|
tk_du_thue:{type:String,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,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,default:"",maxlength:1024},ma_so_thue:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:""},dien_giai:{type:String,
|
|
4
4
|
default:"",maxlength:1024},hddt:Schema.Types.Mixed,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:""}});
|
|
5
|
-
(global.configs||{}).createIndexes&&(taxSchema.index({id_app:1,ma_dvcs:1,id_ct:1,ngay_hd:-1,ngay_ct:-1,ma_thue:1},{name:"vatvao_index_1"}),taxSchema.index({so_ct:"text",so_hd:"text",dien_giai:"text",ma_kh:"text",ten_kh:"text",so_seri:"text",ma_so_thue:"text"},{name:"vatvao_index_text"}),taxSchema.index({id_app:1,ma_kh:1,ma_so_thue:1,so_hd:1,so_seri:1},{unique:!0}),taxSchema.index({
|
|
6
|
-
taxSchema.index({
|
|
5
|
+
(global.configs||{}).createIndexes&&(taxSchema.index({id_app:1,ngay_hd:-1,ngay_ct:-1,ma_thue:1}),taxSchema.index({id_app:1,ma_dvcs:1,id_ct:1,ngay_hd:-1,ngay_ct:-1,ma_thue:1},{name:"vatvao_index_1"}),taxSchema.index({id_app:1,so_ct:"text",so_hd:"text",dien_giai:"text",ma_kh:"text",ten_kh:"text",so_seri:"text",ma_so_thue:"text"},{name:"vatvao_index_text"}),taxSchema.index({id_app:1,ma_kh:1,ma_so_thue:1,so_hd:1,so_seri:1},{unique:!0}),taxSchema.index({id_app:1,ngay_ct:-1}),taxSchema.index({id_app:1,
|
|
6
|
+
ma_ct:1}),taxSchema.index({id_app:1,ma_ct:1,so_ct:1,ngay_ct:-1}),taxSchema.index({id_ct:1}),taxSchema.index({id_hd:1}),taxSchema.index({id_app:1,ma_kh:1}),taxSchema.index({id_app:1,ma_thue:1,thue_suat:1}),taxSchema.index({id_app:1,status:1}),taxSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.vatvao||mongoose.model("vatvao",taxSchema);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';const warrantySchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_hd:{type:String,required:!0,maxlength:1024},ten_hd:String,tien_nt:{type:Number,default:0},ma_nt:{type:String,default:"VND"},mieu_ta:{type:String},start_date:{type:Date},warranty_time:{type:Number,default:0},unit_time:{type:Number,default:2},due_date:{type:Date},reminder_yn:{type:Boolean,default:!0},reminder:{type:Date},repeat:{type:Number},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,
|
|
2
|
-
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]});
|
|
3
|
-
const model=mongoose.models.kbmlctttt||mongoose.model("warranty",warrantySchema);module.exports=model;
|
|
2
|
+
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]});
|
|
3
|
+
(global.configs||{}).createIndexes&&(warrantySchema.index({id_app:1,id_hd:1,ten_hd:1,mieu_ta:1}),warrantySchema.index({id_app:1,ten_hd:"text",mieu_ta:"text"}),warrantySchema.index({id_app:1,status:1}),warrantySchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.kbmlctttt||mongoose.model("warranty",warrantySchema);module.exports=model;
|
|
@@ -3,13 +3,13 @@ async function convertXmlToJson$$module$services$invoiceFetcher($xml$$){return p
|
|
|
3
3
|
function extractIntermediateLink$$module$services$invoiceFetcher($emailBody$jscomp$1_match$$){return($emailBody$jscomp$1_match$$=$emailBody$jscomp$1_match$$.match(/https?:\/\/[^\s"'<>]+\/Invoice\/ViewFromEmail\?[^"'<>]+/gi))?$emailBody$jscomp$1_match$$[0]:null}
|
|
4
4
|
async function extractXmlLinkDeep$$module$services$invoiceFetcher($emailBody$$){$emailBody$$=extractIntermediateLink$$module$services$invoiceFetcher($emailBody$$);if(!$emailBody$$)return null;try{const $html$$=await fetch$$module$services$invoiceFetcher($emailBody$$).then($res$$=>$res$$.text()),$xmlMatch$$=$html$$.match(/https?:\/\/[^\s"'<>]+\.xml/gi);if($xmlMatch$$&&$xmlMatch$$[0])return $xmlMatch$$[0];const $altMatch$$=$html$$.match(/href="([^"]+)"[^>]*>(T\u1ea3i|Download).*XML/i);if($altMatch$$&&
|
|
5
5
|
$altMatch$$[1]){let $url$$=$altMatch$$[1];$url$$.startsWith("http")||($url$$=`${$emailBody$$.split("/Invoice")[0]}${$url$$}`);return $url$$}}catch($err$$){console.warn("\u26a0\ufe0f Kh\u00f4ng th\u1ec3 truy c\u1eadp link trung gian:",$err$$.message)}return null}
|
|
6
|
-
function extractInvoiceSummary$$module$services$invoiceFetcher($info_json$$){$info_json$$=$info_json$$?.HDon?.DLHDon;if(!$info_json$$)return null;var $arr$$=$info_json$$?.NDHDon?.DSHHDVu?.HHDVu;$arr$$=Array.isArray($arr$$)?$arr$$:[$arr$$];return{
|
|
6
|
+
function extractInvoiceSummary$$module$services$invoiceFetcher($info_json$$){$info_json$$=$info_json$$?.HDon?.DLHDon;if(!$info_json$$)return null;var $arr$$=$info_json$$?.NDHDon?.DSHHDVu?.HHDVu;$arr$$=Array.isArray($arr$$)?$arr$$:[$arr$$];return{invoice_number:$info_json$$?.TTChung?.SHDon||"",invoice_symbol:$info_json$$?.TTChung?.KHHDon||"",issue_date:$info_json$$?.TTChung?.NLap||null,seller_tax_code:$info_json$$?.NDHDon?.NBan?.MST||"",buyer_tax_code:$info_json$$?.NDHDon?.NMua?.MST||"",total:Number($info_json$$?.NDHDon?.TToan?.TgTTTBSo)||
|
|
7
7
|
0,items:$arr$$}}
|
|
8
|
-
async function fetchInvoicesFromEmailConfig$$module$services$invoiceFetcher($emailConfig$$,$body_fetchFromDate_sinceDate$$){const $client$$=new ImapFlow$$module$services$invoiceFetcher({host:$emailConfig$$.imap.host,port:$emailConfig$$.imap.port,secure:$emailConfig$$.imap.secure,auth:{user:$emailConfig$$.username,pass:$emailConfig$$.password}});await $client$$.connect();await $client$$.mailboxOpen("INBOX");$body_fetchFromDate_sinceDate$$=$body_fetchFromDate_sinceDate$$?new Date($body_fetchFromDate_sinceDate$$):$emailConfig$$.
|
|
9
|
-
new Date(Date.now()-2592E6);var $senderFilters_xmlLink$$=($emailConfig$$.fetchsenders?.length?$emailConfig$$.fetchsenders.split(","):["invoice","hoadon"]).map($keyword$$=>["FROM",$keyword$$]);let $allMessages$$=new Set;for(var $
|
|
10
|
-
for await(const $msg$$ of $client$$.fetch($allMessages$$,{envelope:!0,source:!0,attachments:!0})){$
|
|
11
|
-
await extractXmlLinkDeep$$module$services$invoiceFetcher($body_fetchFromDate_sinceDate$$)),$senderFilters_xmlLink$$&&($
|
|
12
|
-
|
|
8
|
+
async function fetchInvoicesFromEmailConfig$$module$services$invoiceFetcher($emailConfig$$,$body_fetchFromDate_sinceDate$$){const $client$$=new ImapFlow$$module$services$invoiceFetcher({host:$emailConfig$$.imap.host,port:$emailConfig$$.imap.port,secure:$emailConfig$$.imap.secure,auth:{user:$emailConfig$$.username,pass:$emailConfig$$.password}});await $client$$.connect();await $client$$.mailboxOpen("INBOX");$body_fetchFromDate_sinceDate$$=$body_fetchFromDate_sinceDate$$?new Date($body_fetchFromDate_sinceDate$$):$emailConfig$$.last_checked||
|
|
9
|
+
new Date(Date.now()-2592E6);var $senderFilters_xmlLink$$=($emailConfig$$.fetchsenders?.length?$emailConfig$$.fetchsenders.split(","):["invoice","hoadon"]).map($keyword$$=>["FROM",$keyword$$]);let $allMessages$$=new Set;for(var $sender_xml_content$$ of $senderFilters_xmlLink$$)(await $client$$.search([$sender_xml_content$$,["SINCE",$body_fetchFromDate_sinceDate$$]].flat(),{sort:["ARRIVAL"],limit:100})).forEach($uid$$=>$allMessages$$.add($uid$$));console.log(`\ud83d\udce8 [${$emailConfig$$.username}] T\u00ecm th\u1ea5y ${$allMessages$$.size} email k\u1ec3 t\u1eeb ${$body_fetchFromDate_sinceDate$$.toLocaleDateString("vi-VN")}`);
|
|
10
|
+
for await(const $msg$$ of $client$$.fetch($allMessages$$,{envelope:!0,source:!0,attachments:!0})){$sender_xml_content$$=null;if($msg$$.attachments?.length)for(const $att$$ of $msg$$.attachments)if($att$$.filename.endsWith(".xml")){$sender_xml_content$$=$att$$.content.toString("utf8");break}$sender_xml_content$$||($body_fetchFromDate_sinceDate$$=$msg$$.source.toString("utf8"),($senderFilters_xmlLink$$=extractXmlLink$$module$services$invoiceFetcher($body_fetchFromDate_sinceDate$$))||($senderFilters_xmlLink$$=
|
|
11
|
+
await extractXmlLinkDeep$$module$services$invoiceFetcher($body_fetchFromDate_sinceDate$$)),$senderFilters_xmlLink$$&&($sender_xml_content$$=await (await fetch$$module$services$invoiceFetcher($senderFilters_xmlLink$$)).text()));if($sender_xml_content$$)try{const $json$$=await convertXmlToJson$$module$services$invoiceFetcher($sender_xml_content$$),$summary$$=extractInvoiceSummary$$module$services$invoiceFetcher($json$$);$summary$$&&(await Invoice$$module$services$invoiceFetcher.findOne({invoice_number:$summary$$.invoice_number,
|
|
12
|
+
invoice_symbol:$summary$$.invoice_symbol,seller_tax_code:$summary$$.seller_tax_code})?console.log(`\u23e9 H\u00f3a \u0111\u01a1n ${$summary$$.invoice_number} \u0111\u00e3 t\u1ed3n t\u1ea1i.`):(await Invoice$$module$services$invoiceFetcher.create({...$summary$$,xml_content:$sender_xml_content$$,source_email:$emailConfig$$._id.toString(),id_app:$emailConfig$$.id_app}),console.log(`\u2705 \u0110\u00e3 l\u01b0u h\u00f3a \u0111\u01a1n ${$summary$$.invoice_number} t\u1eeb ${$emailConfig$$.user}`)))}catch($e$$){console.error("L\u1ed7i x\u1eed l\u00fd email:",
|
|
13
13
|
$e$$.message)}}await $client$$.logout()}
|
|
14
|
-
async function fetchAllInvoices$$module$services$invoiceFetcher($configs_id_app$$){$configs_id_app$$=(await mailaccount$$module$services$invoiceFetcher.find({id_app:$configs_id_app$$,status:!0})).filter($a$$=>$a$$.imap&&$a$$.imap.host);for(const $cfg$$ of $configs_id_app$$)console.log(`\ud83d\udcec \u0110ang \u0111\u1ecdc email t\u1eeb c\u1ea5u h\u00ecnh: ${$cfg$$.fullname} (${$cfg$$.username})`),await fetchInvoicesFromEmailConfig$$module$services$invoiceFetcher($cfg$$),$cfg$$.
|
|
14
|
+
async function fetchAllInvoices$$module$services$invoiceFetcher($configs_id_app$$){$configs_id_app$$=(await mailaccount$$module$services$invoiceFetcher.find({id_app:$configs_id_app$$,status:!0})).filter($a$$=>$a$$.imap&&$a$$.imap.host);for(const $cfg$$ of $configs_id_app$$)console.log(`\ud83d\udcec \u0110ang \u0111\u1ecdc email t\u1eeb c\u1ea5u h\u00ecnh: ${$cfg$$.fullname} (${$cfg$$.username})`),await fetchInvoicesFromEmailConfig$$module$services$invoiceFetcher($cfg$$),$cfg$$.last_checked=new Date,
|
|
15
15
|
await $cfg$$.save()}var module$services$invoiceFetcher={};module$services$invoiceFetcher.fetchAllInvoices=fetchAllInvoices$$module$services$invoiceFetcher;
|