flexbiz-server 12.6.11 → 12.6.13

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.
Files changed (165) hide show
  1. package/package.json +11 -3
  2. package/server/app.js +11 -10
  3. package/server/auths/local.js +6 -6
  4. package/server/cluster.js +11 -12
  5. package/server/controllers/controller.js +14 -3
  6. package/server/controllers/controllerRPT.js +4 -4
  7. package/server/controllers/controllerUtils.js +12 -12
  8. package/server/controllers/createHandler.js +20 -21
  9. package/server/controllers/deleteHandler.js +3 -3
  10. package/server/controllers/findHandler.js +49 -48
  11. package/server/controllers/updateHandler.js +25 -26
  12. package/server/controllers/viewHandler.js +14 -14
  13. package/server/flow/handlers.js +2 -2
  14. package/server/flow/nodes/aiAnalysis.js +7 -7
  15. package/server/flow/nodes/checkAction.js +7 -0
  16. package/server/flow/nodes/email.js +7 -8
  17. package/server/flow/utils.js +58 -1
  18. package/server/global.js +1 -1
  19. package/server/libs/WorkerStaticPool.js +19 -18
  20. package/server/libs/cdpskh.js +3 -2
  21. package/server/libs/cdpstk.js +11 -11
  22. package/server/libs/cktk.js +3 -3
  23. package/server/libs/ckvt.js +10 -10
  24. package/server/libs/ckvtnpp.js +6 -5
  25. package/server/libs/ckvttt.js +5 -5
  26. package/server/libs/ctvt.js +6 -6
  27. package/server/libs/dkcn.js +1 -1
  28. package/server/libs/dktk.js +4 -3
  29. package/server/libs/docs.js +31 -25
  30. package/server/libs/dtbanletheosp.js +4 -1
  31. package/server/libs/email.js +2 -2
  32. package/server/libs/executiveDashboard.js +8 -0
  33. package/server/libs/getGiaban.js +2 -2
  34. package/server/libs/kpistatus.js +38 -36
  35. package/server/libs/kqchamcong.js +12 -0
  36. package/server/libs/kqhdkd.js +8 -0
  37. package/server/libs/post-book.js +4 -3
  38. package/server/libs/post-socai.js +2 -2
  39. package/server/libs/post-sokho.js +5 -5
  40. package/server/libs/redis-cache.js +0 -0
  41. package/server/libs/sctcnkh.js +18 -0
  42. package/server/libs/sessionContext.js +6 -11
  43. package/server/libs/socaitk.js +9 -0
  44. package/server/libs/thnxt.js +2 -1
  45. package/server/libs/tinhgiatb.js +4 -4
  46. package/server/libs/tuoinophaithu.js +11 -10
  47. package/server/libs/tuoinophaitra.js +12 -10
  48. package/server/libs/utils.js +8 -4
  49. package/server/libs/vectorService.js +12 -8
  50. package/server/models/actionLog.js +2 -0
  51. package/server/models/aimemory.js +1 -0
  52. package/server/models/app.js +3 -2
  53. package/server/models/approve.js +4 -4
  54. package/server/models/chat_message.js +2 -0
  55. package/server/models/chat_session.js +2 -0
  56. package/server/models/checkin.js +2 -2
  57. package/server/models/chitietluongds.js +4 -3
  58. package/server/models/customer.js +8 -9
  59. package/server/models/data_list_config.js +2 -2
  60. package/server/models/dmchietkhau.js +3 -4
  61. package/server/models/dmchietkhauhd.js +3 -4
  62. package/server/models/dmdiemthuong.js +2 -4
  63. package/server/models/dmhoahonghd.js +2 -3
  64. package/server/models/dmhoahongnpp.js +2 -3
  65. package/server/models/dmletet.js +2 -2
  66. package/server/models/dmphatdichvu.js +1 -2
  67. package/server/models/filechunk.js +2 -2
  68. package/server/models/hd2.js +9 -11
  69. package/server/models/hd3.js +10 -11
  70. package/server/models/listinfo.js +3 -1
  71. package/server/models/pc0.js +4 -4
  72. package/server/models/pn1.js +9 -11
  73. package/server/models/pn2.js +3 -3
  74. package/server/models/pnc.js +9 -10
  75. package/server/models/pnh.js +5 -6
  76. package/server/models/pnk.js +7 -7
  77. package/server/models/pxc.js +9 -10
  78. package/server/models/pxh.js +6 -7
  79. package/server/models/pxk.js +7 -8
  80. package/server/models/schedule.js +17 -16
  81. package/server/models/sokho.js +10 -11
  82. package/server/models/step.js +1 -1
  83. package/server/modules/lists/bg-cdvt.js +1 -1
  84. package/server/modules/lists/bg-cdvtnpp.js +1 -1
  85. package/server/modules/lists/ls-chat_session.js +5 -0
  86. package/server/modules/lists/ls-checkin.js +11 -12
  87. package/server/modules/lists/ls-chitietluongds.js +2 -2
  88. package/server/modules/lists/ls-customer.js +20 -20
  89. package/server/modules/lists/ls-dmnv.js +12 -11
  90. package/server/modules/lists/ls-file.js +5 -5
  91. package/server/modules/lists/ls-mailsent.js +3 -3
  92. package/server/modules/lists/ls-warranty.js +3 -4
  93. package/server/modules/reports/calc-tinhluong.js +42 -40
  94. package/server/modules/reports/rp-dtbanlekempk.js +1 -1
  95. package/server/modules/reports/rp-dtbanletheoctkempk.js +13 -13
  96. package/server/modules/reports/rp-kgchamcong.js +1 -12
  97. package/server/modules/reports/rp-kqhdkd.js +1 -7
  98. package/server/modules/reports/rp-phanbochitienchohoadon.js +1 -1
  99. package/server/modules/reports/rp-ptcttct.js +2 -2
  100. package/server/modules/reports/rp-sctcnkh.js +4 -19
  101. package/server/modules/reports/rp-socaitk.js +1 -8
  102. package/server/modules/systems/sys-app.js +20 -19
  103. package/server/modules/vouchers/vo-hd2.js +71 -85
  104. package/server/modules/vouchers/vo-hd3.js +15 -21
  105. package/server/modules/vouchers/vo-pbl.js +48 -48
  106. package/server/modules/vouchers/vo-pc1.js +11 -11
  107. package/server/modules/vouchers/vo-pc2.js +13 -12
  108. package/server/modules/vouchers/vo-pgh.js +12 -15
  109. package/server/modules/vouchers/vo-pn1.js +27 -33
  110. package/server/modules/vouchers/vo-pnc.js +14 -15
  111. package/server/modules/vouchers/vo-pnh.js +12 -15
  112. package/server/modules/vouchers/vo-pnk.js +11 -15
  113. package/server/modules/vouchers/vo-po1.js +0 -0
  114. package/server/modules/vouchers/vo-pxc.js +24 -22
  115. package/server/modules/vouchers/vo-pxh.js +13 -22
  116. package/server/modules/vouchers/vo-pxk.js +11 -16
  117. package/server/route.js +32 -32
  118. package/server/workers/inputWorker.js +8 -8
  119. package/server/workers/reportWorker.js +3 -4
  120. package/server/workers/sendEmail.js +11 -11
  121. package/server/workers/worker-utils.js +3 -1
  122. package/server/actions/mailtemplate.js +0 -142
  123. package/server/actions/schedule.js +0 -23
  124. package/server/libs/schedule.js +0 -18
  125. package/server/models/bds_area.js +0 -4
  126. package/server/models/bds_block.js +0 -3
  127. package/server/models/bds_building.js +0 -4
  128. package/server/models/bds_floor.js +0 -3
  129. package/server/models/bds_floordetail.js +0 -9
  130. package/server/models/bds_nhadat.js +0 -13
  131. package/server/models/bds_nhadat_moigioi_ban.js +0 -3
  132. package/server/models/bds_nhomnhadat.js +0 -4
  133. package/server/models/bds_phanloainhadat.js +0 -3
  134. package/server/models/campaign.js +0 -6
  135. package/server/models/form.js +0 -3
  136. package/server/models/formvalue.js +0 -3
  137. package/server/models/hlink.js +0 -2
  138. package/server/models/hlinkvalue.js +0 -2
  139. package/server/models/kbm_bcdkt.js +0 -4
  140. package/server/models/kbm_kqhdkd.js +0 -3
  141. package/server/models/kbm_lcttgt.js +0 -5
  142. package/server/models/kbm_lctttt.js +0 -4
  143. package/server/models/kbm_pttct.js +0 -4
  144. package/server/models/kbm_tkgtgt.js +0 -5
  145. package/server/models/mailschedule.js +0 -2
  146. package/server/models/waitevent.js +0 -2
  147. package/server/modules/lists/ls-bds_area.js +0 -3
  148. package/server/modules/lists/ls-bds_block.js +0 -1
  149. package/server/modules/lists/ls-bds_building.js +0 -3
  150. package/server/modules/lists/ls-bds_dmnhbds.js +0 -6
  151. package/server/modules/lists/ls-bds_floor.js +0 -2
  152. package/server/modules/lists/ls-bds_floordetail.js +0 -19
  153. package/server/modules/lists/ls-bds_nhadat.js +0 -19
  154. package/server/modules/lists/ls-bds_nhadat_moigioi_ban.js +0 -9
  155. package/server/modules/lists/ls-bds_nhomnhadat.js +0 -1
  156. package/server/modules/lists/ls-bds_phanloainhadat.js +0 -1
  157. package/server/modules/lists/ls-campaign.js +0 -1
  158. package/server/modules/lists/ls-dmnhnd.js +0 -1
  159. package/server/modules/lists/ls-formvalue.js +0 -1
  160. package/server/modules/lists/ls-hlink.js +0 -1
  161. package/server/modules/lists/ls-hlinkvalue.js +0 -1
  162. package/server/modules/lists/ls-mailschedule.js +0 -7
  163. package/server/modules/lists/ls-waitevent.js +0 -1
  164. package/server/modules/public/form.js +0 -7
  165. package/server/modules/public/hlink.js +0 -3
@@ -2,8 +2,7 @@ const dmhoahonghdSchema=new Schema({id_app:{type:String,required:!0,maxlength:10
2
2
  uppercase:!0},khong_su_dung_cho_ct:{type:String,uppercase:!0},user_group:String,ma_nv:{type:String,default:"",maxlength:32},ten_nv:String,ma_bp:{type:String,default:"",maxlength:1024},ten_bp:String,ma_kh:{type:String,default:"",maxlength:32},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024},ten_nh_kh:String,nh_kh2:{type:String,default:"",maxlength:1024},ten_nh_kh2:String,nh_kh3:{type:String,default:"",maxlength:1024},ten_nh_kh3:String,nh_kh4:{type:String,default:"",maxlength:1024},ten_nh_kh4:String,
3
3
  nh_kh5:{type:String,default:"",maxlength:1024},ten_nh_kh5:String,ma_kho:{type:String,default:"",maxlength:32},ten_kho:String,gt_tu:{type:Number,default:0},gt_den:{type:Number,default:0},vts:[],nvts:[],nvts2:[],nvts3:[],nvts4:[],sl_toi_thieu:{type:Number,default:0},ty_le_giam_gia_max:{type:Number,default:0},tien_hh:{type:Number,default:0},ty_le_hh:{type:Number,default:0},tien_hh_ngt:{type:Number,default:0},ty_le_hh_ngt:{type:Number,default:0},tien_hh_c2:{type:Number,default:0},ty_le_hh_c2:{type:Number,
4
4
  default:0},so_tien_max:{type:Number,default:0},tien_hh2:{type:Number,default:0},ty_le_hh2:{type:Number,default:0},tien_hh2_ngt:{type:Number,default:0},ty_le_hh2_ngt:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},details_km:[],picture:{type:String},exfields:Schema.Types.Mixed,newsfeed:{type:Boolean,default:!0},online:{type:Boolean},offline:{type:Boolean},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
5
- default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},ma_kh_id:{type:Schema.Types.ObjectId,ref:"customer",localField:["ma_kh"],foreignField:["ma_kh"]},ma_kho_id:{type:Schema.Types.ObjectId,ref:"dmkho",localField:["ma_kho"],foreignField:["ma_kho"]}});
5
+ default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
6
6
  (global.configs||{}).createIndexes&&(dmhoahonghdSchema.index({id_app:1,ma_hoahong:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1}),dmhoahonghdSchema.index({gt_tu:1}),dmhoahonghdSchema.index({gt_den:1}),dmhoahonghdSchema.index({ten_kho:1}),dmhoahonghdSchema.index({nh_kh:1}),dmhoahonghdSchema.index({ten_nh_kh:1}),dmhoahonghdSchema.index({nh_kh2:1}),dmhoahonghdSchema.index({ten_nh_kh2:1}),dmhoahonghdSchema.index({nh_kh3:1}),dmhoahonghdSchema.index({ten_nh_kh3:1}),dmhoahonghdSchema.index({nh_kh4:1}),
7
7
  dmhoahonghdSchema.index({ten_nh_kh4:1}),dmhoahonghdSchema.index({nh_kh5:1}),dmhoahonghdSchema.index({ten_nh_kh5:1}),dmhoahonghdSchema.index({ma_nv:1}),dmhoahonghdSchema.index({ma_bp:1}),dmhoahonghdSchema.index({user_group:1}),dmhoahonghdSchema.index({kieu:1}),dmhoahonghdSchema.index({loai:1}),dmhoahonghdSchema.index({do_uu_tien:1}),dmhoahonghdSchema.index({vts:1}),dmhoahonghdSchema.index({nvts:1}),dmhoahonghdSchema.index({nvts2:1}),dmhoahonghdSchema.index({nvts3:1}),dmhoahonghdSchema.index({nvts4:1}),
8
- dmhoahonghdSchema.index({date_updated:-1}),dmhoahonghdSchema.index({date_created:-1}),dmhoahonghdSchema.index({user_created:1}),dmhoahonghdSchema.index({online:1}),dmhoahonghdSchema.index({offline:1}),dmhoahonghdSchema.index({mieu_ta:"text",ma_hoahong:"text",ten_hoahong:"text",ma_kh:"text",ten_kh:"text",nh_kh:"text",ten_nh_kh:"text",ma_kho:"text",ten_kho:"text",ma_nv:"text",ten_nv:"text",ma_bp:"text",ten_bp:"text"},{name:"dmhoahonghd_index_text"}),dmhoahonghdSchema.set("toObject",{virtuals:!0}),dmhoahonghdSchema.set("toJSON",
9
- {virtuals:!0}),dmhoahonghdSchema.index({status:1}));const model=mongoose.models.dmhoahonghd||mongoose.model("dmhoahonghd",dmhoahonghdSchema);module.exports=model;
8
+ dmhoahonghdSchema.index({date_updated:-1}),dmhoahonghdSchema.index({date_created:-1}),dmhoahonghdSchema.index({user_created:1}),dmhoahonghdSchema.index({online:1}),dmhoahonghdSchema.index({offline:1}),dmhoahonghdSchema.set("toObject",{virtuals:!0}),dmhoahonghdSchema.set("toJSON",{virtuals:!0}),dmhoahonghdSchema.index({status:1}));const model=mongoose.models.dmhoahonghd||mongoose.model("dmhoahonghd",dmhoahonghdSchema);module.exports=model;
@@ -2,8 +2,7 @@ const dmhoahongnppSchema=new Schema({id_app:{type:String,required:!0,maxlength:1
2
2
  uppercase:!0},user_group:String,ma_nv:{type:String,default:"",maxlength:32},ten_nv:String,ma_bp:{type:String,default:"",maxlength:1024},ten_bp:String,ma_kh:{type:String,default:"",maxlength:32},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024},ten_nh_kh:String,nh_kh2:{type:String,default:"",maxlength:1024},ten_nh_kh2:String,nh_kh3:{type:String,default:"",maxlength:1024},ten_nh_kh3:String,nh_kh4:{type:String,default:"",maxlength:1024},ten_nh_kh4:String,nh_kh5:{type:String,default:"",maxlength:1024},
3
3
  ten_nh_kh5:String,ma_kho:{type:String,default:"",maxlength:32},ten_kho:String,gt_tu:{type:Number,default:0},gt_den:{type:Number,default:0},vts:[],nvts:[],nvts2:[],nvts3:[],nvts4:[],sl_toi_thieu:{type:Number,default:0},ty_le_giam_gia_max:{type:Number,default:0},tien_hh:{type:Number,default:0},ty_le_hh:{type:Number,default:0},tien_hh_ngt:{type:Number,default:0},ty_le_hh_ngt:{type:Number,default:0},tien_hh_c2:{type:Number,default:0},ty_le_hh_c2:{type:Number,default:0},so_tien_max:{type:Number,default:0},
4
4
  tien_hh2:{type:Number,default:0},ty_le_hh2:{type:Number,default:0},tien_hh2_ngt:{type:Number,default:0},ty_le_hh2_ngt:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},details_km:[],picture:{type:String},exfields:Schema.Types.Mixed,newsfeed:{type:Boolean,default:!0},online:{type:Boolean},offline:{type:Boolean},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,
5
- default:""},user_updated:{type:String,default:""},ma_kh_id:{type:Schema.Types.ObjectId,ref:"customer",localField:["ma_kh"],foreignField:["ma_kh"]},ma_kho_id:{type:Schema.Types.ObjectId,ref:"dmkho",localField:["ma_kho"],foreignField:["ma_kho"]}});dmhoahongnppSchema.set("toObject",{virtuals:!0});dmhoahongnppSchema.set("toJSON",{virtuals:!0});
5
+ default:""},user_updated:{type:String,default:""}});dmhoahongnppSchema.set("toObject",{virtuals:!0});dmhoahongnppSchema.set("toJSON",{virtuals:!0});
6
6
  (global.configs||{}).createIndexes&&(dmhoahongnppSchema.index({id_app:1,ma_hoahong:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1}),dmhoahongnppSchema.index({gt_tu:1}),dmhoahongnppSchema.index({gt_den:1}),dmhoahongnppSchema.index({ten_kho:1}),dmhoahongnppSchema.index({nh_kh:1}),dmhoahongnppSchema.index({ten_nh_kh:1}),dmhoahongnppSchema.index({nh_kh2:1}),dmhoahongnppSchema.index({ten_nh_kh2:1}),dmhoahongnppSchema.index({nh_kh3:1}),dmhoahongnppSchema.index({ten_nh_kh3:1}),dmhoahongnppSchema.index({nh_kh4:1}),
7
7
  dmhoahongnppSchema.index({ten_nh_kh4:1}),dmhoahongnppSchema.index({nh_kh5:1}),dmhoahongnppSchema.index({ten_nh_kh5:1}),dmhoahongnppSchema.index({ma_nv:1}),dmhoahongnppSchema.index({ma_bp:1}),dmhoahongnppSchema.index({user_group:1}),dmhoahongnppSchema.index({kieu:1}),dmhoahongnppSchema.index({loai:1}),dmhoahongnppSchema.index({do_uu_tien:1}),dmhoahongnppSchema.index({vts:1}),dmhoahongnppSchema.index({nvts:1}),dmhoahongnppSchema.index({nvts2:1}),dmhoahongnppSchema.index({nvts3:1}),dmhoahongnppSchema.index({nvts4:1}),
8
- dmhoahongnppSchema.index({date_updated:-1}),dmhoahongnppSchema.index({date_created:-1}),dmhoahongnppSchema.index({user_created:1}),dmhoahongnppSchema.index({online:1}),dmhoahongnppSchema.index({offline:1}),dmhoahongnppSchema.index({mieu_ta:"text",ma_hoahong:"text",ten_hoahong:"text",ma_kh:"text",ten_kh:"text",nh_kh:"text",ten_nh_kh:"text",ma_kho:"text",ten_kho:"text",ma_nv:"text",ten_nv:"text",ma_bp:"text",ten_bp:"text"},{name:"dmhoahongnpp_index_text"}),dmhoahongnppSchema.index({status:1}));
9
- const model=mongoose.models.dmhoahongnpp||mongoose.model("dmhoahongnpp",dmhoahongnppSchema);module.exports=model;
8
+ dmhoahongnppSchema.index({date_updated:-1}),dmhoahongnppSchema.index({date_created:-1}),dmhoahongnppSchema.index({user_created:1}),dmhoahongnppSchema.index({online:1}),dmhoahongnppSchema.index({offline:1}),dmhoahongnppSchema.index({status:1}));const model=mongoose.models.dmhoahongnpp||mongoose.model("dmhoahongnpp",dmhoahongnppSchema);module.exports=model;
@@ -1,2 +1,2 @@
1
- const dmletetSchema=new Schema({ma_le:{type:String,required:!0,uppercase:!0,maxlength:32},ten_le:{type:String,required:!0,maxlength:1024},ngay:{type:Number,default:0},thang:{type:Number,default:0},id_app:{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},
2
- visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});(global.configs||{}).createIndexes&&(dmletetSchema.index({id_app:1,ma_le:1},{unique:!0}),dmletetSchema.index({ma_le:"text",ten_le:"text"}),dmletetSchema.index({status:1}),dmletetSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.model("dmletet",dmletetSchema);module.exports=model;
1
+ const dmletetSchema=new Schema({ma_le:{type:String,required:!0,uppercase:!0,maxlength:32},ten_le:{type:String,required:!0,maxlength:1024},ngay:{type:Number,default:0},thang:{type:Number,default:0},id_app:{type:String,required:!0,maxlength:1024},ma_loai_cong: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,
2
+ default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});(global.configs||{}).createIndexes&&(dmletetSchema.index({id_app:1,ma_le:1},{unique:!0}),dmletetSchema.index({ma_le:"text",ten_le:"text"}),dmletetSchema.index({status:1}),dmletetSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.model("dmletet",dmletetSchema);module.exports=model;
@@ -1,5 +1,4 @@
1
1
  const dmphatdichvuSchema=new Schema({id_app:{type:String,required:!0},service_code:{type:String,uppercase:!0,default:"",maxlength:32},service_name:String,ap_dung_cho:{type:Number,default:0},ma_kh:{type:String,default:"",maxlength:32},nh_kh:{type:String,default:"",maxlength:1024},trang_thai:{type:String,maxlength:32},thoi_gian_tu:{type:Number,default:0},thoi_gian_den:{type:Number,default:0},tien_phat:{type:Number,default:0},ty_le_phat:{type:Number,default:0},ty_le_tra_cho_nguoi_lien_quan:{type:Number,
2
- default:0},tien_tra_cho_nguoi_lien_quan:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},ap_dung_lan_thu:{type:Number},picture:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,newsfeed:{type:Boolean,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:""},service_code_id:{type:Schema.Types.ObjectId,
3
- ref:"service",localField:["service_code"],foreignField:["service_code"]},ma_kh_id:{type:Schema.Types.ObjectId,ref:"customer",localField:["ma_kh"],foreignField:["ma_kh"]}});
2
+ default:0},tien_tra_cho_nguoi_lien_quan:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},ap_dung_lan_thu:{type:Number},picture:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,newsfeed:{type:Boolean,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:""}});
4
3
  (global.configs||{}).createIndexes&&(dmphatdichvuSchema.index({id_app:1,service_code:1,hieu_luc_tu:-1,hieu_luc_den:-1}),dmphatdichvuSchema.index({ap_dung_cho:1}),dmphatdichvuSchema.index({nh_kh:1}),dmphatdichvuSchema.index({date_updated:-1}),dmphatdichvuSchema.index({date_created:-1}),dmphatdichvuSchema.index({user_created:1}),dmphatdichvuSchema.index({service_code:"text",service_name:"text"}),dmphatdichvuSchema.set("toObject",{virtuals:!0}),dmphatdichvuSchema.set("toJSON",{virtuals:!0}),dmphatdichvuSchema.index({trang_thai:1}),
5
4
  dmphatdichvuSchema.index({status:1}));const model=mongoose.models.dmphatdichvu||mongoose.model("dmphatdichvu",dmphatdichvuSchema);module.exports=model;
@@ -1,2 +1,2 @@
1
- const mongoose=require("mongoose"),{Schema}=mongoose,metaSchema=new Schema({department:{type:String,required:!0},docType:{type:String},accessLevel:{type:String,default:"internal"}}),FileChunkSchema=new Schema({id_app:String,file_id:{type:String,ref:"File",required:!0,index:!0},chunk_index:{type:Number,required:!0},content:{type:String,required:!0},metadata:metaSchema,embedding:{type:[Number],required:!0},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
2
- default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&FileChunkSchema.index({id_app:1,file_id:1});FileChunkSchema.set("toJSON",{transform:($doc$$,$ret$$)=>{delete $ret$$.embedding;return $ret$$}});const FileChunk=mongoose.model("filechunk",FileChunkSchema);module.exports=FileChunk;
1
+ const mongoose=require("mongoose"),{Schema}=mongoose,metaSchema=new Schema({department:{type:String,required:!0},docType:{type:String},user_id:String,accessLevel:{type:String,default:"internal"},timestamp:{type:Date,default:Date.now}}),FileChunkSchema=new Schema({id_app:{type:String,required:!0},file_id:{type:String,required:!0,index:!0},chunk_index:{type:Number,required:!0},content:{type:String,required:!0},metadata:metaSchema,embedding:{type:[Number],required:!0},status:{type:Boolean,default:!0},
2
+ date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(FileChunkSchema.index({id_app:1,file_id:1}),FileChunkSchema.index({id_app:1,"metadata.user_id":1}));FileChunkSchema.set("toJSON",{transform:($doc$$,$ret$$)=>{delete $ret$$.embedding;return $ret$$}});const FileChunk=mongoose.model("filechunk",FileChunkSchema);module.exports=FileChunk;
@@ -1,13 +1,11 @@
1
- const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pknhapSchema=new Schema({ma_pk_nhap:String,ma_dvt_pk_nhap:String,ma_kho_pk_nhap:String,sl_pk_nhap:Number,gia_von_pk_nhap_nt:{type:Number,default:0},tien_nhap_pk_nt:{type:Number,default:0},xuat_kho_kh:Boolean,ma_vt_ref:String}),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},
2
- tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean,ma_vt_ref:String}),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ten_vt:{type:String},ten_vt2:{type:String},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,
3
- 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},id_cs_ck:String,
4
- ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tien_tinh_thue_nt:Number,ma_thue:String,thue_suat:{type:Number,default:0},tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},tien_thue_nt_dc:{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},tt_nt:{type:Number,default:0},tt:{type:Number,default:0},promotion:Schema.Types.Mixed,
5
- dien_giai:{type:String,maxlength:1024},ten_vt_vat:String,ma_kh:String,ma_kh_no: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},
6
- 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,
7
- 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,
8
- ma_vt_du:String,sl_vt_du:Number,ma_dvt_vt_du:String,don_gia_vt_du:Number,tk_tl_vt_du:String,dien_giai_vt_du:String,gt_vt_du:Number,ma_pk_nhap:String,ma_dvt_pk_nhap:String,ma_kho_pk_nhap:String,sl_pk_nhap:Number,gia_von_pk_nhap_nt:{type:Number,default:0},tien_nhap_pk_nt:{type:Number,default:0},xuat_kho_kh:Boolean,ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean,trong_luong:{type:Number,
9
- default:0},chieu_sau:{type:Number,default:0},chieu_rong:{type:Number,default:0},chieu_cao:{type:Number,default:0},sl_ap_dung_km:{type:Number,default:0},km_yn_for:String,id_cs:String,don_gia_luong_tho:Number,luong_tho:Number,warranty_policy_id:{type:Schema.Types.ObjectId,ref:"warrantypolicy"},warranty_duration_months:Number,warranty_start_date:Date,warranty_end_date:Date,warranty_status:{type:String,enum:["PENDING","ACTIVE","EXPIRED"],default:"PENDING"},exfields_detail:Schema.Types.Mixed,line:{type:Number,
10
- 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};
1
+ 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},ten_vt:{type:String},ten_vt2:{type:String},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},
2
+ 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,
3
+ default:0},tien_ct_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},tien_tinh_thue_nt:Number,ma_thue:String,thue_suat:{type:Number,default:0},tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},tien_thue_nt_dc:{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},
4
+ 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_kh:String,ma_kh_no: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,
5
+ 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,
6
+ 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,
7
+ ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,ma_vt_du:String,sl_vt_du:Number,ma_dvt_vt_du:String,don_gia_vt_du:Number,tk_tl_vt_du:String,dien_giai_vt_du:String,gt_vt_du:Number,trong_luong:{type:Number,default:0},chieu_sau:{type:Number,default:0},chieu_rong:{type:Number,default:0},chieu_cao:{type:Number,default:0},sl_ap_dung_km:{type:Number,default:0},km_yn_for:String,id_cs:String,don_gia_luong_tho:Number,luong_tho:Number,warranty_policy_id:{type:Schema.Types.ObjectId,
8
+ ref:"warrantypolicy"},warranty_duration_months:Number,warranty_start_date:Date,warranty_end_date:Date,warranty_status:{type:String,enum:["PENDING","ACTIVE","EXPIRED"],default:"PENDING"},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};
11
9
  const vatraSchema=new Schema({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,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date,required:!0},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,required:!0,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},
12
10
  tk_thue_co:{type:String,required:!0,uppercase:!0,maxlength:32},tk_du_thue:{type:String,required:!0,uppercase:!0,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,uppercase:!0,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},
13
11
  ma_so_thue:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},ma_dvt:String,details:[detailSchema],line:{type:Number,default:0}});vatraSchema.validate={tk_thue_co:validAccount.existsTk,tk_du_thue:validAccount.existsTk,ma_kh:validator.existsKh,ma_thue:validator.existsVat};
@@ -20,7 +18,7 @@ tk_no_hoa_hong:String,tk_co_hoa_hong:String,tu_tinh_hoa_hong:Boolean,chuyen_ngay
20
18
  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,
21
19
  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},ma_nv_giao_hang:{type:String,maxlength:128},loai_phuong_tien:String,ngay_giao_hang:Date,ngay_du_kien_nhan:Date,phu_xe:{type:String,maxlength:128},ngay_hoan_giao_hang:Date,ngay_kg_giao_duoc:Date,
22
20
  ngay_giao_hang_hoan_thanh:Date,hinh_giao_hang:String,location:global.Schema.Types.Mixed,trang_thai_giao_hang:{type:String,maxlength:1024},thu_ho:Boolean,don_vi_vc:{type:String,maxlength:1024},ma_van_don:String,ma_kiem_soat:String,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},pt_thanh_toan:String,
23
- bank_payment_info:{},ds_pk_nhap:[pknhapSchema],ds_pk_xuat:[pkxuatSchema],vatras:[vatraSchema],id_client:String,listinfo_code: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};
21
+ bank_payment_info:{},vatras:[vatraSchema],id_client:String,listinfo_code: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};
24
22
  (global.configs||{}).createIndexes&&(hd2Schema.index({id_app:1,id_ct_chuyen:1},{name:"index_id_ct_chuyen"}),hd2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1}),hd2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,so_ct:-1}),hd2Schema.index({id_app:1,ma_ct:1,listinfo_code:1,so_ct:-1,ngay_ct:-1}),hd2Schema.index({id_app:1,ma_ct:1,ma_kh:1,ngay_ct:-1}),hd2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kho:1}),hd2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kho:1,ma_kh:1}),hd2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,
25
23
  ma_kho_npp:1}),hd2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,of_user:1}),hd2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,"details.ma_vt":1}),hd2Schema.index({id_app:1,"details.id_cs_ck":1}),hd2Schema.index({id_app:1,"details.id_cs":1}),hd2Schema.index({id_cs_ck_hd:1}),hd2Schema.index({id_app:1,id_cs_ck_hd:1}),hd2Schema.index({id_dh2:1}),hd2Schema.index({id_app:1,id_dh2:1}),hd2Schema.index({id_contract:1}),hd2Schema.index({id_app:1,id_contract:1}),hd2Schema.index({id_app:1,ma_ct:1,user_nv:1,user_gt:1,
26
24
  user_ctv:1,user_ql:1,user_ctv2:1,user_kho:1}),hd2Schema.index({id_app:1,ma_ct:1,trang_thai_dh:1,trang_thai_gh:1}),hd2Schema.index({id_app:1,ma_ct:1,user_nv_giao_hang:1,user_nv_dong_hang:1}),hd2Schema.index({id_app:1,ma_ct:1,date_created:-1}),hd2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1}),hd2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,of_user:1,user_created:1,visible_to:1,visible_to_users:1}),hd2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,of_user:1,user_created:1,
@@ -1,17 +1,16 @@
1
- const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pknhapSchema=new Schema({ma_pk_nhap:String,ma_dvt_pk_nhap:String,ma_kho_pk_nhap:String,sl_pk_nhap:Number,gia_von_pk_nhap_nt:{type:Number,default:0},tien_nhap_pk_nt:{type:Number,default:0},xuat_kho_kh:Boolean}),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,
2
- default:0},nhap_kho_kh:Boolean}),detailSchema=new Schema({id_hd:{type:String,maxlength:1024},ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ma_dvt:{type:String,required:!0,maxlength:32},sl_nhap:{type:Number,default:0},pn_gia_tb:{type:Boolean,default:!1},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},tk_vt:{type:String,uppercase:!0,maxlength:32},tk_gv:{type:String,uppercase:!0,maxlength:32},gia_ban:{type:Number,
3
- default:0},gia_ban_nt:{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},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_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},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},tk_tl:{type:String,uppercase:!0,maxlength:32},id_reason:{type:String,
4
- maxlength:32},ma_kho:{type:String},ty_le_hoa_hong:Number,tien_hoa_hong:Number,chuyen_ngay:Boolean,tk_no_hoa_hong:String,tk_co_hoa_hong:String,ma_kh_hoa_hong:String,user_nv: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,ma_kh_hoa_hong_gt:String,user_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,ma_ctv:String,user_ctv:String,ty_le_hoa_hong_ctv2:Number,
5
- 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,ma_kh_hoa_hong_ql:String,user_ql:String,ty_le_hoa_hong_kho:Number,tien_hoa_hong_kho:Number,chuyen_ngay_kho:Boolean,combo:Schema.Types.Mixed,ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},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:"",
6
- 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},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},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,
7
- ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,ma_vt:validVt.existsVt,ma_dvt:validator.existsDvt};
1
+ const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),detailSchema=new Schema({id_hd:{type:String,maxlength:1024},ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ma_dvt:{type:String,required:!0,maxlength:32},sl_nhap:{type:Number,default:0},pn_gia_tb:{type:Boolean,default:!1},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},
2
+ tk_vt:{type:String,uppercase:!0,maxlength:32},tk_gv:{type:String,uppercase:!0,maxlength:32},gia_ban:{type:Number,default:0},gia_ban_nt:{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},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_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},tien:{type:Number,
3
+ default:0},tien_nt:{type:Number,default:0},tk_tl:{type:String,uppercase:!0,maxlength:32},id_reason:{type:String,maxlength:32},ma_kho:{type:String},ty_le_hoa_hong:Number,tien_hoa_hong:Number,chuyen_ngay:Boolean,tk_no_hoa_hong:String,tk_co_hoa_hong:String,ma_kh_hoa_hong:String,user_nv: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,ma_kh_hoa_hong_gt:String,user_gt:String,ty_le_hoa_hong_ctv:Number,tien_hoa_hong_ctv:Number,
4
+ chuyen_ngay_ctv:Boolean,tk_cn_ctv:String,tk_cp_ctv:String,ma_ctv:String,user_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,ma_kh_hoa_hong_ql:String,user_ql:String,ty_le_hoa_hong_kho:Number,tien_hoa_hong_kho:Number,chuyen_ngay_kho:Boolean,combo:Schema.Types.Mixed,ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_bp:{type:String,uppercase:!0,default:"",
5
+ 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},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ma_td1:Schema.Types.Mixed,
6
+ 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,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,ma_vt:validVt.existsVt,ma_dvt:validator.existsDvt};
8
7
  const hd3Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"HD3",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},
9
8
  ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ten_kh:String,ong_ba:{type:String,default:"",maxlength:1024},ma_kho:{type:String,required:!0,uppercase:!0,maxlength:32},tk_co:{type:String,uppercase:!0,default:"",maxlength:32},tk_dt:{type:String,uppercase:!0,default:"",maxlength:32},dien_giai:{type:String,default:"",maxlength:1024},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,
10
9
  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},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},exfields:Schema.Types.Mixed,trang_thai:{type:String,
11
- 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]},ds_pk_nhap:[pknhapSchema],ds_pk_xuat:[pkxuatSchema],ma_nv:{type:String,uppercase:!0,maxlength:32},user_nv:String,ma_kh_hoa_hong:{type:String,uppercase:!0,maxlength:32},
12
- 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,
13
- 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},
14
- 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});hd3Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,tk_co:validAccount.existsTk};
10
+ 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]},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,
11
+ 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,
12
+ 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,
13
+ tk_no_hoa_hong_kho:String,tk_co_hoa_hong_kho:String,chuyen_ngay_kho:Boolean,da_chuyen_hoa_hong_kho:Boolean});hd3Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,tk_co:validAccount.existsTk};
15
14
  (global.configs||{}).createIndexes&&(hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_dvcs:1,so_ct:-1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kh:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kho:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,date_created:-1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_nv:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,
16
15
  user_gt:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_ctv:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_ctv2:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_ql:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_kho:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,"details.user_nv":1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,"details.user_gt":1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,"details.user_ctv":1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,"details.user_ql":1}),
17
16
  hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1,so_ct:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1,ma_kh:1}),hd3Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1,ma_kho:1}),hd3Schema.index({id_app:1,dien_giai:"text",ma_kh:"text",
@@ -149,7 +149,9 @@ const listinfoSchema = new global.Schema({
149
149
  if((global.configs||{}).createIndexes){
150
150
  listinfoSchema.index({code: 1},{unique:true});
151
151
  listinfoSchema.index({used_by_3rd_systems: 1});
152
-
152
+
153
+ listinfoSchema.index({code:1,api_code:1,title: 1});
154
+
153
155
  listinfoSchema.index({title: 1});
154
156
  listinfoSchema.index({title2: 1});
155
157
  listinfoSchema.index({mother_code: 1});
@@ -1,9 +1,9 @@
1
1
  const validator=require("../libs/validator"),detailSchema=new Schema({tk_no:{type:String,uppercase:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},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_sp:{type:String,uppercase:!0,maxlength:32},
2
2
  dien_giai:String,exfields_detail: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,line:{type:Number,default:0}});detailSchema.validate={ma_kh:validator.existsKh};
3
- const vatvaoSchema=new Schema({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},ma_tc:{type:String,default:"1",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date,required:!0},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,
4
- required:!0,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,uppercase:!0,maxlength:32},tk_du_thue:{type:String,uppercase:!0,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,uppercase:!0,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},
5
- ten_vt:{type:String,default:"",maxlength:1024},exfields_detail:global.Schema.Types.Mixed,line:{type:Number,default:0}});vatvaoSchema.validate={ma_kh:validator.existsKh,ma_thue:validator.existsVat};
6
- const tdttco_ttSchema=new Schema({line:{type:Number,default:0},id_hd:{type:String,required:!0,maxlength:1024},id_tdtt:{type:String,maxlength:1024},ngay_hd:{type:Date,required:!0},so_hd:{type:String,required:!0,uppercase:!0,maxlength:32},ma_nt_hd:{type:String,required:!0,maxlength:32},ty_gia_hd:{type:Number,default:1},tien_hd_nt:{type:Number,default:0},da_thanh_toan_nt:{type:Number,default:0},con_lai_nt:{type:Number,default:0},tien_nt:{type:Number,default:0},tien:{type:Number,default:0},thanh_toan_qd:{type:Number,
3
+ const vatvaoSchema=new Schema({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},ma_tc:{type:String,default:"1",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,required:!0,
4
+ uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,uppercase:!0,maxlength:32},tk_du_thue:{type:String,uppercase:!0,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,uppercase:!0,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,
5
+ default:"",maxlength:1024},exfields_detail:global.Schema.Types.Mixed,line:{type:Number,default:0}});vatvaoSchema.validate={ma_kh:validator.existsKh,ma_thue:validator.existsVat};
6
+ const tdttco_ttSchema=new Schema({line:{type:Number,default:0},id_hd:{type:String,required:!0,maxlength:1024},id_tdtt:{type:String,maxlength:1024},ngay_hd:{type:Date},so_hd:{type:String,required:!0,uppercase:!0,maxlength:32},ma_nt_hd:{type:String,required:!0,maxlength:32},ty_gia_hd:{type:Number,default:1},tien_hd_nt:{type:Number,default:0},da_thanh_toan_nt:{type:Number,default:0},con_lai_nt:{type:Number,default:0},tien_nt:{type:Number,default:0},tien:{type:Number,default:0},thanh_toan_qd:{type:Number,
7
7
  default:0},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},tk_no:{type:String,maxlength:32},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_sp:{type:String,uppercase:!0,maxlength:32},exfields_detail:global.Schema.Types.Mixed});tdttco_ttSchema.validate={ma_kh:validator.existsKh};
8
8
  const pc0Schema=new Schema({ct_ngan_hang:{type:Boolean,default:!1},id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},kieu_tt:{type:String,default:"1"},ma_ct:{type:String,default:"pc0",required:!0,uppercase:!0,maxlength:32},ma_gd:{type:String,default:"1",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,
9
9
  maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},tk_co:{type:String,uppercase:!0,required:!1,maxlength:32},ong_ba:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,required:!0,maxlength:32},ten_kh:String,dien_giai:{type:String,default:"",maxlength:1024},id_po1:{type:String,maxlength:1024},id_pc1:{type:String,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,
@@ -1,18 +1,16 @@
1
- const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pknhapSchema=new Schema({ma_pk_nhap:String,ma_dvt_pk_nhap:String,ma_kho_pk_nhap:String,sl_pk_nhap:Number,gia_von_pk_nhap_nt:{type:Number,default:0},tien_nhap_pk_nt:{type:Number,default:0},xuat_kho_kh:Boolean,ma_vt_ref:String}),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},
2
- tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean,ma_vt_ref:String}),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ten_vt:String,ma_dvt:{type:String,required:!0,maxlength:32},ma_kho:{type:String,uppercase:!0,maxlength:32},tk_vt:{type:String,required:!0,uppercase:!0,maxlength:32},tk_co:{type:String,uppercase:!0,maxlength:32},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_da_nhap:{type:Number,default:0},sl_nhap:{type:Number,default:0},
3
- gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_hang:{type:Number,default:0},tien_hang_nt:{type:Number,default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tien_phi:{type:Number,default:0},tien_phi_nt:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},tien_tinh_thue_nt:Number,ma_thue:String,thue_suat:{type:Number,default:0},tk_thue_no:String,tien_thue:{type:Number,default:0},
4
- tien_thue_nt:{type:Number,default:0},tien_thue_nt_dc:{type:Number,default:0},ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},dien_giai:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_bp:{type:String,uppercase:!0,
5
- 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_sp:{type:String,uppercase:!0,maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,
6
- default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ma_pk_nhap:String,ma_dvt_pk_nhap:String,ma_kho_pk_nhap:String,sl_pk_nhap:Number,gia_von_pk_nhap_nt:{type:Number,default:0},tien_nhap_pk_nt:{type:Number,default:0},xuat_kho_kh:Boolean,ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean,ma_vt_du:String,sl_vt_du:Number,ma_dvt_vt_du:String,
7
- don_gia_vt_du:Number,tk_dt_vt_du:String,dien_giai_vt_du:String,gt_vt_du:Number,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
8
- const vatvaoSchema=new Schema({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},ma_tc:{type:String,default:"1",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date,required:!0},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,required:!0,
9
- uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,required:!0,maxlength:32},tk_du_thue:{type:String,required:!0,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,uppercase:!0,default:"",maxlength:32},ma_kh_cn:{type:String,default:"",maxlength:32},ten_kh:{type:String,default:"",maxlength:1024},dia_chi:{type:String,default:"",maxlength:1024},ma_so_thue:{type:String,
10
- default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},exfields_detail:Schema.Types.Mixed,id_client:String,listinfo_code:String,line:{type:Number,default:0}});vatvaoSchema.validate={tk_thue_no:validAccount.existsTk,tk_du_thue:validAccount.existsTk,ma_kh:validator.existsKh,ma_thue:validator.existsVat};
1
+ 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},ten_vt:String,ma_dvt:{type:String,required:!0,maxlength:32},ma_kho:{type:String,uppercase:!0,maxlength:32},tk_vt:{type:String,required:!0,uppercase:!0,maxlength:32},tk_co:{type:String,uppercase:!0,maxlength:32},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_da_nhap:{type:Number,
2
+ default:0},sl_nhap:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_hang:{type:Number,default:0},tien_hang_nt:{type:Number,default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tien_phi:{type:Number,default:0},tien_phi_nt:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},tien_tinh_thue_nt:Number,ma_thue:String,thue_suat:{type:Number,default:0},tk_thue_no:String,
3
+ tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},tien_thue_nt_dc:{type:Number,default:0},ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},dien_giai:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},
4
+ 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_sp:{type:String,uppercase:!0,maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,
5
+ maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
6
+ const vatvaoSchema=new Schema({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},ma_tc:{type:String,default:"1",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,required:!0,uppercase:!0,
7
+ maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,required:!0,maxlength:32},tk_du_thue:{type:String,required:!0,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,uppercase:!0,default:"",maxlength:32},ma_kh_cn:{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:"",
8
+ maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},exfields_detail:Schema.Types.Mixed,id_client:String,listinfo_code:String,line:{type:Number,default:0}});vatvaoSchema.validate={tk_thue_no:validAccount.existsTk,tk_du_thue:validAccount.existsTk,ma_kh:validator.existsKh,ma_thue:validator.existsVat};
11
9
  const ctcpmhSchema=new Schema({ma_cp:{type:String,uppercase:!0,required:!0},tien_cp_nt:{type:Number,default:0},tien_cp:{type:Number,default:0},kieu_pb:{type:String,default:"0"},line:{type:Number,default:0}}),pn1Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PN1",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},
12
10
  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},ma_kh:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ten_kh:String,ma_kho:{type:String,uppercase:!0,required:!0,default:""},ten_kho:String,tk_co:{type:String,uppercase:!0,required:!0,default:""},ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},
13
11
  han_tt:{type:Number,default:0},hinh_thuc_tt:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},id_contract:{type:String,maxlength:1024},id_po1:{type:String,maxlength:1024},id_dnm:{type:String,maxlength:1024},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_bp:{type:String,uppercase:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,maxlength:32},
14
12
  ma_lo:{type:String,uppercase:!0,maxlength:32},id_link:String,ma_ct_link:String,so_ct_link:String,ma_thue:{type:String,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:String,ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},
15
- 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]},vatvaos:[vatvaoSchema],ctcpmhs:[ctcpmhSchema],ds_pk_nhap:[pknhapSchema],ds_pk_xuat:[pkxuatSchema]});
13
+ 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]},vatvaos:[vatvaoSchema],ctcpmhs:[ctcpmhSchema]});
16
14
  pn1Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,ma_kho:validVt.existsKho,tk_co:validAccount.existsTk};
17
15
  (global.configs||{}).createIndexes&&(pn1Schema.index({id_app:1,ma_ct:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),pn1Schema.index({id_app:1,ngay_ct:-1,ma_ct:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kh:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kho:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,"details.ma_vt":1}),pn1Schema.index({id_app:1,id_po1:1}),pn1Schema.index({id_app:1,id_contract:1}),pn1Schema.index({id_po1:1}),pn1Schema.index({id_contract:1}),pn1Schema.index({id_app:1,ma_ct:1,date_updated:-1}),
18
16
  pn1Schema.index({id_app:1,ma_ct:1,status:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1,so_ct:-1}),pn1Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,
@@ -1,9 +1,9 @@
1
1
  const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),detailSchema=new Schema({tk_no:{type:String,required:!0,uppercase:!0,maxlength:32},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},ma_thue:String,thue_suat:{type:Number,default:0},tk_thue_no:String,tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},tien_thue_nt_dc:{type:Number,default:0},ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,
2
2
  uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},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},
3
3
  ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,uppercase:!0,default:"",maxlength:32},ma_sp:{type:String,uppercase:!0,maxlength:32},dien_giai:{type:String,maxlength:2048},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_no:validAccount.existsTk};
4
- const vatvaoSchema=new Schema({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},ma_tc:{type:String,default:"1",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date,required:!0},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,required:!0,
5
- uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,required:!0,maxlength:32},tk_du_thue:{type:String,required:!0,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,uppercase:!0,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,
6
- default:"",maxlength:1024},ma_so_thue:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},line:{type:Number,default:0},exfields_detail:Schema.Types.Mixed,dien_giai:{type:String,default:"",maxlength:1024}});vatvaoSchema.validate={tk_thue_no:validAccount.existsTk,tk_du_thue:validAccount.existsTk,ma_kh:validator.existsKh,ma_thue:validator.existsVat};
4
+ const vatvaoSchema=new Schema({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},ma_tc:{type:String,default:"1",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,required:!0,uppercase:!0,
5
+ maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,required:!0,maxlength:32},tk_du_thue:{type:String,required:!0,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,uppercase:!0,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:"",
6
+ maxlength:1024},ma_so_thue:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},line:{type:Number,default:0},exfields_detail:Schema.Types.Mixed,dien_giai:{type:String,default:"",maxlength:1024}});vatvaoSchema.validate={tk_thue_no:validAccount.existsTk,tk_du_thue:validAccount.existsTk,ma_kh:validator.existsKh,ma_thue:validator.existsVat};
7
7
  const pn2Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PN2",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},
8
8
  ma_kh:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ten_kh:String,tk_co:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ong_ba:{type:String,default:"",maxlength:1024},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},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},
9
9
  ma_kho:String,ten_kho:String,id_link:String,ma_ct_link:String,so_ct_link:String,ma_thue:{type:String,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:String,ma_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date},status:{type:Boolean,
@@ -1,10 +1,9 @@
1
- const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,ma_kho_pk_nhap:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean}),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,
2
- trim:!0},ma_kho_x:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_kho_n:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_vt:{type:String,required:!0,uppercase:!0,trim:!0},tk_du:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ton_kho:{type:Number,default:0},sl_da_xuat:{type:Number,default:0},sl_da_nhap:{type:Number,default:0},sl_xuat_pxc:{type:Number,default:0},sl_xuat:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_xuat:{type:Number,
3
- default:0},tien_xuat_nt:{type:Number,default:0},px_gia_dd:{type:Boolean,default:!1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_lo:{type:String,default:"",
4
- uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},exfields_detail:Schema.Types.Mixed,combo:Schema.Types.Mixed,line:{type:Number,default:0}});
5
- detailSchema.validate={tk_vt:validAccount.existsTk,tk_du:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho_x:validVt.existsKho,ma_kho_n:validVt.existsKho,ma_dvt:validator.existsDvt};
6
- const pncSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_px:{type:String,maxlength:1024},t_sl_da_xuat:Number,t_sl_da_nhap:Number,ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PNC",required:!0,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},so_ct:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"ma_nt is required",default:"VND",
7
- trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},ma_kho_x:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_x:String,ma_kho_n:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_n:String,exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
8
- 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]},ds_pk_xuat:[pkxuatSchema]});pncSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook};
9
- (global.configs||{}).createIndexes&&(pncSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1,ma_kho_n:1,ma_kho_x:1}),pncSchema.index({dien_giai:"text",so_ct:"text",ma_kho_x:"text",ten_kho_x:"text",ma_kho_n:"text",ten_kho_n:"text"},{name:"pnc_index_text"}),pncSchema.index({ma_ct:1}),pncSchema.index({user_created:1,date_created:-1}),pncSchema.index({date_updated:-1}),pncSchema.index({"details.ma_vt":1}),pncSchema.index({"details.ma_kho_n":1}),pncSchema.index({"details.ma_kho_x":1}),pncSchema.index({"details.px_gia_dd":1}),
10
- pncSchema.index({status:1}),pncSchema.index({user_created:1,visible_to:1,visible_to_users:1}),pncSchema.index({trang_thai:1}));module.exports=mongoose.models.pnc||mongoose.model("pnc",pncSchema);
1
+ const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},ma_kho_x:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_kho_n:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_vt:{type:String,required:!0,uppercase:!0,trim:!0},tk_du:{type:String,required:!0,uppercase:!0,maxlength:32,
2
+ trim:!0},ton_kho:{type:Number,default:0},sl_da_xuat:{type:Number,default:0},sl_da_nhap:{type:Number,default:0},sl_xuat_pxc:{type:Number,default:0},sl_xuat:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_xuat:{type:Number,default:0},tien_xuat_nt:{type:Number,default:0},px_gia_dd:{type:Boolean,default:!1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,
3
+ uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,
4
+ maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},exfields_detail:Schema.Types.Mixed,combo:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,tk_du:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho_x:validVt.existsKho,ma_kho_n:validVt.existsKho,ma_dvt:validator.existsDvt};
5
+ const pncSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_px:{type:String,maxlength:1024},tu_dong_tao_pnc:Boolean,t_sl_da_xuat:Number,t_sl_da_nhap:Number,ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PNC",required:!0,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},so_ct:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"ma_nt is required",
6
+ default:"VND",trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},ma_kho_x:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_x:String,ma_kho_n:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_n:String,exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},
7
+ 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]}});pncSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook};
8
+ (global.configs||{}).createIndexes&&(pncSchema.index({id_app:1,ma_ct:1,so_ct:-1,ngay_ct:-1,ma_kho_n:1,ma_kho_x:1}),pncSchema.index({id_app:1,ma_ct:1,trang_thai:1}),pncSchema.index({id_app:1,ma_ct:1,trang_thai:1,user_created:1,date_created:-1}),pncSchema.index({id_app:1,ma_ct:1,"details.ma_vt":1}),pncSchema.index({id_app:1,ma_ct:1,"details.ma_kho_n":1}),pncSchema.index({id_app:1,ma_ct:1,"details.ma_kho_x":1}),pncSchema.index({id_app:1,ma_ct:1,"details.px_gia_dd":1}),pncSchema.index({id_app:1,ma_ct:1,
9
+ status:1}));module.exports=mongoose.models.pnc||mongoose.model("pnc",pncSchema);
@@ -1,12 +1,11 @@
1
- const validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pknhapSchema=new Schema({ma_pk_nhap:String,ma_dvt_pk_nhap:String,ma_kho_pk_nhap:String,sl_pk_nhap:Number,gia_von_pk_nhap_nt:{type:Number,default:0},tien_nhap_pk_nt:{type:Number,default:0},xuat_kho_kh:Boolean}),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean}),
2
- 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},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_da_nhap:{type:Number,default:0},sl_nhap:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_hang:{type:Number,default:0},tien_hang_nt:{type:Number,default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,
3
- default:0},tien_ck_nt:{type:Number,default:0},tien_phi:{type:Number,default:0},tien_phi_nt:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},dien_giai:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},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},
4
- ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ma_vt_du:String,sl_vt_du:Number,ma_dvt_vt_du:String,don_gia_vt_du:Number,tk_tl_vt_du:String,dien_giai_vt_du:String,gt_vt_du:Number,exfields_detail:Schema.Types.Mixed,
5
- line:{type:Number,default:0}});detailSchema.validate={ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
1
+ const 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},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_da_nhap:{type:Number,default:0},sl_nhap:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_hang:{type:Number,default:0},tien_hang_nt:{type:Number,
2
+ default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tien_phi:{type:Number,default:0},tien_phi_nt:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},dien_giai:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},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:"",
3
+ 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_vt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});
4
+ detailSchema.validate={ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
6
5
  const pnhSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PNH",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},
7
6
  ma_kh:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ten_kh:String,ma_kho:{type:String,uppercase:!0,required:!0,default:""},ten_kho:String,ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},han_tt:{type:Number,default:0},hinh_thuc_tt:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},id_contract:{type:String,maxlength:1024},id_po1:{type:String,maxlength:1024},id_dnm:{type:String,maxlength:1024},
8
7
  ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},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_lo:{type:String,uppercase:!0,maxlength:32},id_link:String,ma_ct_link:String,so_ct_link: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:""},
9
- user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]},ds_pk_nhap:[pknhapSchema],ds_pk_xuat:[pkxuatSchema]});pnhSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,ma_kho:validVt.existsKho};
8
+ user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]}});pnhSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,ma_kho:validVt.existsKho};
10
9
  (global.configs||{}).createIndexes&&(pnhSchema.index({id_app:1,ma_ct:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),pnhSchema.index({id_app:1,ma_ct:1}),pnhSchema.index({id_app:1,ma_ct:1,ma_kh:1}),pnhSchema.index({id_app:1,ma_ct:1,ma_kho:1}),pnhSchema.index({id_app:1,id_po1:1}),pnhSchema.index({id_app:1,id_contract:1}),pnhSchema.index({id_po1:1}),pnhSchema.index({id_contract:1}),pnhSchema.index({id_app:1,ma_ct:1,date_updated:-1}),pnhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1}),pnhSchema.index({id_app:1,
11
10
  ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1}),pnhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1,so_ct:-1}),pnhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1,ma_kh:1}),pnhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1,ma_kho:1}),pnhSchema.index({dien_giai:"text",so_ct:"text",ma_kho:"text",ten_kho:"text",
12
11
  ma_kh:"text",ten_kh:"text"},{name:"pnh_index_text"}));const model=mongoose.models.pnh||mongoose.model("pnh",pnhSchema);if((global.configs||{}).createIndexes)model.on("index",async function($err$$){$err$$?Logger.error("pnh index error",$err$$):console.info("pnh indexing complete")});module.exports=model;
@@ -1,10 +1,10 @@
1
- const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pknhapSchema=new Schema({ma_pk_nhap:String,ma_dvt_pk_nhap:String,ma_kho_pk_nhap:String,sl_pk_nhap:Number,gia_von_pk_nhap_nt:{type:Number,default:0},tien_nhap_pk_nt:{type:Number,default:0},xuat_kho_kh:Boolean,ma_vt_ref:String}),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},
2
- ma_kho:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_vt:{type:String,required:!0,uppercase:!0,maxlength:32},tk_du:{type:String,uppercase:!0,maxlength:32},ton_kho:{type:Number,default:0},sl_nhap:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},pn_gia_tb:{type:Boolean,default:!1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},
3
- 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_vt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",
4
- uppercase:!0,maxlength:32},ma_sp:{type:String,uppercase:!0,default:"",maxlength:1024},ma_dvt_sp:{type:String,maxlength:32},ma_tt1_sp:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2_sp:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3_sp:{type:String,default:"",uppercase:!0,maxlength:32},ma_cum_chi_tiet:{type:String,uppercase:!0,default:"",maxlength:32},ten_cum_chi_tiet:{type:String,default:"",maxlength:1024},ma_cong_doan:{type:String,uppercase:!0,default:"",maxlength:32},id_lenhsx:{type:String,
5
- maxlength:1024},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_sp:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
1
+ const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},ma_kho:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_vt:{type:String,required:!0,uppercase:!0,maxlength:32},tk_du:{type:String,uppercase:!0,maxlength:32},ton_kho:{type:Number,default:0},sl_nhap:{type:Number,default:0},
2
+ gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},pn_gia_tb:{type:Boolean,default:!1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},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:"",
3
+ maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ma_sp:{type:String,uppercase:!0,default:"",maxlength:1024},ma_dvt_sp:{type:String,maxlength:32},ma_tt1_sp:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2_sp:{type:String,
4
+ default:"",uppercase:!0,maxlength:32},ma_tt3_sp:{type:String,default:"",uppercase:!0,maxlength:32},ma_cum_chi_tiet:{type:String,uppercase:!0,default:"",maxlength:32},ten_cum_chi_tiet:{type:String,default:"",maxlength:1024},ma_cong_doan:{type:String,uppercase:!0,default:"",maxlength:32},id_lenhsx:{type:String,maxlength:1024},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});
5
+ detailSchema.validate={tk_vt:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_sp:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
6
6
  const pnkSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PNK",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},
7
7
  ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},ma_kho:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho:String,tk_du:{type:String,uppercase:!0,required:"B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n \u0111\u1ed1i \u1ee9ng",maxlength:32},ma_dt:{type:String,uppercase:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,
8
- 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]},ds_pk_nhap:[pknhapSchema]});pnkSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,tk_du:validAccount.existsTk};
9
- (global.configs||{}).createIndexes&&(pnkSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),pnkSchema.index({dien_giai:"text",so_ct:"text",ma_kho:"text",ten_kho:"text"},{name:"pnk_index_text"}),pnkSchema.index({ma_ct:1}),pnkSchema.index({user_created:1,date_created:-1}),pnkSchema.index({date_updated:-1}),pnkSchema.index({"details.ma_vt":1}),pnkSchema.index({"details.id_lenhsx":1}),pnkSchema.index({status:1}),pnkSchema.index({user_created:1,visible_to:1,visible_to_users:1}),pnkSchema.index({trang_thai:1}));
8
+ 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]}});pnkSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,tk_du:validAccount.existsTk};
9
+ (global.configs||{}).createIndexes&&(pnkSchema.index({id_app:1,ma_ct:1,so_ct:-1,ngay_ct:-1}),pnkSchema.index({id_app:1,ma_ct:1,user_created:1,date_created:-1}),pnkSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,"details.ma_vt":1}),pnkSchema.index({id_app:1,"details.id_lenhsx":1}),pnkSchema.index({id_app:1,ma_ct:1,status:1}),pnkSchema.index({id_app:1,ma_ct:1,user_created:1,visible_to:1,visible_to_users:1}),pnkSchema.index({id_app:1,ma_ct:1,trang_thai:1}));
10
10
  module.exports=mongoose.models.pnk||mongoose.model("pnk",pnkSchema);
@@ -1,10 +1,9 @@
1
- const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,ma_kho_pk_nhap:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean}),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,
2
- trim:!0},ma_kho_x:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_kho_n:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_vt:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},tk_du:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ton_kho:{type:Number,default:0},sl_da_xuat:{type:Number,default:0},sl_xuat:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_xuat:{type:Number,default:0},tien_xuat_nt:{type:Number,default:0},px_gia_dd:{type:Boolean,
3
- default:!1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},ma_vt2:{type:String,
4
- default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},exfields_detail:Schema.Types.Mixed,combo:Schema.Types.Mixed,line:{type:Number,default:0}});
5
- detailSchema.validate={tk_vt:validAccount.existsTk,tk_du:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho_x:validVt.existsKho,ma_kho_n:validVt.existsKho,ma_dvt:validator.existsDvt};
6
- const pxcSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_dn:{type:String,maxlength:1024},id_pnc:String,t_sl_da_xuat:Number,ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PXC",required:!0,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},so_ct:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"ma_nt is required",default:"VND",
7
- trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},ma_kho_x:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_x:String,ma_kho_n:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_n:String,exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
8
- 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]},ds_pk_xuat:[pkxuatSchema]});pxcSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook};pxcSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1,ma_kho_n:1,ma_kho_x:1});
9
- (global.configs||{}).createIndexes&&(pxcSchema.index({dien_giai:"text",so_ct:"text",ma_kho_x:"text",ten_kho_x:"text",ma_kho_n:"text",ten_kho_n:"text"},{name:"pxc_index_text"}),pxcSchema.index({ma_ct:1}),pxcSchema.index({user_created:1,date_created:-1}),pxcSchema.index({date_updated:-1}),pxcSchema.index({id_dn:1}),pxcSchema.index({id_pnc:1}),pxcSchema.index({"details.ma_vt":1}),pxcSchema.index({status:1}),pxcSchema.index({user_created:1,visible_to:1,visible_to_users:1}),pxcSchema.index({trang_thai:1}));
10
- const model=mongoose.models.pxc||mongoose.model("pxc",pxcSchema);model.referenceKeys={_id:[{model:"pnc",key:"id_px",error:"Phi\u1ebfu xu\u1ea5t \u0111i\u1ec1u chuy\u1ec3n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c nh\u1eadp kho"}]};module.exports=model;
1
+ const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},ma_kho_x:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_kho_n:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_vt:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},tk_du:{type:String,required:!0,uppercase:!0,
2
+ maxlength:32,trim:!0},ton_kho:{type:Number,default:0},sl_da_xuat:{type:Number,default:0},sl_xuat:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_xuat:{type:Number,default:0},tien_xuat_nt:{type:Number,default:0},px_gia_dd:{type:Boolean,default:!1},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_hd:{type:String,
3
+ uppercase:!0,default:"",maxlength:32,trim:!0},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,
4
+ maxlength:32,trim:!0},exfields_detail:Schema.Types.Mixed,combo:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,tk_du:validAccount.existsTk,ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho_x:validVt.existsKho,ma_kho_n:validVt.existsKho,ma_dvt:validator.existsDvt};
5
+ const pxcSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_dn:{type:String,maxlength:1024},id_pnc:String,tu_dong_tao_pnc:Boolean,t_sl_da_xuat:Number,ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"PXC",required:!0,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},so_ct:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"ma_nt is required",
6
+ default:"VND",trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},ma_kho_x:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_x:String,ma_kho_n:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho_n:String,exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},
7
+ date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]}});pxcSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook};pxcSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1,ma_kho_n:1,ma_kho_x:1});
8
+ (global.configs||{}).createIndexes&&(pxcSchema.index({id_app:1,ma_ct:1}),pxcSchema.index({id_app:1,ma_ct:1,trang_thai:1,user_created:1,date_created:-1}),pxcSchema.index({id_app:1,id_dn:1}),pxcSchema.index({id_app:1,id_pnc:1}),pxcSchema.index({id_app:1,ma_ct:1,"details.ma_vt":1}),pxcSchema.index({id_app:1,status:1}),pxcSchema.index({id_app:1,ma_ct:1,trang_thai:1}));const model=mongoose.models.pxc||mongoose.model("pxc",pxcSchema);
9
+ model.referenceKeys={_id:[{model:"pnc",key:"id_px",error:"Phi\u1ebfu xu\u1ea5t \u0111i\u1ec1u chuy\u1ec3n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c nh\u1eadp kho. B\u1ea1n c\u1ea7n xo\u00e1 phi\u1ebfu nh\u1eadp \u0111i\u1ec1u chuy\u1ec3n li\u00ean quan tr\u01b0\u1edbc",where:{tu_dong_tao_pnc:{$in:[null,!1]}}}]};module.exports=model;
@@ -1,12 +1,11 @@
1
- const validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),pknhapSchema=new Schema({ma_pk_nhap:String,ma_dvt_pk_nhap:String,ma_kho_pk_nhap:String,sl_pk_nhap:Number,gia_von_pk_nhap_nt:{type:Number,default:0},tien_nhap_pk_nt:{type:Number,default:0},xuat_kho_kh:Boolean}),pkxuatSchema=new Schema({ma_pk_xuat:String,ma_dvt_pk_xuat:String,ma_kho_pk_xuat:String,sl_pk_xuat:Number,gia_von_pk_xuat_nt:{type:Number,default:0},tien_xuat_pk_nt:{type:Number,default:0},nhap_kho_kh:Boolean}),
2
- 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},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_da_xuat:{type:Number,default:0},sl_xuat:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_hang:{type:Number,default:0},tien_hang_nt:{type:Number,default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,
3
- default:0},tien_ck_nt:{type:Number,default:0},tien_phi:{type:Number,default:0},tien_phi_nt:{type:Number,default:0},tien_xuat:{type:Number,default:0},tien_xuat_nt:{type:Number,default:0},dien_giai:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},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},
4
- ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ma_vt_du:String,sl_vt_du:Number,ma_dvt_vt_du:String,don_gia_vt_du:Number,tk_tl_vt_du:String,dien_giai_vt_du:String,gt_vt_du:Number,exfields_detail:Schema.Types.Mixed,
5
- line:{type:Number,default:0}});detailSchema.validate={ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
1
+ const 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},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_da_xuat:{type:Number,default:0},sl_xuat:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_hang:{type:Number,default:0},tien_hang_nt:{type:Number,
2
+ default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tien_phi:{type:Number,default:0},tien_phi_nt:{type:Number,default:0},tien_xuat:{type:Number,default:0},tien_xuat_nt:{type:Number,default:0},dien_giai:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},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:"",
3
+ 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_vt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});
4
+ detailSchema.validate={ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
6
5
  const pxhSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"pxh",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},
7
6
  ma_kh:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ten_kh:String,ma_kho:{type:String,uppercase:!0,required:!0,default:""},ten_kho:String,ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},han_tt:{type:Number,default:0},hinh_thuc_tt:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},id_contract:{type:String,maxlength:1024},id_so1:{type:String,maxlength:1024},id_dh2:{type:String,maxlength:1024},
8
- ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},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_lo:{type:String,uppercase:!0,maxlength:32},id_link:String,ma_ct_link:String,so_ct_link:String,ds_pk_nhap:[pknhapSchema],ds_pk_xuat:[pkxuatSchema],status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
9
- 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]}});pxhSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,ma_kho:validVt.existsKho};
7
+ ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},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_lo:{type:String,uppercase:!0,maxlength:32},id_link:String,ma_ct_link:String,so_ct_link: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:""},
8
+ user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]}});pxhSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,ma_kho:validVt.existsKho};
10
9
  (global.configs||{}).createIndexes&&(pxhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_dvcs:1,so_ct:-1}),pxhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1}),pxhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kh:1}),pxhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kho:1}),pxhSchema.index({id_so1:1}),pxhSchema.index({id_dh2:1}),pxhSchema.index({id_contract:1}),pxhSchema.index({id_app:1,id_so1:1}),pxhSchema.index({id_app:1,id_dh2:1}),pxhSchema.index({id_app:1,id_contract:1}),pxhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,
11
10
  date_created:-1}),pxhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1}),pxhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1}),pxhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1,so_ct:1}),pxhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1,ma_kh:1}),pxhSchema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,user_created:1,visible_to:1,
12
11
  visible_to_users:1,ma_kho:1}),pxhSchema.index({id_app:1,dien_giai:"text",so_ct:"text",ma_kho:"text",ten_kho:"text",ma_kh:"text",ten_kh:"text"},{name:"pxh_index_text"}));const model=mongoose.models.pxh||mongoose.model("pxh",pxhSchema);if((global.configs||{}).createIndexes)model.on("index",async function($err$$){$err$$?Logger.error("pxh index error",$err$$):console.info("pxh indexing complete")});module.exports=model;