flexbiz-server 12.7.1 → 12.7.2

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 (884) hide show
  1. package/package.json +5 -5
  2. package/server/app.js +23 -348
  3. package/server/cluster.js +1 -5
  4. package/server/models/account.js +7 -0
  5. package/server/models/actionLog.js +2 -0
  6. package/server/models/afflink.js +2 -0
  7. package/server/models/aimemory.js +1 -0
  8. package/server/models/app.js +16 -0
  9. package/server/models/approve.js +95 -0
  10. package/server/models/assabcihandler.js +35 -0
  11. package/server/models/assbank.js +19 -0
  12. package/server/models/assbooking.js +4 -0
  13. package/server/models/assbuy.js +3 -0
  14. package/server/models/asscashwithdraw.js +4 -0
  15. package/server/models/assfindhash.js +2 -0
  16. package/server/models/assinvestment.js +13 -0
  17. package/server/models/assissue.js +2 -0
  18. package/server/models/asskey.js +15 -0
  19. package/server/models/assneedtobuy.js +6 -0
  20. package/server/models/assperiod.js +7 -0
  21. package/server/models/assproduct.js +13 -0
  22. package/server/models/assprofitsharing.js +4 -0
  23. package/server/models/assreceiver.js +2 -0
  24. package/server/models/assrequest.js +10 -0
  25. package/server/models/asssell.js +7 -0
  26. package/server/models/asstransaction.js +3 -0
  27. package/server/models/asstransfer.js +4 -0
  28. package/server/models/assuser_identity.js +4 -0
  29. package/server/models/asswithdraw.js +4 -0
  30. package/server/models/attend.js +2 -0
  31. package/server/models/banggiaban.js +8 -0
  32. package/server/models/bangtinhluong.js +6 -0
  33. package/server/models/base.js +1 -0
  34. package/server/models/bg1.js +9 -0
  35. package/server/models/bg2.js +10 -0
  36. package/server/models/cache.js +3 -0
  37. package/server/models/cacheDataReport.js +2 -0
  38. package/server/models/cacheSessionReport.js +5 -0
  39. package/server/models/calllog.js +4 -0
  40. package/server/models/cart.js +5 -0
  41. package/server/models/cddiem.js +2 -0
  42. package/server/models/cddt.js +3 -0
  43. package/server/models/cdkh.js +5 -0
  44. package/server/models/cdkhtheongay.js +5 -0
  45. package/server/models/cdnphep.js +2 -0
  46. package/server/models/cdtk.js +3 -0
  47. package/server/models/cdtktheongay.js +3 -0
  48. package/server/models/cdvt.js +5 -0
  49. package/server/models/cdvtnpp.js +6 -0
  50. package/server/models/cdvttheongay.js +5 -0
  51. package/server/models/chamcong.js +7 -0
  52. package/server/models/chat_message.js +2 -0
  53. package/server/models/chat_session.js +2 -0
  54. package/server/models/checkin.js +4 -0
  55. package/server/models/checkinactivity.js +3 -0
  56. package/server/models/checkinkpi.js +4 -0
  57. package/server/models/checkinlocation.js +2 -0
  58. package/server/models/chitietluongds.js +12 -0
  59. package/server/models/chitieukpi.js +3 -0
  60. package/server/models/chudethaoluan.js +3 -0
  61. package/server/models/ckgtluong.js +2 -0
  62. package/server/models/colleague.js +2 -0
  63. package/server/models/comment.js +4 -0
  64. package/server/models/congdoansx.js +4 -0
  65. package/server/models/congtacvien.js +4 -0
  66. package/server/models/congthuctinhgiaban.js +8 -0
  67. package/server/models/consultant.js +4 -0
  68. package/server/models/contract.js +6 -0
  69. package/server/models/counter.js +2 -0
  70. package/server/models/csluongtheods.js +3 -0
  71. package/server/models/csphucap.js +2 -0
  72. package/server/models/ctds.js +5 -0
  73. package/server/models/ctds2.js +7 -0
  74. package/server/models/currency.js +3 -0
  75. package/server/models/custom_report.js +1 -0
  76. package/server/models/customer.js +31 -0
  77. package/server/models/customer_care.js +2 -0
  78. package/server/models/data_list_config.js +7 -0
  79. package/server/models/databanle.js +8 -0
  80. package/server/models/datlich.js +4 -0
  81. package/server/models/deal.js +2 -0
  82. package/server/models/dh2.js +20 -0
  83. package/server/models/diagram.js +2 -0
  84. package/server/models/dinhmucsx.js +8 -0
  85. package/server/models/dkhoc.js +6 -0
  86. package/server/models/dknphep.js +2 -0
  87. package/server/models/dmban.js +4 -0
  88. package/server/models/dmbp.js +12 -0
  89. package/server/models/dmca.js +2 -0
  90. package/server/models/dmchietkhau.js +8 -0
  91. package/server/models/dmchietkhauhd.js +19 -0
  92. package/server/models/dmchinhanh.js +2 -0
  93. package/server/models/dmcpmh.js +2 -0
  94. package/server/models/dmdiemthuong.js +3 -0
  95. package/server/models/dmdoi.js +4 -0
  96. package/server/models/dmdoituongdanhgia.js +2 -0
  97. package/server/models/dmdt.js +8 -0
  98. package/server/models/dmdvt.js +3 -0
  99. package/server/models/dmgiaban.js +9 -0
  100. package/server/models/dmgiamua.js +5 -0
  101. package/server/models/dmgiathitruong.js +5 -0
  102. package/server/models/dmgiathitruong_ngay.js +2 -0
  103. package/server/models/dmgiathitruong_theodoi.js +2 -0
  104. package/server/models/dmhoahonghd.js +8 -0
  105. package/server/models/dmhoahongnpp.js +8 -0
  106. package/server/models/dmkc.js +3 -0
  107. package/server/models/dmkho.js +7 -0
  108. package/server/models/dmkhuyenmai.js +9 -0
  109. package/server/models/dmkhuyenmaihd.js +11 -0
  110. package/server/models/dmletet.js +2 -0
  111. package/server/models/dmlo.js +4 -0
  112. package/server/models/dmloaicong.js +4 -0
  113. package/server/models/dmloaitask.js +2 -0
  114. package/server/models/dmloaits.js +2 -0
  115. package/server/models/dmnckkm.js +4 -0
  116. package/server/models/dmnghiepvu.js +4 -0
  117. package/server/models/dmnguonvon.js +2 -0
  118. package/server/models/dmnhnv.js +4 -0
  119. package/server/models/dmnv.js +17 -0
  120. package/server/models/dmnvt.js +10 -0
  121. package/server/models/dmphi.js +3 -0
  122. package/server/models/dmqct.js +3 -0
  123. package/server/models/dmqddvt.js +3 -0
  124. package/server/models/dmtanggiamts.js +3 -0
  125. package/server/models/dmto.js +4 -0
  126. package/server/models/dmtt.js +6 -0
  127. package/server/models/dmvt.js +17 -0
  128. package/server/models/dmyt.js +4 -0
  129. package/server/models/dn0.js +13 -0
  130. package/server/models/dnm.js +11 -0
  131. package/server/models/dokho.js +2 -0
  132. package/server/models/domain.js +2 -0
  133. package/server/models/dvcs.js +3 -0
  134. package/server/models/ecomcategories.js +3 -0
  135. package/server/models/ecomcategories_cty.js +3 -0
  136. package/server/models/ecomproductlines.js +2 -0
  137. package/server/models/ecompromotion_flashsales.js +2 -0
  138. package/server/models/ecompromotion_freeships.js +2 -0
  139. package/server/models/email.js +2 -0
  140. package/server/models/endpoint.js +1 -0
  141. package/server/models/events.js +3 -0
  142. package/server/models/evoucher.js +5 -0
  143. package/server/models/experiencejourney.js +2 -0
  144. package/server/models/experiencejourneydata.js +4 -0
  145. package/server/models/experiencejourneypersona.js +3 -0
  146. package/server/models/experiencejourneystage.js +2 -0
  147. package/server/models/exportexceltemplate.js +2 -0
  148. package/server/models/fbconversation.js +15 -0
  149. package/server/models/fbmessage.js +2 -0
  150. package/server/models/fbpage.js +2 -0
  151. package/server/models/fbpost.js +2 -0
  152. package/server/models/fieldright.js +2 -0
  153. package/server/models/fifo_dk.js +2 -0
  154. package/server/models/fifo_lot.js +3 -0
  155. package/server/models/fifo_trace.js +4 -0
  156. package/server/models/file.js +4 -0
  157. package/server/models/filechunk.js +2 -0
  158. package/server/models/financialroadmap.js +3 -0
  159. package/server/models/flow.js +2 -0
  160. package/server/models/flowdata.js +3 -0
  161. package/server/models/flowpending.js +2 -0
  162. package/server/models/folder.js +4 -0
  163. package/server/models/follow.js +2 -0
  164. package/server/models/forminfo.js +5 -0
  165. package/server/models/giaoca.js +4 -0
  166. package/server/models/giatb.js +3 -0
  167. package/server/models/group.js +9 -0
  168. package/server/models/gt_ctgt.js +4 -0
  169. package/server/models/gt_hspb.js +3 -0
  170. package/server/models/gt_sltk.js +3 -0
  171. package/server/models/gt_thcppstk.js +3 -0
  172. package/server/models/hanmucton.js +4 -0
  173. package/server/models/hd1.js +11 -0
  174. package/server/models/hd2.js +26 -0
  175. package/server/models/hd3.js +17 -0
  176. package/server/models/hd4.js +13 -0
  177. package/server/models/hd7.js +17 -0
  178. package/server/models/hd8.js +12 -0
  179. package/server/models/hde.js +11 -0
  180. package/server/models/hmcn.js +3 -0
  181. package/server/models/hmcnct.js +2 -0
  182. package/server/models/hspbts.js +4 -0
  183. package/server/models/htl.js +13 -0
  184. package/server/models/importexceltemplate.js +2 -0
  185. package/server/models/introducebonus.js +4 -0
  186. package/server/models/introducecode.js +3 -0
  187. package/server/models/introducer.js +4 -0
  188. package/server/models/kbbtpb.js +7 -0
  189. package/server/models/kbmPttct.js +4 -0
  190. package/server/models/kbmTkgtgt.js +5 -0
  191. package/server/models/kbm_bcdkt_old.js +4 -0
  192. package/server/models/kbm_kqhdkd_old.js +3 -0
  193. package/server/models/kbm_lcttgt_old.js +5 -0
  194. package/server/models/kbm_lctttt_old.js +4 -0
  195. package/server/models/kbm_pttct_old.js +4 -0
  196. package/server/models/kbm_tkgtgt_old.js +5 -0
  197. package/server/models/kbmbcdkt.js +4 -0
  198. package/server/models/kbmbcqt.js +4 -0
  199. package/server/models/kbmkqhdkd.js +3 -0
  200. package/server/models/kbmlcttgt.js +6 -0
  201. package/server/models/kbmlctttt.js +4 -0
  202. package/server/models/kbmtmbctc.js +4 -0
  203. package/server/models/kehoachdtcp.js +3 -0
  204. package/server/models/kehoachmh.js +8 -0
  205. package/server/models/keyresult.js +7 -0
  206. package/server/models/khunghangthanhvien.js +3 -0
  207. package/server/models/label.js +2 -0
  208. package/server/models/labelinfo.js +2 -0
  209. package/server/models/lenhcapphat.js +8 -0
  210. package/server/models/lenhsx.js +8 -0
  211. package/server/models/lienhe.js +4 -0
  212. package/server/models/like_module.js +2 -0
  213. package/server/models/link.js +2 -0
  214. package/server/models/listinfo.js +1365 -0
  215. package/server/models/loaidiem.js +2 -0
  216. package/server/models/lock.js +2 -0
  217. package/server/models/log.js +8 -0
  218. package/server/models/mailaccount.js +3 -0
  219. package/server/models/mailgroup.js +3 -0
  220. package/server/models/mailreceived.js +2 -0
  221. package/server/models/mailsent.js +2 -0
  222. package/server/models/mailtemplate.js +2 -0
  223. package/server/models/maudanhgia.js +2 -0
  224. package/server/models/menuinfo.js +2 -0
  225. package/server/models/message.js +8 -0
  226. package/server/models/message2.js +4 -0
  227. package/server/models/message2setting.js +3 -0
  228. package/server/models/moduleinfo.js +4 -0
  229. package/server/models/momo.js +18 -0
  230. package/server/models/news.js +3 -0
  231. package/server/models/newsfeed.js +4 -0
  232. package/server/models/note.js +2 -0
  233. package/server/models/notification.js +8 -0
  234. package/server/models/okr.js +4 -0
  235. package/server/models/okrdiagram.js +3 -0
  236. package/server/models/onepay.js +24 -0
  237. package/server/models/opportunity.js +4 -0
  238. package/server/models/options.js +2 -0
  239. package/server/models/originimportid.js +1 -0
  240. package/server/models/otp.js +1 -0
  241. package/server/models/parameter.js +2 -0
  242. package/server/models/participant.js +21 -0
  243. package/server/models/partner.js +1 -0
  244. package/server/models/payload.js +1 -0
  245. package/server/models/pbl.js +16 -0
  246. package/server/models/pc0.js +13 -0
  247. package/server/models/pc1.js +14 -0
  248. package/server/models/pc2.js +13 -0
  249. package/server/models/pc3.js +13 -0
  250. package/server/models/pc5.js +8 -0
  251. package/server/models/pc6.js +14 -0
  252. package/server/models/pcl.js +6 -0
  253. package/server/models/pdn.js +9 -0
  254. package/server/models/pdx.js +9 -0
  255. package/server/models/pgh.js +5 -0
  256. package/server/models/phieudanhgia.js +3 -0
  257. package/server/models/pht.js +8 -0
  258. package/server/models/phucap.js +4 -0
  259. package/server/models/pkc.js +6 -0
  260. package/server/models/pkh.js +6 -0
  261. package/server/models/pkk.js +10 -0
  262. package/server/models/pkt.js +12 -0
  263. package/server/models/pn1.js +18 -0
  264. package/server/models/pn2.js +12 -0
  265. package/server/models/pn3.js +13 -0
  266. package/server/models/pn5.js +14 -0
  267. package/server/models/pn6.js +14 -0
  268. package/server/models/pn9.js +17 -0
  269. package/server/models/pnc.js +9 -0
  270. package/server/models/pnh.js +11 -0
  271. package/server/models/pnk.js +10 -0
  272. package/server/models/po1.js +19 -0
  273. package/server/models/ppb.js +6 -0
  274. package/server/models/productcode.js +2 -0
  275. package/server/models/profile.js +4 -0
  276. package/server/models/pt1.js +12 -0
  277. package/server/models/pt5.js +8 -0
  278. package/server/models/ptl.js +5 -0
  279. package/server/models/ptthanhtoan.js +6 -0
  280. package/server/models/purchase_contract.js +17 -0
  281. package/server/models/pxc.js +9 -0
  282. package/server/models/pxh.js +11 -0
  283. package/server/models/pxk.js +9 -0
  284. package/server/models/qts.js +14 -0
  285. package/server/models/qts_dieuchinh.js +3 -0
  286. package/server/models/qts_dieuchuyen.js +4 -0
  287. package/server/models/quanhuyen.js +2 -0
  288. package/server/models/reason.js +2 -0
  289. package/server/models/receivedinvoice.js +2 -0
  290. package/server/models/reportinfo.js +5 -0
  291. package/server/models/right.js +4 -0
  292. package/server/models/rpt.js +2 -0
  293. package/server/models/rptform.js +3 -0
  294. package/server/models/rptobject.js +2 -0
  295. package/server/models/sale_contract.js +9 -0
  296. package/server/models/schedule.js +18 -0
  297. package/server/models/schedule_log.js +2 -0
  298. package/server/models/shipbook.js +12 -0
  299. package/server/models/shortcut.js +2 -0
  300. package/server/models/smsaccount.js +10 -0
  301. package/server/models/smssend.js +2 -0
  302. package/server/models/so1.js +22 -0
  303. package/server/models/so5.js +15 -0
  304. package/server/models/so9.js +19 -0
  305. package/server/models/socai.js +28 -0
  306. package/server/models/socainpp.js +18 -0
  307. package/server/models/socaitc.js +6 -0
  308. package/server/models/socaitmp.js +16 -0
  309. package/server/models/socaitt.js +4 -0
  310. package/server/models/sodiemthuong.js +4 -0
  311. package/server/models/sokho.js +27 -0
  312. package/server/models/sokhocapphat.js +18 -0
  313. package/server/models/sokhokhongton.js +19 -0
  314. package/server/models/sokhonpp.js +19 -0
  315. package/server/models/sokhotc.js +8 -0
  316. package/server/models/sokhott.js +18 -0
  317. package/server/models/sophanbokh.js +3 -0
  318. package/server/models/sosanxuat.js +5 -0
  319. package/server/models/sotinhkh.js +2 -0
  320. package/server/models/spdd_ck.js +3 -0
  321. package/server/models/spdd_dk.js +3 -0
  322. package/server/models/step.js +2 -0
  323. package/server/models/strategicdiagram.js +3 -0
  324. package/server/models/strategicgoal.js +4 -0
  325. package/server/models/strategickpi.js +6 -0
  326. package/server/models/strategicobjective.js +5 -0
  327. package/server/models/strategicplan.js +5 -0
  328. package/server/models/subscribe.js +2 -0
  329. package/server/models/support.js +2 -0
  330. package/server/models/synctime.js +2 -0
  331. package/server/models/sys_job_queue_book_keeping.js +2 -0
  332. package/server/models/sysconfig.js +2 -0
  333. package/server/models/sysgroup.js +2 -0
  334. package/server/models/tableinfo.js +3 -0
  335. package/server/models/task.js +9 -0
  336. package/server/models/tc.js +2 -0
  337. package/server/models/tdttco.js +9 -0
  338. package/server/models/tdttco_tt.js +5 -0
  339. package/server/models/tdttno.js +9 -0
  340. package/server/models/tdttno_tt.js +5 -0
  341. package/server/models/templaterpt.js +2 -0
  342. package/server/models/templatestore.js +3 -0
  343. package/server/models/templatevoucher.js +3 -0
  344. package/server/models/tinhthanh.js +2 -0
  345. package/server/models/tokens.js +3 -0
  346. package/server/models/tontucthoi.js +9 -0
  347. package/server/models/trangthai.js +4 -0
  348. package/server/models/trangthaiapp.js +4 -0
  349. package/server/models/transaction.js +16 -0
  350. package/server/models/trialinfo.js +2 -0
  351. package/server/models/user.js +40 -0
  352. package/server/models/usergroup.js +7 -0
  353. package/server/models/vanchuyen.js +12 -0
  354. package/server/models/vat.js +3 -0
  355. package/server/models/vatra.js +6 -0
  356. package/server/models/vatvao.js +6 -0
  357. package/server/models/versioninfo.js +2 -0
  358. package/server/models/vietqrbanks.js +2 -0
  359. package/server/models/vsocai.js +6 -0
  360. package/server/models/wallet.js +8 -0
  361. package/server/models/warranty.js +3 -0
  362. package/server/models/warrantyclaim.js +2 -0
  363. package/server/models/warrantypolicy.js +1 -0
  364. package/server/models/workflow.js +4 -0
  365. package/server/models/xaphuong.js +2 -0
  366. package/server/models/xhd.js +10 -0
  367. package/server/models/ytdd_ck.js +4 -0
  368. package/server/models/ytdd_dk.js +4 -0
  369. package/server/models/zalo.js +17 -0
  370. package/server/modules/lists/bg-cddiem.js +6 -0
  371. package/server/modules/lists/bg-cddt.js +7 -0
  372. package/server/modules/lists/bg-cdkh.js +11 -0
  373. package/server/modules/lists/bg-cdnphep.js +6 -0
  374. package/server/modules/lists/bg-cdtk.js +9 -0
  375. package/server/modules/lists/bg-cdvt.js +8 -0
  376. package/server/modules/lists/bg-cdvtnpp.js +8 -0
  377. package/server/modules/lists/bg-fifo_dk.js +8 -0
  378. package/server/modules/lists/ls-account.js +4 -0
  379. package/server/modules/lists/ls-afflink.js +3 -0
  380. package/server/modules/lists/ls-approve.js +5 -0
  381. package/server/modules/lists/ls-assabcihandler.js +3 -0
  382. package/server/modules/lists/ls-assbank.js +3 -0
  383. package/server/modules/lists/ls-assbooking.js +20 -0
  384. package/server/modules/lists/ls-assbuy.js +8 -0
  385. package/server/modules/lists/ls-asscashwithdraw.js +8 -0
  386. package/server/modules/lists/ls-assinvestment.js +31 -0
  387. package/server/modules/lists/ls-assissue.js +3 -0
  388. package/server/modules/lists/ls-asskey.js +41 -0
  389. package/server/modules/lists/ls-assneedtobuy.js +10 -0
  390. package/server/modules/lists/ls-assperiod.js +19 -0
  391. package/server/modules/lists/ls-assproduct.js +9 -0
  392. package/server/modules/lists/ls-assprofitsharing.js +8 -0
  393. package/server/modules/lists/ls-assreceiver.js +3 -0
  394. package/server/modules/lists/ls-assrequest.js +4 -0
  395. package/server/modules/lists/ls-asssell.js +13 -0
  396. package/server/modules/lists/ls-asstransaction.js +3 -0
  397. package/server/modules/lists/ls-asstransfer.js +3 -0
  398. package/server/modules/lists/ls-assuser_identity.js +1 -0
  399. package/server/modules/lists/ls-asswithdraw.js +12 -0
  400. package/server/modules/lists/ls-bangtinhluong.js +2 -0
  401. package/server/modules/lists/ls-calllog.js +4 -0
  402. package/server/modules/lists/ls-cart.js +14 -0
  403. package/server/modules/lists/ls-chamcong.js +3 -0
  404. package/server/modules/lists/ls-chat_session.js +5 -0
  405. package/server/modules/lists/ls-checkin.js +24 -0
  406. package/server/modules/lists/ls-checkinactivity.js +8 -0
  407. package/server/modules/lists/ls-checkinkpi.js +3 -0
  408. package/server/modules/lists/ls-checkinlocation.js +1 -0
  409. package/server/modules/lists/ls-chitietluongds.js +4 -0
  410. package/server/modules/lists/ls-chitieukpi.js +1 -0
  411. package/server/modules/lists/ls-chudethaoluan.js +1 -0
  412. package/server/modules/lists/ls-ckgtluong.js +1 -0
  413. package/server/modules/lists/ls-comment.js +9 -0
  414. package/server/modules/lists/ls-congdoansx.js +3 -0
  415. package/server/modules/lists/ls-congtacvien.js +5 -0
  416. package/server/modules/lists/ls-consultant.js +2 -0
  417. package/server/modules/lists/ls-contract.js +7 -0
  418. package/server/modules/lists/ls-csluongtheods.js +1 -0
  419. package/server/modules/lists/ls-csphucap.js +1 -0
  420. package/server/modules/lists/ls-ctds.js +4 -0
  421. package/server/modules/lists/ls-ctds2.js +4 -0
  422. package/server/modules/lists/ls-currency.js +1 -0
  423. package/server/modules/lists/ls-customer.js +22 -0
  424. package/server/modules/lists/ls-customer_care.js +1 -0
  425. package/server/modules/lists/ls-datlich.js +9 -0
  426. package/server/modules/lists/ls-dckhauhaots.js +3 -0
  427. package/server/modules/lists/ls-deal.js +3 -0
  428. package/server/modules/lists/ls-diagram.js +1 -0
  429. package/server/modules/lists/ls-dkhoc.js +6 -0
  430. package/server/modules/lists/ls-dknphep.js +1 -0
  431. package/server/modules/lists/ls-dmban.js +4 -0
  432. package/server/modules/lists/ls-dmbp.js +7 -0
  433. package/server/modules/lists/ls-dmca.js +1 -0
  434. package/server/modules/lists/ls-dmchietkhau.js +19 -0
  435. package/server/modules/lists/ls-dmchietkhauhd.js +4 -0
  436. package/server/modules/lists/ls-dmchinhanh.js +1 -0
  437. package/server/modules/lists/ls-dmchucvu.js +2 -0
  438. package/server/modules/lists/ls-dmcpmh.js +1 -0
  439. package/server/modules/lists/ls-dmdiemthuong.js +4 -0
  440. package/server/modules/lists/ls-dmdoi.js +4 -0
  441. package/server/modules/lists/ls-dmdoituongdanhgia.js +1 -0
  442. package/server/modules/lists/ls-dmdt.js +11 -0
  443. package/server/modules/lists/ls-dmdvt.js +2 -0
  444. package/server/modules/lists/ls-dmgiaban.js +4 -0
  445. package/server/modules/lists/ls-dmgiamua.js +4 -0
  446. package/server/modules/lists/ls-dmgiathitruong.js +15 -0
  447. package/server/modules/lists/ls-dmgiathitruong_ngay.js +2 -0
  448. package/server/modules/lists/ls-dmgiathitruong_theodoi.js +1 -0
  449. package/server/modules/lists/ls-dmhoahonghd.js +1 -0
  450. package/server/modules/lists/ls-dmhoahongnpp.js +1 -0
  451. package/server/modules/lists/ls-dmkc.js +3 -0
  452. package/server/modules/lists/ls-dmkho.js +7 -0
  453. package/server/modules/lists/ls-dmkhuyenmai.js +5 -0
  454. package/server/modules/lists/ls-dmkhuyenmaihd.js +3 -0
  455. package/server/modules/lists/ls-dmletet.js +1 -0
  456. package/server/modules/lists/ls-dmlo.js +1 -0
  457. package/server/modules/lists/ls-dmloaicong.js +1 -0
  458. package/server/modules/lists/ls-dmloaits.js +1 -0
  459. package/server/modules/lists/ls-dmnckkm.js +7 -0
  460. package/server/modules/lists/ls-dmnghiepvu.js +1 -0
  461. package/server/modules/lists/ls-dmnguonvon.js +1 -0
  462. package/server/modules/lists/ls-dmnhnv.js +6 -0
  463. package/server/modules/lists/ls-dmnhtask.js +5 -0
  464. package/server/modules/lists/ls-dmnkh.js +6 -0
  465. package/server/modules/lists/ls-dmntt.js +6 -0
  466. package/server/modules/lists/ls-dmnv.js +14 -0
  467. package/server/modules/lists/ls-dmnvt.js +7 -0
  468. package/server/modules/lists/ls-dmphi.js +6 -0
  469. package/server/modules/lists/ls-dmqct.js +2 -0
  470. package/server/modules/lists/ls-dmqddvt.js +3 -0
  471. package/server/modules/lists/ls-dmtanggiamts.js +1 -0
  472. package/server/modules/lists/ls-dmto.js +5 -0
  473. package/server/modules/lists/ls-dmtt.js +7 -0
  474. package/server/modules/lists/ls-dmvt.js +52 -0
  475. package/server/modules/lists/ls-dmyt.js +1 -0
  476. package/server/modules/lists/ls-dokho.js +1 -0
  477. package/server/modules/lists/ls-dvcs.js +1 -0
  478. package/server/modules/lists/ls-ecomcategories.js +5 -0
  479. package/server/modules/lists/ls-ecomcategories_cty.js +5 -0
  480. package/server/modules/lists/ls-email.js +4 -0
  481. package/server/modules/lists/ls-events.js +3 -0
  482. package/server/modules/lists/ls-evoucher.js +3 -0
  483. package/server/modules/lists/ls-experiencejourney.js +1 -0
  484. package/server/modules/lists/ls-experiencejourneydata.js +3 -0
  485. package/server/modules/lists/ls-experiencejourneypersona.js +4 -0
  486. package/server/modules/lists/ls-experiencejourneystage.js +1 -0
  487. package/server/modules/lists/ls-fbconversation.js +2 -0
  488. package/server/modules/lists/ls-fbmessage.js +2 -0
  489. package/server/modules/lists/ls-fbpage.js +11 -0
  490. package/server/modules/lists/ls-fbpost.js +2 -0
  491. package/server/modules/lists/ls-file.js +38 -0
  492. package/server/modules/lists/ls-financialroadmap.js +3 -0
  493. package/server/modules/lists/ls-flow.js +6 -0
  494. package/server/modules/lists/ls-flowdata.js +1 -0
  495. package/server/modules/lists/ls-flowpending.js +3 -0
  496. package/server/modules/lists/ls-folder.js +1 -0
  497. package/server/modules/lists/ls-forminfo.js +1 -0
  498. package/server/modules/lists/ls-giaoca.js +5 -0
  499. package/server/modules/lists/ls-group.js +5 -0
  500. package/server/modules/lists/ls-hmcn.js +2 -0
  501. package/server/modules/lists/ls-hspbts.js +3 -0
  502. package/server/modules/lists/ls-introducebonus.js +4 -0
  503. package/server/modules/lists/ls-introducecode.js +10 -0
  504. package/server/modules/lists/ls-introducer.js +21 -0
  505. package/server/modules/lists/ls-kbm-bcdkt.js +1 -0
  506. package/server/modules/lists/ls-kbm-bcqt.js +5 -0
  507. package/server/modules/lists/ls-kbm-kqhdkd.js +1 -0
  508. package/server/modules/lists/ls-kbm-lcttgt.js +1 -0
  509. package/server/modules/lists/ls-kbm-lctttt.js +1 -0
  510. package/server/modules/lists/ls-kbm-pttct.js +3 -0
  511. package/server/modules/lists/ls-kbm-tkgtgt.js +3 -0
  512. package/server/modules/lists/ls-kbm-tmbctc.js +3 -0
  513. package/server/modules/lists/ls-kehoachdtcp.js +4 -0
  514. package/server/modules/lists/ls-keyresult.js +7 -0
  515. package/server/modules/lists/ls-khunghangthanhvien.js +1 -0
  516. package/server/modules/lists/ls-label.js +1 -0
  517. package/server/modules/lists/ls-lienhe.js +4 -0
  518. package/server/modules/lists/ls-like-module.js +1 -0
  519. package/server/modules/lists/ls-link.js +1 -0
  520. package/server/modules/lists/ls-loaidiem.js +1 -0
  521. package/server/modules/lists/ls-lock.js +1 -0
  522. package/server/modules/lists/ls-log.js +3 -0
  523. package/server/modules/lists/ls-mailaccount.js +5 -0
  524. package/server/modules/lists/ls-mailreceived.js +5 -0
  525. package/server/modules/lists/ls-mailsent.js +4 -0
  526. package/server/modules/lists/ls-mailtemplate.js +4 -0
  527. package/server/modules/lists/ls-maudanhgia.js +3 -0
  528. package/server/modules/lists/ls-message2.js +8 -0
  529. package/server/modules/lists/ls-message2setting.js +5 -0
  530. package/server/modules/lists/ls-news.js +7 -0
  531. package/server/modules/lists/ls-newsfeed.js +4 -0
  532. package/server/modules/lists/ls-note.js +6 -0
  533. package/server/modules/lists/ls-okr.js +5 -0
  534. package/server/modules/lists/ls-okrdiagram.js +1 -0
  535. package/server/modules/lists/ls-opportunity.js +5 -0
  536. package/server/modules/lists/ls-options.js +4 -0
  537. package/server/modules/lists/ls-parameter.js +3 -0
  538. package/server/modules/lists/ls-participant.js +12 -0
  539. package/server/modules/lists/ls-phieudanhgia.js +7 -0
  540. package/server/modules/lists/ls-phucap.js +2 -0
  541. package/server/modules/lists/ls-productcode.js +9 -0
  542. package/server/modules/lists/ls-profile.js +1 -0
  543. package/server/modules/lists/ls-ptthanhtoan.js +3 -0
  544. package/server/modules/lists/ls-qts-dieuchinh.js +2 -0
  545. package/server/modules/lists/ls-qts-dieuchuyen.js +8 -0
  546. package/server/modules/lists/ls-reason.js +1 -0
  547. package/server/modules/lists/ls-rpt.js +5 -0
  548. package/server/modules/lists/ls-rptform.js +3 -0
  549. package/server/modules/lists/ls-shortcut.js +1 -0
  550. package/server/modules/lists/ls-smsaccount.js +1 -0
  551. package/server/modules/lists/ls-smssend.js +3 -0
  552. package/server/modules/lists/ls-sosanxuat.js +4 -0
  553. package/server/modules/lists/ls-step.js +1 -0
  554. package/server/modules/lists/ls-strategicdiagram.js +1 -0
  555. package/server/modules/lists/ls-strategicgoal.js +3 -0
  556. package/server/modules/lists/ls-strategickpi.js +7 -0
  557. package/server/modules/lists/ls-strategicobjective.js +3 -0
  558. package/server/modules/lists/ls-strategicplan.js +6 -0
  559. package/server/modules/lists/ls-support.js +3 -0
  560. package/server/modules/lists/ls-task.js +28 -0
  561. package/server/modules/lists/ls-tc.js +1 -0
  562. package/server/modules/lists/ls-templaterpt.js +5 -0
  563. package/server/modules/lists/ls-templatevoucher.js +1 -0
  564. package/server/modules/lists/ls-tontucthoi.js +3 -0
  565. package/server/modules/lists/ls-trangthaiapp.js +3 -0
  566. package/server/modules/lists/ls-transaction.js +4 -0
  567. package/server/modules/lists/ls-usergroup.js +7 -0
  568. package/server/modules/lists/ls-vat.js +1 -0
  569. package/server/modules/lists/ls-vatra.js +5 -0
  570. package/server/modules/lists/ls-vatvao.js +6 -0
  571. package/server/modules/lists/ls-warranty.js +3 -0
  572. package/server/modules/lists/ls-workflow.js +1 -0
  573. package/server/modules/lists/ls_hanmucton.js +3 -0
  574. package/server/modules/lists/ls_hspb.js +4 -0
  575. package/server/modules/lists/ls_spdd_ck.js +3 -0
  576. package/server/modules/lists/ls_spdd_dk.js +3 -0
  577. package/server/modules/lists/ls_ytdd_ck.js +4 -0
  578. package/server/modules/lists/ls_ytdd_dk.js +4 -0
  579. package/server/modules/lists/sys-attend.js +4 -0
  580. package/server/modules/lists/sys-follow.js +4 -0
  581. package/server/modules/lists/sys-right.js +2 -0
  582. package/server/modules/public/app.js +4 -0
  583. package/server/modules/public/approve.js +37 -0
  584. package/server/modules/public/callin.js +7 -0
  585. package/server/modules/public/comment.js +5 -0
  586. package/server/modules/public/dmnvt.js +4 -0
  587. package/server/modules/public/dmvt.js +9 -0
  588. package/server/modules/public/file.js +11 -0
  589. package/server/modules/public/forminfo.js +1 -0
  590. package/server/modules/public/group.js +4 -0
  591. package/server/modules/public/introducecode.js +1 -0
  592. package/server/modules/public/listinfo.js +1 -0
  593. package/server/modules/public/media-webhook.js +1 -0
  594. package/server/modules/public/partner.js +1 -0
  595. package/server/modules/public/paymentCallback.js +32 -0
  596. package/server/modules/public/province.js +1 -0
  597. package/server/modules/public/ptthanhtoan.js +4 -0
  598. package/server/modules/public/subscribe.js +30 -0
  599. package/server/modules/public/support.js +3 -0
  600. package/server/modules/public/tableinfo.js +1 -0
  601. package/server/modules/public/trialinfo.js +4 -0
  602. package/server/modules/public/versioninfo.js +1 -0
  603. package/server/modules/reports/calc-tinhgiafifo.js +8 -0
  604. package/server/modules/reports/calc-tinhgiatb.js +7 -0
  605. package/server/modules/reports/calc-tinhgiathanh.js +7 -0
  606. package/server/modules/reports/calc-tinhkhauhaots.js +3 -0
  607. package/server/modules/reports/calc-tinhluong.js +68 -0
  608. package/server/modules/reports/rp-analyzedata.js +6 -0
  609. package/server/modules/reports/rp-assbonus.js +4 -0
  610. package/server/modules/reports/rp-assinterest.js +8 -0
  611. package/server/modules/reports/rp-assproductowners.js +3 -0
  612. package/server/modules/reports/rp-asssupply.js +1 -0
  613. package/server/modules/reports/rp-asstransferlog.js +10 -0
  614. package/server/modules/reports/rp-backup.js +4 -0
  615. package/server/modules/reports/rp-banggiatb.js +3 -0
  616. package/server/modules/reports/rp-bangtinhkhauhao.js +6 -0
  617. package/server/modules/reports/rp-baoCaoFifoKy.js +1 -0
  618. package/server/modules/reports/rp-baocaokhachhang.js +6 -0
  619. package/server/modules/reports/rp-bcdkt.js +11 -0
  620. package/server/modules/reports/rp-bcintroducebonus.js +4 -0
  621. package/server/modules/reports/rp-bckhtiemnang.js +3 -0
  622. package/server/modules/reports/rp-bcqt.js +85 -0
  623. package/server/modules/reports/rp-bkchamcong.js +5 -0
  624. package/server/modules/reports/rp-bkct.js +13 -0
  625. package/server/modules/reports/rp-bkshipbook.js +8 -0
  626. package/server/modules/reports/rp-bkvanchuyen.js +8 -0
  627. package/server/modules/reports/rp-bkvatra.js +7 -0
  628. package/server/modules/reports/rp-bkvatvao.js +7 -0
  629. package/server/modules/reports/rp-capnhatsocaitc.js +4 -0
  630. package/server/modules/reports/rp-cdpsdiem.js +4 -0
  631. package/server/modules/reports/rp-cdpsdt.js +5 -0
  632. package/server/modules/reports/rp-cdpskh.js +8 -0
  633. package/server/modules/reports/rp-cdpsnphep.js +3 -0
  634. package/server/modules/reports/rp-cdpstk.js +4 -0
  635. package/server/modules/reports/rp-chitietchitientheohoadon.js +12 -0
  636. package/server/modules/reports/rp-chitiettaisan.js +13 -0
  637. package/server/modules/reports/rp-chitietthutientheohoadon.js +13 -0
  638. package/server/modules/reports/rp-ckcn.js +3 -0
  639. package/server/modules/reports/rp-ckdiem.js +2 -0
  640. package/server/modules/reports/rp-cktk.js +3 -0
  641. package/server/modules/reports/rp-ckvt.js +10 -0
  642. package/server/modules/reports/rp-ckvttheokho.js +4 -0
  643. package/server/modules/reports/rp-ckvttheotg.js +4 -0
  644. package/server/modules/reports/rp-ckvttt.js +3 -0
  645. package/server/modules/reports/rp-congnophaithutheotuoino.js +3 -0
  646. package/server/modules/reports/rp-congnophaitratheotuoino.js +3 -0
  647. package/server/modules/reports/rp-congnosapthu.js +4 -0
  648. package/server/modules/reports/rp-congnosaptra.js +4 -0
  649. package/server/modules/reports/rp-congviectheobp.js +9 -0
  650. package/server/modules/reports/rp-congviectheodt.js +8 -0
  651. package/server/modules/reports/rp-congviectheokh.js +8 -0
  652. package/server/modules/reports/rp-congviectheonv.js +9 -0
  653. package/server/modules/reports/rp-congviectheotimeline.js +6 -0
  654. package/server/modules/reports/rp-ctbanle.js +15 -0
  655. package/server/modules/reports/rp-ctbanle2.js +20 -0
  656. package/server/modules/reports/rp-ctbanlectv.js +20 -0
  657. package/server/modules/reports/rp-ctbanlenpp.js +24 -0
  658. package/server/modules/reports/rp-ctdanhgianhanvien.js +8 -0
  659. package/server/modules/reports/rp-cthangbanbitralai.js +4 -0
  660. package/server/modules/reports/rp-ctmuahang.js +7 -0
  661. package/server/modules/reports/rp-cttralaihang.js +4 -0
  662. package/server/modules/reports/rp-databanle.js +10 -0
  663. package/server/modules/reports/rp-diemthuong.js +2 -0
  664. package/server/modules/reports/rp-dkcn.js +3 -0
  665. package/server/modules/reports/rp-dktk.js +2 -0
  666. package/server/modules/reports/rp-dsnhanviencm.js +9 -0
  667. package/server/modules/reports/rp-dsnhanvientb.js +9 -0
  668. package/server/modules/reports/rp-dtbanlekempk.js +12 -0
  669. package/server/modules/reports/rp-dtbanletheoct.js +22 -0
  670. package/server/modules/reports/rp-dtbanletheoctkempk.js +25 -0
  671. package/server/modules/reports/rp-dtbanletheokh.js +17 -0
  672. package/server/modules/reports/rp-dtbanletheokhnpp.js +19 -0
  673. package/server/modules/reports/rp-dtbanletheokho.js +15 -0
  674. package/server/modules/reports/rp-dtbanletheonam.js +3 -0
  675. package/server/modules/reports/rp-dtbanletheongay.js +1 -0
  676. package/server/modules/reports/rp-dtbanletheonpp.js +23 -0
  677. package/server/modules/reports/rp-dtbanletheonv.js +19 -0
  678. package/server/modules/reports/rp-dtbanletheoquy.js +3 -0
  679. package/server/modules/reports/rp-dtbanletheosp.js +9 -0
  680. package/server/modules/reports/rp-dtbanletheospnpp.js +6 -0
  681. package/server/modules/reports/rp-dtbanletheothang.js +3 -0
  682. package/server/modules/reports/rp-dtbanletheothungan.js +12 -0
  683. package/server/modules/reports/rp-dtbanletheovt.js +2 -0
  684. package/server/modules/reports/rp-dtbanletheovtnpp.js +2 -0
  685. package/server/modules/reports/rp-dutoanthuchitheodt.js +4 -0
  686. package/server/modules/reports/rp-getPXC2PNC.js +8 -0
  687. package/server/modules/reports/rp-getariseofaccountsbymonth.js +4 -0
  688. package/server/modules/reports/rp-getbtpb.js +6 -0
  689. package/server/modules/reports/rp-getcashbycashier.js +7 -0
  690. package/server/modules/reports/rp-getcschietkhau.js +5 -0
  691. package/server/modules/reports/rp-getdinhmuc4lenhcp.js +7 -0
  692. package/server/modules/reports/rp-getdinhmuc4pxk.js +9 -0
  693. package/server/modules/reports/rp-getdk4pht.js +8 -0
  694. package/server/modules/reports/rp-getdk4pkc.js +10 -0
  695. package/server/modules/reports/rp-getdttheoca.js +5 -0
  696. package/server/modules/reports/rp-getinvoice2pay.js +4 -0
  697. package/server/modules/reports/rp-getinvoice2receive.js +4 -0
  698. package/server/modules/reports/rp-getinvoice2return.js +5 -0
  699. package/server/modules/reports/rp-getinvoice2return_bl.js +6 -0
  700. package/server/modules/reports/rp-getkehoachmh4lenhcp.js +4 -0
  701. package/server/modules/reports/rp-getkhauhao.js +7 -0
  702. package/server/modules/reports/rp-getluong.js +8 -0
  703. package/server/modules/reports/rp-getluongchuyen.js +5 -0
  704. package/server/modules/reports/rp-getpn2fee.js +5 -0
  705. package/server/modules/reports/rp-getpn2return.js +5 -0
  706. package/server/modules/reports/rp-getthanhpham4pnk.js +7 -0
  707. package/server/modules/reports/rp-getvc2xhd.js +11 -0
  708. package/server/modules/reports/rp-gt_cpnvltt.js +6 -0
  709. package/server/modules/reports/rp-hangbanbitralai.js +5 -0
  710. package/server/modules/reports/rp-hangthanhvien.js +3 -0
  711. package/server/modules/reports/rp-hoadonbanhangtheohantt.js +5 -0
  712. package/server/modules/reports/rp-hoadonmuahangtheohantt.js +5 -0
  713. package/server/modules/reports/rp-hoahong.js +15 -0
  714. package/server/modules/reports/rp-kcsns.js +19 -0
  715. package/server/modules/reports/rp-kgchamcong.js +1 -0
  716. package/server/modules/reports/rp-khoaso.js +11 -0
  717. package/server/modules/reports/rp-kiemtrasocaitcvssocai.js +6 -0
  718. package/server/modules/reports/rp-kqdanhgianhanvien.js +5 -0
  719. package/server/modules/reports/rp-kqhdkd.js +1 -0
  720. package/server/modules/reports/rp-lcttgt.js +16 -0
  721. package/server/modules/reports/rp-lctttt.js +11 -0
  722. package/server/modules/reports/rp-linkslist.js +4 -0
  723. package/server/modules/reports/rp-phanbochitienchohoadon.js +11 -0
  724. package/server/modules/reports/rp-phanbothutienchohoadon.js +11 -0
  725. package/server/modules/reports/rp-ptbitralai.js +7 -0
  726. package/server/modules/reports/rp-ptcttct.js +24 -0
  727. package/server/modules/reports/rp-ptdonhang.js +8 -0
  728. package/server/modules/reports/rp-pttct.js +52 -0
  729. package/server/modules/reports/rp-pttctkho.js +32 -0
  730. package/server/modules/reports/rp-pttctkho2.js +29 -0
  731. package/server/modules/reports/rp-referredusers.js +5 -0
  732. package/server/modules/reports/rp-sctbhxh.js +4 -0
  733. package/server/modules/reports/rp-sctcnkh.js +11 -0
  734. package/server/modules/reports/rp-sctdiem.js +3 -0
  735. package/server/modules/reports/rp-sctdt.js +7 -0
  736. package/server/modules/reports/rp-sctdtcp.js +11 -0
  737. package/server/modules/reports/rp-sctluong.js +6 -0
  738. package/server/modules/reports/rp-sctthuetncn.js +4 -0
  739. package/server/modules/reports/rp-scttk.js +9 -0
  740. package/server/modules/reports/rp-sctvt.js +5 -0
  741. package/server/modules/reports/rp-sctvt_sl.js +5 -0
  742. package/server/modules/reports/rp-sctvtnpp.js +6 -0
  743. package/server/modules/reports/rp-sctvttt.js +5 -0
  744. package/server/modules/reports/rp-search.js +4 -0
  745. package/server/modules/reports/rp-socai.js +6 -0
  746. package/server/modules/reports/rp-socaitk.js +1 -0
  747. package/server/modules/reports/rp-sochut.js +7 -0
  748. package/server/modules/reports/rp-sokho.js +7 -0
  749. package/server/modules/reports/rp-sokhott.js +5 -0
  750. package/server/modules/reports/rp-sonkbh.js +5 -0
  751. package/server/modules/reports/rp-sonkc.js +6 -0
  752. package/server/modules/reports/rp-sonkct.js +5 -0
  753. package/server/modules/reports/rp-sonkmh.js +5 -0
  754. package/server/modules/reports/rp-sonktt.js +5 -0
  755. package/server/modules/reports/rp-soquy.js +11 -0
  756. package/server/modules/reports/rp-sosanhkhvatt.js +13 -0
  757. package/server/modules/reports/rp-sosanhkhvatt2.js +5 -0
  758. package/server/modules/reports/rp-sotaisan.js +13 -0
  759. package/server/modules/reports/rp-sotiengui.js +7 -0
  760. package/server/modules/reports/rp-taodinhmuctudkhoc.js +5 -0
  761. package/server/modules/reports/rp-thbanhangkempk.js +28 -0
  762. package/server/modules/reports/rp-thdanhgianhanvien.js +9 -0
  763. package/server/modules/reports/rp-thgt.js +6 -0
  764. package/server/modules/reports/rp-thnxt.js +11 -0
  765. package/server/modules/reports/rp-thnxt_sl.js +9 -0
  766. package/server/modules/reports/rp-thnxtnpp.js +10 -0
  767. package/server/modules/reports/rp-thnxttt.js +9 -0
  768. package/server/modules/reports/rp-tkbanhangtheogioithieu.js +9 -0
  769. package/server/modules/reports/rp-tkgioithieukh.js +4 -0
  770. package/server/modules/reports/rp-tkgtgt.js +76 -0
  771. package/server/modules/reports/rp-tkgtgt_old.js +7 -0
  772. package/server/modules/reports/rp-tmbctc.js +20 -0
  773. package/server/modules/reports/rp-tonghopbanhang.js +6 -0
  774. package/server/modules/reports/rp-tonghopmuahang.js +5 -0
  775. package/server/modules/reports/rp-tonghoptralaihang.js +5 -0
  776. package/server/modules/reports/rp-tongquanbanle.js +20 -0
  777. package/server/modules/reports/rp-tongquanbds.js +3 -0
  778. package/server/modules/reports/rp-tongquancongty.js +6 -0
  779. package/server/modules/reports/rp-tongquanctvnpp.js +12 -0
  780. package/server/modules/reports/rp-tongquannvbh.js +14 -0
  781. package/server/modules/reports/rp-tongquannvnpp.js +5 -0
  782. package/server/modules/reports/rp-uoctinhnvl.js +11 -0
  783. package/server/modules/reports/rp-wallet.js +3 -0
  784. package/server/modules/reports/rpt-tkdiemtichluy.js +9 -0
  785. package/server/modules/systems/sys-app.js +34 -0
  786. package/server/modules/systems/sys-colleague.js +11 -0
  787. package/server/modules/systems/sys-data_list_config.js +1 -0
  788. package/server/modules/systems/sys-domain.js +1 -0
  789. package/server/modules/systems/sys-ecomproductlines.js +1 -0
  790. package/server/modules/systems/sys-exportexceltemplate.js +1 -0
  791. package/server/modules/systems/sys-fieldright.js +1 -0
  792. package/server/modules/systems/sys-importexceltemplate.js +1 -0
  793. package/server/modules/systems/sys-labelinfo.js +4 -0
  794. package/server/modules/systems/sys-listinfo.js +10 -0
  795. package/server/modules/systems/sys-menuinfo.js +4 -0
  796. package/server/modules/systems/sys-message.js +14 -0
  797. package/server/modules/systems/sys-moduleinfo.js +4 -0
  798. package/server/modules/systems/sys-notification.js +8 -0
  799. package/server/modules/systems/sys-quanhuyen.js +1 -0
  800. package/server/modules/systems/sys-reportinfo.js +5 -0
  801. package/server/modules/systems/sys-rptobject.js +1 -0
  802. package/server/modules/systems/sys-schedule.js +10 -0
  803. package/server/modules/systems/sys-sysconfig.js +1 -0
  804. package/server/modules/systems/sys-sysgroup.js +1 -0
  805. package/server/modules/systems/sys-tableinfo.js +1 -0
  806. package/server/modules/systems/sys-templatestore.js +5 -0
  807. package/server/modules/systems/sys-tinhthanh.js +1 -0
  808. package/server/modules/systems/sys-token.js +3 -0
  809. package/server/modules/systems/sys-trangthai.js +3 -0
  810. package/server/modules/systems/sys-trialinfo.js +1 -0
  811. package/server/modules/systems/sys-user.js +45 -0
  812. package/server/modules/systems/sys-users.js +10 -0
  813. package/server/modules/systems/sys-versioninfo.js +1 -0
  814. package/server/modules/systems/sys-vietqrbanks.js +1 -0
  815. package/server/modules/systems/sys-xaphuong.js +1 -0
  816. package/server/modules/vouchers/vo-banggiaban.js +8 -0
  817. package/server/modules/vouchers/vo-bc1.js +34 -0
  818. package/server/modules/vouchers/vo-bc5.js +15 -0
  819. package/server/modules/vouchers/vo-bg1.js +10 -0
  820. package/server/modules/vouchers/vo-bg2.js +12 -0
  821. package/server/modules/vouchers/vo-bn1.js +36 -0
  822. package/server/modules/vouchers/vo-bn5.js +15 -0
  823. package/server/modules/vouchers/vo-dh2.js +35 -0
  824. package/server/modules/vouchers/vo-dinhmucsx.js +6 -0
  825. package/server/modules/vouchers/vo-dkb.js +21 -0
  826. package/server/modules/vouchers/vo-dn0.js +9 -0
  827. package/server/modules/vouchers/vo-dnm.js +20 -0
  828. package/server/modules/vouchers/vo-hd1.js +37 -0
  829. package/server/modules/vouchers/vo-hd2.js +108 -0
  830. package/server/modules/vouchers/vo-hd3.js +38 -0
  831. package/server/modules/vouchers/vo-hd4.js +13 -0
  832. package/server/modules/vouchers/vo-hd7.js +29 -0
  833. package/server/modules/vouchers/vo-hd8.js +29 -0
  834. package/server/modules/vouchers/vo-hde.js +39 -0
  835. package/server/modules/vouchers/vo-htl.js +11 -0
  836. package/server/modules/vouchers/vo-kbbtpb.js +6 -0
  837. package/server/modules/vouchers/vo-kehoachmh.js +11 -0
  838. package/server/modules/vouchers/vo-lenhcapphat.js +9 -0
  839. package/server/modules/vouchers/vo-lenhsx.js +12 -0
  840. package/server/modules/vouchers/vo-pbl.js +94 -0
  841. package/server/modules/vouchers/vo-pc0.js +14 -0
  842. package/server/modules/vouchers/vo-pc1.js +31 -0
  843. package/server/modules/vouchers/vo-pc2.js +25 -0
  844. package/server/modules/vouchers/vo-pc3.js +14 -0
  845. package/server/modules/vouchers/vo-pc5.js +15 -0
  846. package/server/modules/vouchers/vo-pc6.js +19 -0
  847. package/server/modules/vouchers/vo-pcl.js +7 -0
  848. package/server/modules/vouchers/vo-pdn.js +11 -0
  849. package/server/modules/vouchers/vo-pdx.js +9 -0
  850. package/server/modules/vouchers/vo-pgh.js +16 -0
  851. package/server/modules/vouchers/vo-pht.js +6 -0
  852. package/server/modules/vouchers/vo-pkc.js +5 -0
  853. package/server/modules/vouchers/vo-pkh.js +9 -0
  854. package/server/modules/vouchers/vo-pkk.js +12 -0
  855. package/server/modules/vouchers/vo-pkt.js +12 -0
  856. package/server/modules/vouchers/vo-pn1.js +30 -0
  857. package/server/modules/vouchers/vo-pn2.js +17 -0
  858. package/server/modules/vouchers/vo-pn3.js +18 -0
  859. package/server/modules/vouchers/vo-pn5.js +18 -0
  860. package/server/modules/vouchers/vo-pn6.js +18 -0
  861. package/server/modules/vouchers/vo-pn9.js +23 -0
  862. package/server/modules/vouchers/vo-pnc.js +19 -0
  863. package/server/modules/vouchers/vo-pnh.js +17 -0
  864. package/server/modules/vouchers/vo-pnk.js +14 -0
  865. package/server/modules/vouchers/vo-pnknpp.js +12 -0
  866. package/server/modules/vouchers/vo-po1.js +14 -0
  867. package/server/modules/vouchers/vo-ppb.js +8 -0
  868. package/server/modules/vouchers/vo-pt1.js +20 -0
  869. package/server/modules/vouchers/vo-pt5.js +15 -0
  870. package/server/modules/vouchers/vo-ptl.js +8 -0
  871. package/server/modules/vouchers/vo-purchase_contract.js +9 -0
  872. package/server/modules/vouchers/vo-pxc.js +24 -0
  873. package/server/modules/vouchers/vo-pxh.js +18 -0
  874. package/server/modules/vouchers/vo-pxk.js +15 -0
  875. package/server/modules/vouchers/vo-pxknpp.js +14 -0
  876. package/server/modules/vouchers/vo-qts.js +12 -0
  877. package/server/modules/vouchers/vo-sale_contract.js +11 -0
  878. package/server/modules/vouchers/vo-shipbook.js +17 -0
  879. package/server/modules/vouchers/vo-so1.js +125 -0
  880. package/server/modules/vouchers/vo-so5.js +57 -0
  881. package/server/modules/vouchers/vo-so7.js +97 -0
  882. package/server/modules/vouchers/vo-so9.js +119 -0
  883. package/server/modules/vouchers/vo-vanchuyen.js +14 -0
  884. package/server/modules/vouchers/vo-xhd.js +33 -0
@@ -0,0 +1,5 @@
1
+ const dmgiathitruongSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_vt:{type:String,required:!0,uppercase:!0,default:"",maxlength:1024,trim:!0},ten_vt:String,ma_dvt:{type:String,trim:!0},mieu_ta:{type:String,default:"",maxlength:1024},ma_kh:{type:String,default:"",maxlength:32,trim:!0},ten_kh:String,ma_kho:{type:String,default:"",maxlength:32,trim:!0},ten_kho:String,ma_tt1:{type:String,trim:!0},ma_tt2:{type:String,trim:!0},ma_tt3:{type:String,trim:!0},sl_tu:{type:Number,default:0},
2
+ sl_den:{type:Number,default:0},gia_thi_truong:{type:Number,default:0},gia_thi_truong_qd:{type:Number,default:0},gia_thi_truong_td:{type:Number,default:0},gia_thi_truong_tb:{type:Number,default:0},gia_thi_truong_tb_td:{type:Number,default:0},gia_mua:{type:Number,default:0},gia_mua_qd:{type:Number,default:0},ngay:{type:Date,default:Date.now},tinh_thanh:String,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},
3
+ user_created:{type:String,default:""},user_updated:{type:String,default:""}},{toJSON:{virtuals:!0}});
4
+ (global.configs||{}).createIndexes&&(dmgiathitruongSchema.index({id_app:1,ma_vt:1,ma_kho:1,ma_kh:1,ngay:-1,tinh_thanh:1}),dmgiathitruongSchema.index({nh_kh:1}),dmgiathitruongSchema.index({ma_kho:1}),dmgiathitruongSchema.index({ma_kh:1}),dmgiathitruongSchema.index({ma_dvt:1}),dmgiathitruongSchema.index({ma_tt1:1}),dmgiathitruongSchema.index({ma_tt2:1}),dmgiathitruongSchema.index({ma_tt3:1}),dmgiathitruongSchema.index({sl_tu:1}),dmgiathitruongSchema.index({sl_den:1}),dmgiathitruongSchema.index({date_updated:-1}),
5
+ dmgiathitruongSchema.index({date_created:-1}),dmgiathitruongSchema.index({user_created:1}),dmgiathitruongSchema.index({status:1}),dmgiathitruongSchema.index({mieu_ta:"text",ma_vt:"text",ten_vt:"text",ma_kh:"text",ten_kh:"text",ma_kho:"text",ten_kho:"text"},{name:"dmgiathitruong_index_text"}));const model=mongoose.models.dmgiathitruong||mongoose.model("dmgiathitruong",dmgiathitruongSchema);module.exports=model;
@@ -0,0 +1,2 @@
1
+ const dmgiathitruong_ngaySchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ngay: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:""}},{toJSON:{virtuals:!0}});(global.configs||{}).createIndexes&&(dmgiathitruong_ngaySchema.index({id_app:1,ngay:1}),dmgiathitruong_ngaySchema.index({ngay:"text"},{name:"dmgiathitruong_ngay_index_text"}));
2
+ const model=mongoose.models.dmgiathitruong_ngay||mongoose.model("dmgiathitruong_ngay",dmgiathitruong_ngaySchema);module.exports=model;
@@ -0,0 +1,2 @@
1
+ const dmgiathitruong_theodoiSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},user:String,ma_vt:String,tinh_thanh:String,follow:Boolean,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}},{toJSON:{virtuals:!0}});
2
+ (global.configs||{}).createIndexes&&(dmgiathitruong_theodoiSchema.index({id_app:1,user:1,ma_vt:1,tinh_thanh:1}),dmgiathitruong_theodoiSchema.index({follow:1}),dmgiathitruong_theodoiSchema.index({ma_vt:"text"},{name:"dmgiathitruong_theodoi_index_text"}));const model=mongoose.models.dmgiathitruong_theodoi||mongoose.model("dmgiathitruong_theodoi",dmgiathitruong_theodoiSchema);module.exports=model;
@@ -0,0 +1,8 @@
1
+ const dmhoahonghdSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},loai:{type:String,default:"0"},ten_loai:String,yeu_cau_ma_gioi_thieu:{type:Boolean},kieu:{type:String,default:"0"},ten_kieu:String,doi_tuong:{type:String,default:"0"},hinh_thuc_tt:{type:String,default:"0"},tk_no:String,tk_co:String,do_uu_tien:{type:Number,default:0},ma_hoahong:{type:String,uppercase:!0,required:!0,maxlength:32},ten_hoahong:{type:String,required:!0,maxlength:1024},mieu_ta:{type:String},chi_su_dung_cho_ct:{type:String,
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
+ 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
+ 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:""}});
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
+ 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.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;
@@ -0,0 +1,8 @@
1
+ const dmhoahongnppSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},loai:{type:String,default:"0"},kieu:{type:String,default:"0"},doi_tuong:{type:String,default:"0"},hinh_thuc_tt:{type:String,default:"0"},tk_no:String,tk_co:String,do_uu_tien:{type:Number,default:0},ma_hoahong:{type:String,uppercase:!0,required:!0,maxlength:32},ten_hoahong:{type:String,required:!0,maxlength:1024},mieu_ta:{type:String},chi_su_dung_cho_ct:{type:String,uppercase:!0},khong_su_dung_cho_ct:{type:String,
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
+ 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
+ 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:""}});dmhoahongnppSchema.set("toObject",{virtuals:!0});dmhoahongnppSchema.set("toJSON",{virtuals:!0});
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
+ 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({status:1}));const model=mongoose.models.dmhoahongnpp||mongoose.model("dmhoahongnpp",dmhoahongnppSchema);module.exports=model;
@@ -0,0 +1,3 @@
1
+ const validAccount=require("../libs/validator-account"),dmkcSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:{type:Number,required:!0},ten_bt:{type:String,required:!0,maxlength:1024},loai_kc:{type:String,required:!0,maxlength:32,enum:["1","2"]},chi_kc_gt_duong:Boolean,tk_chuyen:{type:String,required:!0,maxlength:32},tk_nhan:{type:String,required:!0,maxlength:32},phi_yn:{type:Boolean,default:!1},dt_yn:{type:Boolean,default:!1},bp_yn:{type:Boolean,default:!1},sp_yn:{type:Boolean,
2
+ default:!1},hd_yn:{type:Boolean,default:!1},kh_yn:{type:Boolean,default:!1},kho_yn:{type:Boolean,default:!1},not_nt_yn:{type:Boolean,default:!1},ps_yn:{type:Boolean,default:!0},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});dmkcSchema.validate={tk_nhan:validAccount.existsTk};
3
+ (global.configs||{}).createIndexes&&(dmkcSchema.index({id_app:1,stt:1,tk_chuyen:1,tk_nhan:1}),dmkcSchema.index({id_app:1,ten_bt:"text",tk_chuyen:"text",tk_nhan:"text"},{name:"dmkc_index_text"}),dmkcSchema.index({id_app:1,status:1}),dmkcSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dmkc||mongoose.model("dmkc",dmkcSchema);
@@ -0,0 +1,7 @@
1
+ const {getCodeChildren}=require("../libs/utils"),dmkhoSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_kho:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_kho:{type:String,required:!0,maxlength:1024},stt:Number,ma_kh:{type:String,uppercase:!0,maxlength:32,trim:!0},tk_cn:{type:String,maxlength:32,trim:!0},tk_dt:{type:String,maxlength:32,trim:!0},tk_tl:{type:String,maxlength:32,trim:!0},tk_ck:{type:String,maxlength:32,trim:!0},tk_gv:{type:String,maxlength:32,trim:!0},
2
+ tk_tien:{type:String,maxlength:32,trim:!0},tk_cp_bh:{type:String,maxlength:32,trim:!0},tk_cp_gh:{type:String,maxlength:32,trim:!0},tk_cp_ctv:{type:String,maxlength:32,trim:!0},tk_cn_ctv:{type:String,maxlength:32,trim:!0},tk_no_hoa_hong:String,tk_co_hoa_hong:String,dia_chi:{type:String,maxlength:1024},kho_dl:{type:Boolean,default:!1},kho_dc:{type:Boolean,default:!1},la_cua_hang:Boolean,user_quan_ly:String,theo_doi_sl_ht:Boolean,printers:[],la_kho_thue:Boolean,user_cho_thue:String,ds_ctv_kho_thue:[],
3
+ la_kho_npp:Boolean,user_npp:String,ds_ctv_npp:[],ma_kho_me:String,sysorder:String,bac:{type:Number},loai_nh:{type:Number,default:1},lock:Boolean,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},location:Schema.Types.Mixed,location2:global.customTypes.Point,visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],
4
+ delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]},{toJSON:{virtuals:!0}});
5
+ (global.configs||{}).createIndexes&&(dmkhoSchema.index({id_app:1,ma_kho:1},{unique:!0}),dmkhoSchema.index({id_app:1,ma_kho:1,ten_kho:1,stt:1}),dmkhoSchema.index({id_app:1,ma_kho:1,ten_kho:1,stt:1,status:1}),dmkhoSchema.index({id_app:1,dia_chi:1}),dmkhoSchema.index({id_app:1,stt:1}),dmkhoSchema.index({id_app:1,lock:1,ma_kho:1}),dmkhoSchema.index({id_app:1,la_kho_thue:1,user_cho_thue:1,ds_ctv_kho_thue:1}),dmkhoSchema.index({id_app:1,la_kho_npp:1,user_npp:1,ds_ctv_npp:1}),dmkhoSchema.index({id_app:1,
6
+ ma_kho:"text",ten_kho:"text",dia_chi:"text"},{name:"dmkho_index_text"}),dmkhoSchema.index({id_app:1,status:1}),dmkhoSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmkhoSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_kho:1,ten_kho:1}),dmkhoSchema.index({location2:"2dsphere"},{background:!1}));const model=mongoose.models.dmkho||mongoose.model("dmkho",dmkhoSchema);model.referenceKeys={ma_kho:[{model:"sokho",key:"ma_kho",error:"Kho ${obj.ten_kho} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong s\u1ed5 kho"}]};
7
+ model.getAllChildrenGroup=async($id_app$$,$ma_kho$$,$condition$$={})=>getCodeChildren(model,$id_app$$,$ma_kho$$,"ma_kho","ma_kho_me",$condition$$);module.exports=model;
@@ -0,0 +1,9 @@
1
+ const dmkhuyenmaiSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ten_khuyenmai:{type:String,maxlength:1024},ma_nhom:String,stt_uu_tien:Number,ma_vt:{type:String,uppercase:!0,default:"",maxlength:1024,trim:!0},ten_vt:String,ma_tt1:String,ma_tt2:String,ma_tt3:String,ma_nvt:{type:String,default:"",maxlength:1024,trim:!0},ten_nvt:String,ma_nvt2:{type:String,maxlength:32},ten_nvt2:String,ma_nvt3:{type:String,maxlength:32},ten_nvt3:String,ma_nvt4:{type:String,maxlength:32},ten_nvt4:String,
2
+ nh_tt:{type:String,maxlength:32},ten_nh_tt:String,nh_tt2:[],nh_tt3:[],nh_tt4:[],nh_tt5:[],ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024,trim:!0},ten_nh_kh:String,nh_kh2:[],nh_kh3:[],nh_kh4:[],nh_kh5:[],ma_kho:{type:String,default:"",maxlength:32,trim:!0},ten_kho:String,sl_tu:{type:Number,default:0},sl_den:{type:Number,default:0},t_sl_tu:{type:Number,default:0},t_sl_den:{type:Number,default:0},t_sl_ntt_tu:{type:Number,default:0},
3
+ t_sl_ntt_den:{type:Number,default:0},t_tien_ntt_tu:{type:Number,default:0},t_tien_ntt_den:{type:Number,default:0},gt_tu:{type:Number,default:0},gt_den:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},details_km:[],mieu_ta:{type:String},picture:{type:String,maxlength:1024},online:{type:Boolean},offline:{type:Boolean},exfields:Schema.Types.Mixed,newsfeed:{type:Boolean},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
4
+ default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},chi_su_dung_cho_ct:{type:String,uppercase:!0},khong_su_dung_cho_ct:{type:String,uppercase:!0},dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]},dmkh:{type:Schema.Types.ObjectId,ref:"customer",localField:["ma_kh"],foreignField:["ma_kh"]},dmkho:{type:Schema.Types.ObjectId,ref:"dmkho",localField:["ma_kho"],foreignField:["ma_kho"]},dmnvt:{type:Schema.Types.ObjectId,ref:"dmnvt",
5
+ localField:["ma_nvt"],foreignField:["_id"]}},{toJSON:{virtuals:!0}});
6
+ (global.configs||{}).createIndexes&&(dmkhuyenmaiSchema.index({id_app:1,ma_nhom:1}),dmkhuyenmaiSchema.index({id_app:1,ma_nvt:1}),dmkhuyenmaiSchema.index({id_app:1,ma_nvt2:1}),dmkhuyenmaiSchema.index({id_app:1,ma_nvt3:1}),dmkhuyenmaiSchema.index({id_app:1,ma_nvt4:1}),dmkhuyenmaiSchema.index({id_app:1,nh_tt:1}),dmkhuyenmaiSchema.index({id_app:1,nh_tt2:1}),dmkhuyenmaiSchema.index({id_app:1,nh_tt3:1}),dmkhuyenmaiSchema.index({id_app:1,nh_tt4:1}),dmkhuyenmaiSchema.index({id_app:1,nh_kh:1}),dmkhuyenmaiSchema.index({id_app:1,
7
+ nh_kh2:1}),dmkhuyenmaiSchema.index({id_app:1,nh_kh3:1}),dmkhuyenmaiSchema.index({id_app:1,nh_kh4:1}),dmkhuyenmaiSchema.index({id_app:1,nh_kh5:1}),dmkhuyenmaiSchema.index({id_app:1,stt_uu_tien:1}),dmkhuyenmaiSchema.index({id_app:1,sl_tu:-1,sl_den:-1}),dmkhuyenmaiSchema.index({id_app:1,ma_tt1:1}),dmkhuyenmaiSchema.index({id_app:1,ma_tt2:1}),dmkhuyenmaiSchema.index({id_app:1,ma_tt3:1}),dmkhuyenmaiSchema.index({id_app:1,ma_bien_the_tt1:1}),dmkhuyenmaiSchema.index({id_app:1,gia_tri_bien_the_tt1:1}),dmkhuyenmaiSchema.index({id_app:1,
8
+ chi_su_dung_cho_ct:1}),dmkhuyenmaiSchema.index({id_app:1,khong_su_dung_cho_ct:1}),dmkhuyenmaiSchema.index({id_app:1,user_created:1,date_created:-1,status:1}),dmkhuyenmaiSchema.index({id_app:1,online:1}),dmkhuyenmaiSchema.index({id_app:1,offline:1}),dmkhuyenmaiSchema.index({id_app:1,ma_vt:1,ma_nvt:1,ma_nvt2:1,ma_nvt3:1,ma_nvt4:1,hieu_luc_tu:-1,hieu_luc_den:-1,stt_uu_tien:1,ap_dung_lan_mua_tu_thu:1,ap_dung_lan_mua_den_thu:1,status:1}),dmkhuyenmaiSchema.index({id_app:1,ten_khuyenmai:"text",mieu_ta:"text",
9
+ ten_vt:"text",ma_nvt:"text",ten_nvt:"text",nh_kh:"text",ten_nh_kh:"text",ma_kho:"text",ten_kho:"text",ma_kh:"text",ten_kh:"text"},{name:"dmkhuyenmai_index_text"}));const model=mongoose.models.dmkhuyenmai||mongoose.model("dmkhuyenmai",dmkhuyenmaiSchema);module.exports=model;
@@ -0,0 +1,11 @@
1
+ const dmkhuyenmaihdSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt_uu_tien:Number,ten_khuyenmai:{type:String,maxlength:1024},ma_nhom:String,ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024},ten_nh_kh:String,ma_kho:{type:String,default:"",maxlength:32,trim:!0},ten_kho:String,vts:[],sl_toi_thieu:{type:Number,default:0},gt_tu:{type:Number,default:0},gt_den:{type:Number,default:0},hieu_luc_tu:{type:Date,
2
+ required:!0},hieu_luc_den:{type:Date,required:!0},details_km:[],mieu_ta:{type:String},picture:{type:String,maxlength:1024},online:{type:Boolean},offline:{type:Boolean},exfields:Schema.Types.Mixed,newsfeed:{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,default:""},user_updated:{type:String,default:""},dmkh:{type:Schema.Types.ObjectId,ref:"customer",localField:["ma_kh"],foreignField:["ma_kh"]},
3
+ dmkho:{type:Schema.Types.ObjectId,ref:"dmkho",localField:["ma_kho"],foreignField:["ma_kho"]}},{toJSON:{virtuals:!0}});
4
+ (global.configs||{}).createIndexes&&(dmkhuyenmaihdSchema.index({id_app:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1},{name:"dmkhuyenmaihd_index_1"}),dmkhuyenmaihdSchema.index({ma_nhom:1}),dmkhuyenmaihdSchema.index({nh_kh:1}),dmkhuyenmaihdSchema.index({stt_uu_tien:1}),dmkhuyenmaihdSchema.index({sl_tu:-1}),dmkhuyenmaihdSchema.index({sl_den:-1}),dmkhuyenmaihdSchema.index({date_updated:-1}),dmkhuyenmaihdSchema.index({date_created:-1}),dmkhuyenmaihdSchema.index({user_created:1}),dmkhuyenmaihdSchema.index({status:1}),
5
+ dmkhuyenmaihdSchema.index({online:1}),dmkhuyenmaihdSchema.index({offline:1}),dmkhuyenmaihdSchema.index({ten_khuyenmai:"text",mieu_ta:"text",nh_kh:"text",ten_nh_kh:"text",ma_kho:"text",ten_kho:"text",ma_kh:"text",ten_kh:"text"},{name:"dmkhuyenmaihd_index_text"}));const model=mongoose.models.dmkhuyenmaihd||mongoose.model("dmkhuyenmaihd",dmkhuyenmaihdSchema),moment=require("moment");
6
+ model.tinhKhuyenMai=async($i_id_app_kh$$,$obj$$,$hieu_luc_tu_ngay_ct_q_ma_kh$$,$ma_kh_sl_toi_thieu$$,$ma_kho_query$$,$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$,$ckhds_lan_mua_thu$$=0)=>{$ma_kho_query$$={id_app:$i_id_app_kh$$,gt_tu:{$lte:$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$},ma_kho:{$in:[void 0,null,"",$ma_kho_query$$]}};$ma_kho_query$$.$and=[{$or:[{gt_den:{$in:[0,void 0,null]}},{gt_den:{$gte:$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$}}]}];$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$=moment($hieu_luc_tu_ngay_ct_q_ma_kh$$).startOf("date").toDate();
7
+ $hieu_luc_tu_ngay_ct_q_ma_kh$$={$lte:moment($hieu_luc_tu_ngay_ct_q_ma_kh$$).endOf("date").toDate()};$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$={$gte:$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$};$ma_kho_query$$.hieu_luc_tu=$hieu_luc_tu_ngay_ct_q_ma_kh$$;$ma_kho_query$$.hieu_luc_den=$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$;$hieu_luc_tu_ngay_ct_q_ma_kh$$={$in:[void 0,null,"",$ma_kh_sl_toi_thieu$$]};$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$={$in:[void 0,null,""]};$ma_kh_sl_toi_thieu$$&&($i_id_app_kh$$=await global.getModel("customer").findOne({id_app:$i_id_app_kh$$,
8
+ ma_kh:$ma_kh_sl_toi_thieu$$},{nh_kh:1}))&&$i_id_app_kh$$.nh_kh&&($hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$={$in:[void 0,null,"",$i_id_app_kh$$.nh_kh]});$ma_kho_query$$.$or=[{$and:[{ma_kh:$hieu_luc_tu_ngay_ct_q_ma_kh$$},{nh_kh:{$in:["",null,void 0]}}]},{$and:[{nh_kh:$hieu_luc_den_q_nh_kh_t_tt_nt_tu_ngay$$},{ma_kh:{$in:["",null,void 0]}}]}];$ma_kho_query$$.ap_dung_lan_mua_thu={$in:[null,void 0,0,$ckhds_lan_mua_thu$$]};$ckhds_lan_mua_thu$$=await model.find($ma_kho_query$$).sort({stt_uu_tien:1,gt_tu:-1,
9
+ ma_kh:-1,nh_kh:-1,hieu_luc_tu:-1}).lean();for($i_id_app_kh$$=0;$i_id_app_kh$$<$ckhds_lan_mua_thu$$.length;$i_id_app_kh$$++){let $ckhd$$=$ckhds_lan_mua_thu$$[$i_id_app_kh$$];if($ckhd$$&&$ckhd$$.details_km&&$ckhd$$.details_km.length>0){$ma_kh_sl_toi_thieu$$=$ckhd$$.sl_toi_thieu||0;let $sl_dap_ung$$=0;$ma_kh_sl_toi_thieu$$&&$ckhd$$.vts&&$ckhd$$.vts.length>0&&$ckhd$$.vts.forEach($vt$$=>{var $ds_tien$$=$obj$$.details.filter($d$$=>$d$$.ma_vt===$vt$$.ma_vt&&(!$vt$$.ma_tt1||$vt$$.ma_tt1===$d$$.ma_tt1)&&(!$vt$$.ma_tt2||
10
+ $vt$$.ma_tt2===$d$$.ma_tt2)&&(!$vt$$.ma_tt3||$vt$$.ma_tt3===$d$$.ma_tt3));if($ds_tien$$.length!=0){var $so_luong$$=$ds_tien$$.map($d$$=>$d$$.sl_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$ds_tien$$=$ds_tien$$.map($d$$=>($d$$.tien_hang_ct_nt||0)-($d$$.tien_ck_nt||0)).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$vt$$.sl_tu&&$so_luong$$<$vt$$.sl_tu||$vt$$.sl_den&&$so_luong$$>$vt$$.sl_den||$vt$$.gt_tu&&$ds_tien$$<$vt$$.gt_tu||$vt$$.gt_den&&$ds_tien$$>$vt$$.gt_den||($sl_dap_ung$$+=1)}});if($ma_kh_sl_toi_thieu$$<=$sl_dap_ung$$){$ckhd$$.details_km.forEach($d$$=>
11
+ {$d$$={...$d$$,km_yn_for:"khuyenmaihd"};$d$$.id_cs=$ckhd$$._id.toString();$d$$.sl_xuat=$d$$.sl_km;$d$$.tien_hang_ct_nt=$d$$.tien_hang_ct=$d$$.tien_hang_nt=$d$$.tien_hang=0;$d$$.tien_ck_nt=$d$$.tien_ck=0;$d$$.ty_le_ck=0;$d$$.tien_nt=$d$$.tien=0;return $d$$});break}}}};module.exports=model;
@@ -0,0 +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},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;
@@ -0,0 +1,4 @@
1
+ const dmloSchema=new Schema({id_app:{type:String,required:!0},ma_lo:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_lo:{type:String,required:!0,maxlength:1024},ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ten_vt:String,han_sd:{type:Date,required:!0},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},
2
+ visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]});
3
+ (global.configs||{}).createIndexes&&(dmloSchema.index({id_app:1,ma_lo:1,ten_lo:1,ma_vt:1,han_sd:1}),dmloSchema.index({id_app:1,ma_vt:1}),dmloSchema.index({id_app:1,han_sd:1}),dmloSchema.index({id_app:1,ma_lo:"text",ten_lo:"text",ma_vt:"text",ten_vt:"text"},{name:"dmlo_index_text"}),dmloSchema.index({id_app:1,status:1}),dmloSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmloSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_vt:1,ma_lo:1,ten_lo:1}));
4
+ const model=mongoose.models.dmlo||mongoose.model("dmlo",dmloSchema);model.referenceKeys={ma_lo:[{model:"sokho",key:"ma_lo",error:"M\u00e3 l\u00f4 {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
@@ -0,0 +1,4 @@
1
+ const dmloaicongSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:Number,ma_loai_cong:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_loai_cong:{type:String,required:!0,maxlength:1024},ngay_cong:{type:Number,default:0},ngay_phep:{type:Number,default:0},ngay_khong_luong:{type:Number,default:0},ngay_khong_phep:{type:Number,default:0},la_cong_lam_them:{type:Boolean,default:!1},tinh_phu_cap:{type:Boolean,default:!0},tong_gio_lam_tu:{type:Number,default:0},tong_gio_lam_den:{type:Number,
2
+ default:0},gio_vao_toi_thieu:Date,gio_ra_toi_thieu:Date,nhung_ngay_trong_tuan:[String],color:{type:String,maxlength:32},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
3
+ (global.configs||{}).createIndexes&&(dmloaicongSchema.index({id_app:1,ma_loai_cong:1},{unique:!0}),dmloaicongSchema.index({id_app:1,ten_loai_cong:1}),dmloaicongSchema.index({id_app:1,tong_gio_lam_tu:-1,tong_gio_lam_den:1,gio_vao_toi_thieu:-1,gio_ra_toi_thieu:1,nhung_ngay_trong_tuan:1,status:1}),dmloaicongSchema.index({id_app:1,ma_loai_cong:"text",ten_loai_cong:"text"},{name:"dmloaicong_index_text"}),dmloaicongSchema.index({id_app:1,status:1}),dmloaicongSchema.index({id_app:1,user_created:1,visible_to:1,
4
+ visible_to_users:1}));const model=mongoose.models.dmloaicong||mongoose.model("dmloaicong",dmloaicongSchema);model.referenceKeys={ma_loai_cong:[{model:"chamcong",key:"ma_loai_cong",error:"M\u00e3 lo\u1ea1i c\u00f4ng {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
@@ -0,0 +1,2 @@
1
+ const dmloaitaskSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_loai_cv:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_loai_cv:{type:String,required:!0,maxlength:1024},he_so:Number,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(dmloaitaskSchema.index({id_app:1,ma_loai_cv:1},{unique:!0}),dmloaitaskSchema.index({ten_loai_cv:1}),dmloaitaskSchema.index({ma_loai_cv:"text",ten_loai_cv:"text"},{name:"dmloaitask_index_text"}),dmloaitaskSchema.index({status:1}),dmloaitaskSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dmloaitask||mongoose.model("dmloaitask",dmloaitaskSchema);
@@ -0,0 +1,2 @@
1
+ const dmloaitsSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_loai_ts:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_loai_ts:{type:String,required:!0,maxlength:1024},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(dmloaitsSchema.index({id_app:1,ma_loai_ts:1},{unique:!0}),dmloaitsSchema.index({ten_loai_ts:1}),dmloaitsSchema.index({ma_loai_ts:"text",ten_loai_ts:"text"},{name:"dmloaits_index_text"}),dmloaitsSchema.index({status:1}),dmloaitsSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dmloaits||mongoose.model("dmloaits",dmloaitsSchema);
@@ -0,0 +1,4 @@
1
+ const dmnckkmSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:{type:Number,default:0},loai_cs:{type:String,default:"DMCHIETKHAU",enum:["DMCHIETKHAU","DMKHUYENMAI","DMCHIETKHAUHD","DMKHUYENMAIHD"]},ten_nhom:{type:String,required:!0,maxlength:1024},phuong_phap_ap_dung:{type:String,default:"STT_UU_TIEN",enum:["TOI_THIEU","TOI_DA","CONG","LOAI_TRU","STT_UU_TIEN"]},nh_me:{type:String,maxlength:1024},loai_nh:{type:Number,default:1},bac:Number,sysorder:String,description:String,exfields:Schema.Types.Mixed,
2
+ status:{type:Boolean,default:!0},shared:{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:""}},{toJSON:{virtuals:!0}});
3
+ (global.configs||{}).createIndexes&&(dmnckkmSchema.index({id_app:1,ten_nhom:1,status:1}),dmnckkmSchema.index({id_app:1,nh_me:1}),dmnckkmSchema.index({id_app:1,loai_cs:1}),dmnckkmSchema.index({id_app:1,phuong_phap_ap_dung:1,status:1}),dmnckkmSchema.index({id_app:1,sysorder:1}),dmnckkmSchema.index({id_app:1,loai_nh:1}),dmnckkmSchema.index({id_app:1,group_kind:1}),dmnckkmSchema.index({id_app:1,bac:1}),dmnckkmSchema.index({id_app:1,description:1,status:1}),dmnckkmSchema.index({id_app:1,ten_nhom:"text",
4
+ nh_me:"text",description:"text"},{name:"dmnckkm_index_text"}),dmnckkmSchema.index({id_app:1,status:1}),dmnckkmSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1}));const model=mongoose.models.dmnckkm||mongoose.model("dmnckkm",dmnckkmSchema);module.exports=model;
@@ -0,0 +1,4 @@
1
+ const dmnghiepvuSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,required:!0,uppercase:!0,maxlength:64,trim:!0},ma_nghiep_vu:{type:String,required:!0,uppercase:!0,maxlength:64,trim:!0},ten_nghiep_vu:String,tk_no:{type:String,trim:!0},tk_co:{type:String,trim:!0},trang_thai:{type:String,maxlength:32},stt:{type:Number,default:0},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},
2
+ user_created:{type:String,default:""},user_updated:{type:String,default:""}});
3
+ (global.configs||{}).createIndexes&&(dmnghiepvuSchema.index({id_app:1,ma_ct:1,ma_nghiep_vu:1,ten_nghiep_vu:1}),dmnghiepvuSchema.index({id_app:1,ma_ct:1,ma_nghiep_vu:1,ten_nghiep_vu:1,status:1}),dmnghiepvuSchema.index({id_app:1,tk_no:1}),dmnghiepvuSchema.index({id_app:1,tk_co:1}),dmnghiepvuSchema.index({id_app:1,status:1}),dmnghiepvuSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmnghiepvuSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1}),
4
+ dmnghiepvuSchema.index({id_app:1,trang_thai:1}),dmnghiepvuSchema.index({id_app:1,ma_nghiep_vu:"text",ten_nghiep_vu:"text",tk_no:"text",tk_co:"text",ma_ct:"text"},{name:"dmnghiepvu_index_text"}));const model=mongoose.models.dmnghiepvu||mongoose.model("dmnghiepvu",dmnghiepvuSchema);module.exports=model;
@@ -0,0 +1,2 @@
1
+ const dmnguonvonSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_nguon_von:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_nguon_von:{type:String,required:!0,maxlength:1024},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(dmnguonvonSchema.index({id_app:1,ma_nguon_von:1},{unique:!0}),dmnguonvonSchema.index({ten_nguon_von:1}),dmnguonvonSchema.index({ma_nguon_von:"text",ten_nguon_von:"text"},{name:"dmnguonvon_index_text"}),dmnguonvonSchema.index({status:1}),dmnguonvonSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dmnguonvon||mongoose.model("dmnguonvon",dmnguonvonSchema);
@@ -0,0 +1,4 @@
1
+ const dmnhnvSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_bp:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ma_doi:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ma_to:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ma_nh_nv:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_nh_nv:{type:String,required:!0,maxlength:1024},phu_trach:{type:String,uppercase:!0,maxlength:1024,trim:!0},ten_phu_trach:String,phoi_hop:{type:String,
2
+ uppercase:!0,maxlength:1024,trim:!0},exfields:Schema.Types.Mixed,visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
3
+ (global.configs||{}).createIndexes&&(dmnhnvSchema.index({id_app:1,ma_bp:1,ma_doi:1,ma_to:1,ma_nh_nv:1}),dmnhnvSchema.index({ma_bp:1}),dmnhnvSchema.index({ma_doi:1}),dmnhnvSchema.index({ma_to:1}),dmnhnvSchema.index({ma_nh_nv:1}),dmnhnvSchema.index({ten_nh_nv:1}),dmnhnvSchema.index({phoi_hop:1}),dmnhnvSchema.index({phu_trach:1}),dmnhnvSchema.index({ten_phu_trach:1}),dmnhnvSchema.index({ma_nh_nv:"text",ten_nh_nv:"text",phu_trach:"text",ten_phu_trach:"text"},{name:"dmnhnv_index_text"}),dmnhnvSchema.index({status:1}),
4
+ dmnhnvSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dmnhnv||mongoose.model("dmnhnv",dmnhnvSchema);model.referenceKeys={ma_nh_nv:[{model:"phieudanhgia",key:"ma_nh_nv",error:"Nh\u00f3m n\u00e0y \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"dmnv",key:"ma_nh_nv",error:"Nh\u00f3m n\u00e0y \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
@@ -0,0 +1,17 @@
1
+ const bpSchema=new Schema({ma_bp:{type:String,uppercase:!0,trim:!0,required:!0,maxlength:32},chuc_vu:{type:String,trim:!0,maxlength:1024},cong_viec:{type:String,trim:!0,maxlength:1024},phu_trach:{type:String,maxlength:1024},tu_ngay:{type:Date,default:Date.now},den_ngay:{type:Date},line:{type:Number,default:0}}),dmnvSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_nv:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ten_nv:{type:String,required:"Y\u00eau c\u1ea7u nh\u1eadp t\u00ean nh\u00e2n vi\u00ean",
2
+ trim:!0,maxlength:1024},device_user_id:String,trusted_device_id:String,ma_so_thue:{type:String,maxlength:32},phu_trach:{type:String,maxlength:1024,trim:!0},nh_nv:{type:String,trim:!0,maxlength:32},ma_nh_nv:{type:String,uppercase:!0,trim:!0,default:"",maxlength:32},ma_kh:String,ten_kh:String,ma_doi:{type:String,uppercase:!0,trim:!0,default:"",maxlength:32},ma_to:{type:String,uppercase:!0,trim:!0,default:"",maxlength:32},nguoi_danh_gia:[{ma_doi_tuong_danh_gia:String,user:String,line:Number}],ma_bp:{type:String,
3
+ uppercase:!0,trim:!0,default:"",maxlength:32},ten_bp:String,ma_cn:String,ma_kho:{type:String,uppercase:!0,trim:!0,default:"",maxlength:32},ten_kho:String,chuc_vu:{type:String,trim:!0,maxlength:1024},cong_viec:{type:String,trim:!0,maxlength:1024},cong_viec_chi_tiet:{type:String,trim:!0},trinh_do_hoc_van:String,trinh_do_chuyen_mon:String,bo_phan:[bpSchema],noi_sinh:{type:String,maxlength:1024},ngay_sinh:{type:Date},nguyen_quan:{type:String,maxlength:1024},ho_khau:{type:String,maxlength:1024},dia_chi:{type:String,
4
+ maxlength:1024},dien_thoai:{type:String,maxlength:1024},fax:{type:String,maxlength:1024},email:{type:String,maxlength:1024},website:{type:String,maxlength:1024},dan_toc:{type:String,maxlength:1024},ton_giao:{type:String,maxlength:1024},cmnd:{type:String,maxlength:1024},ngay_cap:Date,noi_cap:{type:String,maxlength:1024},gioi_tinh:{type:String,maxlength:1024},tinh_trang_hon_nhan:{type:String,maxlength:1024},quoc_tich:{type:String,maxlength:1024},lam_viec:{type:Boolean,default:!0},cham_cong:{type:Boolean,
5
+ default:!0},tinh_luong:{type:Boolean,default:!0},bhxh:{type:Boolean,default:!0},bhyt:{type:Boolean,default:!0},bhtn:{type:Boolean,default:!0},luong_co_ban:{type:Number,default:0},luong_ngay_cong:{type:Number,default:0},luong_ngay_cong2:{type:Number,default:0},luong_ngay_cong3:{type:Number,default:0},luong_bhxh:{type:Number,default:0},ngay_tinh_bhxh:Date,phu_cap:[],luong_thu_viec:{type:Number,default:0},thu_viec_tu_ngay:Date,thu_viec_den_ngay:Date,ngay_bat_dau_lam:Date,ngay_nghi_viec:Date,so_ngay_duoc_nghi_phep_nam:Number,
6
+ ttncn_mst:String,ttncn_so_nguoi_phu_thuoc:Number,ttncn_muc_gt_phu_thuoc:Number,ttncn_so_thang_gt_ban_than:Number,ttncn_muc_gt_ban_than:Number,so_tk_ngan_hang:String,ten_chu_tk_ngan_hang:String,phat_hanh_boi_ngan_hang:String,user:{type:String,lowercase:!0,maxlength:1024,set:function($user$$){this._previous_user=this.user;return $user$$}},group_user:String,default_password:{type:String,maxlength:1024},ghi_chu:{type:String,trim:!0,maxlength:1024},picture:String,location:Schema.Types.Mixed,exfields:Schema.Types.Mixed,
7
+ status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String},user_updated:{type:String},visible_to:{type:Number,default:0},visible_to_users:[String]},{toJSON:{virtuals:!0}});
8
+ dmnvSchema.pre("save",function($next$$){if(!this.user)return $next$$();const $self$$=this;this.isNew||this.user!=this._previous_user?mongoose.models.dmnv.countDocuments({id_app:this.id_app,user:this.user,ma_nv:{$ne:this.ma_nv}},($e$$,$count$$)=>{$count$$>0?$next$$(Error(`Ng\u01b0\u1eddi s\u1eed d\u1ee5ng '${$self$$.user}' \u0111\u00e3 \u0111\u01b0\u1ee3c g\u1eafn cho m\u1ed9t nh\u00e2n vi\u00ean kh\u00e1c`)):$next$$()}):$next$$()});
9
+ (global.configs||{}).createIndexes&&(dmnvSchema.index({id_app:1,ma_nv:1},{unique:!0}),dmnvSchema.index({id_app:1,status:1}),dmnvSchema.index({id_app:1,phu_trach:1,status:1}),dmnvSchema.index({id_app:1,ma_bp:1,ten_bp:1,status:1}),dmnvSchema.index({id_app:1,ma_kh:1,ten_kh:1,status:1}),dmnvSchema.index({id_app:1,nh_nv:1,status:1}),dmnvSchema.index({id_app:1,phu_trach:1,user:1}),dmnvSchema.index({id_app:1,trusted_device_id:1}),dmnvSchema.index({id_app:1,device_user_id:1,status:1}),dmnvSchema.index({id_app:1,
10
+ group_user:1,status:1}),dmnvSchema.index({id_app:1,ten_nv:1,ma_so_thue:1,ma_nv:1,chuc_vu:1,status:1}),dmnvSchema.index({id_app:1,user:1,phu_trach:1,user_created:1,visible_to:1,visible_to_users:1,status:1}),dmnvSchema.index({id_app:1,user:1,phu_trach:1,user_created:1,visible_to:1,visible_to_users:1,status:1,ma_nv:1,ten_nv:1}),dmnvSchema.index({id_app:1,user:1,phu_trach:1,user_created:1,visible_to:1,visible_to_users:1,status:1,ma_bp:1}),dmnvSchema.index({id_app:1,user:1,phu_trach:1,user_created:1,visible_to:1,
11
+ visible_to_users:1,status:1,ma_kh:1}),dmnvSchema.index({id_app:1,user:1,phu_trach:1,user_created:1,visible_to:1,visible_to_users:1,status:1,device_user_id:1}),dmnvSchema.index({id_app:1,user:1,phu_trach:1,user_created:1,visible_to:1,visible_to_users:1,status:1,nh_nv:1}),dmnvSchema.index({id_app:1,ma_nv:"text",ten_nv:"text",ma_bp:"text",ten_bp:"text",chuc_vu:"text"},{name:"dmnv_index_text"}));const model=mongoose.models.dmnv||mongoose.model("dmnv",dmnvSchema);
12
+ if((global.configs||{}).createIndexes)model.on("index",async function($err$$){$err$$?(Logger.error("Employee index error",$err$$),(await model.aggregate([{$group:{_id:{id_app:"$id_app",ma_nv:"$ma_nv"},count:{$sum:1},ids:{$push:"$_id"}}},{$match:{count:{$gt:1}}}])).forEach($d$$=>{console.info("employee duplication",$d$$._id,$d$$.ids);$d$$.ids.forEach(($id$$,$index$$)=>{$index$$>0&&console.info("you should delete employee",$id$$)})})):console.info("emplyeee indexing complete")});
13
+ model.referenceKeys={ma_nv:[{model:"chamcong",key:"ma_nv",error:"Nh\u00e2n vi\u00ean ${obj.ma_nv} - ${obj.ten_nv} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong b\u1ea3ng ch\u1ea5m c\u00f4ng"},{model:"bangtinhluong",key:"ma_nv",error:"Nh\u00e2n vi\u00ean ${obj.ma_nv} - ${obj.ten_nv} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong b\u1ea3ng t\u00ednh l\u01b0\u01a1ng"},{model:"socai",key:"ma_nv",error:"Nh\u00e2n vi\u00ean ${obj.ma_nv} - ${obj.ten_nv} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong s\u1ed5 c\u00e1i"},
14
+ {model:"phieudanhgia",key:"ma_nv",error:"Nh\u00e2n vi\u00ean ${obj.ma_nv} - ${obj.ten_nv} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong phi\u1ebfu \u0111\u00e1nh gi\u00e1 nh\u00e2n vi\u00ean"}]};
15
+ model.createEmployeeCode=function($id_app$$,$ma_nv$$,$lanthu$$,$callback$$){$ma_nv$$=$ma_nv$$.replace(/[^\w\s]/gi,"").split(" ").join("").toUpperCase();model.findOne({ma_nv:$ma_nv$$,id_app:$id_app$$},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);if($rs$$)$lanthu$$+=1,$ma_nv$$=$ma_nv$$.substring(0,$ma_nv$$.length-$lanthu$$.toString().length)+$lanthu$$.toString(),model.createEmployeeCode($id_app$$,$ma_nv$$,$lanthu$$,$callback$$);else return $callback$$(null,$ma_nv$$)})};
16
+ model.asyncCreateEmployeeCode=async($id_app$$,$ma_nv$$,$lanthu$$)=>{$lanthu$$||=0;$ma_nv$$.length>32&&($ma_nv$$=$ma_nv$$.substring(0,32));return new Promise($resolve$$=>{model.createEmployeeCode($id_app$$,$ma_nv$$,$lanthu$$,($e$$,$rs$$)=>{$resolve$$($rs$$||"")})})};
17
+ model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$(Error("Can't find data"));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$($e$$)})})};module.exports=model;
@@ -0,0 +1,10 @@
1
+ const dmnvtSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:{type:Number,default:0},ten_nvt:{type:String,required:!0,maxlength:1024},nh_me:{type:String,maxlength:1024},ma_nganh_hang:String,ds_nganh_hang:[String],group_kind:{type:Number,default:1},loai_nh:{type:Number,default:1},bac:Number,sysorder:String,quan_trong:Boolean,la_nhom_hang_hoa:Boolean,ban_tai_quay:Boolean,description:String,logo:{type:String,maxlength:1024},banner1:{type:String,maxlength:1024},banner2:{type:String,
2
+ maxlength:1024},cac_thuoc_tinh:[],exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},shared:{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:""}},{toJSON:{virtuals:!0}});
3
+ (global.configs||{}).createIndexes&&(dmnvtSchema.index({id_app:1,_id:1,group_kind:1}),dmnvtSchema.index({id_app:1,ten_nvt:1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,nh_me:1,status:1,group_kind:1}),dmnvtSchema.index({id_app:1,sysorder:1}),dmnvtSchema.index({id_app:1,loai_nh:1}),dmnvtSchema.index({id_app:1,group_kind:1}),dmnvtSchema.index({id_app:1,bac:1}),dmnvtSchema.index({id_app:1,"cac_thuoc_tinh.id_tt":1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,"cac_thuoc_tinh.ma_vt":1,
4
+ status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,"cac_thuoc_tinh.ma_tt":1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,"cac_thuoc_tinh.loai_tt":1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,ma_nganh_hang:1,ds_nganh_hang:1,group_kind:1}),dmnvtSchema.index({id_app:1,la_nhom_hang_hoa:1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,la_nhom_hang_hoa:1,ban_tai_quay:1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,description:1,status:1,stt:1,group_kind:1}),
5
+ dmnvtSchema.index({id_app:1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1,stt:1,group_kind:1}),dmnvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1,stt:1,ten_nvt:1,group_kind:1}),dmnvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1,stt:1,ten_nvt:1,la_nhom_hang_hoa:1,group_kind:1}),dmnvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1,stt:1,
6
+ ten_nvt:1,la_nhom_hang_hoa:1,ban_tai_quay:1,group_kind:1}),dmnvtSchema.index({id_app:1,ten_nvt:"text",nh_me:"text",description:"text"},{name:"dmnvt_index_text"}));const model=mongoose.models.dmnvt||mongoose.model("dmnvt",dmnvtSchema);model.referenceKeys={_id:[{model:"dmvt",key:"ma_nvt",error:"Nh\u00f3m v\u1eadt t\u01b0 ${obj.ten_nvt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong danh m\u1ee5c v\u1eadt t\u01b0"}]};
7
+ model.getAllChildrenGroup=async($baseQuery_id_app$$,$ma_nvt_seeds$$,$la_nhom_hang_hoa_visitedStr$$,$ma_nganh_hang_resultMap$$,$condition_depth$$={group_kind:1},$maxDepth$$=20)=>{$baseQuery_id_app$$={id_app:$baseQuery_id_app$$,status:!0,...$condition_depth$$};$ma_nganh_hang_resultMap$$&&($baseQuery_id_app$$.ds_nganh_hang=$ma_nganh_hang_resultMap$$);$la_nhom_hang_hoa_visitedStr$$!=null&&($baseQuery_id_app$$.la_nhom_hang_hoa=$la_nhom_hang_hoa_visitedStr$$);$ma_nvt_seeds$$=$ma_nvt_seeds$$?Array.isArray($ma_nvt_seeds$$)?
8
+ $ma_nvt_seeds$$:typeof $ma_nvt_seeds$$==="object"&&$ma_nvt_seeds$$.$in?$ma_nvt_seeds$$.$in:[$ma_nvt_seeds$$]:[];if($ma_nvt_seeds$$.length===0)return[];$la_nhom_hang_hoa_visitedStr$$=new Set($ma_nvt_seeds$$.map($s$$=>$s$$.toString()));$ma_nganh_hang_resultMap$$=new Map($ma_nvt_seeds$$.map($s$$=>[$s$$.toString(),$s$$]));var $frontier_nextLevel$$=$ma_nvt_seeds$$;for($condition_depth$$=0;$frontier_nextLevel$$.length>0&&$condition_depth$$<$maxDepth$$;){$condition_depth$$++;var $children_idStr$$=await model.find({...$baseQuery_id_app$$,
9
+ nh_me:{$in:$frontier_nextLevel$$}},{_id:1,nh_me:1}).lean();$frontier_nextLevel$$=[];for(const $child$$ of $children_idStr$$)$children_idStr$$=$child$$._id.toString(),$children_idStr$$===($child$$.nh_me?.toString?.()??"")||$la_nhom_hang_hoa_visitedStr$$.has($children_idStr$$)||($la_nhom_hang_hoa_visitedStr$$.add($children_idStr$$),$ma_nganh_hang_resultMap$$.set($children_idStr$$,$child$$._id),$frontier_nextLevel$$.push($child$$._id));$condition_depth$$===$maxDepth$$&&$frontier_nextLevel$$.length>0&&
10
+ Logger.warn(`[getAllChildrenGroup] \u0111\u00e3 \u0111\u1ea1t \u0111\u1ed9 s\u00e2u t\u1ed1i \u0111a (${$maxDepth$$}), d\u1eebng t\u1ea1i \u0111\u00e2y.`,JSON.stringify({seeds:$ma_nvt_seeds$$.map($s$$=>$s$$.toString()),stoppedAt:$frontier_nextLevel$$.map($s$$=>$s$$.toString())},null,2))}return[...$ma_nganh_hang_resultMap$$.values()]};module.exports=model;
@@ -0,0 +1,3 @@
1
+ const dmphiSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_phi:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_phi:{type:String,required:!0,maxlength:1024},ma_phi_me:{type:String},loai_nh:{type:Number,default:1},stt:Number,bac:Number,sysorder: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:""}},
2
+ {toJSON:{virtuals:!0}});(global.configs||{}).createIndexes&&(dmphiSchema.index({id_app:1,ma_phi:1},{unique:!0}),dmphiSchema.index({ten_phi:1}),dmphiSchema.index({ma_phi_me:1}),dmphiSchema.index({ma_phi:"text",ten_phi:"text"}),dmphiSchema.index({status:1}),dmphiSchema.index({stt:1}),dmphiSchema.index({sysorder:1}),dmphiSchema.index({loai_nh:1}),dmphiSchema.index({bac:1}),dmphiSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dmphi||mongoose.model("dmphi",dmphiSchema);
3
+ model.referenceKeys={ma_phi:[{model:"vsocai",key:"ma_phi",error:"Ph\u00ed ${obj.ma_phi} - ${obj.ten_phi} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
@@ -0,0 +1,3 @@
1
+ const dmqctSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ten_qct:{type:String,required:!0,maxlength:1024},cac_ma_ct:[String],field:{type:String,default:"so_ct",maxlength:32,trim:!0},tien_to:{type:String,trim:!0},hau_to:{type:String,trim:!0},tu_so:{type:Number,default:1},den_so:{type:Number,default:999999},tien_to_ht:{type:String,trim:!0},hau_to_ht:{type:String,trim:!0},so_ht:{type:Number,default:0},tu_dong_reset:Boolean,tu_ngay:{type:Date},den_ngay:{type:Date},dieu_kien:String,
2
+ check_duplicate:Boolean,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(dmqctSchema.index({id_app:1,ten_qct:1}),dmqctSchema.index({id_app:1,cac_ma_ct:1}),dmqctSchema.index({id_app:1,status:1}),dmqctSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));
3
+ module.exports=mongoose.models.dmqct||mongoose.model("dmqct",dmqctSchema);
@@ -0,0 +1,3 @@
1
+ const dmqddvtSchema=new Schema({id_app:{type:String,required:!0},ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024,trim:!0},ten_vt:String,ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},ten_dvt:String,tu:Number,mau:Number,ty_le_qd:{type:Number,default:1},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(dmqddvtSchema.index({id_app:1,ma_vt:1,ma_dvt:1}),dmqddvtSchema.index({id_app:1,ma_vt:1,ma_dvt:1,status:1}),dmqddvtSchema.index({id_app:1,ma_vt:1}),dmqddvtSchema.index({id_app:1,ma_dvt:"text",ma_vt:"text",ten_vt:"text"}),dmqddvtSchema.index({id_app:1,status:1}),dmqddvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmqddvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1}));
3
+ const model=mongoose.models.dmqddvt||mongoose.model("dmqddvt",dmqddvtSchema);module.exports=model;
@@ -0,0 +1,3 @@
1
+ const dmtanggiamtsSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},kieu:{type:String,default:"1",required:!0,enum:["1","2"]},ma_tang_giam_ts:{type:String,required:!0,uppercase:!0,trim:!0},ten_tang_giam_ts:{type:String,required:!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:""}});
2
+ dmtanggiamtsSchema.validate={kieu:[function($id_app$$,$value$$,$callback$$){$value$$=="1"||$value$$=="2"?$callback$$(!0):$callback$$(!1)},"Ki\u1ec3u(kieu): 1- t\u0103ng, 2- gi\u1ea3m"]};
3
+ (global.configs||{}).createIndexes&&(dmtanggiamtsSchema.index({id_app:1,ma_tang_giam_ts:1},{unique:!0}),dmtanggiamtsSchema.index({ten_tang_giam_ts:1}),dmtanggiamtsSchema.index({ma_tang_giam_ts:"text",ten_tang_giam_ts:"text"}),dmtanggiamtsSchema.index({status:1}),dmtanggiamtsSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dmtanggiamts||mongoose.model("dmtanggiamts",dmtanggiamtsSchema);
@@ -0,0 +1,4 @@
1
+ const dmtoSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_bp:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_bp:String,ma_doi:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_doi:String,ma_to:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_to:{type:String,required:!0,maxlength:1024},phu_trach:{type:String,uppercase:!0,maxlength:1024,trim:!0},phoi_hop:{type:String,uppercase:!0,maxlength:1024,trim:!0},exfields:Schema.Types.Mixed,visible_to:{type:Number,
2
+ default:0},visible_to_users:[String],update_right:[String],delete_right:[String],status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
3
+ (global.configs||{}).createIndexes&&(dmtoSchema.index({id_app:1,ma_bp:1,ma_doi:1,ma_to:1},{unique:!0}),dmtoSchema.index({ten_to:1}),dmtoSchema.index({ten_bp:1}),dmtoSchema.index({ma_bp:"text",ten_bp:"text",ma_doi:"text",ten_doi:"text",ma_to:"text",ten_to:"text"},{name:"dmto_index_text"}),dmtoSchema.index({status:1}),dmtoSchema.index({user_created:1,visible_to:1,visible_to_users:1}),dmtoSchema.index({phu_trach:1}),dmtoSchema.index({phoi_hop:1}));
4
+ const model=mongoose.models.dmto||mongoose.model("dmto",dmtoSchema);model.referenceKeys={ma_to:[{model:"phieudanhgia",key:"ma_to",error:"T\u1ed5 n\u00e0y \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"dmnv",key:"ma_to",error:"T\u1ed5 n\u00e0y \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
@@ -0,0 +1,6 @@
1
+ const dmttSchema=new Schema({id_app:String,loai_tt:String,ma_vt:{type:String,required:!0,maxlength:1024,uppercase:!0,trim:!0},ma_tt:{type:String,required:!0,maxlength:1024,trim:!0},ten_tt:{type:String,required:!0,maxlength:4E3},ma_tt2:{type:String,maxlength:1024,trim:!0},ma_can:{type:String,maxlength:1024,trim:!0},ma_dvt:{type:String,trim:!0},gia_ban_le:{type:Number,maxlength:0},nh_tt:String,nh_tt2:[String],nh_tt3:[String],nh_tt4:[String],nh_tt5:[String],details:[],exfields:Schema.Types.Mixed,status:{type:Boolean,
2
+ default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
3
+ (global.configs||{}).createIndexes&&(dmttSchema.index({id_app:1}),dmttSchema.index({id_app:1,ma_vt:1}),dmttSchema.index({id_app:1,loai_tt:1}),dmttSchema.index({id_app:1,nh_tt:1}),dmttSchema.index({id_app:1,nh_tt2:1}),dmttSchema.index({id_app:1,nh_tt3:1}),dmttSchema.index({id_app:1,nh_tt4:1}),dmttSchema.index({id_app:1,nh_tt5:1}),dmttSchema.index({id_app:1,ma_tt:1}),dmttSchema.index({id_app:1,ma_tt2:1}),dmttSchema.index({id_app:1,ma_can:1}),dmttSchema.index({id_app:1,ten_tt:1}),dmttSchema.index({id_app:1,
4
+ "details.ma_bien_the":1}),dmttSchema.index({id_app:1,"details.gia_tri_bien_the":1}),dmttSchema.index({id_app:1,status:1}),dmttSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmttSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,nh_tt:1}),dmttSchema.index({id_app:1,user_created:1,visible_to:1,nh_tt2:1}),dmttSchema.index({id_app:1,user_created:1,visible_to:1,nh_tt3:1}),dmttSchema.index({id_app:1,user_created:1,visible_to:1,nh_tt4:1}),dmttSchema.index({id_app:1,
5
+ user_created:1,visible_to:1,nh_tt5:1}),dmttSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_vt:1}),dmttSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_vt:1,ma_can:1}),dmttSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_vt:1,loai_tt:1,ma_tt:1}),dmttSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,"details.ma_bien_the":1,"details.gia_tri_bien_the":1}),dmttSchema.index({id_app:1,ma_vt:1,loai_tt:1,ma_tt:1},
6
+ {unique:!0}),dmttSchema.index({ma_vt:"text",ma_tt:"text",ten_tt:"text",ma_tt2:"text",ma_can:"text"},{name:"dmtt_index"}));const model=mongoose.models.dmtt||mongoose.model("dmtt",dmttSchema);module.exports=model;
@@ -0,0 +1,17 @@
1
+ const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),unidecode=require("unidecode"),mongoose=require("mongoose"),Schema=mongoose.Schema,dmvtSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:Number,ma_vt:{type:String,required:"M\u00e3 v\u1eadt t\u01b0 kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",uppercase:!0,trim:!0,maxlength:1024},ma_vt2:{type:String,maxlength:1024,uppercase:!0,trim:!0},ma_can:{type:String,maxlength:1024,uppercase:!0,trim:!0},
2
+ ten_vt:{type:String,required:"T\u00ean v\u1eadt t\u01b0 kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",maxlength:1024},ten_vt_kd:String,ten_vt_eng:String,ma_dvt:{type:String,required:"M\u00e3 \u0111\u01a1n v\u1ecb t\u00ednh kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",maxlength:32,trim:!0},ma_lvt:{type:String,required:!1,maxlength:32,trim:!0},ma_nvt:{type:String,required:!1,maxlength:1024,trim:!0},ten_nvt:String,ma_nvt2:[String],ma_nvt3:[String],ma_nvt4:[String],ma_danh_muc:String,ma_danh_muc_cty:String,
3
+ ma_ncc:{type:String,required:!1,maxlength:32,trim:!0},ten_ncc:String,tg_tk:{type:Boolean,default:!0},kg_kiem_tra_ton_kho:{type:Boolean,default:!1},kg_kiem_tra_ton_kho_tt:{type:Boolean,default:!1},gia_xuat:{type:String,default:"1",maxlength:32},tk_vt:{type:String,default:"1561",maxlength:32},tk_dt:{type:String,maxlength:32},tk_gv:{type:String,maxlength:32},tk_dl:{type:String,maxlength:32},tk_tl:{type:String,maxlength:32},gia_ban_le0:{type:Number,default:0},gia_ban_buon0:{type:Number,default:0},gia_ban_le:{type:Number,
4
+ default:0},gia_ban_buon:{type:Number,default:0},gia_ban_chua_thue:{type:Boolean,default:!1},ban_theo_tg:{type:Boolean,default:!1},khong_duoc_sua_gia_ban:{type:Boolean,default:!0},sp_yeu_cau_che_bien:{type:Boolean,default:!1},sp_yeu_cau_pha_che:{type:Boolean,default:!1},gia_mua:{type:Number,default:0},gia_mua_tmp:{type:Number,default:0},ty_le_ck0:{type:Number,default:0},tien_ck0:{type:Number,default:0},thue_suat_nk0:{type:Number,default:0},ton_kho_mac_dinh:{type:Number,default:0},ton_kho_online_hien_tai:{type:Number,
5
+ default:0},thue_suat_nk:{type:Number,default:0},ma_thue:{type:String,maxlength:32},picture_slide:{type:String,maxlength:1024},picture:{type:String,maxlength:1024},picture2:{type:String,maxlength:1024},picture3:{type:String,maxlength:1024},picture4:{type:String,maxlength:1024},picture5:{type:String,maxlength:1024},picture6:{type:String,maxlength:1024},mieu_ta:{type:String},mieu_ta_chi_tiet:{type:String},khuyen_mai:{type:String},bao_hang:{type:String},ma_xuat_xu:{type:String},ma_thuong_hieu:{type:String},
6
+ hot:{type:Boolean},bestseller:{type:Boolean},banner_large:{type:Boolean},banner_small:{type:Boolean},options:[],xk_nvl:{type:Boolean},tinh_trang:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,labels:[String],ma_kho_df:String,ma_lo_yn:Boolean,ma_tt1_yn:Boolean,ma_tt2_yn:Boolean,ma_tt3_yn:Boolean,ma_pk_xuat:String,thuoc_tinh:Schema.Types.Mixed,cong_doan_sx:[Schema.Types.Mixed],is_service:{type:Boolean,default:!1},is_digital:{type:Boolean,default:!1},is_coin:Boolean,is_point:Boolean,file_digital:String,
7
+ combo:[],trong_luong:{type:Number,default:0},chieu_sau:{type:Number,default:0},chieu_rong:{type:Number,default:0},chieu_cao:{type:Number,default:0},warranty_policy:{type:Schema.Types.ObjectId,ref:"warrantypolicy",default:null},shared:{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:""},visible_to:{type:Number,default:0},visible_to_users:[String],
8
+ update_right:[String],delete_right:[String]},{toJSON:{virtuals:!0}});
9
+ dmvtSchema.validate={tk_vt:validAccount.existsTk,ma_dvt:validator.existsDvt,ma_thue:validator.existsVat,gia_xuat:[function($id_app$$,$gx$$,$callback$$){$gx$$!="1"&&$gx$$!="2"&&$gx$$!="3"?$callback$$(!1):$callback$$(!0)},"Ph\u01b0\u01a1ng ph\u00e1p t\u00ednh gi\u00e1 xu\u1ea5t: 1- Trung b\u00ecnh th\u00e1ng, 2- Nh\u1eadp tr\u01b0\u1edbc xu\u1ea5t tr\u01b0\u1edbc, 3- \u0110\u00edch danh"],tinh_trang:[function($id_app$$,$gx$$,$callback$$){$gx$$!="1"&&$gx$$!="2"&&$gx$$!="3"?$callback$$(!1):$callback$$(!0)},
10
+ "T\u00ecnh tr\u1ea1ng: 1- \u0110ang c\u00f3 h\u00e0ng, 2- S\u1eafp c\u00f3 h\u00e0ng, 3- H\u1ebft h\u00e0ng"]};dmvtSchema.pre("save",function($next$$){const $self$$=this;$self$$.ten_vt?setImmediate(()=>{const $ten_vt_kd$$=unidecode($self$$.ten_vt);$self$$.ten_vt_kd=`${$ten_vt_kd$$}`;$next$$()}):$next$$()});
11
+ (global.configs||{}).createIndexes&&(dmvtSchema.index({id_app:1,ma_vt:1},{unique:!0}),dmvtSchema.index({id_app:1,ma_vt:1,ma_can:1,ma_vt2:1,ten_vt:1,ten_vt_kd:1,ten_vt_eng:1,status:1,stt:1}),dmvtSchema.index({id_app:1,ma_lvt:1,status:1}),dmvtSchema.index({id_app:1,ma_nvt:1,status:1,stt:1}),dmvtSchema.index({id_app:1,ma_nvt2:1,status:1,stt:1}),dmvtSchema.index({id_app:1,ma_nvt3:1,status:1,stt:1}),dmvtSchema.index({id_app:1,ma_nvt4:1,status:1,stt:1}),dmvtSchema.index({id_app:1,ma_danh_muc:1,status:1,
12
+ stt:1}),dmvtSchema.index({id_app:1,ma_danh_muc_cty:1,status:1,stt:1}),dmvtSchema.index({id_app:1,ma_ncc:1,ten_ncc:1,status:1,stt:1}),dmvtSchema.index({id_app:1,ma_kho_df:1,status:1}),dmvtSchema.index({id_app:1,ma_thuong_hieu:1,status:1,stt:1}),dmvtSchema.index({id_app:1,ma_xuat_xu:1,status:1,stt:1}),dmvtSchema.index({id_app:1,labels:1,status:1}),dmvtSchema.index({id_app:1,is_service:1,status:1}),dmvtSchema.index({id_app:1,is_digital:1,status:1}),dmvtSchema.index({id_app:1,date_created:-1}),dmvtSchema.index({id_app:1,
13
+ ton_kho_online_hien_tai:1}),dmvtSchema.index({id_app:1,ma_pk_xuat:1}),dmvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1,stt:1}),dmvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_vt:1,ma_can:1,ma_vt2:1,ten_vt:1,ten_vt_kd:1,ten_vt_eng:1,status:1,stt:1}),dmvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_nvt:1,status:1,stt:1}),dmvtSchema.index({id_app:1,user_created:1,visible_to:1,ma_nvt2:1,status:1,stt:1}),dmvtSchema.index({id_app:1,
14
+ user_created:1,visible_to:1,ma_nvt3:1,status:1,stt:1}),dmvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_lvt:1,status:1,stt:1}),dmvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_danh_muc:1,status:1,stt:1}),dmvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,ma_danh_muc_cty:1,status:1,stt:1}),dmvtSchema.index({id_app:1,ten_vt:"text",ten_vt_kd:"text",mieu_ta:"text",ma_vt:"text",ma_vt2:"text",ma_can:"text",ma_thuong_hieu:"text",
15
+ ma_xuat_xu:"text",ma_nvt:"text",ten_nvt:"text",ma_ncc:"text",ten_ncc:"text",labels:"text",ten_vt_eng:"text"},{name:"product_index",default_language:"none"}));const model=mongoose.models.dmvt||mongoose.model("dmvt",dmvtSchema);
16
+ if((global.configs||{}).createIndexes)model.on("index",async function($err$$){$err$$?(Logger.error("Product index error",$err$$),(await model.aggregate([{$group:{_id:{id_app:"$id_app",ma_vt:"$ma_vt"},count:{$sum:1},ids:{$push:"$_id"}}},{$match:{count:{$gt:1}}}])).forEach($d$$=>{console.info("product duplication",$d$$._id,$d$$.ids);$d$$.ids.forEach(($id$$,$index$$)=>{$index$$>0&&console.info("you should delete product",$id$$)})})):console.info("Product indexing complete")});
17
+ model.referenceKeys={ma_vt:[{model:"sokho",key:"ma_vt",error:"V\u1eadt t\u01b0 ${obj.ten_vt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong s\u1ed5 kho"},{model:"cdvt",key:"ma_vt",error:"V\u1eadt t\u01b0 ${obj.ten_vt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong c\u00e2n \u0111\u1ed1i v\u1eadt t\u01b0"}]};module.exports=model;
@@ -0,0 +1,4 @@
1
+ const dmytSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_yt:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_yt:{type:String,required:!0,maxlength:1024},nh_yt:{type:String,required:!0,maxlength:1024,trim:!0},co_do_dang:{type:Boolean,default:!1},yt_trung_gian:{type:Boolean,default:!1},ma_bp:String,ma_bp_cp:String,ma_dt_cp:String,ma_phi_cp:String,ma_kho_cp:String,ma_vt_cp:String,cong_tru:{type:String,default:"1",enum:["1","2"]},tk_no:[String],tk_co:[String],tk_dd:String,
2
+ th_sp:{type:Boolean,default:!1},th_nvl:{type:Boolean,default:!1},th_bp:{type:Boolean,default:!1},th_lsx:{type:Boolean,default:!1},pt_phan_bo:{type:String,default:"0",enum:["0","1","2","5"]},yt_tinh_hs_pb:String,pt_tinh_hs_pb:{type:String,default:"1",enum:["1","2"]},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
3
+ (global.configs||{}).createIndexes&&(dmytSchema.index({id_app:1,ma_yt:1},{unique:!0}),dmytSchema.index({id_app:1,ma_yt:"text",ten_yt:"text"}),dmytSchema.index({id_app:1,ten_yt:1}),dmytSchema.index({id_app:1,status:1}),dmytSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dmyt||mongoose.model("dmyt",dmytSchema);model.referenceKeys={ma_yt:[{model:"gt_ctgt",key:"ma_yt",error:"Y\u1ebfu t\u1ed1 ${obj.ma_yt} - ${obj.ten_yt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};
4
+ module.exports=model;
@@ -0,0 +1,13 @@
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},so_tk_ngan_hang:String,ten_chu_tk_ngan_hang:String,
2
+ phat_hanh_boi_ngan_hang:String,dien_giai:String,exfields_detail: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: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,
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},exfields_detail:global.Schema.Types.Mixed});tdttco_ttSchema.validate={ma_kh:validator.existsKh};
8
+ const dn0Schema=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},ma_ct:{type:String,default:"DN0",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,maxlength:32},ty_gia:{type:Number,
9
+ 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,maxlength:32},ten_kh:String,dien_giai:{type:String,default:"",maxlength:1024},dot:Number,ty_le:Number,id_po1:{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,default:Date.now},user_created:{type:String,
10
+ 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],tdttcos:[tdttco_ttSchema],ma_bp:{type:String,uppercase:!0},ma_phi:{type:String,uppercase:!0},ma_hd:{type:String,uppercase:!0},ma_dt:{type:String,uppercase:!0},ma_nv:{type:String,uppercase:!0}});
11
+ dn0Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_gd:[function($id_app$$,$value$$,$callback$$){return $value$$!="1"&&$value$$!="2"?$callback$$(!1):$callback$$(!0)},"ma_gd:1-Thu chi ti\u1ec1n m\u1eb7t, 2- B\u00e1o n\u1ee3"]};
12
+ (global.configs||{}).createIndexes&&(dn0Schema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),dn0Schema.index({dien_giai:"text"}),dn0Schema.index({ma_ct:1}),dn0Schema.index({ma_kh:1}),dn0Schema.index({user_created:1,date_created:-1}),dn0Schema.index({date_updated:-1}),dn0Schema.index({status:1}),dn0Schema.index({user_created:1,visible_to:1,visible_to_users:1}),dn0Schema.index({trang_thai:1}),dn0Schema.index({so_ct:"text",ma_kh:"text",ten_kh:"text",dien_giai:"text",ong_ba:"text"},{name:"dn0_index_text"}));
13
+ const model=mongoose.models.dn0||mongoose.model("dn0",dn0Schema);model.referenceKeys={_id:[{model:"pc1",key:"id_dn0",error:"Phi\u1ebfu n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n"}]};module.exports=model;
@@ -0,0 +1,11 @@
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},ton_kho:{type:Number,default:0},ton_toi_da:{type:Number,default:0},so_luong:{type:Number,default:0},gia:{type:Number,default:0},gia_nt:{type:Number,default:0},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},
2
+ tien_ck_nt:{type:Number,default:0},gia_von_nk:{type:Number,default:0},gia_von_nk_nt:{type:Number,default:0},tien_hang_nk:{type:Number,default:0},tien_hang_nk_nt:{type:Number,default:0},thue_suat_nk:{type:Number,default:0},tien_thue_nk:{type:Number,default:0},tien_thue_nk_nt:{type:Number,default:0},tt:{type:Number,default:0},tt_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},
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_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,
4
+ default:0}});detailSchema.validate={ma_kh:validator.existsKh,ma_vt:validVt.existsVt,ma_dvt:validator.existsDvt};
5
+ const dnmSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"DNM",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},
6
+ ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_kho:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ten_nv:{type:String,maxlength:400},ma_hd:{type:String,uppercase:!0,maxlength:32},ma_bp:{type:String,uppercase:!0,maxlength:32},id_bao_gia:{type:String,maxlength:1024},id_kehoachmh:{type:String,maxlength:1024},id_po1:{type:String,maxlength:1024},id_bg2:{type:String,maxlength:1024},id_vanchuyen:{type:String,maxlength:1024},id_shipbook:{type:String,
7
+ maxlength:1024},ma_thue:{type:String,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},ong_ba:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},exfields:Schema.Types.Mixed,dot_thanh_toan:[],phi_khac_nt:{type:Number,default:0},phi_khac:{type:Number,default:0},trang_thai:{type:String,maxlength:32},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},nguoi_lien_he:String,dien_thoai:String,
8
+ tinh_thanh:String,quan_huyen:String,xa_phuong:String,dia_chi:String,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]}});
9
+ dnmSchema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh};
10
+ (global.configs||{}).createIndexes&&(dnmSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),dnmSchema.index({dien_giai:"text",so_ct:"text",ma_kh:"text",ma_hd:"text"},{name:"dnm_index_text"}),dnmSchema.index({ma_ct:1}),dnmSchema.index({ma_kh:1}),dnmSchema.index({ma_hd:1}),dnmSchema.index({user_created:1,date_created:-1}),dnmSchema.index({date_updated:-1}),dnmSchema.index({id_po1:1}),dnmSchema.index({id_bg2:1}),dnmSchema.index({id_vanchuyen:1}),dnmSchema.index({id_shipbook:1}),dnmSchema.index({status:1}),
11
+ dnmSchema.index({user_created:1,visible_to:1,visible_to_users:1}),dnmSchema.index({trang_thai:1}));const model=mongoose.models.dnm||mongoose.model("dnm",dnmSchema);model.referenceKeys={_id:[{model:"pn1",key:"id_contract",error:"H\u1ee3p \u0111\u1ed3ng n\u00e0y \u0111\u00e3 nh\u1eadp h\u00e0ng"},{model:"pn9",key:"id_contract",error:"H\u1ee3p \u0111\u1ed3ng n\u00e0y \u0111\u00e3 nh\u1eadp h\u00e0ng"}]};module.exports=model;
@@ -0,0 +1,2 @@
1
+ const dokhoSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ten_dokho:{type:String,required:!0,maxlength:1024},thoi_gian_du_kien:{type:Number,default:1},diem_toi_thieu:{type:Number,default:0},diem_toi_da:Number,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(dokhoSchema.index({ten_dokho:"text"}),dokhoSchema.index({ten_dokho:1}),dokhoSchema.index({status:1}),dokhoSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dokho||mongoose.model("dokho",dokhoSchema);module.exports=model;
@@ -0,0 +1,2 @@
1
+ const domainSchema=new Schema({domain:{type:String,required:!0,maxlength:1024},not_allow:{type:Boolean,default:!1},points:Number,exfields:Schema.Types.Mixed,visible_to:{type:Number,default:0},visible_to_users:[String],status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(domainSchema.index({domain:1}),domainSchema.index({status:1}),domainSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.domain||mongoose.model("domain",domainSchema);module.exports=model;
@@ -0,0 +1,3 @@
1
+ const dvcsSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,uppercase:!0,maxlength:1024},ten_dvcs:{type:String,required:!0,maxlength:1024},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]});
2
+ (global.configs||{}).createIndexes&&(dvcsSchema.index({id_app:1,ma_dvcs:1},{unique:!0}),dvcsSchema.index({id_app:1,ten_dvcs:1}),dvcsSchema.index({id_app:1,status:1}),dvcsSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dvcs||mongoose.model("dvcs",dvcsSchema);
3
+ model.referenceKeys={_id:[{model:"sokho",key:"ma_dvcs",error:"\u0110\u01a1n v\u1ecb {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"cdvt",key:"ma_dvcs",error:"\u0110\u01a1n v\u1ecb {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"socai",key:"ma_dvcs",error:"\u0110\u01a1n v\u1ecb {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
@@ -0,0 +1,3 @@
1
+ const ecomcategoriesScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},status:{type:Boolean,default:!0},ma_danh_muc:String,ten_danh_muc:String,ma_nganh_hang:String,danh_muc_me:String,sysorder:String,bac:{type:Number},loai_nh:{type:Number,default:1},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(ecomcategoriesScheam.index({id_app:1}),ecomcategoriesScheam.index({id_app:1,status:1}),ecomcategoriesScheam.index({id_app:1,ma_danh_muc:1}),ecomcategoriesScheam.index({id_app:1,ten_danh_muc:1}),ecomcategoriesScheam.index({id_app:1,ma_nganh_hang:1}),ecomcategoriesScheam.index({id_app:1,danh_muc_me:1}),ecomcategoriesScheam.index({id_app:1,sysorder:1}),ecomcategoriesScheam.index({id_app:1,bac:1}),ecomcategoriesScheam.index({id_app:1,loai_nh:1}),ecomcategoriesScheam.index({user_created:1,
3
+ visible_to:1,visible_to_users:1}));module.exports=mongoose.models.ecomcategories||mongoose.model("ecomcategories",ecomcategoriesScheam);
@@ -0,0 +1,3 @@
1
+ const ecomcategoriesScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},status:{type:Boolean,default:!0},ma_danh_muc:String,ten_danh_muc:String,ma_nganh_hang:String,sysorder:String,danh_muc_me:String,bac:{type:Number},loai_nh:{type:Number,default:1},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(ecomcategoriesScheam.index({id_app:1}),ecomcategoriesScheam.index({status:1}),ecomcategoriesScheam.index({ma_danh_muc:1}),ecomcategoriesScheam.index({ten_danh_muc:1}),ecomcategoriesScheam.index({ma_nganh_hang:1}),ecomcategoriesScheam.index({danh_muc_me:1}),ecomcategoriesScheam.index({sysorder:1}),ecomcategoriesScheam.index({bac:1}),ecomcategoriesScheam.index({loai_nh:1}),ecomcategoriesScheam.index({id_app:1,ma_danh_muc:1},{unique:!0}),ecomcategoriesScheam.index({user_created:1,
3
+ visible_to:1,visible_to_users:1}));module.exports=mongoose.models.ecomcategories_cty||mongoose.model("ecomcategories_cty",ecomcategoriesScheam);
@@ -0,0 +1,2 @@
1
+ const ecomproductlinesScheam=new Schema({id_apps:[],ma_nganh_hang:String,ten_nganh_hang:String,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(ecomproductlinesScheam.index({id_apps:1}),ecomproductlinesScheam.index({status:1}),ecomproductlinesScheam.index({ten_nganh_hang:1}),ecomproductlinesScheam.index({ma_nganh_hang:1}),ecomproductlinesScheam.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.ecomproductlines||mongoose.model("ecomproductlines",ecomproductlinesScheam);
@@ -0,0 +1,2 @@
1
+ const ecompromotion_flashsalesScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(ecompromotion_flashsalesScheam.index({id_app:1}),ecompromotion_flashsalesScheam.index({status:1}),ecompromotion_flashsalesScheam.index({user_created:1,visible_to:1,visible_to_users:1}));
2
+ module.exports=mongoose.models.ecompromotion_flashsales||mongoose.model("ecompromotion_flashsales",ecompromotion_flashsalesScheam);
@@ -0,0 +1,2 @@
1
+ const ecompromotion_freeshipsScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(ecompromotion_freeshipsScheam.index({id_app:1}),ecompromotion_freeshipsScheam.index({status:1}),ecompromotion_freeshipsScheam.index({user_created:1,visible_to:1,visible_to_users:1}));
2
+ module.exports=mongoose.models.ecompromotion_freeships||mongoose.model("ecompromotion_freeships",ecompromotion_freeshipsScheam);
@@ -0,0 +1,2 @@
1
+ const emailSchema=new Schema({id_app:{type:String},subject:{type:String,required:!0},from:[],to:{type:String,required:!0},cc:String,bcc:String,content:{type:String,required:!0},attachments:[],app_info:Schema.Types.Mixed,id_ct:String,ma_ct:String,sent:Boolean,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(emailSchema.index({id_app:1}),emailSchema.index({id_app:1,subject:1}),emailSchema.index({id_app:1,to:1}),emailSchema.index({id_app:1,ma_ct:1,id_ct:1}),emailSchema.index({user_created:"text"}),emailSchema.index({date_created:-1}),emailSchema.index({user_created:1}),emailSchema.index({id_app:1,status:1}));const model=mongoose.models.email||mongoose.model("email",emailSchema);module.exports=model;
@@ -0,0 +1 @@
1
+ const endpointSchema=new global.Schema({ep_id:{type:String,required:!0},id_app:String,endpoint:{type:String,required:!0,maxlength:1024},user:{type:String,required:!0,lowercase:!0,maxlength:1024},userPublicKey:String,userAuth:String,app:String,date_created:{type:Date,default:Date.now}});(global.configs||{}).createIndexes&&(endpointSchema.index({user:1}),endpointSchema.index({id_app:1}));const model=global.mongoose.models.endpoint||global.mongoose.model("endpoint",endpointSchema);module.exports=model;
@@ -0,0 +1,3 @@
1
+ const eventsSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},title:{type:String,required:!0,maxlength:1024},content:{type:String},address:{type:String,maxlength:1024},location:Schema.Types.Mixed,date_from:{type:Date,required:!0},date_to:{type:Date,required:!0},price:{type:Number,default:0},picture:{type:String,maxlength:1024},other_pictures:[String],exfields:Schema.Types.Mixed,newsfeed:{type:Boolean,default:!0},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},
2
+ date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(eventsSchema.index({id_app:1,date_from:1,date_to:1}),eventsSchema.index({date_updated:-1}),eventsSchema.index({date_created:-1}),eventsSchema.index({user_created:1}),eventsSchema.index({title:1}),eventsSchema.index({content:1}),eventsSchema.index({address:1}),eventsSchema.index({title:"text",content:"text",address:"text"}),eventsSchema.index({status:1}));
3
+ const model=mongoose.models.events||mongoose.model("events",eventsSchema);module.exports=model;
@@ -0,0 +1,5 @@
1
+ const evoucherSchema=new Schema({user:{type:String,lowercase:!0,maxlength:1024},ma:{type:String,required:!0,uppercase:!0,maxlength:32},ten:{type:String,required:!0,maxlength:1024},service_codes:[String],product_codes:[String],ma_nvts:[String],nh_khs:[String],hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},gt_don_hang_toi_thieu:Number,so_tien:{type:Number,default:0},ty_le:{type:Number,default:0},so_tien_max:{type:Number,default:0},so_lan_sd:{type:Number,default:1},vts:[],sl_toi_thieu:{type:Number,
2
+ default:0},online:{type:Boolean},offline:{type:Boolean},for_sell:{type:Boolean},id_sell:String,id_app:{type:String,required:!0,maxlength:1024},id_ct_created:{type:String,maxlength:1024},id_ct_used:{type:String,maxlength:1024},id_ct_useds:[],ghi_chu:{type:String,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,
3
+ default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});
4
+ (global.configs||{}).createIndexes&&(evoucherSchema.index({online:1}),evoucherSchema.index({offline:1}),evoucherSchema.index({id_app:1,user:1}),evoucherSchema.index({id_app:1,ma:1},{unique:!0}),evoucherSchema.index({ten:1}),evoucherSchema.index({ma:"text",ten:"text"}),evoucherSchema.index({for_sell:1}),evoucherSchema.index({id_sell:1}),evoucherSchema.index({status:1}),evoucherSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.model("evoucher",evoucherSchema);
5
+ module.exports=model;
@@ -0,0 +1,2 @@
1
+ const experiencejourneySchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},title:{type:String,required:!0,maxlength:1024},stt:Number,color:{type:String,maxlength:32},picture:{type:String,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:""}});
2
+ (global.configs||{}).createIndexes&&(experiencejourneySchema.index({id_app:1}),experiencejourneySchema.index({group_id:1}),experiencejourneySchema.index({title:"text"}),experiencejourneySchema.index({status:1}),experiencejourneySchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.experiencejourney||mongoose.model("experiencejourney",experiencejourneySchema);module.exports=model;
@@ -0,0 +1,4 @@
1
+ const {Schema}=require("mongoose"),stageDataSchema=new Schema({id_stage:{type:String,required:!0,maxlength:1024},data:Schema.Types.Mixed}),experiencejourneydataSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_journey:{type:String,required:!0,maxlength:1024},id_persona:{type:String,required:!0,maxlength:1024},title:{type:String,required:!0,maxlength:2048},type:{type:String,required:!0,maxlength:128},stages:[stageDataSchema],exfields:Schema.Types.Mixed,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:""}});
3
+ (global.configs||{}).createIndexes&&(stageDataSchema.index({id_stage:1}),experiencejourneydataSchema.index({id_app:1}),experiencejourneydataSchema.index({id_journey:1}),experiencejourneydataSchema.index({id_persona:1}),experiencejourneydataSchema.index({type:1}),experiencejourneydataSchema.index({title:"text"}),experiencejourneydataSchema.index({status:1}),experiencejourneydataSchema.index({user_created:1,visible_to:1,visible_to_users:1}));
4
+ const model=mongoose.models.experiencejourneydata||mongoose.model("experiencejourneydata",experiencejourneydataSchema);module.exports=model;
@@ -0,0 +1,3 @@
1
+ const {Schema}=require("mongoose"),experiencejourneypersonaSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_journey:{type:String,required:!0,maxlength:1024},name:{type:String,required:!0,maxlength:1024},ma_kh:{type:String,maxlength:1024},ten_kh:String,color:{type:String,maxlength:32},picture:{type:String,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,
2
+ default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(experiencejourneypersonaSchema.index({id_app:1}),experiencejourneypersonaSchema.index({id_journey:1}),experiencejourneypersonaSchema.index({ma_kh:1}),experiencejourneypersonaSchema.index({name:"text",ten_kh:"text",ma_kh:"text"}),experiencejourneypersonaSchema.index({status:1}),experiencejourneypersonaSchema.index({user_created:1,visible_to:1,visible_to_users:1}));
3
+ const model=mongoose.models.experiencejourneypersona||mongoose.model("experiencejourneypersona",experiencejourneypersonaSchema);module.exports=model;
@@ -0,0 +1,2 @@
1
+ const experiencejourneystageSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_journey:{type:String,required:!0,maxlength:1024},title:{type:String,required:!0,maxlength:1024},stt:Number,color:{type:String,maxlength:32},picture:{type:String,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:""}});
2
+ (global.configs||{}).createIndexes&&(experiencejourneystageSchema.index({id_app:1}),experiencejourneystageSchema.index({id_journey:1}),experiencejourneystageSchema.index({title:"text"}),experiencejourneystageSchema.index({status:1}),experiencejourneystageSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.experiencejourneystage||mongoose.model("experiencejourneystage",experiencejourneystageSchema);module.exports=model;
@@ -0,0 +1,2 @@
1
+ const exportexceltemplateSchema=new Schema({stt:Number,code:{type:String,uppercase:!0,required:!0,maxlength:32},title:{type:String,required:!0,maxlength:1024},file:String,id_company:String,handle_data:String,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(exportexceltemplateSchema.index({code:1}),exportexceltemplateSchema.index({id_company:1}),exportexceltemplateSchema.index({title:"text",code:"text"}),exportexceltemplateSchema.index({status:1}),exportexceltemplateSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.exportexceltemplate||mongoose.model("exportexceltemplate",exportexceltemplateSchema);module.exports=model;
@@ -0,0 +1,15 @@
1
+ const axios=require("axios"),async=require("async"),fbconversationSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},page_id:{type:String,required:!0,maxlength:1024},id:String,link:String,updated_time:Date,with:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(fbconversationSchema.index({id_app:1,page_id:1,id:1},{unique:!0}),fbconversationSchema.index({id_app:1,page_id:1,updated_time:-1}),fbconversationSchema.index({id_app:1,page_id:1,"with.id":1}),fbconversationSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,updated_time:-1}),fbconversationSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,page_id:1,updated_time:-1}),fbconversationSchema.index({id_app:1,user_created:1,visible_to:1,
3
+ visible_to_users:1,page_id:1,"with.id":1,updated_time:-1}),fbconversationSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,page_id:1,id:1,updated_time:-1}));const model=mongoose.models.fbconversation||mongoose.model("fbconversation",fbconversationSchema);
4
+ model.getConversations=async($id_app$$,$page_id$$,$page_access_token$$,$user_id$$)=>new Promise(($resolve$$,$reject$$)=>{let $url$$=`https://graph.facebook.com/${$page_id$$}/conversations/?platform=messenger&access_token=${$page_access_token$$}`;$user_id$$&&($url$$=`${$url$$}&user_id=${$user_id$$}`);let $rs$$=[],$next_page$$;async.forever($next$$=>{setImmediate(()=>{$next_page$$&&Logger.info("sync next page",$next_page$$);axios.request({method:"get",maxBodyLength:Infinity,url:$next_page$$?$next_page$$:
5
+ $url$$,headers:{}}).then($response$$=>{const $convs$$=($response$$.data||{}).data||[];$next_page$$=(($response$$.data||{}).paging||{}).next;$rs$$=[...$rs$$,...$convs$$];$next$$($next_page$$?void 0:"end")}).catch($error$$=>{$next$$($error$$)})})},async $error$$=>{if($error$$!="end")return $reject$$({error:$error$$});try{for(let $c$$ of $rs$$){await global.getModel("fbconversation").findOne({id_app:$id_app$$,page_id:$page_id$$,id:$c$$.id},{id:1})||($c$$.page_id=$page_id$$,$c$$.id_app=$id_app$$,await global.getModel("fbconversation").create($c$$));
6
+ $c$$.messages=await global.getModel("fbconversation").sync($id_app$$,$page_id$$,$c$$.id);if($c$$.messages.length>0){let $m$$=$c$$.messages[0],$customer$$;if($customer$$=$m$$.from?.id!==$page_id$$?$m$$.from:$m$$.to?.data?.[0])$c$$.customer_info=$customer$$,$c$$.customer_info.fb_id=$customer$$.id,($c$$.customer_info.email||"").endsWith("@facebook.com")&&delete $c$$.customer_info.email;$c$$.messages=($c$$.messages||[]).map($m$$=>({[$m$$.from?.id===$page_id$$?"company":"customer"]:$m$$.message}))}$c$$.conversation_id=
7
+ $c$$.id;$c$$.page_id=$page_id$$;delete $c$$.id;delete $c$$.link}}catch($e$$){return $reject$$($e$$)}$resolve$$($rs$$)})});
8
+ model.getConvByUserId=async($id_app$$,$page_id$$,$page_access_token$$,$user_id$$)=>{let $conv$$=await global.getModel("fbconversation").findOne({id_app:$id_app$$,"with.id":$user_id$$}).lean();if($conv$$)return $conv$$;let $config$$={method:"get",maxBodyLength:Infinity,url:`https://graph.facebook.com/${$page_id$$}/conversations/?platform=messenger&access_token=${$page_access_token$$}&user_id=${$user_id$$}`,headers:{}};return new Promise(($rs$$,$rj$$)=>{axios.request($config$$).then(async $convs$jscomp$1_response$$=>
9
+ {$convs$jscomp$1_response$$=($convs$jscomp$1_response$$.data||[]).data||[];if($convs$jscomp$1_response$$.length>0){$conv$$=$convs$jscomp$1_response$$[0];$conv$$.id_app=$id_app$$;$conv$$.page_id=$page_id$$;try{await model.create($conv$$),Logger.info("created conversation",$conv$$)}catch($e$$){Logger.error("Kh\u00f4ng th\u1ec3 l\u01b0u facebook conversation",$e$$,$conv$$)}return $rs$$($conv$$)}$rj$$("Kh\u00f4ng tim th\u1ea5y cu\u1ed9c h\u1ed9i tho\u1ea1i v\u1edbi user n\u00e0y")}).catch($e$$=>{$rj$$($e$$)})})};
10
+ model.getMessage=async($id_app$$,$page_id$$,$conv_id$$,$page_access_token$$,$id$$,$conv$$)=>{let $ex$$=await global.getModel("fbmessage").findOne({id_app:$id_app$$,page_id:$page_id$$,conv_id:$conv_id$$,id:$id$$}).lean();if($ex$$)return $ex$$;$conv$$||=await model.findOne({id_app:$id_app$$,page_id:$page_id$$,id:$conv_id$$});let $config$$={method:"get",maxBodyLength:Infinity,url:`https://graph.facebook.com/${$id$$}/?&access_token=${$page_access_token$$}&fields=id,created_time,from,to,message,attachments`,
11
+ headers:{}};return new Promise(($resolve$$,$reject$$)=>{axios.request($config$$).then(async $c$jscomp$1_response$$=>{$c$jscomp$1_response$$=$c$jscomp$1_response$$.data;$c$jscomp$1_response$$.page_id=$page_id$$;$c$jscomp$1_response$$.id_app=$id_app$$;$c$jscomp$1_response$$.conv_id=$conv_id$$;try{if(await global.getModel("fbmessage").create($c$jscomp$1_response$$),$conv$$&&!$conv$$.with){let $chat_with$$;if($chat_with$$=$c$jscomp$1_response$$.from?.id!==$page_id$$?$c$jscomp$1_response$$.from:$c$jscomp$1_response$$.to.data[0])$conv$$.with=
12
+ $chat_with$$,await $conv$$.save()}}catch($e$$){Logger.error("can't sync fb message",$e$$)}$reject$$(null,$c$jscomp$1_response$$)}).catch($e$$=>{$resolve$$($e$$)})})};
13
+ model.sync=async($id_app$$,$page_id$$,$conv_id$$,$page_access_token$$)=>{if(!$page_access_token$$){const $pageInfo$$=await global.getModel("fbpage").findOne({id_app:$id_app$$,page_id:$page_id$$}).lean();if(!$pageInfo$$)throw"Kh\u00f4ng t\u00ecm th\u1ea5y th\u00f4ng tin trang n\u00e0y";$page_access_token$$=$pageInfo$$.page_access_token}const $conv$$=await model.findOne({id_app:$id_app$$,page_id:$page_id$$,id:$conv_id$$});Logger.info("sync conversation",{page_id:$page_id$$,conv_id:$conv_id$$});return new Promise(($resole$$,
14
+ $reject$$)=>{let $rs$$=[],$next_page$$;async.forever($next$$=>{setImmediate(()=>{axios.request({method:"get",maxBodyLength:Infinity,url:$next_page$$?$next_page$$:`https://graph.facebook.com/${$conv_id$$}/?&access_token=${$page_access_token$$}&fields=messages`,headers:{}}).then(async $response$$=>{const $ms$$=(($response$$.data||{}).messages||{}).data||[];$next_page$$=((($response$$.data||{}).messages||{}).paging||{}).next;async.map($ms$$,($m$$,$cb$$)=>{setImmediate(()=>{model.getMessage($id_app$$,
15
+ $page_id$$,$conv_id$$,$page_access_token$$,$m$$.id,$conv$$).then(async $c$$=>{$cb$$(null,$c$$)}).catch($e$$=>{$cb$$($e$$)})})},($e$$,$_ms$$)=>{if($e$$)return $next$$($e$$);$rs$$=[...$rs$$,...$_ms$$];$next$$($next_page$$?void 0:"end")})}).catch($error$$=>{$next$$($error$$)})})},$error$$=>{if($error$$!=="end")return $reject$$($error$$);$resole$$($rs$$.sort(($a$$,$b$$)=>(new Date($a$$.created_time)).getTime()-(new Date($b$$.created_time)).getTime()))})})};module.exports=model;
@@ -0,0 +1,2 @@
1
+ const fbmessageSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},page_id:{type:String,required:!0,maxlength:1024},conv_id:{type:String,required:!0,maxlength:1024},id:String,created_time:Date,from:{},to:{},message:String,attachments:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(fbmessageSchema.index({id_app:1,page_id:1,conv_id:1,id:1},{unique:!0}),fbmessageSchema.index({id_app:1,page_id:1,conv_id:1,created_time:-1}),fbmessageSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,page_id:1,conv_id:1,created_time:-1}),fbmessageSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,page_id:1,conv_id:1,id:1}));const model=mongoose.models.fbmessage||mongoose.model("fbmessage",fbmessageSchema);module.exports=model;
@@ -0,0 +1,2 @@
1
+ const fbpageSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},page_id:{type:String,required:!0,maxlength:1024},page_title:{type:String},page_access_token:{type:String},page_logo:String,verify_token:String,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(fbpageSchema.index({id_app:1,page_id:1}),fbpageSchema.index({id_app:1,status:1}),fbpageSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,page_id:1}),fbpageSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,page_id:1,page_title:1}));const model=mongoose.models.fbpage||mongoose.model("fbpage",fbpageSchema);module.exports=model;
@@ -0,0 +1,2 @@
1
+ const fbpostSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},title:String,page_id:{type:String,maxlength:1024},post_id:String,message:String,link:String,image_url:String,video_url:String,published:Boolean,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(fbpostSchema.index({id_app:1,page_id:1,post_id:1}),fbpostSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,page_id:1}),fbpostSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,page_id:1,id:1}));const model=mongoose.models.fbpost||mongoose.model("fbpost",fbpostSchema);module.exports=model;
@@ -0,0 +1,2 @@
1
+ const fieldrightScheam=new Schema({ma_ct:{type:String,required:!0,uppercase:!0,maxlength:32},field_name:{type:String,required:!0,maxlength:1024},title:{type:String,required:!0,maxlength:1024},title_en:{type:String,maxlength:1024},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
2
+ (global.configs||{}).createIndexes&&(fieldrightScheam.index({email:1,id_app:1,module:1}),fieldrightScheam.index({status:1}),fieldrightScheam.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.fieldright||mongoose.model("fieldright",fieldrightScheam);
@@ -0,0 +1,2 @@
1
+ const mongoose=require("mongoose"),{Schema}=mongoose,FifoDkSchema=new Schema({id_app:{type:String,required:!0,index:!0},ma_vt:{type:String,required:!0},ma_kho:{type:String,default:null},nam:{type:Number,required:!0},thang_bat_dau:{type:Number,required:!0},ngay_nhap:{type:Date,required:!0},sl_con:{type:Number,required:!0,min:0},gia:{type:Number,required:!0,min:0},tien_con:{type:Number,default:0},ma_dvt:{type:String,default:""},he_so_qd:{type:Number,default:1},so_ct_goc:{type:String,default:""},ghi_chu:{type:String,
2
+ default:""},da_su_dung:{type:Boolean,default:!1},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});FifoDkSchema.index({id_app:1,ma_vt:1,ma_kho:1,nam:1,thang_bat_dau:1},{name:"idx_fifo_dk_lookup"});FifoDkSchema.index({id_app:1,ma_vt:1,ma_kho:1,ngay_nhap:1},{name:"idx_fifo_dk_queue"});module.exports=mongoose.model("fifo_dk",FifoDkSchema);
@@ -0,0 +1,3 @@
1
+ const mongoose=require("mongoose"),{Schema}=mongoose,FifoLotSchema=new Schema({id_app:{type:String,required:!0,index:!0},ma_vt:{type:String,required:!0},ma_kho:{type:String,default:null},ma_lo:{type:String,default:null},ma_tt1:{type:String,default:null},ma_tt2:{type:String,default:null},ma_tt3:{type:String,default:null},id_sokho:{type:Schema.Types.ObjectId,required:!0},id_ct:{type:Schema.Types.ObjectId,required:!0},ma_ct:{type:String,required:!0},so_ct:{type:String,default:""},ngay_nhap:{type:Date,
2
+ required:!0},sl_nhap:{type:Number,default:0},sl_da_xuat:{type:Number,default:0},sl_con:{type:Number,default:0},gia:{type:Number,default:0},tien_nhap:{type:Number,default:0},tien_con:{type:Number,default:0},ma_dvt:{type:String,default:""},he_so_qd:{type:Number,default:1},nam:{type:Number},thang:{type:Number},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
3
+ FifoLotSchema.index({id_app:1,ma_vt:1,ma_kho:1,ma_lo:1,ma_tt1:1,ma_tt2:1,ma_tt3:1,ngay_nhap:1,id_sokho:1},{name:"idx_fifo_queue"});FifoLotSchema.index({id_app:1,ma_vt:1,ma_kho:1,ma_lo:1,ma_tt1:1,ma_tt2:1,ma_tt3:1},{name:"idx_fifo_delete"});FifoLotSchema.index({id_app:1,ma_vt:1,sl_con:1},{name:"idx_fifo_con_ton"});module.exports=mongoose.model("fifo_lot",FifoLotSchema);
@@ -0,0 +1,4 @@
1
+ const mongoose=require("mongoose"),{Schema}=mongoose,FifoTraceSchema=new Schema({id_app:{type:String,required:!0},ma_vt:{type:String,required:!0},ma_kho:{type:String,default:null},nam:{type:Number,required:!0},thang:{type:Number,required:!0},ma_lo:{type:String,default:null},ma_tt1:{type:String,default:null},ma_tt2:{type:String,default:null},ma_tt3:{type:String,default:null},id_fifo_lot:{type:Schema.Types.ObjectId,required:!0},id_sokho_nhap:{type:Schema.Types.ObjectId,default:null},id_ct_nhap:{type:Schema.Types.ObjectId,
2
+ default:null},ma_ct_nhap:{type:String,default:""},so_ct_nhap:{type:String,default:""},ngay_nhap:{type:Date,required:!0},gia_nhap:{type:Number,default:0},id_ct_xuat:{type:Schema.Types.ObjectId,required:!0},ma_ct_xuat:{type:String,required:!0},so_ct_xuat:{type:String,default:""},ngay_xuat:{type:Date,required:!0},detail_index:{type:Number,required:!0,min:0},sl_xuat_lo:{type:Number,required:!0},gia_von:{type:Number,required:!0},tien_xuat_lo:{type:Number,default:0},sl_lo_truoc_xuat:{type:Number,default:0},
3
+ sl_lo_sau_xuat:{type:Number,default:0},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});FifoTraceSchema.index({id_app:1,id_fifo_lot:1,ngay_xuat:1},{name:"idx_trace_by_lot"});FifoTraceSchema.index({id_app:1,id_ct_xuat:1,detail_index:1},{name:"idx_trace_by_ct_xuat"});
4
+ FifoTraceSchema.index({id_app:1,ma_vt:1,ma_kho:1,ma_lo:1,ma_tt1:1,ma_tt2:1,ma_tt3:1,nam:1,thang:1},{name:"idx_trace_by_group_ky"});FifoTraceSchema.index({id_app:1,id_ct_xuat:1},{name:"idx_trace_delete"});module.exports=mongoose.model("fifo_trace",FifoTraceSchema);
@@ -0,0 +1,4 @@
1
+ const fileSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},file:{},stt:Number,id_link:String,id_folder:String,collection_link:String,group:{type:String,default:"document"},mieu_ta:{type:String,maxlength:1024},nh_file:{type:String,maxlength:1024},title_topic:{type:String,maxlength:1024},url_topic:{type:String,maxlength:1024},server:String,refresh_token:String,account:String,meta:{},is_avatar:{type:Boolean},read_image:Boolean,text_from_image:String,shared:{type:Boolean},visible_to:{type:Number,
2
+ default:0},visible_to_users:[String],visible_to_usergroups:[String],update_right:[String],delete_right:[String],status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
3
+ (global.configs||{}).createIndexes&&(fileSchema.index({id_app:1,id_link:1}),fileSchema.index({id_app:1,stt:1}),fileSchema.index({id_app:1,shared:1}),fileSchema.index({id_app:1,group:1}),fileSchema.index({id_folder:1}),fileSchema.index({id_app:1,id_folder:1}),fileSchema.index({id_app:1,collection_link:1}),fileSchema.index({id_app:1,id_link:1,"file.extension":1,"file.url":1}),fileSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),fileSchema.index({id_app:1,user_created:1,visible_to:1,
4
+ visible_to_users:1,id_folder:1}),fileSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,id_link:1,"file.extension":1,"file.url":1}),fileSchema.index({id_app:1,mieu_ta:"text",text_from_image:"text","file.name":"text","file.originalname":"text"}));module.exports=mongoose.models.file||mongoose.model("file",fileSchema);