flexbiz-server 12.0.5 → 12.0.8

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 (1183) hide show
  1. package/package.json +1 -1
  2. package/server/controllers/controller.js +34 -33
  3. package/server/global.js +5 -4
  4. package/server/libs/dkvt.js +4 -4
  5. package/server/libs/initDatabase.js +2 -2
  6. package/server/libs/permission.js +11 -11
  7. package/server/libs/prototypes.js +5 -5
  8. package/server/libs/thnxt.js +6 -6
  9. package/server/models/approve.js +2 -2
  10. package/server/models/cart.js +3 -3
  11. package/server/models/listinfo.js +13 -13
  12. package/server/models/otp.js +1 -1
  13. package/server/models/participant.js +3 -1
  14. package/server/models/pxk.js +1 -1
  15. package/server/models/sokho.js +4 -4
  16. package/server/models/sokhocapphat.js +3 -3
  17. package/server/models/sokhokhongton.js +4 -3
  18. package/server/models/sokhott.js +4 -4
  19. package/server/models/trangthai.js +2 -2
  20. package/server/modules/lists/ls-asscashwithdraw.js +5 -5
  21. package/server/modules/lists/ls-cart.js +9 -9
  22. package/server/modules/reports/rp-getdinhmuc4lenhcp.js +2 -2
  23. package/server/modules/reports/rp-getdinhmuc4pxk.js +6 -4
  24. package/server/modules/reports/rp-referredusers.js +1 -0
  25. package/server/route.js +26 -26
  26. package/server/workers/sendEmail.js +7 -7
  27. package/src/actions/mailtemplate.js +0 -142
  28. package/src/actions/schedule.js +0 -23
  29. package/src/app.js +0 -313
  30. package/src/auths/bearer.js +0 -23
  31. package/src/auths/facebook.js +0 -227
  32. package/src/auths/google.js +0 -238
  33. package/src/auths/local.js +0 -676
  34. package/src/cluster.js +0 -196
  35. package/src/compile.js +0 -315
  36. package/src/configs.js +0 -2
  37. package/src/controllers/controller.js +0 -5965
  38. package/src/controllers/controllerRPT.js +0 -698
  39. package/src/data/account.js +0 -479
  40. package/src/data/ckgtluong.js +0 -79
  41. package/src/data/currency.js +0 -4
  42. package/src/data/dmdvt.js +0 -54
  43. package/src/data/dmkho.js +0 -3
  44. package/src/data/dvcs.js +0 -3
  45. package/src/data/kbm_bcdkt.js +0 -4843
  46. package/src/data/kbm_kqhdkd.js +0 -655
  47. package/src/data/kbm_lcttgt.js +0 -2386
  48. package/src/data/kbm_lctttt.js +0 -934
  49. package/src/data/kbm_tkgtgt.js +0 -560
  50. package/src/data/parameter.js +0 -178
  51. package/src/data/ptthanhtoan.js +0 -3
  52. package/src/data/rpt.js +0 -123
  53. package/src/data/rptobject.js +0 -9
  54. package/src/data/sys/labelinfo.js +0 -1
  55. package/src/data/sys/listinfo.js +0 -73459
  56. package/src/data/sys/quanhuyen.js +0 -9928
  57. package/src/data/sys/reportinfo.js +0 -1751
  58. package/src/data/sys/tableinfo.js +0 -5873
  59. package/src/data/sys/templatestore.js +0 -1988
  60. package/src/data/sys/tinhthanh.js +0 -821
  61. package/src/data/sys/trangthai.js +0 -4467
  62. package/src/data/tc.js +0 -5
  63. package/src/data/usergroup.js +0 -42
  64. package/src/data/vat.js +0 -6
  65. package/src/defaultConfigs.js +0 -158
  66. package/src/global.js +0 -285
  67. package/src/images/avatar.jpg +0 -0
  68. package/src/images/others/noimage.png +0 -0
  69. package/src/images/picture.png +0 -0
  70. package/src/libs/BlockchainTransactionPool.js +0 -44
  71. package/src/libs/WorkerPool.js +0 -61
  72. package/src/libs/WorkerStaticPool.js +0 -68
  73. package/src/libs/backup.js +0 -31
  74. package/src/libs/blockchainconnect.js +0 -728
  75. package/src/libs/cdpsdiem.js +0 -108
  76. package/src/libs/cdpsdt.js +0 -158
  77. package/src/libs/cdpskh.js +0 -176
  78. package/src/libs/cdpstk.js +0 -202
  79. package/src/libs/ckcn.js +0 -191
  80. package/src/libs/ckdiem.js +0 -132
  81. package/src/libs/ckdt.js +0 -114
  82. package/src/libs/cktk.js +0 -70
  83. package/src/libs/cktt.js +0 -169
  84. package/src/libs/ckvt.js +0 -239
  85. package/src/libs/ckvtcapphat.js +0 -158
  86. package/src/libs/ckvttt.js +0 -245
  87. package/src/libs/ctdiem.js +0 -120
  88. package/src/libs/ctvt.js +0 -127
  89. package/src/libs/ctvttt.js +0 -127
  90. package/src/libs/databanle.js +0 -304
  91. package/src/libs/dkcn.js +0 -225
  92. package/src/libs/dkdiem.js +0 -126
  93. package/src/libs/dkdt.js +0 -115
  94. package/src/libs/dktk.js +0 -76
  95. package/src/libs/dktt.js +0 -172
  96. package/src/libs/dkvt.js +0 -129
  97. package/src/libs/dkvttt.js +0 -128
  98. package/src/libs/dncn.js +0 -142
  99. package/src/libs/dntk.js +0 -80
  100. package/src/libs/dntt.js +0 -126
  101. package/src/libs/dstkcn.js +0 -15
  102. package/src/libs/dstktt.js +0 -15
  103. package/src/libs/email.js +0 -28
  104. package/src/libs/excel.js +0 -19
  105. package/src/libs/getGiaban.js +0 -448
  106. package/src/libs/getGiabanAsync.js +0 -9
  107. package/src/libs/getNotifies.js +0 -3
  108. package/src/libs/htmlReport.js +0 -78
  109. package/src/libs/initDatabase.js +0 -82
  110. package/src/libs/load-template.js +0 -32
  111. package/src/libs/mailmanagement.js +0 -303
  112. package/src/libs/mongooseDeletePost.js +0 -31
  113. package/src/libs/mongooseLeanId.js +0 -59
  114. package/src/libs/onepay-payment.js +0 -74
  115. package/src/libs/parse-template.js +0 -48
  116. package/src/libs/permission.js +0 -427
  117. package/src/libs/phanbokh.js +0 -26
  118. package/src/libs/post-book.js +0 -202
  119. package/src/libs/post-book_bk.js +0 -283
  120. package/src/libs/post-socai.js +0 -175
  121. package/src/libs/post-socai_bk.js +0 -282
  122. package/src/libs/prototypes.js +0 -535
  123. package/src/libs/psdt.js +0 -30
  124. package/src/libs/pskh.js +0 -17
  125. package/src/libs/pstk.js +0 -31
  126. package/src/libs/redis-cache.js +0 -150
  127. package/src/libs/restore.js +0 -21
  128. package/src/libs/schedule.js +0 -518
  129. package/src/libs/syncSQL.js +0 -128
  130. package/src/libs/textReport.js +0 -61
  131. package/src/libs/thnxt.js +0 -145
  132. package/src/libs/thnxttt.js +0 -138
  133. package/src/libs/tinhGtCapnhatPNK.js +0 -105
  134. package/src/libs/tinhGtPhanboSltp.js +0 -131
  135. package/src/libs/tinhGtPhanboYtcp.js +0 -184
  136. package/src/libs/tinhGtSltk.js +0 -149
  137. package/src/libs/tinhGtThcppstk.js +0 -150
  138. package/src/libs/tinhGtTrucTiep.js +0 -118
  139. package/src/libs/tinhGtXoa.js +0 -35
  140. package/src/libs/tinhgiatb.js +0 -568
  141. package/src/libs/tinhgiatb1vt.js +0 -69
  142. package/src/libs/tinhkhauhao1ts.js +0 -178
  143. package/src/libs/tinhkhauhaots.js +0 -100
  144. package/src/libs/utils.js +0 -551
  145. package/src/libs/validate.js +0 -73
  146. package/src/libs/validator-acc-cust.js +0 -17
  147. package/src/libs/validator-account.js +0 -62
  148. package/src/libs/validator-vt.js +0 -28
  149. package/src/libs/validator.js +0 -136
  150. package/src/libs/vsocai.js +0 -155
  151. package/src/log/access.log +0 -0
  152. package/src/maps-demo/participant.js +0 -18
  153. package/src/menu.js +0 -521
  154. package/src/models/account.js +0 -72
  155. package/src/models/app.js +0 -197
  156. package/src/models/approve.js +0 -526
  157. package/src/models/area.js +0 -120
  158. package/src/models/assbuy.js +0 -48
  159. package/src/models/asscashwithdraw.js +0 -55
  160. package/src/models/assinvestment.js +0 -181
  161. package/src/models/asskey.js +0 -32
  162. package/src/models/assneedtobuy.js +0 -66
  163. package/src/models/assperiod.js +0 -78
  164. package/src/models/assproduct.js +0 -67
  165. package/src/models/assprofitsharing.js +0 -48
  166. package/src/models/assreceiver.js +0 -30
  167. package/src/models/assrequest.js +0 -63
  168. package/src/models/asssell.js +0 -69
  169. package/src/models/asstransfer.js +0 -54
  170. package/src/models/asswithdraw.js +0 -47
  171. package/src/models/attend.js +0 -20
  172. package/src/models/bangtinhluong.js +0 -92
  173. package/src/models/base.js +0 -12
  174. package/src/models/bg1.js +0 -87
  175. package/src/models/bg2.js +0 -116
  176. package/src/models/block.js +0 -93
  177. package/src/models/building.js +0 -122
  178. package/src/models/calllog.js +0 -48
  179. package/src/models/campaign.js +0 -102
  180. package/src/models/cart.js +0 -107
  181. package/src/models/cddiem.js +0 -20
  182. package/src/models/cddt.js +0 -36
  183. package/src/models/cdkh.js +0 -47
  184. package/src/models/cdtk.js +0 -35
  185. package/src/models/cdvt.js +0 -43
  186. package/src/models/chamcong.js +0 -26
  187. package/src/models/checkin.js +0 -25
  188. package/src/models/checkinactivity.js +0 -35
  189. package/src/models/checkinkpi.js +0 -39
  190. package/src/models/chitieukpi.js +0 -39
  191. package/src/models/chudethaoluan.js +0 -32
  192. package/src/models/ckgtluong.js +0 -24
  193. package/src/models/colleague.js +0 -22
  194. package/src/models/comment.js +0 -55
  195. package/src/models/congdoansx.js +0 -35
  196. package/src/models/congtacvien.js +0 -57
  197. package/src/models/consultant.js +0 -47
  198. package/src/models/contract.js +0 -79
  199. package/src/models/counter.js +0 -20
  200. package/src/models/ctds.js +0 -69
  201. package/src/models/currency.js +0 -34
  202. package/src/models/customer.js +0 -361
  203. package/src/models/datlich.js +0 -53
  204. package/src/models/department.js +0 -47
  205. package/src/models/dh2.js +0 -159
  206. package/src/models/diagram.js +0 -33
  207. package/src/models/dinhmucsx.js +0 -93
  208. package/src/models/dkhoc.js +0 -53
  209. package/src/models/dmban.js +0 -36
  210. package/src/models/dmbp.js +0 -90
  211. package/src/models/dmca.js +0 -28
  212. package/src/models/dmchietkhau.js +0 -213
  213. package/src/models/dmchietkhauhd.js +0 -157
  214. package/src/models/dmcpmh.js +0 -18
  215. package/src/models/dmdiemthuong.js +0 -126
  216. package/src/models/dmdoi.js +0 -44
  217. package/src/models/dmdoituongdanhgia.js +0 -23
  218. package/src/models/dmdt.js +0 -104
  219. package/src/models/dmdvt.js +0 -30
  220. package/src/models/dmgiaban.js +0 -106
  221. package/src/models/dmgiamua.js +0 -81
  222. package/src/models/dmkc.js +0 -38
  223. package/src/models/dmkho.js +0 -101
  224. package/src/models/dmkhuyenmai.js +0 -95
  225. package/src/models/dmkhuyenmaihd.js +0 -75
  226. package/src/models/dmletet.js +0 -64
  227. package/src/models/dmlo.js +0 -33
  228. package/src/models/dmloaicong.js +0 -36
  229. package/src/models/dmloaitask.js +0 -20
  230. package/src/models/dmloaits.js +0 -19
  231. package/src/models/dmnghiepvu.js +0 -25
  232. package/src/models/dmnguonvon.js +0 -19
  233. package/src/models/dmnhnv.js +0 -48
  234. package/src/models/dmnv.js +0 -224
  235. package/src/models/dmnvt.js +0 -43
  236. package/src/models/dmphatdichvu.js +0 -117
  237. package/src/models/dmphi.js +0 -27
  238. package/src/models/dmqct.js +0 -31
  239. package/src/models/dmqddvt.js +0 -28
  240. package/src/models/dmtanggiamts.js +0 -29
  241. package/src/models/dmto.js +0 -42
  242. package/src/models/dmtt.js +0 -42
  243. package/src/models/dmvt.js +0 -217
  244. package/src/models/dmyt.js +0 -103
  245. package/src/models/dn0.js +0 -465
  246. package/src/models/dnm.js +0 -132
  247. package/src/models/dokho.js +0 -21
  248. package/src/models/dvcs.js +0 -31
  249. package/src/models/ecomcategories.js +0 -12
  250. package/src/models/ecompromotion_flashsales.js +0 -12
  251. package/src/models/ecompromotion_freeships.js +0 -12
  252. package/src/models/endpoint.js +0 -11
  253. package/src/models/events.js +0 -72
  254. package/src/models/evoucher.js +0 -66
  255. package/src/models/experiencejourney.js +0 -22
  256. package/src/models/experiencejourneydata.js +0 -32
  257. package/src/models/experiencejourneypersona.js +0 -26
  258. package/src/models/experiencejourneystage.js +0 -23
  259. package/src/models/exportexceltemplate.js +0 -22
  260. package/src/models/fieldright.js +0 -17
  261. package/src/models/file.js +0 -32
  262. package/src/models/financialroadmap.js +0 -45
  263. package/src/models/floor.js +0 -79
  264. package/src/models/floordetail.js +0 -172
  265. package/src/models/follow.js +0 -26
  266. package/src/models/form.js +0 -77
  267. package/src/models/forminfo.js +0 -60
  268. package/src/models/formvalue.js +0 -35
  269. package/src/models/giaoca.js +0 -40
  270. package/src/models/giatb.js +0 -30
  271. package/src/models/group.js +0 -60
  272. package/src/models/gt_ctgt.js +0 -50
  273. package/src/models/gt_sltk.js +0 -31
  274. package/src/models/gt_thcppstk.js +0 -31
  275. package/src/models/hanmucton.js +0 -39
  276. package/src/models/hd1.js +0 -114
  277. package/src/models/hd2.js +0 -166
  278. package/src/models/hd3.js +0 -161
  279. package/src/models/hd7.js +0 -729
  280. package/src/models/hlink.js +0 -23
  281. package/src/models/hlinkvalue.js +0 -26
  282. package/src/models/hspbts.js +0 -44
  283. package/src/models/importexceltemplate.js +0 -21
  284. package/src/models/introducebonus.js +0 -79
  285. package/src/models/introducecode.js +0 -65
  286. package/src/models/introducer.js +0 -81
  287. package/src/models/invpackage.js +0 -122
  288. package/src/models/invproject.js +0 -105
  289. package/src/models/invround.js +0 -114
  290. package/src/models/invuser.js +0 -111
  291. package/src/models/kbbtpb.js +0 -63
  292. package/src/models/kbmPttct.js +0 -60
  293. package/src/models/kbmTkgtgt.js +0 -76
  294. package/src/models/kbm_bcdkt.js +0 -58
  295. package/src/models/kbm_kqhdkd.js +0 -42
  296. package/src/models/kbm_lcttgt.js +0 -59
  297. package/src/models/kbm_lctttt.js +0 -58
  298. package/src/models/kbm_pttct.js +0 -54
  299. package/src/models/kbm_tkgtgt.js +0 -72
  300. package/src/models/kbmbcdkt.js +0 -62
  301. package/src/models/kbmbcqt.js +0 -60
  302. package/src/models/kbmkqhdkd.js +0 -46
  303. package/src/models/kbmlcttgt.js +0 -63
  304. package/src/models/kbmlctttt.js +0 -62
  305. package/src/models/kbmtmbctc.js +0 -61
  306. package/src/models/kehoachdtcp.js +0 -39
  307. package/src/models/kehoachmh.js +0 -100
  308. package/src/models/keyresult.js +0 -86
  309. package/src/models/khunghangthanhvien.js +0 -27
  310. package/src/models/label.js +0 -20
  311. package/src/models/labelinfo.js +0 -22
  312. package/src/models/lenhcapphat.js +0 -86
  313. package/src/models/lenhsx.js +0 -75
  314. package/src/models/lesson.js +0 -85
  315. package/src/models/license.js +0 -23
  316. package/src/models/lienhe.js +0 -43
  317. package/src/models/like_module.js +0 -15
  318. package/src/models/link.js +0 -20
  319. package/src/models/listinfo.js +0 -682
  320. package/src/models/loaidiem.js +0 -20
  321. package/src/models/lock.js +0 -16
  322. package/src/models/log.js +0 -42
  323. package/src/models/mailaccount.js +0 -35
  324. package/src/models/mailgroup.js +0 -35
  325. package/src/models/mailreceived.js +0 -25
  326. package/src/models/mailschedule.js +0 -34
  327. package/src/models/mailsent.js +0 -30
  328. package/src/models/mailtemplate.js +0 -31
  329. package/src/models/maudanhgia.js +0 -24
  330. package/src/models/message.js +0 -127
  331. package/src/models/message2.js +0 -45
  332. package/src/models/message2setting.js +0 -32
  333. package/src/models/moduleinfo.js +0 -41
  334. package/src/models/momo.js +0 -210
  335. package/src/models/news.js +0 -53
  336. package/src/models/newsfeed.js +0 -82
  337. package/src/models/nhadat.js +0 -120
  338. package/src/models/note.js +0 -24
  339. package/src/models/notification.js +0 -63
  340. package/src/models/okr.js +0 -53
  341. package/src/models/okrdiagram.js +0 -34
  342. package/src/models/onepay.js +0 -345
  343. package/src/models/opportunity.js +0 -54
  344. package/src/models/options.js +0 -33
  345. package/src/models/otp.js +0 -15
  346. package/src/models/parameter.js +0 -20
  347. package/src/models/participant.js +0 -81
  348. package/src/models/partner.js +0 -15
  349. package/src/models/payload.js +0 -14
  350. package/src/models/pbl.js +0 -182
  351. package/src/models/pc0.js +0 -477
  352. package/src/models/pc1.js +0 -490
  353. package/src/models/pc2.js +0 -170
  354. package/src/models/pc3.js +0 -165
  355. package/src/models/pc5.js +0 -76
  356. package/src/models/pdn.js +0 -267
  357. package/src/models/pdx.js +0 -259
  358. package/src/models/phieudanhgia.js +0 -44
  359. package/src/models/pht.js +0 -92
  360. package/src/models/phucap.js +0 -33
  361. package/src/models/pkc.js +0 -68
  362. package/src/models/pkh.js +0 -63
  363. package/src/models/pkk.js +0 -254
  364. package/src/models/pkt.js +0 -136
  365. package/src/models/pn1.js +0 -174
  366. package/src/models/pn2.js +0 -121
  367. package/src/models/pn3.js +0 -152
  368. package/src/models/pn5.js +0 -158
  369. package/src/models/pn6.js +0 -163
  370. package/src/models/pn9.js +0 -182
  371. package/src/models/pnc.js +0 -288
  372. package/src/models/pnh.js +0 -118
  373. package/src/models/pnk.js +0 -99
  374. package/src/models/po1.js +0 -213
  375. package/src/models/ppb.js +0 -67
  376. package/src/models/profile.js +0 -46
  377. package/src/models/pt1.js +0 -132
  378. package/src/models/pt5.js +0 -76
  379. package/src/models/ptl.js +0 -60
  380. package/src/models/ptthanhtoan.js +0 -97
  381. package/src/models/purchase_contract.js +0 -190
  382. package/src/models/pxc.js +0 -268
  383. package/src/models/pxh.js +0 -118
  384. package/src/models/pxk.js +0 -97
  385. package/src/models/qts.js +0 -149
  386. package/src/models/qts_dieuchinh.js +0 -41
  387. package/src/models/quanhuyen.js +0 -50
  388. package/src/models/reason.js +0 -18
  389. package/src/models/reportinfo.js +0 -51
  390. package/src/models/right.js +0 -50
  391. package/src/models/rpt.js +0 -25
  392. package/src/models/rptform.js +0 -55
  393. package/src/models/rptobject.js +0 -21
  394. package/src/models/sale_contract.js +0 -114
  395. package/src/models/schedule.js +0 -239
  396. package/src/models/schedule_log.js +0 -15
  397. package/src/models/service.js +0 -48
  398. package/src/models/session.js +0 -87
  399. package/src/models/shipbook.js +0 -141
  400. package/src/models/shortcut.js +0 -22
  401. package/src/models/so1.js +0 -257
  402. package/src/models/so2.js +0 -151
  403. package/src/models/so3.js +0 -141
  404. package/src/models/so4.js +0 -137
  405. package/src/models/so5.js +0 -228
  406. package/src/models/socai.js +0 -246
  407. package/src/models/socaitmp.js +0 -230
  408. package/src/models/sodiemthuong.js +0 -44
  409. package/src/models/sokho.js +0 -226
  410. package/src/models/sokhocapphat.js +0 -203
  411. package/src/models/sokhokhongton.js +0 -222
  412. package/src/models/sokhott.js +0 -219
  413. package/src/models/sophanbokh.js +0 -38
  414. package/src/models/sosanxuat.js +0 -50
  415. package/src/models/sotinhkh.js +0 -28
  416. package/src/models/spdd_ck.js +0 -30
  417. package/src/models/spdd_dk.js +0 -30
  418. package/src/models/step.js +0 -22
  419. package/src/models/strategicdiagram.js +0 -30
  420. package/src/models/strategicgoal.js +0 -47
  421. package/src/models/strategickpi.js +0 -75
  422. package/src/models/strategicobjective.js +0 -47
  423. package/src/models/strategicplan.js +0 -53
  424. package/src/models/subscribe.js +0 -16
  425. package/src/models/support.js +0 -23
  426. package/src/models/synctime.js +0 -20
  427. package/src/models/sysconfig.js +0 -19
  428. package/src/models/sysgroup.js +0 -24
  429. package/src/models/tableinfo.js +0 -99
  430. package/src/models/task.js +0 -243
  431. package/src/models/taskreg.js +0 -44
  432. package/src/models/tc.js +0 -17
  433. package/src/models/tdttco.js +0 -45
  434. package/src/models/tdttco_tt.js +0 -56
  435. package/src/models/tdttno.js +0 -46
  436. package/src/models/tdttno_tt.js +0 -57
  437. package/src/models/templaterpt.js +0 -21
  438. package/src/models/templatestore.js +0 -30
  439. package/src/models/templatevoucher.js +0 -25
  440. package/src/models/tinhthanh.js +0 -44
  441. package/src/models/tokens.js +0 -22
  442. package/src/models/tontucthoi.js +0 -77
  443. package/src/models/training.js +0 -93
  444. package/src/models/trangthai.js +0 -82
  445. package/src/models/transaction.js +0 -211
  446. package/src/models/trialinfo.js +0 -24
  447. package/src/models/user.js +0 -379
  448. package/src/models/usergroup.js +0 -66
  449. package/src/models/vanchuyen.js +0 -146
  450. package/src/models/vat.js +0 -31
  451. package/src/models/vatra.js +0 -53
  452. package/src/models/vatvao.js +0 -53
  453. package/src/models/versioninfo.js +0 -19
  454. package/src/models/voice-command.js +0 -18
  455. package/src/models/vsocai.js +0 -83
  456. package/src/models/waitevent.js +0 -26
  457. package/src/models/wallet.js +0 -94
  458. package/src/models/warranty.js +0 -30
  459. package/src/models/xaphuong.js +0 -57
  460. package/src/models/xhd.js +0 -124
  461. package/src/models/ytdd_ck.js +0 -34
  462. package/src/models/ytdd_dk.js +0 -31
  463. package/src/models/zalo.js +0 -226
  464. package/src/modules/bot/webhook.js +0 -185
  465. package/src/modules/lists/bg-cddiem.js +0 -64
  466. package/src/modules/lists/bg-cddt.js +0 -73
  467. package/src/modules/lists/bg-cdkh.js +0 -129
  468. package/src/modules/lists/bg-cdtk.js +0 -97
  469. package/src/modules/lists/bg-cdvt.js +0 -88
  470. package/src/modules/lists/ls-account.js +0 -66
  471. package/src/modules/lists/ls-approve.js +0 -14
  472. package/src/modules/lists/ls-area.js +0 -74
  473. package/src/modules/lists/ls-assbuy.js +0 -70
  474. package/src/modules/lists/ls-asscashwithdraw.js +0 -190
  475. package/src/modules/lists/ls-assinvestment.js +0 -402
  476. package/src/modules/lists/ls-asskey.js +0 -412
  477. package/src/modules/lists/ls-assneedtobuy.js +0 -159
  478. package/src/modules/lists/ls-assperiod.js +0 -197
  479. package/src/modules/lists/ls-assproduct.js +0 -212
  480. package/src/modules/lists/ls-assprofitsharing.js +0 -131
  481. package/src/modules/lists/ls-assreceiver.js +0 -28
  482. package/src/modules/lists/ls-assrequest.js +0 -47
  483. package/src/modules/lists/ls-asssell.js +0 -202
  484. package/src/modules/lists/ls-asstransfer.js +0 -26
  485. package/src/modules/lists/ls-asswithdraw.js +0 -110
  486. package/src/modules/lists/ls-bangtinhluong.js +0 -19
  487. package/src/modules/lists/ls-block.js +0 -10
  488. package/src/modules/lists/ls-building.js +0 -41
  489. package/src/modules/lists/ls-calllog.js +0 -9
  490. package/src/modules/lists/ls-campaign.js +0 -26
  491. package/src/modules/lists/ls-cart.js +0 -184
  492. package/src/modules/lists/ls-chamcong.js +0 -15
  493. package/src/modules/lists/ls-checkin.js +0 -73
  494. package/src/modules/lists/ls-checkinactivity.js +0 -141
  495. package/src/modules/lists/ls-checkinkpi.js +0 -67
  496. package/src/modules/lists/ls-chitieukpi.js +0 -28
  497. package/src/modules/lists/ls-chudethaoluan.js +0 -9
  498. package/src/modules/lists/ls-ckgtluong.js +0 -10
  499. package/src/modules/lists/ls-comment.js +0 -136
  500. package/src/modules/lists/ls-congdoansx.js +0 -41
  501. package/src/modules/lists/ls-congtacvien.js +0 -134
  502. package/src/modules/lists/ls-consultant.js +0 -30
  503. package/src/modules/lists/ls-contract.js +0 -150
  504. package/src/modules/lists/ls-ctds.js +0 -62
  505. package/src/modules/lists/ls-currency.js +0 -9
  506. package/src/modules/lists/ls-customer.js +0 -164
  507. package/src/modules/lists/ls-datlich.js +0 -152
  508. package/src/modules/lists/ls-dckhauhaots.js +0 -23
  509. package/src/modules/lists/ls-department.js +0 -69
  510. package/src/modules/lists/ls-diagram.js +0 -10
  511. package/src/modules/lists/ls-dkhoc.js +0 -98
  512. package/src/modules/lists/ls-dmban.js +0 -95
  513. package/src/modules/lists/ls-dmbp.js +0 -41
  514. package/src/modules/lists/ls-dmca.js +0 -9
  515. package/src/modules/lists/ls-dmchietkhau.js +0 -79
  516. package/src/modules/lists/ls-dmchietkhauhd.js +0 -49
  517. package/src/modules/lists/ls-dmchucvu.js +0 -18
  518. package/src/modules/lists/ls-dmcpmh.js +0 -9
  519. package/src/modules/lists/ls-dmdiemthuong.js +0 -78
  520. package/src/modules/lists/ls-dmdoi.js +0 -82
  521. package/src/modules/lists/ls-dmdoituongdanhgia.js +0 -8
  522. package/src/modules/lists/ls-dmdt.js +0 -157
  523. package/src/modules/lists/ls-dmdvt.js +0 -23
  524. package/src/modules/lists/ls-dmgiaban.js +0 -40
  525. package/src/modules/lists/ls-dmgiamua.js +0 -45
  526. package/src/modules/lists/ls-dmkc.js +0 -25
  527. package/src/modules/lists/ls-dmkho.js +0 -22
  528. package/src/modules/lists/ls-dmkhuyenmai.js +0 -89
  529. package/src/modules/lists/ls-dmkhuyenmaihd.js +0 -46
  530. package/src/modules/lists/ls-dmletet.js +0 -9
  531. package/src/modules/lists/ls-dmlo.js +0 -9
  532. package/src/modules/lists/ls-dmloaicong.js +0 -9
  533. package/src/modules/lists/ls-dmloaits.js +0 -9
  534. package/src/modules/lists/ls-dmnghiepvu.js +0 -9
  535. package/src/modules/lists/ls-dmnguonvon.js +0 -9
  536. package/src/modules/lists/ls-dmnhnd.js +0 -13
  537. package/src/modules/lists/ls-dmnhnv.js +0 -124
  538. package/src/modules/lists/ls-dmnhtask.js +0 -64
  539. package/src/modules/lists/ls-dmnkh.js +0 -13
  540. package/src/modules/lists/ls-dmnv.js +0 -323
  541. package/src/modules/lists/ls-dmnvt.js +0 -96
  542. package/src/modules/lists/ls-dmphatdichvu.js +0 -44
  543. package/src/modules/lists/ls-dmphi.js +0 -9
  544. package/src/modules/lists/ls-dmqct.js +0 -15
  545. package/src/modules/lists/ls-dmqddvt.js +0 -32
  546. package/src/modules/lists/ls-dmtanggiamts.js +0 -9
  547. package/src/modules/lists/ls-dmto.js +0 -105
  548. package/src/modules/lists/ls-dmtt.js +0 -40
  549. package/src/modules/lists/ls-dmvt.js +0 -564
  550. package/src/modules/lists/ls-dmyt.js +0 -9
  551. package/src/modules/lists/ls-dokho.js +0 -9
  552. package/src/modules/lists/ls-dvcs.js +0 -13
  553. package/src/modules/lists/ls-events.js +0 -51
  554. package/src/modules/lists/ls-evoucher.js +0 -33
  555. package/src/modules/lists/ls-experiencejourney.js +0 -8
  556. package/src/modules/lists/ls-experiencejourneydata.js +0 -25
  557. package/src/modules/lists/ls-experiencejourneypersona.js +0 -54
  558. package/src/modules/lists/ls-experiencejourneystage.js +0 -8
  559. package/src/modules/lists/ls-file.js +0 -353
  560. package/src/modules/lists/ls-financialroadmap.js +0 -39
  561. package/src/modules/lists/ls-floor.js +0 -41
  562. package/src/modules/lists/ls-floordetail.js +0 -417
  563. package/src/modules/lists/ls-form.js +0 -8
  564. package/src/modules/lists/ls-forminfo.js +0 -18
  565. package/src/modules/lists/ls-formvalue.js +0 -8
  566. package/src/modules/lists/ls-giaoca.js +0 -46
  567. package/src/modules/lists/ls-group.js +0 -10
  568. package/src/modules/lists/ls-hinhthuc.js +0 -14
  569. package/src/modules/lists/ls-hlink.js +0 -8
  570. package/src/modules/lists/ls-hlinkvalue.js +0 -8
  571. package/src/modules/lists/ls-hspbts.js +0 -38
  572. package/src/modules/lists/ls-introducebonus.js +0 -35
  573. package/src/modules/lists/ls-introducecode.js +0 -57
  574. package/src/modules/lists/ls-introducer.js +0 -151
  575. package/src/modules/lists/ls-invpackage.js +0 -64
  576. package/src/modules/lists/ls-invproject.js +0 -115
  577. package/src/modules/lists/ls-invround.js +0 -57
  578. package/src/modules/lists/ls-invuser.js +0 -59
  579. package/src/modules/lists/ls-kbm-bcdkt.js +0 -9
  580. package/src/modules/lists/ls-kbm-bcqt.js +0 -133
  581. package/src/modules/lists/ls-kbm-kqhdkd.js +0 -9
  582. package/src/modules/lists/ls-kbm-lcttgt.js +0 -15
  583. package/src/modules/lists/ls-kbm-lctttt.js +0 -15
  584. package/src/modules/lists/ls-kbm-pttct.js +0 -30
  585. package/src/modules/lists/ls-kbm-tkgtgt.js +0 -33
  586. package/src/modules/lists/ls-kbm-tmbctc.js +0 -30
  587. package/src/modules/lists/ls-kehoachdtcp.js +0 -62
  588. package/src/modules/lists/ls-keyresult.js +0 -118
  589. package/src/modules/lists/ls-khunghangthanhvien.js +0 -9
  590. package/src/modules/lists/ls-kygui.js +0 -394
  591. package/src/modules/lists/ls-label.js +0 -11
  592. package/src/modules/lists/ls-lesson.js +0 -63
  593. package/src/modules/lists/ls-lienhe.js +0 -87
  594. package/src/modules/lists/ls-like-module.js +0 -24
  595. package/src/modules/lists/ls-link.js +0 -9
  596. package/src/modules/lists/ls-loaidiem.js +0 -9
  597. package/src/modules/lists/ls-lock.js +0 -8
  598. package/src/modules/lists/ls-log.js +0 -43
  599. package/src/modules/lists/ls-mailaccount.js +0 -59
  600. package/src/modules/lists/ls-mailreceived.js +0 -79
  601. package/src/modules/lists/ls-mailschedule.js +0 -116
  602. package/src/modules/lists/ls-mailsent.js +0 -63
  603. package/src/modules/lists/ls-mailtemplate.js +0 -48
  604. package/src/modules/lists/ls-maudanhgia.js +0 -37
  605. package/src/modules/lists/ls-message2.js +0 -130
  606. package/src/modules/lists/ls-message2setting.js +0 -60
  607. package/src/modules/lists/ls-news.js +0 -49
  608. package/src/modules/lists/ls-newsfeed.js +0 -73
  609. package/src/modules/lists/ls-nhadat.js +0 -109
  610. package/src/modules/lists/ls-note.js +0 -10
  611. package/src/modules/lists/ls-okr.js +0 -64
  612. package/src/modules/lists/ls-okrdiagram.js +0 -13
  613. package/src/modules/lists/ls-opportunity.js +0 -92
  614. package/src/modules/lists/ls-options.js +0 -50
  615. package/src/modules/lists/ls-parameter.js +0 -29
  616. package/src/modules/lists/ls-participant.js +0 -102
  617. package/src/modules/lists/ls-phieudanhgia.js +0 -247
  618. package/src/modules/lists/ls-phucap.js +0 -9
  619. package/src/modules/lists/ls-profile.js +0 -9
  620. package/src/modules/lists/ls-ptthanhtoan.js +0 -44
  621. package/src/modules/lists/ls-qts-dieuchinh.js +0 -23
  622. package/src/modules/lists/ls-reason.js +0 -9
  623. package/src/modules/lists/ls-rpt.js +0 -65
  624. package/src/modules/lists/ls-rptform.js +0 -62
  625. package/src/modules/lists/ls-service.js +0 -50
  626. package/src/modules/lists/ls-session.js +0 -387
  627. package/src/modules/lists/ls-shortcut.js +0 -14
  628. package/src/modules/lists/ls-sosanxuat.js +0 -75
  629. package/src/modules/lists/ls-step.js +0 -9
  630. package/src/modules/lists/ls-strategicdiagram.js +0 -13
  631. package/src/modules/lists/ls-strategicgoal.js +0 -30
  632. package/src/modules/lists/ls-strategickpi.js +0 -117
  633. package/src/modules/lists/ls-strategicobjective.js +0 -29
  634. package/src/modules/lists/ls-strategicplan.js +0 -77
  635. package/src/modules/lists/ls-support.js +0 -30
  636. package/src/modules/lists/ls-tacgia.js +0 -13
  637. package/src/modules/lists/ls-task.js +0 -685
  638. package/src/modules/lists/ls-taskreg.js +0 -52
  639. package/src/modules/lists/ls-tc.js +0 -9
  640. package/src/modules/lists/ls-templaterpt.js +0 -67
  641. package/src/modules/lists/ls-templatevoucher.js +0 -9
  642. package/src/modules/lists/ls-theloai.js +0 -13
  643. package/src/modules/lists/ls-tontucthoi.js +0 -43
  644. package/src/modules/lists/ls-training.js +0 -270
  645. package/src/modules/lists/ls-transaction.js +0 -66
  646. package/src/modules/lists/ls-usergroup.js +0 -31
  647. package/src/modules/lists/ls-vat.js +0 -9
  648. package/src/modules/lists/ls-waitevent.js +0 -24
  649. package/src/modules/lists/ls-warranty.js +0 -74
  650. package/src/modules/lists/ls_hanmucton.js +0 -39
  651. package/src/modules/lists/ls_spdd_ck.js +0 -36
  652. package/src/modules/lists/ls_spdd_dk.js +0 -35
  653. package/src/modules/lists/ls_ytdd_ck.js +0 -52
  654. package/src/modules/lists/ls_ytdd_dk.js +0 -50
  655. package/src/modules/lists/sys-attend.js +0 -68
  656. package/src/modules/lists/sys-follow.js +0 -69
  657. package/src/modules/lists/sys-right.js +0 -26
  658. package/src/modules/lists/voice-command.js +0 -8
  659. package/src/modules/public/app.js +0 -47
  660. package/src/modules/public/approve.js +0 -67
  661. package/src/modules/public/callin.js +0 -74
  662. package/src/modules/public/comment.js +0 -83
  663. package/src/modules/public/dmnvt.js +0 -70
  664. package/src/modules/public/dmvt.js +0 -184
  665. package/src/modules/public/form.js +0 -116
  666. package/src/modules/public/forminfo.js +0 -13
  667. package/src/modules/public/group.js +0 -64
  668. package/src/modules/public/hlink.js +0 -31
  669. package/src/modules/public/introducecode.js +0 -12
  670. package/src/modules/public/license.js +0 -46
  671. package/src/modules/public/listinfo.js +0 -8
  672. package/src/modules/public/media-webhook.js +0 -9
  673. package/src/modules/public/partner.js +0 -16
  674. package/src/modules/public/paymentCallback.js +0 -126
  675. package/src/modules/public/province.js +0 -10
  676. package/src/modules/public/ptthanhtoan.js +0 -62
  677. package/src/modules/public/subscribe.js +0 -22
  678. package/src/modules/public/support.js +0 -26
  679. package/src/modules/public/tableinfo.js +0 -13
  680. package/src/modules/public/trialinfo.js +0 -61
  681. package/src/modules/public/versioninfo.js +0 -18
  682. package/src/modules/reports/calc-tinhgiatb.js +0 -34
  683. package/src/modules/reports/calc-tinhgiathanh.js +0 -116
  684. package/src/modules/reports/calc-tinhkhauhaots.js +0 -19
  685. package/src/modules/reports/calc-tinhluong.js +0 -401
  686. package/src/modules/reports/rp-bangtinhkhauhao.js +0 -74
  687. package/src/modules/reports/rp-baocaokhachhang.js +0 -93
  688. package/src/modules/reports/rp-bcdkt.js +0 -226
  689. package/src/modules/reports/rp-bcintroducebonus.js +0 -41
  690. package/src/modules/reports/rp-bcqt.js +0 -794
  691. package/src/modules/reports/rp-bkct.js +0 -366
  692. package/src/modules/reports/rp-bkshipbook.js +0 -129
  693. package/src/modules/reports/rp-bkvanchuyen.js +0 -125
  694. package/src/modules/reports/rp-bkvatra.js +0 -94
  695. package/src/modules/reports/rp-bkvatvao.js +0 -97
  696. package/src/modules/reports/rp-cdpsdiem.js +0 -45
  697. package/src/modules/reports/rp-cdpsdt.js +0 -57
  698. package/src/modules/reports/rp-cdpskh.js +0 -112
  699. package/src/modules/reports/rp-cdpstk.js +0 -53
  700. package/src/modules/reports/rp-chitietchitientheohoadon.js +0 -103
  701. package/src/modules/reports/rp-chitiettaisan.js +0 -125
  702. package/src/modules/reports/rp-chitietthutientheohoadon.js +0 -103
  703. package/src/modules/reports/rp-ckcn.js +0 -40
  704. package/src/modules/reports/rp-ckdiem.js +0 -28
  705. package/src/modules/reports/rp-cktk.js +0 -28
  706. package/src/modules/reports/rp-ckvt.js +0 -36
  707. package/src/modules/reports/rp-ckvttheokho.js +0 -58
  708. package/src/modules/reports/rp-ckvttheotg.js +0 -69
  709. package/src/modules/reports/rp-ckvttt.js +0 -36
  710. package/src/modules/reports/rp-congviectheobp.js +0 -160
  711. package/src/modules/reports/rp-congviectheodt.js +0 -155
  712. package/src/modules/reports/rp-congviectheokh.js +0 -157
  713. package/src/modules/reports/rp-congviectheonv.js +0 -179
  714. package/src/modules/reports/rp-congviectheotimeline.js +0 -63
  715. package/src/modules/reports/rp-ctbanle.js +0 -367
  716. package/src/modules/reports/rp-ctdanhgianhanvien.js +0 -222
  717. package/src/modules/reports/rp-cthangbanbitralai.js +0 -55
  718. package/src/modules/reports/rp-ctmuahang.js +0 -144
  719. package/src/modules/reports/rp-cttralaihang.js +0 -51
  720. package/src/modules/reports/rp-databanle.js +0 -68
  721. package/src/modules/reports/rp-diemthuong.js +0 -11
  722. package/src/modules/reports/rp-dkcn.js +0 -41
  723. package/src/modules/reports/rp-dktk.js +0 -25
  724. package/src/modules/reports/rp-dsnhanviencm.js +0 -237
  725. package/src/modules/reports/rp-dsnhanvientb.js +0 -233
  726. package/src/modules/reports/rp-dtbanletheoct.js +0 -207
  727. package/src/modules/reports/rp-dtbanletheokh.js +0 -201
  728. package/src/modules/reports/rp-dtbanletheokho.js +0 -199
  729. package/src/modules/reports/rp-dtbanletheonam.js +0 -198
  730. package/src/modules/reports/rp-dtbanletheongay.js +0 -187
  731. package/src/modules/reports/rp-dtbanletheonv.js +0 -215
  732. package/src/modules/reports/rp-dtbanletheoquy.js +0 -198
  733. package/src/modules/reports/rp-dtbanletheothang.js +0 -206
  734. package/src/modules/reports/rp-dtbanletheothungan.js +0 -214
  735. package/src/modules/reports/rp-dtbanletheovt.js +0 -154
  736. package/src/modules/reports/rp-dutoanthuchitheodt.js +0 -56
  737. package/src/modules/reports/rp-getPXC2PNC.js +0 -152
  738. package/src/modules/reports/rp-getariseofaccountsbymonth.js +0 -32
  739. package/src/modules/reports/rp-getbtpb.js +0 -81
  740. package/src/modules/reports/rp-getcashbycashier.js +0 -83
  741. package/src/modules/reports/rp-getcschietkhau.js +0 -61
  742. package/src/modules/reports/rp-getdinhmuc4lenhcp.js +0 -69
  743. package/src/modules/reports/rp-getdinhmuc4pxk.js +0 -83
  744. package/src/modules/reports/rp-getdk4pht.js +0 -104
  745. package/src/modules/reports/rp-getdk4pkc.js +0 -159
  746. package/src/modules/reports/rp-getdttheoca.js +0 -46
  747. package/src/modules/reports/rp-getinvoice2pay.js +0 -75
  748. package/src/modules/reports/rp-getinvoice2receive.js +0 -75
  749. package/src/modules/reports/rp-getinvoice2return.js +0 -69
  750. package/src/modules/reports/rp-getinvoice2return_bl.js +0 -108
  751. package/src/modules/reports/rp-getkehoachmh4lenhcp.js +0 -71
  752. package/src/modules/reports/rp-getkhauhao.js +0 -81
  753. package/src/modules/reports/rp-getluong.js +0 -91
  754. package/src/modules/reports/rp-getluongchuyen.js +0 -64
  755. package/src/modules/reports/rp-getpn2fee.js +0 -84
  756. package/src/modules/reports/rp-getpn2return.js +0 -66
  757. package/src/modules/reports/rp-getthanhpham4pnk.js +0 -71
  758. package/src/modules/reports/rp-getvc2xhd.js +0 -90
  759. package/src/modules/reports/rp-hangbanbitralai.js +0 -66
  760. package/src/modules/reports/rp-hangthanhvien.js +0 -32
  761. package/src/modules/reports/rp-hoadonbanhangtheohantt.js +0 -112
  762. package/src/modules/reports/rp-hoadonmuahangtheohantt.js +0 -112
  763. package/src/modules/reports/rp-kcsns.js +0 -225
  764. package/src/modules/reports/rp-kgchamcong.js +0 -76
  765. package/src/modules/reports/rp-kqdanhgianhanvien.js +0 -135
  766. package/src/modules/reports/rp-kqhdkd.js +0 -128
  767. package/src/modules/reports/rp-lcttgt.js +0 -371
  768. package/src/modules/reports/rp-lctttt.js +0 -225
  769. package/src/modules/reports/rp-linkslist.js +0 -63
  770. package/src/modules/reports/rp-phanbochitienchohoadon.js +0 -161
  771. package/src/modules/reports/rp-phanbothutienchohoadon.js +0 -160
  772. package/src/modules/reports/rp-ptbitralai.js +0 -108
  773. package/src/modules/reports/rp-ptcttct.js +0 -252
  774. package/src/modules/reports/rp-ptdonhang.js +0 -141
  775. package/src/modules/reports/rp-pttct.js +0 -383
  776. package/src/modules/reports/rp-pttctkho.js +0 -226
  777. package/src/modules/reports/rp-pttctkho2.js +0 -228
  778. package/src/modules/reports/rp-sctbhxh.js +0 -39
  779. package/src/modules/reports/rp-sctcnkh.js +0 -174
  780. package/src/modules/reports/rp-sctdiem.js +0 -33
  781. package/src/modules/reports/rp-sctdt.js +0 -75
  782. package/src/modules/reports/rp-sctdtcp.js +0 -200
  783. package/src/modules/reports/rp-sctluong.js +0 -34
  784. package/src/modules/reports/rp-sctthuetncn.js +0 -34
  785. package/src/modules/reports/rp-scttk.js +0 -74
  786. package/src/modules/reports/rp-sctvt.js +0 -50
  787. package/src/modules/reports/rp-sctvt_sl.js +0 -50
  788. package/src/modules/reports/rp-sctvttt.js +0 -50
  789. package/src/modules/reports/rp-search.js +0 -55
  790. package/src/modules/reports/rp-socai.js +0 -153
  791. package/src/modules/reports/rp-socaitk.js +0 -81
  792. package/src/modules/reports/rp-sochut.js +0 -75
  793. package/src/modules/reports/rp-sokho.js +0 -130
  794. package/src/modules/reports/rp-sokhott.js +0 -130
  795. package/src/modules/reports/rp-sonkbh.js +0 -90
  796. package/src/modules/reports/rp-sonkc.js +0 -163
  797. package/src/modules/reports/rp-sonkct.js +0 -91
  798. package/src/modules/reports/rp-sonkmh.js +0 -89
  799. package/src/modules/reports/rp-sonktt.js +0 -91
  800. package/src/modules/reports/rp-soquy.js +0 -96
  801. package/src/modules/reports/rp-sosanhkhvatt.js +0 -198
  802. package/src/modules/reports/rp-sotaisan.js +0 -122
  803. package/src/modules/reports/rp-sotiengui.js +0 -97
  804. package/src/modules/reports/rp-taodinhmuctudkhoc.js +0 -46
  805. package/src/modules/reports/rp-thdanhgianhanvien.js +0 -128
  806. package/src/modules/reports/rp-thgt.js +0 -92
  807. package/src/modules/reports/rp-thnxt.js +0 -122
  808. package/src/modules/reports/rp-thnxt_sl.js +0 -98
  809. package/src/modules/reports/rp-thnxttt.js +0 -97
  810. package/src/modules/reports/rp-tkbanhangtheogioithieu.js +0 -167
  811. package/src/modules/reports/rp-tkgioithieukh.js +0 -56
  812. package/src/modules/reports/rp-tkgtgt.js +0 -159
  813. package/src/modules/reports/rp-tmbctc.js +0 -304
  814. package/src/modules/reports/rp-tonghopbanhang.js +0 -154
  815. package/src/modules/reports/rp-tonghopmuahang.js +0 -66
  816. package/src/modules/reports/rp-tonghoptralaihang.js +0 -62
  817. package/src/modules/reports/rp-uoctinhnvl.js +0 -154
  818. package/src/modules/reports/rp-wallet.js +0 -37
  819. package/src/modules/reports/rpt-tkdiemtichluy.js +0 -149
  820. package/src/modules/systems/sys-app.js +0 -532
  821. package/src/modules/systems/sys-colleague.js +0 -163
  822. package/src/modules/systems/sys-exportexceltemplate.js +0 -37
  823. package/src/modules/systems/sys-fieldright.js +0 -36
  824. package/src/modules/systems/sys-importexceltemplate.js +0 -37
  825. package/src/modules/systems/sys-labelinfo.js +0 -75
  826. package/src/modules/systems/sys-license.js +0 -72
  827. package/src/modules/systems/sys-listinfo.js +0 -98
  828. package/src/modules/systems/sys-message.js +0 -237
  829. package/src/modules/systems/sys-moduleinfo.js +0 -43
  830. package/src/modules/systems/sys-notification.js +0 -103
  831. package/src/modules/systems/sys-quanhuyen.js +0 -38
  832. package/src/modules/systems/sys-reportinfo.js +0 -42
  833. package/src/modules/systems/sys-rptobject.js +0 -37
  834. package/src/modules/systems/sys-schedule.js +0 -145
  835. package/src/modules/systems/sys-sysconfig.js +0 -34
  836. package/src/modules/systems/sys-sysgroup.js +0 -34
  837. package/src/modules/systems/sys-tableinfo.js +0 -35
  838. package/src/modules/systems/sys-templatestore.js +0 -60
  839. package/src/modules/systems/sys-tinhthanh.js +0 -38
  840. package/src/modules/systems/sys-token.js +0 -38
  841. package/src/modules/systems/sys-trangthai.js +0 -36
  842. package/src/modules/systems/sys-trialinfo.js +0 -43
  843. package/src/modules/systems/sys-user.js +0 -689
  844. package/src/modules/systems/sys-users.js +0 -123
  845. package/src/modules/systems/sys-versioninfo.js +0 -34
  846. package/src/modules/systems/sys-xaphuong.js +0 -38
  847. package/src/modules/vouchers/vo-bc1.js +0 -541
  848. package/src/modules/vouchers/vo-bc5.js +0 -356
  849. package/src/modules/vouchers/vo-bg1.js +0 -193
  850. package/src/modules/vouchers/vo-bg2.js +0 -241
  851. package/src/modules/vouchers/vo-bn1.js +0 -704
  852. package/src/modules/vouchers/vo-bn5.js +0 -356
  853. package/src/modules/vouchers/vo-dh2.js +0 -303
  854. package/src/modules/vouchers/vo-dinhmucsx.js +0 -133
  855. package/src/modules/vouchers/vo-dn0.js +0 -240
  856. package/src/modules/vouchers/vo-dnm.js +0 -469
  857. package/src/modules/vouchers/vo-hd1.js +0 -632
  858. package/src/modules/vouchers/vo-hd2.js +0 -834
  859. package/src/modules/vouchers/vo-hd3.js +0 -554
  860. package/src/modules/vouchers/vo-hd7.js +0 -761
  861. package/src/modules/vouchers/vo-kbbtpb.js +0 -157
  862. package/src/modules/vouchers/vo-kehoachmh.js +0 -248
  863. package/src/modules/vouchers/vo-lenhcapphat.js +0 -211
  864. package/src/modules/vouchers/vo-lenhsx.js +0 -217
  865. package/src/modules/vouchers/vo-pbl.js +0 -1436
  866. package/src/modules/vouchers/vo-pc0.js +0 -371
  867. package/src/modules/vouchers/vo-pc1.js +0 -574
  868. package/src/modules/vouchers/vo-pc2.js +0 -546
  869. package/src/modules/vouchers/vo-pc3.js +0 -425
  870. package/src/modules/vouchers/vo-pc5.js +0 -356
  871. package/src/modules/vouchers/vo-pdn.js +0 -305
  872. package/src/modules/vouchers/vo-pdx.js +0 -285
  873. package/src/modules/vouchers/vo-pht.js +0 -201
  874. package/src/modules/vouchers/vo-pkc.js +0 -181
  875. package/src/modules/vouchers/vo-pkh.js +0 -196
  876. package/src/modules/vouchers/vo-pkk.js +0 -280
  877. package/src/modules/vouchers/vo-pkt.js +0 -309
  878. package/src/modules/vouchers/vo-pn1.js +0 -449
  879. package/src/modules/vouchers/vo-pn2.js +0 -284
  880. package/src/modules/vouchers/vo-pn3.js +0 -458
  881. package/src/modules/vouchers/vo-pn5.js +0 -305
  882. package/src/modules/vouchers/vo-pn6.js +0 -323
  883. package/src/modules/vouchers/vo-pn9.js +0 -409
  884. package/src/modules/vouchers/vo-pnc.js +0 -458
  885. package/src/modules/vouchers/vo-pnh.js +0 -282
  886. package/src/modules/vouchers/vo-pnk.js +0 -271
  887. package/src/modules/vouchers/vo-po1.js +0 -447
  888. package/src/modules/vouchers/vo-ppb.js +0 -159
  889. package/src/modules/vouchers/vo-pt1.js +0 -481
  890. package/src/modules/vouchers/vo-pt5.js +0 -359
  891. package/src/modules/vouchers/vo-ptl.js +0 -172
  892. package/src/modules/vouchers/vo-purchase_contract.js +0 -286
  893. package/src/modules/vouchers/vo-pxc.js +0 -471
  894. package/src/modules/vouchers/vo-pxh.js +0 -225
  895. package/src/modules/vouchers/vo-pxk.js +0 -287
  896. package/src/modules/vouchers/vo-qts.js +0 -171
  897. package/src/modules/vouchers/vo-sale_contract.js +0 -291
  898. package/src/modules/vouchers/vo-shipbook.js +0 -305
  899. package/src/modules/vouchers/vo-so1.js +0 -1667
  900. package/src/modules/vouchers/vo-so2.js +0 -708
  901. package/src/modules/vouchers/vo-so3.js +0 -784
  902. package/src/modules/vouchers/vo-so4.js +0 -598
  903. package/src/modules/vouchers/vo-so5.js +0 -967
  904. package/src/modules/vouchers/vo-vanchuyen.js +0 -267
  905. package/src/modules/vouchers/vo-xhd.js +0 -531
  906. package/src/route.js +0 -650
  907. package/src/smtpserver.js +0 -48
  908. package/src/ssl/ca.ca-bundle +0 -67
  909. package/src/ssl/cert.crt +0 -36
  910. package/src/ssl/key.pem +0 -28
  911. package/src/sslConfig.js +0 -44
  912. package/src/templates/add-file.html +0 -8
  913. package/src/templates/add-file.pug +0 -9
  914. package/src/templates/alert task.html +0 -11
  915. package/src/templates/alert task.pug +0 -12
  916. package/src/templates/alert warranty.html +0 -15
  917. package/src/templates/alert warranty.pug +0 -28
  918. package/src/templates/excels/PN9.xlsx +0 -0
  919. package/src/templates/excels/hd1.xlsx +0 -0
  920. package/src/templates/excels/hd2.xlsx +0 -0
  921. package/src/templates/excels/hd3.xlsx +0 -0
  922. package/src/templates/excels/lists/account.xlsx +0 -0
  923. package/src/templates/excels/lists/customer.xlsx +0 -0
  924. package/src/templates/excels/lists/dmvt.xlsx +0 -0
  925. package/src/templates/excels/pc1.xlsx +0 -0
  926. package/src/templates/excels/pkc.xlsx +0 -0
  927. package/src/templates/excels/pkh.xlsx +0 -0
  928. package/src/templates/excels/pkt.xlsx +0 -0
  929. package/src/templates/excels/pn1.xlsx +0 -0
  930. package/src/templates/excels/pn2.xlsx +0 -0
  931. package/src/templates/excels/pn3.xlsx +0 -0
  932. package/src/templates/excels/pn5.xlsx +0 -0
  933. package/src/templates/excels/pnk.xlsx +0 -0
  934. package/src/templates/excels/pt1.xlsx +0 -0
  935. package/src/templates/excels/pxc.xlsx +0 -0
  936. package/src/templates/excels/pxk.xlsx +0 -0
  937. package/src/templates/excels/reports/bangtinhkhauhao.xlsx +0 -0
  938. package/src/templates/excels/reports/bcdkt.xlsx +0 -0
  939. package/src/templates/excels/reports/bkct.xlsx +0 -0
  940. package/src/templates/excels/reports/bkvatra.xlsx +0 -0
  941. package/src/templates/excels/reports/bkvatvao.xlsx +0 -0
  942. package/src/templates/excels/reports/cdpsdt.xlsx +0 -0
  943. package/src/templates/excels/reports/cdpskh.xlsx +0 -0
  944. package/src/templates/excels/reports/cdpstk.xlsx +0 -0
  945. package/src/templates/excels/reports/chitietchitientheohoadon.xlsx +0 -0
  946. package/src/templates/excels/reports/chitiettaisan.xlsx +0 -0
  947. package/src/templates/excels/reports/chitietthutientheohoadon.xlsx +0 -0
  948. package/src/templates/excels/reports/ctbanle.xlsx +0 -0
  949. package/src/templates/excels/reports/cthangbanbitralai.xlsx +0 -0
  950. package/src/templates/excels/reports/ctmuahang.xlsx +0 -0
  951. package/src/templates/excels/reports/dtbanletheokh.xlsx +0 -0
  952. package/src/templates/excels/reports/dtbanletheonam.xlsx +0 -0
  953. package/src/templates/excels/reports/dtbanletheongay.xlsx +0 -0
  954. package/src/templates/excels/reports/dtbanletheonv.xlsx +0 -0
  955. package/src/templates/excels/reports/dtbanletheoquy.xlsx +0 -0
  956. package/src/templates/excels/reports/dtbanletheothang.xlsx +0 -0
  957. package/src/templates/excels/reports/dtbanletheovt.xlsx +0 -0
  958. package/src/templates/excels/reports/hangbanbitralai.xlsx +0 -0
  959. package/src/templates/excels/reports/hoadonbanhangtheohantt.xlsx +0 -0
  960. package/src/templates/excels/reports/hoadonmuahangtheohantt.xlsx +0 -0
  961. package/src/templates/excels/reports/kqhdkd.xlsx +0 -0
  962. package/src/templates/excels/reports/lcttgt.xlsx +0 -0
  963. package/src/templates/excels/reports/lctttt.xlsx +0 -0
  964. package/src/templates/excels/reports/pttct.xlsx +0 -0
  965. package/src/templates/excels/reports/sctcnkh.xlsx +0 -0
  966. package/src/templates/excels/reports/sctdt.xlsx +0 -0
  967. package/src/templates/excels/reports/scttk.xlsx +0 -0
  968. package/src/templates/excels/reports/sctvt.xlsx +0 -0
  969. package/src/templates/excels/reports/socaitk.xlsx +0 -0
  970. package/src/templates/excels/reports/sochut.xlsx +0 -0
  971. package/src/templates/excels/reports/sonkbh.xlsx +0 -0
  972. package/src/templates/excels/reports/sonkc.xlsx +0 -0
  973. package/src/templates/excels/reports/sonkct.xlsx +0 -0
  974. package/src/templates/excels/reports/sonkmh.xlsx +0 -0
  975. package/src/templates/excels/reports/sonktt.xlsx +0 -0
  976. package/src/templates/excels/reports/soquy.xlsx +0 -0
  977. package/src/templates/excels/reports/sotaisan.xlsx +0 -0
  978. package/src/templates/excels/reports/sotiengui.xlsx +0 -0
  979. package/src/templates/excels/reports/thnxt.xlsx +0 -0
  980. package/src/templates/excels/reports/tkgtgt.xlsx +0 -0
  981. package/src/templates/excels/reports/tonghopbanhang.xlsx +0 -0
  982. package/src/templates/excels/reports/tonghopmuahang.xlsx +0 -0
  983. package/src/templates/excels/reports/tonghoptralaihang.xlsx +0 -0
  984. package/src/templates/imports/cdkh.xlsx +0 -0
  985. package/src/templates/imports/cdtk.xlsx +0 -0
  986. package/src/templates/imports/cdvt.xlsx +0 -0
  987. package/src/templates/imports/contract.xlsx +0 -0
  988. package/src/templates/imports/dmban.xlsx +0 -0
  989. package/src/templates/imports/dmkh.xlsx +0 -0
  990. package/src/templates/imports/dmvt.xlsx +0 -0
  991. package/src/templates/imports/hd1.xlsx +0 -0
  992. package/src/templates/imports/hd2.xlsx +0 -0
  993. package/src/templates/imports/lienhe.xlsx +0 -0
  994. package/src/templates/imports/pc1.xlsx +0 -0
  995. package/src/templates/imports/pkt.xlsx +0 -0
  996. package/src/templates/imports/pn1.xlsx +0 -0
  997. package/src/templates/imports/pn2.xlsx +0 -0
  998. package/src/templates/imports/pnk.xlsx +0 -0
  999. package/src/templates/imports/pt1.xlsx +0 -0
  1000. package/src/templates/order.html +0 -42
  1001. package/src/templates/order.pug +0 -57
  1002. package/src/templates/reply-comment.html +0 -10
  1003. package/src/templates/reply-comment.pug +0 -12
  1004. package/src/templates/reset mat khau.html +0 -17
  1005. package/src/templates/reset mat khau.pug +0 -20
  1006. package/src/templates/rpts/giaoca.html +0 -16
  1007. package/src/templates/rpts/pbl.html +0 -60
  1008. package/src/templates/rpts/pc0.html +0 -165
  1009. package/src/templates/rpts/pc1.html +0 -167
  1010. package/src/templates/rpts/pc2.html +0 -164
  1011. package/src/templates/rpts/pc3.html +0 -161
  1012. package/src/templates/rpts/pdn.html +0 -213
  1013. package/src/templates/rpts/pkh.html +0 -156
  1014. package/src/templates/rpts/pkk.html +0 -214
  1015. package/src/templates/rpts/pkt.html +0 -156
  1016. package/src/templates/rpts/pn1.html +0 -207
  1017. package/src/templates/rpts/pn6.html +0 -178
  1018. package/src/templates/rpts/pnc.html +0 -222
  1019. package/src/templates/rpts/pnk.html +0 -222
  1020. package/src/templates/rpts/pt1.html +0 -160
  1021. package/src/templates/rpts/pxc.html +0 -221
  1022. package/src/templates/rpts/pxk.html +0 -221
  1023. package/src/templates/rpts/reports/bangtinhkhauhao/templates/browser.html +0 -78
  1024. package/src/templates/rpts/reports/bangtinhkhauhao/templates/print.html +0 -49
  1025. package/src/templates/rpts/reports/baocaokhachhang/templates/browser.html +0 -122
  1026. package/src/templates/rpts/reports/baocaokhachhang/templates/print.html +0 -50
  1027. package/src/templates/rpts/reports/bcdkt/templates/browser.html +0 -59
  1028. package/src/templates/rpts/reports/bcdkt/templates/print.html +0 -38
  1029. package/src/templates/rpts/reports/bkct/templates/browser.html +0 -126
  1030. package/src/templates/rpts/reports/bkct/templates/print.html +0 -49
  1031. package/src/templates/rpts/reports/bkct/templates/view.html +0 -90
  1032. package/src/templates/rpts/reports/bkshipbook/templates/browser.html +0 -111
  1033. package/src/templates/rpts/reports/bkshipbook/templates/print.html +0 -71
  1034. package/src/templates/rpts/reports/bkvanchuyen/templates/browser.html +0 -105
  1035. package/src/templates/rpts/reports/bkvanchuyen/templates/print.html +0 -65
  1036. package/src/templates/rpts/reports/bkvatra/templates/browser.html +0 -106
  1037. package/src/templates/rpts/reports/bkvatra/templates/print.html +0 -94
  1038. package/src/templates/rpts/reports/bkvatvao/templates/browser.html +0 -108
  1039. package/src/templates/rpts/reports/bkvatvao/templates/print.html +0 -94
  1040. package/src/templates/rpts/reports/cdpsdt/templates/browser.html +0 -98
  1041. package/src/templates/rpts/reports/cdpsdt/templates/print.html +0 -56
  1042. package/src/templates/rpts/reports/cdpskh/templates/browser.html +0 -101
  1043. package/src/templates/rpts/reports/cdpskh/templates/print.html +0 -57
  1044. package/src/templates/rpts/reports/cdpstk/templates/browser.html +0 -94
  1045. package/src/templates/rpts/reports/cdpstk/templates/print.html +0 -55
  1046. package/src/templates/rpts/reports/chitietchitientheohoadon/templates/browser.html +0 -97
  1047. package/src/templates/rpts/reports/chitietchitientheohoadon/templates/print.html +0 -60
  1048. package/src/templates/rpts/reports/chitiettaisan/templates/browser.html +0 -77
  1049. package/src/templates/rpts/reports/chitiettaisan/templates/print.html +0 -48
  1050. package/src/templates/rpts/reports/chitietthutientheohoadon/templates/browser.html +0 -101
  1051. package/src/templates/rpts/reports/chitietthutientheohoadon/templates/print.html +0 -60
  1052. package/src/templates/rpts/reports/congviectheokh/templates/browser.html +0 -81
  1053. package/src/templates/rpts/reports/congviectheokh/templates/print.html +0 -57
  1054. package/src/templates/rpts/reports/congviectheonv/templates/browser.html +0 -80
  1055. package/src/templates/rpts/reports/congviectheonv/templates/print.html +0 -59
  1056. package/src/templates/rpts/reports/ctbanle/templates/browser.html +0 -136
  1057. package/src/templates/rpts/reports/ctbanle/templates/print.html +0 -74
  1058. package/src/templates/rpts/reports/cthangbanbitralai/templates/browser.html +0 -96
  1059. package/src/templates/rpts/reports/cthangbanbitralai/templates/print.html +0 -59
  1060. package/src/templates/rpts/reports/ctmuahang/templates/browser.html +0 -115
  1061. package/src/templates/rpts/reports/ctmuahang/templates/print.html +0 -55
  1062. package/src/templates/rpts/reports/cttralaihang/templates/browser.html +0 -82
  1063. package/src/templates/rpts/reports/cttralaihang/templates/print.html +0 -57
  1064. package/src/templates/rpts/reports/dtbanletheokh/templates/browser.html +0 -109
  1065. package/src/templates/rpts/reports/dtbanletheokh/templates/print.html +0 -73
  1066. package/src/templates/rpts/reports/dtbanletheonam/templates/browser.html +0 -111
  1067. package/src/templates/rpts/reports/dtbanletheonam/templates/print.html +0 -71
  1068. package/src/templates/rpts/reports/dtbanletheongay/templates/browser.html +0 -112
  1069. package/src/templates/rpts/reports/dtbanletheongay/templates/print.html +0 -72
  1070. package/src/templates/rpts/reports/dtbanletheonv/templates/browser.html +0 -114
  1071. package/src/templates/rpts/reports/dtbanletheonv/templates/print.html +0 -67
  1072. package/src/templates/rpts/reports/dtbanletheoquy/templates/browser.html +0 -104
  1073. package/src/templates/rpts/reports/dtbanletheoquy/templates/print.html +0 -72
  1074. package/src/templates/rpts/reports/dtbanletheothang/templates/browser.html +0 -104
  1075. package/src/templates/rpts/reports/dtbanletheothang/templates/print.html +0 -71
  1076. package/src/templates/rpts/reports/dtbanletheovt/templates/browser.html +0 -101
  1077. package/src/templates/rpts/reports/dtbanletheovt/templates/print.html +0 -63
  1078. package/src/templates/rpts/reports/dutoanthuchitheodt/templates/browser.html +0 -219
  1079. package/src/templates/rpts/reports/dutoanthuchitheodt/templates/print.html +0 -193
  1080. package/src/templates/rpts/reports/hangbanbitralai/templates/browser.html +0 -86
  1081. package/src/templates/rpts/reports/hangbanbitralai/templates/print.html +0 -47
  1082. package/src/templates/rpts/reports/hoadonbanhangtheohantt/templates/browser.html +0 -120
  1083. package/src/templates/rpts/reports/hoadonbanhangtheohantt/templates/print.html +0 -83
  1084. package/src/templates/rpts/reports/hoadonmuahangtheohantt/templates/browser.html +0 -120
  1085. package/src/templates/rpts/reports/hoadonmuahangtheohantt/templates/print.html +0 -83
  1086. package/src/templates/rpts/reports/kcsns/templates/browser.html +0 -26
  1087. package/src/templates/rpts/reports/kqchamcong/templates/browser.html +0 -50
  1088. package/src/templates/rpts/reports/kqchamcong/templates/print.html +0 -33
  1089. package/src/templates/rpts/reports/kqhdkd/templates/browser.html +0 -75
  1090. package/src/templates/rpts/reports/kqhdkd/templates/print.html +0 -40
  1091. package/src/templates/rpts/reports/lcttgt/templates/browser.html +0 -76
  1092. package/src/templates/rpts/reports/lcttgt/templates/print.html +0 -40
  1093. package/src/templates/rpts/reports/lctttt/templates/browser.html +0 -77
  1094. package/src/templates/rpts/reports/lctttt/templates/print.html +0 -40
  1095. package/src/templates/rpts/reports/phanbochitienchohoadon/templates/browser.html +0 -134
  1096. package/src/templates/rpts/reports/phanbothutienchohoadon/templates/browser.html +0 -134
  1097. package/src/templates/rpts/reports/ptbitralai/templates/browser.html +0 -84
  1098. package/src/templates/rpts/reports/ptbitralai/templates/print.html +0 -36
  1099. package/src/templates/rpts/reports/ptcttct/templates/browser.html +0 -145
  1100. package/src/templates/rpts/reports/ptcttct/templates/print.html +0 -86
  1101. package/src/templates/rpts/reports/ptdonhang/templates/browser.html +0 -90
  1102. package/src/templates/rpts/reports/ptdonhang/templates/print.html +0 -42
  1103. package/src/templates/rpts/reports/pttct/templates/browser.html +0 -132
  1104. package/src/templates/rpts/reports/pttct/templates/print.html +0 -38
  1105. package/src/templates/rpts/reports/pttctkho/templates/browser.html +0 -128
  1106. package/src/templates/rpts/reports/pttctkho/templates/print.html +0 -36
  1107. package/src/templates/rpts/reports/pttctkho2/templates/browser.html +0 -125
  1108. package/src/templates/rpts/reports/pttctkho2/templates/print.html +0 -36
  1109. package/src/templates/rpts/reports/sctcnkh/templates/browser.html +0 -141
  1110. package/src/templates/rpts/reports/sctcnkh/templates/print.html +0 -51
  1111. package/src/templates/rpts/reports/sctdt/templates/browser.html +0 -187
  1112. package/src/templates/rpts/reports/sctdt/templates/print.html +0 -58
  1113. package/src/templates/rpts/reports/scttk/templates/browser.html +0 -137
  1114. package/src/templates/rpts/reports/scttk/templates/print.html +0 -49
  1115. package/src/templates/rpts/reports/sctvt/templates/browser.html +0 -130
  1116. package/src/templates/rpts/reports/sctvt/templates/print.html +0 -51
  1117. package/src/templates/rpts/reports/search/templates/browser.html +0 -245
  1118. package/src/templates/rpts/reports/socaitk/templates/browser.html +0 -137
  1119. package/src/templates/rpts/reports/socaitk/templates/print.html +0 -49
  1120. package/src/templates/rpts/reports/sochut/templates/browser.html +0 -75
  1121. package/src/templates/rpts/reports/sochut/templates/print.html +0 -41
  1122. package/src/templates/rpts/reports/sonkbh/templates/browser.html +0 -90
  1123. package/src/templates/rpts/reports/sonkbh/templates/print.html +0 -41
  1124. package/src/templates/rpts/reports/sonkc/templates/browser.html +0 -90
  1125. package/src/templates/rpts/reports/sonkc/templates/print.html +0 -54
  1126. package/src/templates/rpts/reports/sonkct/templates/browser.html +0 -90
  1127. package/src/templates/rpts/reports/sonkct/templates/print.html +0 -41
  1128. package/src/templates/rpts/reports/sonkmh/templates/browser.html +0 -90
  1129. package/src/templates/rpts/reports/sonkmh/templates/print.html +0 -41
  1130. package/src/templates/rpts/reports/sonktt/templates/browser.html +0 -90
  1131. package/src/templates/rpts/reports/sonktt/templates/print.html +0 -41
  1132. package/src/templates/rpts/reports/soquy/templates/browser.html +0 -88
  1133. package/src/templates/rpts/reports/soquy/templates/print.html +0 -48
  1134. package/src/templates/rpts/reports/sotaisan/templates/browser.html +0 -107
  1135. package/src/templates/rpts/reports/sotaisan/templates/print.html +0 -87
  1136. package/src/templates/rpts/reports/sotiengui/templates/browser.html +0 -88
  1137. package/src/templates/rpts/reports/sotiengui/templates/print.html +0 -48
  1138. package/src/templates/rpts/reports/thgt/templates/browser.html +0 -94
  1139. package/src/templates/rpts/reports/thgt/templates/print.html +0 -68
  1140. package/src/templates/rpts/reports/thnxt/templates/browser.html +0 -163
  1141. package/src/templates/rpts/reports/thnxt/templates/print.html +0 -63
  1142. package/src/templates/rpts/reports/tinhgiatb/templates/browser.html +0 -120
  1143. package/src/templates/rpts/reports/tinhgiatb/templates/print.html +0 -57
  1144. package/src/templates/rpts/reports/tinhgiathanh/templates/browser.html +0 -97
  1145. package/src/templates/rpts/reports/tinhgiathanh/templates/print.html +0 -69
  1146. package/src/templates/rpts/reports/tinhkhauhaots/templates/browser.html +0 -73
  1147. package/src/templates/rpts/reports/tinhkhauhaots/templates/print.html +0 -46
  1148. package/src/templates/rpts/reports/tkgtgt/templates/browser.html +0 -73
  1149. package/src/templates/rpts/reports/tkgtgt/templates/print.html +0 -43
  1150. package/src/templates/rpts/reports/tonghopbanhang/templates/browser.html +0 -94
  1151. package/src/templates/rpts/reports/tonghopbanhang/templates/print.html +0 -66
  1152. package/src/templates/rpts/reports/tonghopmuahang/templates/browser.html +0 -85
  1153. package/src/templates/rpts/reports/tonghopmuahang/templates/print.html +0 -49
  1154. package/src/templates/rpts/reports/tonghoptralaihang/templates/browser.html +0 -73
  1155. package/src/templates/rpts/reports/tonghoptralaihang/templates/print.html +0 -45
  1156. package/src/templates/rpts/so1.html +0 -235
  1157. package/src/templates/thong tin dang nhap.html +0 -15
  1158. package/src/templates/thong tin dang nhap.pug +0 -18
  1159. package/src/templates/thu moi gia nhap nhom.html +0 -14
  1160. package/src/templates/thu moi gia nhap nhom.pug +0 -18
  1161. package/src/test/array.js +0 -59
  1162. package/src/test/utils.js +0 -191
  1163. package/src/tools/convertVideo.js +0 -19
  1164. package/src/tools/create_province.js +0 -11191
  1165. package/src/tools/resave.js +0 -123
  1166. package/src/tools/resetPassword.js +0 -45
  1167. package/src/tools/set_px_gia_dd.js +0 -120
  1168. package/src/tools/update.js +0 -116
  1169. package/src/tools/update.min.js +0 -2
  1170. package/src/tools/update_system.js +0 -47
  1171. package/src/viettel-einvoice-example.json +0 -96
  1172. package/src/workers/backupApp.js +0 -127
  1173. package/src/workers/calcGrid.js +0 -102
  1174. package/src/workers/customerOnImport.js +0 -75
  1175. package/src/workers/dmvtOnImport.js +0 -119
  1176. package/src/workers/excelParser.js +0 -107
  1177. package/src/workers/inputWorker.js +0 -52
  1178. package/src/workers/pushNotify.js +0 -134
  1179. package/src/workers/reportWorker.js +0 -58
  1180. package/src/workers/restoreApp.js +0 -280
  1181. package/src/workers/runScript.js +0 -37
  1182. package/src/workers/sendEmail.js +0 -158
  1183. package/src/workers/webhook.js +0 -46
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "flexbiz-server",
3
3
  "main": "./server/app.js",
4
4
  "description": "Flexible Server",
5
- "version": "12.0.5",
5
+ "version": "12.0.8",
6
6
  "author": {
7
7
  "name": "Van Truong Pham",
8
8
  "email": "invncur@gmail.com"
@@ -3,11 +3,11 @@ dmqct=global.getModel("dmqct"),counter=global.getModel("counter"),async=require(
3
3
  htmlReport=require("../libs/htmlReport"),User=global.getModel("user"),Usergroup=global.getModel("usergroup"),textReport=require("../libs/textReport"),dmqddvt=global.getModel("dmqddvt"),StaticPool=require("../libs/WorkerStaticPool"),ERR_NOT_FOUND="ERR_NOT_FOUND: \u0110\u1ed1i t\u01b0\u1ee3ng n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i",ERR_NOT_FOUND_CODE=1100,ERR_NOT_PERMIT="ERR_NOT_PERMIT: Kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y",ERR_NOT_PERMIT_CODE=1200,ERR_ALREADY_EXIST=
4
4
  "ERR_ALREADY_EXIST: \u0110\u1ed1i t\u01b0\u1ee3ng n\u00e0y \u0111\u00e3 th\u1ef1c s\u1ef1 t\u1ed3n t\u1ea1i",ERR_ALREADY_EXIST_CODE=1300,ERR_NOT_HAVE_DATA="ERR_NOT_HAVE_DATA: Kh\u00f4ng c\u00f3 d\u1eef li\u1ec7u",ERR_NOT_HAVE_DATA_CODE=1400,ERR_CAN_NOT_UPDATE="ERR_CAN_NOT_UPDATE: Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",ERR_CAN_NOT_UPDATE_CODE=1500,ERR_DATA_GENERATED="ERR_DATA_GENERATED: \u0110\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u li\u00ean quan",ERR_DATA_GENERATED_CODE=
5
5
  1600,ERR_ID_INVALID="ERR_ID_INVALID: Id kh\u00f4ng h\u1ee3p l\u1ec7",ERR_ID_INVALID_CODE=1700,ERR_KEY_ARISE="ERR_KEY_ARISE_DATA: ",ERR_KEY_ARISE_CODE=1800,ERR_ARISE="ERR_ARISE_DATA: ",ERR_ARISE_CODE=1900,ERR_VERIFY_OTP=4001,fields_sync_master_detail=["ma_ct","so_ct","ngay_ct"];function bodyToJson($body$$){$body$$.json&&($body$$=JSON.parse($body$$.json));delete $body$$._id;delete $body$$.__v;return $body$$}
6
- async function asyncBodyToJson($body$$,$ctrl$$,$id_app$$,$voucher_options$$){$voucher_options$$||($voucher_options$$=(await OptionsModel.findOne({id_app:$id_app$$,id_func:$ctrl$$.name},{option:1}).lean()||{}).option);$body$$=bodyToJson($body$$);for(let $key$$ in $body$$)Array.isArray($body$$[$key$$])&&$body$$[$key$$].forEach($r$$=>{_.isObject($r$$)&&delete $r$$._id});if($voucher_options$$)for(let $field$$ in $voucher_options$$)!$body$$[$field$$]&&"_id"!==$field$$&&$voucher_options$$[$field$$]&&underscore.has($ctrl$$.model.schema.paths,
7
- $field$$)&&($body$$[$field$$]=$voucher_options$$[$field$$]);return $body$$}
6
+ async function asyncBodyToJson($body$$,$ctrl$$,$id_app$$,$voucher_options$$){$voucher_options$$||($voucher_options$$=(await OptionsModel.findOne({id_app:$id_app$$,id_func:$ctrl$$.name},{option:1}).lean()||{}).option);$body$$=bodyToJson($body$$);if($voucher_options$$)for(let $field$$ in $voucher_options$$)!$body$$[$field$$]&&"_id"!==$field$$&&$voucher_options$$[$field$$]&&underscore.has($ctrl$$.model.schema.paths,$field$$)&&($body$$[$field$$]=$voucher_options$$[$field$$]);for(let $key$$ in $body$$)if(Array.isArray($body$$[$key$$])&&
7
+ $body$$[$key$$].forEach($r$$=>{_.isObject($r$$)&&delete $r$$._id}),$body$$[$key$$]&&$body$$[$key$$]instanceof String&&(0==$body$$[$key$$].trim().indexOf("[")||0==$body$$[$key$$].trim().indexOf("{"))&&("mixed"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()||"array"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()))try{$body$$[$key$$]=JSON.parse($body$$[$key$$])}catch($e$$){console.error($e$$)}return $body$$}
8
8
  const getData=($id_app$$,$collection$$,$field$$,$condition$$)=>{if("token"===$collection$$||"asskey"===$collection$$)throw`Collection ${$collection$$} is not allow`;"dmkh"===$collection$$&&($collection$$="customer");"dmtk"===$collection$$&&($collection$$="account");let $col$$=mongoose.models[$collection$$];if($col$$){if($col$$.schema.paths.id_app){if(!$id_app$$)throw`Collection ${$collection$$} required id_app`;$condition$$.id_app=$id_app$$}let $fields$$;$field$$&&($fields$$={[$field$$]:1});if("user"===
9
9
  $collection$$||"participant"===$collection$$)$fields$$={name:1};"app"===$collection$$&&($fields$$||($fields$$={}),$fields$$={...$fields$$,viettel_user:0,viettel_password:0,viettel_url_service:0,sip_uri:0,sip_password:0,sip_websocket:0,voiip_access_token:0,voiip_webhook:0,wallet_address:0,wallet_token:0,owner:0,default_password:0,email_host:0,email_port:0,email_secure:0,email_authMethod:0,email_user:0,email_pass:0,email_name:0,exfields:0,ssl_key:0,ssl_cert:0,ssl_ca:0});return $col$$.findOne($condition$$,
10
- $fields$$).lean()}throw`Collection ${$collection$$} is not exists`;},isExists=function($model$$,$unique$$,$obj$$,$replaceIfExists$$,$fn$$){if(!$unique$$||0===$unique$$.length)return $fn$$(null,!1);let $condition$$;$condition$$=$obj$$.id_app?{id_app:$obj$$.id_app}:{};for(let $i$$=0;$i$$<$unique$$.length;$i$$++){let $key$$=$unique$$[$i$$],$v$$=$obj$$[$key$$];void 0!=$v$$&&$model$$.schema.paths[$key$$]&&(null!==$v$$?"number"==$model$$.schema.paths[$key$$].instance.toLowerCase()?$condition$$[$key$$]=
10
+ $fields$$).lean().exec()}throw`Collection ${$collection$$} is not exists`;},isExists=function($model$$,$unique$$,$obj$$,$replaceIfExists$$,$fn$$){if(!$unique$$||0===$unique$$.length)return $fn$$(null,!1);let $condition$$;$condition$$=$obj$$.id_app?{id_app:$obj$$.id_app}:{};for(let $i$$=0;$i$$<$unique$$.length;$i$$++){let $key$$=$unique$$[$i$$],$v$$=$obj$$[$key$$];void 0!=$v$$&&$model$$.schema.paths[$key$$]&&(null!==$v$$?"number"==$model$$.schema.paths[$key$$].instance.toLowerCase()?$condition$$[$key$$]=
11
11
  Number($v$$):"date"==$model$$.schema.paths[$key$$].instance.toLowerCase()?$condition$$[$key$$]=new Date($v$$):"string"==$model$$.schema.paths[$key$$].instance.toLowerCase()?$condition$$[$key$$]=$v$$.toString():$condition$$[$key$$]=$v$$:$condition$$[$key$$]=$v$$)}$replaceIfExists$$?$model$$.deleteMany($condition$$,$e$$=>{setImmediate(()=>{if($e$$)return $fn$$($e$$);$fn$$(null,!1)})}):$model$$.findOne($condition$$,{_id:1},($error$$,$result$$)=>{setImmediate(()=>{if($error$$)return $fn$$($error$$);if(!$result$$)return $fn$$(null,
12
12
  !1);console.log("object exists",$condition$$);$fn$$(null,!0)})})};
13
13
  class controller{constructor($router$$,$model$$,$name$$,$options$jscomp$0$$={isVoucher:void 0,sort:void 0,check_stock:void 0,unique:void 0,require_id_app:void 0,notNeedRight:void 0}){this.name=$name$$;this.model=$model$$;this.router=$router$$;this.module=this.name;global.controllers[$name$$.trim().toUpperCase()]=this;$options$jscomp$0$$.findExact||($options$jscomp$0$$.findExact={});this.keyValues=$options$jscomp$0$$.keyValues;this.keyValues||(this.keyValues={});void 0===$options$jscomp$0$$.require_id_app||
@@ -34,11 +34,12 @@ $e$$,$approveData_condition$$),!1}});$approveDatas$$.filter($a$$=>$a$$.approve_u
34
34
  $ds_nguoi_duyet$$.map($nguoi_duyet$$=>({email:$nguoi_duyet$$,name:$nguoi_duyet$$}));$user_approves$$.joinModel2($obj$$.id_app,Participant,{where:"email",fields:"name"},()=>{Approve.request($user_request$$,$user_approves$$,$title$$,$obj$$,$e$$=>{$e$$&&console.error("error create request approve",$e$$.message)},$update_after_approve$$,$approveData$$.template_content)})}})});$next$$(null,$obj$$)}async sendEmailNotification($user$$,$obj$$,$title$$,$callback$jscomp$0$$,$voucher_options$$){$voucher_options$$||
35
35
  ($voucher_options$$=(await OptionsModel.findOne({id_app:$obj$$.id_app,id_func:this.name},{option:1}).lean()||{}).option);$voucher_options$$&&$voucher_options$$.send_notification_to_users?async.map($voucher_options$$.send_notification_to_users,($u$$,$callback$$)=>{setImmediate(()=>{global.createNotification($obj$$.user_updated,$u$$.email,$title$$,$title$$,($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)},$obj$$,!0,$user$$.c_token,!0)})},$e$$=>{$callback$jscomp$0$$($e$$)}):$callback$jscomp$0$$()}async import($user$$,
36
36
  $id_app$$,$data$$,$callback$jscomp$0$$,$options$$={replace:!0,req:null}){const $ctrl$$=this;let $replace$$=$options$$.replace,$rows_error$$=[];const $listInfo$$=global.getModel("listinfo");let $info$$=await $listInfo$$.findOne({code:$ctrl$$.name.toLowerCase()}).lean();$info$$&&await $listInfo$$.updateModel($info$$,$ctrl$$.model);$data$$=$data$$.filter($row$$=>{let $has_data$$=!1;for(let $key$$ in $row$$)if($row$$[$key$$]){$has_data$$=!0;break}return $has_data$$});$data$$.forEach($r$$=>{delete $r$$.ten_dvcs});
37
- await $data$$.filter($r$$=>$r$$.ma_dvcs).asyncJoinModel2($id_app$$,global.getModel("dvcs"),{where:{ma_dvcs:"_id"},fields:"ten_dvcs"});async.map($data$$,function($row$$,$callback$$){const $row_keys$$=Object.keys($row$$);setImmediate(()=>{delete $row$$.__v;$row$$.ma_dvcs&&!$row$$.ten_dvcs&&delete $row$$.ma_dvcs;$id_app$$!=$row$$.id_app&&delete $row$$._id;delete $row$$.id_app;if($replace$$&&$ctrl$$.unique&&0<$ctrl$$.unique.length){let $query$$={};0!=$ctrl$$.require_id_app&&($query$$.id_app=$id_app$$);
38
- $ctrl$$.options.unique_imp&&$row$$[$ctrl$$.options.unique_imp]?$query$$[$ctrl$$.options.unique_imp]=$row$$[$ctrl$$.options.unique_imp]:$ctrl$$.unique.forEach(function($k$$){0<=$row_keys$$.indexOf($k$$)&&($query$$[$k$$]=$row$$[$k$$])});$ctrl$$.model.find($query$$).lean().exec(function($error$$,$rss$$){if(1<$rss$$.length)return $callback$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u1ed1i t\u01b0\u1ee3ng:"+Object.values($query$$).join("-"));setImmediate(()=>{if($error$$)return $callback$$($error$$);
39
- if(1===$rss$$.length){let $rs$$=$rss$$[0];$row$$.id_app=$rs$$.id_app;$row$$._id=$rs$$._id.toString();$ctrl$$.unique.forEach(function($k$$){$row$$[$k$$]=$rs$$[$k$$]});update($user$$,$ctrl$$,$rs$$._id,$row$$,function($e$$){console.log("updated object...");if($e$$){let $_e$$=$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,error:"Error update data:"+$_e$$})}$callback$$()},"import",$options$$.req)}else create($user$$,$ctrl$$,$row$$,function($e$$){console.log("created new object...");
40
- if($e$$){let $_e$$=$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,error:$_e$$})}$callback$$()},$row$$._id,$options$$.req)})})}else create($user$$,$ctrl$$,$row$$,function($e$$){console.log("created new object...");setImmediate(()=>{if($e$$){let $_e$$=$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,error:$_e$$})}$callback$$()})},$row$$._id,$options$$.req)})},function($error$$){setImmediate(()=>{console.log("finish import...");if($error$$)return $callback$jscomp$0$$($error$$);
41
- 0===$rows_error$$.length?$callback$jscomp$0$$(null,{rows_imported:$data$$.length,rows_error:[]}):$callback$jscomp$0$$(null,{rows_imported:$data$$.length-$rows_error$$.length,rows_error:$rows_error$$})})})}}controller.prototype.__proto__=EventEmitter.prototype;
37
+ await $data$$.filter($r$$=>$r$$.ma_dvcs).asyncJoinModel2($id_app$$,global.getModel("dvcs"),{where:{ma_dvcs:"_id"},fields:"ten_dvcs"});async.map($data$$,function($row$$,$callback$$){const $row_keys$$=Object.keys($row$$);$row_keys$$.forEach($key$$=>{let $data_type$$=$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase(),$data_value$$=$row$$[$key$$];if($data_value$$&&_.isString($data_value$$)&&("mixed"==$data_type$$||"array"==$data_type$$)&&($data_value$$=$data_value$$.trim(),0==$data_value$$.indexOf("[")||
38
+ 0==$data_value$$.indexOf("{")))try{$row$$[$key$$]=JSON.parse($data_value$$)}catch($e$$){delete $row$$[$key$$],console.error("Error parse data",$e$$)}});setImmediate(()=>{delete $row$$.__v;$row$$.ma_dvcs&&!$row$$.ten_dvcs&&delete $row$$.ma_dvcs;$id_app$$!=$row$$.id_app&&delete $row$$._id;delete $row$$.id_app;if($replace$$&&$ctrl$$.unique&&0<$ctrl$$.unique.length){let $query$$={};0!=$ctrl$$.require_id_app&&($query$$.id_app=$id_app$$);$ctrl$$.options.unique_imp&&$row$$[$ctrl$$.options.unique_imp]?$query$$[$ctrl$$.options.unique_imp]=
39
+ $row$$[$ctrl$$.options.unique_imp]:$ctrl$$.unique.forEach(function($k$$){0<=$row_keys$$.indexOf($k$$)&&($query$$[$k$$]=$row$$[$k$$])});$ctrl$$.model.find($query$$).lean().exec(function($error$$,$rss$$){if(1<$rss$$.length)return $callback$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u1ed1i t\u01b0\u1ee3ng:"+Object.values($query$$).join("-"));setImmediate(()=>{if($error$$)return $callback$$($error$$);if(1===$rss$$.length){let $rs$$=$rss$$[0];$row$$.id_app=$rs$$.id_app;$row$$._id=$rs$$._id.toString();
40
+ $ctrl$$.unique.forEach(function($k$$){$row$$[$k$$]=$rs$$[$k$$]});update($user$$,$ctrl$$,$rs$$._id,$row$$,function($e$$){console.log("updated object...");if($e$$){let $_e$$=$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,error:"Error update data:"+$_e$$})}$callback$$()},"import",$options$$.req)}else create($user$$,$ctrl$$,$row$$,function($e$$){console.log("created new object...");if($e$$){let $_e$$=$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,
41
+ error:$_e$$})}$callback$$()},$row$$._id,$options$$.req)})})}else create($user$$,$ctrl$$,$row$$,function($e$$){console.log("created new object...");setImmediate(()=>{if($e$$){let $_e$$=$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,error:$_e$$})}$callback$$()})},$row$$._id,$options$$.req)})},function($error$$){setImmediate(()=>{console.log("finish import...");if($error$$)return $callback$jscomp$0$$($error$$);0===$rows_error$$.length?$callback$jscomp$0$$(null,{rows_imported:$data$$.length,
42
+ rows_error:[]}):$callback$jscomp$0$$(null,{rows_imported:$data$$.length-$rows_error$$.length,rows_error:$rows_error$$})})})}}controller.prototype.__proto__=EventEmitter.prototype;
42
43
  const getNextSequence=async function($id_app$$,$ma_ct$$,$field$$,$callback$$,$options$$={}){var $condition_qct_qcts$$={status:!0,field:$field$$,id_app:$id_app$$,$and:[{$or:[{ma_ct:"#",ma_ct_khac:{$regex:$ma_ct$$,$options:"i"}},{cac_ma_ct:$ma_ct$$.toLowerCase()},{ma_ct:$ma_ct$$.toUpperCase()}]}]};$options$$.id_qct&&($condition_qct_qcts$$._id=$options$$.id_qct);if($options$$.ngay_ct){let $start_date$$=moment($options$$.ngay_ct).startOf("date").toDate(),$end_date$$=moment($options$$.ngay_ct).endOf("date").toDate();
43
44
  $condition_qct_qcts$$.$and.push({$or:[{tu_ngay:null},{tu_ngay:{$lte:$end_date$$}}]});$condition_qct_qcts$$.$and.push({$or:[{den_ngay:null},{den_ngay:{$gte:$start_date$$}}]})}$options$$.toObject&&($options$$=$options$$.toObject());$condition_qct_qcts$$=await dmqct.find($condition_qct_qcts$$).lean();const $keys$$=Object.keys($options$$),$qct$$=$condition_qct_qcts$$.find($qct$$=>{if($qct$$.dieu_kien&&0<$keys$$.length)try{let $str_func$$=$qct$$.dieu_kien;if(0<=$str_func$$.indexOf("async "))return!1;0!==
44
45
  $str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);return evalute($str_func$$,{...$options$$,master:{...$options$$},moment,numeral})}catch($e$$){return console.error("Error find quyen chung tu",$e$$,$qct$$.dieu_kien),!1}else return!0});counter.getNextSequence($id_app$$,$ma_ct$$,$qct$$?$qct$$._id.toString():$field$$,function($error$$,$rs$jscomp$0$$){if($error$$)console.error("auto create code for",$ma_ct$$,$field$$,$error$$),$callback$$($error$$);else{if($qct$$){let $tien_to$$=$qct$$.tien_to||
@@ -65,22 +66,22 @@ setImmediate(()=>{$ctrl$$.options.assignWiths?async.map($ctrl$$.options.assignWi
65
66
  {if($shareRoute$$||$req$$.admin||"dmkho"===$ctrl$$.name)return $next$$();if(underscore.has($model$$.schema.paths,"ma_kho")||underscore.has($model$$.schema.paths,"ma_kho_x")||underscore.has($model$$.schema.paths,"ma_kho_n")){let $dmkho$$=mongoose.models.dmkho;permission.getRightDataView($req$$.user.current_id_app,$dmkho$$,$req$$.user.email,function($e$jscomp$0$$,$_condition$$,$admin$$){setImmediate(()=>{if($e$jscomp$0$$)return $next$$($e$jscomp$0$$);if($admin$$)return $next$$();$_condition$$.id_app=
66
67
  $req$$.user.current_id_app;$req$$.condition.ma_kho&&($_condition$$.ma_kho=$req$$.condition.ma_kho);$dmkho$$.find($_condition$$,{ma_kho:1}).lean().exec(($e$$,$rs$$)=>{setImmediate(()=>{if($e$$)return $next$$($e$$);let $dskho$$=underscore.pluck($rs$$,"ma_kho");$dskho$$.push("");$dskho$$.push(null);$dskho$$.push(void 0);if(underscore.has($model$$.schema.paths,"ma_kho"))return $req$$.condition.ma_kho={$in:$dskho$$},$next$$();if("pxc"===$ctrl$$.name&&underscore.has($model$$.schema.paths,"ma_kho_x"))return $req$$.condition.ma_kho_x=
67
68
  {$in:$dskho$$},$next$$();if("pnc"===$ctrl$$.name&&underscore.has($model$$.schema.paths,"ma_kho_n"))return $req$$.condition.ma_kho_n={$in:$dskho$$},$next$$();$next$$()})})})})}else $next$$()})},function($req$$,$res$$,$next$$){setImmediate(()=>{if($shareRoute$$)return $next$$();permission.hasRight($req$$.user.current_id_app,$req$$.user.email,$ctrl$$.module,"view",function($error$$,$permission$$){setImmediate(()=>{if($ctrl$$.options.onQuery)$req$$.permission=$permission$$,$ctrl$$.options.onQuery($req$$,
68
- $e$$=>{if($e$$)return $next$$($e$$);if(!$req$$.permission)return $res$$.send([]);$next$$()});else{if(!$permission$$)return $res$$.send([]);$next$$()}})},{notNeedRight:$ctrl$$.options.notNeedRight})})},async function($req$$,$res$$,$next$$){setImmediate(async()=>{let $condition$$=$req$$.condition;$condition$$||($condition$$={});if($shareRoute$$){$condition$$.shared=!0;var $id_sellers_q_share_app_query$$={sale_online:!0};if($condition$$.id_app){if(!global.mongoose.Types.ObjectId.isValid($condition$$.id_app))return $res$$.status(400).send({error:"id_app kh\u00f4ng h\u1ee3p l\u1ec7"});
69
- $id_sellers_q_share_app_query$$._id=$condition$$.id_app}$id_sellers_q_share_app_query$$=(await app.find($id_sellers_q_share_app_query$$,{_id:1}).lean()).map($a$$=>$a$$._id);console.log("sellers",$id_sellers_q_share_app_query$$);$condition$$.id_app={$in:$id_sellers_q_share_app_query$$}}else underscore.has($model$$.schema.paths,"id_app")&&!1!==$ctrl$$.require_id_app&&($condition$$.id_app=$req$$.user.current_id_app);underscore.extend($condition$$,$ctrl$$.keyValues);$condition$$.$and&&0===$condition$$.$and.length&&
70
- delete $condition$$.$and;$condition$$.$or&&0===$condition$$.$or.length&&delete $condition$$.$or;$condition$$.$nor&&0===$condition$$.$nor.length&&delete $condition$$.$nor;$id_sellers_q_share_app_query$$=null;if($req$$.query.count)$condition$$.$where?(console.log("phai loai bo $where trong condition"),$id_sellers_q_share_app_query$$=$model$$.count($condition$$,function($e$$,$data$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||
71
- $e$$});$res$$.send({rows_number:$data$$})})):$id_sellers_q_share_app_query$$=$model$$.countDocuments($condition$$,function($e$$,$data$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send({rows_number:$data$$})});else{let $field_not_right$$;try{$field_not_right$$=await permission.getFieldNotRight($req$$.user.current_id_app,$req$$.user.email,$ctrl$$.name)}catch($e$$){$field_not_right$$=[]}var $fields$$=$req$$.query.fields;
72
- let $gfields$$={};$fields$$&&(underscore.isArray($fields$$)?$fields$$.forEach($f$$=>{"_id"!==$f$$&&($gfields$$[$f$$]=1)}):underscore.isObject($fields$$)?$gfields$$={...$gfields$$,...$fields$$}:$fields$$.split(",").filter($f$$=>$f$$&&0>$field_not_right$$.indexOf($f$$)).forEach($f$$=>{"_id"!==$f$$&&($gfields$$[$f$$]=1)}));$field_not_right$$.forEach($f$$=>{$gfields$$[$f$$]=0});!$fields$$&&(($fields$$=$req$$.query.notfields)&&(underscore.isArray($fields$$)?$fields$$.forEach($f$$=>{$f$$&&"_id"!==$f$$&&
73
- ($gfields$$[$f$$]=0)}):underscore.isObject($fields$$)?$gfields$$={...$gfields$$,...$fields$$}:$fields$$.split(",").forEach($f$$=>{$f$$&&"_id"!==$f$$&&($gfields$$[$f$$]=0)})),$shareRoute$$||"public"===$req$$.user.email)&&($gfields$$.dataview_to=0,$gfields$$.dataview_to_users=0);$condition$$.$text&&($gfields$$||($gfields$$={}),$gfields$$.textScore={$meta:"textScore"});if($req$$.query.group||$req$$.query.project||$req$$.query.match||$req$$.query.aggregate)try{$id_sellers_q_share_app_query$$=$model$$.aggregate([{$match:$condition$$}]);
74
- $req$$.query.group&&($group_page$$=JSON.parse($req$$.query.group),$id_sellers_q_share_app_query$$.group($group_page$$));if($req$$.query.match){let $match$$=JSON.parse($req$$.query.match);$id_sellers_q_share_app_query$$.match($match$$)}if($req$$.query.project)$limit_project$$=JSON.parse($req$$.query.project),$id_sellers_q_share_app_query$$.project($limit_project$$);else if($gfields$$&&0<Object.keys($gfields$$).length)$limit_project$$=$gfields$$;else if($limit_project$$={_id:1},$group_page$$)for(let $key$$ in $group_page$$)$limit_project$$[$key$$]=
75
- 1;$id_sellers_q_share_app_query$$.project($limit_project$$);if($req$$.query.aggregate){let $aggregate$$=JSON.parse($req$$.query.aggregate);$id_sellers_q_share_app_query$$.append($aggregate$$)}}catch($e$$){return $res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$})}else console.log("search data",$ctrl$$.name,"shared",$shareRoute$$,$condition$$),$id_sellers_q_share_app_query$$=$model$$.find($condition$$,$gfields$$);!$sort$$&&$gfields$$.textScore?$sort$$={textScore:{$meta:"textScore"}}:$sort$$&&
76
- ($sort$$._id=1);$sort$$&&$id_sellers_q_share_app_query$$.sort($sort$$);var $group_page$$=$req$$.query.page,$limit_project$$=$req$$.query.limit;$limit_project$$&&($limit_project$$=Number($limit_project$$));$limit_project$$||($limit_project$$=!1!==$ctrl$$.require_id_app&&"right"!==$ctrl$$.name?20:1E5);$limit_project$$&&500<$limit_project$$&&"xlsx"!==$req$$.query.type_data&&!$req$$.query.print&&!1!==$ctrl$$.require_id_app&&"right"!==$ctrl$$.name&&($limit_project$$=500);$group_page$$?$id_sellers_q_share_app_query$$.skip((Number($group_page$$)-
77
- 1)*$limit_project$$).limit($limit_project$$):$id_sellers_q_share_app_query$$.limit($limit_project$$);$id_sellers_q_share_app_query$$.lean&&($id_sellers_q_share_app_query$$=$id_sellers_q_share_app_query$$.lean());$id_sellers_q_share_app_query$$.exec(function($e$jscomp$0$$,$obj4view$$){if($e$jscomp$0$$)return console.error($e$jscomp$0$$,$condition$$),$res$$.status(400).send({error:$e$jscomp$0$$.error||$e$jscomp$0$$.message||$e$jscomp$0$$});$obj4view$$||($obj4view$$=[]);async.parallel({found:function($callback$$){$ctrl$$.found?
78
- $ctrl$$.found($req$$.user,$condition$$,$obj4view$$,function($error$$,$items$$){setImmediate(()=>{$callback$$($error$$,$items$$)})}):$callback$$(null,$obj4view$$)},set_collection_name:function($callback$$){$obj4view$$.forEach($obj$$=>{$obj$$.collection_name||($obj$$.collection_name=$ctrl$$.collection_name)});$callback$$(null)}},function($error$jscomp$0$$,$rs$jscomp$0$$){setImmediate(()=>{if($error$jscomp$0$$)return $next$$($error$jscomp$0$$);$obj4view$$=$rs$jscomp$0$$.found;async.parallel({e_view:function($callback$$){$ctrl$$.onView($req$$.user,
79
- $obj4view$$,($error$$,$viewValue$$)=>{setImmediate(()=>{if($error$$)return console.error("Erron on view:",$error$$),$callback$$($error$$);$callback$$(null,$viewValue$$)})},{req:$req$$,shareRoute:$shareRoute$$})}},async function($app$jscomp$1_dir_root_template_e$$,$_groupBy_func_string_rs$$){if($error$jscomp$0$$)return $next$$($error$jscomp$0$$);if($req$$.query.type_data&&"xlsx"==$req$$.query.type_data){$app$jscomp$1_dir_root_template_e$$=(configs.paths||{}).templates;let $template_id$$,$excelTemplate$$;
80
- if($template_id$$=$req$$.query.id_template){if(!global.mongoose.Types.ObjectId.isValid($template_id$$))return $res$$.status(400).send({error:"M\u1eabu excel kh\u00f4ng t\u1ed3n t\u1ea1i"});$excelTemplate$$=await global.getModel("exportexceltemplate").findById($template_id$$);if(!$excelTemplate$$||!$excelTemplate$$.file)return $res$$.status(400).send({error:"M\u1eabu excel kh\u00f4ng t\u1ed3n t\u1ea1i"});var $_rs_msg_templatePath$$=$app$jscomp$1_dir_root_template_e$$?`${path.dirname($app$jscomp$1_dir_root_template_e$$)}${$excelTemplate$$.file}`:
81
- `${path.dirname(__dirname)}${$excelTemplate$$.file}`}else $app$jscomp$1_dir_root_template_e$$&&($_rs_msg_templatePath$$=`${$app$jscomp$1_dir_root_template_e$$}/excels/lists/${$ctrl$$.name}.xlsx`),$_rs_msg_templatePath$$&&fs.existsSync($_rs_msg_templatePath$$)||($_rs_msg_templatePath$$=`${path.dirname(__dirname)}/templates/excels/lists/${$ctrl$$.name}.xlsx`);if(!fs.existsSync($_rs_msg_templatePath$$))return $_rs_msg_templatePath$$="File m\u1eabu excel ch\u01b0a \u0111\u01b0\u1ee3c khai b\u00e1o t\u1ea1i '"+
82
- $_rs_msg_templatePath$$+"'",$res$$.status(400).send({error:$_rs_msg_templatePath$$});$app$jscomp$1_dir_root_template_e$$={};$_groupBy_func_string_rs$$.e_view.forEach($item$$=>{for(let $_key$$ in $item$$){let $_v$$=$item$$[$_key$$];if(underscore.isObject($_v$$))for(let $__key$$ in $_v$$){let $__v$$=$_v$$[$__key$$];if(!underscore.isFunction($__v$$))if(0<=$__key$$.indexOf("ngay")||0<=$__key$$.indexOf("date"))try{$item$$[`${$_key$$}_${$__key$$}`]=new Date($__v$$)}catch($e$$){$item$$[`${$_key$$}_${$__key$$}`]=
83
- $__v$$}else $item$$[`${$_key$$}_${$__key$$}`]=$__v$$}else if($_v$$&&0<=$_key$$.indexOf("ngay")||0<=$_key$$.indexOf("date"))try{let $d$$=moment($_v$$,"YYYY-MM-DD");$d$$.isValid()&&($item$$[`${$_key$$}`]=$d$$.toDate(),$item$$[`${$_key$$}_string`]=$d$$.format("DD/MM/YYYY"))}catch($e$$){console.error("Error convert to date",$_v$$,$e$$)}}});$app$jscomp$1_dir_root_template_e$$.detail=$_groupBy_func_string_rs$$.e_view;if($excelTemplate$$&&$excelTemplate$$.handle_data){$_groupBy_func_string_rs$$=`return (async ()=>{
69
+ $e$$=>{if($e$$)return $next$$($e$$);if(!$req$$.permission)return $res$$.send([]);$next$$()});else{if(!$permission$$)return $res$$.send([]);$next$$()}})},{notNeedRight:$ctrl$$.options.notNeedRight})})},async function($req$$,$res$$,$next$$){setImmediate(async()=>{let $condition$$=$req$$.condition;$condition$$||($condition$$={});if($shareRoute$$){$condition$$.shared=!0;var $id_sellers_query$$=(await app.find({sale_online:!0},{_id:1}).lean()).map($a$$=>$a$$._id);$condition$$.$and||($condition$$.$and=
70
+ []);$condition$$.$and.push({id_app:{$in:$id_sellers_query$$}});$condition$$.id_app&&$condition$$.$and.push({id_app:$condition$$.id_app})}else underscore.has($model$$.schema.paths,"id_app")&&!1!==$ctrl$$.require_id_app&&($condition$$.id_app=$req$$.user.current_id_app);underscore.extend($condition$$,$ctrl$$.keyValues);$condition$$.$and&&0===$condition$$.$and.length&&delete $condition$$.$and;$condition$$.$or&&0===$condition$$.$or.length&&delete $condition$$.$or;$condition$$.$nor&&0===$condition$$.$nor.length&&
71
+ delete $condition$$.$nor;$id_sellers_query$$=null;if($req$$.query.count)$condition$$.$where?(console.log("phai loai bo $where trong condition"),$id_sellers_query$$=$model$$.count($condition$$,function($e$$,$data$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send({rows_number:$data$$})})):$id_sellers_query$$=$model$$.countDocuments($condition$$,function($e$$,$data$$){if($e$$)return console.error($e$$),$e$$.error?
72
+ $res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send({rows_number:$data$$})});else{let $field_not_right$$;try{$field_not_right$$=await permission.getFieldNotRight($req$$.user.current_id_app,$req$$.user.email,$ctrl$$.name)}catch($e$$){$field_not_right$$=[]}var $fields$$=$req$$.query.fields;let $gfields$$={};$fields$$&&(underscore.isArray($fields$$)?$fields$$.forEach($f$$=>{"_id"!==$f$$&&($gfields$$[$f$$]=1)}):underscore.isObject($fields$$)?$gfields$$={...$gfields$$,
73
+ ...$fields$$}:$fields$$.split(",").filter($f$$=>$f$$&&0>$field_not_right$$.indexOf($f$$)).forEach($f$$=>{"_id"!==$f$$&&($gfields$$[$f$$]=1)}));$field_not_right$$.forEach($f$$=>{$gfields$$[$f$$]=0});!$fields$$&&(($fields$$=$req$$.query.notfields)&&(underscore.isArray($fields$$)?$fields$$.forEach($f$$=>{$f$$&&"_id"!==$f$$&&($gfields$$[$f$$]=0)}):underscore.isObject($fields$$)?$gfields$$={...$gfields$$,...$fields$$}:$fields$$.split(",").forEach($f$$=>{$f$$&&"_id"!==$f$$&&($gfields$$[$f$$]=0)})),$shareRoute$$||
74
+ "public"===$req$$.user.email)&&($gfields$$.dataview_to=0,$gfields$$.dataview_to_users=0);$condition$$.$text&&($gfields$$||($gfields$$={}),$gfields$$.textScore={$meta:"textScore"});if($req$$.query.group||$req$$.query.project||$req$$.query.match||$req$$.query.aggregate)try{$id_sellers_query$$=$model$$.aggregate([{$match:$condition$$}]);$req$$.query.group&&($group_page$$=JSON.parse($req$$.query.group),$id_sellers_query$$.group($group_page$$));if($req$$.query.match){let $match$$=JSON.parse($req$$.query.match);
75
+ $id_sellers_query$$.match($match$$)}if($req$$.query.project)$limit_project$$=JSON.parse($req$$.query.project),$id_sellers_query$$.project($limit_project$$);else if($gfields$$&&0<Object.keys($gfields$$).length)$limit_project$$=$gfields$$;else if($limit_project$$={_id:1},$group_page$$)for(let $key$$ in $group_page$$)$limit_project$$[$key$$]=1;$id_sellers_query$$.project($limit_project$$);if($req$$.query.aggregate){let $aggregate$$=JSON.parse($req$$.query.aggregate);$id_sellers_query$$.append($aggregate$$)}}catch($e$$){return $res$$.status(400).send({error:$e$$.message||
76
+ $e$$.error||$e$$})}else console.log("search data",$ctrl$$.name,"shared",$shareRoute$$,$condition$$),$id_sellers_query$$=$model$$.find($condition$$,$gfields$$);!$sort$$&&$gfields$$.textScore?$sort$$={textScore:{$meta:"textScore"}}:$sort$$&&($sort$$._id=1);$sort$$&&$id_sellers_query$$.sort($sort$$);var $group_page$$=$req$$.query.page,$limit_project$$=$req$$.query.limit;$limit_project$$&&($limit_project$$=Number($limit_project$$));$limit_project$$||($limit_project$$=!1!==$ctrl$$.require_id_app&&"right"!==
77
+ $ctrl$$.name?20:1E5);$limit_project$$&&500<$limit_project$$&&"xlsx"!==$req$$.query.type_data&&!$req$$.query.print&&!1!==$ctrl$$.require_id_app&&"right"!==$ctrl$$.name&&($limit_project$$=500);$group_page$$?$id_sellers_query$$.skip((Number($group_page$$)-1)*$limit_project$$).limit($limit_project$$):$id_sellers_query$$.limit($limit_project$$);$id_sellers_query$$.lean&&($id_sellers_query$$=$id_sellers_query$$.lean());$id_sellers_query$$.exec(function($e$jscomp$0$$,$obj4view$$){if($e$jscomp$0$$)return console.error($e$jscomp$0$$,
78
+ $condition$$),$res$$.status(400).send({error:$e$jscomp$0$$.error||$e$jscomp$0$$.message||$e$jscomp$0$$});$obj4view$$||($obj4view$$=[]);async.parallel({found:function($callback$$){$ctrl$$.found?$ctrl$$.found($req$$.user,$condition$$,$obj4view$$,function($error$$,$items$$){setImmediate(()=>{$callback$$($error$$,$items$$)})}):$callback$$(null,$obj4view$$)},set_collection_name:function($callback$$){$obj4view$$.forEach($obj$$=>{$obj$$.collection_name||($obj$$.collection_name=$ctrl$$.collection_name)});
79
+ $callback$$(null)}},function($error$jscomp$0$$,$rs$jscomp$0$$){setImmediate(()=>{if($error$jscomp$0$$)return $next$$($error$jscomp$0$$);$obj4view$$=$rs$jscomp$0$$.found;async.parallel({e_view:function($callback$$){$ctrl$$.onView($req$$.user,$obj4view$$,($error$$,$viewValue$$)=>{setImmediate(()=>{if($error$$)return console.error("Erron on view:",$error$$),$callback$$($error$$);$callback$$(null,$viewValue$$)})},{req:$req$$,shareRoute:$shareRoute$$})}},async function($app$jscomp$1_dir_root_template_e$$,
80
+ $_groupBy_func_string_rs$$){if($error$jscomp$0$$)return $next$$($error$jscomp$0$$);if($req$$.query.type_data&&"xlsx"==$req$$.query.type_data){$app$jscomp$1_dir_root_template_e$$=(configs.paths||{}).templates;let $template_id$$,$excelTemplate$$;if($template_id$$=$req$$.query.id_template){if(!global.mongoose.Types.ObjectId.isValid($template_id$$))return $res$$.status(400).send({error:"M\u1eabu excel kh\u00f4ng t\u1ed3n t\u1ea1i"});$excelTemplate$$=await global.getModel("exportexceltemplate").findById($template_id$$);
81
+ if(!$excelTemplate$$||!$excelTemplate$$.file)return $res$$.status(400).send({error:"M\u1eabu excel kh\u00f4ng t\u1ed3n t\u1ea1i"});var $_rs_msg_templatePath$$=$app$jscomp$1_dir_root_template_e$$?`${path.dirname($app$jscomp$1_dir_root_template_e$$)}${$excelTemplate$$.file}`:`${path.dirname(__dirname)}${$excelTemplate$$.file}`}else $app$jscomp$1_dir_root_template_e$$&&($_rs_msg_templatePath$$=`${$app$jscomp$1_dir_root_template_e$$}/excels/lists/${$ctrl$$.name}.xlsx`),$_rs_msg_templatePath$$&&fs.existsSync($_rs_msg_templatePath$$)||
82
+ ($_rs_msg_templatePath$$=`${path.dirname(__dirname)}/templates/excels/lists/${$ctrl$$.name}.xlsx`);if(!fs.existsSync($_rs_msg_templatePath$$))return $_rs_msg_templatePath$$="File m\u1eabu excel ch\u01b0a \u0111\u01b0\u1ee3c khai b\u00e1o t\u1ea1i '"+$_rs_msg_templatePath$$+"'",$res$$.status(400).send({error:$_rs_msg_templatePath$$});$app$jscomp$1_dir_root_template_e$$={};$_groupBy_func_string_rs$$.e_view.forEach($item$$=>{for(let $_key$$ in $item$$){let $_v$$=$item$$[$_key$$];if(underscore.isObject($_v$$))for(let $__key$$ in $_v$$){let $__v$$=
83
+ $_v$$[$__key$$];if(!underscore.isFunction($__v$$))if(0<=$__key$$.indexOf("ngay")||0<=$__key$$.indexOf("date"))try{$item$$[`${$_key$$}_${$__key$$}`]=new Date($__v$$)}catch($e$$){$item$$[`${$_key$$}_${$__key$$}`]=$__v$$}else $item$$[`${$_key$$}_${$__key$$}`]=$__v$$}else if($_v$$&&0<=$_key$$.indexOf("ngay")||0<=$_key$$.indexOf("date"))try{let $d$$=moment($_v$$,"YYYY-MM-DD");$d$$.isValid()&&($item$$[`${$_key$$}`]=$d$$.toDate(),$item$$[`${$_key$$}_string`]=$d$$.format("DD/MM/YYYY"))}catch($e$$){console.error("Error convert to date",
84
+ $_v$$,$e$$)}}});$app$jscomp$1_dir_root_template_e$$.detail=$_groupBy_func_string_rs$$.e_view;if($excelTemplate$$&&$excelTemplate$$.handle_data){$_groupBy_func_string_rs$$=`return (async ()=>{
84
85
  ${$excelTemplate$$.handle_data}
85
86
  })`;try{$app$jscomp$1_dir_root_template_e$$=await evalute($_groupBy_func_string_rs$$,{data:$app$jscomp$1_dir_root_template_e$$,moment,numeral,_,utils})()}catch($e$$){return console.error($e$$,$_groupBy_func_string_rs$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$})}}excelReport($_rs_msg_templatePath$$,$app$jscomp$1_dir_root_template_e$$,function($e$$,$result$$){setImmediate(()=>{if($e$$)return console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||
86
87
  $e$$});$res$$.setHeader("Content-Type","application/vnd.openxmlformats");$res$$.setHeader("Content-Disposition","attachment; filename="+$ctrl$$.name+".xlsx");$res$$.end($result$$,"binary")})})}else $req$$.query.print&&$req$$.query.id_rpt&&global.mongoose.Types.ObjectId.isValid($req$$.query.id_rpt)?htmlReport($req$$.query.id_rpt,{...$req$$.user.current_app_info,...$req$$.query,company:{...$req$$.user.current_app_info},detail:$_groupBy_func_string_rs$$.e_view,details:$_groupBy_func_string_rs$$.e_view}).then($rs$$=>
@@ -118,8 +119,8 @@ function($ctrl$$,$parameters$$,$app$$,$obj$$,$callback$jscomp$0$$){async.map($pa
118
119
  $query$jscomp$8_sandbox$$.field){"dmkh"==$query$jscomp$8_sandbox$$.collection&&($query$jscomp$8_sandbox$$.collection="customer");"dmtk"==$query$jscomp$8_sandbox$$.collection&&($query$jscomp$8_sandbox$$.collection="account");var $condition$$=$query$jscomp$8_sandbox$$.condition;if($condition$$){$condition$$=JSON.stringify($condition$$);for(let $m$$ in $obj$$)$condition$$=$condition$$.replace(new RegExp("m."+$m$$,"g"),$obj$$[$m$$]);$condition$$=JSON.parse($condition$$)}else $condition$$={};$app$$[$p$$.name]=
119
120
  await getData($app$$.id_app,$query$jscomp$8_sandbox$$.collection,$query$jscomp$8_sandbox$$.field,$condition$$)}}catch($e$$){$app$$[$p$$.name]=$e$$}else if("E"===$p$$.type&&$p$$.value){$condition$$=$p$$.value;0>$condition$$.indexOf("return ")&&($condition$$=`return ${$condition$$}`);if(0<=$condition$$.indexOf("async "))return $app$$[$p$$.name]="async function is not allow";$condition$$=`return (async ()=>{
120
121
  ${$condition$$}
121
- })`;$query$jscomp$8_sandbox$$={m:$obj$$,master:$obj$$,data:$obj$$,Moment:moment,Numeral:numeral,numberToWord,getData};try{$app$$[$p$$.name]=await evalute($condition$$,$query$jscomp$8_sandbox$$)()}catch($e$$){$app$$[$p$$.name]=$e$$.message}}else $app$$[$p$$.name]=$p$$.value})().then(()=>{$callback$$()}).catch(()=>{$callback$$()})})},function($e$jscomp$79_v$$){if($e$jscomp$79_v$$)return $callback$jscomp$0$$($e$jscomp$79_v$$);underscore.extend($app$$,$obj$$);if($ctrl$$.getData4Export)$ctrl$$.getData4Export($app$$,
122
- function($error$jscomp$19_v$$){if($error$jscomp$19_v$$)return $callback$jscomp$0$$($error$jscomp$19_v$$);for(let $key$$ in $app$$)$error$jscomp$19_v$$=$app$$[$key$$],underscore.isDate($error$jscomp$19_v$$)&&($app$$[$key$$+"_string"]=moment($error$jscomp$19_v$$).format("DD/MM/YYYY"));$callback$jscomp$0$$()});else{for(let $key$$ in $app$$)$e$jscomp$79_v$$=$app$$[$key$$],underscore.isDate($e$jscomp$79_v$$)&&($app$$[$key$$+"_string"]=moment($e$jscomp$79_v$$).format("DD/MM/YYYY"));$callback$jscomp$0$$()}})};
122
+ })`;$query$jscomp$8_sandbox$$={m:$obj$$,master:$obj$$,data:$obj$$,Moment:moment,Numeral:numeral,numberToWord,getData};try{$app$$[$p$$.name]=await evalute($condition$$,$query$jscomp$8_sandbox$$)()}catch($e$$){$app$$[$p$$.name]=$e$$.message}}else $app$$[$p$$.name]=$p$$.value})().then(()=>{$callback$$()}).catch(()=>{$callback$$()})})},function($e$jscomp$81_v$$){if($e$jscomp$81_v$$)return $callback$jscomp$0$$($e$jscomp$81_v$$);underscore.extend($app$$,$obj$$);if($ctrl$$.getData4Export)$ctrl$$.getData4Export($app$$,
123
+ function($error$jscomp$19_v$$){if($error$jscomp$19_v$$)return $callback$jscomp$0$$($error$jscomp$19_v$$);for(let $key$$ in $app$$)$error$jscomp$19_v$$=$app$$[$key$$],underscore.isDate($error$jscomp$19_v$$)&&($app$$[$key$$+"_string"]=moment($error$jscomp$19_v$$).format("DD/MM/YYYY"));$callback$jscomp$0$$()});else{for(let $key$$ in $app$$)$e$jscomp$81_v$$=$app$$[$key$$],underscore.isDate($e$jscomp$81_v$$)&&($app$$[$key$$+"_string"]=moment($e$jscomp$81_v$$).format("DD/MM/YYYY"));$callback$jscomp$0$$()}})};
123
124
  controller.prototype.exportToExcel=function(){let $model$$=this.model,$ctrl$$=this;this.router.route(`${this.route_name}/excel/:rpt_id`).get(function($req$$,$res$$,$next$$){let $id$$=$req$$.query._id;if(!$id$$)return $res$$.status(400).send({error:"H\u00e0m n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 _id"});let $ids$$=$id$$.split(",");$model$$.find({_id:{$in:$ids$$}}).lean().exec(function($e$jscomp$0$$,$obj$$){if($e$jscomp$0$$)return console.error($e$jscomp$0$$),$e$jscomp$0$$.error?$res$$.status(400).send($e$jscomp$0$$):
124
125
  $res$$.status(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$});setImmediate(()=>{log.create({id_app:$req$$.user.current_id_app,id_func:$ctrl$$.name,action:"ExportTOExcel",data:{id:$id$$}},$req$$.user.email,$req$$.header("user-agent"),$req$$)});if(0==$obj$$.length)return $res$$.status(404).send({error:ERR_NOT_HAVE_DATA,code:ERR_NOT_HAVE_DATA_CODE});$ctrl$$.getting?async.map($obj$$,function($ob$$,$callback$$){setImmediate(()=>{$ctrl$$.getting($req$$.user,$ob$$._id,function($error$$){if($error$$)return $callback$$($error$$);
125
126
  $callback$$(null)},$ob$$)})},function($e$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$req$$.obj=$obj$$;$next$$()}):($req$$.obj=$obj$$,$next$$())})},function($req$$,$res$$,$next$$){async.map($req$$.obj,function($obj$$,$callback$$){setImmediate(()=>{permission.hasRight($obj$$.id_app,$req$$.user.email,$ctrl$$.module,"view",function($error$$,$permission$$){$permission$$?$callback$$():$callback$$({error:$error$$||ERR_NOT_PERMIT,
@@ -210,8 +211,8 @@ $err$$,{_id:$obj_created$$._id.toString()})}),$ctrl$$.options.onErrorCreating)$c
210
211
  $req$$)}),$ctrl$$.emit("saved",$obj_created$$),$ctrl$$.emit("created",$obj_created$$),$obj_created$$=$obj_created$$.toObject(),runWebhooks($ctrl$$,$obj_created$$,"ADD",$voucher_options$$),$req$$&&pushNotification($ctrl$$,$obj_created$$,"new",null,null,{exclude_token:($req$$.query||{}).access_token}),$ctrl$$.cacheData($obj_created$$),$req$$&&!1!==($req$$.query||{}).return_data)$ctrl$$.onView($user$jscomp$0$$,[$obj_created$$],$error$$=>{setImmediate(()=>{if($error$$)return $callback$$($error$$);$callback$$(null,
211
212
  $obj_created$$)})},{req:$req$$});else $callback$$(null,{_id:$obj_created$$._id.toString()})})})})})}})})})},function($obj$$,$callback$$){$ctrl$$.requestApprove($user$jscomp$0$$.current_app_info,$user$jscomp$0$$,$obj$$,$callback$$,$voucher_options$$)},function($obj$$,$callback$$){setImmediate(function(){$obj$$.collection_name=$ctrl$$.collection_name;$obj$$.exfields&&$obj$$.exfields.__files__&&($obj$$.exfields.__files__.forEach($_file$$=>{$File$$.findOneAndUpdate({_id:$_file$$._id},{id_link:$obj$$._id.toString(),
212
213
  collection_link:$ctrl$$.collection_name}).lean().exec($e$$=>{$e$$&&console.error($e$$)})}),delete $obj$$.exfields.__files__);$obj$$.exfields&&$obj$$.exfields.__supports__&&($obj$$.exfields.__supports__.forEach($_file$$=>{$Support$$.findOneAndUpdate({_id:$_file$$._id},{id_link:$obj$$._id.toString(),collection_link:$ctrl$$.collection_name}).lean().exec($e$$=>{console.error($e$$)})}),delete $obj$$.exfields.__supports__);if($ctrl$$.created)$ctrl$$.created($user$jscomp$0$$,$obj$$,function($error$$,$rs$$){setImmediate(()=>
213
- {if($error$$)return $callback$$($error$$);if($req$$&&$req$$.uploadFile){let $html$$="<html><title>OK</title><body>"+JSON.stringify($rs$$)+"</body></html>";$callback$$(null,$html$$)}else $callback$$(null,$rs$$)})});else if($req$$&&$req$$.uploadFile){let $html$$="<html><title>OK</title><body>"+JSON.stringify($obj$$)+"</body></html>";$callback$$(null,$html$$)}else $callback$$(null,$obj$$)})}],($e$jscomp$141_name_cached$$,$rs$$)=>{$e$jscomp$141_name_cached$$?(console.error($e$jscomp$141_name_cached$$),
214
- $callback$jscomp$1$$($e$jscomp$141_name_cached$$)):($e$jscomp$141_name_cached$$=$model$$.collection.name,$user$jscomp$0$$.current_id_app&&($e$jscomp$141_name_cached$$+=$user$jscomp$0$$.current_id_app),delete global.cacheDatas[$e$jscomp$141_name_cached$$],$callback$jscomp$1$$(null,$rs$$))})}catch($e$$){console.error($e$$),$callback$jscomp$1$$($e$$)}}
214
+ {if($error$$)return $callback$$($error$$);if($req$$&&$req$$.uploadFile){let $html$$="<html><title>OK</title><body>"+JSON.stringify($rs$$)+"</body></html>";$callback$$(null,$html$$)}else $callback$$(null,$rs$$)})});else if($req$$&&$req$$.uploadFile){let $html$$="<html><title>OK</title><body>"+JSON.stringify($obj$$)+"</body></html>";$callback$$(null,$html$$)}else $callback$$(null,$obj$$)})}],($e$jscomp$143_name_cached$$,$rs$$)=>{$e$jscomp$143_name_cached$$?(console.error($e$jscomp$143_name_cached$$),
215
+ $callback$jscomp$1$$($e$jscomp$143_name_cached$$)):($e$jscomp$143_name_cached$$=$model$$.collection.name,$user$jscomp$0$$.current_id_app&&($e$jscomp$143_name_cached$$+=$user$jscomp$0$$.current_id_app),delete global.cacheDatas[$e$jscomp$143_name_cached$$],$callback$jscomp$1$$(null,$rs$$))})}catch($e$$){console.error($e$$),$callback$jscomp$1$$($e$$)}}
215
216
  controller.prototype.create=function(){let $name$$=this.name,$ctrl$$=this;this.router.route(this.route_name).post(function($req$$,$res$$){let $session$$=$req$$.session;if(!0===$session$$["creating_"+$name$$])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["creating_"+$name$$]=!0;let $body$$=$req$$.body;if(!$body$$)return $res$$.status(411).send({error:"Kh\u00f4ng c\u00f3 n\u1ed9i dung c\u1ea7n l\u01b0u"});$req$$.files&&0<underscore.keys($req$$.files).length&&
216
217
  ("JSON"!=$body$$.return&&($req$$.uploadFile=!0),underscore.extend($body$$,$req$$.files));create($req$$.user,$ctrl$$,$body$$,($e$$,$rs$$)=>{setImmediate(()=>{$session$$["creating_"+$name$$]=!1;if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});!1===$req$$.query.return_data?$res$$.send({_id:$rs$$._id.toString()}):$res$$.send($rs$$)})},null,$req$$)})};
217
218
  controller.prototype.quickCreate=function(){let $model$$=this.model,$name$$=this.name,$ctrl$$=this,$createFromTemplate$$=async($req$$,$res$$,$body$jscomp$4_query$$)=>{let $session$$=$req$$.session;if(!0===$session$$["creating_"+$name$$])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["creating_"+$name$$]=!0;if(!$body$jscomp$4_query$$){$body$jscomp$4_query$$=$req$$.params.template_code;if(!$body$jscomp$4_query$$)return $session$$["creating_"+$name$$]=
@@ -244,16 +245,16 @@ code:ERR_CAN_NOT_UPDATE_CODE})}else $req$$&&$req$$.header&&setImmediate(()=>{log
244
245
  $obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$($msgError$$)}):setImmediate(()=>{$ctrl$$.emit("saved",$obj_created$$);$ctrl$$.emit("updated",$obj_created$$);$obj_created$$=$obj_created$$.toObject();runWebhooks($ctrl$$,$obj_created$$,"UPDATE",$voucher_options$$);$req$$&&pushNotification($ctrl$$,$obj_created$$,"update",$current_obj$$,null,{exclude_token:$req$$.query.access_token});$ctrl$$.cacheData($obj_created$$);if($req$$&&!1!==$req$$.query.return_data)$ctrl$$.onView($user$jscomp$0$$,
245
246
  [$obj_created$$],function($error$$,$viewValue$$){setImmediate(()=>{if($error$$)return $callback$$($error$$);$callback$$(null,$viewValue$$[0])})},{req:$req$$});else $callback$$(null,{_id:$obj_created$$._id})})})})},function($obj$$,$callback$$){$ctrl$$.requestApprove($user$jscomp$0$$.current_app_info,$user$jscomp$0$$,$obj$$,$callback$$,$voucher_options$$)},function($obj$jscomp$0$$,$callback$$){void 0!=$obj$jscomp$0$$.trang_thai&&setImmediate(async()=>{Approve.findOne({id_ct:$obj$jscomp$0$$._id.toString(),
246
247
  "update_after_approve.data.trang_thai":$obj$jscomp$0$$.trang_thai.toString()}).lean().exec(($e$$,$rs$$)=>{!$rs$$||$rs$$.user_approved||$rs$$.user_denied||($rs$$.user_approved=$req$$.user.email,$rs$$.user_approved_name=$req$$.user.name,$rs$$.date_approved=new Date,Approve.updateOne({_id:$rs$$._id},$rs$$).then(()=>{Approve.sendNotifyApproved($rs$$,$req$$.query.access_token)}))})});setImmediate(async()=>{(await permission.getFieldNotRight($obj$jscomp$0$$.id_app,$user$jscomp$0$$.email,$ctrl$$.name)).forEach($f$$=>
247
- {delete $obj$jscomp$0$$[$f$$]});$obj$jscomp$0$$.collection_name=$ctrl$$.collection_name;$ctrl$$.updated?$ctrl$$.updated($user$jscomp$0$$,$obj$jscomp$0$$,function($error$$,$obj$$){if($error$$)return console.error("error when saved",$error$$),$callback$$($error$$);$callback$$(null,$obj$$)},$current_obj$$):$callback$$(null,$obj$jscomp$0$$)})}],($e$jscomp$160_name_cached$$,$rs$$)=>{$e$jscomp$160_name_cached$$?(console.error($e$jscomp$160_name_cached$$),$callback$jscomp$1$$($e$jscomp$160_name_cached$$)):
248
- ($e$jscomp$160_name_cached$$=$model$$.collection.name,$user$jscomp$0$$.current_id_app&&($e$jscomp$160_name_cached$$+=$user$jscomp$0$$.current_id_app),delete global.cacheDatas[$e$jscomp$160_name_cached$$],$callback$jscomp$1$$(null,$rs$$))})}catch($e$$){console.error($e$$),$callback$jscomp$1$$($e$$)}};
248
+ {delete $obj$jscomp$0$$[$f$$]});$obj$jscomp$0$$.collection_name=$ctrl$$.collection_name;$ctrl$$.updated?$ctrl$$.updated($user$jscomp$0$$,$obj$jscomp$0$$,function($error$$,$obj$$){if($error$$)return console.error("error when saved",$error$$),$callback$$($error$$);$callback$$(null,$obj$$)},$current_obj$$):$callback$$(null,$obj$jscomp$0$$)})}],($e$jscomp$162_name_cached$$,$rs$$)=>{$e$jscomp$162_name_cached$$?(console.error($e$jscomp$162_name_cached$$),$callback$jscomp$1$$($e$jscomp$162_name_cached$$)):
249
+ ($e$jscomp$162_name_cached$$=$model$$.collection.name,$user$jscomp$0$$.current_id_app&&($e$jscomp$162_name_cached$$+=$user$jscomp$0$$.current_id_app),delete global.cacheDatas[$e$jscomp$162_name_cached$$],$callback$jscomp$1$$(null,$rs$$))})}catch($e$$){console.error($e$$),$callback$jscomp$1$$($e$$)}};
249
250
  controller.prototype.update=function(){let $ctrl$$=this,$name$$=this.name;this.router.route(this.route_name+"/:id").put(function($req$$,$res$$){let $session$$=$req$$.session;if(!0===$session$$["updating_"+$name$$])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["updating_"+$name$$]=!0;let $body$$=$req$$.body;$req$$.files&&underscore.extend($body$$,$req$$.files);let $data$$;try{$data$$=bodyToJson($body$$)}catch($e$$){return $res$$.status(400).send({error:$e$$.message||
250
251
  $e$$.error||$e$$})}update($req$$.user,$ctrl$$,$req$$.params.id,$data$$,($e$$,$rs$$)=>{setImmediate(()=>{$session$$["updating_"+$name$$]=!1;if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});!1===$req$$.query.return_data?$res$$.send({_id:$rs$$._id.toString()}):$res$$.send($rs$$)})},null,$req$$)})};
251
252
  function checkReference($model$jscomp$0$$,$obj$$,$fn$$,$keys$$){$model$jscomp$0$$.referenceKeys?($keys$$||($keys$$=underscore.keys($model$jscomp$0$$.referenceKeys)),async.map($keys$$,function($key$$,$callback$$){setImmediate(()=>{let $ref$$=$model$jscomp$0$$.referenceKeys[$key$$];if(!$ref$$)return $callback$$();let $value$$=$obj$$[$key$$];"_id"===$key$$&&($value$$=$value$$.toString());if(void 0==$value$$||null==$value$$||""==$value$$)return $callback$$();async.map($ref$$,function($r$$,$cb$$){setImmediate(()=>
252
253
  {let $model$$=mongoose.models[$r$$.model];if($model$$){let $query$$={id_app:$obj$$.id_app};var $_w_k$$=$r$$.key;$_w_k$$&&($query$$[$_w_k$$]=$value$$);$r$$.where&&(underscore.isObject($r$$.where)&&($query$$=Object.assign($query$$,$r$$.where)),underscore.isFunction($r$$.where)&&($_w_k$$=$r$$.where($obj$$),$query$$=Object.assign($query$$,$_w_k$$)));$model$$.find($query$$).limit(1).lean().exec(function($error$$,$o$$){setImmediate(()=>{if($error$$)return $cb$$($error$$);if($o$$&&0<$o$$.length){let $msgError$$;
253
254
  $msgError$$=$r$$.error?(new Function("obj","return `"+$r$$.error.replace("{{VALUE}}",$value$$)+"`"))($obj$$):ERR_DATA_GENERATED;return $cb$$({error:$msgError$$,code:ERR_DATA_GENERATED_CODE})}$cb$$()})})}else $cb$$()})},function($e$$){if($e$$)return $callback$$($e$$);$callback$$()})})},$error$$=>{$fn$$($error$$)})):$fn$$()}
254
- controller.prototype.delete=function(){let $model$$=this.model,$ctrl$$=this,$module$$=this.module,$codeSync$$=this.codeSync,$keySync$$=this.keySync;this.router.route(this.route_name+"/:id").delete(function($req$$,$res$$,$next$$){if(!global.mongoose.Types.ObjectId.isValid($req$$.params.id))return $res$$.status(400).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$model$$.findOne({_id:$req$$.params.id}).lean().exec(async function($e$jscomp$165_user$$,$obj$$){if($e$jscomp$165_user$$)return console.error($e$jscomp$165_user$$),
255
- $e$jscomp$165_user$$.error?$res$$.status(400).send($e$jscomp$165_user$$):$res$$.status(400).send({error:$e$jscomp$165_user$$.message||$e$jscomp$165_user$$.error||$e$jscomp$165_user$$});if(!$obj$$)return $res$$.status(404).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$e$jscomp$165_user$$=$req$$.user;if(0>global.configs.admins.indexOf($e$jscomp$165_user$$.email)){let $requireOtp$$=$ctrl$$.options.requireOtp;$requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($obj$$,{action:"delete",
256
- _id:$req$$.params.id,user:$e$jscomp$165_user$$}));if($requireOtp$$)try{await permission.verifyOTP($e$jscomp$165_user$$.email,$req$$.query["otp-id"],$req$$.query["otp-code"])}catch($e$$){return $res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}}setImmediate(()=>{permission.hasRight($obj$$.id_app,$req$$.user.email,$module$$,"delete",function($error$jscomp$0$$,$hr$$){if($hr$$)checkReference($model$$,$obj$$,function($error$$){if($error$$)return $res$$.status(400).send({error:ERR_ARISE+
255
+ controller.prototype.delete=function(){let $model$$=this.model,$ctrl$$=this,$module$$=this.module,$codeSync$$=this.codeSync,$keySync$$=this.keySync;this.router.route(this.route_name+"/:id").delete(function($req$$,$res$$,$next$$){if(!global.mongoose.Types.ObjectId.isValid($req$$.params.id))return $res$$.status(400).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$model$$.findOne({_id:$req$$.params.id}).lean().exec(async function($e$jscomp$167_user$$,$obj$$){if($e$jscomp$167_user$$)return console.error($e$jscomp$167_user$$),
256
+ $e$jscomp$167_user$$.error?$res$$.status(400).send($e$jscomp$167_user$$):$res$$.status(400).send({error:$e$jscomp$167_user$$.message||$e$jscomp$167_user$$.error||$e$jscomp$167_user$$});if(!$obj$$)return $res$$.status(404).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$e$jscomp$167_user$$=$req$$.user;if(0>global.configs.admins.indexOf($e$jscomp$167_user$$.email)){let $requireOtp$$=$ctrl$$.options.requireOtp;$requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($obj$$,{action:"delete",
257
+ _id:$req$$.params.id,user:$e$jscomp$167_user$$}));if($requireOtp$$)try{await permission.verifyOTP($e$jscomp$167_user$$.email,$req$$.query["otp-id"],$req$$.query["otp-code"])}catch($e$$){return $res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}}setImmediate(()=>{permission.hasRight($obj$$.id_app,$req$$.user.email,$module$$,"delete",function($error$jscomp$0$$,$hr$$){if($hr$$)checkReference($model$$,$obj$$,function($error$$){if($error$$)return $res$$.status(400).send({error:ERR_ARISE+
257
258
  ($error$$.error||$error$$.message||$error$$),code:ERR_ARISE_CODE});$req$$.obj=$obj$$;$next$$()});else return $res$$.status(403).send({error:$error$jscomp$0$$||ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE})},{obj:$obj$$,notNeedRight:$ctrl$$.options.notNeedRight})})})},function($req$$,$res$$,$next$$){setImmediate(()=>{let $obj$jscomp$0$$=$req$$.obj;$ctrl$$.deleting?$ctrl$$.deleting($req$$.user,$obj$jscomp$0$$,function($e$$,$obj$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):
258
259
  $res$$.status(400).send({error:$e$$.message||$e$$});$req$$.obj=$obj$$;$next$$()},{req:$req$$}):($req$$.obj=$obj$jscomp$0$$,$next$$())})},function($req$$,$res$$){setImmediate(()=>{let $obj$jscomp$0$$=$req$$.obj;$ctrl$$.emit("deleting",{...$obj$jscomp$0$$});$model$$.deleteOne({_id:$obj$jscomp$0$$._id},function($e$jscomp$1$$){if($e$jscomp$1$$)return console.error($e$jscomp$1$$),$e$jscomp$1$$.error?$res$$.status(400).send($e$jscomp$1$$):$res$$.status(400).send({error:$e$jscomp$1$$.message||$e$jscomp$1$$});
259
260
  setImmediate(()=>{$ctrl$$.deleteData({...$obj$jscomp$0$$});log.create({id_app:$req$$.user.current_id_app,id_func:$ctrl$$.name,action:"DELETE",data:{id:$obj$jscomp$0$$._id,data:$obj$jscomp$0$$}},$req$$.user.email,$req$$.header("user-agent"),$req$$);link.deleteMany({$or:[{id_a:$obj$jscomp$0$$._id},{id_b:$obj$jscomp$0$$._id}]},function($e$$){$e$$&&console.error("Can't delete links\n"+$e$$)})});setImmediate(()=>{$ctrl$$.emit("deleted",$obj$jscomp$0$$);runWebhooks($ctrl$$,$obj$jscomp$0$$,"DELETE")});pushNotification($ctrl$$,
package/server/global.js CHANGED
@@ -1,9 +1,10 @@
1
1
  'use strict';const prototypes=require("./libs/prototypes.js"),async=require("async"),TransactionPool=require("./libs/BlockchainTransactionPool"),leanID=require("./libs/mongooseLeanId"),deletePost=require("./libs/mongooseDeletePost"),fs=require("fs");global.blockchainTransactionPool=new TransactionPool;global.new_schedules=[];global.rootDir=__dirname;global.ctrlVouchers={};global.controllers={};global.report_controllers={};global.postingVouchers={};global.cacheDatas={};global.clientIO={};
2
2
  global.model_books="socai sokho sokhott sokhokhongton sosanxuat vatvao vatra tdttno tdttco vsocai socaitmp".split(" ");global.webPush=require("web-push");global.mongoose=require("mongoose");global.mongoose.plugin(leanID);global.mongoose.plugin(deletePost);global.Schema=global.mongoose.Schema;global.mongoose.set("useFindAndModify",!1);global.mongoose.set("useCreateIndex",!0);
3
- global.getModel=$model_name$$=>{"kbmpttct"===$model_name$$&&($model_name$$="kbmPttct");"kbmtkgtgt"===$model_name$$&&($model_name$$="kbmTkgtgt");var $model_model_path$$=mongoose.models[$model_name$$];if($model_model_path$$)return $model_model_path$$;$model_model_path$$=(((global.configs||{}).paths||{}).models||"./models")+"/"+$model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$);$model_model_path$$=__dirname+"/models/"+$model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$);
4
- console.error("model",$model_name$$,"is not exists. using base model");return require("./models/base")};global.getLib=$lib_name$$=>require("./libs/"+$lib_name$$);const pointSchema=new global.mongoose.Schema({type:{type:String,enum:["Point"],required:!0,default:"Point"},coordinates:{type:[Number],required:!0}}),polygonSchema=new global.mongoose.Schema({type:{type:String,enum:["Polygon"],required:!0,default:"Polygon"},coordinates:{type:[[[Number]]],required:!0}});
5
- global.customTypes={Point:pointSchema,Polygon:polygonSchema};const EventEmitter=require("events");class GlobalEmitter extends EventEmitter{}global.globalEvents=new GlobalEmitter;const Message=global.getModel("message"),Notification=global.getModel("notification"),User=global.getModel("user"),Sysconfig=global.getModel("sysconfig");global.getSysConfig=async $cf_code$$=>{if($cf_code$$=await Sysconfig.findOne({code:$cf_code$$}))return $cf_code$$.value};
6
- global.asyncCountUnRead=async $email$$=>new Promise($resolve$$=>{setImmediate(()=>{Message.countDocuments({email:$email$$,read:!1},($e$$,$rs$$)=>{$resolve$$($rs$$||0)})})});global.alertMessage=function($email$$){setImmediate(()=>{Message.countDocuments({email_owner:$email$$,email_receiver:$email$$,read:!1},function($error$$,$count$$){$error$$?console.log($error$$):User.emitEvent($email$$,"message:count",$count$$,!1)})})};
3
+ global.getModel=$model_name$$=>{$model_name$$=$model_name$$.split(".js")[0];"kbmpttct"===$model_name$$&&($model_name$$="kbmPttct");"kbmtkgtgt"===$model_name$$&&($model_name$$="kbmTkgtgt");var $model_model_path$$=mongoose.models[$model_name$$];if($model_model_path$$)return $model_model_path$$;$model_model_path$$=(((global.configs||{}).paths||{}).models||"./models")+"/"+$model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$);$model_model_path$$=__dirname+"/models/"+
4
+ $model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$);console.error("model",$model_name$$,"is not exists. using base model");return require("./models/base")};global.getLib=$lib_name$$=>require("./libs/"+$lib_name$$);
5
+ const pointSchema=new global.mongoose.Schema({type:{type:String,enum:["Point"],required:!0,default:"Point"},coordinates:{type:[Number],required:!0}}),polygonSchema=new global.mongoose.Schema({type:{type:String,enum:["Polygon"],required:!0,default:"Polygon"},coordinates:{type:[[[Number]]],required:!0}});global.customTypes={Point:pointSchema,Polygon:polygonSchema};const EventEmitter=require("events");class GlobalEmitter extends EventEmitter{}global.globalEvents=new GlobalEmitter;
6
+ const Message=global.getModel("message"),Notification=global.getModel("notification"),User=global.getModel("user"),Sysconfig=global.getModel("sysconfig");global.getSysConfig=async $cf_code$$=>{if($cf_code$$=await Sysconfig.findOne({code:$cf_code$$}))return $cf_code$$.value};global.asyncCountUnRead=async $email$$=>new Promise($resolve$$=>{setImmediate(()=>{Message.countDocuments({email:$email$$,read:!1},($e$$,$rs$$)=>{$resolve$$($rs$$||0)})})});
7
+ global.alertMessage=function($email$$){setImmediate(()=>{Message.countDocuments({email_owner:$email$$,email_receiver:$email$$,read:!1},function($error$$,$count$$){$error$$?console.log($error$$):User.emitEvent($email$$,"message:count",$count$$,!1)})})};
7
8
  global.createNotification=function($email_sender$$,$email_receiver$$,$title$$,$content$$,$fn$$,$exfields$$,$emitEvent$$,$c_token$$,$send_email$$){Notification.createNotification($email_sender$$,$email_receiver$$,$title$$,$content$$,$fn$$,$exfields$$,$emitEvent$$,$c_token$$,$send_email$$)};
8
9
  global.getNotifies=function($email$$,$fn$$){async.parallel({colls:function($callback$$){$callback$$(null,[])},notifications:function($callback$$){Notification.find({email_receiver:$email$$,email_owner:$email$$,read:!1},function($error$$,$colls_raw$$){setImmediate(()=>{if($error$$)$callback$$($error$$);else{const $colls$$=$colls_raw$$.map(function($c$$){return $c$$.toObject()});$callback$$(null,$colls$$)}})})},apps:function($callback$$){$callback$$(null,[])}},function($error$$,$rs$$){setImmediate(()=>
9
10
  {$fn$$($error$$,$rs$$)})})};global.sendNotification=function($email$$,$_id$$,$notify$$,$push_to_mobile_and_web$$=!0){setImmediate(()=>{$notify$$||($notify$$={email_sender:"H\u1ec7 th\u1ed1ng"});const $obj_notify$$={_id:$_id$$,code:"notification",action:"view"};$obj_notify$$.body=$notify$$.content||$notify$$.title||"";$obj_notify$$.sender=$notify$$.email_sender;$obj_notify$$.title=$notify$$.title||"";$obj_notify$$.content=$notify$$.content||"";User.emitEvent($email$$,"notify:new",$obj_notify$$,$push_to_mobile_and_web$$)})};
@@ -1,7 +1,7 @@
1
1
  'use strict';const cdvt=global.getModel("cdvt"),sokho=global.getModel("sokho"),async=require("async"),underscore=require("underscore"),utils=require("./utils"),moment=require("moment");
2
2
  module.exports=function($condition$$,$fn$$){!$condition$$.ngay&&$condition$$.tu_ngay&&($condition$$.ngay=$condition$$.tu_ngay);if($condition$$&&$condition$$.ngay&&$condition$$.id_app){var $ma_dvcs$$=$condition$$.ma_dvcs,$ma_kho$$=$condition$$.ma_kho,$ma_vt$$=$condition$$.ma_vt;underscore.isArray($ma_vt$$)&&($ma_vt$$={$in:$ma_vt$$});var $ngay$$=moment(new Date($condition$$.ngay)).startOf("date").toDate(),$nam$$=$ngay$$.getFullYear(),$ngay_dn$$=moment($ngay$$).startOf("year").toDate(),$id_app$$=$condition$$.id_app;
3
3
  async.parallel({dn:$callback$$=>{const $c_dk$$={id_app:$id_app$$,nam:$nam$$};$ma_vt$$&&($c_dk$$.ma_vt=$ma_vt$$);$ma_kho$$&&($c_dk$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($c_dk$$.ma_dvcs=$ma_dvcs$$);$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($c_dk$$.ma_tt3=$condition$$.ma_tt3);cdvt.find($c_dk$$).lean().exec(($error$$,
4
- $results$$)=>{$error$$?$callback$$($error$$):$results$$.joinModel2($id_app$$,"dmvt",{where:"ma_vt",fields:"tk_vt"},()=>{$callback$$(null,$results$$)})})},ps:$callback$$=>{var $query$$={id_app:$id_app$$,ngay_ct:{$gte:$ngay_dn$$,$lt:$ngay$$}};$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$ma_kho$$&&($query$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($query$$.ma_dvcs=$ma_dvcs$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($query$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($query$$.ma_tt1=
5
- $condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=$ps$$.sl_nhap_qd;$ps$$.sl_xuat=$ps$$.sl_xuat_qd;return $ps$$});$callback$$(null,$pss$$)})}},($data_error$$,$groupBy_results$$)=>{if($data_error$$)return $fn$$($data_error$$);$data_error$$=$groupBy_results$$.dn.concat($groupBy_results$$.ps);
6
- ($groupBy_results$$=$condition$$.groupBy||$condition$$.groupby)||($groupBy_results$$=["ma_vt"]);if(underscore.isString($groupBy_results$$))if(0<=$groupBy_results$$.indexOf("["))try{$groupBy_results$$=JSON.parse($groupBy_results$$)}catch($e$$){console.error($e$$)}else $groupBy_results$$=$groupBy_results$$.split(",");$data_error$$.groupBy($groupBy_results$$,"sl_nhap sl_xuat ton00 du00 tien_nhap tien_xuat".split(" "),($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$);for(let $r$$ of $groups$$)$r$$.ton00=
7
- utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,2),$r$$.du00=utils.round($r$$.du00,0)+utils.round($r$$.tien_nhap,0)-utils.round($r$$.tien_xuat,0),$r$$.sl_nhap=0,$r$$.sl_xuat=0,$r$$.tien_nhap=0,$r$$.tien_xuat=0;$fn$$(null,$groups$$)})})}else $fn$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: ngay,id_app")};
4
+ $results$$)=>{$error$$?$callback$$($error$$):$results$$.joinModel2($id_app$$,"dmvt",{where:"ma_vt",fields:"tk_vt"},()=>{$callback$$(null,$results$$)})})},ps:$callback$$=>{const $query$$={id_app:$id_app$$,ngay_ct:{$gte:$ngay_dn$$,$lt:$ngay$$}};$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$ma_kho$$&&($query$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($query$$.ma_dvcs=$ma_dvcs$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($query$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($query$$.ma_tt1=
5
+ $condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=$ps$$.sl_nhap_qd;$ps$$.sl_xuat=$ps$$.sl_xuat_qd;return $ps$$});$callback$$(null,$pss$$)})}},async($data_error$$,$groupBy_results$$)=>{if($data_error$$)return $fn$$($data_error$$);$data_error$$=$groupBy_results$$.dn.concat($groupBy_results$$.ps);
6
+ await $data_error$$.asyncJoinModel2($id_app$$,"dmvt",{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]});($groupBy_results$$=$condition$$.groupBy||$condition$$.groupby)||($groupBy_results$$=["ma_vt"]);if(underscore.isString($groupBy_results$$))if(0<=$groupBy_results$$.indexOf("["))try{$groupBy_results$$=JSON.parse($groupBy_results$$)}catch($e$$){console.error($e$$)}else $groupBy_results$$=$groupBy_results$$.split(",");$data_error$$.groupBy($groupBy_results$$,"sl_nhap sl_xuat ton00 du00 tien_nhap tien_xuat".split(" "),
7
+ ($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$);for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,2),$r$$.du00=utils.round($r$$.du00,0)+utils.round($r$$.tien_nhap,0)-utils.round($r$$.tien_xuat,0),$r$$.sl_nhap=0,$r$$.sl_xuat=0,$r$$.tien_nhap=0,$r$$.tien_xuat=0;$fn$$(null,$groups$$)})})}else $fn$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: ngay,id_app")};
@@ -1,6 +1,6 @@
1
1
  'use strict';const fs=require("fs"),path=require("path"),async=require("async"),parameter_model=global.getModel("parameter"),rpt_model=global.getModel("rpt"),app=global.getModel("app"),parameter=require("../data/parameter"),rpt=require("../data/rpt");
2
- exports.init=function($id_app$$,$fn$$){const $files$$=fs.readdirSync(path.dirname(__dirname)+"/data");async.map($files$$,function($file$$,$callback$jscomp$0$$){if(".js"==$file$$.substr(-3)){const $data$$=JSON.parse(JSON.stringify(require("../data/"+$file$$).data)),$model$$=global.getModel(""+$file$$);async.map($data$$,function($r$$,$callback$$){$r$$.id_app=$id_app$$;$r$$._id&&delete $r$$._id;$model$$.create($r$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$()})},function($error$$,
3
- $rs$$){$callback$jscomp$0$$($error$$,$rs$$)})}else $callback$jscomp$0$$()},function($error$$){if($error$$)return $fn$$($error$$);rpt_model.find({id_app:$id_app$$}).lean().exec(function($e$$,$rpts$$){$e$$&&console.log($e$$);$rpts$$.forEach(function($rpt$$){parameter_model.update({id_rpt:$rpt$$._id_o,id_app:$id_app$$},{id_rpt:$rpt$$._id},{multi:!0},function($e$$){$e$$&&console.log($e$$)})})});$fn$$()})};
2
+ exports.init=function($id_app$$,$fn$$){const $files$$=fs.readdirSync(path.dirname(__dirname)+"/data");async.map($files$$,function($file$$,$callback$jscomp$0$$){if(".js"==$file$$.substr(-3)){const $data$$=JSON.parse(JSON.stringify(require("../data/"+$file$$).data)),$model$$=global.getModel(""+$file$$);async.map($data$$,function($r$$,$callback$$){$r$$.id_app=$id_app$$;$r$$._id&&delete $r$$._id;$model$$.create($r$$,function($error$$){$error$$&&console.error($error$$);$callback$$()})},function($error$$,
3
+ $rs$$){$callback$jscomp$0$$($error$$,$rs$$)})}else $callback$jscomp$0$$()},function($error$$){if($error$$)return $fn$$($error$$);rpt_model.find({id_app:$id_app$$}).lean().exec(function($e$$,$rpts$$){$e$$&&console.error($e$$);$rpts$$.forEach(function($rpt$$){parameter_model.update({id_rpt:$rpt$$._id_o,id_app:$id_app$$},{id_rpt:$rpt$$._id},{multi:!0},function($e$$){$e$$&&console.log($e$$)})})});$fn$$()})};
4
4
  exports.initRpt=function(){app.find({}).lean().exec(function($e$jscomp$3$$,$apps$$){if($e$jscomp$3$$)return console.log($e$jscomp$3$$);$apps$$.forEach(function($a$$){async.parallel({r:function($callback$jscomp$0$$){let $rpt_data$$=JSON.parse(JSON.stringify(rpt.data));async.map($rpt_data$$,function($r$$,$callback$$){$r$$.id_app=$a$$._id;rpt_model.create($r$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$()})},function($error$$,$rs$$){$callback$jscomp$0$$($error$$,$rs$$)})},
5
5
  p:function($callback$jscomp$0$$){async.map(parameter.data,function($r$$,$callback$$){$r$$.id_app=$a$$._id;parameter_model.create($r$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$()})},function($error$$,$rs$$){$callback$jscomp$0$$($error$$,$rs$$)})}},function($e$jscomp$1$$){if($e$jscomp$1$$)return console.log($e$jscomp$1$$);rpt_model.find({id_app:$a$$._id}).lean().exec(function($e$jscomp$0$$,$rpts$$){$e$jscomp$0$$&&console.log($e$jscomp$0$$);$rpts$$.forEach(function($rpt$$){parameter_model.update({id_rpt:$rpt$$._id_o,
6
6
  id_app:$a$$._id},{id_rpt:$rpt$$._id},{multi:!0},function($e$$){$e$$&&console.log($e$$)})})})})})})};
@@ -3,17 +3,17 @@ exports.nguoiPhuTrach=async($group_id_app_p$$,$email$$)=>{if(!$group_id_app_p$$)
3
3
  exports.dsDangPhuTrach=async($id_app$$,$email$$)=>{if(!$id_app$$)return[];$email$$=(await UserGroup.find({phu_trach:$email$$,id_app:$id_app$$})).map($g$$=>$g$$._id.toString());return(await Participant.find({id_app:$id_app$$,group_id:{$in:$email$$}})).map($p$$=>$p$$.email)};
4
4
  exports.isAdmin=function($current_id_app$$,$email$$,$callback$$){if(!$current_id_app$$)return $callback$$(null,!0);App.findOne({_id:$current_id_app$$}).lean().exec(async($error$$,$app$$)=>{if($error$$)return $callback$$($error$$,!1);if(!$app$$)return $callback$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i",!1);if(global.configs.check_expire_date&&$app$$.expire_date&&(new Date($app$$.expire_date)).getTime()<(new Date).getTime())return $callback$$("C\u00f4ng ty n\u00e0y \u0111\u00e3 h\u1ebft h\u1ea1n s\u1eed d\u1ee5ng",
5
5
  !1);$error$$=await Participant.findOne({id_app:$current_id_app$$,email:$email$$});if(!$error$$)return $callback$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp c\u00f4ng ty n\u00e0y",!1);$callback$$(null,$error$$.admin,$app$$,$error$$)})};
6
- exports.hasRight=function($current_id_app$$,$email$$,$module$$,$action$$,$callback$jscomp$0$$,$options$$){$options$$||($options$$={});if(!$current_id_app$$)return $callback$jscomp$0$$(null,!0);exports.isAdmin($current_id_app$$,$email$$,async($e_key_right$$,$admin$$,$app$$,$participant$$)=>{if($e_key_right$$)return $callback$jscomp$0$$($e_key_right$$,!1);if($options$$.data&&$options$$.data.id_app){if($options$$.data.id_app!=$current_id_app$$)return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng th\u1ec3 truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",
7
- !1);if($options$$.obj&&$options$$.data.id_app!=$options$$.obj.id_app)return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1)}if($options$$.obj&&$options$$.obj.id_app&&$options$$.obj.id_app!=$current_id_app$$)return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng th\u1ec3 truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);if($options$$.notNeedRight||!global.modulesInMenu[$module$$]&&("view"===$action$$||"add"===$action$$&&"group"===
8
- $module$$.toLowerCase()))return $callback$jscomp$0$$(null,!0,$app$$);if($options$$.obj&&!$admin$$)if(2===$options$$.obj.visible_to){if(!underscore.contains($options$$.obj.visible_to_users,$email$$)&&$options$$.obj.of_user!==$email$$.toLowerCase()&&$options$$.obj.user_created&&$options$$.obj.user_created.toLowerCase()!==$email$$.toLowerCase())return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1)}else if(1===$options$$.obj.visible_to&&
9
- $options$$.obj.of_user!==$email$$.toLowerCase()&&$options$$.obj.user_created&&$options$$.obj.user_created.toLowerCase()!==$email$$.toLowerCase()&&await exports.nguoiPhuTrach($options$$.obj.id_app,$options$$.obj.user_created)!=$email$$.toLowerCase()&&$options$$.obj.phu_trach!=$email$$.toLowerCase()&&0>($options$$.obj.attends||[]).indexOf($email$$))return $callback$jscomp$0$$("Ch\u1ec9 ng\u01b0\u1eddi t\u1ea1o, ph\u1ee5 tr\u00e1ch, h\u1ed7 tr\u1ee3 v\u00e0 admin m\u1edbi c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",
10
- !1);$action$$=$action$$.toLowerCase();$e_key_right$$=$email$$;$participant$$&&$participant$$.group_id&&($e_key_right$$=$participant$$.group_id.toLowerCase());right.findOne({id_app:$current_id_app$$,email:$e_key_right$$,module:$module$$.toLowerCase()},async function($_trang_thai_data_error$jscomp$2_user_phu_trach$$,$_right__right_trang_thai$$){if($_trang_thai_data_error$jscomp$2_user_phu_trach$$)return $callback$jscomp$0$$($_trang_thai_data_error$jscomp$2_user_phu_trach$$,!1);if(!$admin$$){if(!$_right__right_trang_thai$$||
11
- !$_right__right_trang_thai$$[$action$$])return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",!1);if($options$$.obj&&$_right__right_trang_thai$$&&!$_right__right_trang_thai$$.viewOfOther&&$options$$.obj.user_created.toLowerCase()!==$email$$&&(2!==$options$$.obj.visible_to||!underscore.contains($options$$.obj.visible_to_users,$email$$))&&($_trang_thai_data_error$jscomp$2_user_phu_trach$$=await exports.nguoiPhuTrach($options$$.obj.id_app,
12
- $options$$.obj.user_created),$options$$.obj.phu_trach!==$email$$&&$_trang_thai_data_error$jscomp$2_user_phu_trach$$!=$email$$&&0>($options$$.obj.attends||[]).indexOf($email$$)))return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);$options$$.data&&($options$$.data.trang_thai||0==$options$$.data.trang_thai)&&($options$$.data.trang_thai=$options$$.data.trang_thai.toString());$options$$.obj&&($options$$.obj.trang_thai||0==$options$$.obj.trang_thai)&&
13
- ($options$$.obj.trang_thai=$options$$.obj.trang_thai.toString());if($_trang_thai_data_error$jscomp$2_user_phu_trach$$=$options$$.data||$options$$.obj)if(($_trang_thai_data_error$jscomp$2_user_phu_trach$$=($_trang_thai_data_error$jscomp$2_user_phu_trach$$.trang_thai||$_trang_thai_data_error$jscomp$2_user_phu_trach$$.progress||"").toString().toUpperCase())&&"view"!==$action$$&&$_right__right_trang_thai$$.trang_thai&&!$_right__right_trang_thai$$.trang_thai[$_trang_thai_data_error$jscomp$2_user_phu_trach$$]&&
14
- void 0!=$_right__right_trang_thai$$.trang_thai[$_trang_thai_data_error$jscomp$2_user_phu_trach$$]||$_trang_thai_data_error$jscomp$2_user_phu_trach$$&&($_right__right_trang_thai$$=$_right__right_trang_thai$$[`${$action$$}_trang_thai`])&&!$_right__right_trang_thai$$[$_trang_thai_data_error$jscomp$2_user_phu_trach$$]&&void 0!=$_right__right_trang_thai$$[$_trang_thai_data_error$jscomp$2_user_phu_trach$$])return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y")}$options$$.obj?
15
- async.parallel({trangthai:$callback$$=>{$options$$.obj&&("update"===$action$$||"delete"===$action$$)&&$options$$.obj.ma_ct?trangthai.findOne({ma_ct:$options$$.obj.ma_ct.toUpperCase(),ma_trang_thai:$options$$.obj.trang_thai},function($e$$,$trang_thai$$){if($e$$)return $callback$$($e$$);if($trang_thai$$){if("update"===$action$$){if(0==$trang_thai$$.allow_update)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p s\u1eeda");if(1==$trang_thai$$.lock_data)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c kho\u00e1")}if("delete"===
16
- $action$$&&($trang_thai$$.lock_data||0==$trang_thai$$.allow_delete))return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p xo\u00e1")}return $callback$$()}):$callback$$()}},$e$$=>{$e$$?$callback$jscomp$0$$($e$$,!1):$callback$jscomp$0$$(null,!0,$app$$)}):$callback$jscomp$0$$(null,!0,$app$$)})})};
6
+ exports.hasRight=async function($current_id_app$$,$email$$,$module$$,$action$$,$callback$jscomp$0$$,$options$$){$options$$||($options$$={});if(!$current_id_app$$||$options$$.notNeedRight)return $callback$jscomp$0$$(null,!0);$options$$.data&&($options$$.data.trang_thai||0==$options$$.data.trang_thai)&&($options$$.data.trang_thai=$options$$.data.trang_thai.toString());$options$$.obj&&($options$$.obj.trang_thai||0==$options$$.obj.trang_thai)&&($options$$.obj.trang_thai=$options$$.obj.trang_thai.toString());
7
+ var $data_trang_thai$$=$options$$.data||$options$$.obj||{};const $ma_ct$$=(($options$$.obj||{}).ma_ct||($options$$.data||{}).ma_ct||"").toString().toUpperCase(),$ma_trang_thai$$=($data_trang_thai$$.trang_thai||$data_trang_thai$$.progress||"").toString().toUpperCase();if($ma_ct$$&&$ma_trang_thai$$&&($data_trang_thai$$=await trangthai.findOne({ma_trang_thai:$ma_trang_thai$$,ma_ct:$ma_ct$$}))&&$data_trang_thai$$.not_need_right)return $callback$jscomp$0$$(null,!0);exports.isAdmin($current_id_app$$,$email$$,
8
+ async($e_key_right$$,$admin$$,$app$$,$participant$$)=>{if($e_key_right$$)return $callback$jscomp$0$$($e_key_right$$,!1);if($options$$.data&&$options$$.data.id_app){if($options$$.data.id_app!=$current_id_app$$)return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng th\u1ec3 truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);if($options$$.obj&&$options$$.data.id_app!=$options$$.obj.id_app)return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",
9
+ !1)}if($options$$.obj&&$options$$.obj.id_app&&$options$$.obj.id_app!=$current_id_app$$)return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng th\u1ec3 truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);if($options$$.notNeedRight||!global.modulesInMenu[$module$$]&&("view"===$action$$||"add"===$action$$&&"group"===$module$$.toLowerCase()))return $callback$jscomp$0$$(null,!0,$app$$);if($options$$.obj&&!$admin$$)if(2===$options$$.obj.visible_to){if(!underscore.contains($options$$.obj.visible_to_users,
10
+ $email$$)&&$options$$.obj.of_user!==$email$$.toLowerCase()&&$options$$.obj.user_created&&$options$$.obj.user_created.toLowerCase()!==$email$$.toLowerCase())return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1)}else if(1===$options$$.obj.visible_to&&$options$$.obj.of_user!==$email$$.toLowerCase()&&$options$$.obj.user_created&&$options$$.obj.user_created.toLowerCase()!==$email$$.toLowerCase()&&await exports.nguoiPhuTrach($options$$.obj.id_app,
11
+ $options$$.obj.user_created)!=$email$$.toLowerCase()&&$options$$.obj.phu_trach!=$email$$.toLowerCase()&&0>($options$$.obj.attends||[]).indexOf($email$$))return $callback$jscomp$0$$("Ch\u1ec9 ng\u01b0\u1eddi t\u1ea1o, ph\u1ee5 tr\u00e1ch, h\u1ed7 tr\u1ee3 v\u00e0 admin m\u1edbi c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);$action$$=$action$$.toLowerCase();$e_key_right$$=$email$$;$participant$$&&$participant$$.group_id&&($e_key_right$$=$participant$$.group_id.toLowerCase());
12
+ right.findOne({id_app:$current_id_app$$,email:$e_key_right$$,module:$module$$.toLowerCase()},async function($error$jscomp$2_user_phu_trach$$,$_right__right_trang_thai$$){if($error$jscomp$2_user_phu_trach$$)return $callback$jscomp$0$$($error$jscomp$2_user_phu_trach$$,!1);if(!$admin$$){if(!$_right__right_trang_thai$$||!$_right__right_trang_thai$$[$action$$])return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",!1);if($options$$.obj&&
13
+ $_right__right_trang_thai$$&&!$_right__right_trang_thai$$.viewOfOther&&$options$$.obj.user_created.toLowerCase()!==$email$$&&(2!==$options$$.obj.visible_to||!underscore.contains($options$$.obj.visible_to_users,$email$$))&&($error$jscomp$2_user_phu_trach$$=await exports.nguoiPhuTrach($options$$.obj.id_app,$options$$.obj.user_created),$options$$.obj.phu_trach!==$email$$&&$error$jscomp$2_user_phu_trach$$!=$email$$&&0>($options$$.obj.attends||[]).indexOf($email$$)))return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",
14
+ !1);if($ma_trang_thai$$&&($_right__right_trang_thai$$=$_right__right_trang_thai$$[`${$action$$}_trang_thai`])&&!$_right__right_trang_thai$$[$ma_trang_thai$$]&&void 0!=$_right__right_trang_thai$$[$ma_trang_thai$$])return $callback$jscomp$0$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y")}$options$$.obj?async.parallel({trangthai:$callback$$=>{$options$$.obj&&("update"===$action$$||"delete"===$action$$)&&$options$$.obj.ma_ct?trangthai.findOne({ma_ct:$options$$.obj.ma_ct.toUpperCase(),
15
+ ma_trang_thai:$options$$.obj.trang_thai},function($e$$,$trang_thai$$){if($e$$)return $callback$$($e$$);if($trang_thai$$){if("update"===$action$$){if(0==$trang_thai$$.allow_update)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p s\u1eeda");if(1==$trang_thai$$.lock_data)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c kho\u00e1")}if("delete"===$action$$&&($trang_thai$$.lock_data||0==$trang_thai$$.allow_delete))return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p xo\u00e1")}return $callback$$()}):
16
+ $callback$$()}},$e$$=>{$e$$?$callback$jscomp$0$$($e$$,!1):$callback$jscomp$0$$(null,!0,$app$$)}):$callback$jscomp$0$$(null,!0,$app$$)})})};
17
17
  exports.getRightByItem=function($id_app$$,$model$$,$email$$,$next$$,$module$$){exports.isAdmin($id_app$$,$email$$,async function($e$jscomp$3_key_right$$,$admin$$,$app$$,$participant$$){if($e$jscomp$3_key_right$$)return $next$$($e$jscomp$3_key_right$$);let $condition$$={};$module$$||($module$$=$model$$&&$model$$.collection&&$model$$.collection.name&&1<$model$$.collection.name.length?$model$$.collection.name.substr(0,$model$$.collection.name.length-1).toLowerCase():"");if($admin$$)$next$$(null,$condition$$,
18
18
  $admin$$);else{const $ds_dang_phu_trach$$=await exports.dsDangPhuTrach($id_app$$,$email$$);$ds_dang_phu_trach$$.push($email$$);$ds_dang_phu_trach$$.push(null);$ds_dang_phu_trach$$.push(void 0);$ds_dang_phu_trach$$.push("");let $allUsers$$,$onlyCreated$$;$app$$={visible_to:null};let $visible$$=[];underscore.has($model$$.schema.paths,"visible_to")&&($condition$$.$and||($condition$$.$and=[]),$allUsers$$={visible_to:0},$e$jscomp$3_key_right$$={visible_to:2,visible_to_users:$email$$},$admin$$={visible_to:5,
19
19
  visible_to_users:($participant$$||{}).group_id},$onlyCreated$$={user_created:{$in:$ds_dang_phu_trach$$}},$visible$$.push($allUsers$$),$visible$$.push($onlyCreated$$),$visible$$.push($e$jscomp$3_key_right$$),$visible$$.push($admin$$),$visible$$.push($app$$),underscore.has($model$$.schema.paths,"of_user")&&$visible$$.push({of_user:$email$$}),underscore.has($model$$.schema.paths,"phu_trach")&&$visible$$.push({phu_trach:{$in:$ds_dang_phu_trach$$}}),underscore.has($model$$.schema.paths,"attends")&&$visible$$.push({attends:{$in:$ds_dang_phu_trach$$}}));
@@ -2,9 +2,9 @@
2
2
  Date.prototype.nextDay=function($days_of_week_distances$$){if(!$days_of_week_distances$$||0===$days_of_week_distances$$.length)return null;let $d$$=new Date(this.getTime());$days_of_week_distances$$=$days_of_week_distances$$.map($day_of_week_distance$$=>{($day_of_week_distance$$=($day_of_week_distance$$+7-$d$$.getDay())%7)||($day_of_week_distance$$=7);return $day_of_week_distance$$}).sort(($a$$,$b$$)=>$a$$-$b$$);return 0<$days_of_week_distances$$.length?($d$$.setDate($d$$.getDate()+$days_of_week_distances$$[0]),
3
3
  $d$$):null};Array.prototype.csum=function($field$$,$condition$$,$exclude$$){return _.reduce(this,function($sum$$,$row_v$$){if(!_.isMatch($row_v$$,$condition$$)||$exclude$$&&_.isMatch($row_v$$,$exclude$$))return $sum$$;$row_v$$=Number($row_v$$[$field$$]||0)||0;isNaN($row_v$$)&&($row_v$$=0);return $sum$$+$row_v$$},0)};
4
4
  Array.prototype.cmax=function($field$$,$condition$$){return _.reduce(this,function($max$$,$row$$){let $v$$=$row$$[$field$$];return _.isMatch($row$$,$condition$$)&&!_.isUndefined($v$$)?$max$$?_.isNumber($v$$)?$max$$>$v$$?$max$$:$v$$:_.isString($v$$)?1==$v$$.localeCompare($max$$)?$v$$:$max$$:$v$$:$v$$:$max$$},null)};Array.prototype.reg=function(){if(0==this.length)return"";let $tk$$;this.forEach(function($t$$){""!==$t$$&&($tk$$=$tk$$?$tk$$+"|^"+$t$$:"^"+$t$$)});return $tk$$};
5
- Array.prototype.groupBy=function($fieldkey$$,$fieldsums$$,$fn$$,$options$$){const $self$$=this;setImmediate(()=>{const $groups$$=_.groupBy($self$$,function($item$$){let $key$$="";if(_.isArray($fieldkey$$)){for(let $k$$ of $fieldkey$$){let $_key$$=$item$$[$k$$];_.isDate($_key$$)&&($_key$$=moment($_key$$).format("YYYY-MM-DD"));!1===$_key$$&&($_key$$="false");$_key$$||($_key$$="");$key$$=$key$$?$key$$+"_"+$_key$$:$_key$$}_.isString($key$$)&&($key$$=$key$$.split(" ").join("").split(".").join(""));$key$$||
6
- ($key$$="ZZZ")}else $key$$=$item$$[$fieldkey$$],_.isDate($key$$)&&($key$$=moment($key$$).format("YYYY-MM-DD")),!1===$key$$&&($key$$="false"),$key$$||($key$$="__");return $key$$});async.map(_.keys($groups$$),function($key$$,$callback$$){setImmediate(()=>{let $value$$=$groups$$[$key$$],$r$$={};if(_.isArray($fieldkey$$)&&0<$value$$.length)for(let $k$$ of $fieldkey$$)$r$$[$k$$]=$value$$[0][$k$$],$r$$[$k$$]||0==$r$$[$k$$]||0==$r$$[$k$$]||($r$$[$k$$]="");else $r$$[$fieldkey$$]=$key$$;$fieldsums$$.forEach(function($f$$){_.isObject($f$$)?
7
- $r$$[$f$$.name]=$value$$.csum($f$$.value):$r$$[$f$$]=$value$$.csum($f$$)});$options$$&&$options$$.fieldmaxs&&$options$$.fieldmaxs.forEach(function($f$$){_.isObject($f$$)?$r$$[$f$$.name]=$value$$.cmax($f$$.value):$r$$[$f$$]=$value$$.cmax($f$$)});$callback$$(null,$r$$)})},function($error$$,$result$$){if($error$$)return $fn$$($error$$);$fn$$(null,$result$$)})})};
5
+ Array.prototype.groupBy=function($fieldkey$$,$fieldsums$$,$fn$$,$options$$){const $self$$=this;setImmediate(()=>{const $groups$$=_.groupBy($self$$,function($item$$){let $key$$="";if(_.isArray($fieldkey$$)){for(let $k$$ of $fieldkey$$){let $_key$$=$item$$[$k$$];_.isDate($_key$$)&&($_key$$=moment($_key$$).format("YYYY-MM-DD"));!1===$_key$$&&($_key$$="false");$_key$$||($_key$$="");$key$$=$key$$?$key$$+"_"+$_key$$:$_key$$}_.isString($key$$)&&($key$$=$key$$.trim());$key$$||($key$$="ZZZ")}else $key$$=$item$$[$fieldkey$$],
6
+ _.isDate($key$$)&&($key$$=moment($key$$).format("YYYY-MM-DD")),!1===$key$$&&($key$$="false"),$key$$||($key$$="__");return $key$$});async.map(_.keys($groups$$),function($key$$,$callback$$){setImmediate(()=>{let $value$$=$groups$$[$key$$],$r$$={};if(_.isArray($fieldkey$$)&&0<$value$$.length)for(let $k$$ of $fieldkey$$)$r$$[$k$$]=$value$$[0][$k$$],$r$$[$k$$]||0==$r$$[$k$$]||0==$r$$[$k$$]||($r$$[$k$$]="");else $r$$[$fieldkey$$]=$key$$;$fieldsums$$.forEach(function($f$$){_.isObject($f$$)?$r$$[$f$$.name]=
7
+ $value$$.map($v$$=>$v$$[$f$$.value]||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0):$r$$[$f$$]=$value$$.map($v$$=>$v$$[$f$$]||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)});$options$$&&$options$$.fieldmaxs&&$options$$.fieldmaxs.forEach(function($f$$){_.isObject($f$$)?$r$$[$f$$.name]=$value$$.cmax($f$$.value):$r$$[$f$$]=$value$$.cmax($f$$)});$callback$$(null,$r$$)})},function($error$$,$result$$){if($error$$)return $fn$$($error$$);$fn$$(null,$result$$)})})};
8
8
  Array.prototype.asyncGroupBy=function($fieldkey$$,$fieldsums$$,$options$$){let $_this$$=this;return new Promise(($resolve$$,$reject$$)=>{$_this$$.groupBy($fieldkey$$,$fieldsums$$,($error$$,$rs$$)=>{if($error$$)return $reject$$($error$$);$resolve$$($rs$$)},$options$$)})};
9
9
  Array.prototype.joinModel=function($id_app$$,$model$$,$joinFields$$,$fn$$){_.isArray($joinFields$$)&&$joinFields$$.forEach($join$$=>{if($join$$.where){let $_where$$={};for(let $key$$ in $join$$.where)$_where$$[$join$$.where[$key$$]]=$key$$;$join$$.where=$_where$$}});_.isArray($id_app$$)&&_.isArray($model$$)&&$model$$.forEach($join$$=>{if($join$$.where){let $_where$$={};for(let $key$$ in $join$$.where)$_where$$[$join$$.where[$key$$]]=$key$$;$join$$.where=$_where$$}});this.joinModel2($id_app$$,$model$$,
10
10
  $joinFields$$,$fn$$)};const getFields=$fields$$=>{_.isArray($fields$$)||($fields$$=[$fields$$]);return $fields$$=$fields$$.map(function($map$$){if(_.isObject($map$$)){var $rs$jscomp$1_value$$=$map$$.value;if($map$$.name&&$rs$jscomp$1_value$$)return{[$rs$jscomp$1_value$$]:1};$rs$jscomp$1_value$$={};for(let $key$$ in $map$$)$rs$jscomp$1_value$$[$map$$[$key$$]]=1;return $rs$jscomp$1_value$$}return{[$map$$]:1}}).reduce(($a$$,$b$$)=>({...$a$$,...$b$$}),{})};
@@ -13,8 +13,8 @@ Array.prototype.joinModel2=function($id_app$$,$model$jscomp$0$$,$joinFields$$,$f
13
13
  {};if($join$$.where)if(_.isFunction($join$$.where))$query$$=$join$$.where($item$$)||{};else{if(_.isString($join$$.where)){var $bkey_k$$=$join$$.where;$join$$.where={};$join$$.where[$bkey_k$$]=$bkey_k$$}for(let $akey$$ in $join$$.where)if($bkey_k$$=$join$$.where[$akey$$],_.isObject($bkey_k$$)?$query$$[$akey$$]=$bkey_k$$:$query$$[$bkey_k$$]=$item$$[$akey$$],"_id"==$bkey_k$$&&!$item$$[$akey$$])return console.log("can't join with this condition",$join$$.where),$callback$$(null)}if($join$$.akey&&$join$$.bkey){if("_id"==
14
14
  $join$$.bkey&&!$item$$[$join$$.akey])return console.log("can't join with this condition",$join$$.akey,$join$$.bkey),$callback$$(null);$query$$[$join$$.bkey]=$item$$[$join$$.akey]}let $b$$=_.findWhere($model$$,$query$$),$d_session$$="";if($query$$._id)$d_session$$="stp:"+$query$$._id;else{for(let $key$$ in $query$$)"id_app"!==$key$$&&$query$$[$key$$]&&($d_session$$=$d_session$$?$d_session$$+":"+$key$$+":"+$query$$[$key$$]:$key$$+":"+$query$$[$key$$]);$d_session$$=$query$$.id_app?"id_app:"+$query$$.id_app+
15
15
  ":"+$d_session$$:($id_app$$||"")+":"+$d_session$$}(new Promise(($resolve$jscomp$0$$,$reject$$)=>{let $_model$$;($_model$$="function"!==typeof $model_origin$$||$model_origin$$.findOne?$model_origin$$:$model_origin$$($item$$))&&!$b$$?(new Promise($resolve$$=>{setImmediate(()=>{$options$$.cache&&$d_session$$&&$_model$$.collection&&$_model$$.collection.name&&cachedKeys[$_model$$.collection.name.substring(0,$_model$$.collection.name.length-1)]?global.clientRedis.get($d_session$$,function($err$$,$reply$$){$resolve$$($reply$$)}):
16
- $resolve$$()})})).then($rep$$=>{setImmediate(()=>{if($rep$$)$b$$=JSON.parse($rep$$),$resolve$jscomp$0$$($b$$);else{let $q$$={};for($fields$jscomp$1_key$$ in $query$$)void 0!==$query$$[$fields$jscomp$1_key$$]&&($q$$[$fields$jscomp$1_key$$]=$query$$[$fields$jscomp$1_key$$]);if(0===Object.keys($q$$).length)return $resolve$jscomp$0$$(null);$id_app$$&&($q$$.id_app=$id_app$$);if(""==$q$$._id||$q$$._id&&!global.mongoose.Types.ObjectId.isValid($q$$._id))return $resolve$jscomp$0$$(null);var $fields$jscomp$1_key$$=
17
- $join$$.fields_need_get_data;if(_.isString($_model$$)){if(!mongoose.models[$_model$$])return $reject$$("Collection is not exists");$_model$$=mongoose.models[$_model$$]}$_model$$.findOne($q$$,$fields$jscomp$1_key$$).lean().exec(function($e$$,$rs$$){setImmediate(()=>{if($e$$)return $reject$$($e$$);$rs$$&&($rs$$._id=$rs$$._id.toString(),$b$$=$rs$$);$resolve$jscomp$0$$($b$$)})})}})}):$resolve$jscomp$0$$($b$$)})).then(()=>{setImmediate(()=>{$b$$&&($join$$.fields||$join$$.setFields||$join$$.asyncSetFields)?
16
+ $resolve$$()})})).then($rep$$=>{setImmediate(async()=>{if($rep$$)$b$$=JSON.parse($rep$$),$resolve$jscomp$0$$($b$$);else{let $q$$={};for($fields$jscomp$1_key$$ in $query$$)void 0!==$query$$[$fields$jscomp$1_key$$]&&($q$$[$fields$jscomp$1_key$$]=$query$$[$fields$jscomp$1_key$$]);if(0===Object.keys($q$$).length)return $resolve$jscomp$0$$(null);$id_app$$&&($q$$.id_app=$id_app$$);if(""==$q$$._id||$q$$._id&&!global.mongoose.Types.ObjectId.isValid($q$$._id))return $resolve$jscomp$0$$(null);var $fields$jscomp$1_key$$=
17
+ $join$$.fields_need_get_data;if(_.isString($_model$$)){if(!mongoose.models[$_model$$])return $reject$$("Collection is not exists");$_model$$=mongoose.models[$_model$$]}try{const $rs$$=await $_model$$.findOne($q$$,$fields$jscomp$1_key$$).lean().exec();$rs$$&&($rs$$._id=$rs$$._id.toString(),$b$$=$rs$$);$resolve$jscomp$0$$($b$$)}catch($e$$){console.error($e$$),$resolve$jscomp$0$$($b$$)}}})}):$resolve$jscomp$0$$($b$$)})).then(()=>{setImmediate(()=>{$b$$&&($join$$.fields||$join$$.setFields||$join$$.asyncSetFields)?
18
18
  ($join$$.fields&&(_.isFunction($join$$.fields)?$join$$.fields($item$$,$b$$):(_.isArray($join$$.fields)||($join$$.fields=[$join$$.fields]),$join$$.fields.forEach(function($map$$){if(_.isObject($map$$)){let $name$$=$map$$.name,$value$$=$map$$.value;if($name$$&&$value$$)$item$$[$name$$]=$b$$[$value$$];else for(let $key$$ in $map$$)$item$$[$key$$]=$b$$[$map$$[$key$$]]}else $item$$[$map$$]=$b$$[$map$$]}))),$join$$.setFields&&$join$$.setFields($item$$,$b$$),$join$$.asyncSetFields?setImmediate(()=>{$join$$.asyncSetFields($item$$,
19
19
  $b$$,()=>{$callback$$(null)})}):$callback$$(null)):$callback$$(null)})})})},function($error$$){setImmediate(()=>{if($error$$)return $callback$jscomp$0$$($error$$);$callback$jscomp$0$$()})})})},function($error$$){setImmediate(()=>{$error$$&&console.error($error$$);$fn$$($self$$)})})}).catch($error$$=>{console.error($error$$);$fn$$($self$$)})})};
20
20
  Array.prototype.asyncJoinModel2=function($id_app$$,$model$$,$joinFields$$,$options$$={cache:!0}){let $_this$$=this;return new Promise($resolve$$=>{$_this$$.joinModel2($id_app$$,$model$$,$joinFields$$,$rs$$=>{$resolve$$($rs$$)},$options$$)})};
@@ -1,7 +1,7 @@
1
1
  'use strict';const dkvt=require("./dkvt"),sokho=global.getModel("sokho"),dmvt=global.getModel("dmvt"),async=require("async"),underscore=require("underscore");
2
- module.exports=function($condition$$,$fn$$,$log$$=()=>{}){$log$$("stocksummary: prepare condition");if($condition$$&&$condition$$.tu_ngay&&$condition$$.den_ngay&&$condition$$.id_app){var $id_app$$=$condition$$.id_app,$groupBy$$=$condition$$.groupBy||$condition$$.groupby;console.log("condition thnxt:",$condition$$);$groupBy$$||($groupBy$$=["ma_vt"]);if(underscore.isString($groupBy$$))if(0<=$groupBy$$.indexOf("["))try{$groupBy$$=JSON.parse($groupBy$$)}catch($e$$){console.error($e$$)}else $groupBy$$=
3
- $groupBy$$.split(",");async.parallel({dn:function($callback$$){$log$$("stocksummary: calculate balance begin");dkvt($condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$result$$.joinModel2($id_app$$,dmvt,{where:"ma_vt",setFields:($item$$,$ref$$)=>{$item$$.tk_vt||($item$$.tk_vt=$ref$$.tk_vt);$item$$.ma_nvt=$ref$$.ma_nvt;$item$$.ma_nvt2=$ref$$.ma_nvt2;$item$$.ma_nvt3=$ref$$.ma_nvt3;$item$$.ma_nvt4=$ref$$.ma_nvt4}},()=>{$callback$$(null,$result$$)})})},ps:function($callback$$){let $ma_vt$$=
4
- $condition$$.ma_vt;underscore.isArray($ma_vt$$)&&($ma_vt$$={$in:$ma_vt$$});let $query$$={id_app:$id_app$$,ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}};$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.ma_tt1&&($query$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);
5
- $condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);!$condition$$.exclude_ct_dc||$condition$$.ma_kho||$groupBy$$.find($g$$=>"ma_kho"===$g$$)||($query$$.ma_ct={$nin:["PNC","PXC"]});$log$$("stocksummary: calculate araising");sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{$error$$?$callback$$($error$$):($pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=$ps$$.sl_nhap_qd;$ps$$.sl_xuat=$ps$$.sl_xuat_qd;return $ps$$}),$pss$$.joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3",
6
- "ma_nvt4"]},()=>{$callback$$(null,$pss$$)}))})}},function($data_error$$,$results$$){$data_error$$?$fn$$($data_error$$):($data_error$$=$results$$.dn.concat($results$$.ps),$log$$("stocksummary: group by"),$data_error$$.groupBy($groupBy$$,[{name:"ton_dau",value:"ton00"},{name:"du_dau",value:"du00"},"sl_nhap","sl_xuat","tien_nhap","tien_xuat"],($e$jscomp$1_result$$,$groups$$)=>{if($e$jscomp$1_result$$)return $fn$$($e$jscomp$1_result$$);for(let $r$$ of $groups$$)$r$$.ton_cuoi=$r$$.ton_dau+$r$$.sl_nhap-
7
- $r$$.sl_xuat,$r$$.du_cuoi=Math.round($r$$.du_dau,0)+Math.round($r$$.tien_nhap,0)-Math.round($r$$.tien_xuat,0);$e$jscomp$1_result$$=underscore.filter($groups$$,function($r$$){return 0!==Math.abs($r$$.ton_dau)+Math.abs($r$$.du_dau)+Math.abs($r$$.sl_nhap)+Math.abs($r$$.tien_nhap)+Math.abs($r$$.sl_xuat)+Math.abs($r$$.tien_xuat)+Math.abs($r$$.ton_cuoi)+Math.abs($r$$.du_cuoi)});$log$$("stocksummary: finish");$fn$$(null,$e$jscomp$1_result$$)}))})}else $fn$$("L\u1ed7i: B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay,id_app")};
2
+ module.exports=function($condition$$,$fn$$,$log$$=()=>{}){$log$$("stocksummary: prepare condition");if($condition$$&&$condition$$.tu_ngay&&$condition$$.den_ngay&&$condition$$.id_app){var $id_app$$=$condition$$.id_app,$groupBy$$=$condition$$.groupBy||$condition$$.groupby;$groupBy$$||($groupBy$$=["ma_vt"]);if(underscore.isString($groupBy$$))if(0<=$groupBy$$.indexOf("["))try{$groupBy$$=JSON.parse($groupBy$$)}catch($e$$){console.error($e$$)}else $groupBy$$=$groupBy$$.split(",");async.parallel({dn:function($callback$$){$log$$("stocksummary: calculate balance begin");
3
+ dkvt($condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$callback$$(null,$result$$)})},ps:function($callback$$){let $ma_vt$$=$condition$$.ma_vt;underscore.isArray($ma_vt$$)&&($ma_vt$$={$in:$ma_vt$$});const $query$$={id_app:$id_app$$,ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}};$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&
4
+ ($query$$.ma_lo=$condition$$.ma_lo);$condition$$.ma_tt1&&($query$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);!$condition$$.exclude_ct_dc||$condition$$.ma_kho||$groupBy$$.find($g$$=>"ma_kho"===$g$$)||($query$$.ma_ct={$nin:["PNC","PXC"]});$log$$("stocksummary: calculate araising");sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{$error$$?$callback$$($error$$):($pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=
5
+ $ps$$.sl_nhap_qd;$ps$$.sl_xuat=$ps$$.sl_xuat_qd;return $ps$$}),$pss$$.joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]},()=>{$callback$$(null,$pss$$)}))})}},function($data_error$$,$results$$){$data_error$$?$fn$$($data_error$$):($data_error$$=$results$$.dn.concat($results$$.ps),$log$$("stocksummary: group by"),$data_error$$.groupBy($groupBy$$,[{name:"ton_dau",value:"ton00"},{name:"du_dau",value:"du00"},"sl_nhap","sl_xuat","tien_nhap","tien_xuat"],($e$jscomp$1_result$$,
6
+ $groups$$)=>{if($e$jscomp$1_result$$)return $fn$$($e$jscomp$1_result$$);for(let $r$$ of $groups$$)$r$$.ton_cuoi=$r$$.ton_dau+$r$$.sl_nhap-$r$$.sl_xuat,$r$$.du_cuoi=Math.round($r$$.du_dau,0)+Math.round($r$$.tien_nhap,0)-Math.round($r$$.tien_xuat,0);$e$jscomp$1_result$$=underscore.filter($groups$$,function($r$$){return 0!==Math.abs($r$$.ton_dau)+Math.abs($r$$.du_dau)+Math.abs($r$$.sl_nhap)+Math.abs($r$$.tien_nhap)+Math.abs($r$$.sl_xuat)+Math.abs($r$$.tien_xuat)+Math.abs($r$$.ton_cuoi)+Math.abs($r$$.du_cuoi)});
7
+ $log$$("stocksummary: finish");$fn$$(null,$e$jscomp$1_result$$)}))})}else $fn$$("L\u1ed7i: B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay,id_app")};
@@ -61,8 +61,8 @@ app_info:$app_info$$},function($error$$){$error$$&&console.error("Khong the gui
61
61
  model.approve=function($_c$$,$callback$$,$token$$){console.log("approve voucher....");let $key_data$$,$_id$$,$user_approved$$,$user_approved_name$$,$trang_thai$$;try{const $decipher$$=crypto.createDecipher("aes192","PVT@1");let $decrypted$$=$decipher$$.update($_c$$,"hex","utf8");$decrypted$$+=$decipher$$.final("utf8");$key_data$$=JSON.parse($decrypted$$);$_id$$=$key_data$$.id_request;$user_approved$$=$key_data$$.email;$user_approved_name$$=$key_data$$.name;$trang_thai$$=$key_data$$.trang_thai}catch($e$$){return $callback$$("Y\u00eau c\u1ea7u n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb")}$_c$$=
62
62
  {_id:$_id$$};void 0!==$trang_thai$$&&null!==$trang_thai$$&&($_c$$.trang_thai=$trang_thai$$);model.findOne($_c$$,($e$jscomp$3$$,$rq$$)=>{if($e$jscomp$3$$||!$rq$$)return $callback$$($e$jscomp$3$$||"Y\u00eau c\u1ea7u n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");if($rq$$.date_approved)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t b\u1edfi "+$rq$$.user_approved_name);if($rq$$.date_denied)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 b\u1ecb t\u1eeb ch\u1ed1i duy\u1ec7t b\u1edfi "+
63
63
  $rq$$.user_denied_name);$rq$$.date_approved=new Date;$rq$$.user_approved=$user_approved$$;$rq$$.user_approved_name=$user_approved_name$$;$rq$$.save(($e$jscomp$2$$,$approve$$)=>{if($e$jscomp$2$$)return $callback$$($e$jscomp$2$$);model.sendNotifyApproved($rq$$,$token$$);if($rq$$.update_after_approve&&$rq$$.update_after_approve.data)try{let $module_name$$=$rq$$.update_after_approve.module||$rq$$.update_after_approve.model,$ctrl$$;$module_name$$&&($ctrl$$=global.controllers[$module_name$$.toUpperCase()]);
64
- let $_m$$;$rq$$.update_after_approve.model?$_m$$=global.getModel($rq$$.update_after_approve.model):$ctrl$$&&($_m$$=$ctrl$$.getProperty("model"));if(!$_m$$)return;$_m$$.findOneAndUpdate({_id:$rq$$.id_ct},$rq$$.update_after_approve.data,async $e$jscomp$1$$=>{if($e$jscomp$1$$)return console.error("Can't update data after approved, error:",$e$jscomp$1$$);if($ctrl$$)try{const $obj$$=await $_m$$.findOne({_id:$rq$$.id_ct}),$u$$=await User.findOne({email:$user_approved$$});$u$$.current_id_app=$obj$$.id_app;
65
- const $app_info$$=await App.findOne({_id:$obj$$.id_app});$ctrl$$.handleAfterAproved&&await $ctrl$$.handleAfterAproved($obj$$);console.log("request to approve next step");$ctrl$$.onView($u$$,[$obj$$.toObject()],($e$jscomp$0$$,$rs$$)=>{$ctrl$$.requestApprove($app_info$$,$u$$,$rs$$[0],$e$$=>{$e$$&&console.error($e$$)})})}catch($e$$){console.error($e$$)}})}catch($e$$){console.error("Can't update data after approved, error:",$e$$.message)}$callback$$(null,$approve$$)})})};
64
+ let $_m$$;$rq$$.update_after_approve.model?$_m$$=global.getModel($rq$$.update_after_approve.model):$ctrl$$&&($_m$$=$ctrl$$.getProperty("model"));if(!$_m$$)return;$_m$$.findOneAndUpdate({_id:$rq$$.id_ct},$rq$$.update_after_approve.data,async $e$jscomp$1$$=>{if($e$jscomp$1$$)return console.error("Can't update data after approved, error:",$e$jscomp$1$$);if($ctrl$$)try{const $obj$$=await $_m$$.findOne({_id:$rq$$.id_ct});if($obj$$){const $u$$=await User.findOne({email:$user_approved$$});$u$$.current_id_app=
65
+ $obj$$.id_app;const $app_info$$=await App.findOne({_id:$obj$$.id_app});$ctrl$$.handleAfterAproved&&await $ctrl$$.handleAfterAproved($obj$$);console.log("request to approve next step");$ctrl$$.onView($u$$,[$obj$$.toObject()],($e$jscomp$0$$,$rs$$)=>{$ctrl$$.requestApprove($app_info$$,$u$$,$rs$$[0],$e$$=>{$e$$&&console.error($e$$)})})}}catch($e$$){console.error($e$$)}})}catch($e$$){console.error("Can't update data after approved, error:",$e$$.message)}$callback$$(null,$approve$$)})})};
66
66
  model.deny=function($_c$jscomp$2_encrypted$$,$callback$$,$token$$,$options$$={reason:""}){let $key_data$$,$_id$$,$user_denied$$,$user_denied_name$$,$trang_thai$$;try{const $decipher$$=crypto.createDecipher("aes192","PVT@1");let $decrypted$$=$decipher$$.update($_c$jscomp$2_encrypted$$,"hex","utf8");$decrypted$$+=$decipher$$.final("utf8");$key_data$$=JSON.parse($decrypted$$);$_id$$=$key_data$$.id_request;$user_denied$$=$key_data$$.email;$user_denied_name$$=$key_data$$.name;$trang_thai$$=$key_data$$.trang_thai}catch($e$$){return $callback$$("Y\u00eau c\u1ea7u n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb")}$_c$jscomp$2_encrypted$$=
67
67
  {_id:$_id$$};void 0!==$trang_thai$$&&null!==$trang_thai$$&&($_c$jscomp$2_encrypted$$.trang_thai=$trang_thai$$);model.findOne($_c$jscomp$2_encrypted$$,($e$jscomp$2$$,$rq$$)=>{if($e$jscomp$2$$||!$rq$$)return $callback$$($e$jscomp$2$$||"Y\u00eau c\u1ea7u n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");if($rq$$.date_approved)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t b\u1edfi "+$rq$$.user_approved_name);if($rq$$.date_denied)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 b\u1ecb t\u1eeb ch\u1ed1i duy\u1ec7t b\u1edfi "+
68
68
  $rq$$.user_denied_name);$rq$$.date_denied=new Date;$rq$$.user_denied=$user_denied$$;$rq$$.user_denied_name=$user_denied_name$$;$rq$$.denied_reason=$options$$.reason||"";$rq$$.save(($e$jscomp$1$$,$approve$$)=>{if($e$jscomp$1$$)return $callback$$($e$jscomp$1$$);App.emitEvent($rq$$.id_app,null,{_id:$rq$$.id_ct,id_app:$rq$$.id_app,body:"Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 b\u1ecb t\u1eeb ch\u1ed1i duy\u1ec7t",code:$rq$$.ma_ct},$token$$,[$rq$$.user_request]);validator.isEmail($rq$$.user_request)&&
@@ -1,4 +1,4 @@
1
1
  'use strict';const cartSchema=new Schema({id_app:{type:String,required:!0},id_app_vt:{type:String,maxlength:1024},user:{type:String},ma_vt:{type:String,required:!0,maxlength:1024},ten_vt:String,ma_dvt:{type:String,required:!0,maxlength:32},thuoc_tinh:Schema.Types.Mixed,km_yn_for:String,sl_xuat:{type:Number,default:1},gia_ban:{type:Number,default:0},id_cs:String,collection_cs:String,ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,
2
- maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ma_tinh_thanh:String,ma_quan_huyen:String,ma_xa_phuong:String,trang_thai:{type:String,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:""},
3
- visible_to:{type:Number,default:0},visible_to_users:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String],dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]}});cartSchema.index({id_app:1,user:1});cartSchema.index({user:"text",ma_vt:"text",ten_vt:"text"},{name:"cart_index"});cartSchema.index({trang_thai:1});cartSchema.index({status:1});cartSchema.index({ma_tt1:1});cartSchema.index({ma_tt2:1});cartSchema.index({ma_tt3:1});cartSchema.index({ma_lo:1});
4
- cartSchema.index({han_sd:1});cartSchema.index({km_yn_for:1});cartSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.cart||mongoose.model("cart",cartSchema);module.exports=model;
2
+ maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ma_tinh_thanh:String,ma_quan_huyen:String,ma_xa_phuong:String,shared:{type:Boolean,default:!0},trang_thai:{type:String,default:"0"},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},
3
+ user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String],dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]}});cartSchema.index({id_app:1,user:1});cartSchema.index({user:"text",ma_vt:"text",ten_vt:"text"},{name:"cart_index"});cartSchema.index({trang_thai:1});cartSchema.index({status:1});cartSchema.index({ma_tt1:1});cartSchema.index({ma_tt2:1});cartSchema.index({ma_tt3:1});
4
+ cartSchema.index({ma_lo:1});cartSchema.index({han_sd:1});cartSchema.index({km_yn_for:1});cartSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.cart||mongoose.model("cart",cartSchema);module.exports=model;
@@ -21,12 +21,12 @@ delete $_field$$.not_display;delete $_field$$.not_search;delete $_field$$.format
21
21
  delete $_field$$.on_view;delete $_field$$.handle_view_server;"String"==$_field$$.type||"Number"==$_field$$.type?$_field$$.maxlength=$_field$$.maxlength||4E3:delete $_field$$.maxlength;$_newModel$$.schema.add({[$field$$.name]:$_field$$});$field$$.unique||$_newModel$$.schema.index({[$field$$.name]:1})});if($_newList$$&&$_newList$$.is_dynamic_list){$fields_have_ref_info$jscomp$1_uq$$=$fields$$.filter($f$$=>$f$$.unique);let $indUq$$;0<$fields_have_ref_info$jscomp$1_uq$$.length&&($indUq$$={id_app:1},$fields_have_ref_info$jscomp$1_uq$$.forEach($field$$=>
22
22
  {$indUq$$[$field$$.name]=$field$$.sort||1}));if($_newList$$.options.unique&&0<$_newList$$.options.unique.length){let $old_index_unique$$={id_app:1};$_newList$$.options.unique.forEach($u$$=>{let $field$$=$fields$$.find($f$$=>$f$$.name===$u$$);$old_index_unique$$[$u$$]=($field$$||{}).sort||1});console.log("drop current index unique...",$old_index_unique$$);$_newModel$$.collection.dropIndex($old_index_unique$$,$e$$=>{$e$$&&console.error("Can't drop index unique",$old_index_unique$$);$indUq$$&&(console.log("create new index unique...",
23
23
  $indUq$$),$_newModel$$.schema.index($indUq$$,{unique:!0}))})}else $indUq$$&&(console.log("create new index unique...",$indUq$$),$_newModel$$.schema.index($indUq$$,{unique:!0}))}}};model.createModel=$info$$=>{if(!$info$$.create_model)return null;let $model_code$$=$info$$.api_code||$info$$.model_code||$info$$.code,$exModel$$=global.mongoose.models[$model_code$$];$exModel$$?model.updateModel($info$$,$exModel$$):$exModel$$=global.mongoose.model($model_code$$,model.createSchema($info$$));return $exModel$$};
24
- const deletePost=($_listInfo$$,$obj$$)=>Promise.all(($_listInfo$$.postinfos||[]).filter($info$$=>$info$$.model&&$info$$.script&&$info$$.condition).map($postInfo$$=>{let $m$$=global.getModel($postInfo$$.model);var $condition_scriptCondition$$=0>$postInfo$$.condition.indexOf("return ")?`return ${$postInfo$$.condition}`:$postInfo$$.condition;$condition_scriptCondition$$=evalute($condition_scriptCondition$$,{master:$obj$$,data:$obj$$,moment});$condition_scriptCondition$$.id_app=$obj$$.id_app;console.log("delete post dynamic",
25
- $postInfo$$.model,$condition_scriptCondition$$);return $m$$.deleteMany($condition_scriptCondition$$)})),post=($_listInfo$$,$obj$$)=>{$obj$$.toObject&&($obj$$=$obj$$.toObject());return Promise.all(($_listInfo$$.postinfos||[]).filter($info$$=>$info$$.model&&$info$$.script&&$info$$.condition).map($postInfo$$=>(async()=>{let $data$$=await evalute(`return (async ()=>{
24
+ const deletePost=($_listInfo$$,$obj$$)=>Promise.all(($_listInfo$$.postinfos||[]).filter($info$$=>$info$$.model&&$info$$.script&&$info$$.condition).map($condition_postInfo_scriptCondition$$=>{let $m$$=global.getModel($condition_postInfo_scriptCondition$$.model);$condition_postInfo_scriptCondition$$=0>$condition_postInfo_scriptCondition$$.condition.indexOf("return ")?`return ${$condition_postInfo_scriptCondition$$.condition}`:$condition_postInfo_scriptCondition$$.condition;$condition_postInfo_scriptCondition$$=
25
+ evalute($condition_postInfo_scriptCondition$$,{master:$obj$$,data:$obj$$,moment});$condition_postInfo_scriptCondition$$.id_app=$obj$$.id_app;return $m$$.deleteMany($condition_postInfo_scriptCondition$$)})),post=($_listInfo$$,$obj$$)=>{$obj$$.toObject&&($obj$$=$obj$$.toObject());return Promise.all(($_listInfo$$.postinfos||[]).filter($info$$=>$info$$.model&&$info$$.script&&$info$$.condition).map($postInfo$$=>(async()=>{let $data$$=await evalute(`return (async ()=>{
26
26
  ${$postInfo$$.script}
27
- })()`,{master:{...$obj$$},data:{...$obj$$},moment});console.log("post dynamic",$postInfo$$.model,$data$$);return new Promise(($resolve$$,$reject$$)=>{if("socai"===$postInfo$$.model)(new PostSocai($obj$$,$data$$)).run(($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resolve$$($rs$$)});else{let $m$$=global.getModel($postInfo$$.model);(new PostBook($obj$$,$data$$,$m$$,function($detail$$,$callback$$){$callback$$($detail$$)})).run(function($e$$,$rs$$){console.log("posted dynamic",$rs$$,$e$$);if($e$$)return $reject$$($e$$);
28
- $resolve$$($rs$$)})}})})()))},dynamicFinding=($_listInfo$$,$user$$,$condition$$,$next$$)=>{if($_listInfo$$.api_code&&$_listInfo$$.api_code!=$_listInfo$$.code)return $next$$(null,$condition$$);$_listInfo$$.private_data&&($condition$$.user_created=$user$$.email);if($_listInfo$$.require_condition)try{let $script$$=$_listInfo$$.require_condition;0>$script$$.indexOf("return ")&&($script$$=`return ${$script$$}`);const $require_condition$$=evalute($script$$);console.log($require_condition$$);for(let $key$$ in $require_condition$$)$condition$$[$key$$]=
29
- $require_condition$$[$key$$]}catch($e$$){return console.error($e$$),$next$$(`Error on require condition: ${$e$$.message}`)}$next$$(null,$condition$$)},onView=async($obj$$,$user$$,$items$$,$next$jscomp$0$$)=>{$obj$$.private_data&&($items$$=$items$$.filter($item$$=>$item$$.user_created===$user$$.email));$obj$$.handle_view_server&&await new Promise($resolve$$=>{async.parallel([$next$$=>{evalute(`(async ()=>{
27
+ })()`,{master:{...$obj$$},data:{...$obj$$},moment});return new Promise(($resolve$$,$reject$$)=>{if("socai"===$postInfo$$.model)(new PostSocai($obj$$,$data$$)).run(($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resolve$$($rs$$)});else{let $m$$=global.getModel($postInfo$$.model);(new PostBook($obj$$,$data$$,$m$$,function($detail$$,$callback$$){$callback$$($detail$$)})).run(function($e$$,$rs$$){if($e$$)return $reject$$($e$$);$resolve$$($rs$$)})}})})()))},dynamicFinding=($_listInfo$$,$user$$,$condition$$,
28
+ $next$$)=>{if($_listInfo$$.api_code&&$_listInfo$$.api_code!=$_listInfo$$.code)return $next$$(null,$condition$$);$_listInfo$$.private_data&&($condition$$.user_created=$user$$.email);if($_listInfo$$.require_condition)try{let $script$$=$_listInfo$$.require_condition;0>$script$$.indexOf("return ")&&($script$$=`return ${$script$$}`);const $require_condition$$=evalute($script$$);for(let $key$$ in $require_condition$$)$condition$$[$key$$]=$require_condition$$[$key$$]}catch($e$$){return console.error($e$$),
29
+ $next$$(`Error on require condition: ${$e$$.message}`)}$next$$(null,$condition$$)},onView=async($obj$$,$user$$,$items$$,$next$jscomp$0$$)=>{$obj$$.private_data&&($items$$=$items$$.filter($item$$=>$item$$.user_created===$user$$.email));$obj$$.handle_view_server&&await new Promise($resolve$$=>{async.parallel([$next$$=>{evalute(`(async ()=>{
30
30
  ${$obj$$.handle_view_server}
31
31
  })();`,{items:$items$$,user:$user$$,getLib:global.getLib,utils,next:$next$$,async,joinModel2})}],($e$$,$rs$$)=>{$e$$&&console.error($e$$);$resolve$$($rs$$)})});let $ref_model$$,$where$$,$fields$$,$ref_name_model$$,$fields_have_ref$$=$obj$$.fields.filter($f$$=>$f$$.ref_model&&0>$f$$.ref_model.indexOf("[")&&$f$$.ref_field&&$f$$.ref_label);if(0===$fields_have_ref$$.length)return $next$jscomp$0$$(null,$items$$);async.map($fields_have_ref$$,async $f$$=>{try{$ref_name_model$$=$f$$.ref_model;"dmkh"===
32
32
  $ref_name_model$$&&($ref_name_model$$="customer");"dmtk"===$ref_name_model$$&&($ref_name_model$$="account");"dmnt"===$ref_name_model$$&&($ref_name_model$$="currency");$ref_model$$=global.mongoose.models[$ref_name_model$$];if(!$ref_model$$){var $_listInofOfRef_items_will_join$$=await model.findOne({code:$ref_name_model$$});$_listInofOfRef_items_will_join$$&&($_listInofOfRef_items_will_join$$.api_code||$_listInofOfRef_items_will_join$$.model_code)&&($ref_model$$=global.mongoose.models[$_listInofOfRef_items_will_join$$.api_code||
@@ -35,11 +35,11 @@ $condition$$;if($f$$.ref_condition&&0>$f$$.ref_condition.indexOf("API")){let $fu
35
35
  underscore.has($ref_model$$.schema.paths,"id_app")&&($id_app$$=$user$$.current_id_app);await $_listInofOfRef_items_will_join$$.filter($item$$=>$item$$[$f$$.name]).asyncJoinModel2($id_app$$,$ref_model$$,{where:$where$$,fields:$fields$$});return null},$e$$=>{if($e$$)return $next$jscomp$0$$($e$$);$next$jscomp$0$$(null,$items$$)})};
36
36
  model.createController=($router$$,$_listInfo$$)=>{let $api_code$$=$_listInfo$$.api_code||$_listInfo$$.code;if(!$_listInfo$$.create_model)return null;let $sort$$={},$unique$$=[];let $_newList$$;$_listInfo$$.fields.filter($f$$=>$f$$.sort).forEach($f$$=>{$sort$$[$f$$.name]=$f$$.sort});if($_listInfo$$.sort_by)if(0<=$_listInfo$$.sort_by.indexOf("return ")||0===$_listInfo$$.sort_by.indexOf("{"))try{var $_newModel$jscomp$1_func_string$$=$_listInfo$$.sort_by;0>$_newModel$jscomp$1_func_string$$.indexOf("return ")&&
37
37
  ($_newModel$jscomp$1_func_string$$="return "+$_newModel$jscomp$1_func_string$$);$sort$$=evalute($_newModel$jscomp$1_func_string$$)}catch($e$$){console.error($e$$)}else $sort$$=$_listInfo$$.sort_by.split(",").reduce(($sort$$,$b$$)=>$sort$$[$b$$]=1,{});$_listInfo$$.fields.filter($f$$=>$f$$.unique).forEach($f$$=>{$unique$$.push($f$$.name)});if($_newList$$=global.controllers[$api_code$$.toUpperCase()])0<Object.keys($sort$$).length&&($_newList$$.sort=$_newList$$.options.sort=$sort$$),$_newModel$jscomp$1_func_string$$=
38
- $_newList$$.model,model.updateModel($_listInfo$$,$_newModel$jscomp$1_func_string$$),$_newList$$.is_dynamic_list&&(console.log("update controller..."),$_newList$$.unique=$_newList$$.options.unique=$unique$$),$_newList$$.dynamicView=($user$$,$items$$,$next$$)=>{onView($_listInfo$$,$user$$,$items$$,$next$$)},$_newList$$.dynamicFinding=($user$$,$condition$$,$next$$)=>{dynamicFinding($_listInfo$$,$user$$,$condition$$,$next$$)},$_listInfo$$.fields.find($f$$=>"ma_ct"===$f$$.name)&&$_listInfo$$.postinfos&&
39
- 0<$_listInfo$$.postinfos.length?(console.log("dynamic list",$_listInfo$$.code,"has post"),$_newList$$.dynamicDeletePost=async $obj$$=>deletePost($_listInfo$$,$obj$$),$_newList$$.dynamicPost=async($obj$$,$fn$$)=>{if($_newList$$.post)$_newList$$.post($obj$$,async function($e$jscomp$0$$){if($e$jscomp$0$$)return $fn$$($e$jscomp$0$$);try{let $rs$$=await post($_listInfo$$,$obj$$);$fn$$(null,$rs$$)}catch($e$$){$fn$$($e$$.message||$e$$.error||$e$$)}});else try{let $rs$$=await post($_listInfo$$,$obj$$);$fn$$(null,
40
- $rs$$)}catch($e$$){$fn$$($e$$.message||$e$$.error||$e$$)}}):($_newList$$.dynamicPost=void 0,$_newList$$.dynamicDeletePost=void 0);else{0===Object.keys($sort$$).length&&($sort$$.date_created=-1);const $require_id_app$$=0!=$_listInfo$$.require_id_app&&"false"!=$_listInfo$$.require_id_app;console.log("create new api",$api_code$$);$_newModel$jscomp$1_func_string$$=model.createModel($_listInfo$$);$_newList$$=new controller($router$$,$_newModel$jscomp$1_func_string$$,$api_code$$.toLowerCase(),{sort:$sort$$,
41
- unique:$unique$$,notNeedRight:$_listInfo$$.not_need_right,require_id_app:$require_id_app$$,onView:($user$$,$items$$,$next$$)=>{onView($_listInfo$$,$user$$,$items$$,$next$$)},onCreating:async($user$$,$data$$,$next$$)=>{const $supportUsers$$=configs.supportUsers||[];if(!$require_id_app$$&&0>($_listInfo$$.allow_users||"").toLowerCase().indexOf($user$$.email.toLowerCase())&&!$supportUsers$$.includes($user$$.email.toLowerCase())&&!isSupperAdmin($user$$.email.toLowerCase()))return console.log("support users",
42
- $supportUsers$$,$user$$.email.toLowerCase()),$next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n thao t\u00e1c n\u00e0y");$next$$(null,$data$$)},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{const $supportUsers$$=configs.supportUsers||[];if(!$require_id_app$$&&0>($_listInfo$$.allow_users||"").toLowerCase().indexOf($user$$.email.toLowerCase())&&!$supportUsers$$.includes($user$$.email.toLowerCase())&&!isSupperAdmin($user$$.email.toLowerCase()))return console.log("support users",
43
- $supportUsers$$,$user$$.email.toLowerCase()),$next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n thao t\u00e1c n\u00e0y");$next$$(null,$data$$,$obj$$)},onDeleting:async($user$$,$obj$$,$next$$)=>{const $supportUsers$$=configs.supportUsers||[];if(!$require_id_app$$&&0>($_listInfo$$.allow_users||"").toLowerCase().indexOf($user$$.email.toLowerCase())&&!$supportUsers$$.includes($user$$.email)&&!isSupperAdmin($user$$.email.toLowerCase()))return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n thao t\u00e1c n\u00e0y");
44
- $next$$(null,$obj$$)}});$_newList$$.is_dynamic_list=!0;$_newList$$.dynamicFinding=($user$$,$condition$$,$next$$)=>{dynamicFinding($_listInfo$$,$user$$,$condition$$,$next$$)};$_listInfo$$.fields.find($f$$=>"ma_ct"===$f$$.name)&&$_listInfo$$.postinfos&&0<$_listInfo$$.postinfos.length&&(console.log("dynamic list",$_listInfo$$.code,"has post"),$_newList$$.dynamicDeletePost=async $obj$$=>deletePost($_listInfo$$,$obj$$),$_newList$$.dynamicPost=async($obj$$,$fn$$)=>{if($_newList$$.post)$_newList$$.post($obj$$,
45
- async function($e$jscomp$0$$){if($e$jscomp$0$$)return $fn$$($e$jscomp$0$$);try{let $rs$$=await post($_listInfo$$,$obj$$);$fn$$(null,$rs$$)}catch($e$$){$fn$$($e$$.message||$e$$.error||$e$$)}});else try{let $rs$$=await post($_listInfo$$,$obj$$);$fn$$(null,$rs$$)}catch($e$$){$fn$$($e$$.message||$e$$.error||$e$$)}});$_newList$$.route()}return $_newList$$};module.exports=model;
38
+ $_newList$$.model,model.updateModel($_listInfo$$,$_newModel$jscomp$1_func_string$$),$_newList$$.is_dynamic_list&&($_newList$$.unique=$_newList$$.options.unique=$unique$$),$_newList$$.dynamicView=($user$$,$items$$,$next$$)=>{onView($_listInfo$$,$user$$,$items$$,$next$$)},$_newList$$.dynamicFinding=($user$$,$condition$$,$next$$)=>{dynamicFinding($_listInfo$$,$user$$,$condition$$,$next$$)},$_listInfo$$.fields.find($f$$=>"ma_ct"===$f$$.name)&&$_listInfo$$.postinfos&&0<$_listInfo$$.postinfos.length?($_newList$$.dynamicDeletePost=
39
+ async $obj$$=>deletePost($_listInfo$$,$obj$$),$_newList$$.dynamicPost=async($obj$$,$fn$$)=>{if($_newList$$.post)$_newList$$.post($obj$$,async function($e$jscomp$0$$){if($e$jscomp$0$$)return $fn$$($e$jscomp$0$$);try{let $rs$$=await post($_listInfo$$,$obj$$);$fn$$(null,$rs$$)}catch($e$$){$fn$$($e$$.message||$e$$.error||$e$$)}});else try{let $rs$$=await post($_listInfo$$,$obj$$);$fn$$(null,$rs$$)}catch($e$$){$fn$$($e$$.message||$e$$.error||$e$$)}}):($_newList$$.dynamicPost=void 0,$_newList$$.dynamicDeletePost=
40
+ void 0);else{0===Object.keys($sort$$).length&&($sort$$.date_created=-1);const $require_id_app$$=0!=$_listInfo$$.require_id_app&&"false"!=$_listInfo$$.require_id_app;$_newModel$jscomp$1_func_string$$=model.createModel($_listInfo$$);$_newList$$=new controller($router$$,$_newModel$jscomp$1_func_string$$,$api_code$$.toLowerCase(),{sort:$sort$$,unique:$unique$$,notNeedRight:$_listInfo$$.not_need_right,require_id_app:$require_id_app$$,onView:($user$$,$items$$,$next$$)=>{onView($_listInfo$$,$user$$,$items$$,
41
+ $next$$)},onCreating:async($user$$,$data$$,$next$$)=>{const $supportUsers$$=configs.supportUsers||[];if(!$require_id_app$$&&0>($_listInfo$$.allow_users||"").toLowerCase().indexOf($user$$.email.toLowerCase())&&!$supportUsers$$.includes($user$$.email.toLowerCase())&&!isSupperAdmin($user$$.email.toLowerCase()))return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n thao t\u00e1c n\u00e0y");$next$$(null,$data$$)},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{const $supportUsers$$=
42
+ configs.supportUsers||[];if(!$require_id_app$$&&0>($_listInfo$$.allow_users||"").toLowerCase().indexOf($user$$.email.toLowerCase())&&!$supportUsers$$.includes($user$$.email.toLowerCase())&&!isSupperAdmin($user$$.email.toLowerCase()))return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n thao t\u00e1c n\u00e0y");$next$$(null,$data$$,$obj$$)},onDeleting:async($user$$,$obj$$,$next$$)=>{const $supportUsers$$=configs.supportUsers||[];if(!$require_id_app$$&&0>($_listInfo$$.allow_users||
43
+ "").toLowerCase().indexOf($user$$.email.toLowerCase())&&!$supportUsers$$.includes($user$$.email)&&!isSupperAdmin($user$$.email.toLowerCase()))return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n thao t\u00e1c n\u00e0y");$next$$(null,$obj$$)}});$_newList$$.is_dynamic_list=!0;$_newList$$.dynamicFinding=($user$$,$condition$$,$next$$)=>{dynamicFinding($_listInfo$$,$user$$,$condition$$,$next$$)};$_listInfo$$.fields.find($f$$=>"ma_ct"===$f$$.name)&&$_listInfo$$.postinfos&&0<$_listInfo$$.postinfos.length&&
44
+ ($_newList$$.dynamicDeletePost=async $obj$$=>deletePost($_listInfo$$,$obj$$),$_newList$$.dynamicPost=async($obj$$,$fn$$)=>{if($_newList$$.post)$_newList$$.post($obj$$,async function($e$jscomp$0$$){if($e$jscomp$0$$)return $fn$$($e$jscomp$0$$);try{let $rs$$=await post($_listInfo$$,$obj$$);$fn$$(null,$rs$$)}catch($e$$){$fn$$($e$$.message||$e$$.error||$e$$)}});else try{let $rs$$=await post($_listInfo$$,$obj$$);$fn$$(null,$rs$$)}catch($e$$){$fn$$($e$$.message||$e$$.error||$e$$)}});$_newList$$.route()}return $_newList$$};
45
+ module.exports=model;
@@ -1 +1 @@
1
- 'use strict';const otpSchema=new Schema({phone:{type:String,required:!0,maxlength:32},otp:{type:String,required:!0,maxlength:32},expire_time:{type:Date},verified:Boolean,date_created:{type:Date,default:Date.now}});otpSchema.index({otp:1});otpSchema.index({phone:1});otpSchema.index({phone:"text"});otpSchema.index({date_created:-1});const otp=mongoose.models.otp||mongoose.model("otp",otpSchema);module.exports=otp;
1
+ 'use strict';const otpSchema=new Schema({phone:{type:String,required:!0,maxlength:128},otp:{type:String,required:!0,maxlength:32},expire_time:{type:Date},verified:Boolean,date_created:{type:Date,default:Date.now}});otpSchema.index({otp:1});otpSchema.index({phone:1});otpSchema.index({phone:"text"});otpSchema.index({date_created:-1});const otp=mongoose.models.otp||mongoose.model("otp",otpSchema);module.exports=otp;
@@ -2,4 +2,6 @@
2
2
  ext:{type:String,maxlength:1024},signature_image:String,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},user_created:{type:String,default:""},date_updated:{type:Date,default:Date.now},user_updated:{type:String,default:""}});participantScheam.index({id_app:1,email:1},{unique:!0});participantScheam.index({email:1});participantScheam.index({name:1});participantScheam.index({admin:1});participantScheam.index({phu_trach:1});participantScheam.index({group_id:1});participantScheam.index({hotline:1});
3
3
  participantScheam.index({ext:1});participantScheam.index({status:1});participantScheam.index({user_created:1,visible_to:1,visible_to_users:1});participantScheam.index({email:"text",name:"text",ext:"text"});participantScheam.pre("save",function($next$$){const $self$$=this;$self$$.group_id?usergroup.findOne({_id:$self$$.group_id},($e$$,$g$$)=>{$g$$&&($self$$.phu_trach=$g$$.phu_trach);$next$$()}):$next$$()});const model=global.mongoose.models.participant||global.mongoose.model("participant",participantScheam);
4
4
  model.ofApp=async($id_app$$,$email$$)=>{let $condition$$={id_app:$id_app$$};$email$$&&($condition$$.email=$email$$);return new Promise(($resolve$$,$reject$$)=>{model.find($condition$$).lean().exec(($e$$,$rs$$)=>{if($e$$)return $reject$$(Error($e$$.message));$resolve$$($rs$$)})})};model.appsOfUser=async $email$$=>{let $condition$$={email:$email$$};return new Promise(($resolve$$,$reject$$)=>{model.find($condition$$).lean().exec(($e$$,$rs$$)=>{if($e$$)return $reject$$(Error($e$$.message));$resolve$$($rs$$)})})};
5
- model.createParticipant=($data$$,$callback$$)=>{model.findOne({id_app:$data$$.id_app,email:$data$$.email},($e$jscomp$0$$,$rs$jscomp$0$$)=>{if($e$jscomp$0$$)return $callback$$($e$jscomp$0$$);if($rs$jscomp$0$$)return $callback$$(null,$rs$jscomp$0$$);model.create($data$$,($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})})};module.exports=model;
5
+ model.createParticipant=($data$$,$callback$$)=>{model.findOne({id_app:$data$$.id_app,email:$data$$.email},($e$jscomp$0$$,$rs$jscomp$0$$)=>{if($e$jscomp$0$$)return $callback$$($e$jscomp$0$$);if($rs$jscomp$0$$)return $callback$$(null,$rs$jscomp$0$$);model.create($data$$,($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})})};
6
+ model.referredUsers=async($id_app$$,$be_introduced_by_level1$$,$level$$=1)=>{$be_introduced_by_level1$$=await global.getModel("introducer").find({id_app:$id_app$$,be_introduced_by:$be_introduced_by_level1$$}).lean().exec();$be_introduced_by_level1$$=$be_introduced_by_level1$$.map($l$$=>({user:$l$$.be_introduced,by:$l$$.be_introduced_by,introduce_code:$l$$.introduce_code,date:$l$$.date_created,level:$level$$}));if(0==$be_introduced_by_level1$$.lenth)return $be_introduced_by_level1$$;let $level2$$=
7
+ await Promise.all($be_introduced_by_level1$$.map($intro$$=>model.referredUsers($id_app$$,$intro$$.user,$intro$$.level+1)));return $be_introduced_by_level1$$.concat($level2$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]))};module.exports=model;