flexbiz-server 12.0.6 → 12.0.9

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 (1185) hide show
  1. package/package.json +1 -1
  2. package/server/controllers/controller.js +64 -60
  3. package/server/controllers/controllerRPT.js +12 -12
  4. package/server/global.js +5 -4
  5. package/server/libs/initDatabase.js +2 -2
  6. package/server/libs/permission.js +4 -5
  7. package/server/libs/prototypes.js +6 -6
  8. package/server/models/approve.js +2 -2
  9. package/server/models/cart.js +3 -3
  10. package/server/models/dmvt.js +5 -4
  11. package/server/models/listinfo.js +27 -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/so1.js +1 -1
  16. package/server/models/sokho.js +4 -4
  17. package/server/models/sokhocapphat.js +3 -3
  18. package/server/models/sokhokhongton.js +4 -3
  19. package/server/models/sokhott.js +4 -4
  20. package/server/models/tontucthoi.js +2 -2
  21. package/server/modules/reports/rp-bcintroducebonus.js +2 -2
  22. package/server/modules/reports/rp-ckvt.js +2 -1
  23. package/server/modules/reports/rp-getdinhmuc4lenhcp.js +2 -2
  24. package/server/modules/reports/rp-getdinhmuc4pxk.js +6 -4
  25. package/server/modules/reports/rp-referredusers.js +1 -0
  26. package/server/modules/vouchers/vo-lenhcapphat.js +1 -1
  27. package/server/modules/vouchers/vo-so1.js +38 -37
  28. package/server/route.js +26 -26
  29. package/src/actions/mailtemplate.js +0 -142
  30. package/src/actions/schedule.js +0 -23
  31. package/src/app.js +0 -313
  32. package/src/auths/bearer.js +0 -23
  33. package/src/auths/facebook.js +0 -227
  34. package/src/auths/google.js +0 -238
  35. package/src/auths/local.js +0 -676
  36. package/src/cluster.js +0 -196
  37. package/src/compile.js +0 -315
  38. package/src/configs.js +0 -2
  39. package/src/controllers/controller.js +0 -5992
  40. package/src/controllers/controllerRPT.js +0 -698
  41. package/src/data/account.js +0 -479
  42. package/src/data/ckgtluong.js +0 -79
  43. package/src/data/currency.js +0 -4
  44. package/src/data/dmdvt.js +0 -54
  45. package/src/data/dmkho.js +0 -3
  46. package/src/data/dvcs.js +0 -3
  47. package/src/data/kbm_bcdkt.js +0 -4843
  48. package/src/data/kbm_kqhdkd.js +0 -655
  49. package/src/data/kbm_lcttgt.js +0 -2386
  50. package/src/data/kbm_lctttt.js +0 -934
  51. package/src/data/kbm_tkgtgt.js +0 -560
  52. package/src/data/parameter.js +0 -178
  53. package/src/data/ptthanhtoan.js +0 -3
  54. package/src/data/rpt.js +0 -123
  55. package/src/data/rptobject.js +0 -9
  56. package/src/data/sys/labelinfo.js +0 -1
  57. package/src/data/sys/listinfo.js +0 -73459
  58. package/src/data/sys/quanhuyen.js +0 -9928
  59. package/src/data/sys/reportinfo.js +0 -1751
  60. package/src/data/sys/tableinfo.js +0 -5873
  61. package/src/data/sys/templatestore.js +0 -1988
  62. package/src/data/sys/tinhthanh.js +0 -821
  63. package/src/data/sys/trangthai.js +0 -4467
  64. package/src/data/tc.js +0 -5
  65. package/src/data/usergroup.js +0 -42
  66. package/src/data/vat.js +0 -6
  67. package/src/defaultConfigs.js +0 -158
  68. package/src/global.js +0 -285
  69. package/src/images/avatar.jpg +0 -0
  70. package/src/images/others/noimage.png +0 -0
  71. package/src/images/picture.png +0 -0
  72. package/src/libs/BlockchainTransactionPool.js +0 -44
  73. package/src/libs/WorkerPool.js +0 -61
  74. package/src/libs/WorkerStaticPool.js +0 -68
  75. package/src/libs/backup.js +0 -31
  76. package/src/libs/blockchainconnect.js +0 -728
  77. package/src/libs/cdpsdiem.js +0 -108
  78. package/src/libs/cdpsdt.js +0 -158
  79. package/src/libs/cdpskh.js +0 -176
  80. package/src/libs/cdpstk.js +0 -202
  81. package/src/libs/ckcn.js +0 -191
  82. package/src/libs/ckdiem.js +0 -132
  83. package/src/libs/ckdt.js +0 -114
  84. package/src/libs/cktk.js +0 -70
  85. package/src/libs/cktt.js +0 -169
  86. package/src/libs/ckvt.js +0 -239
  87. package/src/libs/ckvtcapphat.js +0 -158
  88. package/src/libs/ckvttt.js +0 -245
  89. package/src/libs/ctdiem.js +0 -120
  90. package/src/libs/ctvt.js +0 -127
  91. package/src/libs/ctvttt.js +0 -127
  92. package/src/libs/databanle.js +0 -304
  93. package/src/libs/dkcn.js +0 -225
  94. package/src/libs/dkdiem.js +0 -126
  95. package/src/libs/dkdt.js +0 -115
  96. package/src/libs/dktk.js +0 -76
  97. package/src/libs/dktt.js +0 -172
  98. package/src/libs/dkvt.js +0 -136
  99. package/src/libs/dkvttt.js +0 -128
  100. package/src/libs/dncn.js +0 -142
  101. package/src/libs/dntk.js +0 -80
  102. package/src/libs/dntt.js +0 -126
  103. package/src/libs/dstkcn.js +0 -15
  104. package/src/libs/dstktt.js +0 -15
  105. package/src/libs/email.js +0 -28
  106. package/src/libs/excel.js +0 -19
  107. package/src/libs/getGiaban.js +0 -448
  108. package/src/libs/getGiabanAsync.js +0 -9
  109. package/src/libs/getNotifies.js +0 -3
  110. package/src/libs/htmlReport.js +0 -78
  111. package/src/libs/initDatabase.js +0 -82
  112. package/src/libs/load-template.js +0 -32
  113. package/src/libs/mailmanagement.js +0 -303
  114. package/src/libs/mongooseDeletePost.js +0 -31
  115. package/src/libs/mongooseLeanId.js +0 -58
  116. package/src/libs/onepay-payment.js +0 -74
  117. package/src/libs/parse-template.js +0 -48
  118. package/src/libs/permission.js +0 -428
  119. package/src/libs/phanbokh.js +0 -26
  120. package/src/libs/post-book.js +0 -202
  121. package/src/libs/post-book_bk.js +0 -283
  122. package/src/libs/post-socai.js +0 -175
  123. package/src/libs/post-socai_bk.js +0 -282
  124. package/src/libs/prototypes.js +0 -543
  125. package/src/libs/psdt.js +0 -30
  126. package/src/libs/pskh.js +0 -17
  127. package/src/libs/pstk.js +0 -31
  128. package/src/libs/redis-cache.js +0 -150
  129. package/src/libs/restore.js +0 -21
  130. package/src/libs/schedule.js +0 -518
  131. package/src/libs/syncSQL.js +0 -128
  132. package/src/libs/textReport.js +0 -61
  133. package/src/libs/thnxt.js +0 -148
  134. package/src/libs/thnxttt.js +0 -138
  135. package/src/libs/tinhGtCapnhatPNK.js +0 -105
  136. package/src/libs/tinhGtPhanboSltp.js +0 -131
  137. package/src/libs/tinhGtPhanboYtcp.js +0 -184
  138. package/src/libs/tinhGtSltk.js +0 -149
  139. package/src/libs/tinhGtThcppstk.js +0 -150
  140. package/src/libs/tinhGtTrucTiep.js +0 -118
  141. package/src/libs/tinhGtXoa.js +0 -35
  142. package/src/libs/tinhgiatb.js +0 -568
  143. package/src/libs/tinhgiatb1vt.js +0 -69
  144. package/src/libs/tinhkhauhao1ts.js +0 -178
  145. package/src/libs/tinhkhauhaots.js +0 -100
  146. package/src/libs/utils.js +0 -551
  147. package/src/libs/validate.js +0 -73
  148. package/src/libs/validator-acc-cust.js +0 -17
  149. package/src/libs/validator-account.js +0 -62
  150. package/src/libs/validator-vt.js +0 -28
  151. package/src/libs/validator.js +0 -136
  152. package/src/libs/vsocai.js +0 -155
  153. package/src/log/access.log +0 -0
  154. package/src/maps-demo/participant.js +0 -18
  155. package/src/menu.js +0 -521
  156. package/src/models/account.js +0 -72
  157. package/src/models/app.js +0 -197
  158. package/src/models/approve.js +0 -526
  159. package/src/models/area.js +0 -120
  160. package/src/models/assbuy.js +0 -48
  161. package/src/models/asscashwithdraw.js +0 -55
  162. package/src/models/assinvestment.js +0 -181
  163. package/src/models/asskey.js +0 -32
  164. package/src/models/assneedtobuy.js +0 -66
  165. package/src/models/assperiod.js +0 -78
  166. package/src/models/assproduct.js +0 -67
  167. package/src/models/assprofitsharing.js +0 -48
  168. package/src/models/assreceiver.js +0 -30
  169. package/src/models/assrequest.js +0 -63
  170. package/src/models/asssell.js +0 -69
  171. package/src/models/asstransfer.js +0 -54
  172. package/src/models/asswithdraw.js +0 -47
  173. package/src/models/attend.js +0 -20
  174. package/src/models/bangtinhluong.js +0 -92
  175. package/src/models/base.js +0 -12
  176. package/src/models/bg1.js +0 -87
  177. package/src/models/bg2.js +0 -116
  178. package/src/models/block.js +0 -93
  179. package/src/models/building.js +0 -122
  180. package/src/models/calllog.js +0 -48
  181. package/src/models/campaign.js +0 -102
  182. package/src/models/cart.js +0 -107
  183. package/src/models/cddiem.js +0 -20
  184. package/src/models/cddt.js +0 -36
  185. package/src/models/cdkh.js +0 -47
  186. package/src/models/cdtk.js +0 -35
  187. package/src/models/cdvt.js +0 -43
  188. package/src/models/chamcong.js +0 -26
  189. package/src/models/checkin.js +0 -25
  190. package/src/models/checkinactivity.js +0 -35
  191. package/src/models/checkinkpi.js +0 -39
  192. package/src/models/chitieukpi.js +0 -39
  193. package/src/models/chudethaoluan.js +0 -32
  194. package/src/models/ckgtluong.js +0 -24
  195. package/src/models/colleague.js +0 -22
  196. package/src/models/comment.js +0 -55
  197. package/src/models/congdoansx.js +0 -35
  198. package/src/models/congtacvien.js +0 -57
  199. package/src/models/consultant.js +0 -47
  200. package/src/models/contract.js +0 -79
  201. package/src/models/counter.js +0 -20
  202. package/src/models/ctds.js +0 -69
  203. package/src/models/currency.js +0 -34
  204. package/src/models/customer.js +0 -361
  205. package/src/models/datlich.js +0 -53
  206. package/src/models/department.js +0 -47
  207. package/src/models/dh2.js +0 -159
  208. package/src/models/diagram.js +0 -33
  209. package/src/models/dinhmucsx.js +0 -93
  210. package/src/models/dkhoc.js +0 -53
  211. package/src/models/dmban.js +0 -36
  212. package/src/models/dmbp.js +0 -90
  213. package/src/models/dmca.js +0 -28
  214. package/src/models/dmchietkhau.js +0 -213
  215. package/src/models/dmchietkhauhd.js +0 -157
  216. package/src/models/dmcpmh.js +0 -18
  217. package/src/models/dmdiemthuong.js +0 -126
  218. package/src/models/dmdoi.js +0 -44
  219. package/src/models/dmdoituongdanhgia.js +0 -23
  220. package/src/models/dmdt.js +0 -104
  221. package/src/models/dmdvt.js +0 -30
  222. package/src/models/dmgiaban.js +0 -106
  223. package/src/models/dmgiamua.js +0 -81
  224. package/src/models/dmkc.js +0 -38
  225. package/src/models/dmkho.js +0 -101
  226. package/src/models/dmkhuyenmai.js +0 -95
  227. package/src/models/dmkhuyenmaihd.js +0 -75
  228. package/src/models/dmletet.js +0 -64
  229. package/src/models/dmlo.js +0 -33
  230. package/src/models/dmloaicong.js +0 -36
  231. package/src/models/dmloaitask.js +0 -20
  232. package/src/models/dmloaits.js +0 -19
  233. package/src/models/dmnghiepvu.js +0 -25
  234. package/src/models/dmnguonvon.js +0 -19
  235. package/src/models/dmnhnv.js +0 -48
  236. package/src/models/dmnv.js +0 -224
  237. package/src/models/dmnvt.js +0 -43
  238. package/src/models/dmphatdichvu.js +0 -117
  239. package/src/models/dmphi.js +0 -27
  240. package/src/models/dmqct.js +0 -31
  241. package/src/models/dmqddvt.js +0 -28
  242. package/src/models/dmtanggiamts.js +0 -29
  243. package/src/models/dmto.js +0 -42
  244. package/src/models/dmtt.js +0 -42
  245. package/src/models/dmvt.js +0 -217
  246. package/src/models/dmyt.js +0 -103
  247. package/src/models/dn0.js +0 -465
  248. package/src/models/dnm.js +0 -132
  249. package/src/models/dokho.js +0 -21
  250. package/src/models/dvcs.js +0 -31
  251. package/src/models/ecomcategories.js +0 -12
  252. package/src/models/ecompromotion_flashsales.js +0 -12
  253. package/src/models/ecompromotion_freeships.js +0 -12
  254. package/src/models/endpoint.js +0 -11
  255. package/src/models/events.js +0 -72
  256. package/src/models/evoucher.js +0 -66
  257. package/src/models/experiencejourney.js +0 -22
  258. package/src/models/experiencejourneydata.js +0 -32
  259. package/src/models/experiencejourneypersona.js +0 -26
  260. package/src/models/experiencejourneystage.js +0 -23
  261. package/src/models/exportexceltemplate.js +0 -22
  262. package/src/models/fieldright.js +0 -17
  263. package/src/models/file.js +0 -32
  264. package/src/models/financialroadmap.js +0 -45
  265. package/src/models/floor.js +0 -79
  266. package/src/models/floordetail.js +0 -172
  267. package/src/models/follow.js +0 -26
  268. package/src/models/form.js +0 -77
  269. package/src/models/forminfo.js +0 -60
  270. package/src/models/formvalue.js +0 -35
  271. package/src/models/giaoca.js +0 -40
  272. package/src/models/giatb.js +0 -30
  273. package/src/models/group.js +0 -60
  274. package/src/models/gt_ctgt.js +0 -50
  275. package/src/models/gt_sltk.js +0 -31
  276. package/src/models/gt_thcppstk.js +0 -31
  277. package/src/models/hanmucton.js +0 -39
  278. package/src/models/hd1.js +0 -114
  279. package/src/models/hd2.js +0 -166
  280. package/src/models/hd3.js +0 -161
  281. package/src/models/hd7.js +0 -729
  282. package/src/models/hlink.js +0 -23
  283. package/src/models/hlinkvalue.js +0 -26
  284. package/src/models/hspbts.js +0 -44
  285. package/src/models/importexceltemplate.js +0 -21
  286. package/src/models/introducebonus.js +0 -79
  287. package/src/models/introducecode.js +0 -65
  288. package/src/models/introducer.js +0 -81
  289. package/src/models/invpackage.js +0 -122
  290. package/src/models/invproject.js +0 -105
  291. package/src/models/invround.js +0 -114
  292. package/src/models/invuser.js +0 -111
  293. package/src/models/kbbtpb.js +0 -63
  294. package/src/models/kbmPttct.js +0 -60
  295. package/src/models/kbmTkgtgt.js +0 -76
  296. package/src/models/kbm_bcdkt.js +0 -58
  297. package/src/models/kbm_kqhdkd.js +0 -42
  298. package/src/models/kbm_lcttgt.js +0 -59
  299. package/src/models/kbm_lctttt.js +0 -58
  300. package/src/models/kbm_pttct.js +0 -54
  301. package/src/models/kbm_tkgtgt.js +0 -72
  302. package/src/models/kbmbcdkt.js +0 -62
  303. package/src/models/kbmbcqt.js +0 -60
  304. package/src/models/kbmkqhdkd.js +0 -46
  305. package/src/models/kbmlcttgt.js +0 -63
  306. package/src/models/kbmlctttt.js +0 -62
  307. package/src/models/kbmtmbctc.js +0 -61
  308. package/src/models/kehoachdtcp.js +0 -39
  309. package/src/models/kehoachmh.js +0 -100
  310. package/src/models/keyresult.js +0 -86
  311. package/src/models/khunghangthanhvien.js +0 -27
  312. package/src/models/label.js +0 -20
  313. package/src/models/labelinfo.js +0 -22
  314. package/src/models/lenhcapphat.js +0 -86
  315. package/src/models/lenhsx.js +0 -75
  316. package/src/models/lesson.js +0 -85
  317. package/src/models/license.js +0 -23
  318. package/src/models/lienhe.js +0 -43
  319. package/src/models/like_module.js +0 -15
  320. package/src/models/link.js +0 -20
  321. package/src/models/listinfo.js +0 -682
  322. package/src/models/loaidiem.js +0 -20
  323. package/src/models/lock.js +0 -16
  324. package/src/models/log.js +0 -42
  325. package/src/models/mailaccount.js +0 -35
  326. package/src/models/mailgroup.js +0 -35
  327. package/src/models/mailreceived.js +0 -25
  328. package/src/models/mailschedule.js +0 -34
  329. package/src/models/mailsent.js +0 -30
  330. package/src/models/mailtemplate.js +0 -31
  331. package/src/models/maudanhgia.js +0 -24
  332. package/src/models/message.js +0 -127
  333. package/src/models/message2.js +0 -45
  334. package/src/models/message2setting.js +0 -32
  335. package/src/models/moduleinfo.js +0 -41
  336. package/src/models/momo.js +0 -210
  337. package/src/models/news.js +0 -53
  338. package/src/models/newsfeed.js +0 -82
  339. package/src/models/nhadat.js +0 -120
  340. package/src/models/note.js +0 -24
  341. package/src/models/notification.js +0 -63
  342. package/src/models/okr.js +0 -53
  343. package/src/models/okrdiagram.js +0 -34
  344. package/src/models/onepay.js +0 -345
  345. package/src/models/opportunity.js +0 -54
  346. package/src/models/options.js +0 -33
  347. package/src/models/otp.js +0 -15
  348. package/src/models/parameter.js +0 -20
  349. package/src/models/participant.js +0 -81
  350. package/src/models/partner.js +0 -15
  351. package/src/models/payload.js +0 -14
  352. package/src/models/pbl.js +0 -182
  353. package/src/models/pc0.js +0 -477
  354. package/src/models/pc1.js +0 -490
  355. package/src/models/pc2.js +0 -170
  356. package/src/models/pc3.js +0 -165
  357. package/src/models/pc5.js +0 -76
  358. package/src/models/pdn.js +0 -267
  359. package/src/models/pdx.js +0 -259
  360. package/src/models/phieudanhgia.js +0 -44
  361. package/src/models/pht.js +0 -92
  362. package/src/models/phucap.js +0 -33
  363. package/src/models/pkc.js +0 -68
  364. package/src/models/pkh.js +0 -63
  365. package/src/models/pkk.js +0 -254
  366. package/src/models/pkt.js +0 -136
  367. package/src/models/pn1.js +0 -174
  368. package/src/models/pn2.js +0 -121
  369. package/src/models/pn3.js +0 -152
  370. package/src/models/pn5.js +0 -158
  371. package/src/models/pn6.js +0 -163
  372. package/src/models/pn9.js +0 -182
  373. package/src/models/pnc.js +0 -288
  374. package/src/models/pnh.js +0 -118
  375. package/src/models/pnk.js +0 -99
  376. package/src/models/po1.js +0 -213
  377. package/src/models/ppb.js +0 -67
  378. package/src/models/profile.js +0 -46
  379. package/src/models/pt1.js +0 -132
  380. package/src/models/pt5.js +0 -76
  381. package/src/models/ptl.js +0 -60
  382. package/src/models/ptthanhtoan.js +0 -97
  383. package/src/models/purchase_contract.js +0 -190
  384. package/src/models/pxc.js +0 -268
  385. package/src/models/pxh.js +0 -118
  386. package/src/models/pxk.js +0 -97
  387. package/src/models/qts.js +0 -149
  388. package/src/models/qts_dieuchinh.js +0 -41
  389. package/src/models/quanhuyen.js +0 -50
  390. package/src/models/reason.js +0 -18
  391. package/src/models/reportinfo.js +0 -51
  392. package/src/models/right.js +0 -50
  393. package/src/models/rpt.js +0 -25
  394. package/src/models/rptform.js +0 -55
  395. package/src/models/rptobject.js +0 -21
  396. package/src/models/sale_contract.js +0 -114
  397. package/src/models/schedule.js +0 -239
  398. package/src/models/schedule_log.js +0 -15
  399. package/src/models/service.js +0 -48
  400. package/src/models/session.js +0 -87
  401. package/src/models/shipbook.js +0 -141
  402. package/src/models/shortcut.js +0 -22
  403. package/src/models/so1.js +0 -257
  404. package/src/models/so2.js +0 -151
  405. package/src/models/so3.js +0 -141
  406. package/src/models/so4.js +0 -137
  407. package/src/models/so5.js +0 -228
  408. package/src/models/socai.js +0 -246
  409. package/src/models/socaitmp.js +0 -230
  410. package/src/models/sodiemthuong.js +0 -44
  411. package/src/models/sokho.js +0 -226
  412. package/src/models/sokhocapphat.js +0 -203
  413. package/src/models/sokhokhongton.js +0 -222
  414. package/src/models/sokhott.js +0 -219
  415. package/src/models/sophanbokh.js +0 -38
  416. package/src/models/sosanxuat.js +0 -50
  417. package/src/models/sotinhkh.js +0 -28
  418. package/src/models/spdd_ck.js +0 -30
  419. package/src/models/spdd_dk.js +0 -30
  420. package/src/models/step.js +0 -22
  421. package/src/models/strategicdiagram.js +0 -30
  422. package/src/models/strategicgoal.js +0 -47
  423. package/src/models/strategickpi.js +0 -75
  424. package/src/models/strategicobjective.js +0 -47
  425. package/src/models/strategicplan.js +0 -53
  426. package/src/models/subscribe.js +0 -16
  427. package/src/models/support.js +0 -23
  428. package/src/models/synctime.js +0 -20
  429. package/src/models/sysconfig.js +0 -19
  430. package/src/models/sysgroup.js +0 -24
  431. package/src/models/tableinfo.js +0 -99
  432. package/src/models/task.js +0 -243
  433. package/src/models/taskreg.js +0 -44
  434. package/src/models/tc.js +0 -17
  435. package/src/models/tdttco.js +0 -45
  436. package/src/models/tdttco_tt.js +0 -56
  437. package/src/models/tdttno.js +0 -46
  438. package/src/models/tdttno_tt.js +0 -57
  439. package/src/models/templaterpt.js +0 -21
  440. package/src/models/templatestore.js +0 -30
  441. package/src/models/templatevoucher.js +0 -25
  442. package/src/models/tinhthanh.js +0 -44
  443. package/src/models/tokens.js +0 -22
  444. package/src/models/tontucthoi.js +0 -77
  445. package/src/models/training.js +0 -93
  446. package/src/models/trangthai.js +0 -86
  447. package/src/models/transaction.js +0 -211
  448. package/src/models/trialinfo.js +0 -24
  449. package/src/models/user.js +0 -379
  450. package/src/models/usergroup.js +0 -66
  451. package/src/models/vanchuyen.js +0 -146
  452. package/src/models/vat.js +0 -31
  453. package/src/models/vatra.js +0 -53
  454. package/src/models/vatvao.js +0 -53
  455. package/src/models/versioninfo.js +0 -19
  456. package/src/models/voice-command.js +0 -18
  457. package/src/models/vsocai.js +0 -83
  458. package/src/models/waitevent.js +0 -26
  459. package/src/models/wallet.js +0 -94
  460. package/src/models/warranty.js +0 -30
  461. package/src/models/xaphuong.js +0 -57
  462. package/src/models/xhd.js +0 -124
  463. package/src/models/ytdd_ck.js +0 -34
  464. package/src/models/ytdd_dk.js +0 -31
  465. package/src/models/zalo.js +0 -226
  466. package/src/modules/bot/webhook.js +0 -185
  467. package/src/modules/lists/bg-cddiem.js +0 -64
  468. package/src/modules/lists/bg-cddt.js +0 -73
  469. package/src/modules/lists/bg-cdkh.js +0 -129
  470. package/src/modules/lists/bg-cdtk.js +0 -97
  471. package/src/modules/lists/bg-cdvt.js +0 -88
  472. package/src/modules/lists/ls-account.js +0 -66
  473. package/src/modules/lists/ls-approve.js +0 -14
  474. package/src/modules/lists/ls-area.js +0 -74
  475. package/src/modules/lists/ls-assbuy.js +0 -70
  476. package/src/modules/lists/ls-asscashwithdraw.js +0 -192
  477. package/src/modules/lists/ls-assinvestment.js +0 -402
  478. package/src/modules/lists/ls-asskey.js +0 -412
  479. package/src/modules/lists/ls-assneedtobuy.js +0 -159
  480. package/src/modules/lists/ls-assperiod.js +0 -197
  481. package/src/modules/lists/ls-assproduct.js +0 -212
  482. package/src/modules/lists/ls-assprofitsharing.js +0 -131
  483. package/src/modules/lists/ls-assreceiver.js +0 -28
  484. package/src/modules/lists/ls-assrequest.js +0 -47
  485. package/src/modules/lists/ls-asssell.js +0 -202
  486. package/src/modules/lists/ls-asstransfer.js +0 -26
  487. package/src/modules/lists/ls-asswithdraw.js +0 -110
  488. package/src/modules/lists/ls-bangtinhluong.js +0 -19
  489. package/src/modules/lists/ls-block.js +0 -10
  490. package/src/modules/lists/ls-building.js +0 -41
  491. package/src/modules/lists/ls-calllog.js +0 -9
  492. package/src/modules/lists/ls-campaign.js +0 -26
  493. package/src/modules/lists/ls-cart.js +0 -188
  494. package/src/modules/lists/ls-chamcong.js +0 -15
  495. package/src/modules/lists/ls-checkin.js +0 -73
  496. package/src/modules/lists/ls-checkinactivity.js +0 -141
  497. package/src/modules/lists/ls-checkinkpi.js +0 -67
  498. package/src/modules/lists/ls-chitieukpi.js +0 -28
  499. package/src/modules/lists/ls-chudethaoluan.js +0 -9
  500. package/src/modules/lists/ls-ckgtluong.js +0 -10
  501. package/src/modules/lists/ls-comment.js +0 -136
  502. package/src/modules/lists/ls-congdoansx.js +0 -41
  503. package/src/modules/lists/ls-congtacvien.js +0 -134
  504. package/src/modules/lists/ls-consultant.js +0 -30
  505. package/src/modules/lists/ls-contract.js +0 -150
  506. package/src/modules/lists/ls-ctds.js +0 -62
  507. package/src/modules/lists/ls-currency.js +0 -9
  508. package/src/modules/lists/ls-customer.js +0 -164
  509. package/src/modules/lists/ls-datlich.js +0 -152
  510. package/src/modules/lists/ls-dckhauhaots.js +0 -23
  511. package/src/modules/lists/ls-department.js +0 -69
  512. package/src/modules/lists/ls-diagram.js +0 -10
  513. package/src/modules/lists/ls-dkhoc.js +0 -98
  514. package/src/modules/lists/ls-dmban.js +0 -95
  515. package/src/modules/lists/ls-dmbp.js +0 -41
  516. package/src/modules/lists/ls-dmca.js +0 -9
  517. package/src/modules/lists/ls-dmchietkhau.js +0 -79
  518. package/src/modules/lists/ls-dmchietkhauhd.js +0 -49
  519. package/src/modules/lists/ls-dmchucvu.js +0 -18
  520. package/src/modules/lists/ls-dmcpmh.js +0 -9
  521. package/src/modules/lists/ls-dmdiemthuong.js +0 -78
  522. package/src/modules/lists/ls-dmdoi.js +0 -82
  523. package/src/modules/lists/ls-dmdoituongdanhgia.js +0 -8
  524. package/src/modules/lists/ls-dmdt.js +0 -157
  525. package/src/modules/lists/ls-dmdvt.js +0 -23
  526. package/src/modules/lists/ls-dmgiaban.js +0 -40
  527. package/src/modules/lists/ls-dmgiamua.js +0 -45
  528. package/src/modules/lists/ls-dmkc.js +0 -25
  529. package/src/modules/lists/ls-dmkho.js +0 -22
  530. package/src/modules/lists/ls-dmkhuyenmai.js +0 -89
  531. package/src/modules/lists/ls-dmkhuyenmaihd.js +0 -46
  532. package/src/modules/lists/ls-dmletet.js +0 -9
  533. package/src/modules/lists/ls-dmlo.js +0 -9
  534. package/src/modules/lists/ls-dmloaicong.js +0 -9
  535. package/src/modules/lists/ls-dmloaits.js +0 -9
  536. package/src/modules/lists/ls-dmnghiepvu.js +0 -9
  537. package/src/modules/lists/ls-dmnguonvon.js +0 -9
  538. package/src/modules/lists/ls-dmnhnd.js +0 -13
  539. package/src/modules/lists/ls-dmnhnv.js +0 -124
  540. package/src/modules/lists/ls-dmnhtask.js +0 -64
  541. package/src/modules/lists/ls-dmnkh.js +0 -13
  542. package/src/modules/lists/ls-dmnv.js +0 -323
  543. package/src/modules/lists/ls-dmnvt.js +0 -96
  544. package/src/modules/lists/ls-dmphatdichvu.js +0 -44
  545. package/src/modules/lists/ls-dmphi.js +0 -9
  546. package/src/modules/lists/ls-dmqct.js +0 -15
  547. package/src/modules/lists/ls-dmqddvt.js +0 -32
  548. package/src/modules/lists/ls-dmtanggiamts.js +0 -9
  549. package/src/modules/lists/ls-dmto.js +0 -105
  550. package/src/modules/lists/ls-dmtt.js +0 -40
  551. package/src/modules/lists/ls-dmvt.js +0 -564
  552. package/src/modules/lists/ls-dmyt.js +0 -9
  553. package/src/modules/lists/ls-dokho.js +0 -9
  554. package/src/modules/lists/ls-dvcs.js +0 -13
  555. package/src/modules/lists/ls-events.js +0 -51
  556. package/src/modules/lists/ls-evoucher.js +0 -33
  557. package/src/modules/lists/ls-experiencejourney.js +0 -8
  558. package/src/modules/lists/ls-experiencejourneydata.js +0 -25
  559. package/src/modules/lists/ls-experiencejourneypersona.js +0 -54
  560. package/src/modules/lists/ls-experiencejourneystage.js +0 -8
  561. package/src/modules/lists/ls-file.js +0 -353
  562. package/src/modules/lists/ls-financialroadmap.js +0 -39
  563. package/src/modules/lists/ls-floor.js +0 -41
  564. package/src/modules/lists/ls-floordetail.js +0 -417
  565. package/src/modules/lists/ls-form.js +0 -8
  566. package/src/modules/lists/ls-forminfo.js +0 -18
  567. package/src/modules/lists/ls-formvalue.js +0 -8
  568. package/src/modules/lists/ls-giaoca.js +0 -46
  569. package/src/modules/lists/ls-group.js +0 -10
  570. package/src/modules/lists/ls-hinhthuc.js +0 -14
  571. package/src/modules/lists/ls-hlink.js +0 -8
  572. package/src/modules/lists/ls-hlinkvalue.js +0 -8
  573. package/src/modules/lists/ls-hspbts.js +0 -38
  574. package/src/modules/lists/ls-introducebonus.js +0 -35
  575. package/src/modules/lists/ls-introducecode.js +0 -57
  576. package/src/modules/lists/ls-introducer.js +0 -151
  577. package/src/modules/lists/ls-invpackage.js +0 -64
  578. package/src/modules/lists/ls-invproject.js +0 -115
  579. package/src/modules/lists/ls-invround.js +0 -57
  580. package/src/modules/lists/ls-invuser.js +0 -59
  581. package/src/modules/lists/ls-kbm-bcdkt.js +0 -9
  582. package/src/modules/lists/ls-kbm-bcqt.js +0 -133
  583. package/src/modules/lists/ls-kbm-kqhdkd.js +0 -9
  584. package/src/modules/lists/ls-kbm-lcttgt.js +0 -15
  585. package/src/modules/lists/ls-kbm-lctttt.js +0 -15
  586. package/src/modules/lists/ls-kbm-pttct.js +0 -30
  587. package/src/modules/lists/ls-kbm-tkgtgt.js +0 -33
  588. package/src/modules/lists/ls-kbm-tmbctc.js +0 -30
  589. package/src/modules/lists/ls-kehoachdtcp.js +0 -62
  590. package/src/modules/lists/ls-keyresult.js +0 -118
  591. package/src/modules/lists/ls-khunghangthanhvien.js +0 -9
  592. package/src/modules/lists/ls-kygui.js +0 -394
  593. package/src/modules/lists/ls-label.js +0 -11
  594. package/src/modules/lists/ls-lesson.js +0 -63
  595. package/src/modules/lists/ls-lienhe.js +0 -87
  596. package/src/modules/lists/ls-like-module.js +0 -24
  597. package/src/modules/lists/ls-link.js +0 -9
  598. package/src/modules/lists/ls-loaidiem.js +0 -9
  599. package/src/modules/lists/ls-lock.js +0 -8
  600. package/src/modules/lists/ls-log.js +0 -43
  601. package/src/modules/lists/ls-mailaccount.js +0 -59
  602. package/src/modules/lists/ls-mailreceived.js +0 -79
  603. package/src/modules/lists/ls-mailschedule.js +0 -116
  604. package/src/modules/lists/ls-mailsent.js +0 -63
  605. package/src/modules/lists/ls-mailtemplate.js +0 -48
  606. package/src/modules/lists/ls-maudanhgia.js +0 -37
  607. package/src/modules/lists/ls-message2.js +0 -130
  608. package/src/modules/lists/ls-message2setting.js +0 -60
  609. package/src/modules/lists/ls-news.js +0 -49
  610. package/src/modules/lists/ls-newsfeed.js +0 -73
  611. package/src/modules/lists/ls-nhadat.js +0 -109
  612. package/src/modules/lists/ls-note.js +0 -10
  613. package/src/modules/lists/ls-okr.js +0 -64
  614. package/src/modules/lists/ls-okrdiagram.js +0 -13
  615. package/src/modules/lists/ls-opportunity.js +0 -92
  616. package/src/modules/lists/ls-options.js +0 -50
  617. package/src/modules/lists/ls-parameter.js +0 -29
  618. package/src/modules/lists/ls-participant.js +0 -102
  619. package/src/modules/lists/ls-phieudanhgia.js +0 -247
  620. package/src/modules/lists/ls-phucap.js +0 -9
  621. package/src/modules/lists/ls-profile.js +0 -9
  622. package/src/modules/lists/ls-ptthanhtoan.js +0 -44
  623. package/src/modules/lists/ls-qts-dieuchinh.js +0 -23
  624. package/src/modules/lists/ls-reason.js +0 -9
  625. package/src/modules/lists/ls-rpt.js +0 -65
  626. package/src/modules/lists/ls-rptform.js +0 -62
  627. package/src/modules/lists/ls-service.js +0 -50
  628. package/src/modules/lists/ls-session.js +0 -387
  629. package/src/modules/lists/ls-shortcut.js +0 -14
  630. package/src/modules/lists/ls-sosanxuat.js +0 -75
  631. package/src/modules/lists/ls-step.js +0 -9
  632. package/src/modules/lists/ls-strategicdiagram.js +0 -13
  633. package/src/modules/lists/ls-strategicgoal.js +0 -30
  634. package/src/modules/lists/ls-strategickpi.js +0 -117
  635. package/src/modules/lists/ls-strategicobjective.js +0 -29
  636. package/src/modules/lists/ls-strategicplan.js +0 -77
  637. package/src/modules/lists/ls-support.js +0 -30
  638. package/src/modules/lists/ls-tacgia.js +0 -13
  639. package/src/modules/lists/ls-task.js +0 -685
  640. package/src/modules/lists/ls-taskreg.js +0 -52
  641. package/src/modules/lists/ls-tc.js +0 -9
  642. package/src/modules/lists/ls-templaterpt.js +0 -67
  643. package/src/modules/lists/ls-templatevoucher.js +0 -9
  644. package/src/modules/lists/ls-theloai.js +0 -13
  645. package/src/modules/lists/ls-tontucthoi.js +0 -43
  646. package/src/modules/lists/ls-training.js +0 -270
  647. package/src/modules/lists/ls-transaction.js +0 -66
  648. package/src/modules/lists/ls-usergroup.js +0 -31
  649. package/src/modules/lists/ls-vat.js +0 -9
  650. package/src/modules/lists/ls-waitevent.js +0 -24
  651. package/src/modules/lists/ls-warranty.js +0 -74
  652. package/src/modules/lists/ls_hanmucton.js +0 -39
  653. package/src/modules/lists/ls_spdd_ck.js +0 -36
  654. package/src/modules/lists/ls_spdd_dk.js +0 -35
  655. package/src/modules/lists/ls_ytdd_ck.js +0 -52
  656. package/src/modules/lists/ls_ytdd_dk.js +0 -50
  657. package/src/modules/lists/sys-attend.js +0 -68
  658. package/src/modules/lists/sys-follow.js +0 -69
  659. package/src/modules/lists/sys-right.js +0 -26
  660. package/src/modules/lists/voice-command.js +0 -8
  661. package/src/modules/public/app.js +0 -47
  662. package/src/modules/public/approve.js +0 -67
  663. package/src/modules/public/callin.js +0 -74
  664. package/src/modules/public/comment.js +0 -83
  665. package/src/modules/public/dmnvt.js +0 -70
  666. package/src/modules/public/dmvt.js +0 -184
  667. package/src/modules/public/form.js +0 -116
  668. package/src/modules/public/forminfo.js +0 -13
  669. package/src/modules/public/group.js +0 -64
  670. package/src/modules/public/hlink.js +0 -31
  671. package/src/modules/public/introducecode.js +0 -12
  672. package/src/modules/public/license.js +0 -46
  673. package/src/modules/public/listinfo.js +0 -8
  674. package/src/modules/public/media-webhook.js +0 -9
  675. package/src/modules/public/partner.js +0 -16
  676. package/src/modules/public/paymentCallback.js +0 -126
  677. package/src/modules/public/province.js +0 -10
  678. package/src/modules/public/ptthanhtoan.js +0 -62
  679. package/src/modules/public/subscribe.js +0 -22
  680. package/src/modules/public/support.js +0 -26
  681. package/src/modules/public/tableinfo.js +0 -13
  682. package/src/modules/public/trialinfo.js +0 -61
  683. package/src/modules/public/versioninfo.js +0 -18
  684. package/src/modules/reports/calc-tinhgiatb.js +0 -34
  685. package/src/modules/reports/calc-tinhgiathanh.js +0 -116
  686. package/src/modules/reports/calc-tinhkhauhaots.js +0 -19
  687. package/src/modules/reports/calc-tinhluong.js +0 -401
  688. package/src/modules/reports/rp-bangtinhkhauhao.js +0 -74
  689. package/src/modules/reports/rp-baocaokhachhang.js +0 -93
  690. package/src/modules/reports/rp-bcdkt.js +0 -226
  691. package/src/modules/reports/rp-bcintroducebonus.js +0 -41
  692. package/src/modules/reports/rp-bcqt.js +0 -794
  693. package/src/modules/reports/rp-bkct.js +0 -366
  694. package/src/modules/reports/rp-bkshipbook.js +0 -129
  695. package/src/modules/reports/rp-bkvanchuyen.js +0 -125
  696. package/src/modules/reports/rp-bkvatra.js +0 -94
  697. package/src/modules/reports/rp-bkvatvao.js +0 -97
  698. package/src/modules/reports/rp-cdpsdiem.js +0 -45
  699. package/src/modules/reports/rp-cdpsdt.js +0 -57
  700. package/src/modules/reports/rp-cdpskh.js +0 -112
  701. package/src/modules/reports/rp-cdpstk.js +0 -53
  702. package/src/modules/reports/rp-chitietchitientheohoadon.js +0 -103
  703. package/src/modules/reports/rp-chitiettaisan.js +0 -125
  704. package/src/modules/reports/rp-chitietthutientheohoadon.js +0 -103
  705. package/src/modules/reports/rp-ckcn.js +0 -40
  706. package/src/modules/reports/rp-ckdiem.js +0 -28
  707. package/src/modules/reports/rp-cktk.js +0 -28
  708. package/src/modules/reports/rp-ckvt.js +0 -36
  709. package/src/modules/reports/rp-ckvttheokho.js +0 -58
  710. package/src/modules/reports/rp-ckvttheotg.js +0 -69
  711. package/src/modules/reports/rp-ckvttt.js +0 -36
  712. package/src/modules/reports/rp-congviectheobp.js +0 -160
  713. package/src/modules/reports/rp-congviectheodt.js +0 -155
  714. package/src/modules/reports/rp-congviectheokh.js +0 -157
  715. package/src/modules/reports/rp-congviectheonv.js +0 -179
  716. package/src/modules/reports/rp-congviectheotimeline.js +0 -63
  717. package/src/modules/reports/rp-ctbanle.js +0 -367
  718. package/src/modules/reports/rp-ctdanhgianhanvien.js +0 -222
  719. package/src/modules/reports/rp-cthangbanbitralai.js +0 -55
  720. package/src/modules/reports/rp-ctmuahang.js +0 -144
  721. package/src/modules/reports/rp-cttralaihang.js +0 -51
  722. package/src/modules/reports/rp-databanle.js +0 -68
  723. package/src/modules/reports/rp-diemthuong.js +0 -11
  724. package/src/modules/reports/rp-dkcn.js +0 -41
  725. package/src/modules/reports/rp-dktk.js +0 -25
  726. package/src/modules/reports/rp-dsnhanviencm.js +0 -237
  727. package/src/modules/reports/rp-dsnhanvientb.js +0 -233
  728. package/src/modules/reports/rp-dtbanletheoct.js +0 -207
  729. package/src/modules/reports/rp-dtbanletheokh.js +0 -201
  730. package/src/modules/reports/rp-dtbanletheokho.js +0 -199
  731. package/src/modules/reports/rp-dtbanletheonam.js +0 -198
  732. package/src/modules/reports/rp-dtbanletheongay.js +0 -187
  733. package/src/modules/reports/rp-dtbanletheonv.js +0 -215
  734. package/src/modules/reports/rp-dtbanletheoquy.js +0 -198
  735. package/src/modules/reports/rp-dtbanletheothang.js +0 -206
  736. package/src/modules/reports/rp-dtbanletheothungan.js +0 -214
  737. package/src/modules/reports/rp-dtbanletheovt.js +0 -154
  738. package/src/modules/reports/rp-dutoanthuchitheodt.js +0 -56
  739. package/src/modules/reports/rp-getPXC2PNC.js +0 -152
  740. package/src/modules/reports/rp-getariseofaccountsbymonth.js +0 -32
  741. package/src/modules/reports/rp-getbtpb.js +0 -81
  742. package/src/modules/reports/rp-getcashbycashier.js +0 -83
  743. package/src/modules/reports/rp-getcschietkhau.js +0 -61
  744. package/src/modules/reports/rp-getdinhmuc4lenhcp.js +0 -69
  745. package/src/modules/reports/rp-getdinhmuc4pxk.js +0 -83
  746. package/src/modules/reports/rp-getdk4pht.js +0 -104
  747. package/src/modules/reports/rp-getdk4pkc.js +0 -159
  748. package/src/modules/reports/rp-getdttheoca.js +0 -46
  749. package/src/modules/reports/rp-getinvoice2pay.js +0 -75
  750. package/src/modules/reports/rp-getinvoice2receive.js +0 -75
  751. package/src/modules/reports/rp-getinvoice2return.js +0 -69
  752. package/src/modules/reports/rp-getinvoice2return_bl.js +0 -108
  753. package/src/modules/reports/rp-getkehoachmh4lenhcp.js +0 -71
  754. package/src/modules/reports/rp-getkhauhao.js +0 -81
  755. package/src/modules/reports/rp-getluong.js +0 -91
  756. package/src/modules/reports/rp-getluongchuyen.js +0 -64
  757. package/src/modules/reports/rp-getpn2fee.js +0 -84
  758. package/src/modules/reports/rp-getpn2return.js +0 -66
  759. package/src/modules/reports/rp-getthanhpham4pnk.js +0 -71
  760. package/src/modules/reports/rp-getvc2xhd.js +0 -90
  761. package/src/modules/reports/rp-hangbanbitralai.js +0 -66
  762. package/src/modules/reports/rp-hangthanhvien.js +0 -32
  763. package/src/modules/reports/rp-hoadonbanhangtheohantt.js +0 -112
  764. package/src/modules/reports/rp-hoadonmuahangtheohantt.js +0 -112
  765. package/src/modules/reports/rp-kcsns.js +0 -225
  766. package/src/modules/reports/rp-kgchamcong.js +0 -76
  767. package/src/modules/reports/rp-kqdanhgianhanvien.js +0 -135
  768. package/src/modules/reports/rp-kqhdkd.js +0 -128
  769. package/src/modules/reports/rp-lcttgt.js +0 -371
  770. package/src/modules/reports/rp-lctttt.js +0 -225
  771. package/src/modules/reports/rp-linkslist.js +0 -63
  772. package/src/modules/reports/rp-phanbochitienchohoadon.js +0 -161
  773. package/src/modules/reports/rp-phanbothutienchohoadon.js +0 -160
  774. package/src/modules/reports/rp-ptbitralai.js +0 -108
  775. package/src/modules/reports/rp-ptcttct.js +0 -252
  776. package/src/modules/reports/rp-ptdonhang.js +0 -141
  777. package/src/modules/reports/rp-pttct.js +0 -383
  778. package/src/modules/reports/rp-pttctkho.js +0 -226
  779. package/src/modules/reports/rp-pttctkho2.js +0 -228
  780. package/src/modules/reports/rp-sctbhxh.js +0 -39
  781. package/src/modules/reports/rp-sctcnkh.js +0 -174
  782. package/src/modules/reports/rp-sctdiem.js +0 -33
  783. package/src/modules/reports/rp-sctdt.js +0 -75
  784. package/src/modules/reports/rp-sctdtcp.js +0 -200
  785. package/src/modules/reports/rp-sctluong.js +0 -34
  786. package/src/modules/reports/rp-sctthuetncn.js +0 -34
  787. package/src/modules/reports/rp-scttk.js +0 -74
  788. package/src/modules/reports/rp-sctvt.js +0 -50
  789. package/src/modules/reports/rp-sctvt_sl.js +0 -50
  790. package/src/modules/reports/rp-sctvttt.js +0 -50
  791. package/src/modules/reports/rp-search.js +0 -55
  792. package/src/modules/reports/rp-socai.js +0 -153
  793. package/src/modules/reports/rp-socaitk.js +0 -81
  794. package/src/modules/reports/rp-sochut.js +0 -75
  795. package/src/modules/reports/rp-sokho.js +0 -130
  796. package/src/modules/reports/rp-sokhott.js +0 -130
  797. package/src/modules/reports/rp-sonkbh.js +0 -90
  798. package/src/modules/reports/rp-sonkc.js +0 -163
  799. package/src/modules/reports/rp-sonkct.js +0 -91
  800. package/src/modules/reports/rp-sonkmh.js +0 -89
  801. package/src/modules/reports/rp-sonktt.js +0 -91
  802. package/src/modules/reports/rp-soquy.js +0 -96
  803. package/src/modules/reports/rp-sosanhkhvatt.js +0 -198
  804. package/src/modules/reports/rp-sotaisan.js +0 -122
  805. package/src/modules/reports/rp-sotiengui.js +0 -97
  806. package/src/modules/reports/rp-taodinhmuctudkhoc.js +0 -46
  807. package/src/modules/reports/rp-thdanhgianhanvien.js +0 -128
  808. package/src/modules/reports/rp-thgt.js +0 -92
  809. package/src/modules/reports/rp-thnxt.js +0 -122
  810. package/src/modules/reports/rp-thnxt_sl.js +0 -98
  811. package/src/modules/reports/rp-thnxttt.js +0 -97
  812. package/src/modules/reports/rp-tkbanhangtheogioithieu.js +0 -167
  813. package/src/modules/reports/rp-tkgioithieukh.js +0 -56
  814. package/src/modules/reports/rp-tkgtgt.js +0 -159
  815. package/src/modules/reports/rp-tmbctc.js +0 -304
  816. package/src/modules/reports/rp-tonghopbanhang.js +0 -154
  817. package/src/modules/reports/rp-tonghopmuahang.js +0 -66
  818. package/src/modules/reports/rp-tonghoptralaihang.js +0 -62
  819. package/src/modules/reports/rp-uoctinhnvl.js +0 -154
  820. package/src/modules/reports/rp-wallet.js +0 -37
  821. package/src/modules/reports/rpt-tkdiemtichluy.js +0 -149
  822. package/src/modules/systems/sys-app.js +0 -532
  823. package/src/modules/systems/sys-colleague.js +0 -163
  824. package/src/modules/systems/sys-exportexceltemplate.js +0 -37
  825. package/src/modules/systems/sys-fieldright.js +0 -36
  826. package/src/modules/systems/sys-importexceltemplate.js +0 -37
  827. package/src/modules/systems/sys-labelinfo.js +0 -75
  828. package/src/modules/systems/sys-license.js +0 -72
  829. package/src/modules/systems/sys-listinfo.js +0 -98
  830. package/src/modules/systems/sys-message.js +0 -237
  831. package/src/modules/systems/sys-moduleinfo.js +0 -43
  832. package/src/modules/systems/sys-notification.js +0 -103
  833. package/src/modules/systems/sys-quanhuyen.js +0 -38
  834. package/src/modules/systems/sys-reportinfo.js +0 -42
  835. package/src/modules/systems/sys-rptobject.js +0 -37
  836. package/src/modules/systems/sys-schedule.js +0 -145
  837. package/src/modules/systems/sys-sysconfig.js +0 -34
  838. package/src/modules/systems/sys-sysgroup.js +0 -34
  839. package/src/modules/systems/sys-tableinfo.js +0 -35
  840. package/src/modules/systems/sys-templatestore.js +0 -60
  841. package/src/modules/systems/sys-tinhthanh.js +0 -38
  842. package/src/modules/systems/sys-token.js +0 -38
  843. package/src/modules/systems/sys-trangthai.js +0 -36
  844. package/src/modules/systems/sys-trialinfo.js +0 -43
  845. package/src/modules/systems/sys-user.js +0 -689
  846. package/src/modules/systems/sys-users.js +0 -123
  847. package/src/modules/systems/sys-versioninfo.js +0 -34
  848. package/src/modules/systems/sys-xaphuong.js +0 -38
  849. package/src/modules/vouchers/vo-bc1.js +0 -541
  850. package/src/modules/vouchers/vo-bc5.js +0 -356
  851. package/src/modules/vouchers/vo-bg1.js +0 -193
  852. package/src/modules/vouchers/vo-bg2.js +0 -241
  853. package/src/modules/vouchers/vo-bn1.js +0 -704
  854. package/src/modules/vouchers/vo-bn5.js +0 -356
  855. package/src/modules/vouchers/vo-dh2.js +0 -303
  856. package/src/modules/vouchers/vo-dinhmucsx.js +0 -133
  857. package/src/modules/vouchers/vo-dn0.js +0 -240
  858. package/src/modules/vouchers/vo-dnm.js +0 -469
  859. package/src/modules/vouchers/vo-hd1.js +0 -632
  860. package/src/modules/vouchers/vo-hd2.js +0 -834
  861. package/src/modules/vouchers/vo-hd3.js +0 -554
  862. package/src/modules/vouchers/vo-hd7.js +0 -761
  863. package/src/modules/vouchers/vo-kbbtpb.js +0 -157
  864. package/src/modules/vouchers/vo-kehoachmh.js +0 -248
  865. package/src/modules/vouchers/vo-lenhcapphat.js +0 -211
  866. package/src/modules/vouchers/vo-lenhsx.js +0 -217
  867. package/src/modules/vouchers/vo-pbl.js +0 -1436
  868. package/src/modules/vouchers/vo-pc0.js +0 -371
  869. package/src/modules/vouchers/vo-pc1.js +0 -574
  870. package/src/modules/vouchers/vo-pc2.js +0 -546
  871. package/src/modules/vouchers/vo-pc3.js +0 -425
  872. package/src/modules/vouchers/vo-pc5.js +0 -356
  873. package/src/modules/vouchers/vo-pdn.js +0 -305
  874. package/src/modules/vouchers/vo-pdx.js +0 -285
  875. package/src/modules/vouchers/vo-pht.js +0 -201
  876. package/src/modules/vouchers/vo-pkc.js +0 -181
  877. package/src/modules/vouchers/vo-pkh.js +0 -196
  878. package/src/modules/vouchers/vo-pkk.js +0 -280
  879. package/src/modules/vouchers/vo-pkt.js +0 -309
  880. package/src/modules/vouchers/vo-pn1.js +0 -449
  881. package/src/modules/vouchers/vo-pn2.js +0 -284
  882. package/src/modules/vouchers/vo-pn3.js +0 -458
  883. package/src/modules/vouchers/vo-pn5.js +0 -305
  884. package/src/modules/vouchers/vo-pn6.js +0 -323
  885. package/src/modules/vouchers/vo-pn9.js +0 -409
  886. package/src/modules/vouchers/vo-pnc.js +0 -458
  887. package/src/modules/vouchers/vo-pnh.js +0 -282
  888. package/src/modules/vouchers/vo-pnk.js +0 -271
  889. package/src/modules/vouchers/vo-po1.js +0 -447
  890. package/src/modules/vouchers/vo-ppb.js +0 -159
  891. package/src/modules/vouchers/vo-pt1.js +0 -481
  892. package/src/modules/vouchers/vo-pt5.js +0 -359
  893. package/src/modules/vouchers/vo-ptl.js +0 -172
  894. package/src/modules/vouchers/vo-purchase_contract.js +0 -286
  895. package/src/modules/vouchers/vo-pxc.js +0 -471
  896. package/src/modules/vouchers/vo-pxh.js +0 -225
  897. package/src/modules/vouchers/vo-pxk.js +0 -287
  898. package/src/modules/vouchers/vo-qts.js +0 -171
  899. package/src/modules/vouchers/vo-sale_contract.js +0 -291
  900. package/src/modules/vouchers/vo-shipbook.js +0 -305
  901. package/src/modules/vouchers/vo-so1.js +0 -1667
  902. package/src/modules/vouchers/vo-so2.js +0 -708
  903. package/src/modules/vouchers/vo-so3.js +0 -784
  904. package/src/modules/vouchers/vo-so4.js +0 -598
  905. package/src/modules/vouchers/vo-so5.js +0 -967
  906. package/src/modules/vouchers/vo-vanchuyen.js +0 -267
  907. package/src/modules/vouchers/vo-xhd.js +0 -531
  908. package/src/route.js +0 -650
  909. package/src/smtpserver.js +0 -48
  910. package/src/ssl/ca.ca-bundle +0 -67
  911. package/src/ssl/cert.crt +0 -36
  912. package/src/ssl/key.pem +0 -28
  913. package/src/sslConfig.js +0 -44
  914. package/src/templates/add-file.html +0 -8
  915. package/src/templates/add-file.pug +0 -9
  916. package/src/templates/alert task.html +0 -11
  917. package/src/templates/alert task.pug +0 -12
  918. package/src/templates/alert warranty.html +0 -15
  919. package/src/templates/alert warranty.pug +0 -28
  920. package/src/templates/excels/PN9.xlsx +0 -0
  921. package/src/templates/excels/hd1.xlsx +0 -0
  922. package/src/templates/excels/hd2.xlsx +0 -0
  923. package/src/templates/excels/hd3.xlsx +0 -0
  924. package/src/templates/excels/lists/account.xlsx +0 -0
  925. package/src/templates/excels/lists/customer.xlsx +0 -0
  926. package/src/templates/excels/lists/dmvt.xlsx +0 -0
  927. package/src/templates/excels/pc1.xlsx +0 -0
  928. package/src/templates/excels/pkc.xlsx +0 -0
  929. package/src/templates/excels/pkh.xlsx +0 -0
  930. package/src/templates/excels/pkt.xlsx +0 -0
  931. package/src/templates/excels/pn1.xlsx +0 -0
  932. package/src/templates/excels/pn2.xlsx +0 -0
  933. package/src/templates/excels/pn3.xlsx +0 -0
  934. package/src/templates/excels/pn5.xlsx +0 -0
  935. package/src/templates/excels/pnk.xlsx +0 -0
  936. package/src/templates/excels/pt1.xlsx +0 -0
  937. package/src/templates/excels/pxc.xlsx +0 -0
  938. package/src/templates/excels/pxk.xlsx +0 -0
  939. package/src/templates/excels/reports/bangtinhkhauhao.xlsx +0 -0
  940. package/src/templates/excels/reports/bcdkt.xlsx +0 -0
  941. package/src/templates/excels/reports/bkct.xlsx +0 -0
  942. package/src/templates/excels/reports/bkvatra.xlsx +0 -0
  943. package/src/templates/excels/reports/bkvatvao.xlsx +0 -0
  944. package/src/templates/excels/reports/cdpsdt.xlsx +0 -0
  945. package/src/templates/excels/reports/cdpskh.xlsx +0 -0
  946. package/src/templates/excels/reports/cdpstk.xlsx +0 -0
  947. package/src/templates/excels/reports/chitietchitientheohoadon.xlsx +0 -0
  948. package/src/templates/excels/reports/chitiettaisan.xlsx +0 -0
  949. package/src/templates/excels/reports/chitietthutientheohoadon.xlsx +0 -0
  950. package/src/templates/excels/reports/ctbanle.xlsx +0 -0
  951. package/src/templates/excels/reports/cthangbanbitralai.xlsx +0 -0
  952. package/src/templates/excels/reports/ctmuahang.xlsx +0 -0
  953. package/src/templates/excels/reports/dtbanletheokh.xlsx +0 -0
  954. package/src/templates/excels/reports/dtbanletheonam.xlsx +0 -0
  955. package/src/templates/excels/reports/dtbanletheongay.xlsx +0 -0
  956. package/src/templates/excels/reports/dtbanletheonv.xlsx +0 -0
  957. package/src/templates/excels/reports/dtbanletheoquy.xlsx +0 -0
  958. package/src/templates/excels/reports/dtbanletheothang.xlsx +0 -0
  959. package/src/templates/excels/reports/dtbanletheovt.xlsx +0 -0
  960. package/src/templates/excels/reports/hangbanbitralai.xlsx +0 -0
  961. package/src/templates/excels/reports/hoadonbanhangtheohantt.xlsx +0 -0
  962. package/src/templates/excels/reports/hoadonmuahangtheohantt.xlsx +0 -0
  963. package/src/templates/excels/reports/kqhdkd.xlsx +0 -0
  964. package/src/templates/excels/reports/lcttgt.xlsx +0 -0
  965. package/src/templates/excels/reports/lctttt.xlsx +0 -0
  966. package/src/templates/excels/reports/pttct.xlsx +0 -0
  967. package/src/templates/excels/reports/sctcnkh.xlsx +0 -0
  968. package/src/templates/excels/reports/sctdt.xlsx +0 -0
  969. package/src/templates/excels/reports/scttk.xlsx +0 -0
  970. package/src/templates/excels/reports/sctvt.xlsx +0 -0
  971. package/src/templates/excels/reports/socaitk.xlsx +0 -0
  972. package/src/templates/excels/reports/sochut.xlsx +0 -0
  973. package/src/templates/excels/reports/sonkbh.xlsx +0 -0
  974. package/src/templates/excels/reports/sonkc.xlsx +0 -0
  975. package/src/templates/excels/reports/sonkct.xlsx +0 -0
  976. package/src/templates/excels/reports/sonkmh.xlsx +0 -0
  977. package/src/templates/excels/reports/sonktt.xlsx +0 -0
  978. package/src/templates/excels/reports/soquy.xlsx +0 -0
  979. package/src/templates/excels/reports/sotaisan.xlsx +0 -0
  980. package/src/templates/excels/reports/sotiengui.xlsx +0 -0
  981. package/src/templates/excels/reports/thnxt.xlsx +0 -0
  982. package/src/templates/excels/reports/tkgtgt.xlsx +0 -0
  983. package/src/templates/excels/reports/tonghopbanhang.xlsx +0 -0
  984. package/src/templates/excels/reports/tonghopmuahang.xlsx +0 -0
  985. package/src/templates/excels/reports/tonghoptralaihang.xlsx +0 -0
  986. package/src/templates/imports/cdkh.xlsx +0 -0
  987. package/src/templates/imports/cdtk.xlsx +0 -0
  988. package/src/templates/imports/cdvt.xlsx +0 -0
  989. package/src/templates/imports/contract.xlsx +0 -0
  990. package/src/templates/imports/dmban.xlsx +0 -0
  991. package/src/templates/imports/dmkh.xlsx +0 -0
  992. package/src/templates/imports/dmvt.xlsx +0 -0
  993. package/src/templates/imports/hd1.xlsx +0 -0
  994. package/src/templates/imports/hd2.xlsx +0 -0
  995. package/src/templates/imports/lienhe.xlsx +0 -0
  996. package/src/templates/imports/pc1.xlsx +0 -0
  997. package/src/templates/imports/pkt.xlsx +0 -0
  998. package/src/templates/imports/pn1.xlsx +0 -0
  999. package/src/templates/imports/pn2.xlsx +0 -0
  1000. package/src/templates/imports/pnk.xlsx +0 -0
  1001. package/src/templates/imports/pt1.xlsx +0 -0
  1002. package/src/templates/order.html +0 -42
  1003. package/src/templates/order.pug +0 -57
  1004. package/src/templates/reply-comment.html +0 -10
  1005. package/src/templates/reply-comment.pug +0 -12
  1006. package/src/templates/reset mat khau.html +0 -17
  1007. package/src/templates/reset mat khau.pug +0 -20
  1008. package/src/templates/rpts/giaoca.html +0 -16
  1009. package/src/templates/rpts/pbl.html +0 -60
  1010. package/src/templates/rpts/pc0.html +0 -165
  1011. package/src/templates/rpts/pc1.html +0 -167
  1012. package/src/templates/rpts/pc2.html +0 -164
  1013. package/src/templates/rpts/pc3.html +0 -161
  1014. package/src/templates/rpts/pdn.html +0 -213
  1015. package/src/templates/rpts/pkh.html +0 -156
  1016. package/src/templates/rpts/pkk.html +0 -214
  1017. package/src/templates/rpts/pkt.html +0 -156
  1018. package/src/templates/rpts/pn1.html +0 -207
  1019. package/src/templates/rpts/pn6.html +0 -178
  1020. package/src/templates/rpts/pnc.html +0 -222
  1021. package/src/templates/rpts/pnk.html +0 -222
  1022. package/src/templates/rpts/pt1.html +0 -160
  1023. package/src/templates/rpts/pxc.html +0 -221
  1024. package/src/templates/rpts/pxk.html +0 -221
  1025. package/src/templates/rpts/reports/bangtinhkhauhao/templates/browser.html +0 -78
  1026. package/src/templates/rpts/reports/bangtinhkhauhao/templates/print.html +0 -49
  1027. package/src/templates/rpts/reports/baocaokhachhang/templates/browser.html +0 -122
  1028. package/src/templates/rpts/reports/baocaokhachhang/templates/print.html +0 -50
  1029. package/src/templates/rpts/reports/bcdkt/templates/browser.html +0 -59
  1030. package/src/templates/rpts/reports/bcdkt/templates/print.html +0 -38
  1031. package/src/templates/rpts/reports/bkct/templates/browser.html +0 -126
  1032. package/src/templates/rpts/reports/bkct/templates/print.html +0 -49
  1033. package/src/templates/rpts/reports/bkct/templates/view.html +0 -90
  1034. package/src/templates/rpts/reports/bkshipbook/templates/browser.html +0 -111
  1035. package/src/templates/rpts/reports/bkshipbook/templates/print.html +0 -71
  1036. package/src/templates/rpts/reports/bkvanchuyen/templates/browser.html +0 -105
  1037. package/src/templates/rpts/reports/bkvanchuyen/templates/print.html +0 -65
  1038. package/src/templates/rpts/reports/bkvatra/templates/browser.html +0 -106
  1039. package/src/templates/rpts/reports/bkvatra/templates/print.html +0 -94
  1040. package/src/templates/rpts/reports/bkvatvao/templates/browser.html +0 -108
  1041. package/src/templates/rpts/reports/bkvatvao/templates/print.html +0 -94
  1042. package/src/templates/rpts/reports/cdpsdt/templates/browser.html +0 -98
  1043. package/src/templates/rpts/reports/cdpsdt/templates/print.html +0 -56
  1044. package/src/templates/rpts/reports/cdpskh/templates/browser.html +0 -101
  1045. package/src/templates/rpts/reports/cdpskh/templates/print.html +0 -57
  1046. package/src/templates/rpts/reports/cdpstk/templates/browser.html +0 -94
  1047. package/src/templates/rpts/reports/cdpstk/templates/print.html +0 -55
  1048. package/src/templates/rpts/reports/chitietchitientheohoadon/templates/browser.html +0 -97
  1049. package/src/templates/rpts/reports/chitietchitientheohoadon/templates/print.html +0 -60
  1050. package/src/templates/rpts/reports/chitiettaisan/templates/browser.html +0 -77
  1051. package/src/templates/rpts/reports/chitiettaisan/templates/print.html +0 -48
  1052. package/src/templates/rpts/reports/chitietthutientheohoadon/templates/browser.html +0 -101
  1053. package/src/templates/rpts/reports/chitietthutientheohoadon/templates/print.html +0 -60
  1054. package/src/templates/rpts/reports/congviectheokh/templates/browser.html +0 -81
  1055. package/src/templates/rpts/reports/congviectheokh/templates/print.html +0 -57
  1056. package/src/templates/rpts/reports/congviectheonv/templates/browser.html +0 -80
  1057. package/src/templates/rpts/reports/congviectheonv/templates/print.html +0 -59
  1058. package/src/templates/rpts/reports/ctbanle/templates/browser.html +0 -136
  1059. package/src/templates/rpts/reports/ctbanle/templates/print.html +0 -74
  1060. package/src/templates/rpts/reports/cthangbanbitralai/templates/browser.html +0 -96
  1061. package/src/templates/rpts/reports/cthangbanbitralai/templates/print.html +0 -59
  1062. package/src/templates/rpts/reports/ctmuahang/templates/browser.html +0 -115
  1063. package/src/templates/rpts/reports/ctmuahang/templates/print.html +0 -55
  1064. package/src/templates/rpts/reports/cttralaihang/templates/browser.html +0 -82
  1065. package/src/templates/rpts/reports/cttralaihang/templates/print.html +0 -57
  1066. package/src/templates/rpts/reports/dtbanletheokh/templates/browser.html +0 -109
  1067. package/src/templates/rpts/reports/dtbanletheokh/templates/print.html +0 -73
  1068. package/src/templates/rpts/reports/dtbanletheonam/templates/browser.html +0 -111
  1069. package/src/templates/rpts/reports/dtbanletheonam/templates/print.html +0 -71
  1070. package/src/templates/rpts/reports/dtbanletheongay/templates/browser.html +0 -112
  1071. package/src/templates/rpts/reports/dtbanletheongay/templates/print.html +0 -72
  1072. package/src/templates/rpts/reports/dtbanletheonv/templates/browser.html +0 -114
  1073. package/src/templates/rpts/reports/dtbanletheonv/templates/print.html +0 -67
  1074. package/src/templates/rpts/reports/dtbanletheoquy/templates/browser.html +0 -104
  1075. package/src/templates/rpts/reports/dtbanletheoquy/templates/print.html +0 -72
  1076. package/src/templates/rpts/reports/dtbanletheothang/templates/browser.html +0 -104
  1077. package/src/templates/rpts/reports/dtbanletheothang/templates/print.html +0 -71
  1078. package/src/templates/rpts/reports/dtbanletheovt/templates/browser.html +0 -101
  1079. package/src/templates/rpts/reports/dtbanletheovt/templates/print.html +0 -63
  1080. package/src/templates/rpts/reports/dutoanthuchitheodt/templates/browser.html +0 -219
  1081. package/src/templates/rpts/reports/dutoanthuchitheodt/templates/print.html +0 -193
  1082. package/src/templates/rpts/reports/hangbanbitralai/templates/browser.html +0 -86
  1083. package/src/templates/rpts/reports/hangbanbitralai/templates/print.html +0 -47
  1084. package/src/templates/rpts/reports/hoadonbanhangtheohantt/templates/browser.html +0 -120
  1085. package/src/templates/rpts/reports/hoadonbanhangtheohantt/templates/print.html +0 -83
  1086. package/src/templates/rpts/reports/hoadonmuahangtheohantt/templates/browser.html +0 -120
  1087. package/src/templates/rpts/reports/hoadonmuahangtheohantt/templates/print.html +0 -83
  1088. package/src/templates/rpts/reports/kcsns/templates/browser.html +0 -26
  1089. package/src/templates/rpts/reports/kqchamcong/templates/browser.html +0 -50
  1090. package/src/templates/rpts/reports/kqchamcong/templates/print.html +0 -33
  1091. package/src/templates/rpts/reports/kqhdkd/templates/browser.html +0 -75
  1092. package/src/templates/rpts/reports/kqhdkd/templates/print.html +0 -40
  1093. package/src/templates/rpts/reports/lcttgt/templates/browser.html +0 -76
  1094. package/src/templates/rpts/reports/lcttgt/templates/print.html +0 -40
  1095. package/src/templates/rpts/reports/lctttt/templates/browser.html +0 -77
  1096. package/src/templates/rpts/reports/lctttt/templates/print.html +0 -40
  1097. package/src/templates/rpts/reports/phanbochitienchohoadon/templates/browser.html +0 -134
  1098. package/src/templates/rpts/reports/phanbothutienchohoadon/templates/browser.html +0 -134
  1099. package/src/templates/rpts/reports/ptbitralai/templates/browser.html +0 -84
  1100. package/src/templates/rpts/reports/ptbitralai/templates/print.html +0 -36
  1101. package/src/templates/rpts/reports/ptcttct/templates/browser.html +0 -145
  1102. package/src/templates/rpts/reports/ptcttct/templates/print.html +0 -86
  1103. package/src/templates/rpts/reports/ptdonhang/templates/browser.html +0 -90
  1104. package/src/templates/rpts/reports/ptdonhang/templates/print.html +0 -42
  1105. package/src/templates/rpts/reports/pttct/templates/browser.html +0 -132
  1106. package/src/templates/rpts/reports/pttct/templates/print.html +0 -38
  1107. package/src/templates/rpts/reports/pttctkho/templates/browser.html +0 -128
  1108. package/src/templates/rpts/reports/pttctkho/templates/print.html +0 -36
  1109. package/src/templates/rpts/reports/pttctkho2/templates/browser.html +0 -125
  1110. package/src/templates/rpts/reports/pttctkho2/templates/print.html +0 -36
  1111. package/src/templates/rpts/reports/sctcnkh/templates/browser.html +0 -141
  1112. package/src/templates/rpts/reports/sctcnkh/templates/print.html +0 -51
  1113. package/src/templates/rpts/reports/sctdt/templates/browser.html +0 -187
  1114. package/src/templates/rpts/reports/sctdt/templates/print.html +0 -58
  1115. package/src/templates/rpts/reports/scttk/templates/browser.html +0 -137
  1116. package/src/templates/rpts/reports/scttk/templates/print.html +0 -49
  1117. package/src/templates/rpts/reports/sctvt/templates/browser.html +0 -130
  1118. package/src/templates/rpts/reports/sctvt/templates/print.html +0 -51
  1119. package/src/templates/rpts/reports/search/templates/browser.html +0 -245
  1120. package/src/templates/rpts/reports/socaitk/templates/browser.html +0 -137
  1121. package/src/templates/rpts/reports/socaitk/templates/print.html +0 -49
  1122. package/src/templates/rpts/reports/sochut/templates/browser.html +0 -75
  1123. package/src/templates/rpts/reports/sochut/templates/print.html +0 -41
  1124. package/src/templates/rpts/reports/sonkbh/templates/browser.html +0 -90
  1125. package/src/templates/rpts/reports/sonkbh/templates/print.html +0 -41
  1126. package/src/templates/rpts/reports/sonkc/templates/browser.html +0 -90
  1127. package/src/templates/rpts/reports/sonkc/templates/print.html +0 -54
  1128. package/src/templates/rpts/reports/sonkct/templates/browser.html +0 -90
  1129. package/src/templates/rpts/reports/sonkct/templates/print.html +0 -41
  1130. package/src/templates/rpts/reports/sonkmh/templates/browser.html +0 -90
  1131. package/src/templates/rpts/reports/sonkmh/templates/print.html +0 -41
  1132. package/src/templates/rpts/reports/sonktt/templates/browser.html +0 -90
  1133. package/src/templates/rpts/reports/sonktt/templates/print.html +0 -41
  1134. package/src/templates/rpts/reports/soquy/templates/browser.html +0 -88
  1135. package/src/templates/rpts/reports/soquy/templates/print.html +0 -48
  1136. package/src/templates/rpts/reports/sotaisan/templates/browser.html +0 -107
  1137. package/src/templates/rpts/reports/sotaisan/templates/print.html +0 -87
  1138. package/src/templates/rpts/reports/sotiengui/templates/browser.html +0 -88
  1139. package/src/templates/rpts/reports/sotiengui/templates/print.html +0 -48
  1140. package/src/templates/rpts/reports/thgt/templates/browser.html +0 -94
  1141. package/src/templates/rpts/reports/thgt/templates/print.html +0 -68
  1142. package/src/templates/rpts/reports/thnxt/templates/browser.html +0 -163
  1143. package/src/templates/rpts/reports/thnxt/templates/print.html +0 -63
  1144. package/src/templates/rpts/reports/tinhgiatb/templates/browser.html +0 -120
  1145. package/src/templates/rpts/reports/tinhgiatb/templates/print.html +0 -57
  1146. package/src/templates/rpts/reports/tinhgiathanh/templates/browser.html +0 -97
  1147. package/src/templates/rpts/reports/tinhgiathanh/templates/print.html +0 -69
  1148. package/src/templates/rpts/reports/tinhkhauhaots/templates/browser.html +0 -73
  1149. package/src/templates/rpts/reports/tinhkhauhaots/templates/print.html +0 -46
  1150. package/src/templates/rpts/reports/tkgtgt/templates/browser.html +0 -73
  1151. package/src/templates/rpts/reports/tkgtgt/templates/print.html +0 -43
  1152. package/src/templates/rpts/reports/tonghopbanhang/templates/browser.html +0 -94
  1153. package/src/templates/rpts/reports/tonghopbanhang/templates/print.html +0 -66
  1154. package/src/templates/rpts/reports/tonghopmuahang/templates/browser.html +0 -85
  1155. package/src/templates/rpts/reports/tonghopmuahang/templates/print.html +0 -49
  1156. package/src/templates/rpts/reports/tonghoptralaihang/templates/browser.html +0 -73
  1157. package/src/templates/rpts/reports/tonghoptralaihang/templates/print.html +0 -45
  1158. package/src/templates/rpts/so1.html +0 -235
  1159. package/src/templates/thong tin dang nhap.html +0 -15
  1160. package/src/templates/thong tin dang nhap.pug +0 -18
  1161. package/src/templates/thu moi gia nhap nhom.html +0 -14
  1162. package/src/templates/thu moi gia nhap nhom.pug +0 -18
  1163. package/src/test/array.js +0 -59
  1164. package/src/test/utils.js +0 -191
  1165. package/src/tools/convertVideo.js +0 -19
  1166. package/src/tools/create_province.js +0 -11191
  1167. package/src/tools/resave.js +0 -123
  1168. package/src/tools/resetPassword.js +0 -45
  1169. package/src/tools/set_px_gia_dd.js +0 -120
  1170. package/src/tools/update.js +0 -116
  1171. package/src/tools/update.min.js +0 -2
  1172. package/src/tools/update_system.js +0 -47
  1173. package/src/viettel-einvoice-example.json +0 -96
  1174. package/src/workers/backupApp.js +0 -127
  1175. package/src/workers/calcGrid.js +0 -102
  1176. package/src/workers/customerOnImport.js +0 -75
  1177. package/src/workers/dmvtOnImport.js +0 -119
  1178. package/src/workers/excelParser.js +0 -107
  1179. package/src/workers/inputWorker.js +0 -52
  1180. package/src/workers/pushNotify.js +0 -134
  1181. package/src/workers/reportWorker.js +0 -58
  1182. package/src/workers/restoreApp.js +0 -280
  1183. package/src/workers/runScript.js +0 -37
  1184. package/src/workers/sendEmail.js +0 -159
  1185. 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.6",
5
+ "version": "12.0.9",
6
6
  "author": {
7
7
  "name": "Van Truong Pham",
8
8
  "email": "invncur@gmail.com"
@@ -34,12 +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$$);$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;
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$$.filter($key$$=>$ctrl$$.model.schema.paths[$key$$]).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$$=
38
+ $data_value$$.trim(),0==$data_value$$.indexOf("[")||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&&
39
+ $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$$);if(1===$rss$$.length){let $rs$$=
40
+ $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...");if($e$$){let $_e$$=
41
+ $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$$);
42
+ 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;
43
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();
44
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!==
45
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||
@@ -189,30 +189,32 @@ async function createIdRef($model$$,$data$$){$model$$=Object.values($model$$.sch
189
189
  mongoose.models[$modelRef_modelRefName$$.toLowerCase()])?($localField_obj$$=await $modelRef_modelRefName$$.findOne({id_app:$data$$.id_app,[$foreignField$$]:$data$$[$localField_obj$$]}).lean(),$data$$[$namePath$$]=$localField_obj$$?$localField_obj$$._id.toString():null):$data$$[$namePath$$]=null:$data$$[$namePath$$]=null;$resove$$($path$$)})})))}catch($e2$$){return console.error("error create ref data",$e2$$),null}}
190
190
  async function create($user$jscomp$0$$,$ctrl$$,$data$$,$callback$jscomp$1$$,$id_be_supply_by_user$$,$req$$){try{const $model$$=$ctrl$$.model,$voucher_options$$=(await OptionsModel.findOne({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name}).lean()||{}).option,$schema_paths$$=$model$$.schema.paths;let $v_data$$;try{$v_data$$=await asyncBodyToJson($data$$,$ctrl$$,$user$jscomp$0$$.current_id_app,$voucher_options$$)}catch($e$$){return $callback$jscomp$1$$($e$$.message||$e$$.error||$e$$)}underscore.has($schema_paths$$,
191
191
  "ma_ct")&&$ctrl$$.options.isVoucher&&($v_data$$.ma_ct=$ctrl$$.name.toUpperCase());if($ctrl$$.options.requireRecaptchaToken){if(!$v_data$$["g-recaptcha-response"])return $callback$jscomp$1$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u g-recaptcha-response");try{await permission.verifyReCaptcha($v_data$$["g-recaptcha-response"])}catch($e$$){return $callback$jscomp$1$$($e$$.message||$e$$.error||$e$$)}}if(0>global.configs.admins.indexOf($user$jscomp$0$$.email)){let $requireOtp$$=$ctrl$$.options.requireOtp;
192
- $requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($v_data$$,{action:"create",user:$user$jscomp$0$$}));if($requireOtp$$)try{await permission.verifyOTP($user$jscomp$0$$.email,$v_data$$["otp-id"],$v_data$$["otp-code"])}catch($e$$){return $callback$jscomp$1$$({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}}const $obj$jscomp$0$$=new $model$$;underscore.has($schema_paths$$,"exfields")&&($obj$jscomp$0$$.exfields=$v_data$$.exfields||{});for(let $f$$ in $v_data$$)underscore.has($schema_paths$$,
193
- $f$$)&&($obj$jscomp$0$$.set($f$$,$v_data$$[$f$$]),"exfields"!==$f$$||$obj$jscomp$0$$.exfields||($obj$jscomp$0$$.exfields={}));!0===underscore.has($schema_paths$$,"id_app")&&($obj$jscomp$0$$.id_app=$user$jscomp$0$$.current_id_app);const $checkVoucherNumber$$=$callback$$=>{underscore.has($model$$.schema.paths,"ngay_ct")&&$obj$jscomp$0$$.ngay_ct?OptionsModel.findOne({id_app:$obj$jscomp$0$$.id_app,id_func:$ctrl$$.name},{option:1}).lean().exec(($e$jscomp$1$$,$rs$jscomp$0$$)=>{setImmediate(()=>{if($rs$jscomp$0$$&&
194
- $rs$jscomp$0$$.option&&$rs$jscomp$0$$.option.check_so_ct&&"0"!==$rs$jscomp$0$$.option.check_so_ct){let $query_check$$={id_app:$obj$jscomp$0$$.id_app,so_ct:$obj$jscomp$0$$.so_ct},$tu_ngay$$,$den_ngay$$;switch($rs$jscomp$0$$.option.check_so_ct){case "1":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("day").toDate();$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("day").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "2":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("month").toDate();
195
- $den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("month").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "3":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("quarter").toDate();$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("quarter").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "8":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("year").toDate(),$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("year").toDate(),$query_check$$.ngay_ct=
196
- {$gte:$tu_ngay$$,$lte:$den_ngay$$}}$model$$.findOne($query_check$$,{so_ct:1}).lean().exec(($e$jscomp$0$$,$rs$$)=>{setImmediate(()=>{if($rs$$){let $msgError$$="S\u1ed1 ch\u1ee9ng t\u1eeb "+$obj$jscomp$0$$.so_ct+" \u0111\u00e3 t\u1ed3n t\u1ea1i. H\u00e3y ch\u1ecdn m\u1ed9t s\u1ed1 ch\u1ee9ng t\u1eeb kh\u00e1c";if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)});else $callback$$($msgError$$)}else $callback$$()})})}else $callback$$()})}):
197
- $callback$$()};let $File$$=global.getModel("file"),$Support$$=global.getModel("support");async.waterfall([function($callback$$){setImmediate(function(){permission.hasRight($obj$jscomp$0$$.id_app,$user$jscomp$0$$.email,$ctrl$$.module,"add",function($error$jscomp$0$$,$hr$$,$c_app$$){setImmediate(()=>{if($error$jscomp$0$$||!$hr$$)return $callback$$($error$jscomp$0$$);$ctrl$$.checkData($c_app$$,$obj$jscomp$0$$,$e$$=>{if($e$$)return $callback$$($e$$);$ctrl$$.creating?$ctrl$$.creating($user$jscomp$0$$,
198
- $obj$jscomp$0$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$()},{data:$data$$}):$callback$$()})})},{data:$obj$jscomp$0$$,notNeedRight:$ctrl$$.options.notNeedRight})})},$callback$$=>{setImmediate(()=>{var $condition_qct$jscomp$1_ma_ct$$=$ctrl$$.name;$condition_qct$jscomp$1_ma_ct$$={status:!0,id_app:$obj$jscomp$0$$.id_app,$and:[{$or:[{ma_ct:"#",ma_ct_khac:{$regex:$condition_qct$jscomp$1_ma_ct$$,$options:"i"}},{cac_ma_ct:$condition_qct$jscomp$1_ma_ct$$.toLowerCase()},{ma_ct:$condition_qct$jscomp$1_ma_ct$$.toUpperCase()}]}]};
199
- let $_options_qct$$;$_options_qct$$=$obj$jscomp$0$$.toObject?$obj$jscomp$0$$.toObject():{...$obj$jscomp$0$$};let $keys_options$$=Object.keys($_options_qct$$);dmqct.find($condition_qct$jscomp$1_ma_ct$$).lean().exec(($e$jscomp$0$$,$rs$jscomp$0$$)=>{setImmediate(()=>{let $qcts$$=($rs$jscomp$0$$||[]).filter($qct$$=>"so_ct"!==$qct$$.field&&!$obj$jscomp$0$$[$qct$$.field]&&underscore.has($model$$.schema.paths,$qct$$.field));$qcts$$=$qcts$$.filter($qct$$=>{if($qct$$.dieu_kien&&0<$keys_options$$.length)try{let $str_func$$=
200
- $qct$$.dieu_kien;0!==$str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);return 0<$str_func$$.indexOf("async ")?!1:evalute($str_func$$,{...$_options_qct$$,master:{...$_options_qct$$},moment,numeral})}catch($e$$){return console.error("Error find quyen chung tu",$e$$.message,$qct$$.dieu_kien),!1}else return!0});async.map($qcts$$,($qct$$,$cb$$)=>{setImmediate(()=>{let $field$$=$qct$$.field,$_options$$={...$_options_qct$$};$_options$$.id_qct=$qct$$._id.toString();getNextSequence($obj$jscomp$0$$.id_app,
201
- $ctrl$$.name,$field$$,function($e$$,$rs$$){if($e$$)return $cb$$();$obj$jscomp$0$$[$field$$]=$rs$$[$field$$];$cb$$()},$_options$$)})},()=>{setImmediate(()=>{$callback$$()})})})})})},$callback$jscomp$0$$=>{setImmediate(function(){if(!0===underscore.has($model$$.schema.paths,"so_ct"))if($obj$jscomp$0$$.so_ct&&$obj$jscomp$0$$.so_ct.toUpperCase()!==$ctrl$$.name.toUpperCase())$checkVoucherNumber$$($error$$=>{$callback$jscomp$0$$($error$$)});else{let $count$$=0;async.whilst(function($cb$$){$cb$$(null,10>
202
- $count$$)},function($callback$$){getNextSequence($obj$jscomp$0$$.id_app,$ctrl$$.name,"so_ct",function($e$$,$rs$$){setImmediate(()=>{if($e$$)return $callback$$($e$$);$obj$jscomp$0$$.so_ct=$rs$$.so_ct;$checkVoucherNumber$$($error$$=>{$error$$?9<=$count$$?$callback$$($error$$):($count$$++,$callback$$()):($count$$=99999,$callback$$())})})},$obj$jscomp$0$$)},function($err$$){$callback$jscomp$0$$($err$$)})}else $callback$jscomp$0$$()})},function($callback$$){setImmediate(async()=>{if(underscore.has($model$$.schema.paths,
203
- "ma_dvcs")&&"dvcs"!==$ctrl$$.name)if($obj$jscomp$0$$.ma_dvcs)if(global.mongoose.Types.ObjectId.isValid($obj$jscomp$0$$.ma_dvcs)){let $_id_dvcs$$=global.mongoose.Types.ObjectId($obj$jscomp$0$$.ma_dvcs);await dvcs.findOne({_id:$_id_dvcs$$})?$callback$$():dvcs.create({_id:$_id_dvcs$$,ma_dvcs:"IMPORTED",ten_dvcs:"Imported"},$e$$=>{setImmediate(()=>{$e$$&&console.error("Can't import dvcs",$e$$);$callback$$()})})}else $callback$$();else dvcs.findOne({id_app:$obj$jscomp$0$$.id_app,status:!0}).lean().exec(function($e$$,
204
- $rs$$){setImmediate(()=>{$rs$$&&($obj$jscomp$0$$.ma_dvcs=$rs$$._id.toString());$callback$$()})});else $callback$$()})},$callback$$=>{$ctrl$$.validating||($ctrl$$.validating=($user$$,$obj$$,$next$$)=>{$next$$(null,$obj$$)});$ctrl$$.validating($user$jscomp$0$$,$obj$jscomp$0$$,($e$jscomp$0$$,$obj$$)=>{if($e$jscomp$0$$)return $callback$$($e$jscomp$0$$);setImmediate(()=>{$obj$$.user_created=$user$jscomp$0$$.email;$obj$$.user_updated=$user$jscomp$0$$.email;validate($obj$$,async $error$$=>{setImmediate(async()=>
205
- {if($error$$){let $msgError$$=$error$$;if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)});else $callback$$($msgError$$)}else{if($id_be_supply_by_user$$&&global.mongoose.Types.ObjectId.isValid($id_be_supply_by_user$$)){let $_id$$=global.mongoose.Types.ObjectId($id_be_supply_by_user$$);$obj$$._id=$_id$$;await $model$$.deleteOne({_id:$_id$$})}$callback$$()}})})})})},function($callback$$){setImmediate(function(){isExists($model$$,
206
- $ctrl$$.unique,$obj$jscomp$0$$,$ctrl$$.replaceIfExists,async($error$jscomp$1$$,$kq$$)=>{setImmediate(async()=>{if($error$jscomp$1$$||$kq$$){let $msgError$$=$error$jscomp$1$$||ERR_ALREADY_EXIST;console.error($msgError$$,$obj$jscomp$0$$);if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$({error:$msgError$$,code:ERR_ALREADY_EXIST_CODE})});else $callback$$({error:$msgError$$,code:ERR_ALREADY_EXIST_CODE})}else{for(let $k$$ in $ctrl$$.keyValues)$obj$jscomp$0$$[$k$$]=
207
- $ctrl$$.keyValues[$k$$];Object.keys($model$$.schema.paths).filter($model_path$$=>$obj$jscomp$0$$[$model_path$$]&&underscore.isArray($obj$jscomp$0$$[$model_path$$])).forEach($model_path$$=>{$model$$.schema.paths[$model_path$$].schema&&$model$$.schema.paths[$model_path$$].schema.paths&&Object.keys($model$$.schema.paths[$model_path$$].schema.paths).filter($path$$=>"line"!==$path$$&&"_id"!==$path$$&&"__v"!==$path$$&&0<=fields_sync_master_detail.indexOf($path$$)).forEach($path$$=>{$obj$jscomp$0$$[$path$$]&&
208
- $obj$jscomp$0$$[$model_path$$].filter($detail$$=>!$detail$$[$path$$]).forEach($detail$$=>{$detail$$[$path$$]=$obj$jscomp$0$$[$path$$]})})});await createIdRef($model$$,$obj$jscomp$0$$);$ctrl$$.saving&&await $ctrl$$.saving($user$jscomp$0$$,$obj$jscomp$0$$);$ctrl$$.emit("saving",$obj$jscomp$0$$);$obj$jscomp$0$$.save(function($error$jscomp$0$$,$obj_created$$){setImmediate(()=>{if($error$jscomp$0$$){let $msgErrors$$=[];for(let $k$$ in $error$jscomp$0$$.errors)$msgErrors$$.push($error$jscomp$0$$.errors[$k$$].message);
209
- 0==$msgErrors$$.length&&($msgErrors$$=$error$jscomp$0$$.message);$msgErrors$$||($msgErrors$$=JSON.stringify($error$jscomp$0$$));if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&console.error($e$$);$callback$$($msgErrors$$)});else $callback$$($msgErrors$$)}else postData($obj_created$$,$ctrl$$,function($msgErrors$$){setImmediate(()=>{if($msgErrors$$)if($model$$.deleteOne({_id:$obj_created$$._id.toString()},$err$$=>{$err$$&&console.error("Error remove obj when has error post data:",
210
- $err$$,{_id:$obj_created$$._id.toString()})}),$ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgErrors$$=$msgErrors$$+"\n"+$e$$);$callback$$($msgErrors$$)});else $callback$$($msgErrors$$);else if($req$$&&$req$$.header&&setImmediate(()=>{log.create({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name,action:"ADD",data:{id:$obj$jscomp$0$$._id.toString(),data:$obj$jscomp$0$$}},$user$jscomp$0$$.email,$req$$.header("user-agent"),
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,
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(),
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(()=>
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$$)}}
192
+ $requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($v_data$$,{action:"create",user:$user$jscomp$0$$}));if($requireOtp$$)try{await permission.verifyOTP($user$jscomp$0$$.email,$v_data$$["otp-id"],$v_data$$["otp-code"])}catch($e$$){return $callback$jscomp$1$$({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}}if($ctrl$$.dynamicCreating)try{$v_data$$=await new Promise(($resolve$$,$reject$$)=>{try{$ctrl$$.dynamicCreating($user$jscomp$0$$,$v_data$$,function($error$$,$v_data$$){if($error$$)return $reject$$($error$$);
193
+ $resolve$$($v_data$$)})}catch($e$$){return $reject$$($e$$)}})}catch($e$$){return $callback$jscomp$1$$($e$$.message||$e$$.error||$e$$)}const $obj$jscomp$0$$=new $model$$;underscore.has($schema_paths$$,"exfields")&&($obj$jscomp$0$$.exfields=$v_data$$.exfields||{});for(let $f$$ in $v_data$$)underscore.has($schema_paths$$,$f$$)&&($obj$jscomp$0$$.set($f$$,$v_data$$[$f$$]),"exfields"!==$f$$||$obj$jscomp$0$$.exfields||($obj$jscomp$0$$.exfields={}));!0===underscore.has($schema_paths$$,"id_app")&&($obj$jscomp$0$$.id_app=
194
+ $user$jscomp$0$$.current_id_app);const $checkVoucherNumber$$=$callback$$=>{underscore.has($model$$.schema.paths,"ngay_ct")&&$obj$jscomp$0$$.ngay_ct?OptionsModel.findOne({id_app:$obj$jscomp$0$$.id_app,id_func:$ctrl$$.name},{option:1}).lean().exec(($e$jscomp$1$$,$rs$jscomp$0$$)=>{setImmediate(()=>{if($rs$jscomp$0$$&&$rs$jscomp$0$$.option&&$rs$jscomp$0$$.option.check_so_ct&&"0"!==$rs$jscomp$0$$.option.check_so_ct){let $query_check$$={id_app:$obj$jscomp$0$$.id_app,so_ct:$obj$jscomp$0$$.so_ct},$tu_ngay$$,
195
+ $den_ngay$$;switch($rs$jscomp$0$$.option.check_so_ct){case "1":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("day").toDate();$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("day").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "2":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("month").toDate();$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("month").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "3":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("quarter").toDate();
196
+ $den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("quarter").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "8":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("year").toDate(),$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("year").toDate(),$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$}}$model$$.findOne($query_check$$,{so_ct:1}).lean().exec(($e$jscomp$0$$,$rs$$)=>{setImmediate(()=>{if($rs$$){let $msgError$$="S\u1ed1 ch\u1ee9ng t\u1eeb "+$obj$jscomp$0$$.so_ct+
197
+ " \u0111\u00e3 t\u1ed3n t\u1ea1i. H\u00e3y ch\u1ecdn m\u1ed9t s\u1ed1 ch\u1ee9ng t\u1eeb kh\u00e1c";if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)});else $callback$$($msgError$$)}else $callback$$()})})}else $callback$$()})}):$callback$$()};let $File$$=global.getModel("file"),$Support$$=global.getModel("support");async.waterfall([function($callback$$){setImmediate(function(){permission.hasRight($obj$jscomp$0$$.id_app,
198
+ $user$jscomp$0$$.email,$ctrl$$.module,"add",function($error$jscomp$0$$,$hr$$,$c_app$$){setImmediate(()=>{if($error$jscomp$0$$||!$hr$$)return $callback$$($error$jscomp$0$$);$ctrl$$.checkData($c_app$$,$obj$jscomp$0$$,$e$$=>{if($e$$)return $callback$$($e$$);$ctrl$$.creating?$ctrl$$.creating($user$jscomp$0$$,$obj$jscomp$0$$,function($error$$,$obj$$){if($error$$)return $callback$$($error$$);$callback$$(null,$obj$$)},{data:$data$$}):$callback$$(null,$obj$jscomp$0$$)})})},{data:$obj$jscomp$0$$,notNeedRight:$ctrl$$.options.notNeedRight})})},
199
+ ($obj$$,$callback$$)=>{setImmediate(()=>{var $condition_qct$jscomp$1_ma_ct$$=$ctrl$$.name;$condition_qct$jscomp$1_ma_ct$$={status:!0,id_app:$obj$$.id_app,$and:[{$or:[{ma_ct:"#",ma_ct_khac:{$regex:$condition_qct$jscomp$1_ma_ct$$,$options:"i"}},{cac_ma_ct:$condition_qct$jscomp$1_ma_ct$$.toLowerCase()},{ma_ct:$condition_qct$jscomp$1_ma_ct$$.toUpperCase()}]}]};let $_options_qct$$;$_options_qct$$=$obj$$.toObject?$obj$$.toObject():{...$obj$$};let $keys_options$$=Object.keys($_options_qct$$);dmqct.find($condition_qct$jscomp$1_ma_ct$$).lean().exec(($e$jscomp$0$$,
200
+ $rs$jscomp$0$$)=>{setImmediate(()=>{let $qcts$$=($rs$jscomp$0$$||[]).filter($qct$$=>"so_ct"!==$qct$$.field&&!$obj$$[$qct$$.field]&&underscore.has($model$$.schema.paths,$qct$$.field));$qcts$$=$qcts$$.filter($qct$$=>{if($qct$$.dieu_kien&&0<$keys_options$$.length)try{let $str_func$$=$qct$$.dieu_kien;0!==$str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);return 0<$str_func$$.indexOf("async ")?!1:evalute($str_func$$,{...$_options_qct$$,master:{...$_options_qct$$},moment,numeral})}catch($e$$){return console.error("Error find quyen chung tu",
201
+ $e$$.message,$qct$$.dieu_kien),!1}else return!0});async.map($qcts$$,($qct$$,$cb$$)=>{setImmediate(()=>{let $field$$=$qct$$.field,$_options$$={...$_options_qct$$};$_options$$.id_qct=$qct$$._id.toString();getNextSequence($obj$$.id_app,$ctrl$$.name,$field$$,function($e$$,$rs$$){if($e$$)return $cb$$();$obj$$[$field$$]=$rs$$[$field$$];$cb$$()},$_options$$)})},()=>{setImmediate(()=>{$callback$$()})})})})})},$callback$jscomp$0$$=>{setImmediate(function(){if(!0===underscore.has($model$$.schema.paths,"so_ct"))if($obj$jscomp$0$$.so_ct&&
202
+ $obj$jscomp$0$$.so_ct.toUpperCase()!==$ctrl$$.name.toUpperCase())$checkVoucherNumber$$($error$$=>{$callback$jscomp$0$$($error$$)});else{let $count$$=0;async.whilst(function($cb$$){$cb$$(null,10>$count$$)},function($callback$$){getNextSequence($obj$jscomp$0$$.id_app,$ctrl$$.name,"so_ct",function($e$$,$rs$$){setImmediate(()=>{if($e$$)return $callback$$($e$$);$obj$jscomp$0$$.so_ct=$rs$$.so_ct;$checkVoucherNumber$$($error$$=>{$error$$?9<=$count$$?$callback$$($error$$):($count$$++,$callback$$()):($count$$=
203
+ 99999,$callback$$())})})},$obj$jscomp$0$$)},function($err$$){$callback$jscomp$0$$($err$$)})}else $callback$jscomp$0$$()})},function($callback$$){setImmediate(async()=>{if(underscore.has($model$$.schema.paths,"ma_dvcs")&&"dvcs"!==$ctrl$$.name)if($obj$jscomp$0$$.ma_dvcs)if(global.mongoose.Types.ObjectId.isValid($obj$jscomp$0$$.ma_dvcs)){let $_id_dvcs$$=global.mongoose.Types.ObjectId($obj$jscomp$0$$.ma_dvcs);await dvcs.findOne({_id:$_id_dvcs$$})?$callback$$():dvcs.create({_id:$_id_dvcs$$,ma_dvcs:"IMPORTED",
204
+ ten_dvcs:"Imported"},$e$$=>{setImmediate(()=>{$e$$&&console.error("Can't import dvcs",$e$$);$callback$$()})})}else $callback$$();else dvcs.findOne({id_app:$obj$jscomp$0$$.id_app,status:!0}).lean().exec(function($e$$,$rs$$){setImmediate(()=>{$rs$$&&($obj$jscomp$0$$.ma_dvcs=$rs$$._id.toString());$callback$$()})});else $callback$$()})},$callback$$=>{$ctrl$$.validating||($ctrl$$.validating=($user$$,$obj$$,$next$$)=>{$next$$(null,$obj$$)});$ctrl$$.validating($user$jscomp$0$$,$obj$jscomp$0$$,($e$jscomp$0$$,
205
+ $obj$$)=>{if($e$jscomp$0$$)return $callback$$($e$jscomp$0$$);setImmediate(()=>{$obj$$.user_created=$user$jscomp$0$$.email;$obj$$.user_updated=$user$jscomp$0$$.email;validate($obj$$,async $error$$=>{setImmediate(async()=>{if($error$$){let $msgError$$=$error$$;if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)});else $callback$$($msgError$$)}else{if($id_be_supply_by_user$$&&global.mongoose.Types.ObjectId.isValid($id_be_supply_by_user$$)){let $_id$$=
206
+ global.mongoose.Types.ObjectId($id_be_supply_by_user$$);$obj$$._id=$_id$$;await $model$$.deleteOne({_id:$_id$$})}$callback$$()}})})})})},function($callback$$){setImmediate(function(){isExists($model$$,$ctrl$$.unique,$obj$jscomp$0$$,$ctrl$$.replaceIfExists,async($error$jscomp$1$$,$kq$$)=>{setImmediate(async()=>{if($error$jscomp$1$$||$kq$$){let $msgError$$=$error$jscomp$1$$||ERR_ALREADY_EXIST;console.error($msgError$$,$obj$jscomp$0$$);if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,
207
+ $obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$({error:$msgError$$,code:ERR_ALREADY_EXIST_CODE})});else $callback$$({error:$msgError$$,code:ERR_ALREADY_EXIST_CODE})}else{for(let $k$$ in $ctrl$$.keyValues)$obj$jscomp$0$$[$k$$]=$ctrl$$.keyValues[$k$$];Object.keys($model$$.schema.paths).filter($model_path$$=>$obj$jscomp$0$$[$model_path$$]&&underscore.isArray($obj$jscomp$0$$[$model_path$$])).forEach($model_path$$=>{$model$$.schema.paths[$model_path$$].schema&&$model$$.schema.paths[$model_path$$].schema.paths&&
208
+ Object.keys($model$$.schema.paths[$model_path$$].schema.paths).filter($path$$=>"line"!==$path$$&&"_id"!==$path$$&&"__v"!==$path$$&&0<=fields_sync_master_detail.indexOf($path$$)).forEach($path$$=>{$obj$jscomp$0$$[$path$$]&&$obj$jscomp$0$$[$model_path$$].filter($detail$$=>!$detail$$[$path$$]).forEach($detail$$=>{$detail$$[$path$$]=$obj$jscomp$0$$[$path$$]})})});await createIdRef($model$$,$obj$jscomp$0$$);$ctrl$$.saving&&await $ctrl$$.saving($user$jscomp$0$$,$obj$jscomp$0$$);$ctrl$$.emit("saving",$obj$jscomp$0$$);
209
+ $obj$jscomp$0$$.save(function($error$jscomp$0$$,$obj_created$$){setImmediate(()=>{if($error$jscomp$0$$){let $msgErrors$$=[];for(let $k$$ in $error$jscomp$0$$.errors)$msgErrors$$.push($error$jscomp$0$$.errors[$k$$].message);0==$msgErrors$$.length&&($msgErrors$$=$error$jscomp$0$$.message);$msgErrors$$||($msgErrors$$=JSON.stringify($error$jscomp$0$$));if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&console.error($e$$);$callback$$($msgErrors$$)});
210
+ else $callback$$($msgErrors$$)}else postData($obj_created$$,$ctrl$$,function($msgErrors$$){setImmediate(()=>{if($msgErrors$$)if($model$$.deleteOne({_id:$obj_created$$._id.toString()},$err$$=>{$err$$&&console.error("Error remove obj when has error post data:",$err$$,{_id:$obj_created$$._id.toString()})}),$ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgErrors$$=$msgErrors$$+"\n"+$e$$);$callback$$($msgErrors$$)});else $callback$$($msgErrors$$);
211
+ else if($req$$&&$req$$.header&&setImmediate(()=>{log.create({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name,action:"ADD",data:{id:$obj$jscomp$0$$._id.toString(),data:$obj$jscomp$0$$}},$user$jscomp$0$$.email,$req$$.header("user-agent"),$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||
212
+ {}).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,$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=
213
+ $ctrl$$.collection_name;$obj$$.exfields&&$obj$$.exfields.__files__&&($obj$$.exfields.__files__.forEach($_file$$=>{$File$$.findOneAndUpdate({_id:$_file$$._id},{id_link:$obj$$._id.toString(),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$$=>
214
+ {console.error($e$$)})}),delete $obj$$.exfields.__supports__);if($ctrl$$.created)$ctrl$$.created($user$jscomp$0$$,$obj$$,function($error$jscomp$0$$,$rs$$){setImmediate(()=>{if($error$jscomp$0$$)return $callback$$($error$jscomp$0$$);if($ctrl$$.dynamicCreated)$ctrl$$.dynamicCreated($user$jscomp$0$$,$rs$$,function($error$$){if($error$$)return $callback$$($error$$);$req$$&&$req$$.uploadFile?($error$$="<html><title>OK</title><body>"+JSON.stringify($rs$$)+"</body></html>",$callback$$(null,$error$$)):$callback$$(null,
215
+ $rs$$)});else 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($ctrl$$.dynamicCreated)$ctrl$$.dynamicCreated($user$jscomp$0$$,$obj$$,function($error$jscomp$46_html$$){if($error$jscomp$46_html$$)return $callback$$($error$jscomp$46_html$$);$req$$&&$req$$.uploadFile?($error$jscomp$46_html$$="<html><title>OK</title><body>"+JSON.stringify($obj$$)+"</body></html>",$callback$$(null,
216
+ $error$jscomp$46_html$$)):$callback$$(null,$obj$$)});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$145_name_cached$$,$rs$$)=>{$e$jscomp$145_name_cached$$?(console.error($e$jscomp$145_name_cached$$),$callback$jscomp$1$$($e$jscomp$145_name_cached$$)):($e$jscomp$145_name_cached$$=$model$$.collection.name,$user$jscomp$0$$.current_id_app&&($e$jscomp$145_name_cached$$+=
217
+ $user$jscomp$0$$.current_id_app),delete global.cacheDatas[$e$jscomp$145_name_cached$$],$callback$jscomp$1$$(null,$rs$$))})}catch($e$$){console.error($e$$),$callback$jscomp$1$$($e$$)}}
216
218
  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&&
217
219
  ("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$$)})};
218
220
  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$$]=
@@ -220,41 +222,43 @@ controller.prototype.quickCreate=function(){let $model$$=this.model,$name$$=this
220
222
  {};delete $body$jscomp$4_query$$.so_ct;delete $body$jscomp$4_query$$.ngay_ct;delete $body$jscomp$4_query$$.user_created;delete $body$jscomp$4_query$$.date_created;delete $body$jscomp$4_query$$.user_updated;delete $body$jscomp$4_query$$.date_updated;delete $body$jscomp$4_query$$._id;delete $body$jscomp$4_query$$.pkey;delete $body$jscomp$4_query$$.__v;let $_data$$=$req$$.query;$req$$.body&&($_data$$=Object.assign($_data$$,$req$$.body));for(let $key$$ in $_data$$)$_data$$[$key$$]&&"access_token"!==$key$$&&
221
223
  "token"!==$key$$&&"_id"!==$key$$&&(underscore.has($model$$.schema.paths,$key$$)&&($body$jscomp$4_query$$[$key$$]=$_data$$[$key$$]),$body$jscomp$4_query$$.details&&$body$jscomp$4_query$$.details.forEach($d$$=>{$d$$[$key$$]=$_data$$[$key$$]}));create($req$$.user,$ctrl$$,$body$jscomp$4_query$$,($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$$});$res$$.send($rs$$)})},
222
224
  null,$req$$)};this.router.route(`${this.route_name}/quickcreate/:template_code`).get(function($req$$,$res$$){$createFromTemplate$$($req$$,$res$$)});this.router.route(`${this.route_name}/quickcreate/:template_code`).post(function($req$$,$res$$){$createFromTemplate$$($req$$,$res$$)})};
223
- const update=async function($user$jscomp$0$$,$ctrl$$,$id$$,$data$jscomp$0$$,$callback$jscomp$1$$,$action$jscomp$0$$,$req$$){delete $data$jscomp$0$$.__v;try{const $model$$=$ctrl$$.model,$unique$$=$ctrl$$.unique,$module$$=$ctrl$$.module,$schema_paths$$=$model$$.schema.paths;underscore.has($schema_paths$$,"ma_ct")&&$ctrl$$.options.isVoucher&&($data$jscomp$0$$.ma_ct=$ctrl$$.name.toUpperCase());const $voucher_options$$=(await OptionsModel.findOne({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name}).lean()||
224
- {}).option;let $current_obj$$;if($ctrl$$.options.requireRecaptchaToken){if(!$data$jscomp$0$$["g-recaptcha-response"])return $callback$jscomp$1$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u g-recaptcha-response");try{await permission.verifyReCaptcha($data$jscomp$0$$["g-recaptcha-response"])}catch($e$$){return $callback$jscomp$1$$($e$$.message||$e$$.error||$e$$)}}if(0>global.configs.admins.indexOf($user$jscomp$0$$.email)){let $requireOtp$$=$ctrl$$.options.requireOtp;$requireOtp$$&&_.isFunction($requireOtp$$)&&
225
- ($requireOtp$$=$requireOtp$$($data$jscomp$0$$,{action:"update",_id:$id$$,user:$user$jscomp$0$$}));if($requireOtp$$)try{await permission.verifyOTP($user$jscomp$0$$.email,$data$jscomp$0$$["otp-id"],$data$jscomp$0$$["otp-code"])}catch($e$$){return $callback$jscomp$1$$({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}}async.waterfall([function($callback$$){setImmediate(function(){$model$$.findOne({_id:$id$$}).exec(function($error$$,$obj$$){setImmediate(()=>{if($error$$)return $callback$$($error$$);
226
- if(!$obj$$)return $callback$$("Kh\u00f4ng th\u1ec3 t\u00ecm th\u1ea5y \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y");underscore.has($schema_paths$$,"exfields")&&($obj$$.exfields=$obj$$.exfields||{});const $old_obj$$=$obj$$.toObject();$current_obj$$=_.cloneDeep($old_obj$$);const $data_keys$$=Object.keys($data$jscomp$0$$);for(let $key$$ in $old_obj$$)0>$data_keys$$.indexOf($key$$)&&($data$jscomp$0$$[$key$$]=$old_obj$$[$key$$]);$callback$$(null,$obj$$)})})})},function($obj$$,$callback$$){setImmediate(function(){permission.hasRight($user$jscomp$0$$.current_id_app,
227
- $user$jscomp$0$$.email,$module$$,"update",function($error$$,$hr$$,$c_app$$){setImmediate(()=>{if($hr$$)$ctrl$$.checkData($c_app$$,{...$data$jscomp$0$$,_id:$obj$$._id.toString()},$e$$=>{if($e$$)return $callback$$($e$$);$callback$$(null,$obj$$)});else return $callback$$({error:$error$$||ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE})})},{data:$data$jscomp$0$$,obj:$obj$$,notNeedRight:$ctrl$$.options.notNeedRight})})},function($obj$$,$callback$$){underscore.has($model$$.schema.paths,"ngay_ct")&&underscore.has($model$$.schema.paths,
228
- "so_ct")&&$obj$$.ngay_ct&&$data$jscomp$0$$.so_ct&&$obj$$.so_ct!==$data$jscomp$0$$.so_ct?OptionsModel.findOne({id_app:$obj$$.id_app,id_func:$ctrl$$.name},{option:1}).lean().exec(($e$jscomp$0$$,$rs$jscomp$0$$)=>{setImmediate(()=>{if($rs$jscomp$0$$&&$rs$jscomp$0$$.option&&$rs$jscomp$0$$.option.check_so_ct&&"0"!==$rs$jscomp$0$$.option.check_so_ct){let $query_check$$={id_app:$obj$$.id_app,so_ct:$data$jscomp$0$$.so_ct,_id:{$ne:$obj$$._id.toString()}},$tu_ngay$$;var $date_check_den_ngay$$=$data$jscomp$0$$.ngay_ct||
225
+ const update=async function($user$jscomp$0$$,$ctrl$$,$id$$,$data$jscomp$1$$,$callback$jscomp$1$$,$action$jscomp$0$$,$req$$){delete $data$jscomp$1$$.__v;try{const $model$$=$ctrl$$.model,$unique$$=$ctrl$$.unique,$module$$=$ctrl$$.module,$schema_paths$$=$model$$.schema.paths;underscore.has($schema_paths$$,"ma_ct")&&$ctrl$$.options.isVoucher&&($data$jscomp$1$$.ma_ct=$ctrl$$.name.toUpperCase());const $voucher_options$$=(await OptionsModel.findOne({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name}).lean()||
226
+ {}).option;let $current_obj$$;if($ctrl$$.options.requireRecaptchaToken){if(!$data$jscomp$1$$["g-recaptcha-response"])return $callback$jscomp$1$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u g-recaptcha-response");try{await permission.verifyReCaptcha($data$jscomp$1$$["g-recaptcha-response"])}catch($e$$){return $callback$jscomp$1$$($e$$.message||$e$$.error||$e$$)}}if(0>global.configs.admins.indexOf($user$jscomp$0$$.email)){let $requireOtp$$=$ctrl$$.options.requireOtp;$requireOtp$$&&_.isFunction($requireOtp$$)&&
227
+ ($requireOtp$$=$requireOtp$$($data$jscomp$1$$,{action:"update",_id:$id$$,user:$user$jscomp$0$$}));if($requireOtp$$)try{await permission.verifyOTP($user$jscomp$0$$.email,$data$jscomp$1$$["otp-id"],$data$jscomp$1$$["otp-code"])}catch($e$$){return $callback$jscomp$1$$({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}}async.waterfall([function($callback$$){setImmediate(function(){$model$$.findOne({_id:$id$$}).exec(function($error$$,$obj$$){setImmediate(()=>{if($error$$)return $callback$$($error$$);
228
+ if(!$obj$$)return $callback$$("Kh\u00f4ng th\u1ec3 t\u00ecm th\u1ea5y \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y");underscore.has($schema_paths$$,"exfields")&&($obj$$.exfields=$obj$$.exfields||{});const $old_obj$$=$obj$$.toObject();$current_obj$$=_.cloneDeep($old_obj$$);const $data_keys$$=Object.keys($data$jscomp$1$$);for(let $key$$ in $old_obj$$)0>$data_keys$$.indexOf($key$$)&&($data$jscomp$1$$[$key$$]=$old_obj$$[$key$$]);$callback$$(null,$obj$$)})})})},function($obj$$,$callback$$){setImmediate(function(){permission.hasRight($user$jscomp$0$$.current_id_app,
229
+ $user$jscomp$0$$.email,$module$$,"update",function($error$$,$hr$$,$c_app$$){setImmediate(()=>{if($hr$$)$ctrl$$.checkData($c_app$$,{...$data$jscomp$1$$,_id:$obj$$._id.toString()},$e$$=>{if($e$$)return $callback$$($e$$);$callback$$(null,$obj$$)});else return $callback$$({error:$error$$||ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE})})},{data:$data$jscomp$1$$,obj:$obj$$,notNeedRight:$ctrl$$.options.notNeedRight})})},function($obj$$,$callback$$){underscore.has($model$$.schema.paths,"ngay_ct")&&underscore.has($model$$.schema.paths,
230
+ "so_ct")&&$obj$$.ngay_ct&&$data$jscomp$1$$.so_ct&&$obj$$.so_ct!==$data$jscomp$1$$.so_ct?OptionsModel.findOne({id_app:$obj$$.id_app,id_func:$ctrl$$.name},{option:1}).lean().exec(($e$jscomp$0$$,$rs$jscomp$0$$)=>{setImmediate(()=>{if($rs$jscomp$0$$&&$rs$jscomp$0$$.option&&$rs$jscomp$0$$.option.check_so_ct&&"0"!==$rs$jscomp$0$$.option.check_so_ct){let $query_check$$={id_app:$obj$$.id_app,so_ct:$data$jscomp$1$$.so_ct,_id:{$ne:$obj$$._id.toString()}},$tu_ngay$$;var $date_check_den_ngay$$=$data$jscomp$1$$.ngay_ct||
229
231
  $obj$$.ngay_ct;switch($rs$jscomp$0$$.option.check_so_ct){case "1":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("date").toDate();$date_check_den_ngay$$=moment($date_check_den_ngay$$).endOf("date").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$};break;case "2":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("month").toDate();$date_check_den_ngay$$=moment($date_check_den_ngay$$).endOf("month").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$};
230
232
  break;case "3":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("quarter").toDate();$date_check_den_ngay$$=moment($date_check_den_ngay$$).endOf("quarter").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$};break;case "8":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("year").toDate(),$date_check_den_ngay$$=moment($date_check_den_ngay$$).startOf("year").toDate(),$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$}}$model$$.findOne($query_check$$,{so_ct:1}).lean().exec(($e$$,
231
- $rs$$)=>{setImmediate(()=>{if($rs$$)return $callback$$("S\u1ed1 ch\u1ee9ng t\u1eeb "+$data$jscomp$0$$.so_ct+" \u0111\u00e3 t\u1ed3n t\u1ea1i. H\u00e3y ch\u1ecdn m\u1ed9t s\u1ed1 ch\u1ee9ng t\u1eeb kh\u00e1c");$callback$$(null,$obj$$)})})}else $callback$$(null,$obj$$)})}):$callback$$(null,$obj$$)},($obj$jscomp$1$$,$callback$jscomp$0$$)=>{(async($obj$jscomp$0$$,$callback$$)=>{try{(await permission.getFieldNotRight($obj$jscomp$0$$.id_app,$user$jscomp$0$$.email,$ctrl$$.name)).forEach($f$$=>{delete $data$jscomp$0$$[$f$$]})}catch($e$$){console.error("Error get field not right",
232
- $e$$)}setImmediate(function(){$ctrl$$.updating?$ctrl$$.updating($user$jscomp$0$$,$data$jscomp$0$$,$obj$jscomp$0$$,function($error$$,$data$$,$obj$$){setImmediate(()=>{if($error$$)return $callback$$($error$$);$callback$$(null,$obj$$)})}):$callback$$(null,$obj$jscomp$0$$)})})($obj$jscomp$1$$,$callback$jscomp$0$$)},function($obj$$,$callback$$){setImmediate(function(){if(!$unique$$||0===$unique$$.length)return $callback$$(null,$obj$$);let $c1$$={},$c2$$={};$obj$$.id_app&&($c1$$.id_app=$obj$$.id_app,$c2$$.id_app||
233
- ($c2$$.id_app=$obj$$.id_app));$unique$$.forEach(function($key$$){$c1$$[$key$$]=$obj$$[$key$$];$ctrl$$.model.schema.paths[$key$$]?("number"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=Number($data$jscomp$0$$[$key$$]):"date"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=new Date($data$jscomp$0$$[$key$$]):"string"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=($data$jscomp$0$$[$key$$]||"").toString():$c2$$[$key$$]=$data$jscomp$0$$[$key$$],
234
- $c2$$[$key$$]||($c2$$[$key$$]=$c1$$[$key$$])):console.error("field",$key$$," is not exist. please check unique of controller")});!0!==underscore.isEqual($c1$$,$c2$$)?isExists($model$$,$unique$$,$c2$$,$ctrl$$.replaceIfExists,function($error$jscomp$0$$,$kq$$){setImmediate(()=>{if($error$jscomp$0$$||$kq$$){let $msgError$$=$error$jscomp$0$$||ERR_ALREADY_EXIST;console.error($msgError$$,$c2$$);if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=
235
- $msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$($msgError$$)}else checkReference($model$$,$obj$$,function($error$$){setImmediate(()=>{if($error$$)return console.error("Keys arise data",$c1$$,$c2$$,$error$$),$callback$$({error:ERR_KEY_ARISE+($error$$.error||$error$$.message||$error$$),code:ERR_KEY_ARISE_CODE});$callback$$(null,$obj$$)})},$unique$$)})}):$callback$$(null,$obj$$)})},function($obj$$,$callback$$){let $keys$$=underscore.keys($model$$.referenceKeys).filter($key$$=>
236
- "_id"!==$key$$);$unique$$&&($keys$$=$keys$$.filter($key$$=>0>$unique$$.indexOf($key$$).length));if(0===$keys$$.length)return $callback$$(null,$obj$$);checkReference($model$$,$obj$$,function($msgError$$){setImmediate(()=>{if($msgError$$)if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$({error:ERR_ARISE+($msgError$$.error||$msgError$$.message||$msgError$$),
237
- code:ERR_ARISE_CODE});else $callback$$(null,$obj$$)})},$keys$$)},function($obj$jscomp$1$$,$callback$$){$ctrl$$.validating||($ctrl$$.validating=($user$$,$obj$$,$next$$)=>{$next$$(null,$obj$$)});$ctrl$$.validating($user$jscomp$0$$,$obj$jscomp$1$$,($error$$,$obj$jscomp$0$$)=>{if($error$$)return $callback$$($error$$);setImmediate(function(){$data$jscomp$0$$.date_updated=new Date;$data$jscomp$0$$.user_updated=$user$jscomp$0$$.email;delete $data$jscomp$0$$.__v;$ctrl$$.options.onUpdateExtending||($ctrl$$.options.onUpdateExtending=
238
- function($obj$$,$data$$,$action$$,$fn$$){$fn$$()});$ctrl$$.options.onUpdateExtending($obj$jscomp$0$$,$data$jscomp$0$$,$action$jscomp$0$$,function(){underscore.has($schema_paths$$,"exfields")&&$data$jscomp$0$$.exfields&&($obj$jscomp$0$$.exfields=$data$jscomp$0$$.exfields);for(let $f$$ in $data$jscomp$0$$)underscore.has($schema_paths$$,$f$$)&&($obj$jscomp$0$$.set($f$$,$data$jscomp$0$$[$f$$]),"exfields"!==$f$$||$obj$jscomp$0$$.exfields||($obj$jscomp$0$$.exfields={}));validate($obj$jscomp$0$$,function($msgError$$){setImmediate(()=>
239
- {if($msgError$$)if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$($msgError$$);else $callback$$(null,$obj$jscomp$0$$)})})})})})},function($obj$$,$callback$$){setImmediate(async()=>{$obj$$.ngay_ct&&($obj$$.ngay_ct=moment($obj$$.ngay_ct).toDate());for(var $$condition_k$$ in $ctrl$$.keyValues)$obj$$[$$condition_k$$]=$ctrl$$.keyValues[$$condition_k$$];
240
- Object.keys($model$$.schema.paths).filter($model_path$$=>$obj$$[$model_path$$]&&underscore.isArray($obj$$[$model_path$$])).forEach($model_path$$=>{$model$$.schema.paths[$model_path$$].schema&&$model$$.schema.paths[$model_path$$].schema.paths&&Object.keys($model$$.schema.paths[$model_path$$].schema.paths).filter($path$$=>"line"!==$path$$&&"_id"!==$path$$&&"__v"!==$path$$&&fields_sync_master_detail.indexOf($path$$)).forEach($path$$=>{$obj$$[$path$$]&&$obj$$[$model_path$$].filter($detail$$=>!$detail$$[$path$$]).forEach($detail$$=>
241
- {$detail$$[$path$$]=$obj$$[$path$$]})})});await createIdRef($model$$,$obj$$);$ctrl$$.saving&&await $ctrl$$.saving($user$jscomp$0$$,$obj$$);$ctrl$$.emit("saving",$obj$$);let $obj_created$$,$error$jscomp$0$$;$data$jscomp$0$$.$condition&&($$condition_k$$=$data$jscomp$0$$.$condition,$$condition_k$$._id=$obj$$._id,await $model$$.findOne($$condition_k$$)||($error$jscomp$0$$=ERR_CAN_NOT_UPDATE),delete $data$jscomp$0$$.$condition);if(!$error$jscomp$0$$)try{$obj_created$$=await $obj$$.save()}catch($e$$){$error$jscomp$0$$=
242
- $e$$}if($error$jscomp$0$$){let $msgErrors$$=[];for(let $k$$ in $error$jscomp$0$$.errors)$msgErrors$$.push($error$jscomp$0$$.errors[$k$$].message);0==$msgErrors$$.length&&($msgErrors$$=$error$jscomp$0$$.message);$msgErrors$$||($msgErrors$$=JSON.stringify($error$jscomp$0$$));if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&console.error("onErrorUpdating",$e$$);$callback$$({error:$msgErrors$$,code:ERR_CAN_NOT_UPDATE_CODE})},$current_obj$$);else $callback$$({error:$msgErrors$$,
243
- code:ERR_CAN_NOT_UPDATE_CODE})}else $req$$&&$req$$.header&&setImmediate(()=>{log.create({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name,action:"UPDATE",data:{oldData:$current_obj$$,newData:$data$jscomp$0$$,id:$obj$$._id.toString()}},$user$jscomp$0$$.email,$req$$.header("user-agent"),$req$$)}),postData($obj_created$$,$ctrl$$,function($msgError$$){$msgError$$?setImmediate(()=>{$current_obj$$&&$model$$.findByIdAndUpdate($current_obj$$._id,{$set:$current_obj$$},function($err$$,$restore_data$$){if($err$$||
244
- !$restore_data$$)return console.error("can't restore voucher",$err$$||": don't find voucher");console.log("restored data of voucher. posting...");$model$$.findById($current_obj$$._id,($e$jscomp$0$$,$_d$$)=>{if(!$_d$$)return console.error("Don't find voucher",$current_obj$$._id);postData($_d$$,$ctrl$$,function($e$$){if($e$$)return console.error("can't repost voucher",$e$$);console.log("reposted voucher",$_d$$._id)})})});if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,
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$$,
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(),
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$$=>
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$$)}};
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||
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$$)})};
233
+ $rs$$)=>{setImmediate(()=>{if($rs$$)return $callback$$("S\u1ed1 ch\u1ee9ng t\u1eeb "+$data$jscomp$1$$.so_ct+" \u0111\u00e3 t\u1ed3n t\u1ea1i. H\u00e3y ch\u1ecdn m\u1ed9t s\u1ed1 ch\u1ee9ng t\u1eeb kh\u00e1c");$callback$$(null,$obj$$)})})}else $callback$$(null,$obj$$)})}):$callback$$(null,$obj$$)},($obj$jscomp$2$$,$callback$jscomp$0$$)=>{(async($obj$jscomp$1$$,$callback$$)=>{try{(await permission.getFieldNotRight($obj$jscomp$1$$.id_app,$user$jscomp$0$$.email,$ctrl$$.name)).forEach($f$$=>{delete $data$jscomp$1$$[$f$$]})}catch($e$$){console.error("Error get field not right",
234
+ $e$$)}setImmediate(function(){$ctrl$$.updating?$ctrl$$.updating($user$jscomp$0$$,$data$jscomp$1$$,$obj$jscomp$1$$,function($error$jscomp$0$$,$data$jscomp$0$$,$obj$jscomp$0$$){setImmediate(()=>{if($error$jscomp$0$$)return $callback$$($error$jscomp$0$$);$ctrl$$.dynamicUpdating?$ctrl$$.dynamicUpdating($user$jscomp$0$$,$data$jscomp$0$$,$obj$jscomp$0$$,function($error$$,$data$$,$obj$$){if($error$$)return $callback$$($error$$);$callback$$(null,$obj$$)}):$callback$$(null,$obj$jscomp$0$$)})}):$ctrl$$.dynamicUpdating?
235
+ $ctrl$$.dynamicUpdating($req$$.user,$data$jscomp$1$$,$obj$jscomp$1$$,function($error$$,$data$$,$obj$$){if($error$$)return $callback$$($error$$);$callback$$(null,$obj$$)}):$callback$$(null,$obj$jscomp$1$$)})})($obj$jscomp$2$$,$callback$jscomp$0$$)},function($obj$$,$callback$$){setImmediate(function(){if(!$unique$$||0===$unique$$.length)return $callback$$(null,$obj$$);let $c1$$={},$c2$$={};$obj$$.id_app&&($c1$$.id_app=$obj$$.id_app,$c2$$.id_app||($c2$$.id_app=$obj$$.id_app));$unique$$.forEach(function($key$$){$c1$$[$key$$]=
236
+ $obj$$[$key$$];$ctrl$$.model.schema.paths[$key$$]?("number"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=Number($data$jscomp$1$$[$key$$]):"date"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=new Date($data$jscomp$1$$[$key$$]):"string"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=($data$jscomp$1$$[$key$$]||"").toString():$c2$$[$key$$]=$data$jscomp$1$$[$key$$],$c2$$[$key$$]||($c2$$[$key$$]=$c1$$[$key$$])):console.error("field",
237
+ $key$$," is not exist. please check unique of controller")});!0!==underscore.isEqual($c1$$,$c2$$)?isExists($model$$,$unique$$,$c2$$,$ctrl$$.replaceIfExists,function($error$jscomp$0$$,$kq$$){setImmediate(()=>{if($error$jscomp$0$$||$kq$$){let $msgError$$=$error$jscomp$0$$||ERR_ALREADY_EXIST;console.error($msgError$$,$c2$$);if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);
238
+ else $callback$$($msgError$$)}else checkReference($model$$,$obj$$,function($error$$){setImmediate(()=>{if($error$$)return console.error("Keys arise data",$c1$$,$c2$$,$error$$),$callback$$({error:ERR_KEY_ARISE+($error$$.error||$error$$.message||$error$$),code:ERR_KEY_ARISE_CODE});$callback$$(null,$obj$$)})},$unique$$)})}):$callback$$(null,$obj$$)})},function($obj$$,$callback$$){let $keys$$=underscore.keys($model$$.referenceKeys).filter($key$$=>"_id"!==$key$$);$unique$$&&($keys$$=$keys$$.filter($key$$=>
239
+ 0>$unique$$.indexOf($key$$).length));if(0===$keys$$.length)return $callback$$(null,$obj$$);checkReference($model$$,$obj$$,function($msgError$$){setImmediate(()=>{if($msgError$$)if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$({error:ERR_ARISE+($msgError$$.error||$msgError$$.message||$msgError$$),code:ERR_ARISE_CODE});else $callback$$(null,$obj$$)})},
240
+ $keys$$)},function($obj$jscomp$1$$,$callback$$){$ctrl$$.validating||($ctrl$$.validating=($user$$,$obj$$,$next$$)=>{$next$$(null,$obj$$)});$ctrl$$.validating($user$jscomp$0$$,$obj$jscomp$1$$,($error$$,$obj$jscomp$0$$)=>{if($error$$)return $callback$$($error$$);setImmediate(function(){$data$jscomp$1$$.date_updated=new Date;$data$jscomp$1$$.user_updated=$user$jscomp$0$$.email;delete $data$jscomp$1$$.__v;$ctrl$$.options.onUpdateExtending||($ctrl$$.options.onUpdateExtending=function($obj$$,$data$$,$action$$,
241
+ $fn$$){$fn$$()});$ctrl$$.options.onUpdateExtending($obj$jscomp$0$$,$data$jscomp$1$$,$action$jscomp$0$$,function(){underscore.has($schema_paths$$,"exfields")&&$data$jscomp$1$$.exfields&&($obj$jscomp$0$$.exfields=$data$jscomp$1$$.exfields);for(let $f$$ in $data$jscomp$1$$)underscore.has($schema_paths$$,$f$$)&&($obj$jscomp$0$$.set($f$$,$data$jscomp$1$$[$f$$]),"exfields"!==$f$$||$obj$jscomp$0$$.exfields||($obj$jscomp$0$$.exfields={}));validate($obj$jscomp$0$$,function($msgError$$){setImmediate(()=>{if($msgError$$)if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,
242
+ $obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$($msgError$$);else $callback$$(null,$obj$jscomp$0$$)})})})})})},function($obj$$,$callback$$){setImmediate(async()=>{$obj$$.ngay_ct&&($obj$$.ngay_ct=moment($obj$$.ngay_ct).toDate());for(var $$condition_k$$ in $ctrl$$.keyValues)$obj$$[$$condition_k$$]=$ctrl$$.keyValues[$$condition_k$$];Object.keys($model$$.schema.paths).filter($model_path$$=>$obj$$[$model_path$$]&&underscore.isArray($obj$$[$model_path$$])).forEach($model_path$$=>
243
+ {$model$$.schema.paths[$model_path$$].schema&&$model$$.schema.paths[$model_path$$].schema.paths&&Object.keys($model$$.schema.paths[$model_path$$].schema.paths).filter($path$$=>"line"!==$path$$&&"_id"!==$path$$&&"__v"!==$path$$&&fields_sync_master_detail.indexOf($path$$)).forEach($path$$=>{$obj$$[$path$$]&&$obj$$[$model_path$$].filter($detail$$=>!$detail$$[$path$$]).forEach($detail$$=>{$detail$$[$path$$]=$obj$$[$path$$]})})});await createIdRef($model$$,$obj$$);$ctrl$$.saving&&await $ctrl$$.saving($user$jscomp$0$$,
244
+ $obj$$);$ctrl$$.emit("saving",$obj$$);let $obj_created$$,$error$jscomp$0$$;$data$jscomp$1$$.$condition&&($$condition_k$$=$data$jscomp$1$$.$condition,$$condition_k$$._id=$obj$$._id,await $model$$.findOne($$condition_k$$)||($error$jscomp$0$$=ERR_CAN_NOT_UPDATE),delete $data$jscomp$1$$.$condition);if(!$error$jscomp$0$$)try{$obj_created$$=await $obj$$.save()}catch($e$$){$error$jscomp$0$$=$e$$}if($error$jscomp$0$$){let $msgErrors$$=[];for(let $k$$ in $error$jscomp$0$$.errors)$msgErrors$$.push($error$jscomp$0$$.errors[$k$$].message);
245
+ 0==$msgErrors$$.length&&($msgErrors$$=$error$jscomp$0$$.message);$msgErrors$$||($msgErrors$$=JSON.stringify($error$jscomp$0$$));if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&console.error("onErrorUpdating",$e$$);$callback$$({error:$msgErrors$$,code:ERR_CAN_NOT_UPDATE_CODE})},$current_obj$$);else $callback$$({error:$msgErrors$$,code:ERR_CAN_NOT_UPDATE_CODE})}else $req$$&&$req$$.header&&setImmediate(()=>{log.create({id_app:$user$jscomp$0$$.current_id_app,
246
+ id_func:$ctrl$$.name,action:"UPDATE",data:{oldData:$current_obj$$,newData:$data$jscomp$1$$,id:$obj$$._id.toString()}},$user$jscomp$0$$.email,$req$$.header("user-agent"),$req$$)}),postData($obj_created$$,$ctrl$$,function($msgError$$){$msgError$$?setImmediate(()=>{$current_obj$$&&$model$$.findByIdAndUpdate($current_obj$$._id,{$set:$current_obj$$},function($err$$,$restore_data$$){if($err$$||!$restore_data$$)return console.error("can't restore voucher",$err$$||": don't find voucher");console.log("restored data of voucher. posting...");
247
+ $model$$.findById($current_obj$$._id,($e$jscomp$0$$,$_d$$)=>{if(!$_d$$)return console.error("Don't find voucher",$current_obj$$._id);postData($_d$$,$ctrl$$,function($e$$){if($e$$)return console.error("can't repost voucher",$e$$);console.log("reposted voucher",$_d$$._id)})})});if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$($msgError$$)}):setImmediate(()=>
248
+ {$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$$,[$obj_created$$],function($error$$,$viewValue$$){setImmediate(()=>{if($error$$)return $callback$$($error$$);
249
+ $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(),"update_after_approve.data.trang_thai":$obj$jscomp$0$$.trang_thai.toString()}).lean().exec(($e$$,$rs$$)=>
250
+ {!$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$$=>{delete $obj$jscomp$0$$[$f$$]});$obj$jscomp$0$$.collection_name=$ctrl$$.collection_name;$ctrl$$.updated?
251
+ $ctrl$$.updated($user$jscomp$0$$,$obj$jscomp$0$$,function($error$jscomp$0$$,$obj$$){if($error$jscomp$0$$)return console.error("error when saved",$error$jscomp$0$$),$callback$$($error$jscomp$0$$);$ctrl$$.dynamicUpdated?$ctrl$$.dynamicUpdated($user$jscomp$0$$,$obj$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$(null,$obj$$)}):$callback$$(null,$obj$$)},$current_obj$$):$ctrl$$.dynamicUpdated?$ctrl$$.dynamicUpdated($user$jscomp$0$$,$obj$jscomp$0$$,function($error$$){if($error$$)return $callback$$($error$$);
252
+ $callback$$(null,$obj$jscomp$0$$)}):$callback$$(null,$obj$jscomp$0$$)})}],($e$jscomp$164_name_cached$$,$rs$$)=>{$e$jscomp$164_name_cached$$?(console.error($e$jscomp$164_name_cached$$),$callback$jscomp$1$$($e$jscomp$164_name_cached$$)):($e$jscomp$164_name_cached$$=$model$$.collection.name,$user$jscomp$0$$.current_id_app&&($e$jscomp$164_name_cached$$+=$user$jscomp$0$$.current_id_app),delete global.cacheDatas[$e$jscomp$164_name_cached$$],$callback$jscomp$1$$(null,$rs$$))})}catch($e$$){console.error($e$$),
253
+ $callback$jscomp$1$$($e$$)}};
254
+ 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||$e$$.error||
255
+ $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$$)})};
252
256
  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(()=>
253
257
  {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$$;
254
258
  $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$$()}
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+
259
+ 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$169_user$$,$obj$$){if($e$jscomp$169_user$$)return console.error($e$jscomp$169_user$$),
260
+ $e$jscomp$169_user$$.error?$res$$.status(400).send($e$jscomp$169_user$$):$res$$.status(400).send({error:$e$jscomp$169_user$$.message||$e$jscomp$169_user$$.error||$e$jscomp$169_user$$});if(!$obj$$)return $res$$.status(404).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$e$jscomp$169_user$$=$req$$.user;if(0>global.configs.admins.indexOf($e$jscomp$169_user$$.email)){let $requireOtp$$=$ctrl$$.options.requireOtp;$requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($obj$$,{action:"delete",
261
+ _id:$req$$.params.id,user:$e$jscomp$169_user$$}));if($requireOtp$$)try{await permission.verifyOTP($e$jscomp$169_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+
258
262
  ($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$$):
259
263
  $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$$});
260
264
  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$$,
@@ -29,15 +29,15 @@ $rptConfig$$.handle_data_expression.indexOf("async "))return $res$$.status(400).
29
29
  })`;try{($func_string$jscomp$3_rptInfo$jscomp$2_rs$$=await evalute($func_string$jscomp$2_key$$,{data:$app$$,moment,user:$req$jscomp$0$$.user,utils,numeral,getData:getParameterData})())&&($app$$=$func_string$jscomp$3_rptInfo$jscomp$2_rs$$)}catch($e$$){return console.error($e$$,$func_string$jscomp$2_key$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$})}}var $func_string$jscomp$3_rptInfo$jscomp$2_rs$$=await reportinfo.findOne({code:($req$jscomp$0$$.query.report_info_code||
30
30
  $rptId$$).toLowerCase()}).lean();if($func_string$jscomp$3_rptInfo$jscomp$2_rs$$&&$func_string$jscomp$3_rptInfo$jscomp$2_rs$$.handle_data_expression){if(0<=$func_string$jscomp$3_rptInfo$jscomp$2_rs$$.handle_data_expression.indexOf("async "))return $res$$.status(400).send({error:"async function is not allow"});$func_string$jscomp$3_rptInfo$jscomp$2_rs$$=`return (async ()=>{
31
31
  ${$func_string$jscomp$3_rptInfo$jscomp$2_rs$$.handle_data_expression}
32
- })`;try{const $rs$$=await evalute($func_string$jscomp$3_rptInfo$jscomp$2_rs$$,{data:$data$jscomp$3_e$$,moment,user:$req$jscomp$0$$.user,utils,numeral,getData:getParameterData})();$rs$$&&($app$$.detail=$app$$.details=$rs$$)}catch($e$$){return console.error($e$$,$func_string$jscomp$3_rptInfo$jscomp$2_rs$$),$res$$.status(400).send({error:$e$$.message||$e$$})}}$rptConfig$$&&$rptConfig$$.parameters&&await prepareParameters($rptConfig$$.parameters,$app$$,$app$$);if($req$jscomp$0$$.query.json)$res$$.json($app$$);
33
- else $options$$.onExport($app$$,function(){setImmediate(()=>{if($req$jscomp$0$$.query.print)htmlReport($html_template$$,$app$$).then($rs$$=>$res$$.send($rs$$),$error$$=>{$res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$})});else{let $ext$$=$templatePath$$.split(".").pop();"xlsx"===$ext$$?excelReport($templatePath$$,$app$$,function($error$$,$result$$){if($error$$)return console.error("Error export to excel",$error$$),$res$$.status(400).send({error:$error$$.message||$error$$.error||
34
- $error$$});$res$$.setHeader("Content-Type","application/vnd.openxmlformats");$res$$.setHeader("Content-Disposition","attachment; filename="+$rptId$$+".xlsx");$res$$.end($result$$,"binary")}):textReport($templatePath$$,$app$$,function($error$$,$result$$){if($error$$)return console.error("Error export to text",$error$$),$res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$});"docx"===$ext$$?($res$$.setHeader("Content-Type","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),
35
- $res$$.setHeader("Content-Disposition","attachment; filename="+$rptId$$+".docx"),$res$$.write($result$$,"binary"),$res$$.end(null,"binary")):$res$$.send($result$$)})}})})})},$id_rpt$$=$req$jscomp$0$$.query.id_rpt,$dir_root_templates$$=configs.paths.templates||__dirname,$templatePath$$,$rptConfig$$,$html_template$$;(new Promise(($resolve$$,$reject$$)=>{$rptConfig$$=$templatePath$$=void 0;if($id_rpt$$&&global.mongoose.Types.ObjectId.isValid($id_rpt$$))rpt.findOne({_id:$id_rpt$$}).lean().exec(async function($error$$,
36
- $r$$){if($error$$||!$r$$)return console.error("Not found excel template",$id_rpt$$,$error$$),$reject$$($error$$||"Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu");if($req$jscomp$0$$.query.print)$html_template$$=$r$$.html_template;else{if(0<$r$$.file_mau_in.indexOf("/file/download")){$error$$=$r$$.file_mau_in.split("/").pop();const $file$$=global.getModel("file");try{const $_fileMauIn$$=await $file$$.findOne({_id:$error$$}).lean();if(!$_fileMauIn$$)return $reject$$("Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu");
37
- let $file_name$$=$_fileMauIn$$.file.name,$root$$=configs.paths.uploads;$root$$||($root$$=__dirname,$root$$=path.dirname($root$$),$root$$=path.join($root$$,"uploads"));$templatePath$$=path.join($root$$,$file_name$$)}catch($e$$){return $reject$$($e$$.message||"Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu")}}else $templatePath$$=path.dirname($dir_root_templates$$)+$r$$.file_mau_in;fs.existsSync($templatePath$$)||(console.log("file template not found",$templatePath$$),$templatePath$$=`${path.dirname($dir_root_templates$$)}/templates/excels/reports/${$module$$}.xlsx`);
38
- fs.existsSync($templatePath$$)||($templatePath$$=`${path.dirname(__dirname)}/templates/excels/reports/${$module$$}.xlsx`);if(!fs.existsSync($templatePath$$))return $reject$$("M\u1eabu kh\u00f4ng t\u1ed3n t\u1ea1i")}$rptConfig$$=$r$$;return $resolve$$($templatePath$$,$html_template$$)});else if($templatePath$$=`${path.dirname($dir_root_templates$$)}/templates/excels/reports/${$module$$}.xlsx`,fs.existsSync($templatePath$$)||($templatePath$$=`${path.dirname(__dirname)}/templates/excels/reports/${$module$$}.xlsx`),
39
- !fs.existsSync($templatePath$$))return $reject$$("M\u1eabu excel kh\u00f4ng t\u1ed3n t\u1ea1i")})).then(()=>{!1===$options$$.require_id_app?$streamData$$({}):permission.hasRight($req$jscomp$0$$.params.id_app,$req$jscomp$0$$.user.email,$module$$,"view",function($error$$,$hr$$,$app$$){$hr$$?$streamData$$({...$app$$}):$res$$.status(403).send({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n xu\u1ea5t excel b\u00e1o c\u00e1o n\u00e0y"})},{notNeedRight:$options$$.notNeedRight})}).catch($e$$=>{console.error($e$$);
40
- return $e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$})})}catch($e$$){return $e$$.error?$res$$.status(500).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$})}})}getData($req$$,$callback$$){setImmediate(()=>{try{this.fecthDataFunc($req$$,$callback$$)}catch($e$$){console.error($e$$),$callback$$($e$$.message)}})}createRoute($routeName$$,$callback$$,$_options$$={method:"GET"}){$_options$$.method=$_options$$.method?$_options$$.method.toUpperCase():
41
- "GET";const $self$$=this;let $r$$=function($req$$,$res$$){setImmediate(()=>{!1===$self$$.options.require_id_app?$callback$$($req$$,function($e$$,$rs$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)},$res$$):permission.hasRight($req$$.params.id_app,$req$$.user.email,$self$$.module,"view",function($error$$,$hr$$){$hr$$?$callback$$($req$$,function($e$$,$rs$$){if($e$$)return console.error($e$$),$e$$.error?
42
- $res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)},$res$$):$res$$.status(403).send({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n xem b\u00e1o c\u00e1o n\u00e0y"})},{notNeedRight:$self$$.options.notNeedRight||$_options$$.notNeedRight})})};"DELETE"==$_options$$.method?this.router.route(`${this.base_path+this.module}/${$routeName$$}`).delete($r$$):"POST"==$_options$$.method?this.router.route(`${this.base_path+this.module}/${$routeName$$}`).post($r$$):
43
- "PUT"==$_options$$.method?this.router.route(`${this.base_path+this.module}/${$routeName$$}`).put($r$$):this.router.route(`${this.base_path+this.module}/${$routeName$$}`).get($r$$)}}module.exports=controllerRPT;
32
+ })`;try{const $rs$$=await evalute($func_string$jscomp$3_rptInfo$jscomp$2_rs$$,{data:$data$jscomp$3_e$$,moment,user:$req$jscomp$0$$.user,utils,numeral,getData:getParameterData})();$rs$$&&($app$$.detail=$app$$.details=$rs$$)}catch($e$$){return console.error($e$$,$func_string$jscomp$3_rptInfo$jscomp$2_rs$$),$res$$.status(400).send({error:$e$$.message||$e$$})}}else $app$$.detail.forEach($r$$=>{for(let $_key$$ in $r$$){let $_v$$=$r$$[$_key$$];if($_v$$&&0<=$_key$$.indexOf("ngay")||0<=$_key$$.indexOf("date"))try{let $d$$=
33
+ moment($_v$$,"YYYY-MM-DD");$d$$.isValid()&&($r$$[`${$_key$$}`]=$d$$.toDate(),$r$$[`${$_key$$}_string`]=$d$$.format("DD/MM/YYYY"))}catch($e$$){console.error("Error convert to date",$_v$$,$e$$)}}});$rptConfig$$&&$rptConfig$$.parameters&&await prepareParameters($rptConfig$$.parameters,$app$$,$app$$);if($req$jscomp$0$$.query.json)$res$$.json($app$$);else $options$$.onExport($app$$,function(){setImmediate(()=>{if($req$jscomp$0$$.query.print)htmlReport($html_template$$,$app$$).then($rs$$=>$res$$.send($rs$$),
34
+ $error$$=>{$res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$})});else{let $ext$$=$templatePath$$.split(".").pop();"xlsx"===$ext$$?excelReport($templatePath$$,$app$$,function($error$$,$result$$){if($error$$)return console.error("Error export to excel",$error$$),$res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$});$res$$.setHeader("Content-Type","application/vnd.openxmlformats");$res$$.setHeader("Content-Disposition","attachment; filename="+$rptId$$+".xlsx");
35
+ $res$$.end($result$$,"binary")}):textReport($templatePath$$,$app$$,function($error$$,$result$$){if($error$$)return console.error("Error export to text",$error$$),$res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$});"docx"===$ext$$?($res$$.setHeader("Content-Type","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),$res$$.setHeader("Content-Disposition","attachment; filename="+$rptId$$+".docx"),$res$$.write($result$$,"binary"),$res$$.end(null,"binary")):
36
+ $res$$.send($result$$)})}})})})},$id_rpt$$=$req$jscomp$0$$.query.id_rpt,$dir_root_templates$$=configs.paths.templates||__dirname,$templatePath$$,$rptConfig$$,$html_template$$;(new Promise(($resolve$$,$reject$$)=>{$rptConfig$$=$templatePath$$=void 0;if($id_rpt$$&&global.mongoose.Types.ObjectId.isValid($id_rpt$$))rpt.findOne({_id:$id_rpt$$}).lean().exec(async function($error$$,$r$$){if($error$$||!$r$$)return console.error("Not found excel template",$id_rpt$$,$error$$),$reject$$($error$$||"Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu");
37
+ if($req$jscomp$0$$.query.print)$html_template$$=$r$$.html_template;else{if(0<$r$$.file_mau_in.indexOf("/file/download")){$error$$=$r$$.file_mau_in.split("/").pop();const $file$$=global.getModel("file");try{const $_fileMauIn$$=await $file$$.findOne({_id:$error$$}).lean();if(!$_fileMauIn$$)return $reject$$("Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu");let $file_name$$=$_fileMauIn$$.file.name,$root$$=configs.paths.uploads;$root$$||($root$$=__dirname,$root$$=path.dirname($root$$),$root$$=path.join($root$$,
38
+ "uploads"));$templatePath$$=path.join($root$$,$file_name$$)}catch($e$$){return $reject$$($e$$.message||"Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu")}}else $templatePath$$=path.dirname($dir_root_templates$$)+$r$$.file_mau_in;fs.existsSync($templatePath$$)||(console.log("file template not found",$templatePath$$),$templatePath$$=`${path.dirname($dir_root_templates$$)}/templates/excels/reports/${$module$$}.xlsx`);fs.existsSync($templatePath$$)||($templatePath$$=`${path.dirname(__dirname)}/templates/excels/reports/${$module$$}.xlsx`);
39
+ if(!fs.existsSync($templatePath$$))return $reject$$("M\u1eabu kh\u00f4ng t\u1ed3n t\u1ea1i")}$rptConfig$$=$r$$;return $resolve$$($templatePath$$,$html_template$$)});else if($templatePath$$=`${path.dirname($dir_root_templates$$)}/templates/excels/reports/${$module$$}.xlsx`,fs.existsSync($templatePath$$)||($templatePath$$=`${path.dirname(__dirname)}/templates/excels/reports/${$module$$}.xlsx`),!fs.existsSync($templatePath$$))return $reject$$("M\u1eabu excel kh\u00f4ng t\u1ed3n t\u1ea1i")})).then(()=>
40
+ {!1===$options$$.require_id_app?$streamData$$({}):permission.hasRight($req$jscomp$0$$.params.id_app,$req$jscomp$0$$.user.email,$module$$,"view",function($error$$,$hr$$,$app$$){$hr$$?$streamData$$({...$app$$}):$res$$.status(403).send({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n xu\u1ea5t excel b\u00e1o c\u00e1o n\u00e0y"})},{notNeedRight:$options$$.notNeedRight})}).catch($e$$=>{console.error($e$$);return $e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$})})}catch($e$$){return $e$$.error?
41
+ $res$$.status(500).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$})}})}getData($req$$,$callback$$){setImmediate(()=>{try{this.fecthDataFunc($req$$,$callback$$)}catch($e$$){console.error($e$$),$callback$$($e$$.message)}})}createRoute($routeName$$,$callback$$,$_options$$={method:"GET"}){$_options$$.method=$_options$$.method?$_options$$.method.toUpperCase():"GET";const $self$$=this;let $r$$=function($req$$,$res$$){setImmediate(()=>{!1===$self$$.options.require_id_app?$callback$$($req$$,
42
+ function($e$$,$rs$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)},$res$$):permission.hasRight($req$$.params.id_app,$req$$.user.email,$self$$.module,"view",function($error$$,$hr$$){$hr$$?$callback$$($req$$,function($e$$,$rs$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)},$res$$):$res$$.status(403).send({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n xem b\u00e1o c\u00e1o n\u00e0y"})},
43
+ {notNeedRight:$self$$.options.notNeedRight||$_options$$.notNeedRight})})};"DELETE"==$_options$$.method?this.router.route(`${this.base_path+this.module}/${$routeName$$}`).delete($r$$):"POST"==$_options$$.method?this.router.route(`${this.base_path+this.module}/${$routeName$$}`).post($r$$):"PUT"==$_options$$.method?this.router.route(`${this.base_path+this.module}/${$routeName$$}`).put($r$$):this.router.route(`${this.base_path+this.module}/${$routeName$$}`).get($r$$)}}module.exports=controllerRPT;
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,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$$)})})})})})})};
@@ -15,11 +15,10 @@ $_right__right_trang_thai$$&&!$_right__right_trang_thai$$.viewOfOther&&$options$
15
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
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
- $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
- 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$$}}));
20
- $e$jscomp$3_key_right$$=$email$$;$participant$$&&$participant$$.group_id&&($e$jscomp$3_key_right$$=$participant$$.group_id.toLowerCase());right.findOne({id_app:$id_app$$,email:$e$jscomp$3_key_right$$,module:$module$$},function($_right_trang_thai$jscomp$1_error$$,$allow_trang_thai_result$$){if($allow_trang_thai_result$$&&(!1===$allow_trang_thai_result$$.viewOfOther&&(underscore.has($model$$.schema.paths,"of_user")&&$visible$$.push({of_user:$email$$}),underscore.has($model$$.schema.paths,"phu_trach")&&
21
- $visible$$.push({phu_trach:{$in:$ds_dang_phu_trach$$}}),underscore.has($model$$.schema.paths,"attends")&&$visible$$.push({attends:{$in:$ds_dang_phu_trach$$}}),$allUsers$$?$allUsers$$.user_created={$in:$ds_dang_phu_trach$$}:$onlyCreated$$||$visible$$.push({user_created:{$in:$ds_dang_phu_trach$$}})),!0===underscore.has($model$$.schema.paths,"trang_thai")&&($_right_trang_thai$jscomp$1_error$$=$allow_trang_thai_result$$.view_trang_thai))){$allow_trang_thai_result$$=[void 0,null,""];for(let $t$$ in $_right_trang_thai$jscomp$1_error$$)$_right_trang_thai$jscomp$1_error$$[$t$$]&&
22
- $allow_trang_thai_result$$.push($t$$);$allUsers$$?$allUsers$$.trang_thai={$in:$allow_trang_thai_result$$}:$condition$$.trang_thai={$in:$allow_trang_thai_result$$}}0<$visible$$.length&&($condition$$.$and||($condition$$.$and=[]),$condition$$.$and.push({$or:$visible$$}));console.log("permission condition of module",$module$$,JSON.stringify($condition$$));$next$$(null,$condition$$,!1)})}})};
18
+ $admin$$);else{const $ds_dang_phu_trach$$=await exports.dsDangPhuTrach($id_app$$,$email$$);$ds_dang_phu_trach$$.push($email$$);let $allUsers$$;$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,visible_to_users:($participant$$||{}).group_id},$visible$$.push($allUsers$$),$visible$$.push($e$jscomp$3_key_right$$),
19
+ $visible$$.push($admin$$),$visible$$.push($app$$));$e$jscomp$3_key_right$$=$email$$;$participant$$&&$participant$$.group_id&&($e$jscomp$3_key_right$$=$participant$$.group_id.toLowerCase());right.findOne({id_app:$id_app$$,email:$e$jscomp$3_key_right$$,module:$module$$},function($_right_trang_thai$jscomp$1_error$$,$allow_trang_thai_result$$){if($allow_trang_thai_result$$&&(!1===$allow_trang_thai_result$$.viewOfOther?($visible$$.push({user_created:{$in:$ds_dang_phu_trach$$}}),$allUsers$$&&($allUsers$$.user_created=
20
+ {$in:$ds_dang_phu_trach$$})):($ds_dang_phu_trach$$.push(null),$ds_dang_phu_trach$$.push(void 0),$ds_dang_phu_trach$$.push("")),!0===underscore.has($model$$.schema.paths,"trang_thai")&&($_right_trang_thai$jscomp$1_error$$=$allow_trang_thai_result$$.view_trang_thai))){$allow_trang_thai_result$$=[void 0,null,""];for(let $t$$ in $_right_trang_thai$jscomp$1_error$$)$_right_trang_thai$jscomp$1_error$$[$t$$]&&$allow_trang_thai_result$$.push($t$$);$allUsers$$?$allUsers$$.trang_thai={$in:$allow_trang_thai_result$$}:
21
+ $condition$$.trang_thai={$in:$allow_trang_thai_result$$}}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$$}});0<$visible$$.length&&($condition$$.$and||($condition$$.$and=[]),$condition$$.$and.push({$or:$visible$$}));$next$$(null,$condition$$,!1)})}})};
23
22
  exports.getRightDataView=function($id_app$$,$model$$,$email$$,$next$$){exports.isAdmin($id_app$$,$email$$,function($condition$jscomp$1_e$$,$admin$$){if($condition$jscomp$1_e$$)return $next$$($condition$jscomp$1_e$$);$condition$jscomp$1_e$$={};if(!$admin$$&&!0===underscore.has($model$$.schema.paths,"dataview_to_users")){$condition$jscomp$1_e$$.$and||($condition$jscomp$1_e$$.$and=[]);let $dataview$$=[{dataview_to:null}];$dataview$$.push({dataview_to:0});$dataview$$.push({dataview_to:1,user_created:$email$$});
24
23
  $dataview$$.push({dataview_to:2,dataview_to_users:$email$$});$condition$jscomp$1_e$$.$and.push({$or:$dataview$$})}$next$$(null,$condition$jscomp$1_e$$,$admin$$)})};
25
24
  exports.getFieldNotRight=async($_fields_id_app$$,$_p_email$$,$ma_ct$$)=>{if(!$_fields_id_app$$)return[];$_p_email$$=await Participant.ofApp($_fields_id_app$$,$_p_email$$);if(0<$_p_email$$.length){$_p_email$$=$_p_email$$[0].group_id;let $field_not_right$$;try{$field_not_right$$=await right.getInfo($_fields_id_app$$,{email:$_p_email$$,module:$ma_ct$$.toLowerCase()},"field_not_right")}catch($e$$){return[]}$_fields_id_app$$=[];for(let $_key$$ in $field_not_right$$)$field_not_right$$[$_key$$]&&$_fields_id_app$$.push($_key$$);
@@ -11,12 +11,12 @@ $joinFields$$,$fn$$)};const getFields=$fields$$=>{_.isArray($fields$$)||($fields
11
11
  Array.prototype.joinModel2=function($id_app$$,$model$jscomp$0$$,$joinFields$$,$fn$$,$options$$={cache:!0}){let $self$$=this;setImmediate(()=>{if(_.isArray($id_app$$)){let $model_1$$=$id_app$$,$joinFields_1$$=$model$jscomp$0$$,$fn_1$$=$joinFields$$;$id_app$$=void 0;$model$jscomp$0$$=$model_1$$;$joinFields$$=$joinFields_1$$;$fn$$=$fn_1$$}let $model_origin$$;_.isArray($model$jscomp$0$$)||($model_origin$$=$model$jscomp$0$$);(new Promise($resolve$$=>{setImmediate(()=>{_.isArray($joinFields$$)||($joinFields$$=
12
12
  [$joinFields$$]);$joinFields$$.forEach($join$$=>{$join$$.fields_need_get_data||_.isArray($model$jscomp$0$$)||$join$$.setFields||$join$$.asyncSetFields||!$join$$.fields||_.isFunction($join$$.fields)||($join$$.fields_need_get_data=getFields($join$$.fields))});_.isArray($model$jscomp$0$$)?$resolve$$($model$jscomp$0$$):$resolve$$([])})})).then($model$$=>{async.map($self$$,function($item$$,$callback$jscomp$0$$){setImmediate(()=>{async.map($joinFields$$,function($join$$,$callback$$){setImmediate(()=>{let $query$$=
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
- $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
- ":"+$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(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
- ($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
- $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$$)})})};
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 $_model$$;($_model$$="function"!==typeof $model_origin$$||$model_origin$$.findOne?$model_origin$$:$model_origin$$($item$$))&&$_model$$.schema&&($_model$$.schema.paths.id_app?$query$$.id_app=$item$$.id_app||$query$$.id_app:delete $query$$.id_app);let $b$$=_.findWhere($model$$,$query$$),$d_session$$="";if($query$$._id)$d_session$$=
15
+ "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+":"+$d_session$$:($id_app$$||"")+":"+$d_session$$}(new Promise(($resolve$jscomp$0$$,$reject$$)=>{$_model$$&&!$b$$?(new Promise($resolve$$=>{setImmediate(()=>{$options$$.cache&&$d_session$$&&$_model$$.collection&&$_model$$.collection.name&&cachedKeys[$_model$$.collection.name.substring(0,
16
+ $_model$$.collection.name.length-1)]?global.clientRedis.get($d_session$$,function($err$$,$reply$$){$resolve$$($reply$$)}):$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(""==
17
+ $q$$._id||$q$$._id&&!global.mongoose.Types.ObjectId.isValid($q$$._id))return $resolve$jscomp$0$$(null);var $fields$jscomp$1_key$$=$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$$)}}})}):
18
+ $resolve$jscomp$0$$($b$$)})).then(()=>{setImmediate(()=>{$b$$&&($join$$.fields||$join$$.setFields||$join$$.asyncSetFields)?($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$$]=
19
+ $b$$[$map$$]}))),$join$$.setFields&&$join$$.setFields($item$$,$b$$),$join$$.asyncSetFields?setImmediate(()=>{$join$$.asyncSetFields($item$$,$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$$)})};
21
21
  Array.prototype.crossJoin=function($otherArray$$,$where$$,$fn$$){setImmediate(()=>{let $newArray$$=[];for(let $e1$$ of this){var $_otherArray__where$$={};if($where$$)for(let $key$$ in $where$$)$_otherArray__where$$[$where$$[$key$$]]=$e1$$[$key$$];$_otherArray__where$$=_.where($otherArray$$,$_otherArray__where$$);if(0===$_otherArray__where$$.length)$newArray$$.push($e1$$);else for(let $item$$ of $_otherArray__where$$)$_otherArray__where$$={},_.extend($_otherArray__where$$,$e1$$),_.extend($_otherArray__where$$,
22
22
  $item$$),$newArray$$.push($_otherArray__where$$)}$fn$$($newArray$$)})};Array.prototype.asyncCrossJoin=function($otherArray$$,$where$$){let $_this$$=this;return new Promise($resolve$$=>{$_this$$.crossJoin($otherArray$$,$where$$,$rs$$=>{$resolve$$($rs$$)})})};
@@ -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;