flexbiz-server 12.7.8 → 12.7.12

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 (1154) hide show
  1. package/package.json +6 -6
  2. package/server/agents/agents.js +1 -1
  3. package/server/agents/ai_memory_manager.js +1 -6
  4. package/server/agents/ceoAgent.js +1 -43
  5. package/server/agents/chatController.js +1 -6
  6. package/server/agents/cskhAgent.js +1 -43
  7. package/server/agents/departmentAgent.js +1 -0
  8. package/server/agents/departmentAgents.js +1 -0
  9. package/server/agents/flowAgent.js +1 -43
  10. package/server/agents/loadTenantModel.js +1 -0
  11. package/server/agents/prompts/ceo.js +1 -2
  12. package/server/agents/prompts/cskh.js +1 -0
  13. package/server/agents/prompts/flow.js +1 -2
  14. package/server/agents/prompts/staff.js +1 -0
  15. package/server/agents/routerAgent.js +1 -0
  16. package/server/agents/specialists.js +1 -0
  17. package/server/agents/staffAgent.js +1 -44
  18. package/server/agents/tools/financeTools.js +1 -57
  19. package/server/agents/tools/flowTools.js +1 -36
  20. package/server/agents/tools/kpiTools.js +1 -104
  21. package/server/agents/tools/masterDataTools.js +1 -74
  22. package/server/agents/tools/okrTools.js +1 -21
  23. package/server/agents/tools/ragTools.js +1 -21
  24. package/server/agents/tools/reportTools.js +1 -43
  25. package/server/agents/tools/staffTools.js +1 -13
  26. package/server/agents/tools/stockTools.js +1 -41
  27. package/server/agents/tools/systemTools.js +1 -52
  28. package/server/agents/tools/taskTools.js +1 -23
  29. package/server/agents/tools/utils.js +1 -57
  30. package/server/app.js +1 -23
  31. package/server/auths/authMiddleware.js +1 -3
  32. package/server/auths/bearer.js +1 -3
  33. package/server/auths/facebook.js +1 -12
  34. package/server/auths/google.js +1 -13
  35. package/server/auths/joinApp.js +1 -0
  36. package/server/auths/local.js +1 -67
  37. package/server/auths/oauthCommon.js +1 -0
  38. package/server/auths/rateLimiterMiddleware.js +1 -11
  39. package/server/cluster.js +1 -1
  40. package/server/controllers/controller.js +1 -129
  41. package/server/controllers/controllerRPT.js +1 -38
  42. package/server/controllers/controllerUtils.js +1 -72
  43. package/server/controllers/createHandler.js +1 -35
  44. package/server/controllers/createRouteHandler.js +1 -4
  45. package/server/controllers/deleteHandler.js +1 -11
  46. package/server/controllers/deleteManyHandler.js +1 -2
  47. package/server/controllers/exportHandler.js +1 -19
  48. package/server/controllers/findHandler.js +1 -80
  49. package/server/controllers/handlers.js +1 -3
  50. package/server/controllers/historyHandler.js +1 -8
  51. package/server/controllers/importFromExcelHandler.js +1 -17
  52. package/server/controllers/importFromGsHandler.js +1 -10
  53. package/server/controllers/importFromJsonHandler.js +1 -6
  54. package/server/controllers/importHandler.js +1 -26
  55. package/server/controllers/logHandler.js +1 -5
  56. package/server/controllers/rptCreateRouteHandler.js +1 -4
  57. package/server/controllers/rptExcelHandler.js +1 -45
  58. package/server/controllers/rptHandler.js +1 -16
  59. package/server/controllers/updateBookHandler.js +1 -11
  60. package/server/controllers/updateFieldHandler.js +1 -12
  61. package/server/controllers/updateHandler.js +1 -38
  62. package/server/controllers/updateKeyHandler.js +1 -14
  63. package/server/controllers/viewHandler.js +1 -13
  64. package/server/data/sys/listinfo.js +93 -93
  65. package/server/data/sys/menuinfo.js +1 -24
  66. package/server/data/sys/moduleinfo.js +520 -9000
  67. package/server/data/sys/reportinfo.js +10 -10
  68. package/server/flow/FlowCluster.js +1 -0
  69. package/server/flow/FlowEngine.js +1 -68
  70. package/server/flow/WebhookManager.js +1 -26
  71. package/server/flow/handlers.js +1 -3
  72. package/server/flow/nodes/aiAnalysis.js +1 -9
  73. package/server/flow/nodes/checkAction.js +1 -7
  74. package/server/flow/nodes/customer.js +1 -15
  75. package/server/flow/nodes/data.js +1 -17
  76. package/server/flow/nodes/debug.js +1 -2
  77. package/server/flow/nodes/delay.js +1 -3
  78. package/server/flow/nodes/email.js +1 -8
  79. package/server/flow/nodes/event.js +1 -12
  80. package/server/flow/nodes/facebook.js +1 -3
  81. package/server/flow/nodes/facebookConversations.js +1 -5
  82. package/server/flow/nodes/facebookCreatePost.js +1 -10
  83. package/server/flow/nodes/facebookSendMessage.js +1 -12
  84. package/server/flow/nodes/forEachItem.js +1 -8
  85. package/server/flow/nodes/function.js +1 -4
  86. package/server/flow/nodes/httprequest.js +1 -7
  87. package/server/flow/nodes/inject.js +1 -14
  88. package/server/flow/nodes/pushNotification.js +1 -5
  89. package/server/flow/nodes/report.js +1 -6
  90. package/server/flow/nodes/saveData.js +1 -2
  91. package/server/flow/nodes/switch.js +1 -20
  92. package/server/flow/nodes/userform.js +1 -28
  93. package/server/flow/nodes/webhook.js +1 -1
  94. package/server/flow/nodes/zaloSendMessage.js +1 -4
  95. package/server/flow/utils.js +1 -67
  96. package/server/global.js +1 -18
  97. package/server/libs/WorkerPool.js +1 -4
  98. package/server/libs/WorkerStaticPool.js +1 -20
  99. package/server/libs/assbonus.js +1 -7
  100. package/server/libs/asyncCompat.js +1 -10
  101. package/server/libs/backup.js +1 -2
  102. package/server/libs/blockchainconnect.js +1 -12
  103. package/server/libs/cdpsdiem.js +1 -5
  104. package/server/libs/cdpsdt.js +1 -7
  105. package/server/libs/cdpskh.js +1 -15
  106. package/server/libs/cdpsnphep.js +1 -6
  107. package/server/libs/cdpstk.js +1 -11
  108. package/server/libs/ckcn.js +1 -14
  109. package/server/libs/ckdiem.js +1 -5
  110. package/server/libs/ckdt.js +1 -6
  111. package/server/libs/cknphep.js +1 -6
  112. package/server/libs/cktk.js +1 -4
  113. package/server/libs/cktt.js +1 -10
  114. package/server/libs/ckvt.js +1 -14
  115. package/server/libs/ckvtcapphat.js +1 -6
  116. package/server/libs/ckvtnpp.js +1 -9
  117. package/server/libs/ckvttt.js +1 -12
  118. package/server/libs/createSocaitheongay.js +1 -9
  119. package/server/libs/ctdiem.js +1 -5
  120. package/server/libs/ctvt.js +1 -8
  121. package/server/libs/ctvtnpp.js +1 -8
  122. package/server/libs/ctvttt.js +1 -7
  123. package/server/libs/databanle.js +1 -17
  124. package/server/libs/databanlenpp.js +1 -8
  125. package/server/libs/databanletheongay.js +1 -25
  126. package/server/libs/dkcn.js +1 -14
  127. package/server/libs/dkdiem.js +1 -5
  128. package/server/libs/dkdt.js +1 -6
  129. package/server/libs/dknphep.js +1 -7
  130. package/server/libs/dktk.js +1 -5
  131. package/server/libs/dktt.js +1 -10
  132. package/server/libs/dkvt.js +1 -12
  133. package/server/libs/dkvtnpp.js +1 -8
  134. package/server/libs/dkvttt.js +1 -8
  135. package/server/libs/dncn.js +1 -6
  136. package/server/libs/dntk.js +1 -4
  137. package/server/libs/dntt.js +1 -6
  138. package/server/libs/docs.js +1 -672
  139. package/server/libs/dstkcn.js +1 -1
  140. package/server/libs/dstktt.js +1 -1
  141. package/server/libs/dtbanletheonpp.js +1 -17
  142. package/server/libs/dtbanletheosp.js +1 -16
  143. package/server/libs/dtbanletheospnpp.js +1 -15
  144. package/server/libs/email.js +1 -3
  145. package/server/libs/excel.js +1 -3
  146. package/server/libs/excelHelper.js +1 -10
  147. package/server/libs/executiveDashboard.js +1 -8
  148. package/server/libs/fifo_dk.js +1 -8
  149. package/server/libs/fifo_group.js +1 -4
  150. package/server/libs/fifo_trace_query.js +1 -12
  151. package/server/libs/getGiaban.js +1 -59
  152. package/server/libs/getGiabanAsync.js +1 -1
  153. package/server/libs/getNotifies.js +1 -1
  154. package/server/libs/htmlReport.js +1 -9
  155. package/server/libs/initDatabase.js +1 -9
  156. package/server/libs/invoiceEasy.js +1 -108
  157. package/server/libs/invoiceViettel.js +1 -25
  158. package/server/libs/invoiceVnpt.js +1 -22
  159. package/server/libs/joinData.js +1 -44
  160. package/server/libs/kpistatus.js +1 -47
  161. package/server/libs/kqchamcong.js +1 -12
  162. package/server/libs/kqhdkd.js +1 -8
  163. package/server/libs/load-template.js +1 -3
  164. package/server/libs/logger.js +1 -3
  165. package/server/libs/mailmanagement.js +1 -13
  166. package/server/libs/mongooseDeletePost.js +1 -6
  167. package/server/libs/mongooseLeanId.js +1 -1
  168. package/server/libs/mongoosePatch.js +1 -14
  169. package/server/libs/mongooseSecurityPlugin.js +1 -16
  170. package/server/libs/onepay-payment.js +1 -4
  171. package/server/libs/optimizeBookkeeping.js +1 -22
  172. package/server/libs/parse-template.js +1 -5
  173. package/server/libs/permission.js +1 -58
  174. package/server/libs/phanbokh.js +1 -3
  175. package/server/libs/post-book.js +1 -22
  176. package/server/libs/post-socai.js +1 -25
  177. package/server/libs/post-sokho.js +1 -26
  178. package/server/libs/prototypes.js +1 -24
  179. package/server/libs/psdt.js +1 -1
  180. package/server/libs/pskh.js +1 -1
  181. package/server/libs/pstk.js +1 -1
  182. package/server/libs/queryBuilding.js +1 -15
  183. package/server/libs/redis-cache.js +1 -34
  184. package/server/libs/restore.js +1 -1
  185. package/server/libs/sctcnkh.js +1 -20
  186. package/server/libs/sessionContext.js +2 -14
  187. package/server/libs/socaitk.js +1 -9
  188. package/server/libs/textReport.js +1 -5
  189. package/server/libs/thnxt.js +1 -17
  190. package/server/libs/thnxtnpp.js +1 -9
  191. package/server/libs/thnxttt.js +1 -9
  192. package/server/libs/tinhGt.js +1 -10
  193. package/server/libs/tinhGtCapnhatPNK.js +1 -7
  194. package/server/libs/tinhGtPhanboHeSo.js +1 -12
  195. package/server/libs/tinhGtPhanboSltp.js +1 -10
  196. package/server/libs/tinhGtPhanboYtcp.js +1 -11
  197. package/server/libs/tinhGtSltk.js +1 -9
  198. package/server/libs/tinhGtThcppstk.js +1 -10
  199. package/server/libs/tinhGtTrucTiep.js +1 -7
  200. package/server/libs/tinhGtXoa.js +1 -3
  201. package/server/libs/tinhgia1vt_fifo.js +1 -22
  202. package/server/libs/tinhgiafifo.js +1 -28
  203. package/server/libs/tinhgiatb.js +1 -30
  204. package/server/libs/tinhgiatb1vt.js +1 -7
  205. package/server/libs/tinhhoahong.js +1 -64
  206. package/server/libs/tinhhoahongnpp.js +1 -46
  207. package/server/libs/tinhkhauhao1ts.js +1 -12
  208. package/server/libs/tinhkhauhaots.js +1 -8
  209. package/server/libs/tuoinophaithu.js +1 -11
  210. package/server/libs/tuoinophaitra.js +1 -12
  211. package/server/libs/utils.js +1 -121
  212. package/server/libs/validate.js +1 -4
  213. package/server/libs/validator-acc-cust.js +1 -1
  214. package/server/libs/validator-account.js +1 -4
  215. package/server/libs/validator-vt.js +1 -2
  216. package/server/libs/validator.js +1 -11
  217. package/server/libs/vectorService.js +1 -16
  218. package/server/libs/viCollation.js +1 -4
  219. package/server/libs/vsocai.js +1 -11
  220. package/server/maps-demo/participant.js +18 -0
  221. package/server/models/account.js +1 -7
  222. package/server/models/actionLog.js +1 -2
  223. package/server/models/afflink.js +1 -2
  224. package/server/models/aimemory.js +1 -1
  225. package/server/models/app.js +1 -16
  226. package/server/models/approve.js +1 -95
  227. package/server/models/assabcihandler.js +1 -35
  228. package/server/models/assbank.js +1 -19
  229. package/server/models/assbooking.js +1 -4
  230. package/server/models/assbuy.js +1 -3
  231. package/server/models/asscashwithdraw.js +1 -4
  232. package/server/models/assfindhash.js +1 -2
  233. package/server/models/assinvestment.js +1 -13
  234. package/server/models/assissue.js +1 -2
  235. package/server/models/asskey.js +1 -15
  236. package/server/models/assneedtobuy.js +1 -6
  237. package/server/models/assperiod.js +1 -7
  238. package/server/models/assproduct.js +1 -13
  239. package/server/models/assprofitsharing.js +1 -4
  240. package/server/models/assreceiver.js +1 -2
  241. package/server/models/assrequest.js +1 -10
  242. package/server/models/asssell.js +1 -7
  243. package/server/models/asstransaction.js +1 -3
  244. package/server/models/asstransfer.js +1 -4
  245. package/server/models/assuser_identity.js +1 -4
  246. package/server/models/asswithdraw.js +1 -4
  247. package/server/models/attend.js +1 -2
  248. package/server/models/banggiaban.js +1 -8
  249. package/server/models/bangtinhluong.js +1 -5
  250. package/server/models/base.js +1 -1
  251. package/server/models/bg1.js +1 -9
  252. package/server/models/bg2.js +1 -10
  253. package/server/models/cache.js +1 -3
  254. package/server/models/cacheDataReport.js +1 -2
  255. package/server/models/cacheSessionReport.js +1 -5
  256. package/server/models/calllog.js +1 -4
  257. package/server/models/cart.js +1 -5
  258. package/server/models/cddiem.js +1 -2
  259. package/server/models/cddt.js +1 -3
  260. package/server/models/cdkh.js +1 -5
  261. package/server/models/cdkhtheongay.js +1 -5
  262. package/server/models/cdnphep.js +1 -2
  263. package/server/models/cdtk.js +1 -3
  264. package/server/models/cdtktheongay.js +1 -3
  265. package/server/models/cdvt.js +1 -5
  266. package/server/models/cdvtnpp.js +1 -6
  267. package/server/models/cdvttheongay.js +1 -5
  268. package/server/models/chamcong.js +1 -7
  269. package/server/models/chat_message.js +1 -2
  270. package/server/models/chat_session.js +1 -2
  271. package/server/models/checkin.js +1 -4
  272. package/server/models/checkinactivity.js +1 -3
  273. package/server/models/checkinkpi.js +1 -4
  274. package/server/models/checkinlocation.js +1 -2
  275. package/server/models/chitietluongds.js +1 -12
  276. package/server/models/chitieukpi.js +1 -3
  277. package/server/models/chudethaoluan.js +1 -3
  278. package/server/models/ckgtluong.js +1 -2
  279. package/server/models/colleague.js +1 -2
  280. package/server/models/comment.js +1 -4
  281. package/server/models/congdoansx.js +1 -4
  282. package/server/models/congtacvien.js +1 -4
  283. package/server/models/congthuctinhgiaban.js +1 -8
  284. package/server/models/consultant.js +1 -4
  285. package/server/models/contract.js +1 -6
  286. package/server/models/counter.js +1 -2
  287. package/server/models/csluongtheods.js +1 -3
  288. package/server/models/csphucap.js +1 -2
  289. package/server/models/ctds.js +1 -5
  290. package/server/models/ctds2.js +1 -7
  291. package/server/models/currency.js +1 -3
  292. package/server/models/custom_report.js +1 -1
  293. package/server/models/customer.js +1 -31
  294. package/server/models/customer_care.js +1 -2
  295. package/server/models/data_list_config.js +1 -7
  296. package/server/models/databanle.js +1 -8
  297. package/server/models/datlich.js +1 -4
  298. package/server/models/deal.js +1 -2
  299. package/server/models/dh2.js +1 -20
  300. package/server/models/diagram.js +1 -2
  301. package/server/models/dinhmucsx.js +1 -8
  302. package/server/models/dkhoc.js +1 -6
  303. package/server/models/dknphep.js +1 -2
  304. package/server/models/dmban.js +1 -3
  305. package/server/models/dmbp.js +1 -12
  306. package/server/models/dmca.js +1 -2
  307. package/server/models/dmchietkhau.js +1 -8
  308. package/server/models/dmchietkhauhd.js +1 -19
  309. package/server/models/dmchinhanh.js +1 -2
  310. package/server/models/dmcpmh.js +1 -2
  311. package/server/models/dmdiemthuong.js +1 -3
  312. package/server/models/dmdoi.js +1 -4
  313. package/server/models/dmdoituongdanhgia.js +1 -2
  314. package/server/models/dmdt.js +1 -8
  315. package/server/models/dmdvt.js +1 -3
  316. package/server/models/dmgiaban.js +1 -9
  317. package/server/models/dmgiamua.js +1 -5
  318. package/server/models/dmgiathitruong.js +1 -5
  319. package/server/models/dmgiathitruong_ngay.js +1 -2
  320. package/server/models/dmgiathitruong_theodoi.js +1 -2
  321. package/server/models/dmhoahonghd.js +1 -8
  322. package/server/models/dmhoahongnpp.js +1 -8
  323. package/server/models/dmkc.js +1 -3
  324. package/server/models/dmkho.js +1 -7
  325. package/server/models/dmkhuyenmai.js +1 -9
  326. package/server/models/dmkhuyenmaihd.js +1 -11
  327. package/server/models/dmletet.js +1 -2
  328. package/server/models/dmlo.js +1 -4
  329. package/server/models/dmloaicong.js +1 -4
  330. package/server/models/dmloaitask.js +1 -2
  331. package/server/models/dmloaits.js +1 -2
  332. package/server/models/dmnckkm.js +1 -4
  333. package/server/models/dmnghiepvu.js +1 -4
  334. package/server/models/dmnguonvon.js +1 -2
  335. package/server/models/dmnhnv.js +1 -4
  336. package/server/models/dmnv.js +1 -17
  337. package/server/models/dmnvt.js +1 -10
  338. package/server/models/dmphi.js +1 -3
  339. package/server/models/dmqct.js +1 -3
  340. package/server/models/dmqddvt.js +1 -3
  341. package/server/models/dmtanggiamts.js +1 -3
  342. package/server/models/dmto.js +1 -4
  343. package/server/models/dmtt.js +1 -6
  344. package/server/models/dmvt.js +1 -17
  345. package/server/models/dmyt.js +1 -4
  346. package/server/models/dn0.js +1 -13
  347. package/server/models/dnm.js +1 -11
  348. package/server/models/dokho.js +1 -2
  349. package/server/models/domain.js +1 -2
  350. package/server/models/dvcs.js +1 -3
  351. package/server/models/ecomcategories.js +1 -3
  352. package/server/models/ecomcategories_cty.js +1 -3
  353. package/server/models/ecomproductlines.js +1 -2
  354. package/server/models/ecompromotion_flashsales.js +1 -2
  355. package/server/models/ecompromotion_freeships.js +1 -2
  356. package/server/models/email.js +1 -2
  357. package/server/models/endpoint.js +1 -1
  358. package/server/models/events.js +1 -3
  359. package/server/models/evoucher.js +1 -5
  360. package/server/models/experiencejourney.js +1 -2
  361. package/server/models/experiencejourneydata.js +1 -4
  362. package/server/models/experiencejourneypersona.js +1 -3
  363. package/server/models/experiencejourneystage.js +1 -2
  364. package/server/models/exportexceltemplate.js +1 -2
  365. package/server/models/fbconversation.js +1 -15
  366. package/server/models/fbmessage.js +1 -2
  367. package/server/models/fbpage.js +1 -2
  368. package/server/models/fbpost.js +1 -2
  369. package/server/models/fieldright.js +1 -2
  370. package/server/models/fifo_dk.js +1 -2
  371. package/server/models/fifo_lot.js +1 -3
  372. package/server/models/fifo_trace.js +1 -4
  373. package/server/models/file.js +1 -4
  374. package/server/models/filechunk.js +1 -2
  375. package/server/models/financialroadmap.js +1 -3
  376. package/server/models/flow.js +1 -2
  377. package/server/models/flowdata.js +1 -3
  378. package/server/models/flowpending.js +1 -2
  379. package/server/models/folder.js +1 -4
  380. package/server/models/follow.js +1 -2
  381. package/server/models/forminfo.js +1 -5
  382. package/server/models/giaoca.js +1 -3
  383. package/server/models/giatb.js +1 -3
  384. package/server/models/group.js +1 -9
  385. package/server/models/gt_ctgt.js +1 -4
  386. package/server/models/gt_hspb.js +1 -3
  387. package/server/models/gt_sltk.js +1 -3
  388. package/server/models/gt_thcppstk.js +1 -3
  389. package/server/models/hanmucton.js +1 -4
  390. package/server/models/hd1.js +1 -11
  391. package/server/models/hd2.js +1 -26
  392. package/server/models/hd3.js +1 -17
  393. package/server/models/hd4.js +1 -13
  394. package/server/models/hd7.js +1 -17
  395. package/server/models/hd8.js +1 -12
  396. package/server/models/hde.js +1 -11
  397. package/server/models/hmcn.js +1 -3
  398. package/server/models/hmcnct.js +1 -2
  399. package/server/models/hspbts.js +1 -4
  400. package/server/models/htl.js +1 -13
  401. package/server/models/importexceltemplate.js +1 -2
  402. package/server/models/introducebonus.js +1 -4
  403. package/server/models/introducecode.js +1 -3
  404. package/server/models/introducer.js +1 -4
  405. package/server/models/kbbtpb.js +1 -7
  406. package/server/models/kbmPttct.js +1 -4
  407. package/server/models/kbmTkgtgt.js +1 -5
  408. package/server/models/kbm_bcdkt_old.js +1 -4
  409. package/server/models/kbm_kqhdkd_old.js +1 -3
  410. package/server/models/kbm_lcttgt_old.js +1 -5
  411. package/server/models/kbm_lctttt_old.js +1 -4
  412. package/server/models/kbm_pttct_old.js +1 -4
  413. package/server/models/kbm_tkgtgt_old.js +1 -5
  414. package/server/models/kbmbcdkt.js +1 -4
  415. package/server/models/kbmbcqt.js +1 -4
  416. package/server/models/kbmkqhdkd.js +1 -3
  417. package/server/models/kbmlcttgt.js +1 -6
  418. package/server/models/kbmlctttt.js +1 -4
  419. package/server/models/kbmtmbctc.js +1 -4
  420. package/server/models/kehoachdtcp.js +1 -3
  421. package/server/models/kehoachmh.js +1 -8
  422. package/server/models/keyresult.js +1 -7
  423. package/server/models/khunghangthanhvien.js +1 -3
  424. package/server/models/label.js +1 -2
  425. package/server/models/labelinfo.js +1 -2
  426. package/server/models/lenhcapphat.js +1 -8
  427. package/server/models/lenhsx.js +1 -8
  428. package/server/models/lienhe.js +1 -4
  429. package/server/models/like_module.js +1 -2
  430. package/server/models/link.js +1 -2
  431. package/server/models/listinfo_old.js +1 -124
  432. package/server/models/loaidiem.js +1 -2
  433. package/server/models/lock.js +1 -2
  434. package/server/models/log.js +1 -8
  435. package/server/models/mailaccount.js +1 -3
  436. package/server/models/mailgroup.js +1 -3
  437. package/server/models/mailreceived.js +1 -2
  438. package/server/models/mailsent.js +1 -2
  439. package/server/models/mailtemplate.js +1 -2
  440. package/server/models/maudanhgia.js +1 -2
  441. package/server/models/menuinfo.js +1 -2
  442. package/server/models/message.js +1 -8
  443. package/server/models/message2.js +1 -4
  444. package/server/models/message2setting.js +1 -3
  445. package/server/models/moduleinfo.js +1 -4
  446. package/server/models/momo.js +1 -18
  447. package/server/models/news.js +1 -3
  448. package/server/models/newsfeed.js +1 -4
  449. package/server/models/note.js +1 -2
  450. package/server/models/notification.js +1 -8
  451. package/server/models/okr.js +1 -4
  452. package/server/models/okrdiagram.js +1 -3
  453. package/server/models/onepay.js +1 -24
  454. package/server/models/opportunity.js +1 -4
  455. package/server/models/options.js +1 -2
  456. package/server/models/originimportid.js +1 -1
  457. package/server/models/otp.js +1 -1
  458. package/server/models/parameter.js +1 -2
  459. package/server/models/participant.js +1 -21
  460. package/server/models/partner.js +1 -1
  461. package/server/models/payload.js +1 -1
  462. package/server/models/pbl.js +1 -16
  463. package/server/models/pc0.js +1 -13
  464. package/server/models/pc1.js +1 -14
  465. package/server/models/pc2.js +1 -13
  466. package/server/models/pc3.js +1 -13
  467. package/server/models/pc5.js +1 -8
  468. package/server/models/pc6.js +1 -14
  469. package/server/models/pcl.js +1 -6
  470. package/server/models/pdn.js +1 -9
  471. package/server/models/pdx.js +1 -9
  472. package/server/models/pgh.js +1 -5
  473. package/server/models/phieudanhgia.js +1 -3
  474. package/server/models/pht.js +1 -8
  475. package/server/models/phucap.js +1 -4
  476. package/server/models/pkc.js +1 -6
  477. package/server/models/pkh.js +1 -6
  478. package/server/models/pkk.js +1 -10
  479. package/server/models/pkt.js +1 -12
  480. package/server/models/pn1.js +1 -18
  481. package/server/models/pn2.js +1 -12
  482. package/server/models/pn3.js +1 -13
  483. package/server/models/pn5.js +1 -14
  484. package/server/models/pn6.js +1 -14
  485. package/server/models/pn9.js +1 -17
  486. package/server/models/pnc.js +1 -9
  487. package/server/models/pnh.js +1 -11
  488. package/server/models/pnk.js +1 -10
  489. package/server/models/po1.js +1 -19
  490. package/server/models/ppb.js +1 -6
  491. package/server/models/productcode.js +1 -2
  492. package/server/models/profile.js +1 -4
  493. package/server/models/pt1.js +1 -12
  494. package/server/models/pt5.js +1 -8
  495. package/server/models/ptl.js +1 -5
  496. package/server/models/ptthanhtoan.js +1 -6
  497. package/server/models/purchase_contract.js +1 -17
  498. package/server/models/pxc.js +1 -9
  499. package/server/models/pxh.js +1 -11
  500. package/server/models/pxk.js +1 -9
  501. package/server/models/qts.js +1 -14
  502. package/server/models/qts_dieuchinh.js +1 -3
  503. package/server/models/qts_dieuchuyen.js +1 -4
  504. package/server/models/quanhuyen.js +1 -2
  505. package/server/models/reason.js +1 -2
  506. package/server/models/receivedinvoice.js +1 -2
  507. package/server/models/reportinfo.js +1 -5
  508. package/server/models/right.js +1 -4
  509. package/server/models/rpt.js +1 -2
  510. package/server/models/rptform.js +1 -3
  511. package/server/models/rptobject.js +1 -2
  512. package/server/models/sale_contract.js +1 -9
  513. package/server/models/schedule.js +1 -18
  514. package/server/models/schedule_log.js +1 -2
  515. package/server/models/shipbook.js +1 -12
  516. package/server/models/shortcut.js +1 -2
  517. package/server/models/smsaccount.js +1 -10
  518. package/server/models/smssend.js +1 -2
  519. package/server/models/so1.js +1 -22
  520. package/server/models/so5.js +1 -15
  521. package/server/models/so9.js +1 -19
  522. package/server/models/socai.js +1 -28
  523. package/server/models/socainpp.js +1 -18
  524. package/server/models/socaitc.js +1 -6
  525. package/server/models/socaitmp.js +1 -16
  526. package/server/models/socaitt.js +1 -4
  527. package/server/models/sodiemthuong.js +1 -4
  528. package/server/models/sokho.js +1 -27
  529. package/server/models/sokhocapphat.js +1 -18
  530. package/server/models/sokhokhongton.js +1 -19
  531. package/server/models/sokhonpp.js +1 -19
  532. package/server/models/sokhotc.js +1 -8
  533. package/server/models/sokhott.js +1 -18
  534. package/server/models/sophanbokh.js +1 -3
  535. package/server/models/sosanxuat.js +1 -5
  536. package/server/models/sotinhkh.js +1 -2
  537. package/server/models/spdd_ck.js +1 -3
  538. package/server/models/spdd_dk.js +1 -3
  539. package/server/models/step.js +1 -2
  540. package/server/models/strategicdiagram.js +1 -3
  541. package/server/models/strategicgoal.js +1 -4
  542. package/server/models/strategickpi.js +1 -6
  543. package/server/models/strategicobjective.js +1 -5
  544. package/server/models/strategicplan.js +1 -5
  545. package/server/models/subscribe.js +1 -2
  546. package/server/models/support.js +1 -2
  547. package/server/models/synctime.js +1 -2
  548. package/server/models/sys_job_queue_book_keeping.js +1 -2
  549. package/server/models/sysconfig.js +1 -2
  550. package/server/models/sysgroup.js +1 -2
  551. package/server/models/tableinfo.js +1 -3
  552. package/server/models/task.js +1 -9
  553. package/server/models/tc.js +1 -2
  554. package/server/models/tdttco.js +1 -9
  555. package/server/models/tdttco_tt.js +1 -5
  556. package/server/models/tdttno.js +1 -9
  557. package/server/models/tdttno_tt.js +1 -5
  558. package/server/models/templaterpt.js +1 -2
  559. package/server/models/templatestore.js +1 -3
  560. package/server/models/templatevoucher.js +1 -3
  561. package/server/models/tinhthanh.js +1 -2
  562. package/server/models/tokens.js +1 -3
  563. package/server/models/tontucthoi.js +1 -9
  564. package/server/models/trangthai.js +1 -4
  565. package/server/models/trangthaiapp.js +1 -4
  566. package/server/models/transaction.js +1 -16
  567. package/server/models/trialinfo.js +1 -2
  568. package/server/models/user.js +1 -40
  569. package/server/models/usergroup.js +1 -7
  570. package/server/models/vanchuyen.js +1 -12
  571. package/server/models/vat.js +1 -3
  572. package/server/models/vatra.js +1 -6
  573. package/server/models/vatvao.js +1 -6
  574. package/server/models/versioninfo.js +1 -2
  575. package/server/models/vietqrbanks.js +1 -2
  576. package/server/models/vsocai.js +1 -6
  577. package/server/models/wallet.js +1 -8
  578. package/server/models/warranty.js +1 -3
  579. package/server/models/warrantyclaim.js +1 -2
  580. package/server/models/warrantypolicy.js +1 -1
  581. package/server/models/workflow.js +1 -4
  582. package/server/models/xaphuong.js +1 -2
  583. package/server/models/xhd.js +1 -10
  584. package/server/models/ytdd_ck.js +1 -4
  585. package/server/models/ytdd_dk.js +1 -4
  586. package/server/models/zalo.js +1 -17
  587. package/server/modules/bot/webhook.js +1 -0
  588. package/server/modules/lists/bg-cddiem.js +1 -6
  589. package/server/modules/lists/bg-cddt.js +1 -7
  590. package/server/modules/lists/bg-cdkh.js +1 -11
  591. package/server/modules/lists/bg-cdnphep.js +1 -6
  592. package/server/modules/lists/bg-cdtk.js +1 -9
  593. package/server/modules/lists/bg-cdvt.js +1 -8
  594. package/server/modules/lists/bg-cdvtnpp.js +1 -8
  595. package/server/modules/lists/bg-fifo_dk.js +1 -8
  596. package/server/modules/lists/ls-account.js +1 -4
  597. package/server/modules/lists/ls-afflink.js +1 -3
  598. package/server/modules/lists/ls-approve.js +1 -5
  599. package/server/modules/lists/ls-assbank.js +1 -3
  600. package/server/modules/lists/ls-asscashwithdraw.js +1 -8
  601. package/server/modules/lists/ls-assissue.js +1 -3
  602. package/server/modules/lists/ls-asskey.js +1 -41
  603. package/server/modules/lists/ls-assreceiver.js +1 -3
  604. package/server/modules/lists/ls-assrequest.js +1 -4
  605. package/server/modules/lists/ls-asstransaction.js +1 -3
  606. package/server/modules/lists/ls-asstransfer.js +1 -3
  607. package/server/modules/lists/ls-assuser_identity.js +1 -1
  608. package/server/modules/lists/ls-bangtinhluong.js +1 -2
  609. package/server/modules/lists/ls-calllog.js +1 -4
  610. package/server/modules/lists/ls-cart.js +1 -14
  611. package/server/modules/lists/ls-chamcong.js +1 -3
  612. package/server/modules/lists/ls-chat_session.js +1 -5
  613. package/server/modules/lists/ls-checkin.js +1 -24
  614. package/server/modules/lists/ls-checkinactivity.js +1 -8
  615. package/server/modules/lists/ls-checkinkpi.js +1 -3
  616. package/server/modules/lists/ls-checkinlocation.js +1 -1
  617. package/server/modules/lists/ls-chitietluongds.js +1 -4
  618. package/server/modules/lists/ls-chitieukpi.js +1 -1
  619. package/server/modules/lists/ls-chudethaoluan.js +1 -1
  620. package/server/modules/lists/ls-ckgtluong.js +1 -1
  621. package/server/modules/lists/ls-comment.js +1 -9
  622. package/server/modules/lists/ls-congdoansx.js +1 -3
  623. package/server/modules/lists/ls-congtacvien.js +1 -5
  624. package/server/modules/lists/ls-consultant.js +1 -2
  625. package/server/modules/lists/ls-contract.js +1 -7
  626. package/server/modules/lists/ls-csluongtheods.js +1 -1
  627. package/server/modules/lists/ls-csphucap.js +1 -1
  628. package/server/modules/lists/ls-ctds.js +1 -4
  629. package/server/modules/lists/ls-ctds2.js +1 -4
  630. package/server/modules/lists/ls-currency.js +1 -1
  631. package/server/modules/lists/ls-customer.js +1 -22
  632. package/server/modules/lists/ls-customer_care.js +1 -1
  633. package/server/modules/lists/ls-datlich.js +1 -9
  634. package/server/modules/lists/ls-dckhauhaots.js +1 -3
  635. package/server/modules/lists/ls-deal.js +1 -3
  636. package/server/modules/lists/ls-diagram.js +1 -1
  637. package/server/modules/lists/ls-dkhoc.js +1 -6
  638. package/server/modules/lists/ls-dknphep.js +1 -1
  639. package/server/modules/lists/ls-dmban.js +1 -4
  640. package/server/modules/lists/ls-dmbp.js +1 -7
  641. package/server/modules/lists/ls-dmca.js +1 -1
  642. package/server/modules/lists/ls-dmchietkhau.js +1 -19
  643. package/server/modules/lists/ls-dmchietkhauhd.js +1 -4
  644. package/server/modules/lists/ls-dmchinhanh.js +1 -1
  645. package/server/modules/lists/ls-dmchucvu.js +1 -2
  646. package/server/modules/lists/ls-dmcpmh.js +1 -1
  647. package/server/modules/lists/ls-dmdiemthuong.js +1 -4
  648. package/server/modules/lists/ls-dmdoi.js +1 -4
  649. package/server/modules/lists/ls-dmdoituongdanhgia.js +1 -1
  650. package/server/modules/lists/ls-dmdt.js +1 -11
  651. package/server/modules/lists/ls-dmdvt.js +1 -2
  652. package/server/modules/lists/ls-dmgiaban.js +1 -4
  653. package/server/modules/lists/ls-dmgiamua.js +1 -4
  654. package/server/modules/lists/ls-dmgiathitruong.js +1 -15
  655. package/server/modules/lists/ls-dmgiathitruong_ngay.js +1 -2
  656. package/server/modules/lists/ls-dmgiathitruong_theodoi.js +1 -1
  657. package/server/modules/lists/ls-dmhoahonghd.js +1 -1
  658. package/server/modules/lists/ls-dmhoahongnpp.js +1 -1
  659. package/server/modules/lists/ls-dmkc.js +1 -3
  660. package/server/modules/lists/ls-dmkho.js +1 -7
  661. package/server/modules/lists/ls-dmkhuyenmai.js +1 -5
  662. package/server/modules/lists/ls-dmkhuyenmaihd.js +1 -3
  663. package/server/modules/lists/ls-dmletet.js +1 -1
  664. package/server/modules/lists/ls-dmlo.js +1 -1
  665. package/server/modules/lists/ls-dmloaicong.js +1 -1
  666. package/server/modules/lists/ls-dmloaits.js +1 -1
  667. package/server/modules/lists/ls-dmnckkm.js +1 -7
  668. package/server/modules/lists/ls-dmnghiepvu.js +1 -1
  669. package/server/modules/lists/ls-dmnguonvon.js +1 -1
  670. package/server/modules/lists/ls-dmnhnv.js +1 -6
  671. package/server/modules/lists/ls-dmnhtask.js +1 -5
  672. package/server/modules/lists/ls-dmnkh.js +1 -6
  673. package/server/modules/lists/ls-dmntt.js +1 -6
  674. package/server/modules/lists/ls-dmnv.js +1 -14
  675. package/server/modules/lists/ls-dmnvt.js +1 -7
  676. package/server/modules/lists/ls-dmphi.js +1 -6
  677. package/server/modules/lists/ls-dmqct.js +1 -2
  678. package/server/modules/lists/ls-dmqddvt.js +1 -3
  679. package/server/modules/lists/ls-dmtanggiamts.js +1 -1
  680. package/server/modules/lists/ls-dmto.js +1 -5
  681. package/server/modules/lists/ls-dmtt.js +1 -7
  682. package/server/modules/lists/ls-dmvt.js +1 -52
  683. package/server/modules/lists/ls-dmyt.js +1 -1
  684. package/server/modules/lists/ls-dokho.js +1 -1
  685. package/server/modules/lists/ls-dvcs.js +1 -1
  686. package/server/modules/lists/ls-ecomcategories.js +1 -5
  687. package/server/modules/lists/ls-ecomcategories_cty.js +1 -5
  688. package/server/modules/lists/ls-email.js +1 -4
  689. package/server/modules/lists/ls-events.js +1 -3
  690. package/server/modules/lists/ls-evoucher.js +1 -3
  691. package/server/modules/lists/ls-experiencejourney.js +1 -1
  692. package/server/modules/lists/ls-experiencejourneydata.js +1 -3
  693. package/server/modules/lists/ls-experiencejourneypersona.js +1 -4
  694. package/server/modules/lists/ls-experiencejourneystage.js +1 -1
  695. package/server/modules/lists/ls-fbconversation.js +1 -2
  696. package/server/modules/lists/ls-fbmessage.js +1 -2
  697. package/server/modules/lists/ls-fbpage.js +1 -11
  698. package/server/modules/lists/ls-fbpost.js +1 -2
  699. package/server/modules/lists/ls-file.js +1 -38
  700. package/server/modules/lists/ls-financialroadmap.js +1 -3
  701. package/server/modules/lists/ls-flow.js +1 -6
  702. package/server/modules/lists/ls-flowdata.js +1 -1
  703. package/server/modules/lists/ls-flowpending.js +1 -3
  704. package/server/modules/lists/ls-folder.js +1 -1
  705. package/server/modules/lists/ls-forminfo.js +1 -1
  706. package/server/modules/lists/ls-giaoca.js +1 -5
  707. package/server/modules/lists/ls-group.js +1 -5
  708. package/server/modules/lists/ls-hmcn.js +1 -2
  709. package/server/modules/lists/ls-hspbts.js +1 -3
  710. package/server/modules/lists/ls-introducebonus.js +1 -4
  711. package/server/modules/lists/ls-introducecode.js +1 -10
  712. package/server/modules/lists/ls-introducer.js +1 -21
  713. package/server/modules/lists/ls-kbm-bcdkt.js +1 -1
  714. package/server/modules/lists/ls-kbm-bcqt.js +1 -5
  715. package/server/modules/lists/ls-kbm-kqhdkd.js +1 -1
  716. package/server/modules/lists/ls-kbm-lcttgt.js +1 -1
  717. package/server/modules/lists/ls-kbm-lctttt.js +1 -1
  718. package/server/modules/lists/ls-kbm-pttct.js +1 -3
  719. package/server/modules/lists/ls-kbm-tkgtgt.js +1 -3
  720. package/server/modules/lists/ls-kbm-tmbctc.js +1 -3
  721. package/server/modules/lists/ls-kehoachdtcp.js +1 -4
  722. package/server/modules/lists/ls-keyresult.js +1 -7
  723. package/server/modules/lists/ls-khunghangthanhvien.js +1 -1
  724. package/server/modules/lists/ls-label.js +1 -1
  725. package/server/modules/lists/ls-lienhe.js +1 -4
  726. package/server/modules/lists/ls-like-module.js +1 -1
  727. package/server/modules/lists/ls-link.js +1 -1
  728. package/server/modules/lists/ls-loaidiem.js +1 -1
  729. package/server/modules/lists/ls-lock.js +1 -1
  730. package/server/modules/lists/ls-log.js +1 -3
  731. package/server/modules/lists/ls-mailaccount.js +1 -5
  732. package/server/modules/lists/ls-mailreceived.js +1 -5
  733. package/server/modules/lists/ls-mailsent.js +1 -4
  734. package/server/modules/lists/ls-mailtemplate.js +1 -4
  735. package/server/modules/lists/ls-maudanhgia.js +1 -3
  736. package/server/modules/lists/ls-message2.js +1 -8
  737. package/server/modules/lists/ls-message2setting.js +1 -5
  738. package/server/modules/lists/ls-news.js +1 -7
  739. package/server/modules/lists/ls-newsfeed.js +1 -4
  740. package/server/modules/lists/ls-note.js +1 -6
  741. package/server/modules/lists/ls-okr.js +1 -5
  742. package/server/modules/lists/ls-okrdiagram.js +1 -1
  743. package/server/modules/lists/ls-opportunity.js +1 -5
  744. package/server/modules/lists/ls-options.js +1 -4
  745. package/server/modules/lists/ls-parameter.js +1 -3
  746. package/server/modules/lists/ls-participant.js +1 -12
  747. package/server/modules/lists/ls-phieudanhgia.js +1 -7
  748. package/server/modules/lists/ls-phucap.js +1 -2
  749. package/server/modules/lists/ls-productcode.js +1 -9
  750. package/server/modules/lists/ls-profile.js +1 -1
  751. package/server/modules/lists/ls-ptthanhtoan.js +1 -3
  752. package/server/modules/lists/ls-qts-dieuchinh.js +1 -2
  753. package/server/modules/lists/ls-qts-dieuchuyen.js +1 -8
  754. package/server/modules/lists/ls-reason.js +1 -1
  755. package/server/modules/lists/ls-rpt.js +1 -5
  756. package/server/modules/lists/ls-rptform.js +1 -3
  757. package/server/modules/lists/ls-shortcut.js +1 -1
  758. package/server/modules/lists/ls-smsaccount.js +1 -1
  759. package/server/modules/lists/ls-smssend.js +1 -3
  760. package/server/modules/lists/ls-sosanxuat.js +1 -4
  761. package/server/modules/lists/ls-step.js +1 -1
  762. package/server/modules/lists/ls-strategicdiagram.js +1 -1
  763. package/server/modules/lists/ls-strategicgoal.js +1 -3
  764. package/server/modules/lists/ls-strategickpi.js +1 -7
  765. package/server/modules/lists/ls-strategicobjective.js +1 -3
  766. package/server/modules/lists/ls-strategicplan.js +1 -6
  767. package/server/modules/lists/ls-support.js +1 -3
  768. package/server/modules/lists/ls-task.js +1 -28
  769. package/server/modules/lists/ls-tc.js +1 -1
  770. package/server/modules/lists/ls-templaterpt.js +1 -5
  771. package/server/modules/lists/ls-templatevoucher.js +1 -1
  772. package/server/modules/lists/ls-tontucthoi.js +1 -3
  773. package/server/modules/lists/ls-trangthaiapp.js +1 -3
  774. package/server/modules/lists/ls-transaction.js +1 -4
  775. package/server/modules/lists/ls-usergroup.js +1 -7
  776. package/server/modules/lists/ls-vat.js +1 -1
  777. package/server/modules/lists/ls-vatra.js +1 -5
  778. package/server/modules/lists/ls-vatvao.js +1 -6
  779. package/server/modules/lists/ls-warranty.js +1 -3
  780. package/server/modules/lists/ls-workflow.js +1 -1
  781. package/server/modules/lists/ls_hanmucton.js +1 -3
  782. package/server/modules/lists/ls_hspb.js +1 -4
  783. package/server/modules/lists/ls_spdd_ck.js +1 -3
  784. package/server/modules/lists/ls_spdd_dk.js +1 -3
  785. package/server/modules/lists/ls_ytdd_ck.js +1 -4
  786. package/server/modules/lists/ls_ytdd_dk.js +1 -4
  787. package/server/modules/lists/sys-attend.js +1 -4
  788. package/server/modules/lists/sys-follow.js +1 -4
  789. package/server/modules/lists/sys-right.js +1 -2
  790. package/server/modules/public/app.js +1 -4
  791. package/server/modules/public/approve.js +1 -37
  792. package/server/modules/public/callin.js +1 -7
  793. package/server/modules/public/comment.js +1 -5
  794. package/server/modules/public/dmnvt.js +1 -4
  795. package/server/modules/public/dmvt.js +1 -9
  796. package/server/modules/public/file.js +1 -11
  797. package/server/modules/public/forminfo.js +1 -1
  798. package/server/modules/public/group.js +1 -4
  799. package/server/modules/public/introducecode.js +1 -1
  800. package/server/modules/public/listinfo.js +1 -1
  801. package/server/modules/public/media-webhook.js +1 -1
  802. package/server/modules/public/partner.js +1 -1
  803. package/server/modules/public/paymentCallback.js +1 -32
  804. package/server/modules/public/province.js +1 -1
  805. package/server/modules/public/ptthanhtoan.js +1 -4
  806. package/server/modules/public/subscribe.js +1 -30
  807. package/server/modules/public/support.js +1 -3
  808. package/server/modules/public/tableinfo.js +1 -1
  809. package/server/modules/public/trialinfo.js +1 -4
  810. package/server/modules/public/versioninfo.js +1 -1
  811. package/server/modules/reports/calc-tinhgiafifo.js +1 -8
  812. package/server/modules/reports/calc-tinhgiatb.js +1 -7
  813. package/server/modules/reports/calc-tinhgiathanh.js +1 -7
  814. package/server/modules/reports/calc-tinhkhauhaots.js +1 -3
  815. package/server/modules/reports/calc-tinhluong.js +1 -68
  816. package/server/modules/reports/rp-assbonus.js +1 -4
  817. package/server/modules/reports/rp-asssupply.js +1 -1
  818. package/server/modules/reports/rp-asstransferlog.js +1 -10
  819. package/server/modules/reports/rp-backup.js +1 -4
  820. package/server/modules/reports/rp-banggiatb.js +1 -3
  821. package/server/modules/reports/rp-bangtinhkhauhao.js +1 -6
  822. package/server/modules/reports/rp-baoCaoFifoKy.js +1 -1
  823. package/server/modules/reports/rp-baocaokhachhang.js +1 -6
  824. package/server/modules/reports/rp-bcdkt.js +1 -11
  825. package/server/modules/reports/rp-bcintroducebonus.js +1 -4
  826. package/server/modules/reports/rp-bckhtiemnang.js +1 -3
  827. package/server/modules/reports/rp-bcqt.js +1 -85
  828. package/server/modules/reports/rp-bkchamcong.js +1 -5
  829. package/server/modules/reports/rp-bkct.js +1 -13
  830. package/server/modules/reports/rp-bkshipbook.js +1 -8
  831. package/server/modules/reports/rp-bkvanchuyen.js +1 -8
  832. package/server/modules/reports/rp-bkvatra.js +1 -7
  833. package/server/modules/reports/rp-bkvatvao.js +1 -7
  834. package/server/modules/reports/rp-capnhatsocaitc.js +1 -4
  835. package/server/modules/reports/rp-cdpsdiem.js +1 -4
  836. package/server/modules/reports/rp-cdpsdt.js +1 -5
  837. package/server/modules/reports/rp-cdpskh.js +1 -8
  838. package/server/modules/reports/rp-cdpsnphep.js +1 -3
  839. package/server/modules/reports/rp-cdpstk.js +1 -4
  840. package/server/modules/reports/rp-chitietchitientheohoadon.js +1 -12
  841. package/server/modules/reports/rp-chitiettaisan.js +1 -13
  842. package/server/modules/reports/rp-chitietthutientheohoadon.js +1 -13
  843. package/server/modules/reports/rp-ckcn.js +1 -3
  844. package/server/modules/reports/rp-ckdiem.js +1 -2
  845. package/server/modules/reports/rp-cktk.js +1 -3
  846. package/server/modules/reports/rp-ckvt.js +1 -10
  847. package/server/modules/reports/rp-ckvttheokho.js +1 -4
  848. package/server/modules/reports/rp-ckvttheotg.js +1 -4
  849. package/server/modules/reports/rp-ckvttt.js +1 -3
  850. package/server/modules/reports/rp-congnophaithutheotuoino.js +1 -3
  851. package/server/modules/reports/rp-congnophaitratheotuoino.js +1 -3
  852. package/server/modules/reports/rp-congnosapthu.js +1 -4
  853. package/server/modules/reports/rp-congnosaptra.js +1 -4
  854. package/server/modules/reports/rp-congviectheobp.js +1 -9
  855. package/server/modules/reports/rp-congviectheodt.js +1 -8
  856. package/server/modules/reports/rp-congviectheokh.js +1 -8
  857. package/server/modules/reports/rp-congviectheonv.js +1 -9
  858. package/server/modules/reports/rp-congviectheotimeline.js +1 -6
  859. package/server/modules/reports/rp-ctbanle.js +1 -15
  860. package/server/modules/reports/rp-ctbanle2.js +1 -20
  861. package/server/modules/reports/rp-ctbanlectv.js +1 -20
  862. package/server/modules/reports/rp-ctbanlenpp.js +1 -24
  863. package/server/modules/reports/rp-ctdanhgianhanvien.js +1 -8
  864. package/server/modules/reports/rp-cthangbanbitralai.js +1 -4
  865. package/server/modules/reports/rp-ctmuahang.js +1 -7
  866. package/server/modules/reports/rp-cttralaihang.js +1 -4
  867. package/server/modules/reports/rp-databanle.js +1 -10
  868. package/server/modules/reports/rp-diemthuong.js +1 -2
  869. package/server/modules/reports/rp-dkcn.js +1 -3
  870. package/server/modules/reports/rp-dktk.js +1 -2
  871. package/server/modules/reports/rp-dsnhanviencm.js +1 -9
  872. package/server/modules/reports/rp-dsnhanvientb.js +1 -9
  873. package/server/modules/reports/rp-dtbanlekempk.js +1 -12
  874. package/server/modules/reports/rp-dtbanletheoct.js +1 -22
  875. package/server/modules/reports/rp-dtbanletheoctkempk.js +1 -25
  876. package/server/modules/reports/rp-dtbanletheokh.js +1 -17
  877. package/server/modules/reports/rp-dtbanletheokhnpp.js +1 -19
  878. package/server/modules/reports/rp-dtbanletheokho.js +1 -15
  879. package/server/modules/reports/rp-dtbanletheonam.js +1 -3
  880. package/server/modules/reports/rp-dtbanletheongay.js +1 -1
  881. package/server/modules/reports/rp-dtbanletheonpp.js +1 -23
  882. package/server/modules/reports/rp-dtbanletheonv.js +1 -19
  883. package/server/modules/reports/rp-dtbanletheoquy.js +1 -3
  884. package/server/modules/reports/rp-dtbanletheosp.js +1 -9
  885. package/server/modules/reports/rp-dtbanletheospnpp.js +1 -6
  886. package/server/modules/reports/rp-dtbanletheothang.js +1 -3
  887. package/server/modules/reports/rp-dtbanletheothungan.js +1 -12
  888. package/server/modules/reports/rp-dtbanletheovt.js +1 -2
  889. package/server/modules/reports/rp-dtbanletheovtnpp.js +1 -2
  890. package/server/modules/reports/rp-dutoanthuchitheodt.js +1 -4
  891. package/server/modules/reports/rp-getPXC2PNC.js +1 -8
  892. package/server/modules/reports/rp-getariseofaccountsbymonth.js +1 -4
  893. package/server/modules/reports/rp-getbtpb.js +1 -6
  894. package/server/modules/reports/rp-getcashbycashier.js +1 -7
  895. package/server/modules/reports/rp-getcschietkhau.js +1 -5
  896. package/server/modules/reports/rp-getdinhmuc4lenhcp.js +1 -7
  897. package/server/modules/reports/rp-getdinhmuc4pxk.js +1 -9
  898. package/server/modules/reports/rp-getdk4pht.js +1 -8
  899. package/server/modules/reports/rp-getdk4pkc.js +1 -10
  900. package/server/modules/reports/rp-getdttheoca.js +1 -5
  901. package/server/modules/reports/rp-getinvoice2pay.js +1 -4
  902. package/server/modules/reports/rp-getinvoice2receive.js +1 -4
  903. package/server/modules/reports/rp-getinvoice2return.js +1 -5
  904. package/server/modules/reports/rp-getinvoice2return_bl.js +1 -6
  905. package/server/modules/reports/rp-getkehoachmh4lenhcp.js +1 -4
  906. package/server/modules/reports/rp-getkhauhao.js +1 -7
  907. package/server/modules/reports/rp-getluong.js +1 -8
  908. package/server/modules/reports/rp-getluongchuyen.js +1 -5
  909. package/server/modules/reports/rp-getpn2fee.js +1 -5
  910. package/server/modules/reports/rp-getpn2return.js +1 -5
  911. package/server/modules/reports/rp-getthanhpham4pnk.js +1 -7
  912. package/server/modules/reports/rp-getvc2xhd.js +1 -11
  913. package/server/modules/reports/rp-gt_cpnvltt.js +1 -6
  914. package/server/modules/reports/rp-hangbanbitralai.js +1 -5
  915. package/server/modules/reports/rp-hangthanhvien.js +1 -3
  916. package/server/modules/reports/rp-hoadonbanhangtheohantt.js +1 -5
  917. package/server/modules/reports/rp-hoadonmuahangtheohantt.js +1 -5
  918. package/server/modules/reports/rp-hoahong.js +1 -15
  919. package/server/modules/reports/rp-kcsns.js +1 -19
  920. package/server/modules/reports/rp-kgchamcong.js +1 -1
  921. package/server/modules/reports/rp-khoaso.js +1 -11
  922. package/server/modules/reports/rp-kiemtrasocaitcvssocai.js +1 -6
  923. package/server/modules/reports/rp-kqdanhgianhanvien.js +1 -5
  924. package/server/modules/reports/rp-kqhdkd.js +1 -1
  925. package/server/modules/reports/rp-lcttgt.js +1 -16
  926. package/server/modules/reports/rp-lctttt.js +1 -11
  927. package/server/modules/reports/rp-linkslist.js +1 -4
  928. package/server/modules/reports/rp-phanbochitienchohoadon.js +1 -11
  929. package/server/modules/reports/rp-phanbothutienchohoadon.js +1 -11
  930. package/server/modules/reports/rp-ptbitralai.js +1 -7
  931. package/server/modules/reports/rp-ptcttct.js +1 -24
  932. package/server/modules/reports/rp-ptdonhang.js +1 -8
  933. package/server/modules/reports/rp-pttct.js +1 -52
  934. package/server/modules/reports/rp-pttctkho.js +1 -32
  935. package/server/modules/reports/rp-pttctkho2.js +1 -29
  936. package/server/modules/reports/rp-referredusers.js +1 -5
  937. package/server/modules/reports/rp-sctbhxh.js +1 -4
  938. package/server/modules/reports/rp-sctcnkh.js +1 -11
  939. package/server/modules/reports/rp-sctdiem.js +1 -3
  940. package/server/modules/reports/rp-sctdt.js +1 -7
  941. package/server/modules/reports/rp-sctdtcp.js +1 -11
  942. package/server/modules/reports/rp-sctluong.js +1 -6
  943. package/server/modules/reports/rp-sctthuetncn.js +1 -4
  944. package/server/modules/reports/rp-scttk.js +1 -9
  945. package/server/modules/reports/rp-sctvt.js +1 -5
  946. package/server/modules/reports/rp-sctvt_sl.js +1 -5
  947. package/server/modules/reports/rp-sctvtnpp.js +1 -6
  948. package/server/modules/reports/rp-sctvttt.js +1 -5
  949. package/server/modules/reports/rp-search.js +1 -4
  950. package/server/modules/reports/rp-socai.js +1 -6
  951. package/server/modules/reports/rp-socaitk.js +1 -1
  952. package/server/modules/reports/rp-sochut.js +1 -7
  953. package/server/modules/reports/rp-sokho.js +1 -7
  954. package/server/modules/reports/rp-sokhott.js +1 -5
  955. package/server/modules/reports/rp-sonkbh.js +1 -5
  956. package/server/modules/reports/rp-sonkc.js +1 -6
  957. package/server/modules/reports/rp-sonkct.js +1 -5
  958. package/server/modules/reports/rp-sonkmh.js +1 -5
  959. package/server/modules/reports/rp-sonktt.js +1 -5
  960. package/server/modules/reports/rp-soquy.js +1 -11
  961. package/server/modules/reports/rp-sosanhkhvatt.js +1 -13
  962. package/server/modules/reports/rp-sosanhkhvatt2.js +1 -5
  963. package/server/modules/reports/rp-sotaisan.js +1 -13
  964. package/server/modules/reports/rp-sotiengui.js +1 -7
  965. package/server/modules/reports/rp-taodinhmuctudkhoc.js +1 -5
  966. package/server/modules/reports/rp-thbanhangkempk.js +1 -28
  967. package/server/modules/reports/rp-thdanhgianhanvien.js +1 -9
  968. package/server/modules/reports/rp-thgt.js +1 -6
  969. package/server/modules/reports/rp-thnxt.js +1 -11
  970. package/server/modules/reports/rp-thnxt_sl.js +1 -9
  971. package/server/modules/reports/rp-thnxtnpp.js +1 -10
  972. package/server/modules/reports/rp-thnxttt.js +1 -9
  973. package/server/modules/reports/rp-tkbanhangtheogioithieu.js +1 -9
  974. package/server/modules/reports/rp-tkgioithieukh.js +1 -4
  975. package/server/modules/reports/rp-tkgtgt.js +1 -76
  976. package/server/modules/reports/rp-tkgtgt_old.js +1 -7
  977. package/server/modules/reports/rp-tmbctc.js +1 -20
  978. package/server/modules/reports/rp-tonghopbanhang.js +1 -6
  979. package/server/modules/reports/rp-tonghopmuahang.js +1 -5
  980. package/server/modules/reports/rp-tonghoptralaihang.js +1 -5
  981. package/server/modules/reports/rp-tongquanbanle.js +1 -20
  982. package/server/modules/reports/rp-tongquanbds.js +1 -3
  983. package/server/modules/reports/rp-tongquancongty.js +1 -6
  984. package/server/modules/reports/rp-tongquanctvnpp.js +1 -12
  985. package/server/modules/reports/rp-tongquannvbh.js +1 -14
  986. package/server/modules/reports/rp-tongquannvnpp.js +1 -5
  987. package/server/modules/reports/rp-uoctinhnvl.js +1 -11
  988. package/server/modules/reports/rp-wallet.js +1 -3
  989. package/server/modules/reports/rpt-tkdiemtichluy.js +1 -9
  990. package/server/modules/systems/sys-app.js +1 -34
  991. package/server/modules/systems/sys-colleague.js +1 -11
  992. package/server/modules/systems/sys-data_list_config.js +1 -1
  993. package/server/modules/systems/sys-domain.js +1 -1
  994. package/server/modules/systems/sys-ecomproductlines.js +1 -1
  995. package/server/modules/systems/sys-exportexceltemplate.js +1 -1
  996. package/server/modules/systems/sys-fieldright.js +1 -1
  997. package/server/modules/systems/sys-importexceltemplate.js +1 -1
  998. package/server/modules/systems/sys-labelinfo.js +1 -3
  999. package/server/modules/systems/sys-listinfo.js +1 -10
  1000. package/server/modules/systems/sys-menuinfo.js +1 -1
  1001. package/server/modules/systems/sys-message.js +1 -14
  1002. package/server/modules/systems/sys-moduleinfo.js +1 -2
  1003. package/server/modules/systems/sys-notification.js +1 -8
  1004. package/server/modules/systems/sys-quanhuyen.js +1 -1
  1005. package/server/modules/systems/sys-reportinfo.js +1 -5
  1006. package/server/modules/systems/sys-rptobject.js +1 -1
  1007. package/server/modules/systems/sys-schedule.js +1 -10
  1008. package/server/modules/systems/sys-sysconfig.js +1 -1
  1009. package/server/modules/systems/sys-sysgroup.js +1 -1
  1010. package/server/modules/systems/sys-tableinfo.js +1 -1
  1011. package/server/modules/systems/sys-templatestore.js +1 -5
  1012. package/server/modules/systems/sys-tinhthanh.js +1 -1
  1013. package/server/modules/systems/sys-token.js +1 -3
  1014. package/server/modules/systems/sys-trangthai.js +1 -3
  1015. package/server/modules/systems/sys-trialinfo.js +1 -1
  1016. package/server/modules/systems/sys-user.js +1 -45
  1017. package/server/modules/systems/sys-users.js +1 -10
  1018. package/server/modules/systems/sys-versioninfo.js +1 -1
  1019. package/server/modules/systems/sys-vietqrbanks.js +1 -1
  1020. package/server/modules/systems/sys-xaphuong.js +1 -1
  1021. package/server/modules/vouchers/vo-banggiaban.js +1 -8
  1022. package/server/modules/vouchers/vo-bc1.js +1 -34
  1023. package/server/modules/vouchers/vo-bc5.js +1 -15
  1024. package/server/modules/vouchers/vo-bg1.js +1 -10
  1025. package/server/modules/vouchers/vo-bg2.js +1 -12
  1026. package/server/modules/vouchers/vo-bn1.js +1 -36
  1027. package/server/modules/vouchers/vo-bn5.js +1 -15
  1028. package/server/modules/vouchers/vo-dh2.js +1 -35
  1029. package/server/modules/vouchers/vo-dinhmucsx.js +1 -6
  1030. package/server/modules/vouchers/vo-dkb.js +1 -21
  1031. package/server/modules/vouchers/vo-dn0.js +1 -9
  1032. package/server/modules/vouchers/vo-dnm.js +1 -20
  1033. package/server/modules/vouchers/vo-hd1.js +1 -37
  1034. package/server/modules/vouchers/vo-hd2.js +1 -108
  1035. package/server/modules/vouchers/vo-hd3.js +1 -38
  1036. package/server/modules/vouchers/vo-hd4.js +1 -13
  1037. package/server/modules/vouchers/vo-hd7.js +1 -29
  1038. package/server/modules/vouchers/vo-hd8.js +1 -29
  1039. package/server/modules/vouchers/vo-hde.js +1 -39
  1040. package/server/modules/vouchers/vo-htl.js +1 -11
  1041. package/server/modules/vouchers/vo-kbbtpb.js +1 -6
  1042. package/server/modules/vouchers/vo-kehoachmh.js +1 -11
  1043. package/server/modules/vouchers/vo-lenhcapphat.js +1 -9
  1044. package/server/modules/vouchers/vo-lenhsx.js +1 -12
  1045. package/server/modules/vouchers/vo-pbl.js +1 -94
  1046. package/server/modules/vouchers/vo-pc0.js +1 -14
  1047. package/server/modules/vouchers/vo-pc1.js +1 -31
  1048. package/server/modules/vouchers/vo-pc2.js +1 -25
  1049. package/server/modules/vouchers/vo-pc3.js +1 -14
  1050. package/server/modules/vouchers/vo-pc5.js +1 -15
  1051. package/server/modules/vouchers/vo-pc6.js +1 -19
  1052. package/server/modules/vouchers/vo-pcl.js +1 -7
  1053. package/server/modules/vouchers/vo-pdn.js +1 -11
  1054. package/server/modules/vouchers/vo-pdx.js +1 -9
  1055. package/server/modules/vouchers/vo-pgh.js +1 -16
  1056. package/server/modules/vouchers/vo-pht.js +1 -6
  1057. package/server/modules/vouchers/vo-pkc.js +1 -5
  1058. package/server/modules/vouchers/vo-pkh.js +1 -9
  1059. package/server/modules/vouchers/vo-pkk.js +1 -12
  1060. package/server/modules/vouchers/vo-pkt.js +1 -12
  1061. package/server/modules/vouchers/vo-pn1.js +1 -30
  1062. package/server/modules/vouchers/vo-pn2.js +1 -17
  1063. package/server/modules/vouchers/vo-pn3.js +1 -18
  1064. package/server/modules/vouchers/vo-pn5.js +1 -18
  1065. package/server/modules/vouchers/vo-pn6.js +1 -18
  1066. package/server/modules/vouchers/vo-pn9.js +1 -23
  1067. package/server/modules/vouchers/vo-pnc.js +1 -19
  1068. package/server/modules/vouchers/vo-pnh.js +1 -17
  1069. package/server/modules/vouchers/vo-pnk.js +1 -14
  1070. package/server/modules/vouchers/vo-pnknpp.js +1 -12
  1071. package/server/modules/vouchers/vo-po1.js +1 -14
  1072. package/server/modules/vouchers/vo-ppb.js +1 -8
  1073. package/server/modules/vouchers/vo-pt1.js +1 -20
  1074. package/server/modules/vouchers/vo-pt5.js +1 -15
  1075. package/server/modules/vouchers/vo-ptl.js +1 -8
  1076. package/server/modules/vouchers/vo-purchase_contract.js +1 -9
  1077. package/server/modules/vouchers/vo-pxc.js +1 -24
  1078. package/server/modules/vouchers/vo-pxh.js +1 -18
  1079. package/server/modules/vouchers/vo-pxk.js +1 -15
  1080. package/server/modules/vouchers/vo-pxknpp.js +1 -14
  1081. package/server/modules/vouchers/vo-qts.js +1 -12
  1082. package/server/modules/vouchers/vo-sale_contract.js +1 -11
  1083. package/server/modules/vouchers/vo-shipbook.js +1 -17
  1084. package/server/modules/vouchers/vo-so1.js +1 -125
  1085. package/server/modules/vouchers/vo-so5.js +1 -57
  1086. package/server/modules/vouchers/vo-so7.js +1 -97
  1087. package/server/modules/vouchers/vo-so9.js +1 -119
  1088. package/server/modules/vouchers/vo-vanchuyen.js +1 -14
  1089. package/server/modules/vouchers/vo-xhd.js +1 -33
  1090. package/server/route.js +1 -54
  1091. package/server/services/invoiceFetcher.js +1 -12
  1092. package/server/sslConfig.js +1 -2
  1093. package/server/test/array.js +59 -0
  1094. package/server/test/utils.js +191 -0
  1095. package/server/tools/agent-benchmark.js +268 -0
  1096. package/server/tools/redis-smoke-test.js +195 -0
  1097. package/server/workers/backupApp.js +1 -10
  1098. package/server/workers/calcGrid.js +1 -9
  1099. package/server/workers/excelParser.js +1 -10
  1100. package/server/workers/inputWorker.js +1 -8
  1101. package/server/workers/pushNotify.js +1 -11
  1102. package/server/workers/reportWorker.js +1 -8
  1103. package/server/workers/restoreApp.js +1 -10
  1104. package/server/workers/runScript.js +1 -5
  1105. package/server/workers/sendEmail.js +1 -14
  1106. package/server/workers/webhook.js +1 -5
  1107. package/server/workers/worker-utils.js +1 -5
  1108. package/enable_mongo_replica.sh +0 -100
  1109. package/server/auths/local_old.js +0 -60
  1110. package/server/controllers/controllerUtils_v1.js +0 -72
  1111. package/server/controllers/controller_old.js +0 -129
  1112. package/server/controllers/createHandler_old.js +0 -35
  1113. package/server/controllers/deleteHandler_old.js +0 -12
  1114. package/server/controllers/exportHandler_old.js +0 -17
  1115. package/server/controllers/findHandler_old.js +0 -74
  1116. package/server/controllers/importFromJsonHandler_old.js +0 -6
  1117. package/server/controllers/importHandler_old.js +0 -41
  1118. package/server/controllers/updateFieldHandler_old.js +0 -13
  1119. package/server/controllers/updateHandler_old.js +0 -40
  1120. package/server/controllers/viewHandler_old.js +0 -14
  1121. package/server/libs/BlockchainTransactionPool.js +0 -3
  1122. package/server/libs/WorkerStaticPool_v1.js +0 -5
  1123. package/server/libs/WorkerStaticPool_v2.js +0 -16
  1124. package/server/libs/WorkerStaticPool_v3.js +0 -19
  1125. package/server/libs/cdpskh_old.js +0 -9
  1126. package/server/libs/ckcn_old.js +0 -11
  1127. package/server/libs/cktt_old.js +0 -9
  1128. package/server/libs/ckvt_old.js +0 -12
  1129. package/server/libs/databanle_old.js +0 -18
  1130. package/server/libs/dkcn_old.js +0 -10
  1131. package/server/libs/dktt_old.js +0 -8
  1132. package/server/libs/dkvt_old.js +0 -9
  1133. package/server/libs/getGiaban_old.js +0 -70
  1134. package/server/libs/joinData_bk.js +0 -44
  1135. package/server/libs/optimizeBookkeeping_bk.js +0 -14
  1136. package/server/libs/permission_old.js +0 -58
  1137. package/server/libs/thnxt_old.js +0 -9
  1138. package/server/libs/tinhgiatb1vt_old.js +0 -5
  1139. package/server/libs/tinhgiatb_old.js +0 -39
  1140. package/server/libs/vsocai_old.js +0 -7
  1141. package/server/modules/lists/ls-assabcihandler.js +0 -3
  1142. package/server/modules/lists/ls-assbooking.js +0 -20
  1143. package/server/modules/lists/ls-assbuy.js +0 -8
  1144. package/server/modules/lists/ls-assinvestment.js +0 -31
  1145. package/server/modules/lists/ls-assneedtobuy.js +0 -10
  1146. package/server/modules/lists/ls-assperiod.js +0 -19
  1147. package/server/modules/lists/ls-assproduct.js +0 -9
  1148. package/server/modules/lists/ls-assprofitsharing.js +0 -8
  1149. package/server/modules/lists/ls-asssell.js +0 -13
  1150. package/server/modules/lists/ls-asswithdraw.js +0 -12
  1151. package/server/modules/reports/rp-analyzedata.js +0 -6
  1152. package/server/modules/reports/rp-assinterest.js +0 -8
  1153. package/server/modules/reports/rp-assproductowners.js +0 -3
  1154. package/server/workers/restoreApp_bk.js +0 -23
@@ -1,74 +1 @@
1
- const {tool}=require("ai"),{z}=require("zod"),{searchActiveListInfo,translateDocToText,resolveDirectRefFilter,resolveRefMetaByKeyword,resolveHopChain,normalizeHops,bangTuDienDanhMuc}=require("./utils"),moment=require("moment");global.__aiConfigCache=global.__aiConfigCache||new Map;
2
- function pushUnionCondition($conditions$$,$field$$,$values$$){$field$$.startsWith("ma_nvt")?$conditions$$.push({$or:[{ma_nvt:{$in:$values$$}},{ma_nvt2:{$in:$values$$}},{ma_nvt3:{$in:$values$$}},{ma_nvt4:{$in:$values$$}}]}):$field$$.startsWith("nh_kh")?$conditions$$.push({$or:[{nh_kh:{$in:$values$$}},{nh_kh2:{$in:$values$$}},{nh_kh3:{$in:$values$$}},{nh_kh4:{$in:$values$$}},{nh_kh5:{$in:$values$$}}]}):$conditions$$.push({[$field$$]:{$in:$values$$}})}
3
- async function buildUniversalRefConditions($controllerCode$$,$hops_pathDef_ref_filters_resolved_resolved$$,$id_app$$){let $conditions$$=[];if(!$hops_pathDef_ref_filters_resolved_resolved$$||$hops_pathDef_ref_filters_resolved_resolved$$.length===0)return $conditions$$;var $ctrl_jsonSchema$$=global.controllers[$controllerCode$$.toUpperCase()];if(!$ctrl_jsonSchema$$||typeof $ctrl_jsonSchema$$.getJsonSchema!=="function")throw Error(`[System Error] Controller ${$controllerCode$$} kh\u00f4ng h\u1ed7 tr\u1ee3 h\u00e0m getJsonSchema.`);
4
- Logger.info("[buildUniversalRefConditions] \u0111ang l\u1ea5y schema c\u1ee7a",$controllerCode$$);$ctrl_jsonSchema$$=await $ctrl_jsonSchema$$.getJsonSchema($id_app$$);if(!$ctrl_jsonSchema$$)throw Error(`[System Error] H\u00e0m getJsonSchema c\u1ee7a controller ${$controllerCode$$} \u0111ang tr\u1ea3 v\u1ec1 r\u1ed7ng (undefined)!`);for(let $filter$$ of $hops_pathDef_ref_filters_resolved_resolved$$)if($hops_pathDef_ref_filters_resolved_resolved$$=normalizeHops($filter$$)){$hops_pathDef_ref_filters_resolved_resolved$$=
5
- await resolveHopChain($hops_pathDef_ref_filters_resolved_resolved$$,$filter$$.keyword,$id_app$$);if($hops_pathDef_ref_filters_resolved_resolved$$.error)throw Error(`EMPTY_HOP|D\u1ea1 S\u1ebfp, ${$hops_pathDef_ref_filters_resolved_resolved$$.error}`);pushUnionCondition($conditions$$,$filter$$.field,$hops_pathDef_ref_filters_resolved_resolved$$.values)}else{$hops_pathDef_ref_filters_resolved_resolved$$=$ctrl_jsonSchema$$[$filter$$.field];if(!$hops_pathDef_ref_filters_resolved_resolved$$)throw Error(`EMPTY_REF|D\u1ea1 S\u1ebfp, em kh\u00f4ng t\u00ecm th\u1ea5y tr\u01b0\u1eddng '${$filter$$.field}' trong d\u1eef li\u1ec7u '${$controllerCode$$}' \u2014 c\u00f3 th\u1ec3 t\u00ean field b\u1ecb sai, em c\u1ea7n ki\u1ec3m tra l\u1ea1i.`);
6
- if($hops_pathDef_ref_filters_resolved_resolved$$.ref&&$hops_pathDef_ref_filters_resolved_resolved$$.ref.ref_model){const $resolved$$=await resolveRefMetaByKeyword($hops_pathDef_ref_filters_resolved_resolved$$.ref,$filter$$.keyword,$id_app$$);if($resolved$$.error)throw Error(`EMPTY_REF|D\u1ea1 S\u1ebfp, ${$resolved$$.error}`);let $matchedValues$$=$resolved$$.values;if($hops_pathDef_ref_filters_resolved_resolved$$.ref.ref_model==="dmnvt"&&$filter$$.field.startsWith("ma_nvt")||$hops_pathDef_ref_filters_resolved_resolved$$.ref.ref_model===
7
- "dmnhkh"&&$filter$$.field.startsWith("nh_kh"))$matchedValues$$=await Promise.all($matchedValues$$.map($v$$=>$resolved$$.refModel.getAllChildrenGroup($id_app$$,$v$$)));pushUnionCondition($conditions$$,$filter$$.field,$matchedValues$$);Logger.warn("[buildUniversalRefConditions] d\u1eef li\u1ec7u li\u00ean k\u1ebft",$controllerCode$$,JSON.stringify($conditions$$,null,2))}else if($hops_pathDef_ref_filters_resolved_resolved$$.options&&Array.isArray($hops_pathDef_ref_filters_resolved_resolved$$.options.options)){$hops_pathDef_ref_filters_resolved_resolved$$=
8
- await resolveDirectRefFilter($hops_pathDef_ref_filters_resolved_resolved$$,$filter$$.keyword,$id_app$$);if($hops_pathDef_ref_filters_resolved_resolved$$.error)throw Error(`EMPTY_REF|D\u1ea1 S\u1ebfp, ph\u00e2n lo\u1ea1i '${$filter$$.keyword}' kh\u00f4ng h\u1ee3p l\u1ec7.`);$conditions$$.push({[$filter$$.field]:{$in:$hops_pathDef_ref_filters_resolved_resolved$$.values}})}}return $conditions$$}
9
- async function resolveControllerConfig($config_listInfoDoc_searchResult_type$$,$controllerCode$$){var $choices_configCacheKey_mapping$$={flow:{title:"Quy tr\u00ecnh",controllerCode:"FLOW",model:"flow",idField:"_id",codeField:"title",searchFields:["title"],selectFields:{_id:1,title:1}},account:{title:"T\u00e0i kho\u1ea3n",controllerCode:"ACCOUNT",model:"account",idField:"_id",codeField:"tk",searchFields:["tk","ten_tk"],selectFields:{tk:1,ten_tk:1}},customer:{title:"Kh\u00e1ch h\u00e0ng",controllerCode:"CUSTOMER",
10
- model:"customer",idField:"_id",codeField:"ma_kh",searchFields:["ten_kh","dien_thoai","ma_kh"],selectFields:{ma_kh:1,ten_kh:1,dien_thoai:1,dia_chi:1}},product:{title:"S\u1ea3n ph\u1ea9m/V\u1eadt t\u01b0",controllerCode:"DMVT",model:"dmvt",idField:"_id",codeField:"ma_vt",searchFields:["ten_vt","ma_vt"],selectFields:{ma_vt:1,ten_vt:1}},product_group:{title:"Nh\u00f3m s\u1ea3n ph\u1ea9m/V\u1eadt t\u01b0",controllerCode:"PRODUCT_GROUP",model:"dmnvt",idField:"_id",codeField:"_id",searchFields:["ten_nvt"],
11
- selectFields:{_id:1,ten_nvt:1}},ecomproductlines:{title:"Ng\u00e0nh h\u00e0ng",controllerCode:"ECOMPRODUCTLINES",model:"ecomproductlines",idField:"_id",codeField:"ma_nganh_hang",searchFields:["ma_nganh_hang","ten_nganh_hang"],selectFields:{ma_nganh_hang:1,ten_nganh_hang:1}},employee:{title:"Nh\u00e2n s\u1ef1",controllerCode:"DMNV",model:"dmnv",idField:"_id",codeField:"ma_nv",searchFields:["ten_nv","ma_nv"],selectFields:{ma_nv:1,ten_nv:1}},department:{title:"Ph\u00f2ng ban",controllerCode:"DMBP",model:"dmbp",
12
- idField:"_id",codeField:"ma_bp",searchFields:["ten_bp","ma_bp"],selectFields:{ma_bp:1,ten_bp:1}},project:{title:"D\u1ef1 \u00e1n",controllerCode:"DMDT",model:"dmdt",idField:"_id",codeField:"ma_dt",searchFields:["ten_dt","ma_dt"],selectFields:{ma_dt:1,ten_dt:1}},fee:{title:"Kho\u1ea3n ph\u00ed",controllerCode:"DMPHI",model:"dmphi",idField:"_id",codeField:"ma_phi",searchFields:["ten_phi","ma_phi"],selectFields:{ma_phi:1,ten_phi:1}},contract:{title:"H\u1ee3p \u0111\u1ed3ng",controllerCode:"CONTRACT",
13
- model:"contract",idField:"_id",codeField:"so_hd",searchFields:["ten_hd","so_hd"],selectFields:{so_hd:1,ten_hd:1}},cost_factor:{title:"Y\u1ebfu t\u1ed1 chi ph\u00ed",controllerCode:"DMYT",model:"dmyt",idField:"_id",codeField:"ma_yt",searchFields:["ten_yt","ma_yt"],selectFields:{ma_yt:1,ten_yt:1}}};if($choices_configCacheKey_mapping$$[$config_listInfoDoc_searchResult_type$$])return{config:$choices_configCacheKey_mapping$$[$config_listInfoDoc_searchResult_type$$],isDynamic:!1};$choices_configCacheKey_mapping$$=
14
- `config_${$config_listInfoDoc_searchResult_type$$}`;if(global.__aiConfigCache&&global.__aiConfigCache.has($choices_configCacheKey_mapping$$)){var $cachedData_controller_dynamicSearchFields_formFields$$=global.__aiConfigCache.get($choices_configCacheKey_mapping$$);if(Date.now()-$cachedData_controller_dynamicSearchFields_formFields$$.timestamp<(global.CONFIG_CACHE_TTL||36E5))return{config:$cachedData_controller_dynamicSearchFields_formFields$$.config,isDynamic:!0};global.__aiConfigCache.delete($choices_configCacheKey_mapping$$)}const $searchKeywords$$=
15
- [$config_listInfoDoc_searchResult_type$$,...($controllerCode$$||[])];$config_listInfoDoc_searchResult_type$$=await searchActiveListInfo({keywords:$searchKeywords$$,include_fields_schema:!1,limit:5});if(!$config_listInfoDoc_searchResult_type$$||$config_listInfoDoc_searchResult_type$$.docs.length===0)throw Error(`Kh\u00f4ng t\u00ecm th\u1ea5y ch\u1ee9c n\u0103ng kh\u1edbp v\u1edbi t\u1eeb kho\u00e1: [${$searchKeywords$$.join(", ")}].`);if($config_listInfoDoc_searchResult_type$$.docs.length>1)if($controllerCode$$=
16
- $config_listInfoDoc_searchResult_type$$.docs.find($d$$=>{const $dTitle$$=$d$$.title.toLowerCase().trim(),$dCode$$=$d$$.finalCode.toLowerCase().trim();return $searchKeywords$$.some($kw$$=>$kw$$.toLowerCase().trim()===$dTitle$$||$kw$$.toLowerCase().trim()===$dCode$$)}))$config_listInfoDoc_searchResult_type$$.docs=[$controllerCode$$];else throw $choices_configCacheKey_mapping$$=$config_listInfoDoc_searchResult_type$$.docs.map($doc$$=>`- **${$doc$$.title}** (M\u00e3: ${$doc$$.finalCode})`),Error(`MULTIPLE_MATCHES|${JSON.stringify($config_listInfoDoc_searchResult_type$$.docs)}|D\u1ea1 S\u1ebfp, em t\u00ecm th\u1ea5y v\u00e0i ch\u1ee9c n\u0103ng kh\u1edbp: \n${$choices_configCacheKey_mapping$$.join("\n")}\n S\u1ebfp mu\u1ed1n tra c\u1ee9u \u1edf \u0111\u00e2u \u1ea1?`);
17
- $config_listInfoDoc_searchResult_type$$=$config_listInfoDoc_searchResult_type$$.docs[0];$controllerCode$$=$config_listInfoDoc_searchResult_type$$.finalCode.toUpperCase();$cachedData_controller_dynamicSearchFields_formFields$$=global.controllers[$controllerCode$$];if(!$cachedData_controller_dynamicSearchFields_formFields$$||typeof $cachedData_controller_dynamicSearchFields_formFields$$.findData!=="function")throw Error(`Ch\u1ee9c n\u0103ng '${$controllerCode$$}' thi\u1ebfu h\u00e0m findData().`);const $Model$$=
18
- $cachedData_controller_dynamicSearchFields_formFields$$.model;$cachedData_controller_dynamicSearchFields_formFields$$=[];if($config_listInfoDoc_searchResult_type$$.search_form){const $searchFormDoc$$=await global.getModel("listinfo").findOne({code:$config_listInfoDoc_searchResult_type$$.search_form}).lean();$searchFormDoc$$&&Array.isArray($searchFormDoc$$.fields)&&($cachedData_controller_dynamicSearchFields_formFields$$=$searchFormDoc$$.fields.map($f$$=>$f$$.name).filter(Boolean),$cachedData_controller_dynamicSearchFields_formFields$$=
19
- $Model$$&&$Model$$.schema&&$Model$$.schema.paths?$cachedData_controller_dynamicSearchFields_formFields$$.filter($f$$=>$Model$$.schema.paths[$f$$]&&$Model$$.schema.paths[$f$$].instance==="String"):$cachedData_controller_dynamicSearchFields_formFields$$)}$cachedData_controller_dynamicSearchFields_formFields$$.length===0&&$Model$$&&$Model$$.schema&&$Model$$.schema.paths&&($cachedData_controller_dynamicSearchFields_formFields$$=Object.keys($Model$$.schema.paths).filter($p$$=>$Model$$.schema.paths[$p$$].instance===
20
- "String"));$config_listInfoDoc_searchResult_type$$={title:$config_listInfoDoc_searchResult_type$$.title,controllerCode:$controllerCode$$,model:$Model$$?.modelName||$controllerCode$$.toLowerCase(),idField:"_id",codeField:$cachedData_controller_dynamicSearchFields_formFields$$.includes(`ma_${$controllerCode$$.toLowerCase()}`)?`ma_${$controllerCode$$.toLowerCase()}`:$cachedData_controller_dynamicSearchFields_formFields$$[0]||"_id",searchFields:$cachedData_controller_dynamicSearchFields_formFields$$.length>
21
- 0?$cachedData_controller_dynamicSearchFields_formFields$$:["title","name","code","so_ct"],selectFields:{}};global.__aiConfigCache&&global.__aiConfigCache.set($choices_configCacheKey_mapping$$,{timestamp:Date.now(),config:$config_listInfoDoc_searchResult_type$$});return{config:$config_listInfoDoc_searchResult_type$$,isDynamic:!0}}
22
- function buildTimeCondition($tu_ngay$$,$den_ngay$$,$Model$$){let $dateField$$="date_created";if(($Model$$=global.getModel($Model$$))&&$Model$$.schema&&$Model$$.schema.paths)for(var $field$$ of["ngay_ct","start_date","date_created"])if($Model$$.schema.paths[$field$$]){$dateField$$=$field$$;break}$field$$={};let $start$$,$end$$;if($tu_ngay$$||$den_ngay$$)$end$$=$den_ngay$$?new Date($den_ngay$$):new Date,$start$$=$tu_ngay$$?new Date($tu_ngay$$):new Date($end$$.getFullYear(),$end$$.getMonth(),1),$field$$[$dateField$$]=
23
- {$gte:moment($start$$).startOf("date").toDate(),$lte:moment($end$$).endOf("date").toDate()};return{timeCondition:$field$$,dateField:$dateField$$,start:$start$$,end:$end$$}}
24
- function buildKeywordConditionLadder($id_ladder$$,$code$$,$keywords$$,$config$$){if($id_ladder$$)return[{condition:{[$config$$.idField]:$id_ladder$$},matchedBy:"id"}];const $fieldsToSearch$$=Array.from(new Set([...$config$$.searchFields,$config$$.codeField])).filter($f$$=>$f$$!=="_id");$id_ladder$$=[];$code$$&&$config$$.codeField&&$config$$.codeField!=="_id"&&$id_ladder$$.push({condition:{[$config$$.codeField]:{$regex:`^${$code$$}$`,$options:"i"}},matchedBy:"exact_code"});let $allSearchTerms$$=[];
25
- $code$$&&$allSearchTerms$$.push($code$$);$keywords$$&&$keywords$$.length>0&&$allSearchTerms$$.push(...$keywords$$);if($allSearchTerms$$.length===0)return $id_ladder$$;$allSearchTerms$$.length===1?$id_ladder$$.push({condition:{$or:$fieldsToSearch$$.map($f$$=>({[$f$$]:{$regex:$allSearchTerms$$[0],$options:"i"}}))},matchedBy:"keyword_matched"}):($id_ladder$$.push({condition:{$and:$allSearchTerms$$.map($kw$$=>({$or:$fieldsToSearch$$.map($f$$=>({[$f$$]:{$regex:$kw$$,$options:"i"}}))}))},matchedBy:"all_keywords_matched"}),
26
- $id_ladder$$.push({condition:{$or:$allSearchTerms$$.flatMap($kw$$=>$fieldsToSearch$$.map($f$$=>({[$f$$]:{$regex:$kw$$,$options:"i"}})))},matchedBy:"any_keyword_matched"}));$code$$=[...(new Set($allSearchTerms$$.flatMap($kw$$=>String($kw$$).split(/\s+/)).filter($w$$=>$w$$.length>1)))];$code$$.length>0&&$code$$.length!==$allSearchTerms$$.length&&$id_ladder$$.push({condition:{$or:$code$$.flatMap($w$$=>$fieldsToSearch$$.map($f$$=>({[$f$$]:{$regex:$w$$,$options:"i"}})))},matchedBy:"fuzzy_single_word"});
27
- return $id_ladder$$}
28
- async function fetchItemRelations($item$$,$contacts_controllerCode$$,$secureFind$$){const $docIdStr$$=$item$$._id,$getRel$$=async($ctrl$$,$cond$$,$l$$)=>{$ctrl$$=await $secureFind$$($ctrl$$,$cond$$,{limit:$l$$});return Array.isArray($ctrl$$)?$ctrl$$:$ctrl$$?.data||$ctrl$$?.rows||[]};var $appts_notes_tasks$$=await $getRel$$("NOTE",{id_link:$docIdStr$$},10);$appts_notes_tasks$$.length&&($item$$.cac_ghi_chu=await Promise.all($appts_notes_tasks$$.map($n$$=>translateDocToText($n$$,"note"))));$appts_notes_tasks$$=
29
- await $getRel$$("TASK",{$or:[{id_link:$docIdStr$$},{id_kh:$docIdStr$$},{id_bp:$docIdStr$$},{id_dt:$docIdStr$$}]},10);$appts_notes_tasks$$.length>0&&($item$$.cong_viec=await Promise.all($appts_notes_tasks$$.map($t$$=>translateDocToText($t$$,"task"))));$appts_notes_tasks$$=await $getRel$$("DATLICH",{id_link:$docIdStr$$},5);$appts_notes_tasks$$.length>0&&($item$$.lich_lam_viec=await Promise.all($appts_notes_tasks$$.map($a$$=>translateDocToText($a$$,"datlich"))));$contacts_controllerCode$$==="CUSTOMER"&&
30
- ($contacts_controllerCode$$=await $getRel$$("LIENHE",{id_kh:$docIdStr$$},10),$contacts_controllerCode$$.length&&($item$$.thong_tin_lien_he=await Promise.all($contacts_controllerCode$$.map($c$$=>translateDocToText($c$$,"lienhe")))));return $item$$}const extractPagination=($r$$,$dp$$,$dl$$)=>$r$$&&$r$$.pagination?{total:$r$$.pagination.total||0,totalPages:$r$$.pagination.totalPages||1,page:$r$$.pagination.page||$dp$$,limit:$r$$.pagination.limit||$dl$$}:{total:0,totalPages:1,page:$dp$$,limit:$dl$$};
31
- function createMasterDataTools($id_app$$,$user_id$$){return{lookupMasterDataTool:tool({description:`C\u00f4ng c\u1ee5 TRA C\u1ee8U danh m\u1ee5c, h\u1ed3 s\u01a1, ch\u1ee9ng t\u1eeb (CH\u1ec8 tra c\u1ee9u \u2014 KH\u00d4NG d\u00f9ng \u0111\u1ec3 th\u1ed1ng k\u00ea/\u0111\u1ebfm s\u1ed1 l\u01b0\u1ee3ng, c\u00e1c tool b\u00e1o c\u00e1o/ph\u00e2n t\u00edch kh\u00e1c \u0111\u00e3 \u0111\u1ea3m nhi\u1ec7m vi\u1ec7c \u0111\u00f3).
32
- S\u1eec D\u1ee4NG KHI:
33
- 1. T\u00ccM KI\u1ebeM CHI TI\u1ebeT: T\u00ecm h\u1ed3 s\u01a1, xem chi ti\u1ebft, C\u00d3 H\u1ed6 TR\u1ee2 PH\u00c2N TRANG. N\u1ebfu k\u1ebft qu\u1ea3 tr\u1ea3 v\u1ec1 c\u00f3 'totalPages' > 1, h\u00e3y ch\u1ee7 \u0111\u1ed9ng b\u00e1o cho S\u1ebfp bi\u1ebft.
34
- 2. L\u1eccC THEO NH\u00d3M: N\u1ebfu S\u1ebfp y\u00eau c\u1ea7u t\u00ecm trong m\u1ed9t "nh\u00f3m" (V\u00ed d\u1ee5: "s\u1ea3n ph\u1ea9m nh\u00f3m G\u1ea1ch", "kh\u00e1ch h\u00e0ng nh\u00f3m VIP"), B\u1eaeT BU\u1ed8C d\u00f9ng 'ref_filters' v\u1edbi field t\u01b0\u01a1ng \u1ee9ng (VD: field: "nh_kh" cho nh\u00f3m kh\u00e1ch h\u00e0ng, field: "ma_nvt" cho nh\u00f3m s\u1ea3n ph\u1ea9m) v\u00e0 keyword = t\u00ean nh\u00f3m.
35
- \ud83d\udd25 B\u1ea2NG T\u1eea \u0110I\u1ec2N M\u00c3 CHU\u1ea8N (CORE DICTIONARY) B\u1eaeT BU\u1ed8C D\u00d9NG:
36
- N\u1ebfu S\u1ebfp h\u1ecfi v\u1ec1 c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng c\u1ed1t l\u00f5i d\u01b0\u1edbi \u0111\u00e2y, B\u1eaeT BU\u1ed8C truy\u1ec1n ch\u00ednh x\u00e1c M\u00c3 CODE v\u00e0o tham s\u1ed1 'type':
37
- ${bangTuDienDanhMuc("type")}
38
- (KHI V\u00c0 CH\u1ec8 KHI \u0111\u1ed1i t\u01b0\u1ee3ng S\u1ebfp h\u1ecfi KH\u00d4NG C\u00d3 trong danh s\u00e1ch tr\u00ean, b\u1ea1n m\u1edbi \u0111\u01b0\u1ee3c d\u00f9ng tham s\u1ed1 'keywords' \u0111\u1ec3 t\u00ecm ki\u1ebfm t\u01b0\u01a1ng \u0111\u1ed1i)..
39
- \u26a1 KH\u00d4NG T\u00ccM TH\u1ea4Y D\u1eee LI\u1ec6U: N\u1ebfu tra c\u1ee9u theo 'code'/'keywords' c\u1ee5 th\u1ec3 m\u00e0 KH\u00d4NG c\u00f3 k\u1ebft qu\u1ea3 n\u00e0o kh\u1edbp (status: 'success_empty', suggest_create: true), B\u1eaeT BU\u1ed8C h\u1ecfi S\u1ebfp c\u00f3 mu\u1ed1n T\u1ea0O M\u1edaI h\u1ed3 s\u01a1 \u0111\u00f3 kh\u00f4ng. CH\u1ec8 khi S\u1ebfp x\u00e1c nh\u1eadn \u0111\u1ed3ng \u00fd, g\u1ecdi "manageMasterDataDocumentTool" \u0111\u1ec3 t\u1ea1o m\u1edbi \u2014 TUY\u1ec6T \u0110\u1ed0I KH\u00d4NG t\u1ef1 t\u1ea1o khi ch\u01b0a \u0111\u01b0\u1ee3c S\u1ebfp x\u00e1c nh\u1eadn, v\u00e0 KH\u00d4NG b\u1ecba th\u00eam tr\u01b0\u1eddng d\u1eef li\u1ec7u S\u1ebfp ch\u01b0a cung c\u1ea5p.`,
40
- inputSchema:z.object({type:z.string().describe("Lo\u1ea1i danh m\u1ee5c chu\u1ea9n (customer, account...)"),type_keywords:z.array(z.string()).optional().describe('T\u1eeb \u0111\u1ed3ng ngh\u0129a do AI t\u1ef1 suy lu\u1eadn (V\u00ed d\u1ee5: "B\u00e1o c\u00f3", "pt1").'),keywords:z.array(z.string()).optional().describe("(Mode search) M\u1ea3ng t\u1eeb kh\u00f3a t\u00ecm d\u1eef li\u1ec7u (T\u00ean kh\u00e1ch, s\u1ed1 ti\u1ec1n...). H\u1ec7 th\u1ed1ng t\u1ef1 d\u00f2 t\u1eeb CH\u1eb6T (kh\u1edbp h\u1ebft c\u00e1c t\u1eeb) \u0111\u1ebfn L\u1eceNG (kh\u1edbp 1 t\u1eeb \u0111\u01a1n) n\u1ebfu c\u1ea7n, kh\u00f4ng c\u1ea7n S\u1ebfp/AI t\u1ef1 lo vi\u1ec7c n\u1edbi l\u1ecfng."),
41
- ref_filters:z.array(z.object({field:z.string().describe('M\u00e3 tr\u01b0\u1eddng (field) \u1edf ch\u1ee9c n\u0103ng HI\u1ec6N T\u1ea0I (VD: "details.ma_vt" trong \u0110\u01a1n h\u00e0ng).'),keyword:z.string().describe('T\u1eeb kh\u00f3a S\u1ebfp mu\u1ed1n l\u1ecdc (VD: "C\u00e0 ph\u00ea nh\u00e2n xanh").'),hop_controller:z.string().optional().describe('N\u1ebeU C\u1ea6N B\u1eaeC C\u1ea6U (JOIN): M\u00e3 Controller c\u1ee7a b\u1ea3ng trung gian (VD: "DMVT").'),hop_field:z.string().optional().describe('N\u1ebeU C\u1ea6N B\u1eaeC C\u1ea6U: M\u00e3 tr\u01b0\u1eddng ch\u1ee9a t\u1eeb kh\u00f3a \u1edf b\u1ea3ng trung gian (VD: "ma_nvt").'),
42
- hop_extract_field:z.string().optional().describe('N\u1ebeU C\u1ea6N B\u1eaeC C\u1ea6U: Tr\u01b0\u1eddng gi\u00e1 tr\u1ecb c\u1ea7n l\u1ea5y t\u1eeb b\u1ea3ng trung gian mang v\u1ec1 \u0111\u1eafp v\u00e0o b\u1ea3ng hi\u1ec7n t\u1ea1i (VD: "ma_vt").')})).optional().describe("B\u1ed8 L\u1eccC \u0110\u1ed8NG V\u1ea0N N\u0102NG: D\u00f9ng khi S\u1ebfp mu\u1ed1n l\u1ecdc theo Kh\u00f3a Ngo\u1ea1i. C\u00f3 h\u1ed7 tr\u1ee3 b\u1eafc c\u1ea7u 2 nh\u1ecbp."),id:z.string().optional().describe("ID (_id) c\u1ee5 th\u1ec3."),
43
- code:z.string().optional().describe('M\u00e3 c\u1ee5 th\u1ec3 (V\u00ed d\u1ee5: "PT001"). H\u1ec7 th\u1ed1ng \u01b0u ti\u00ean kh\u1edbp CH\u00cdNH X\u00c1C m\u00e3 n\u00e0y tr\u01b0\u1edbc khi th\u1eed c\u00e1c c\u00e1ch t\u00ecm kh\u00e1c.'),include_relations:z.boolean().default(!1).describe("B\u1eadt TRUE \u0111\u1ec3 moi l\u1ecbch s\u1eed l\u00e0m vi\u1ec7c, ghi ch\u00fa, cu\u1ed9c g\u1ecdi."),page:z.number().optional().default(1).describe("Trang k\u1ebft qu\u1ea3 c\u1ea7n xem. M\u1eb7c \u0111\u1ecbnh 1."),
44
- limit:z.number().optional().default(15).describe("S\u1ed1 l\u01b0\u1ee3ng k\u1ebft qu\u1ea3 tr\u00ean m\u1ed7i trang."),tu_ngay:z.string().optional().describe("T\u1eeb ng\u00e0y (YYYY-MM-DD)."),den_ngay:z.string().optional().describe("\u0110\u1ebfn ng\u00e0y (YYYY-MM-DD).")}),execute:async $finalAndConditions_query$$=>{try{Logger.warn("[AI Agent][lookupMasterDataTool]: ",JSON.stringify($finalAndConditions_query$$,null,2));let {ref_filters:$ref_filters$$,type:$type$$,type_keywords:$type_keywords$$,
45
- keywords:$keywords$$,id:$id$$,code:$code$$,include_relations:$include_relations$$,page:$page$$,limit:$limit$$,tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$}=$finalAndConditions_query$$;const {config:$config$$,isDynamic:$isDynamic$$}=await resolveControllerConfig($type$$,$type_keywords$$,$id_app$$),{title:$functionName$$,controllerCode:$controllerCode$$,model:$modelName$$}=$config$$,$secureFind$$=async($ctrl$$,$condition$$,$options$$={})=>{$ctrl$$=global.controllers[$ctrl$$.toUpperCase()];if(!$ctrl$$||typeof $ctrl$$.findData!==
46
- "function")return null;$ctrl$$.require_id_app===!0&&($condition$$.id_app=$id_app$$);$ctrl$$.model.schema.paths.id_apps&&$ctrl$$.model.schema.paths.id_apps.instance==="Array"&&($condition$$.$and||($condition$$.$and=[]),$condition$$.$and.push({$or:[{id_apps:$id_app$$},{id_apps:null},{"id_apps.0":{$exists:!1}}]}));return await $ctrl$$.findData($user_id$$,$condition$$,{limit:$options$$.limit||20,page:$options$$.page||1,fields:$options$$.fields,sort:$options$$.sort,pagination:$options$$.pagination||0,
47
- count:$options$$.count||0})};var {timeCondition:$docs_timeCondition$$}=buildTimeCondition($tu_ngay$$,$den_ngay$$,$modelName$$);$finalAndConditions_query$$=[];let $matchedBy$$="all_records",$successfulKeyword$$=$keywords$$?.join(", ")||$code$$||"";Object.keys($docs_timeCondition$$).length>0&&$finalAndConditions_query$$.push($docs_timeCondition$$);const $refConditions$$=await buildUniversalRefConditions($controllerCode$$,$ref_filters$$,$id_app$$);$refConditions$$.length>0&&($finalAndConditions_query$$.push(...$refConditions$$),
48
- $matchedBy$$=$matchedBy$$==="all_records"?"dynamic_refs":`${$matchedBy$$}_and_refs`,$successfulKeyword$$+=` (\u0110\u00e3 \u00e1p d\u1ee5ng ${$refConditions$$.length} b\u1ed9 l\u1ecdc li\u00ean k\u1ebft)`);var $ladder$jscomp$1_message$$=buildKeywordConditionLadder($id$$,$code$$,$keywords$$,$config$$);const $targetFields$$=Object.keys($config$$.selectFields).length>0?$config$$.selectFields:void 0;$docs_timeCondition$$=[];let $paginationInfo$$,$res$$;if($ladder$jscomp$1_message$$.length===0){if($res$$=
49
- await $secureFind$$($controllerCode$$,$finalAndConditions_query$$.length>0?{$and:$finalAndConditions_query$$}:{},{limit:$limit$$,page:$page$$,pagination:1,fields:$targetFields$$}),$docs_timeCondition$$=$res$$?.data?.length>0?$res$$.data:[],$paginationInfo$$=extractPagination($res$$,$page$$,$limit$$),$tu_ngay$$||$den_ngay$$)$matchedBy$$=$matchedBy$$==="all_records"?"time_only":$matchedBy$$}else for(const $tier$$ of $ladder$jscomp$1_message$$){const $queryCondition$$={$and:[...$finalAndConditions_query$$,
50
- $tier$$.condition]};$res$$=await $secureFind$$($controllerCode$$,$queryCondition$$,{limit:$limit$$,page:$page$$,pagination:1,fields:$targetFields$$});const $candidateDocs$$=$res$$?.data?.length>0?$res$$.data:[];if($candidateDocs$$.length>0){$docs_timeCondition$$=$candidateDocs$$;$paginationInfo$$=extractPagination($res$$,$page$$,$limit$$);$matchedBy$$=$tier$$.matchedBy;break}}if($docs_timeCondition$$.length===0){const $hadSearchCriteria$$=$ladder$jscomp$1_message$$.length>0,$searchedTerm$$=$code$$||
51
- ($keywords$$&&$keywords$$.length>0?$keywords$$.join(", "):null),$isVoucher$$=global.controllers[$controllerCode$$.toUpperCase()]?.isVoucher===!0;return{status:"success_empty",function_used:{name:$functionName$$,code:$controllerCode$$},message:`\u0110\u00e3 truy c\u1eadp ch\u1ee9c n\u0103ng '${$functionName$$}' nh\u01b0ng KH\u00d4NG C\u00d3 d\u1eef li\u1ec7u kh\u1edbp.`,suggest_create:$hadSearchCriteria$$,hint:$hadSearchCriteria$$?`B\u00e1o S\u1ebfp: "D\u1ea1, em \u0111\u00e3 t\u00ecm trong **${$functionName$$}** nh\u01b0ng kh\u00f4ng th\u1ea5y${$searchedTerm$$?
52
- ` '${$searchedTerm$$}'`:""} n\u00e0o kh\u1edbp \u1ea1. S\u1ebfp c\u00f3 mu\u1ed1n em t\u1ea1o m\u1edbi ${$isVoucher$$?"ch\u1ee9ng t\u1eeb":"danh m\u1ee5c"} n\u00e0y kh\u00f4ng?" \u2014 N\u1ebeU S\u1ebfp \u0111\u1ed3ng \u00fd, B\u1eaeT BU\u1ed8C g\u1ecdi "manageMasterDataDocumentTool" (type: "${$type$$}") v\u1edbi \u0111\u00fang d\u1eef li\u1ec7u S\u1ebfp \u0111\u00e3 cung c\u1ea5p, KH\u00d4NG t\u1ef1 b\u1ecba th\u00eam tr\u01b0\u1eddng ch\u01b0a \u0111\u01b0\u1ee3c x\u00e1c nh\u1eadn.`:`B\u00e1o S\u1ebfp: "D\u1ea1, em \u0111\u00e3 l\u1ecdc trong **${$functionName$$}** theo y\u00eau c\u1ea7u nh\u01b0ng kh\u00f4ng t\u00ecm th\u1ea5y d\u1eef li\u1ec7u n\u00e0o kh\u1edbp \u1ea1!".`}}const $data$$=
53
- await Promise.all($docs_timeCondition$$.map(async $doc$$=>{let $item$$={...(typeof $doc$$.toObject==="function"?$doc$$.toObject():$doc$$)};$item$$._id=$item$$._id?$item$$._id.toString():void 0;$item$$._id&&($item$$.link_chi_tiet=`/#/page/list/${$controllerCode$$.toLowerCase()}?_id=${$item$$._id}`);$item$$.mieu_ta=await translateDocToText($doc$$,$modelName$$);$include_relations$$&&($item$$=await fetchItemRelations($item$$,$controllerCode$$,$secureFind$$));return $item$$}));return{status:"success",
54
- function_used:{name:$functionName$$,code:$controllerCode$$},pagination:$paginationInfo$$,current_filters:{type:$type$$,keywords:$keywords$$||[],tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$},count:$data$$.length,data:JSON.parse(JSON.stringify($data$$)),isDynamic:$isDynamic$$,successfulKeyword:$successfulKeyword$$,matchedBy:$matchedBy$$,hint:`AI L\u01afU \u00dd:
55
- 1. M\u1edf \u0111\u1ea7u: "D\u1ea1, em \u0111ang tra c\u1ee9u trong ch\u1ee9c n\u0103ng **${$functionName$$} (${$controllerCode$$})**...".
56
- 2. B\u1eaeT BU\u1ed8C t\u1ea1o link Markdown cu\u1ed1i m\u1ed7i d\u00f2ng: [M\u1edf xem chi ti\u1ebft]({link_chi_tiet}).
57
- 3. ${$paginationInfo$$.totalPages>$paginationInfo$$.page?`\u0110ang \u1edf trang ${$paginationInfo$$.page}/${$paginationInfo$$.totalPages}. H\u1ecfi S\u1ebfp c\u00f3 mu\u1ed1n xem trang ti\u1ebfp kh\u00f4ng.`:"\u0110\u00e2y l\u00e0 trang cu\u1ed1i c\u00f9ng."}`}}catch($error$$){$ladder$jscomp$1_message$$=$error$$.message||$error$$.error||$error$$.toString();if($ladder$jscomp$1_message$$?.includes("|")){const [$errCode$$,$payload$$,$hint$$]=$ladder$jscomp$1_message$$.split("|");
58
- if($errCode$$==="MULTIPLE_MATCHES")return{status:"multiple_matches",choices:JSON.parse($payload$$),hint:$hint$$};if($errCode$$==="EMPTY_GROUP"||$errCode$$==="EMPTY_CATEGORY"||$errCode$$==="EMPTY_DEPARTMENT"||$errCode$$==="EMPTY_HOP"||$errCode$$==="EMPTY_REF")return{status:"success_empty",hint:$payload$$}}Logger.info("[L\u1ed7i t\u1eeb lookupMasterDataTool]:",$ladder$jscomp$1_message$$||$error$$);return{status:"error",message:$ladder$jscomp$1_message$$||String($error$$)}}}}),manageMasterDataDocumentTool:tool({description:"C\u00f4ng c\u1ee5 TH\u00caM M\u1edaI (Create) ho\u1eb7c C\u1eacP NH\u1eacT (Update) ch\u1ee9ng t\u1eeb, danh m\u1ee5c \u0111a t\u1ea7ng.\n [QUY T\u1eaeC C\u1ea6U DAO AN TO\u00c0N - B\u1eaeT BU\u1ed8C G\u1ed2M 2 B\u01af\u1edaC]:\n - B\u01af\u1edaC 1 (L\u00ean nh\u00e1p): Lu\u00f4n g\u1ecdi tool n\u00e0y v\u1edbi 'is_confirmed: false'. Tr\u00ecnh b\u00e0y b\u1ea3n nh\u00e1p cho ng\u01b0\u1eddi d\u00f9ng v\u00e0 h\u1ecfi: \"S\u1ebfp c\u00f3 \u0111\u1ed3ng \u00fd l\u01b0u kh\u00f4ng?\".\n - B\u01af\u1edaC 2 (Ghi s\u1ed5): CH\u1ec8 KHI ng\u01b0\u1eddi d\u00f9ng x\u00e1c nh\u1eadn \"\u0110\u1ed3ng \u00fd\", m\u1edbi g\u1ecdi l\u1ea1i l\u1ea7n n\u1eefa v\u1edbi 'is_confirmed: true'.",
59
- inputSchema:z.object({action:z.enum(["create","update"]).describe('H\u00e0nh \u0111\u1ed9ng: "create" (T\u1ea1o m\u1edbi) ho\u1eb7c "update" (C\u1eadp nh\u1eadt).'),type:z.string().describe('T\u00ean lo\u1ea1i ch\u1ee9ng t\u1eeb/danh m\u1ee5c (V\u00ed d\u1ee5: "s\u1ea3n ph\u1ea9m", "kh\u00e1ch h\u00e0ng", "Phi\u1ebfu thu").'),type_keywords:z.array(z.string()).optional().describe("T\u1eeb \u0111\u1ed3ng ngh\u0129a do AI suy lu\u1eadn."),document_id:z.string().optional().describe('B\u1eaeT BU\u1ed8C n\u1ebfu action="update": L\u00e0 chu\u1ed7i _id c\u1ee7a MongoDB. TUY\u1ec6T \u0110\u1ed0I KH\u00d4NG truy\u1ec1n m\u00e3 th\u00f4 v\u00e0o \u0111\u00e2y.'),
60
- raw_data:z.record(z.any()).describe("D\u1eef li\u1ec7u JSON ch\u1ee9a c\u00e1c tr\u01b0\u1eddng c\u1ea7n t\u1ea1o/c\u1eadp nh\u1eadt."),foreign_key_lookups:z.array(z.object({field:z.string().describe('T\u00ean tr\u01b0\u1eddng c\u1ea7n \u0111i\u1ec1n Kh\u00f3a ngo\u1ea1i (VD: "ma_nvt", "nh_kh").'),target_type:z.string().describe('T\u00ean danh m\u1ee5c ch\u1ee9a kh\u00f3a \u0111\u00f3 (VD: "nh\u00f3m v\u1eadt t\u01b0", "nh\u00f3m kh\u00e1ch h\u00e0ng").'),keyword:z.string().describe('T\u1eeb kh\u00f3a/T\u00ean nh\u00f3m ng\u01b0\u1eddi d\u00f9ng g\u1ecdi (VD: "Cao c\u1ea5p", "VIP").')})).optional().describe("D\u00f9ng khi S\u1ebfp y\u00eau c\u1ea7u th\u00eam d\u1eef li\u1ec7u v\u00e0o m\u1ed9t Nh\u00f3m/Ng\u00e0nh ch\u01b0a bi\u1ebft ID. AI truy\u1ec1n t\u00ean v\u00e0o \u0111\u00e2y \u0111\u1ec3 h\u1ec7 th\u1ed1ng t\u1ef1 d\u00f2."),
61
- is_confirmed:z.boolean().describe("C\u1ea6U DAO B\u1ea2O M\u1eacT: M\u1eb7c \u0111\u1ecbnh l\u00e0 false. CH\u1ec8 \u0110\u1eb6T L\u00c0 true N\u1ebeU S\u1ebeP \u0110\u00c3 \u0110\u1ed2NG \u00dd.")}),execute:async({action:$action$$,type:$type$$,type_keywords:$type_keywords$$,document_id:$document_id$$,raw_data:$raw_data$$,foreign_key_lookups:$foreign_key_lookups$$,is_confirmed:$is_confirmed$$})=>{try{if($action$$==="update"&&(!$document_id$$||$document_id$$.trim()===""))return{status:"error",message:"Thi\u1ebfu '_id'. H\u00e3y g\u1ecdi 'lookupMasterDataTool' t\u00ecm '_id' tr\u01b0\u1edbc!"};
62
- const $searchKeywords$$=[$type$$];$type_keywords$$&&$type_keywords$$.length>0&&$searchKeywords$$.push(...$type_keywords$$);const $searchResult$$=await searchActiveListInfo({keywords:$searchKeywords$$,include_fields_schema:!0,limit:5});if(!$searchResult$$||$searchResult$$.docs.length===0)return{status:"error",message:`Kh\u00f4ng t\u00ecm th\u1ea5y ch\u1ee9c n\u0103ng '${$type$$}'.`};if($searchResult$$.docs.length>1){const $exactMatch$$=$searchResult$$.docs.find($d$$=>{const $dTitle$$=$d$$.title.toLowerCase().trim(),
63
- $dCode$$=$d$$.finalCode.toLowerCase().trim();return $searchKeywords$$.some($kw$$=>$kw$$.toLowerCase().trim()===$dTitle$$||$kw$$.toLowerCase().trim()===$dCode$$)});if($exactMatch$$)$searchResult$$.docs=[$exactMatch$$];else return{status:"multiple_matches",hint:`AI D\u1eeaNG L\u1ea0I V\u00c0 H\u1eceI S\u1ebeP: "D\u1ea1 S\u1ebfp, c\u00f3 v\u00e0i ch\u1ee9c n\u0103ng kh\u1edbp: \n${$searchResult$$.docs.map($doc$$=>`- **${$doc$$.title}** (M\u00e3: ${$doc$$.finalCode})`).join("\n")}\n S\u1ebfp mu\u1ed1n thao t\u00e1c v\u00e0o \u0111\u00e2u \u1ea1?"`}}const $listInfoDoc$$=
64
- $searchResult$$.docs[0],$controllerCode$$=$listInfoDoc$$.finalCode.toUpperCase(),$controller$$=global.controllers[$controllerCode$$];if(!$controller$$)return{status:"error",message:`Ch\u1ee9c n\u0103ng '${$controllerCode$$}' kh\u00f4ng t\u1ed3n t\u1ea1i trong Backend.`};if($foreign_key_lookups$$&&$foreign_key_lookups$$.length>0)for(let $lookup$$ of $foreign_key_lookups$$){const $targetSearch$$=await searchActiveListInfo({keywords:[$lookup$$.target_type],limit:1});if(!$targetSearch$$||$targetSearch$$.docs.length===
65
- 0)continue;const $targetCtrlCode$$=$targetSearch$$.docs[0].finalCode.toUpperCase(),$targetController$$=global.controllers[$targetCtrlCode$$];if(!$targetController$$||!$targetController$$.model)continue;const $TargetModel$$=$targetController$$.model;let $orCond$$=Object.keys($TargetModel$$.schema.paths).filter($p$$=>$TargetModel$$.schema.paths[$p$$].instance==="String"&&!["id_app","user_created"].includes($p$$)).map($f$$=>({[$f$$]:{$regex:$lookup$$.keyword,$options:"i"}}));if($orCond$$.length===0)continue;
66
- const $foundData$$=await $TargetModel$$.find({id_app:$id_app$$,$or:$orCond$$}).select("_id").limit(1).lean();if($foundData$$.length>0)$raw_data$$[$lookup$$.field]=$foundData$$[0]._id.toString(),$raw_data$$[`_${$lookup$$.field}_resolved_name`]=$lookup$$.keyword;else return{status:"reference_not_found",hint:`AI B\u1eaeT BU\u1ed8C D\u1eeaNG L\u1ea0I V\u00c0 H\u1eceI S\u1ebeP C\u00c2U N\u00c0Y: "D\u1ea1 S\u1ebfp, em \u0111\u1ecbnh th\u00eam v\u00e0o nh\u01b0ng h\u1ec7 th\u1ed1ng hi\u1ec7n ch\u01b0a c\u00f3 [${$lookup$$.target_type}] n\u00e0o mang t\u00ean l\u00e0 **${$lookup$$.keyword}**. S\u1ebfp c\u00f3 mu\u1ed1n em t\u1ea1o m\u1edbi danh m\u1ee5c n\u00e0y tr\u01b0\u1edbc kh\u00f4ng \u1ea1?"`}}const $Model$$=
67
- $controller$$.model;let $finalDataToProcess$$={...$raw_data$$,listinfo_code:$listInfoDoc$$.code};Object.keys($finalDataToProcess$$).forEach($k$$=>{$k$$.startsWith("_")&&$k$$.endsWith("_resolved_name")&&delete $finalDataToProcess$$[$k$$]});$controller$$.require_id_app!==!1&&($finalDataToProcess$$.id_app=$id_app$$);$action$$==="create"&&$Model$$&&$Model$$.schema&&$Model$$.schema.paths&&($Model$$.schema.paths.ngay_ct&&!$finalDataToProcess$$.ngay_ct&&($finalDataToProcess$$.ngay_ct=new Date),$Model$$.schema.paths.date_created&&
68
- !$finalDataToProcess$$.date_created&&($finalDataToProcess$$.date_created=new Date));if($Model$$&&$Model$$.schema&&$Model$$.schema.paths){const $castDataTypes$$=($dataObj_pathDef$$,$schemaPaths$$,$parentKey$$="")=>{if(Array.isArray($dataObj_pathDef$$))return $dataObj_pathDef$$.map($item$$=>$castDataTypes$$($item$$,$schemaPaths$$,$parentKey$$));if($dataObj_pathDef$$&&typeof $dataObj_pathDef$$==="object"){let $result$$={};for(let [$key$$,$val$$]of Object.entries($dataObj_pathDef$$)){let $fullPath$$=
69
- $parentKey$$?`${$parentKey$$}.${$key$$}`:$key$$;$dataObj_pathDef$$=$schemaPaths$$[$fullPath$$];Array.isArray($val$$)?$result$$[$key$$]=$val$$.map($item$$=>$castDataTypes$$($item$$,$schemaPaths$$,$fullPath$$)):$val$$!==null&&typeof $val$$==="object"?$result$$[$key$$]=$castDataTypes$$($val$$,$schemaPaths$$,$fullPath$$):($dataObj_pathDef$$&&($dataObj_pathDef$$.instance==="Number"&&typeof $val$$==="string"?$val$$=Number($val$$.replace(/[^0-9.-]/g,"")):$dataObj_pathDef$$.instance==="Date"&&typeof $val$$===
70
- "string"&&($val$$=new Date($val$$))),$result$$[$key$$]=$val$$)}return $result$$}return $dataObj_pathDef$$};$finalDataToProcess$$=$castDataTypes$$($finalDataToProcess$$,$Model$$.schema.paths)}if(!$is_confirmed$$)return{status:"pending_confirmation",message:"D\u1eef li\u1ec7u \u0111\u00e3 \u0111\u01b0\u1ee3c chu\u1ea9n h\u00f3a. \u0110ang ch\u1edd x\u00e1c nh\u1eadn.",data_preview:$finalDataToProcess$$,hint:`AI L\u00c0M \u0110\u00daNG 2 VI\u1ec6C:
71
- 1. Tr\u00ecnh b\u00e0y d\u1eef li\u1ec7u chu\u1ea9n b\u1ecb ${$action$$==="create"?"T\u1ea0O M\u1edaI":"C\u1eacP NH\u1eacT"} th\u00e0nh B\u1ea2NG (c\u00f3 nh\u1eafc \u0111\u1ebfn c\u00e1c Nh\u00f3m \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ef1 \u0111\u1ed9ng map th\u00e0nh c\u00f4ng n\u1ebfu c\u00f3).
72
- 2. H\u1ecfi ch\u1ed1t: "D\u1ea1 S\u1ebfp, S\u1ebfp xem th\u00f4ng tin \u0111\u00e3 chu\u1ea9n ch\u01b0a, ph\u1ea3n h\u1ed3i '\u0110\u1ed3ng \u00fd' \u0111\u1ec3 em ghi s\u1ed5 nh\u00e9!"`};let $resultDoc$$;$resultDoc$$=$action$$==="create"?await $controller$$.createData($user_id$$,$finalDataToProcess$$):await $controller$$.updateData($user_id$$,$document_id$$,$finalDataToProcess$$);const $plainResultDoc$$=typeof $resultDoc$$.toObject==="function"?$resultDoc$$.toObject():
73
- $resultDoc$$,$safeResultData$$=JSON.parse(JSON.stringify($plainResultDoc$$)),$link_chi_tiet$$=`/#/page/list/${$listInfoDoc$$.code}?_id=${$safeResultData$$._id}`;return{status:"success",link_chi_tiet:$link_chi_tiet$$,hint:`B\u00e1o S\u1ebfp: "D\u1ea1 S\u1ebfp, em \u0111\u00e3 ${$action$$==="create"?"T\u1ea1o m\u1edbi":"C\u1eadp nh\u1eadt"} th\u00e0nh c\u00f4ng trong **${$listInfoDoc$$.title}**. [M\u1edf xem chi ti\u1ebft](${$link_chi_tiet$$})"`}}catch($error$$){return console.error("[L\u1ed7i thao t\u00e1c d\u1eef li\u1ec7u]:",
74
- $error$$),{status:"error",message:$error$$.message||String($error$$)}}}})}}module.exports={createMasterDataTools};
1
+ const _0x3ac78d=_0x19b3;(function(_0x100832,_0x59bd5a){const _0x64d36d=_0x19b3,_0x3ebf10=_0x100832();while(!![]){try{const _0x4e15de=parseInt(_0x64d36d(0x2cd))/0x1+-parseInt(_0x64d36d(0x39a))/0x2+-parseInt(_0x64d36d(0x15c))/0x3*(parseInt(_0x64d36d(0x33e))/0x4)+-parseInt(_0x64d36d(0x123))/0x5+-parseInt(_0x64d36d(0x3db))/0x6+-parseInt(_0x64d36d(0x35f))/0x7+parseInt(_0x64d36d(0xf9))/0x8*(parseInt(_0x64d36d(0x40a))/0x9);if(_0x4e15de===_0x59bd5a)break;else _0x3ebf10['push'](_0x3ebf10['shift']());}catch(_0x2e66d9){_0x3ebf10['push'](_0x3ebf10['shift']());}}}(_0x2af2,0x88b0c));function _0x19b3(_0x161994,_0x39aa27){_0x161994=_0x161994-0xe1;const _0x2af224=_0x2af2();let _0x19b362=_0x2af224[_0x161994];if(_0x19b3['efwhvc']===undefined){var _0x2da15d=function(_0x3c8419){const _0x2923a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa96697='',_0x1c57fd='';for(let _0x234ebc=0x0,_0x2c6c97,_0x1448c6,_0x322475=0x0;_0x1448c6=_0x3c8419['charAt'](_0x322475++);~_0x1448c6&&(_0x2c6c97=_0x234ebc%0x4?_0x2c6c97*0x40+_0x1448c6:_0x1448c6,_0x234ebc++%0x4)?_0xa96697+=String['fromCharCode'](0xff&_0x2c6c97>>(-0x2*_0x234ebc&0x6)):0x0){_0x1448c6=_0x2923a5['indexOf'](_0x1448c6);}for(let _0x23204f=0x0,_0x148eb1=_0xa96697['length'];_0x23204f<_0x148eb1;_0x23204f++){_0x1c57fd+='%'+('00'+_0xa96697['charCodeAt'](_0x23204f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c57fd);};_0x19b3['uHPXER']=_0x2da15d,_0x19b3['NJwBBt']={},_0x19b3['efwhvc']=!![];}const _0x2ad3bc=_0x2af224[0x0],_0x3fc0a1=_0x161994+_0x2ad3bc,_0x6a98b6=_0x19b3['NJwBBt'][_0x3fc0a1];return!_0x6a98b6?(_0x19b362=_0x19b3['uHPXER'](_0x19b362),_0x19b3['NJwBBt'][_0x3fc0a1]=_0x19b362):_0x19b362=_0x6a98b6,_0x19b362;}const {tool}=require('ai'),{z}=require('zod'),{searchActiveListInfo,translateDocToText,resolveDirectRefFilter,resolveRefMetaByKeyword,resolveHopChain,normalizeHops,bangTuDienDanhMuc}=require(_0x3ac78d(0x4d3)+'ls'),moment=require(_0x3ac78d(0x19f)+'t');global[_0x3ac78d(0x403)+_0x3ac78d(0x21e)+_0x3ac78d(0x381)]=global[_0x3ac78d(0x403)+_0x3ac78d(0x21e)+_0x3ac78d(0x381)]||new Map();function pushUnionCondition(_0x1b0a7a,_0x3157e5,_0x156927){const _0x17213b=_0x3ac78d;if(_0x3157e5['start'+_0x17213b(0x245)](_0x17213b(0x397)+'t')){const _0x1f3c72={};_0x1f3c72['$in']=_0x156927;const _0x4034b1={};_0x4034b1[_0x17213b(0x397)+'t']=_0x1f3c72;const _0x34188e={};_0x34188e['$in']=_0x156927;const _0x30dc8a={};_0x30dc8a[_0x17213b(0x397)+'t2']=_0x34188e;const _0x522409={};_0x522409[_0x17213b(0x2eb)]=_0x156927;const _0x426c9b={};_0x426c9b[_0x17213b(0x397)+'t3']=_0x522409;const _0x3d0c4f={};_0x3d0c4f[_0x17213b(0x2eb)]=_0x156927;const _0x2220bf={};_0x2220bf[_0x17213b(0x397)+'t4']=_0x3d0c4f;const _0x4ceb60={};_0x4ceb60[_0x17213b(0x13b)]=[_0x4034b1,_0x30dc8a,_0x426c9b,_0x2220bf],_0x1b0a7a['push'](_0x4ceb60);}else{if(_0x3157e5[_0x17213b(0x336)+'sWith'](_0x17213b(0x1f9))){const _0x5c28d5={};_0x5c28d5[_0x17213b(0x2eb)]=_0x156927;const _0x586901={};_0x586901[_0x17213b(0x1f9)]=_0x5c28d5;const _0x50328c={};_0x50328c[_0x17213b(0x2eb)]=_0x156927;const _0x1c156f={};_0x1c156f['nh_kh'+'2']=_0x50328c;const _0x5a40e6={};_0x5a40e6[_0x17213b(0x2eb)]=_0x156927;const _0x142798={};_0x142798[_0x17213b(0x1f9)+'3']=_0x5a40e6;const _0xe3a8e9={};_0xe3a8e9[_0x17213b(0x2eb)]=_0x156927;const _0x5e9351={};_0x5e9351['nh_kh'+'4']=_0xe3a8e9;const _0xc9619e={};_0xc9619e[_0x17213b(0x2eb)]=_0x156927;const _0x26a2bc={};_0x26a2bc[_0x17213b(0x1f9)+'5']=_0xc9619e;const _0x443319={};_0x443319['$or']=[_0x586901,_0x1c156f,_0x142798,_0x5e9351,_0x26a2bc],_0x1b0a7a[_0x17213b(0x13c)](_0x443319);}else{const _0x3db763={};_0x3db763[_0x17213b(0x2eb)]=_0x156927;const _0x24646d={};_0x24646d[_0x3157e5]=_0x3db763,_0x1b0a7a[_0x17213b(0x13c)](_0x24646d);}}}async function buildUniversalRefConditions(_0x55a119,_0x1ce852,_0x38dcb7){const _0x41ae57=_0x3ac78d;let _0x3654ac=[];if(!_0x1ce852||_0x1ce852[_0x41ae57(0x3f9)+'h']===0x0)return _0x3654ac;const _0x159eab=global[_0x41ae57(0x10a)+_0x41ae57(0x376)+'s'][_0x55a119['toUpp'+'erCas'+'e']()];if(!_0x159eab||typeof _0x159eab[_0x41ae57(0x229)+_0x41ae57(0x32f)+_0x41ae57(0x217)]!==_0x41ae57(0x29d)+_0x41ae57(0x3a0))throw new Error(_0x41ae57(0xfe)+'em\x20Er'+_0x41ae57(0x19d)+_0x41ae57(0x1f7)+_0x41ae57(0x376)+'\x20'+_0x55a119+(_0x41ae57(0x2cf)+'g\x20hỗ\x20'+_0x41ae57(0x258)+'àm\x20ge'+'tJson'+_0x41ae57(0x1fc)+'a.'));Logger[_0x41ae57(0x24d)]('[buil'+_0x41ae57(0x274)+_0x41ae57(0x3ac)+_0x41ae57(0x3f7)+'nditi'+_0x41ae57(0x26f)+_0x41ae57(0x476)+_0x41ae57(0xfd)+_0x41ae57(0x447)+'\x20của',_0x55a119);const _0x520765=await _0x159eab['getJs'+_0x41ae57(0x32f)+'ema'](_0x38dcb7);if(!_0x520765)throw new Error(_0x41ae57(0xfe)+_0x41ae57(0x1eb)+_0x41ae57(0x19d)+_0x41ae57(0x3cb)+'etJso'+_0x41ae57(0x2e6)+_0x41ae57(0xe2)+_0x41ae57(0x317)+_0x41ae57(0x2fd)+'er\x20'+_0x55a119+(_0x41ae57(0x1dd)+_0x41ae57(0x1d6)+_0x41ae57(0x3bd)+'ng\x20(u'+_0x41ae57(0x3d6)+_0x41ae57(0x183)));for(let _0x512b36 of _0x1ce852){const _0x45928d=normalizeHops(_0x512b36);if(_0x45928d){const _0x24fdc5=await resolveHopChain(_0x45928d,_0x512b36[_0x41ae57(0x44f)+'rd'],_0x38dcb7);if(_0x24fdc5[_0x41ae57(0x1d7)])throw new Error(_0x41ae57(0xfb)+'_HOP|'+_0x41ae57(0x330)+_0x41ae57(0x1ff)+_0x24fdc5['error']);pushUnionCondition(_0x3654ac,_0x512b36[_0x41ae57(0x4b5)],_0x24fdc5[_0x41ae57(0x418)+'s']);continue;}const _0x4c0f68=_0x520765[_0x512b36[_0x41ae57(0x4b5)]];if(!_0x4c0f68)throw new Error(_0x41ae57(0xfb)+_0x41ae57(0x210)+_0x41ae57(0x330)+_0x41ae57(0x1bd)+_0x41ae57(0x2cf)+_0x41ae57(0x3ff)+'\x20thấy'+'\x20trườ'+'ng\x20\x27'+_0x512b36[_0x41ae57(0x4b5)]+(_0x41ae57(0x334)+_0x41ae57(0x1e3)+_0x41ae57(0x206)+'\x20\x27')+_0x55a119+('\x27\x20—\x20c'+_0x41ae57(0x307)+_0x41ae57(0x136)+_0x41ae57(0x4b5)+'\x20bị\x20s'+_0x41ae57(0x402)+_0x41ae57(0x349)+_0x41ae57(0x212)+'\x20tra\x20'+_0x41ae57(0x130)));if(_0x4c0f68['ref']&&_0x4c0f68[_0x41ae57(0x49d)][_0x41ae57(0x3bb)+_0x41ae57(0x185)]){const _0x1c85d6=await resolveRefMetaByKeyword(_0x4c0f68[_0x41ae57(0x49d)],_0x512b36[_0x41ae57(0x44f)+'rd'],_0x38dcb7);if(_0x1c85d6[_0x41ae57(0x1d7)])throw new Error('EMPTY'+_0x41ae57(0x210)+_0x41ae57(0x330)+'p,\x20'+_0x1c85d6[_0x41ae57(0x1d7)]);let _0x2c66ef=_0x1c85d6[_0x41ae57(0x418)+'s'];(_0x4c0f68[_0x41ae57(0x49d)][_0x41ae57(0x3bb)+_0x41ae57(0x185)]===_0x41ae57(0x13d)&&_0x512b36[_0x41ae57(0x4b5)][_0x41ae57(0x336)+_0x41ae57(0x245)](_0x41ae57(0x397)+'t')||_0x4c0f68[_0x41ae57(0x49d)][_0x41ae57(0x3bb)+'odel']===_0x41ae57(0x2ec)+'h'&&_0x512b36[_0x41ae57(0x4b5)]['start'+_0x41ae57(0x245)](_0x41ae57(0x1f9)))&&(_0x2c66ef=await Promise[_0x41ae57(0x353)](_0x2c66ef[_0x41ae57(0x2f7)](_0x1f317=>_0x1c85d6[_0x41ae57(0x408)+_0x41ae57(0x273)][_0x41ae57(0x189)+'lChil'+_0x41ae57(0x16c)+_0x41ae57(0x479)](_0x38dcb7,_0x1f317)))),pushUnionCondition(_0x3654ac,_0x512b36[_0x41ae57(0x4b5)],_0x2c66ef),Logger[_0x41ae57(0xf5)](_0x41ae57(0x46d)+_0x41ae57(0x274)+_0x41ae57(0x3ac)+_0x41ae57(0x3f7)+_0x41ae57(0x188)+_0x41ae57(0x26f)+_0x41ae57(0x17e)+_0x41ae57(0x247)+_0x41ae57(0x30f)+'t',_0x55a119,JSON[_0x41ae57(0x462)+_0x41ae57(0x276)](_0x3654ac,null,0x2));}else{if(_0x4c0f68[_0x41ae57(0x25c)+'ns']&&Array[_0x41ae57(0x2ad)+'ay'](_0x4c0f68['optio'+'ns'][_0x41ae57(0x25c)+'ns'])){const _0x131bdc=await resolveDirectRefFilter(_0x4c0f68,_0x512b36[_0x41ae57(0x44f)+'rd'],_0x38dcb7);if(_0x131bdc['error'])throw new Error('EMPTY'+_0x41ae57(0x210)+_0x41ae57(0x330)+_0x41ae57(0x1f6)+_0x41ae57(0x253)+_0x41ae57(0x3d8)+_0x512b36['keywo'+'rd']+(_0x41ae57(0x373)+_0x41ae57(0x27e)+_0x41ae57(0x1a3)));const _0x315042={};_0x315042['$in']=_0x131bdc[_0x41ae57(0x418)+'s'];const _0x3bfb28={[_0x512b36['field']]:_0x315042};_0x3654ac['push'](_0x3bfb28);}}}return _0x3654ac;}async function resolveControllerConfig(_0x33a1a0,_0x12bfec){const _0x4e1f12=_0x3ac78d,_0x2015c9={};_0x2015c9[_0x4e1f12(0x38b)]=0x1,_0x2015c9[_0x4e1f12(0x36d)]=0x1;const _0x267bdd={};_0x267bdd[_0x4e1f12(0x36d)]='Quy\x20t'+_0x4e1f12(0x363),_0x267bdd[_0x4e1f12(0x10a)+'oller'+'Code']=_0x4e1f12(0x110),_0x267bdd['model']='flow',_0x267bdd[_0x4e1f12(0x103)+'ld']='_id',_0x267bdd[_0x4e1f12(0x108)+_0x4e1f12(0x1c8)]=_0x4e1f12(0x36d),_0x267bdd[_0x4e1f12(0x2b0)+_0x4e1f12(0x23b)+'ds']=[_0x4e1f12(0x36d)],_0x267bdd[_0x4e1f12(0x4ae)+_0x4e1f12(0x36e)+'ds']=_0x2015c9;const _0x8185b={};_0x8185b['tk']=0x1,_0x8185b[_0x4e1f12(0x2f9)+'k']=0x1;const _0x4cb443={};_0x4cb443[_0x4e1f12(0x36d)]='Tài\x20k'+_0x4e1f12(0x346),_0x4cb443['contr'+_0x4e1f12(0x376)+'Code']=_0x4e1f12(0x29b)+'NT',_0x4cb443['model']=_0x4e1f12(0x18e)+'nt',_0x4cb443['idFie'+'ld']=_0x4e1f12(0x38b),_0x4cb443[_0x4e1f12(0x108)+_0x4e1f12(0x1c8)]='tk',_0x4cb443[_0x4e1f12(0x2b0)+'hFiel'+'ds']=['tk',_0x4e1f12(0x2f9)+'k'],_0x4cb443[_0x4e1f12(0x4ae)+_0x4e1f12(0x36e)+'ds']=_0x8185b;const _0x59c323={};_0x59c323[_0x4e1f12(0x2f2)]=0x1,_0x59c323[_0x4e1f12(0x2a6)+'h']=0x1,_0x59c323[_0x4e1f12(0x21b)+'thoai']=0x1,_0x59c323['dia_c'+'hi']=0x1;const _0x489950={};_0x489950[_0x4e1f12(0x36d)]=_0x4e1f12(0x384)+_0x4e1f12(0x3d4),_0x489950[_0x4e1f12(0x10a)+_0x4e1f12(0x376)+'Code']=_0x4e1f12(0x289)+_0x4e1f12(0x4c1),_0x489950[_0x4e1f12(0x4cd)]='custo'+'mer',_0x489950[_0x4e1f12(0x103)+'ld']=_0x4e1f12(0x38b),_0x489950[_0x4e1f12(0x108)+_0x4e1f12(0x1c8)]='ma_kh',_0x489950['searc'+_0x4e1f12(0x23b)+'ds']=[_0x4e1f12(0x2a6)+'h','dien_'+_0x4e1f12(0x4b9),_0x4e1f12(0x2f2)],_0x489950[_0x4e1f12(0x4ae)+_0x4e1f12(0x36e)+'ds']=_0x59c323;const _0xad7072={};_0xad7072[_0x4e1f12(0x125)]=0x1,_0xad7072[_0x4e1f12(0x24f)+'t']=0x1;const _0x3ee850={};_0x3ee850[_0x4e1f12(0x36d)]=_0x4e1f12(0x351)+_0x4e1f12(0x12a)+_0x4e1f12(0x45b),_0x3ee850[_0x4e1f12(0x10a)+_0x4e1f12(0x376)+_0x4e1f12(0x22d)]=_0x4e1f12(0x332),_0x3ee850[_0x4e1f12(0x4cd)]=_0x4e1f12(0x47e),_0x3ee850[_0x4e1f12(0x103)+'ld']=_0x4e1f12(0x38b),_0x3ee850[_0x4e1f12(0x108)+_0x4e1f12(0x1c8)]=_0x4e1f12(0x125),_0x3ee850[_0x4e1f12(0x2b0)+_0x4e1f12(0x23b)+'ds']=['ten_v'+'t',_0x4e1f12(0x125)],_0x3ee850['selec'+'tFiel'+'ds']=_0xad7072;const _0x3a8a52={};_0x3a8a52[_0x4e1f12(0x38b)]=0x1,_0x3a8a52[_0x4e1f12(0x29c)+'vt']=0x1;const _0x33407a={};_0x33407a[_0x4e1f12(0x244)+_0x4e1f12(0x238)+_0x4e1f12(0x1ab)]=0x1,_0x33407a[_0x4e1f12(0x29c)+_0x4e1f12(0x388)+_0x4e1f12(0x1d5)]=0x1;const _0x1313eb={};_0x1313eb[_0x4e1f12(0x397)]=0x1,_0x1313eb[_0x4e1f12(0x29c)+'v']=0x1;const _0x2f66ee={};_0x2f66ee[_0x4e1f12(0x36d)]='Nhân\x20'+'sự',_0x2f66ee[_0x4e1f12(0x10a)+_0x4e1f12(0x376)+_0x4e1f12(0x22d)]=_0x4e1f12(0x138),_0x2f66ee[_0x4e1f12(0x4cd)]=_0x4e1f12(0x122),_0x2f66ee[_0x4e1f12(0x103)+'ld']=_0x4e1f12(0x38b),_0x2f66ee[_0x4e1f12(0x108)+_0x4e1f12(0x1c8)]=_0x4e1f12(0x397),_0x2f66ee[_0x4e1f12(0x2b0)+'hFiel'+'ds']=['ten_n'+'v',_0x4e1f12(0x397)],_0x2f66ee['selec'+_0x4e1f12(0x36e)+'ds']=_0x1313eb;const _0x33dc3c={};_0x33dc3c['ma_bp']=0x1,_0x33dc3c[_0x4e1f12(0x111)+'p']=0x1;const _0x2835d0={};_0x2835d0[_0x4e1f12(0x36d)]=_0x4e1f12(0x4c5)+_0x4e1f12(0x329),_0x2835d0[_0x4e1f12(0x10a)+_0x4e1f12(0x376)+_0x4e1f12(0x22d)]='DMBP',_0x2835d0[_0x4e1f12(0x4cd)]='dmbp',_0x2835d0[_0x4e1f12(0x103)+'ld']=_0x4e1f12(0x38b),_0x2835d0['codeF'+_0x4e1f12(0x1c8)]='ma_bp',_0x2835d0[_0x4e1f12(0x2b0)+'hFiel'+'ds']=[_0x4e1f12(0x111)+'p',_0x4e1f12(0x3b7)],_0x2835d0[_0x4e1f12(0x4ae)+_0x4e1f12(0x36e)+'ds']=_0x33dc3c;const _0x3df5d8={};_0x3df5d8[_0x4e1f12(0x2a4)]=0x1,_0x3df5d8[_0x4e1f12(0x117)+'t']=0x1;const _0x4f5d59={};_0x4f5d59[_0x4e1f12(0x36d)]='Dự\x20án',_0x4f5d59['contr'+_0x4e1f12(0x376)+_0x4e1f12(0x22d)]=_0x4e1f12(0x2dd),_0x4f5d59[_0x4e1f12(0x4cd)]=_0x4e1f12(0x270),_0x4f5d59['idFie'+'ld']=_0x4e1f12(0x38b),_0x4f5d59[_0x4e1f12(0x108)+_0x4e1f12(0x1c8)]=_0x4e1f12(0x2a4),_0x4f5d59[_0x4e1f12(0x2b0)+_0x4e1f12(0x23b)+'ds']=['ten_d'+'t',_0x4e1f12(0x2a4)],_0x4f5d59['selec'+_0x4e1f12(0x36e)+'ds']=_0x3df5d8;const _0x3622ad={};_0x3622ad[_0x4e1f12(0x2b8)+'i']=0x1,_0x3622ad[_0x4e1f12(0x352)+'hi']=0x1;const _0x4630a2={};_0x4630a2['title']=_0x4e1f12(0x1a2)+_0x4e1f12(0x42a),_0x4630a2[_0x4e1f12(0x10a)+'oller'+_0x4e1f12(0x22d)]='DMPHI',_0x4630a2[_0x4e1f12(0x4cd)]='dmphi',_0x4630a2['idFie'+'ld']=_0x4e1f12(0x38b),_0x4630a2['codeF'+'ield']=_0x4e1f12(0x2b8)+'i',_0x4630a2[_0x4e1f12(0x2b0)+_0x4e1f12(0x23b)+'ds']=[_0x4e1f12(0x352)+'hi',_0x4e1f12(0x2b8)+'i'],_0x4630a2[_0x4e1f12(0x4ae)+_0x4e1f12(0x36e)+'ds']=_0x3622ad;const _0x861bae={};_0x861bae[_0x4e1f12(0x101)]=0x1,_0x861bae[_0x4e1f12(0x1cf)+'d']=0x1;const _0x2d091a={};_0x2d091a[_0x4e1f12(0x36d)]='Hợp\x20đ'+_0x4e1f12(0x17a),_0x2d091a[_0x4e1f12(0x10a)+'oller'+_0x4e1f12(0x22d)]=_0x4e1f12(0x20b)+_0x4e1f12(0x152),_0x2d091a[_0x4e1f12(0x4cd)]='contr'+_0x4e1f12(0x155),_0x2d091a[_0x4e1f12(0x103)+'ld']=_0x4e1f12(0x38b),_0x2d091a[_0x4e1f12(0x108)+_0x4e1f12(0x1c8)]=_0x4e1f12(0x101),_0x2d091a[_0x4e1f12(0x2b0)+'hFiel'+'ds']=[_0x4e1f12(0x1cf)+'d',_0x4e1f12(0x101)],_0x2d091a[_0x4e1f12(0x4ae)+'tFiel'+'ds']=_0x861bae;const _0x275887={};_0x275887[_0x4e1f12(0x3d9)]=0x1,_0x275887[_0x4e1f12(0x409)+'t']=0x1;const _0xfe8f75={};_0xfe8f75[_0x4e1f12(0x36d)]=_0x4e1f12(0x151)+_0x4e1f12(0x394)+'\x20phí',_0xfe8f75[_0x4e1f12(0x10a)+_0x4e1f12(0x376)+_0x4e1f12(0x22d)]='DMYT',_0xfe8f75[_0x4e1f12(0x4cd)]='dmyt',_0xfe8f75[_0x4e1f12(0x103)+'ld']='_id',_0xfe8f75['codeF'+_0x4e1f12(0x1c8)]=_0x4e1f12(0x3d9),_0xfe8f75[_0x4e1f12(0x2b0)+_0x4e1f12(0x23b)+'ds']=[_0x4e1f12(0x409)+'t',_0x4e1f12(0x3d9)],_0xfe8f75['selec'+_0x4e1f12(0x36e)+'ds']=_0x275887;const _0x2cc419={'flow':_0x267bdd,'account':_0x4cb443,'customer':_0x489950,'product':_0x3ee850,'product_group':{'title':'Nhóm\x20'+_0x4e1f12(0x3aa)+_0x4e1f12(0x12a)+_0x4e1f12(0x45b),'controllerCode':(_0x4e1f12(0x3e8)+_0x4e1f12(0x2a2)+_0x4e1f12(0x252))['toUpp'+'erCas'+'e'](),'model':_0x4e1f12(0x13d),'idField':_0x4e1f12(0x38b),'codeField':_0x4e1f12(0x38b),'searchFields':['ten_n'+'vt'],'selectFields':_0x3a8a52},'ecomproductlines':{'title':_0x4e1f12(0x2dc)+_0x4e1f12(0x3d4),'controllerCode':(_0x4e1f12(0x2c3)+_0x4e1f12(0x215)+_0x4e1f12(0xfc)+'s')[_0x4e1f12(0x133)+_0x4e1f12(0x443)+'e'](),'model':_0x4e1f12(0x2c3)+_0x4e1f12(0x215)+'tline'+'s','idField':_0x4e1f12(0x38b),'codeField':'ma_ng'+_0x4e1f12(0x238)+_0x4e1f12(0x1ab),'searchFields':[_0x4e1f12(0x244)+_0x4e1f12(0x238)+'ang',_0x4e1f12(0x29c)+_0x4e1f12(0x388)+_0x4e1f12(0x1d5)],'selectFields':_0x33407a},'employee':_0x2f66ee,'department':_0x2835d0,'project':_0x4f5d59,'fee':_0x4630a2,'contract':_0x2d091a,'cost_factor':_0xfe8f75};if(_0x2cc419[_0x33a1a0])return{'config':_0x2cc419[_0x33a1a0],'isDynamic':![]};const _0x13a483=_0x4e1f12(0x11a)+'g_'+_0x33a1a0;if(global[_0x4e1f12(0x403)+'onfig'+'Cache']&&global[_0x4e1f12(0x403)+_0x4e1f12(0x21e)+_0x4e1f12(0x381)]['has'](_0x13a483)){const _0x4b8ba7=global[_0x4e1f12(0x403)+_0x4e1f12(0x21e)+_0x4e1f12(0x381)][_0x4e1f12(0xe6)](_0x13a483);if(Date['now']()-_0x4b8ba7[_0x4e1f12(0x233)+_0x4e1f12(0x2e4)]<(global[_0x4e1f12(0x385)+_0x4e1f12(0x199)+'HE_TT'+'L']||0x36ee80)){const _0x11543c={};return _0x11543c[_0x4e1f12(0x11a)+'g']=_0x4b8ba7[_0x4e1f12(0x11a)+'g'],_0x11543c[_0x4e1f12(0x266)+_0x4e1f12(0x316)]=!![],_0x11543c;}global['__aiC'+'onfig'+'Cache'][_0x4e1f12(0x4bf)+'e'](_0x13a483);}const _0x4ce219=[_0x33a1a0,..._0x12bfec||[]],_0x5ac8f1={};_0x5ac8f1[_0x4e1f12(0x44f)+_0x4e1f12(0x1a7)]=_0x4ce219,_0x5ac8f1['inclu'+'de_fi'+_0x4e1f12(0x223)+_0x4e1f12(0x148)+'a']=![],_0x5ac8f1[_0x4e1f12(0x43f)]=0x5;const _0x43eda3=await searchActiveListInfo(_0x5ac8f1);if(!_0x43eda3||_0x43eda3['docs'][_0x4e1f12(0x3f9)+'h']===0x0)throw new Error('Không'+_0x4e1f12(0x47b)+_0x4e1f12(0x3bf)+_0x4e1f12(0x48c)+_0x4e1f12(0x18c)+'khớp\x20'+_0x4e1f12(0x3ea)+_0x4e1f12(0x419)+_0x4e1f12(0x4c2)+_0x4ce219[_0x4e1f12(0x432)](',\x20')+'].');if(_0x43eda3[_0x4e1f12(0x4de)][_0x4e1f12(0x3f9)+'h']>0x1){const _0xb57e37=_0x43eda3[_0x4e1f12(0x4de)][_0x4e1f12(0x1f8)](_0x3aeac7=>{const _0x27aa7e=_0x4e1f12,_0xb9055a=_0x3aeac7[_0x27aa7e(0x36d)][_0x27aa7e(0x28b)+_0x27aa7e(0x443)+'e']()[_0x27aa7e(0x45c)](),_0x14b901=_0x3aeac7['final'+_0x27aa7e(0x22d)][_0x27aa7e(0x28b)+_0x27aa7e(0x443)+'e']()[_0x27aa7e(0x45c)]();return _0x4ce219[_0x27aa7e(0x167)](_0x37d9dd=>_0x37d9dd[_0x27aa7e(0x28b)+_0x27aa7e(0x443)+'e']()[_0x27aa7e(0x45c)]()===_0xb9055a||_0x37d9dd[_0x27aa7e(0x28b)+_0x27aa7e(0x443)+'e']()['trim']()===_0x14b901);});if(_0xb57e37)_0x43eda3[_0x4e1f12(0x4de)]=[_0xb57e37];else{const _0x3e978b=_0x43eda3[_0x4e1f12(0x4de)][_0x4e1f12(0x2f7)](_0x4bbdf4=>_0x4e1f12(0x420)+_0x4bbdf4[_0x4e1f12(0x36d)]+(_0x4e1f12(0x283)+_0x4e1f12(0x1af))+_0x4bbdf4[_0x4e1f12(0x3fc)+_0x4e1f12(0x22d)]+')');throw new Error('MULTI'+_0x4e1f12(0x2ee)+_0x4e1f12(0x360)+'S|'+JSON[_0x4e1f12(0x462)+_0x4e1f12(0x276)](_0x43eda3[_0x4e1f12(0x4de)])+(_0x4e1f12(0x141)+'ếp,\x20e'+_0x4e1f12(0x3d1)+_0x4e1f12(0x250)+_0x4e1f12(0x3ba)+_0x4e1f12(0x48c)+_0x4e1f12(0x18c)+_0x4e1f12(0x372)+'\x20\x0a')+_0x3e978b[_0x4e1f12(0x432)]('\x0a')+('\x0a\x20Sếp'+_0x4e1f12(0x126)+_0x4e1f12(0x486)+_0x4e1f12(0x2ce)+_0x4e1f12(0x452)+'ạ?'));}}const _0x11f966=_0x43eda3[_0x4e1f12(0x4de)][0x0],_0x4b854c=_0x11f966[_0x4e1f12(0x3fc)+_0x4e1f12(0x22d)][_0x4e1f12(0x133)+_0x4e1f12(0x443)+'e'](),_0x287db1=global[_0x4e1f12(0x10a)+'oller'+'s'][_0x4b854c];if(!_0x287db1||typeof _0x287db1[_0x4e1f12(0x194)+_0x4e1f12(0x1d1)]!=='funct'+_0x4e1f12(0x3a0))throw new Error(_0x4e1f12(0x3e6)+_0x4e1f12(0x18c)+'\x27'+_0x4b854c+(_0x4e1f12(0x30a)+'ếu\x20hà'+_0x4e1f12(0x4cf)+'dData'+'().'));const _0x248ca1=_0x287db1['model'];let _0x2e8517=[];if(_0x11f966[_0x4e1f12(0x2b0)+_0x4e1f12(0x127)+'m']){const _0x1b9ec6=global[_0x4e1f12(0x354)+'del'](_0x4e1f12(0x3e7)+_0x4e1f12(0x1cd)),_0x131c0e={};_0x131c0e[_0x4e1f12(0x181)]=_0x11f966[_0x4e1f12(0x2b0)+_0x4e1f12(0x127)+'m'];const _0xd72824=await _0x1b9ec6[_0x4e1f12(0x13f)+'ne'](_0x131c0e)[_0x4e1f12(0x1a6)]();if(_0xd72824&&Array['isArr'+'ay'](_0xd72824[_0x4e1f12(0x4b5)+'s'])){const _0x3ebf6b=_0xd72824['field'+'s'][_0x4e1f12(0x2f7)](_0x43c389=>_0x43c389[_0x4e1f12(0x3bc)])[_0x4e1f12(0x3ce)+'r'](Boolean);_0x2e8517=_0x248ca1&&_0x248ca1['schem'+'a']&&_0x248ca1[_0x4e1f12(0x148)+'a'][_0x4e1f12(0x2d9)]?_0x3ebf6b['filte'+'r'](_0x4c8933=>_0x248ca1[_0x4e1f12(0x148)+'a'][_0x4e1f12(0x2d9)][_0x4c8933]&&_0x248ca1[_0x4e1f12(0x148)+'a'][_0x4e1f12(0x2d9)][_0x4c8933][_0x4e1f12(0x27d)+_0x4e1f12(0xf2)]===_0x4e1f12(0x176)+'g'):_0x3ebf6b;}}_0x2e8517[_0x4e1f12(0x3f9)+'h']===0x0&&_0x248ca1&&_0x248ca1[_0x4e1f12(0x148)+'a']&&_0x248ca1[_0x4e1f12(0x148)+'a'][_0x4e1f12(0x2d9)]&&(_0x2e8517=Object[_0x4e1f12(0x2e9)](_0x248ca1['schem'+'a'][_0x4e1f12(0x2d9)])[_0x4e1f12(0x3ce)+'r'](_0xda007b=>_0x248ca1['schem'+'a'][_0x4e1f12(0x2d9)][_0xda007b][_0x4e1f12(0x27d)+'nce']===_0x4e1f12(0x176)+'g'));const _0x2ccb5d={'title':_0x11f966[_0x4e1f12(0x36d)],'controllerCode':_0x4b854c,'model':_0x248ca1?.[_0x4e1f12(0x4cd)+_0x4e1f12(0x33a)]||_0x4b854c[_0x4e1f12(0x28b)+_0x4e1f12(0x443)+'e'](),'idField':_0x4e1f12(0x38b),'codeField':_0x2e8517['inclu'+_0x4e1f12(0x1d8)](_0x4e1f12(0x2d7)+_0x4b854c[_0x4e1f12(0x28b)+_0x4e1f12(0x443)+'e']())?_0x4e1f12(0x2d7)+_0x4b854c[_0x4e1f12(0x28b)+'erCas'+'e']():_0x2e8517[0x0]||'_id','searchFields':_0x2e8517[_0x4e1f12(0x3f9)+'h']>0x0?_0x2e8517:[_0x4e1f12(0x36d),_0x4e1f12(0x3bc),_0x4e1f12(0x181),_0x4e1f12(0x177)],'selectFields':{}};if(global[_0x4e1f12(0x403)+_0x4e1f12(0x21e)+_0x4e1f12(0x381)])global[_0x4e1f12(0x403)+_0x4e1f12(0x21e)+_0x4e1f12(0x381)]['set'](_0x13a483,{'timestamp':Date['now'](),'config':_0x2ccb5d});const _0xb63629={};return _0xb63629['confi'+'g']=_0x2ccb5d,_0xb63629[_0x4e1f12(0x266)+_0x4e1f12(0x316)]=!![],_0xb63629;}function buildTimeCondition(_0x489f85,_0x598f0a,_0x12609e){const _0x20339f=_0x3ac78d;let _0x2f9794=_0x20339f(0x1c4)+_0x20339f(0x4d6)+'ed';const _0x3e851b=global[_0x20339f(0x354)+_0x20339f(0x273)](_0x12609e);if(_0x3e851b&&_0x3e851b[_0x20339f(0x148)+'a']&&_0x3e851b[_0x20339f(0x148)+'a']['paths'])for(const _0x536ab9 of[_0x20339f(0x43d)+'ct',_0x20339f(0x336)+_0x20339f(0x350),_0x20339f(0x1c4)+_0x20339f(0x4d6)+'ed']){if(_0x3e851b['schem'+'a']['paths'][_0x536ab9]){_0x2f9794=_0x536ab9;break;}}let _0xee554c={},_0x3744ba,_0x4babf2;(_0x489f85||_0x598f0a)&&(_0x4babf2=_0x598f0a?new Date(_0x598f0a):new Date(),_0x3744ba=_0x489f85?new Date(_0x489f85):new Date(_0x4babf2[_0x20339f(0x24e)+_0x20339f(0x23d)+'r'](),_0x4babf2[_0x20339f(0x354)+_0x20339f(0x26e)](),0x1),_0xee554c[_0x2f9794]={'$gte':moment(_0x3744ba)[_0x20339f(0x336)+'Of'](_0x20339f(0x391))[_0x20339f(0xe9)+'e'](),'$lte':moment(_0x4babf2)[_0x20339f(0x149)](_0x20339f(0x391))[_0x20339f(0xe9)+'e']()});const _0x3a9397={};return _0x3a9397['timeC'+_0x20339f(0x374)+_0x20339f(0x3a0)]=_0xee554c,_0x3a9397['dateF'+'ield']=_0x2f9794,_0x3a9397['start']=_0x3744ba,_0x3a9397[_0x20339f(0x2b5)]=_0x4babf2,_0x3a9397;}function buildKeywordConditionLadder(_0x10d89f,_0x1acc76,_0x114140,_0x1a446c){const _0xa577a2=_0x3ac78d;if(_0x10d89f)return[{'condition':{[_0x1a446c[_0xa577a2(0x103)+'ld']]:_0x10d89f},'matchedBy':'id'}];const _0x460936=Array[_0xa577a2(0x178)](new Set([..._0x1a446c[_0xa577a2(0x2b0)+_0xa577a2(0x23b)+'ds'],_0x1a446c[_0xa577a2(0x108)+_0xa577a2(0x1c8)]]))[_0xa577a2(0x3ce)+'r'](_0x229323=>_0x229323!==_0xa577a2(0x38b)),_0x5ae133=[];if(_0x1acc76&&_0x1a446c[_0xa577a2(0x108)+'ield']&&_0x1a446c[_0xa577a2(0x108)+'ield']!==_0xa577a2(0x38b)){const _0x5466e6={};_0x5466e6['$rege'+'x']='^'+_0x1acc76+'$',_0x5466e6[_0xa577a2(0x32c)+'ons']='i';const _0x344f11={[_0x1a446c[_0xa577a2(0x108)+_0xa577a2(0x1c8)]]:_0x5466e6},_0x2ec21a={};_0x2ec21a['condi'+'tion']=_0x344f11,_0x2ec21a[_0xa577a2(0xf4)+_0xa577a2(0x2c4)]='exact'+'_code',_0x5ae133[_0xa577a2(0x13c)](_0x2ec21a);}let _0xed7051=[];if(_0x1acc76)_0xed7051['push'](_0x1acc76);if(_0x114140&&_0x114140['lengt'+'h']>0x0)_0xed7051[_0xa577a2(0x13c)](..._0x114140);if(_0xed7051[_0xa577a2(0x3f9)+'h']===0x0)return _0x5ae133;if(_0xed7051[_0xa577a2(0x3f9)+'h']===0x1){const _0x349bf8={};_0x349bf8[_0xa577a2(0x17f)+'x']=_0xed7051[0x0],_0x349bf8[_0xa577a2(0x32c)+_0xa577a2(0x3a5)]='i',_0x5ae133[_0xa577a2(0x13c)]({'condition':{'$or':_0x460936['map'](_0x351f08=>({[_0x351f08]:_0x349bf8}))},'matchedBy':_0xa577a2(0x44f)+_0xa577a2(0x16f)+_0xa577a2(0x49c)});}else _0x5ae133['push']({'condition':{'$and':_0xed7051[_0xa577a2(0x2f7)](_0x4bc29a=>({'$or':_0x460936[_0xa577a2(0x2f7)](_0x31639f=>({[_0x31639f]:{'$regex':_0x4bc29a,'$options':'i'}}))}))},'matchedBy':_0xa577a2(0x2f3)+_0xa577a2(0x14c)+_0xa577a2(0xec)+_0xa577a2(0x49c)}),_0x5ae133['push']({'condition':{'$or':_0xed7051[_0xa577a2(0x344)+'ap'](_0x2804bf=>_0x460936[_0xa577a2(0x2f7)](_0x1af207=>({[_0x1af207]:{'$regex':_0x2804bf,'$options':'i'}})))},'matchedBy':_0xa577a2(0x1ed)+'eywor'+_0xa577a2(0x30c)+'ched'});const _0x37e143=[...new Set(_0xed7051[_0xa577a2(0x344)+'ap'](_0xb61d8c=>String(_0xb61d8c)[_0xa577a2(0x2c6)](/\s+/))[_0xa577a2(0x3ce)+'r'](_0x24773e=>_0x24773e['lengt'+'h']>0x1))];return _0x37e143[_0xa577a2(0x3f9)+'h']>0x0&&_0x37e143['lengt'+'h']!==_0xed7051[_0xa577a2(0x3f9)+'h']&&_0x5ae133[_0xa577a2(0x13c)]({'condition':{'$or':_0x37e143[_0xa577a2(0x344)+'ap'](_0x181a4c=>_0x460936[_0xa577a2(0x2f7)](_0x7e8fbb=>({[_0x7e8fbb]:{'$regex':_0x181a4c,'$options':'i'}})))},'matchedBy':'fuzzy'+_0xa577a2(0x3ad)+_0xa577a2(0x1b2)+'rd'}),_0x5ae133;}function _0x2af2(){const _0x342e98=['W6bUzYiS','sog6Rfq','CSoSBMG','CcbIAEg6VW','4BUrAsbJW7K','DSoGBYdeKq','p19Pzd0','BCoJig7dOa','tsdeKmoAtG','Dg9VBca','BMzPCM0','rog7Pe5hia','DgL0Bgu','DezPzwW','refuteK','lcbOW6n5','4BUAssbO4BUt','A2JHU5TWoG','jYbRAmo0','B25KAxq','imsqXQfUia','B2XSzxi','AgKGy2G','tCoJihrY','4BUJyYbt4BQ/','AcbJW7rU','BsbJAgK','yYb0CSAW','igtdUw5N','AwnFCMu','AcaXlG','qxjYyxK','q2fJAgu','Df90Exa','ignO4BUNia','s2JdOwnO','q09orKK','ks4Gsog7HW','zM9Yrwe','z2fUAf8','yYb4W6fJ','BciGXjhHU4m','x2LK','XjhHUR9Tihm','W6PUlcbI','rmo5BMCG','y2fJx2C','Asbt4BQ/Ca','zgf0zq','jYa+ide','4BQ/Ccb4zq','4BUrignOAq','iglHUQnUia','XjddONKGBa','BwfFBNy','uciPlca','jYbUAmAW','mti3mtqYmfb5B25rwG','rdOGiM0','ysbJW7mG','BMTFy2G','igZHU49UzW','tvvmveK','Aw9U','BM90x2y','BUg6V3uGyW','B25SEq','BsdeKCoJia','B25Z','AwjL','BMCGBMG','Dog7QYWGza','BMCG','C+g6O24GCa','AsdeKCoIEq','zxjZywW','x3nPBMC','q+g6RxaGBG','AsdeKCo6BG','BMJdOxaG','BEg7M2KPia','DwuPlca','4BURigTOW7m','igtdSIb0','u+g6V3aGXje','lcaIA2G','BwfFyNa','BIbOW7nH','ihrOW6bU','ihBdOgKG','CMvMx20','BMfTzq','DUg7GsbY4BUx','DgJdQM0G','DgJHUQv5ia','ssaOq3i','B2n1Bwu','BMCGy3u','Dog7SsbZDq','Dog7QY9Kyq','CxxHUQmGyW','ig5O4BQTBG','W7rUzY4','igpHUQDUia','zwf0zq','iNb0msi','smoGBsbN','XjhHU5LUzZO','igZHUQv5ia','zMLSDgu','BMCGy2G','CM9UzYa','Bsb0W6XT','iefoifq','lYmVCge','igJdOg5N','icjUAf8','BMrLzMK','y8oHyYdeKq','4BQHAsaN','BwfFExq','zYbOAEg7HW','mZi4mte2mhnvywXdEq','qUg6RxqGva','C3nFzw0','A3vWtwe','tUg6V3uGuW','zw5KC1C','EEg7Gw4GBq','rYb04BUXia','AcbT4BULyW','4BQ/Ccb5W6O','iNpHUQnUia','q2JHU6LJia','BgLZDgK','ChjVzhu','AmoHyY4','DUg7M2KGDa','XjhHU5nUzYa','zhLUyw0','sEg7HLu6ia','ihrO4BUdia','icHwW60G','AmoZBsbZ','lIbi4BUpAq','q8o0BMCG','vog6OeKGka','AEg7H3uGyW','yxrHvg8','XQfUzYdHU6K','uMvMq28','DcboAmoZ','BgvUz3q','zwf0zsK','AciGy2G','zMLUywW','BYbUAmAW','CSAW4BUByYe','zYb0W6XT','AEg7H3uGka','zYbJAog7Nq','ywKSigu','x19HAum','y29Uz18','ChmUma','AsbKXRdHU5S','BMCSigm','CMvMtw8','DgvUx3K','mJDLr2X3DKe','icHwrdO','ietHU64Gta','8j+uPsbc4BQItG','igrHBMG','Dog6OwKGka','ucbdW4jv','ihrOW6PT','CNvLjY4','AgLFy2G','ihtHU7eGza','4BQHlIbt4BQ/','DxbKyxq','ihtHUQfVia','DMfSDwu','4BURigTOBW','ieTiW5ro','BIbT4BUxAq','yurVy3u','ihrO4BUrBG','lcbWAog6OW','4BQ/Dsbt4BQ/','lsaQkG','BNruB28','4BUByYbRAa','4BQ/Dcbjra','igpdSYaN','AwrFyxa','uLrnru4','4BQJBMCGDa','imo9igZgSa','igtHU68GBa','ihbOW60','A2JdS2eG','BY9J4BQTCa','AhxHUQLUia','BgqGDmAW','ig7dOg8G','4BUDBMCGzW','Aw5N','AM9PBG','XQeSignO','BMCGz+g7Jq','s2JdS2eG','teLftKG','W6bTihzP','vEg7MemGAa','y291BNq','Bsb0Amo0','Awv0','z2uVBgK','BMDHEv8','wvLzlu0','BgLTAxq','Aog7M3aG4BQH','4BUdig1VAq','icaGidm','zxjdyxm','BxxHU5fUia','icje4BQHia','EsbN4BUnAq','y2HLBwe','4BUossbt4BQ+','Dg9pyMO','igTOW6fJ','4BQ/CcWGuW','Aw9Ux3u','zgfUAca','pYiG4Ocuia','A2v5D28','A2JdTg5N','XjddOYb0CG','imsrW6j1ia','4BQNBIb4zq','AsaIBwe','Aog7Kxq6ia','s0NHUR5nia','DhLWzq','BMCGDog7Sq','vmoQBIbK','4BUBAsaNAq','4BQTDcb0XRa','DhjPBq','BNvTyMu','Dh0PlGO','lGOGica','B+g6OwKGyW','A2vUzc4','C3rYAw4','BM90zq','iIKGDUg7MW','Dog6Ow8GAW','BMCGDog7KW','BgLJAf8','x2fWCa','4BQ/CcbO4BUp','BMCGBMC','qu8GqUg6OG','ig5OXRbU','w2j1AwW','AmoZBsdeKq','DhlgSog7M2m','BMCGz2K','W6fJAcbO','zYbK4BUVia','4BULyYbJAa','icjRAmoH','igpHUQD1ia','XjfHBMCG','icjdW6aG','W61UAcb4','CM91Ca','Ccb5W6P1','ihtdRg0G','iM5Ox2S','rYbw4BQGtG','zg12Da','x0Hpua','icjJCMu','CgfYC2u','imsr4BQNDtO','kIOGBMG','igfJy28','Xjbj4BUctIa','ihrYysa','icje4BQHla','ugfNzxm','C3v5igW','4BUrDcbSW7u','vog7QYbUzW','y2JHU6LJia','AxnFy28','igDOAsa','icjTyv8','y+g7Psb0Aa','BMCU','DEg7KwKGBq','cIaGica','W6aGA2v5','DguIoIa','oIbeW7LU','qYaXicG','vKq6ici','zwq6ihq','w2XVB2S','ms4GtEg7NW','DgnOzwq','CMvM','BgNHU4D1ia','ysbnB24','W6fJihrV','ExbLjZO','igVHUR90ia','igvTihq','tKCGDog7Sq','W5rorYbd','rgf0yuq','rYbuW4Xn','4BUPysbRAa','tu0Treq','yUg6O25Nia','B2jQzwm','y2GGAmoG','zmo5BMCG','C2vSzwm','DsiPlG','ihtgSciS','zog7PtOGiG','DgfuB28','AsbKyw4','ksbc4BQUva','zMLLBgq','iKtHUQeGuW','4BQ/CdOGiG','4BQJihrYW6O','DgHVywK','W5nnoIbo','BIbUAmoZ','BMfS','XjfP4BUbBIa','oIbdsog7Ia','zgvSzxq','BEg7MxqGiG','tuvs','W6e6ifS','yYb04BUXia','BSoGBYbR','ugJdSM5N','yxrLiIa','ifJdGumG','4BQHBIbT4BUB','Dsb0Agu','sog7J2KGyW','Acbc4BQItG','CMeGy+g7Qq','Bw9KzwW','ksOQlI4','BsbMAw4','4BQNBIb04BQH','j3n1y2m','W6mGy3vU','lI91DgK','ifrvwEg7HG','CgJHUQLTiG','y3jLyxq','iftdJe0G','yw4Gkfy','s0Hjify','oIaIq2e','AtOGiLm','tNvTyMu','yYbU4BUBAq','zg9JCW','icHZDge','A2JHU5TWlG','BweGy+g7PW','DhvFBMC','oIbnW6mG','ihtdOwmG','z2v0','zxnZx2u','y2JHU6LUzW','Dg9eyxq','BEg7M2KGzW','BMfNzu0','zhnFBwe','jgfUza','qLxHU5Hdia','B3jKCYC','AwX0zxi','4BQLCc4','BMnL','XjbHBMCG','Bwf0y2G','D2fYBG','zu1HC3q','BMCGkIO','W6XTicDF','mteXmZu4mdbfuxD1DM0','AxrO','ru1qvfK','DgXPBMu','Bog6PxKGCW','w1n5C3q','ihpHU5eGDa','Ag8Gu+g6VW','C29FAgq','W6mGXjhgSog7OW','AwrgAwu','DguPigm','zYbRAgK','BEg7M2KG4Ocu','Aog7Qw5Nia','y29Kzuy','zw5Jzv8','y29UDhi','y2GPie0','ihpHU60GBa','zw8GECoQ','yxn0zxi','4BULihrO4BUd','rKXpvW','DgvUx2i','icDSB28','Esb0CSAW','AsbMAwu','BsbRAmoH','Bog7JwmGDa','DgvUx2q','iIKU','iglHU4THia','y29UzMK','igHV4BQ3yW','yw5Nihy','4BUrBIb4zq','igZHU4TJAa','CgfNAw4','CMvFAwq','XRbHimsrXRa','zg1UDG','nti2mZu2nuPmre1LAW','zgvFzMK','BwfFDNq','ig114BUrBG','Af9MB3i','CMvXDwK','vmoSBsbO','Aog6Qw0VvG','4BUpAsblsa','4BQUqYbd4BQM','DsbJ4BQNDq','l3bOW6jU','ysb04BURia','Bog6OwKU','4BQ/CcbJW7m','BMCIks4','Dg9vCha','rog6OsWGzq','z+g7JwKGiG','ihtdQM4G','y29UzgK','re1ovG','XjhHU4mGzw0','DgLVBJ0','jg9Y','ChvZAa','zg1UDNq','B21LCIW','zMLUze8','zYbJAmAW','FetHUQeGuW','Aog6Qw0GBG','ihnLyxi','imsrW6mGXje','BMGGBEg7Pq','Dg90ywW','BNz0iIa','C2nOzw0','zw5Kt2y','z8oGEsaO','rYbm4BQGsq','zxL3B3i','y8oZig11','XRdHU51UzYa','kgzPzwW','yYbUXinU','wEg6V3uGDa','qunu','Chr5','quKGqUg6RG','ywn0','B2rL','z2f5','XRbHigjP','lcbc4BQUva','uvvzifq','AmsPysbK','mteXm3zsBxbtrq','igFHU41Pia','zwn0','ru8GtKG','Dg9tDhi','rdOGzMK','AEg7H3uGDG','qUg6RLqGqG','y2H14BQPBG','x3jLC28','W4aGq0JHU4G','C29Tzq','4BULyYdeKwe','BwvZC2e','z2vUDf0','B3vUza','zhjLBKC','BMCGW70S','AwrFBgK','CMrFBwe','DsbRAmo0','BIb0W6PU','AEg7H2mGXje','y2HPihq','XjhdONKU','vog7QYdeKEg7KW','u3rYAw4','C29Fy3q','zNjVBq','DmoHyYbK','4BUtBMC','DgHVBMC','EsbSDEg6Rq','4BQMtIbc4BQU','zog7RYbSAq','jhjLz2u','BEg7PwmGyW','y29Kzq','W6fWigtHU6u','BMvKkse','A2JHU5TWia','B2rLBa','4BUFiglHUQnU','seNHU4zoia','BMrPDgK','z2v0qwW','cIbt4BQ/Ca','vEg7MemGBG','BSsdBMCG','DhlgSog7Nw4','ywnJB3u','4BUPBMCGDa','iNvWzge','4BQ/DsbHyW','XjhdONKGXje','ihrOyw8','zMLUzeq','quKGtmoa','rYbu4BUQia','twfYA2q','vog6Oe8Gtq','r19dqum','4BUligpHUQDU','AsdeKCAW4BUJ','4BUVigXP4BUh','CM9Yxsa','ysbI4BQJBG','Bw9Tzw4','BsbZ4BUria','zYddVsCG','s2HV4BQJBG','CcbS4BUhlG','ie7eGK5h','zgvZy3i','BgvHBG','CMrZ','zgf0BgK','ihtHU6SPia','ieX1W7rU','yw5N','ysdeKCAW4BUJ','vgHP4BQ/Dq','iejv4BUyqW','W6m6ia','vcdeKog7KeK','rog7RYbSAq','BgvFD28','ihHLBsa','4BUhDsdeKCoJ','sog7IcbRAa','BMDV4BQHAq','zYdgShuG','ig5O4BQTDa','icaGifS','rdOGiKq','4BUFihrYyq','Aog6Rxq','CcWGzw0','zw50CMK','DgvYrge','BMDFy28','ACoHihrY','AmoZysbo','smoGBMGG','zgf0zv8','DxnLCL8','W6b5icHz','ifrs4BUIia','AwvSza','zgv0ywK','y2GGDhi','tKCGtog6Oa','CgJdQIbU','BMzV','Dw5NigC','DgvUx2G','zMLYBwu','yxrH','imsr4BUlBMG','AwvJ','4BUPyYbUXim','AgfUzW','ihrY4BQJia','zxjYB3i','zgvZ','zw0GDog6Oq','BMCGkfy','BMCGzge','4BQJig7dOg8','imsryw5N','icHkt0K','Dc4kica','imsrXRdHU6nJ','zxjeyxq','q+g6PLuGra','BMCGzog7RW','lcb2W6aG','BMJHUQ1UlG','C3qV','CYCGDUg7MW','4BURicHdsa','W7mPlGOG','Ccb4W6fJ','zw0Grxi','CgfNzq','yw55x2S','q0Hjifq','BMCGDgK','W5mGzog7RYa','x2fUzf8','yw55','ieTissa','4BUtihpgOsW','CcbJW7mG','CcWGCgG','q29UDhi','zMLUza','BMHFA2G','zguNlYC','CSAW4BUDBMC','u2nOzw0','4BUDBMCGyW','igpdSYbR','CcWG','C3rHDhu','AwrFA2G','DgfYz2u','AmoHCcK6','yxjYyxK','CcbJAog7Qq','igXP4BUhDq','ig5OW7nT','W6XTigTP','kIOUifm','icaGiokAOq','q09ovfi','4BUdigJHU4CG','zgf0yq','W7LUzYaN','W6aGDhjH','x1jfrNW','ifrYW6XU','igTP4BUdBq','C19JB24','XRbUzYbR','CM9KDwm','AwrFyNa','zw1H','4BUPysbJW6e','C3rFy3i','4BUrAsb0XRa','zgLLBL8','vEg6Qe4Gka','yw5OiIK','B25MAwC','Bsb0Aog6Pq','B2WGySoH','Bs4GtEg6TW','x1jfrG','zwXKC18','BMC6ifS','ifBdGcbi','vog7QYbRAa','ifpHUR5qia','iepHUQXqia','z2v0sNm','iepdSYbO','vsddNtOG','ihrYDxK','q29Kzq','W7nHimsrW7m','rYaYify','DgfZAW','4BUBCcbO4BQ/','B3DUigm','DgLTzxm','BMFgSog7NwK','ihtHUQDUzW','tYbn4BQSva','4BUDAsbKW7K','yw5Ox2G','yv9UDNq','icaGicG','AezPzwW','z2vZDf8','BgXzzwe','r09swq','CMrZjYa','zwXKoIa','W7nTifzj','4BUrigZgSog7OW','C3rLCKq','BwfFBMC','C1DPDgG','wvLzws0','4BUhDsbSAq','CUg6OYb24BUb','veftsW','iSsq4BUtBMC','ieni4BUiia','iglHU5KGBa','Aw5MBW','z2v0rNu','DgvUx3y','ihrO4BQLEq','igtHU6u6ia','B3vW','W6jUigXV','kftHUQfVia','lIbo4BQ/Dq','x0Dst1u','4BQ/CcbRAa','DhlHU6mGAa','y2HPx3q','AwqGy+g7PW','u+g6V3aSia','B3b0Aw8','4BUhihrO4BUr','DEg6Rw4U','x0rfuee','zcKG4BUFia','yxrJAgu','y8oHy2GG','yYdeKEg7I24','t8oatIaT','s0JdLe5h','AxneEw4','EsbK4BUVia','yxrPB24','XQfUzYdeKq','yUg7IYa','jY4GsmoJ','AsbS4BQNBG','zurHDge','BNrO','B25Zxsa','zg1KDa','AwqPigm','zgvUx24','zgvS','zfvUAxy','BYbbssa','z2LMEq','BsbUz8AW','DgHHBYa','ztOGDhi','zxHWB3i','C+g7KsaNDa','iIWGiLy','Aw5ZDge','BMCGAog7OW','rgf0yvq','ihrP4BQ/Da','B29SiIa','zwnVCMq','kIOGke0','qYbd4BQMvq','mIaOr2G','4BUxAsbKW7i','4BUotKCGka','B2WNihq','q1vtve8','ielHUQ5uia','Dg9mB3C','DxKGy+g6Rq','BMJHUQ1Uia','4OcuieTiW5q','CMvJB3i','4BUbimsr4BQVCa','s2JdTg5N','suqGkf8','BgLLBL8','4BQ/CcdeKEg7KW','tUg6V3uGDa','quKGrog7QG','W4aGDhj1','ts1ercK','w0ZHU5DPia','msb04BURia','qundt1u','DgvUx24','zNvUy3q','Dxbnyxm','ihBdOg8G','ienpreu','zw51Bq','y3rFz3i','BYbJ4BQLCa','BwfFzhq','ChjLDMK','DgvUx2S','AgNHU4DUia','BMGGC8oH','4BUzyYbN4BUn','ueJdGK4G','tg/HUQfPia','igpdOwmG','AxnbCNi','u+g7KsbSXRa','Dv06','C2vHCMm','W6j1iog6Ot8','qSoHBYbt','Bxb0EsC','BhzLzf8','zw5K','tEg7NYb4zq','DgJHU5fUzW','BwfFCgG','xsH7BgK','4BQPBsKGDG','ie7dGfK6','ihJdOwmG','reLdveK','Asb0Aog7Rq','CxxHUQmGDa','ifpHUR9Wia','ywXZzs4','BMCGs0G','zwnVBxa','zwrcEq','x3z0iIa','C3bSAxq','oIaI','lIKUieG','CMvMx2y','4BULoIaIua','CgvUzgK','tIK6ie0','mJGZmdK1EvfOwwnW','y+g7QxuG4BUF','igTOW7rU','C29YDa','BMCGXjhHU4m','BgfTx3y','C+g7LsbUAa','BIb04BQHAq','4BUnAsbS4BQH','kfvWzge','BwfF','BIaOvSoT','Cgf0Ahm','igvTimsr','AEg7Gw4UlG','tMFdOg5O','re1eva','4BQ/DcbXDq','BIbJAmAW','XjhHU5fPihq','XjddGYdeKog7KG','W7nHl1tdQG','yvrVB2W','DgfTCa','BwLLDv8','BLnJAgu','icbt4BUSia','AEg7H20GDG','A2v5CW','igJHU5mGCW','jgLU','zg1UAgS','zYaN','ueXfx00','DgJHUQv5','icjUAmoZ','lsbcXQ/HU5O','BwfFA2G','ywXSx2S','W7nHifpHUR8','y2HVig4','DgLTzv8','BwfW','Bs9oz8oG','DgvUx3q','AsaOvKq','Asb24BUbia','Dog7QYbI4BQJ','DhjVBgW','B2T1Ce0','zdOGzMe','y8oZiIWG','ke1Vzgu','w0fjiee','tmoGignO','yYaOvSoT','BgLUAYa','q8otieJHU5y','W7mGDgJHU4m','icaGica','icaGidi','jYb0AgK','AgLUDa','zf9Tyxq','AgvVieS','BgLLBMG','W6PUigVHUR8','rgf0zq','vsbequ8','idiUieW','icaGia','AcbIW6b5','kIOGDgG','yw1PyW','ysbJB24','vcaOA2G','vcbcvEg7Ma','BMCGAog7HW','Av90Awu','DEg7L2KGxW','BIdeKCoJia','4BQ/Bsb0XRa','zgf0yv8','BMzVx2m','DguIicG','BMCGDhi','zw0GXjhHU4S','zgvMyxu','ySoHBYbJ','B29SxtO','t05buLK','BMJdS20I','igjHBG','CgXLx20','4BQ/Cc9bsq','jg9WDgK','Bsb24BQTDa','CMvMCW','B25ty2G','rog6Osbt4BQ/','4BQ/Dsb0Aa','re1wva','y+g6P3uGmG','jYb0CM8','vog6Ow8GBq','C3rHCNq','sEg7HKm6cG','BNz0iIW','C3vJy2u','tMfTzq','ysb0W6XT','ig7dOhKG','W7OSign1','nJuWoeLAs1D2ra','zYb0CM8','tUg6VLuGqW','4BUnyYbSAq','AwqNihq','BIbS4BUnyW','zMXHDe0','BwfUywC','Ag/HUQnU','BYbUAmoZ','ywXSx3i','BsbJ4BQNBG','BwfWihq','XjhHU5LUzYa','Dw50lI4','BwvUDfq','BgLUA18','r+g7KK0GmG','x2rHDgu','u+g6O24GCa','DgvUx3a','ywXS','z2v0tw8','ihrYB24','Aw5JBhu','AmoIBIb4','iglHUQ9Jia','4BUbBIbJAa','kfBdRsbK','W6mGq29U','zYb0CNu','W6PTihBdOa','AwrFzhq','nZqYmty1mKDhuLPNCq','qvrdseu'];_0x2af2=function(){return _0x342e98;};return _0x2af2();}async function fetchItemRelations(_0x53bab0,_0x31fd5b,_0x57fa6e){const _0x43fb78=_0x3ac78d,_0x459ddb=_0x53bab0[_0x43fb78(0x38b)],_0x3c4ad1=async(_0x5600e9,_0x7cfe99,_0x54b844)=>{const _0x4f737f=_0x43fb78,_0x3d13d0={};_0x3d13d0[_0x4f737f(0x43f)]=_0x54b844;const _0x37e1d2=await _0x57fa6e(_0x5600e9,_0x7cfe99,_0x3d13d0);return Array[_0x4f737f(0x2ad)+'ay'](_0x37e1d2)?_0x37e1d2:_0x37e1d2?.[_0x4f737f(0x20d)]||_0x37e1d2?.['rows']||[];},_0x3b0ea1={};_0x3b0ea1['id_li'+'nk']=_0x459ddb;const _0x1b9c92=await _0x3c4ad1('NOTE',_0x3b0ea1,0xa);if(_0x1b9c92['lengt'+'h'])_0x53bab0[_0x43fb78(0x38f)+_0x43fb78(0x413)+'u']=await Promise[_0x43fb78(0x353)](_0x1b9c92['map'](_0x121153=>translateDocToText(_0x121153,_0x43fb78(0x463))));const _0x42d592={};_0x42d592[_0x43fb78(0x16e)+'nk']=_0x459ddb;const _0x5342a3={};_0x5342a3[_0x43fb78(0x201)]=_0x459ddb;const _0x5181d9={};_0x5181d9[_0x43fb78(0x216)]=_0x459ddb;const _0x65e3da={};_0x65e3da[_0x43fb78(0x35e)]=_0x459ddb;const _0x33bb45={};_0x33bb45[_0x43fb78(0x13b)]=[_0x42d592,_0x5342a3,_0x5181d9,_0x65e3da];const _0x1365c3=await _0x3c4ad1(_0x43fb78(0x249),_0x33bb45,0xa);if(_0x1365c3[_0x43fb78(0x3f9)+'h']>0x0)_0x53bab0[_0x43fb78(0x404)+'viec']=await Promise['all'](_0x1365c3[_0x43fb78(0x2f7)](_0x25b9b9=>translateDocToText(_0x25b9b9,_0x43fb78(0x230))));const _0x400bf4={};_0x400bf4[_0x43fb78(0x16e)+'nk']=_0x459ddb;const _0x4443f1=await _0x3c4ad1(_0x43fb78(0x36f)+'CH',_0x400bf4,0x5);if(_0x4443f1['lengt'+'h']>0x0)_0x53bab0[_0x43fb78(0x467)+_0x43fb78(0x2d2)+_0x43fb78(0x1d3)]=await Promise[_0x43fb78(0x353)](_0x4443f1[_0x43fb78(0x2f7)](_0x321468=>translateDocToText(_0x321468,_0x43fb78(0x1a8)+'ch')));if(_0x31fd5b===_0x43fb78(0x289)+_0x43fb78(0x4c1)){const _0x2e1b03={};_0x2e1b03[_0x43fb78(0x201)]=_0x459ddb;const _0x270cfd=await _0x3c4ad1(_0x43fb78(0x436)+'E',_0x2e1b03,0xa);if(_0x270cfd[_0x43fb78(0x3f9)+'h'])_0x53bab0[_0x43fb78(0x17b)+'_tin_'+_0x43fb78(0x293)+'he']=await Promise[_0x43fb78(0x353)](_0x270cfd[_0x43fb78(0x2f7)](_0x1135e0=>translateDocToText(_0x1135e0,_0x43fb78(0x30e)+'e')));}return _0x53bab0;}const extractPagination=(_0x4b1bf4,_0x2ac4d3,_0x1d1717)=>_0x4b1bf4&&_0x4b1bf4['pagin'+_0x3ac78d(0x268)]?{'total':_0x4b1bf4[_0x3ac78d(0x11f)+_0x3ac78d(0x268)]['total']||0x0,'totalPages':_0x4b1bf4[_0x3ac78d(0x11f)+'ation'][_0x3ac78d(0x146)+_0x3ac78d(0x488)]||0x1,'page':_0x4b1bf4[_0x3ac78d(0x11f)+_0x3ac78d(0x268)][_0x3ac78d(0x1ec)]||_0x2ac4d3,'limit':_0x4b1bf4['pagin'+_0x3ac78d(0x268)][_0x3ac78d(0x43f)]||_0x1d1717}:{'total':0x0,'totalPages':0x1,'page':_0x2ac4d3,'limit':_0x1d1717};function createMasterDataTools(_0x153a92,_0x4d209e){const _0x6b945a=_0x3ac78d;return{'lookupMasterDataTool':tool({'description':_0x6b945a(0x3f2)+'cụ\x20TR'+'A\x20CỨU'+_0x6b945a(0x40e)+'\x20mục,'+_0x6b945a(0x2ea)+_0x6b945a(0x433)+_0x6b945a(0x18f)+_0x6b945a(0x1e8)+'Ỉ\x20tra'+'\x20cứu\x20'+_0x6b945a(0x28e)+'NG\x20dù'+_0x6b945a(0x2d1)+_0x6b945a(0x41d)+'g\x20kê/'+_0x6b945a(0x38c)+_0x6b945a(0x242)+_0x6b945a(0x407)+_0x6b945a(0x4a0)+_0x6b945a(0x220)+'o\x20cáo'+_0x6b945a(0x12e)+'\x20tích'+_0x6b945a(0x44a)+_0x6b945a(0x144)+'ảm\x20nh'+_0x6b945a(0x2e8)+_0x6b945a(0x172)+_0x6b945a(0x1e9)+'\x20\x20\x20\x20\x20'+_0x6b945a(0x2e7)+_0x6b945a(0x36c)+'KHI:\x0a'+_0x6b945a(0x308)+'\x20\x20\x201.'+_0x6b945a(0x4d7)+_0x6b945a(0x456)+_0x6b945a(0x1ee)+'IẾT:\x20'+_0x6b945a(0x129)+_0x6b945a(0x1f4)+_0x6b945a(0x1b3)+_0x6b945a(0x173)+'iết,\x20'+_0x6b945a(0x306)+_0x6b945a(0x1c7)+_0x6b945a(0x2aa)+'TRANG'+_0x6b945a(0x255)+_0x6b945a(0x4a2)+_0x6b945a(0x2bf)+_0x6b945a(0x248)+_0x6b945a(0x424)+_0x6b945a(0x146)+'Pages'+_0x6b945a(0x392)+_0x6b945a(0x370)+_0x6b945a(0x383)+_0x6b945a(0x34b)+_0x6b945a(0x325)+_0x6b945a(0x100)+_0x6b945a(0x364)+_0x6b945a(0x1df)+_0x6b945a(0x308)+_0x6b945a(0x312)+'ỌC\x20TH'+_0x6b945a(0x15f)+_0x6b945a(0x4ba)+_0x6b945a(0x41f)+_0x6b945a(0x47a)+_0x6b945a(0x475)+'tìm\x20t'+'rong\x20'+_0x6b945a(0x4c0)+_0x6b945a(0x328)+_0x6b945a(0x3ef)+_0x6b945a(0x4b1)+_0x6b945a(0x3aa)+_0x6b945a(0x142)+'hóm\x20G'+'ạch\x22,'+_0x6b945a(0x474)+_0x6b945a(0x4ac)+_0x6b945a(0x3a7)+_0x6b945a(0x241)+_0x6b945a(0x398)+_0x6b945a(0x163)+'UỘC\x20d'+_0x6b945a(0x20e)+_0x6b945a(0x2c9)+_0x6b945a(0xf0)+_0x6b945a(0x1e7)+_0x6b945a(0x114)+_0x6b945a(0x42e)+_0x6b945a(0x3f6)+_0x6b945a(0x1da)+_0x6b945a(0x161)+_0x6b945a(0x240)+_0x6b945a(0x47c)+_0x6b945a(0x3fb)+_0x6b945a(0x347)+_0x6b945a(0x115)+'ch\x20hà'+'ng,\x20f'+'ield:'+_0x6b945a(0x48f)+_0x6b945a(0x147)+_0x6b945a(0x2f5)+_0x6b945a(0x3f0)+'ản\x20ph'+_0x6b945a(0x2ba)+_0x6b945a(0x494)+'word\x20'+'=\x20tên'+_0x6b945a(0x207)+_0x6b945a(0x45f)+_0x6b945a(0x308)+_0x6b945a(0x40d)+_0x6b945a(0x196)+_0x6b945a(0x485)+'MÃ\x20CH'+_0x6b945a(0x21c)+'CORE\x20'+_0x6b945a(0x2bd)+_0x6b945a(0x327)+_0x6b945a(0x4b4)+_0x6b945a(0x1ae)+'\x20DÙNG'+':\x0a\x20\x20\x20'+_0x6b945a(0x308)+_0x6b945a(0x3df)+_0x6b945a(0x469)+_0x6b945a(0x2fb)+_0x6b945a(0x3d7)+_0x6b945a(0x21a)+'ợng\x20c'+_0x6b945a(0x48a)+_0x6b945a(0x406)+_0x6b945a(0x3ab)+_0x6b945a(0x159)+_0x6b945a(0x1ae)+_0x6b945a(0x22c)+_0x6b945a(0x359)+_0x6b945a(0x478)+'ác\x20MÃ'+_0x6b945a(0x2a0)+_0x6b945a(0x29f)+'tham\x20'+_0x6b945a(0x27b)+_0x6b945a(0x4a1)+'\x0a\x20\x20\x20\x20'+_0x6b945a(0x313)+bangTuDienDanhMuc(_0x6b945a(0x457))+(_0x6b945a(0x493)+_0x6b945a(0x23a)+_0x6b945a(0x4d9)+_0x6b945a(0x166)+_0x6b945a(0x1f3)+_0x6b945a(0x2e0)+'ượng\x20'+'Sếp\x20h'+_0x6b945a(0x12b)+_0x6b945a(0x4a5)+'Ó\x20tro'+_0x6b945a(0x1db)+_0x6b945a(0x2a8)+_0x6b945a(0x1ca)+_0x6b945a(0x38d)+_0x6b945a(0x4c8)+_0x6b945a(0x19b)+'c\x20dùn'+'g\x20tha'+_0x6b945a(0x1a0)+'\x27keyw'+_0x6b945a(0xef)+'\x20để\x20t'+_0x6b945a(0x208)+_0x6b945a(0x31e)+_0x6b945a(0x269)+'ối)..'+_0x6b945a(0x493)+_0x6b945a(0x20a)+_0x6b945a(0x41a)+_0x6b945a(0x4a7)+'\x20THẤY'+_0x6b945a(0x40c)+_0x6b945a(0x3ed)+_0x6b945a(0x295)+'ra\x20cứ'+_0x6b945a(0x4c9)+'o\x20\x27co'+_0x6b945a(0x1fa)+_0x6b945a(0x44f)+_0x6b945a(0x23f)+_0x6b945a(0x490)+'ể\x20mà\x20'+_0x6b945a(0x265)+_0x6b945a(0x1fe)+_0x6b945a(0x2de)+_0x6b945a(0x1dc)+'\x20khớp'+_0x6b945a(0x4df)+'tus:\x20'+_0x6b945a(0x4d1)+_0x6b945a(0xe7)+_0x6b945a(0x2b3)+',\x20sug'+_0x6b945a(0x23c)+_0x6b945a(0x4d6)+_0x6b945a(0x279)+_0x6b945a(0x3b2)+_0x6b945a(0x163)+_0x6b945a(0x438)+'ỏi\x20Sế'+_0x6b945a(0x1f5)+'muốn\x20'+_0x6b945a(0x198)+_0x6b945a(0x371)+'\x20sơ\x20đ'+'ó\x20khô'+'ng.\x20C'+_0x6b945a(0x1b5)+_0x6b945a(0x390)+_0x6b945a(0x2bc)+_0x6b945a(0x28d)+_0x6b945a(0x3eb)+'ý,\x20gọ'+_0x6b945a(0x454)+_0x6b945a(0xeb)+_0x6b945a(0x10e)+_0x6b945a(0x4a6)+_0x6b945a(0x3c1)+_0x6b945a(0x421)+_0x6b945a(0x38a)+_0x6b945a(0x417)+_0x6b945a(0x106)+'\x20TUYỆ'+'T\x20ĐỐI'+_0x6b945a(0x41a)+_0x6b945a(0x3e2)+_0x6b945a(0x465)+_0x6b945a(0x377)+_0x6b945a(0x121)+_0x6b945a(0x379)+_0x6b945a(0x1ea)+_0x6b945a(0x3c6)+_0x6b945a(0x1e4)+_0x6b945a(0x265)+'\x20bịa\x20'+_0x6b945a(0x3be)+'trườn'+_0x6b945a(0x472)+_0x6b945a(0x49e)+'Sếp\x20c'+'hưa\x20c'+'ung\x20c'+_0x6b945a(0xf1)),'inputSchema':z[_0x6b945a(0x4ab)+'t']({'type':z[_0x6b945a(0x462)+'g']()['descr'+_0x6b945a(0x3a6)](_0x6b945a(0x2ab)+_0x6b945a(0x44d)+_0x6b945a(0x180)+_0x6b945a(0x42d)+'(cust'+_0x6b945a(0x13e)+_0x6b945a(0x484)+_0x6b945a(0x34c)+'.)'),'type_keywords':z[_0x6b945a(0x204)](z[_0x6b945a(0x462)+'g']())[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()['descr'+'ibe'](_0x6b945a(0x175)+_0x6b945a(0x46a)+_0x6b945a(0x15b)+'o\x20AI\x20'+_0x6b945a(0x3c3)+_0x6b945a(0x17c)+_0x6b945a(0x2d8)+_0x6b945a(0x251)+'\x22Báo\x20'+_0x6b945a(0x300)+_0x6b945a(0x3ca)+').'),'keywords':z[_0x6b945a(0x204)](z[_0x6b945a(0x462)+'g']())[_0x6b945a(0x25c)+'nal']()[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x301)+_0x6b945a(0x143)+_0x6b945a(0x10b)+_0x6b945a(0x427)+_0x6b945a(0x3b3)+_0x6b945a(0x33b)+_0x6b945a(0x429)+_0x6b945a(0x400)+'Tên\x20k'+'hách,'+_0x6b945a(0xff)+_0x6b945a(0x2db)+_0x6b945a(0x2c8)+_0x6b945a(0x25d)+_0x6b945a(0x458)+_0x6b945a(0x3b4)+'ừ\x20CHẶ'+_0x6b945a(0x318)+_0x6b945a(0x231)+'t\x20các'+_0x6b945a(0x1a9)+'đến\x20L'+_0x6b945a(0x287)+_0x6b945a(0x184)+_0x6b945a(0x29a)+'đơn)\x20'+_0x6b945a(0x3a2)+'ần,\x20k'+'hông\x20'+'cần\x20S'+_0x6b945a(0x32b)+'\x20tự\x20l'+'o\x20việ'+_0x6b945a(0x4dd)+_0x6b945a(0x39e)+'.'),'ref_filters':z[_0x6b945a(0x204)](z[_0x6b945a(0x4ab)+'t']({'field':z[_0x6b945a(0x462)+'g']()['descr'+'ibe'](_0x6b945a(0x378)+_0x6b945a(0x14e)+_0x6b945a(0x14f)+_0x6b945a(0x260)+_0x6b945a(0x48c)+_0x6b945a(0x18c)+_0x6b945a(0x187)+_0x6b945a(0x3f3)+'VD:\x20\x22'+_0x6b945a(0x1c9)+'ls.ma'+_0x6b945a(0x2c5)+'trong'+_0x6b945a(0x375)+'hàng)'+'.'),'keyword':z[_0x6b945a(0x462)+'g']()[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x226)+_0x6b945a(0x2f4)+'p\x20muố'+_0x6b945a(0x343)+_0x6b945a(0x40b)+_0x6b945a(0x477)+_0x6b945a(0x1cc)+_0x6b945a(0x357)+_0x6b945a(0x21d)+'.'),'hop_controller':z['strin'+'g']()[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()['descr'+_0x6b945a(0x3a6)]('NẾU\x20C'+_0x6b945a(0x17d)+_0x6b945a(0x284)+_0x6b945a(0x1de)+_0x6b945a(0x2cc)+_0x6b945a(0x35b)+_0x6b945a(0x2fd)+'er\x20củ'+_0x6b945a(0x19e)+_0x6b945a(0x35c)+_0x6b945a(0x470)+_0x6b945a(0x4d8)+_0x6b945a(0x1ba)+'MVT\x22)'+'.'),'hop_field':z[_0x6b945a(0x462)+'g']()['optio'+'nal']()['descr'+_0x6b945a(0x3a6)](_0x6b945a(0x340)+_0x6b945a(0x17d)+'C\x20CẦU'+_0x6b945a(0xe4)+_0x6b945a(0x18d)+'g\x20chứ'+_0x6b945a(0x12f)+_0x6b945a(0x42b)+_0x6b945a(0x186)+_0x6b945a(0x35c)+_0x6b945a(0x470)+_0x6b945a(0x4d8)+_0x6b945a(0x39b)+_0x6b945a(0x239)+_0x6b945a(0x118)),'hop_extract_field':z[_0x6b945a(0x462)+'g']()[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x340)+_0x6b945a(0x17d)+_0x6b945a(0x284)+':\x20Trư'+_0x6b945a(0x430)+_0x6b945a(0x1c1)+_0x6b945a(0x19a)+_0x6b945a(0x3cd)+_0x6b945a(0x2fc)+_0x6b945a(0x322)+_0x6b945a(0x1ce)+'ian\x20m'+_0x6b945a(0x11c)+_0x6b945a(0x290)+'\x20vào\x20'+_0x6b945a(0x4aa)+_0x6b945a(0x2a7)+_0x6b945a(0x40f)+_0x6b945a(0x498)+_0x6b945a(0x125)+_0x6b945a(0x118))}))[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()[_0x6b945a(0x1a5)+'ibe']('BỘ\x20LỌ'+'C\x20ĐỘN'+_0x6b945a(0x47d)+_0x6b945a(0x1a4)+_0x6b945a(0x496)+_0x6b945a(0x105)+_0x6b945a(0x2c0)+_0x6b945a(0x444)+_0x6b945a(0x116)+_0x6b945a(0x30d)+_0x6b945a(0x1c2)+'goại.'+_0x6b945a(0x22a)+'ỗ\x20trợ'+_0x6b945a(0x358)+_0x6b945a(0x333)+'\x20nhịp'+'.'),'id':z[_0x6b945a(0x462)+'g']()[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x292)+_0x6b945a(0x271)+_0x6b945a(0x10f)+'.'),'code':z['strin'+'g']()[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()['descr'+_0x6b945a(0x3a6)]('Mã\x20cụ'+_0x6b945a(0x3ee)+_0x6b945a(0x35a)+_0x6b945a(0x2ca)+'T001\x22'+_0x6b945a(0x386)+'\x20thốn'+_0x6b945a(0x1b7)+'tiên\x20'+_0x6b945a(0x184)+'CHÍNH'+_0x6b945a(0x4c7)+_0x6b945a(0x368)+_0x6b945a(0x113)+_0x6b945a(0x422)+_0x6b945a(0x2be)+_0x6b945a(0x2ac)+_0x6b945a(0x262)+'tìm\x20k'+_0x6b945a(0x3e9)),'include_relations':z['boole'+'an']()[_0x6b945a(0x324)+'lt'](![])[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x3dc)+'RUE\x20đ'+_0x6b945a(0x441)+_0x6b945a(0x11e)+_0x6b945a(0x10c)+_0x6b945a(0x437)+'ệc,\x20g'+_0x6b945a(0x377)+_0x6b945a(0x33d)+_0x6b945a(0x2a9)+'i.'),'page':z[_0x6b945a(0x45d)+'r']()[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()[_0x6b945a(0x324)+'lt'](0x1)['descr'+_0x6b945a(0x3a6)]('Trang'+_0x6b945a(0x4a2)+_0x6b945a(0x3c5)+_0x6b945a(0x453)+_0x6b945a(0x221)+_0x6b945a(0x263)+_0x6b945a(0x37f)),'limit':z[_0x6b945a(0x45d)+'r']()[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()[_0x6b945a(0x324)+'lt'](0xf)[_0x6b945a(0x1a5)+'ibe'](_0x6b945a(0x2ae)+'ợng\x20k'+'ết\x20qu'+_0x6b945a(0x4b8)+_0x6b945a(0x41b)+'\x20tran'+'g.'),'tu_ngay':z[_0x6b945a(0x462)+'g']()[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x48b)+_0x6b945a(0x1c6)+_0x6b945a(0x43e)+_0x6b945a(0x298)+'.'),'den_ngay':z[_0x6b945a(0x462)+'g']()[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()[_0x6b945a(0x1a5)+'ibe']('Đến\x20n'+_0x6b945a(0x14a)+_0x6b945a(0x246)+_0x6b945a(0x4a9)+').')}),'execute':async _0x198b74=>{const _0x3296d1=_0x6b945a;try{Logger[_0x3296d1(0xf5)](_0x3296d1(0x302)+_0x3296d1(0x16a)+_0x3296d1(0x49a)+_0x3296d1(0x29e)+_0x3296d1(0x1bf)+_0x3296d1(0x4b2)+'l]:\x20',JSON[_0x3296d1(0x462)+_0x3296d1(0x276)](_0x198b74,null,0x2));let {ref_filters:_0x2cfb18,type:_0x222fed,type_keywords:_0x4f8706,keywords:_0x22daa4,id:_0x25ce44,code:_0x4b6f7e,include_relations:_0x34e5a5,page:_0x235d2d,limit:_0x34b6bc,tu_ngay:_0x1e34f9,den_ngay:_0x1e3c34}=_0x198b74;const {config:_0x222bf7,isDynamic:_0x371b82}=await resolveControllerConfig(_0x222fed,_0x4f8706,_0x153a92),{title:_0x30b113,controllerCode:_0x47a9d0,model:_0x4f0456}=_0x222bf7,_0x37be90=async(_0x3f8725,_0x39cc6e,_0x86fa59={})=>{const _0x3b0350=_0x3296d1,_0x33c8b8=global['contr'+_0x3b0350(0x376)+'s'][_0x3f8725[_0x3b0350(0x133)+_0x3b0350(0x443)+'e']()];if(!_0x33c8b8||typeof _0x33c8b8['findD'+_0x3b0350(0x1d1)]!==_0x3b0350(0x29d)+_0x3b0350(0x3a0))return null;if(_0x33c8b8[_0x3b0350(0x128)+_0x3b0350(0x120)+'_app']===!![])_0x39cc6e['id_ap'+'p']=_0x153a92;if(_0x33c8b8[_0x3b0350(0x4cd)][_0x3b0350(0x148)+'a'][_0x3b0350(0x2d9)][_0x3b0350(0x425)+'ps']&&_0x33c8b8[_0x3b0350(0x4cd)]['schem'+'a'][_0x3b0350(0x2d9)]['id_ap'+'ps'][_0x3b0350(0x27d)+'nce']===_0x3b0350(0x380)){if(!_0x39cc6e[_0x3b0350(0xed)])_0x39cc6e['$and']=[];const _0xafaaef={};_0xafaaef[_0x3b0350(0x425)+'ps']=_0x153a92;const _0x3df1c4={};_0x3df1c4[_0x3b0350(0x425)+'ps']=null;const _0x5672a4={};_0x5672a4['$exis'+'ts']=![];const _0x205020={};_0x205020['id_ap'+_0x3b0350(0x405)]=_0x5672a4;const _0x4c4581={};_0x4c4581['$or']=[_0xafaaef,_0x3df1c4,_0x205020],_0x39cc6e[_0x3b0350(0xed)]['push'](_0x4c4581);}const _0x556f76={};return _0x556f76[_0x3b0350(0x43f)]=_0x86fa59['limit']||0x14,_0x556f76[_0x3b0350(0x1ec)]=_0x86fa59[_0x3b0350(0x1ec)]||0x1,_0x556f76[_0x3b0350(0x4b5)+'s']=_0x86fa59[_0x3b0350(0x4b5)+'s'],_0x556f76['sort']=_0x86fa59[_0x3b0350(0x2d0)],_0x556f76['pagin'+_0x3b0350(0x268)]=_0x86fa59['pagin'+_0x3b0350(0x268)]||0x0,_0x556f76[_0x3b0350(0x439)]=_0x86fa59[_0x3b0350(0x439)]||0x0,await _0x33c8b8['findD'+_0x3b0350(0x1d1)](_0x4d209e,_0x39cc6e,_0x556f76);},{timeCondition:_0x566aa0}=buildTimeCondition(_0x1e34f9,_0x1e3c34,_0x4f0456);let _0x2dbf58=[],_0x5dff96=_0x3296d1(0x348)+_0x3296d1(0x282)+'s',_0x3eada6=_0x22daa4?.[_0x3296d1(0x432)](',\x20')||_0x4b6f7e||'';if(Object[_0x3296d1(0x2e9)](_0x566aa0)[_0x3296d1(0x3f9)+'h']>0x0)_0x2dbf58[_0x3296d1(0x13c)](_0x566aa0);const _0xd45be0=await buildUniversalRefConditions(_0x47a9d0,_0x2cfb18,_0x153a92);_0xd45be0['lengt'+'h']>0x0&&(_0x2dbf58['push'](..._0xd45be0),_0x5dff96=_0x5dff96===_0x3296d1(0x348)+_0x3296d1(0x282)+'s'?_0x3296d1(0x3ec)+_0x3296d1(0x37e)+'fs':_0x5dff96+(_0x3296d1(0x1f1)+_0x3296d1(0x32e)),_0x3eada6+='\x20(Đã\x20'+_0x3296d1(0x182)+_0x3296d1(0x3a9)+_0xd45be0[_0x3296d1(0x3f9)+'h']+(_0x3296d1(0x24c)+_0x3296d1(0x341)+_0x3296d1(0x30f)+'t)'));const _0x25da7a=buildKeywordConditionLadder(_0x25ce44,_0x4b6f7e,_0x22daa4,_0x222bf7),_0x1d21ee=Object[_0x3296d1(0x2e9)](_0x222bf7[_0x3296d1(0x4ae)+_0x3296d1(0x36e)+'ds'])[_0x3296d1(0x3f9)+'h']>0x0?_0x222bf7[_0x3296d1(0x4ae)+_0x3296d1(0x36e)+'ds']:undefined;let _0x32467b=[],_0x1bb001,_0x37e4d8;if(_0x25da7a['lengt'+'h']===0x0){const _0xe8e647=_0x2dbf58[_0x3296d1(0x3f9)+'h']>0x0?{'$and':_0x2dbf58}:{},_0x5d8424={};_0x5d8424['limit']=_0x34b6bc,_0x5d8424[_0x3296d1(0x1ec)]=_0x235d2d,_0x5d8424[_0x3296d1(0x11f)+_0x3296d1(0x268)]=0x1,_0x5d8424[_0x3296d1(0x4b5)+'s']=_0x1d21ee,_0x37e4d8=await _0x37be90(_0x47a9d0,_0xe8e647,_0x5d8424),_0x32467b=_0x37e4d8?.[_0x3296d1(0x20d)]?.[_0x3296d1(0x3f9)+'h']>0x0?_0x37e4d8[_0x3296d1(0x20d)]:[],_0x1bb001=extractPagination(_0x37e4d8,_0x235d2d,_0x34b6bc);if(_0x1e34f9||_0x1e3c34)_0x5dff96=_0x5dff96===_0x3296d1(0x348)+'ecord'+'s'?_0x3296d1(0x2f6)+_0x3296d1(0x3a3):_0x5dff96;}else for(const _0xc0d99a of _0x25da7a){const _0x3f9ec0={};_0x3f9ec0['$and']=[..._0x2dbf58,_0xc0d99a[_0x3296d1(0x137)+'tion']];const _0x4f7973=_0x3f9ec0,_0x16245d={};_0x16245d[_0x3296d1(0x43f)]=_0x34b6bc,_0x16245d[_0x3296d1(0x1ec)]=_0x235d2d,_0x16245d['pagin'+_0x3296d1(0x268)]=0x1,_0x16245d['field'+'s']=_0x1d21ee,_0x37e4d8=await _0x37be90(_0x47a9d0,_0x4f7973,_0x16245d);const _0x361c3=_0x37e4d8?.['data']?.[_0x3296d1(0x3f9)+'h']>0x0?_0x37e4d8[_0x3296d1(0x20d)]:[];if(_0x361c3[_0x3296d1(0x3f9)+'h']>0x0){_0x32467b=_0x361c3,_0x1bb001=extractPagination(_0x37e4d8,_0x235d2d,_0x34b6bc),_0x5dff96=_0xc0d99a['match'+'edBy'];break;}}if(_0x32467b[_0x3296d1(0x3f9)+'h']===0x0){const _0x4ab270=_0x25da7a['lengt'+'h']>0x0,_0xa438e=_0x4b6f7e||(_0x22daa4&&_0x22daa4[_0x3296d1(0x3f9)+'h']>0x0?_0x22daa4[_0x3296d1(0x432)](',\x20'):null),_0x6eb33a=global[_0x3296d1(0x10a)+_0x3296d1(0x376)+'s'][_0x47a9d0[_0x3296d1(0x133)+_0x3296d1(0x443)+'e']()]?.['isVou'+'cher']===!![],_0x302674={};_0x302674[_0x3296d1(0x3bc)]=_0x30b113,_0x302674[_0x3296d1(0x181)]=_0x47a9d0;const _0x4cdb6d={};return _0x4cdb6d[_0x3296d1(0x200)+'s']=_0x3296d1(0x339)+'ss_em'+'pty',_0x4cdb6d[_0x3296d1(0x29d)+_0x3296d1(0x44c)+'sed']=_0x302674,_0x4cdb6d[_0x3296d1(0x169)+'ge']=_0x3296d1(0x451)+_0x3296d1(0x28c)+_0x3296d1(0x205)+_0x3296d1(0x150)+_0x3296d1(0x2ed)+_0x30b113+(_0x3296d1(0x399)+_0x3296d1(0x2c2)+_0x3296d1(0x4a5)+_0x3296d1(0x1f0)+_0x3296d1(0x49e)+_0x3296d1(0xe1)),_0x4cdb6d['sugge'+_0x3296d1(0x219)+_0x3296d1(0x3c9)]=_0x4ab270,_0x4cdb6d['hint']=_0x4ab270?'Báo\x20S'+'ếp:\x20\x22'+'Dạ,\x20e'+_0x3296d1(0x3a4)+'tìm\x20t'+_0x3296d1(0x3d0)+'**'+_0x30b113+(_0x3296d1(0x483)+_0x3296d1(0x214)+'hông\x20'+_0x3296d1(0x2ef))+(_0xa438e?'\x20\x27'+_0xa438e+'\x27':'')+(_0x3296d1(0x42f)+_0x3296d1(0x184)+_0x3296d1(0x415)+_0x3296d1(0x1f5)+_0x3296d1(0x444)+_0x3296d1(0x1d9)+'o\x20mới'+'\x20')+(_0x6eb33a?_0x3296d1(0xe8)+'\x20từ':_0x3296d1(0x44d)+'mục')+(_0x3296d1(0x33c)+_0x3296d1(0x450)+_0x3296d1(0x44e)+'NẾU\x20S'+_0x3296d1(0x294)+_0x3296d1(0x16d)+_0x3296d1(0x28a)+_0x3296d1(0xee)+_0x3296d1(0x135)+_0x3296d1(0x345)+_0x3296d1(0xf6)+_0x3296d1(0x1e1)+_0x3296d1(0x41c)+_0x3296d1(0x34d)+_0x3296d1(0x281)+'(type'+_0x3296d1(0x2c7))+_0x222fed+(_0x3296d1(0x464)+_0x3296d1(0x3af)+_0x3296d1(0x472)+_0x3296d1(0x49e)+_0x3296d1(0x3b5)+_0x3296d1(0x4d2)+'g\x20cấp'+',\x20KHÔ'+_0x3296d1(0x4a4)+_0x3296d1(0x119)+_0x3296d1(0x3be)+_0x3296d1(0x18d)+_0x3296d1(0x140)+_0x3296d1(0x1ac)+_0x3296d1(0x389)+_0x3296d1(0x3c6)+'.'):_0x3296d1(0x2b2)+_0x3296d1(0x4b7)+_0x3296d1(0x134)+_0x3296d1(0x3a4)+_0x3296d1(0x116)+_0x3296d1(0x3d0)+'**'+_0x30b113+(_0x3296d1(0x315)+_0x3296d1(0x10d)+_0x3296d1(0x12d)+_0x3296d1(0x46c)+'g\x20khô'+'ng\x20tì'+_0x3296d1(0x21f)+_0x3296d1(0x267)+_0x3296d1(0x49e)+_0x3296d1(0x4c4)+_0x3296d1(0x440)+'!\x22.'),_0x4cdb6d;}const _0x3b4ba6=await Promise[_0x3296d1(0x353)](_0x32467b[_0x3296d1(0x2f7)](async _0x5ccee0=>{const _0x60505c=_0x3296d1;let _0xfe8c12={...typeof _0x5ccee0[_0x60505c(0x449)+_0x60505c(0x15e)]==='funct'+_0x60505c(0x3a0)?_0x5ccee0[_0x60505c(0x449)+_0x60505c(0x15e)]():_0x5ccee0};_0xfe8c12[_0x60505c(0x38b)]=_0xfe8c12[_0x60505c(0x38b)]?_0xfe8c12['_id'][_0x60505c(0x160)+_0x60505c(0x431)]():undefined;if(_0xfe8c12['_id'])_0xfe8c12[_0x60505c(0x34e)+_0x60505c(0x259)+_0x60505c(0x43b)]=_0x60505c(0x3d3)+_0x60505c(0x43c)+_0x60505c(0x1e6)+_0x47a9d0[_0x60505c(0x28b)+'erCas'+'e']()+_0x60505c(0x367)+_0xfe8c12['_id'];_0xfe8c12[_0x60505c(0x2e5)+'ta']=await translateDocToText(_0x5ccee0,_0x4f0456);if(_0x34e5a5)_0xfe8c12=await fetchItemRelations(_0xfe8c12,_0x47a9d0,_0x37be90);return _0xfe8c12;})),_0xa8a3e1={};_0xa8a3e1[_0x3296d1(0x457)]=_0x222fed,_0xa8a3e1[_0x3296d1(0x44f)+_0x3296d1(0x1a7)]=_0x22daa4||[],_0xa8a3e1[_0x3296d1(0xe3)+'ay']=_0x1e34f9,_0xa8a3e1[_0x3296d1(0x272)+_0x3296d1(0x157)]=_0x1e3c34;const _0x5e3ee6=_0xa8a3e1,_0x1a8c3c={};return _0x1a8c3c[_0x3296d1(0x3bc)]=_0x30b113,_0x1a8c3c[_0x3296d1(0x181)]=_0x47a9d0,{'status':_0x3296d1(0x339)+'ss','function_used':_0x1a8c3c,'pagination':_0x1bb001,'current_filters':_0x5e3ee6,'count':_0x3b4ba6['lengt'+'h'],'data':JSON['parse'](JSON[_0x3296d1(0x462)+_0x3296d1(0x276)](_0x3b4ba6)),'isDynamic':_0x371b82,'successfulKeyword':_0x3eada6,'matchedBy':_0x5dff96,'hint':'AI\x20LƯ'+_0x3296d1(0x22b)+'\x0a\x20\x20\x20\x20'+'\x20\x20\x20\x20\x20'+_0x3296d1(0x308)+_0x3296d1(0x308)+'\x20\x20\x20\x20\x20'+_0x3296d1(0x49b)+_0x3296d1(0x482)+_0x3296d1(0x487)+_0x3296d1(0x2da)+'ang\x20t'+_0x3296d1(0x4cc)+'u\x20tro'+_0x3296d1(0x3cf)+_0x3296d1(0x1d4)+'ng\x20**'+_0x30b113+'\x20('+_0x47a9d0+(_0x3296d1(0x4ce)+'.\x22.\x20\x0a'+'\x20\x20\x20\x20\x20'+_0x3296d1(0x308)+_0x3296d1(0x308)+'\x20\x20\x20\x20\x20'+_0x3296d1(0x309)+'.\x20BẮT'+_0x3296d1(0x1ae)+_0x3296d1(0x417)+_0x3296d1(0x305)+_0x3296d1(0x197)+_0x3296d1(0x232)+_0x3296d1(0x492)+_0x3296d1(0x286)+_0x3296d1(0x224)+_0x3296d1(0x2b6)+_0x3296d1(0x37b)+_0x3296d1(0x280)+_0x3296d1(0x2b9)+_0x3296d1(0x39d)+_0x3296d1(0x31b)+_0x3296d1(0x45e)+_0x3296d1(0x308)+_0x3296d1(0x308)+'\x20\x20\x20\x20\x20'+_0x3296d1(0x308)+_0x3296d1(0x442)+'.\x20')+(_0x1bb001[_0x3296d1(0x146)+_0x3296d1(0x488)]>_0x1bb001[_0x3296d1(0x1ec)]?_0x3296d1(0xf3)+_0x3296d1(0x1bb)+_0x3296d1(0x3a9)+_0x1bb001['page']+'/'+_0x1bb001[_0x3296d1(0x146)+_0x3296d1(0x488)]+(_0x3296d1(0x3f1)+_0x3296d1(0x2c0)+_0x3296d1(0x14d)+_0x3296d1(0x11d)+'m\x20tra'+'ng\x20ti'+_0x3296d1(0x257)+_0x3296d1(0x3c7)):_0x3296d1(0x396)+_0x3296d1(0x20f)+_0x3296d1(0x3c2)+_0x3296d1(0x365)+_0x3296d1(0x491))};}catch(_0x230f9a){let _0x1e06d5=_0x230f9a[_0x3296d1(0x169)+'ge']||_0x230f9a[_0x3296d1(0x1d7)]||_0x230f9a[_0x3296d1(0x160)+_0x3296d1(0x431)]();if(_0x1e06d5?.['inclu'+_0x3296d1(0x1d8)]('|')){const [_0x2819f8,_0x5787bd,_0x319420]=_0x1e06d5[_0x3296d1(0x2c6)]('|');if(_0x2819f8===_0x3296d1(0x39f)+'PLE_M'+'ATCHE'+'S')return{'status':'multi'+_0x3296d1(0x32a)+_0x3296d1(0x261)+'s','choices':JSON[_0x3296d1(0x481)](_0x5787bd),'hint':_0x319420};const _0x1de9d5={};_0x1de9d5[_0x3296d1(0x200)+'s']=_0x3296d1(0x339)+_0x3296d1(0x3dd)+_0x3296d1(0x153),_0x1de9d5[_0x3296d1(0x30b)]=_0x5787bd;if(_0x2819f8===_0x3296d1(0xfb)+_0x3296d1(0x256)+'P'||_0x2819f8===_0x3296d1(0xfb)+'_CATE'+_0x3296d1(0x23e)||_0x2819f8===_0x3296d1(0xfb)+_0x3296d1(0x25f)+_0x3296d1(0x426)+'T')return _0x1de9d5;const _0x56d967={};_0x56d967['statu'+'s']=_0x3296d1(0x339)+_0x3296d1(0x3dd)+_0x3296d1(0x153),_0x56d967['hint']=_0x5787bd;if(_0x2819f8===_0x3296d1(0xfb)+_0x3296d1(0x47f)||_0x2819f8===_0x3296d1(0xfb)+_0x3296d1(0x222))return _0x56d967;}return Logger['info']('[Lỗi\x20'+'từ\x20lo'+_0x3296d1(0x2fe)+_0x3296d1(0x10e)+_0x3296d1(0x27f)+_0x3296d1(0x326),_0x1e06d5||_0x230f9a),{'status':_0x3296d1(0x1d7),'message':_0x1e06d5||String(_0x230f9a)};}}}),'manageMasterDataDocumentTool':tool({'description':_0x6b945a(0x3f2)+'cụ\x20TH'+'ÊM\x20MỚ'+_0x6b945a(0x3c0)+_0x6b945a(0x3fa)+_0x6b945a(0x11b)+_0x6b945a(0x228)+'NHẬT\x20'+_0x6b945a(0x2d6)+_0x6b945a(0x104)+_0x6b945a(0x107)+_0x6b945a(0x3a8)+'anh\x20m'+_0x6b945a(0x168)+_0x6b945a(0x235)+'.\x0a\x20\x20\x20'+_0x6b945a(0x308)+_0x6b945a(0x1b9)+_0x6b945a(0x15a)+_0x6b945a(0x12c)+_0x6b945a(0x311)+_0x6b945a(0x3d2)+_0x6b945a(0x264)+'\x20BẮT\x20'+'BUỘC\x20'+_0x6b945a(0x34f)+'\x20BƯỚC'+']:\x0a\x20\x20'+_0x6b945a(0x308)+_0x6b945a(0x308)+_0x6b945a(0x2f1)+_0x6b945a(0x497)+'Lên\x20n'+_0x6b945a(0x203)+_0x6b945a(0x1aa)+_0x6b945a(0x15d)+_0x6b945a(0x36a)+'này\x20v'+_0x6b945a(0x45a)+_0x6b945a(0x213)+_0x6b945a(0x1d0)+_0x6b945a(0x2ff)+'lse\x27.'+_0x6b945a(0x211)+_0x6b945a(0x314)+_0x6b945a(0x395)+_0x6b945a(0x3b0)+_0x6b945a(0x2f5)+'gười\x20'+_0x6b945a(0x4ad)+'và\x20hỏ'+_0x6b945a(0x4db)+_0x6b945a(0x131)+'\x20đồng'+_0x6b945a(0x428)+_0x6b945a(0x170)+'ng?\x22.'+_0x6b945a(0x493)+_0x6b945a(0x308)+'\x20\x20\x20-\x20'+'BƯỚC\x20'+_0x6b945a(0x285)+'i\x20sổ)'+_0x6b945a(0x4be)+_0x6b945a(0x1f3)+_0x6b945a(0x234)+_0x6b945a(0x37d)+_0x6b945a(0x2bc)+_0x6b945a(0x28d)+_0x6b945a(0x24a)+'\x20ý\x22,\x20'+_0x6b945a(0xea)+_0x6b945a(0x2d5)+_0x6b945a(0x26c)+'\x20nữa\x20'+'với\x20\x27'+_0x6b945a(0x48d)+_0x6b945a(0x36b)+_0x6b945a(0x499)+_0x6b945a(0x412),'inputSchema':z[_0x6b945a(0x4ab)+'t']({'action':z[_0x6b945a(0x2a1)]([_0x6b945a(0x4d6)+'e','updat'+'e'])[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x1c3)+_0x6b945a(0x3cc)+_0x6b945a(0x480)+_0x6b945a(0x4c6)+_0x6b945a(0x254)+_0x6b945a(0x3b1)+'hoặc\x20'+_0x6b945a(0x190)+_0x6b945a(0x321)+_0x6b945a(0x3ae)+'hật).'),'type':z[_0x6b945a(0x462)+'g']()[_0x6b945a(0x1a5)+'ibe']('Tên\x20l'+_0x6b945a(0x460)+'hứng\x20'+_0x6b945a(0x3c4)+_0x6b945a(0x145)+_0x6b945a(0x304)+_0x6b945a(0x251)+_0x6b945a(0x3e5)+_0x6b945a(0x4d5)+_0x6b945a(0x3b6)+_0x6b945a(0x471)+_0x6b945a(0x361)+'\x20\x22Phi'+_0x6b945a(0x331)+_0x6b945a(0x4af)),'type_keywords':z[_0x6b945a(0x204)](z[_0x6b945a(0x462)+'g']())[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()[_0x6b945a(0x1a5)+'ibe'](_0x6b945a(0x175)+'ng\x20ng'+_0x6b945a(0x15b)+_0x6b945a(0x275)+_0x6b945a(0x489)+_0x6b945a(0x25e)),'document_id':z[_0x6b945a(0x462)+'g']()[_0x6b945a(0x25c)+'nal']()[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x163)+_0x6b945a(0x18b)+_0x6b945a(0x191)+_0x6b945a(0x13a)+_0x6b945a(0x190)+_0x6b945a(0x495)+_0x6b945a(0x303)+_0x6b945a(0x31c)+_0x6b945a(0x25a)+_0x6b945a(0x49f)+'goDB.'+_0x6b945a(0x4d4)+_0x6b945a(0x1b0)+'\x20KHÔN'+'G\x20tru'+_0x6b945a(0x3e1)+'ã\x20thô'+_0x6b945a(0x29f)+_0x6b945a(0x174)),'raw_data':z[_0x6b945a(0x28f)+'d'](z[_0x6b945a(0x1f2)]())[_0x6b945a(0x1a5)+'ibe'](_0x6b945a(0x1b1)+'ệu\x20JS'+'ON\x20ch'+_0x6b945a(0x218)+_0x6b945a(0x37c)+_0x6b945a(0x1fd)+_0x6b945a(0x4d0)+_0x6b945a(0x42c)+_0x6b945a(0x1b8)+'.'),'foreign_key_lookups':z[_0x6b945a(0x204)](z[_0x6b945a(0x4ab)+'t']({'field':z[_0x6b945a(0x462)+'g']()[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)]('Tên\x20t'+_0x6b945a(0x1fb)+_0x6b945a(0x3c8)+_0x6b945a(0x4bd)+_0x6b945a(0x435)+_0x6b945a(0x1b6)+_0x6b945a(0x40b)+_0x6b945a(0x48f)+_0x6b945a(0x338)+_0x6b945a(0x3d5)+'kh\x22).'),'target_type':z[_0x6b945a(0x462)+'g']()['descr'+'ibe'](_0x6b945a(0x459)+'anh\x20m'+_0x6b945a(0x473)+_0x6b945a(0x4a8)+_0x6b945a(0x22e)+_0x6b945a(0x40b)+_0x6b945a(0x2f0)+_0x6b945a(0x32d)+_0x6b945a(0x4b0)+_0x6b945a(0x2f0)+_0x6b945a(0x115)+'ch\x20hà'+_0x6b945a(0x132)),'keyword':z[_0x6b945a(0x462)+'g']()[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x226)+_0x6b945a(0x2e2)+_0x6b945a(0x4bb)+_0x6b945a(0x277)+_0x6b945a(0x237)+_0x6b945a(0x434)+_0x6b945a(0x2fa)+_0x6b945a(0x4da)+_0x6b945a(0x2a3)+_0x6b945a(0x27c)+'IP\x22).')}))[_0x6b945a(0x25c)+_0x6b945a(0x4bc)]()[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x38e)+'khi\x20S'+_0x6b945a(0x3e4)+_0x6b945a(0x12d)+_0x6b945a(0x411)+_0x6b945a(0x429)+_0x6b945a(0x162)+'ào\x20mộ'+_0x6b945a(0x3f8)+_0x6b945a(0x2f8)+'nh\x20ch'+_0x6b945a(0x158)+_0x6b945a(0x423)+'.\x20AI\x20'+'truyề'+_0x6b945a(0x171)+_0x6b945a(0x29f)+_0x6b945a(0x192)+_0x6b945a(0x20c)+_0x6b945a(0x2b7)+_0x6b945a(0x414)+'ò.'),'is_confirmed':z['boole'+'an']()[_0x6b945a(0x1a5)+_0x6b945a(0x3a6)](_0x6b945a(0x1e2)+_0x6b945a(0x46b)+_0x6b945a(0x236)+':\x20Mặc'+_0x6b945a(0x1d2)+'\x20là\x20f'+_0x6b945a(0x2c1)+_0x6b945a(0x24b)+'ĐẶT\x20L'+_0x6b945a(0x297)+'e\x20NẾU'+_0x6b945a(0x227)+_0x6b945a(0x2e1)+'NG\x20Ý.')}),'execute':async({action:_0x37ce61,type:_0xe6af1e,type_keywords:_0x370d93,document_id:_0x2c3a34,raw_data:_0x324ef0,foreign_key_lookups:_0x53c63a,is_confirmed:_0x30c9c2})=>{const _0x3e7478=_0x6b945a;try{if(_0x37ce61===_0x3e7478(0x416)+'e'&&(!_0x2c3a34||_0x2c3a34[_0x3e7478(0x45c)]()==='')){const _0x4f51d3={};return _0x4f51d3[_0x3e7478(0x200)+'s']=_0x3e7478(0x1d7),_0x4f51d3[_0x3e7478(0x169)+'ge']=_0x3e7478(0x1ad)+'\x20\x27_id'+_0x3e7478(0x26b)+_0x3e7478(0x446)+_0x3e7478(0x112)+_0x3e7478(0x3de)+_0x3e7478(0x243)+_0x3e7478(0x3f5)+_0x3e7478(0x288)+_0x3e7478(0xf8)+_0x3e7478(0x342)+_0x3e7478(0x3fe),_0x4f51d3;}const _0x3603e4=[_0xe6af1e];if(_0x370d93&&_0x370d93['lengt'+'h']>0x0)_0x3603e4[_0x3e7478(0x13c)](..._0x370d93);const _0x23492b={};_0x23492b[_0x3e7478(0x44f)+_0x3e7478(0x1a7)]=_0x3603e4,_0x23492b[_0x3e7478(0x356)+_0x3e7478(0x124)+_0x3e7478(0x223)+'schem'+'a']=!![],_0x23492b[_0x3e7478(0x43f)]=0x5;const _0x5af974=await searchActiveListInfo(_0x23492b),_0x5ccc69={};_0x5ccc69[_0x3e7478(0x200)+'s']='error',_0x5ccc69[_0x3e7478(0x169)+'ge']=_0x3e7478(0x291)+_0x3e7478(0x47b)+_0x3e7478(0x3bf)+'chức\x20'+_0x3e7478(0x18c)+'\x27'+_0xe6af1e+'\x27.';if(!_0x5af974||_0x5af974[_0x3e7478(0x4de)][_0x3e7478(0x3f9)+'h']===0x0)return _0x5ccc69;if(_0x5af974[_0x3e7478(0x4de)][_0x3e7478(0x3f9)+'h']>0x1){const _0xbf033a=_0x5af974[_0x3e7478(0x4de)]['find'](_0x2b6a0f=>{const _0x283169=_0x3e7478,_0x1f96d8=_0x2b6a0f[_0x283169(0x36d)][_0x283169(0x28b)+_0x283169(0x443)+'e']()[_0x283169(0x45c)](),_0x242e6a=_0x2b6a0f['final'+_0x283169(0x22d)][_0x283169(0x28b)+_0x283169(0x443)+'e']()[_0x283169(0x45c)]();return _0x3603e4[_0x283169(0x167)](_0x774725=>_0x774725[_0x283169(0x28b)+_0x283169(0x443)+'e']()[_0x283169(0x45c)]()===_0x1f96d8||_0x774725[_0x283169(0x28b)+_0x283169(0x443)+'e']()[_0x283169(0x45c)]()===_0x242e6a);});if(_0xbf033a)_0x5af974[_0x3e7478(0x4de)]=[_0xbf033a];else{const _0x54d3a5=_0x5af974[_0x3e7478(0x4de)][_0x3e7478(0x2f7)](_0x455017=>_0x3e7478(0x420)+_0x455017[_0x3e7478(0x36d)]+(_0x3e7478(0x283)+'ã:\x20')+_0x455017[_0x3e7478(0x3fc)+_0x3e7478(0x22d)]+')');return{'status':'multi'+'ple_m'+_0x3e7478(0x261)+'s','hint':_0x3e7478(0x296)+_0x3e7478(0x1cb)+'I\x20VÀ\x20'+'HỎI\x20S'+'ẾP:\x20\x22'+_0x3e7478(0x330)+'p,\x20có'+'\x20vài\x20'+_0x3e7478(0x48c)+_0x3e7478(0x18c)+'khớp:'+'\x20\x0a'+_0x54d3a5['join']('\x0a')+(_0x3e7478(0x18a)+_0x3e7478(0x126)+_0x3e7478(0x193)+_0x3e7478(0xe5)+_0x3e7478(0x366)+_0x3e7478(0x2b1)+'\x22')};}}const _0x26bbb6=_0x5af974['docs'][0x0],_0xacaf2d=_0x26bbb6[_0x3e7478(0x3fc)+_0x3e7478(0x22d)][_0x3e7478(0x133)+'erCas'+'e'](),_0x2047a6=global[_0x3e7478(0x10a)+_0x3e7478(0x376)+'s'][_0xacaf2d],_0x50a151={};_0x50a151[_0x3e7478(0x200)+'s']=_0x3e7478(0x1d7),_0x50a151['messa'+'ge']=_0x3e7478(0x3e6)+_0x3e7478(0x18c)+'\x27'+_0xacaf2d+(_0x3e7478(0x373)+_0x3e7478(0x466)+_0x3e7478(0x2d4)+_0x3e7478(0x355)+'g\x20Bac'+_0x3e7478(0x461));if(!_0x2047a6)return _0x50a151;if(_0x53c63a&&_0x53c63a[_0x3e7478(0x3f9)+'h']>0x0)for(let _0x44a391 of _0x53c63a){const _0x2f5800={};_0x2f5800[_0x3e7478(0x44f)+_0x3e7478(0x1a7)]=[_0x44a391[_0x3e7478(0x202)+_0x3e7478(0x382)+'e']],_0x2f5800[_0x3e7478(0x43f)]=0x1;const _0x101e42=await searchActiveListInfo(_0x2f5800);if(!_0x101e42||_0x101e42['docs']['lengt'+'h']===0x0)continue;const _0x418420=_0x101e42['docs'][0x0]['final'+_0x3e7478(0x22d)]['toUpp'+_0x3e7478(0x443)+'e'](),_0x4c6f49=global[_0x3e7478(0x10a)+_0x3e7478(0x376)+'s'][_0x418420];if(!_0x4c6f49||!_0x4c6f49[_0x3e7478(0x4cd)])continue;const _0x326226=_0x4c6f49[_0x3e7478(0x4cd)],_0x1a2087=Object[_0x3e7478(0x2e9)](_0x326226[_0x3e7478(0x148)+'a'][_0x3e7478(0x2d9)])[_0x3e7478(0x3ce)+'r'](_0xc77886=>_0x326226['schem'+'a'][_0x3e7478(0x2d9)][_0xc77886]['insta'+_0x3e7478(0xf2)]===_0x3e7478(0x176)+'g'&&![_0x3e7478(0x425)+'p',_0x3e7478(0x1c5)+_0x3e7478(0x4d6)+'ed'][_0x3e7478(0x356)+_0x3e7478(0x1d8)](_0xc77886)),_0x510250={};_0x510250[_0x3e7478(0x17f)+'x']=_0x44a391[_0x3e7478(0x44f)+'rd'],_0x510250[_0x3e7478(0x32c)+'ons']='i';let _0x3f12ed=_0x1a2087['map'](_0x5bb0e7=>({[_0x5bb0e7]:_0x510250}));if(_0x3f12ed[_0x3e7478(0x3f9)+'h']===0x0)continue;const _0x27dddb={};_0x27dddb[_0x3e7478(0x425)+'p']=_0x153a92,_0x27dddb['$or']=_0x3f12ed;const _0x4fb1da=await _0x326226['find'](_0x27dddb)[_0x3e7478(0x4ae)+'t'](_0x3e7478(0x38b))[_0x3e7478(0x43f)](0x1)[_0x3e7478(0x1a6)]();if(_0x4fb1da[_0x3e7478(0x3f9)+'h']>0x0)_0x324ef0[_0x44a391[_0x3e7478(0x4b5)]]=_0x4fb1da[0x0][_0x3e7478(0x38b)][_0x3e7478(0x160)+'ing'](),_0x324ef0['_'+_0x44a391[_0x3e7478(0x4b5)]+(_0x3e7478(0x165)+_0x3e7478(0x2b4)+_0x3e7478(0x3bc))]=_0x44a391['keywo'+'rd'];else{const _0x48854c={};return _0x48854c[_0x3e7478(0x200)+'s']='refer'+_0x3e7478(0x109)+_0x3e7478(0x3a1)+_0x3e7478(0x16b),_0x48854c['hint']=_0x3e7478(0x154)+_0x3e7478(0x319)+'C\x20DỪN'+_0x3e7478(0x14b)+_0x3e7478(0x225)+_0x3e7478(0x448)+_0x3e7478(0x410)+_0x3e7478(0x2bb)+_0x3e7478(0x445)+_0x3e7478(0x25b)+_0x3e7478(0x323)+'nh\x20th'+_0x3e7478(0x35d)+_0x3e7478(0x3fd)+_0x3e7478(0x31a)+_0x3e7478(0x41d)+_0x3e7478(0x3da)+_0x3e7478(0x2df)+_0x3e7478(0x39c)+'['+_0x44a391[_0x3e7478(0x202)+_0x3e7478(0x382)+'e']+(']\x20nào'+'\x20mang'+_0x3e7478(0x136)+'là\x20**')+_0x44a391[_0x3e7478(0x44f)+'rd']+(_0x3e7478(0x209)+_0x3e7478(0x131)+_0x3e7478(0x126)+_0x3e7478(0x4a3)+'ạo\x20mớ'+_0x3e7478(0x4b3)+_0x3e7478(0x3e3)+_0x3e7478(0x33c)+_0x3e7478(0x46f)+_0x3e7478(0x2cf)+'g\x20ạ?\x22'),_0x48854c;}}const _0x6440cd=_0x2047a6['model'],_0x318c8a={..._0x324ef0};_0x318c8a['listi'+_0x3e7478(0x320)+_0x3e7478(0x156)]=_0x26bbb6[_0x3e7478(0x181)];let _0x140276=_0x318c8a;Object['keys'](_0x140276)[_0x3e7478(0x387)+'ch'](_0xe39487=>{const _0x2c5cea=_0x3e7478;if(_0xe39487[_0x2c5cea(0x336)+_0x2c5cea(0x245)]('_')&&_0xe39487[_0x2c5cea(0x3e0)+_0x2c5cea(0xfa)](_0x2c5cea(0x165)+'lved_'+_0x2c5cea(0x3bc)))delete _0x140276[_0xe39487];});if(_0x2047a6['requi'+_0x3e7478(0x120)+_0x3e7478(0x468)]!==![])_0x140276[_0x3e7478(0x425)+'p']=_0x153a92;if(_0x37ce61==='creat'+'e'&&_0x6440cd&&_0x6440cd['schem'+'a']&&_0x6440cd['schem'+'a'][_0x3e7478(0x2d9)]){if(_0x6440cd['schem'+'a'][_0x3e7478(0x2d9)][_0x3e7478(0x43d)+'ct']&&!_0x140276[_0x3e7478(0x43d)+'ct'])_0x140276[_0x3e7478(0x43d)+'ct']=new Date();if(_0x6440cd[_0x3e7478(0x148)+'a']['paths'][_0x3e7478(0x1c4)+_0x3e7478(0x4d6)+'ed']&&!_0x140276['date_'+_0x3e7478(0x4d6)+'ed'])_0x140276[_0x3e7478(0x1c4)+_0x3e7478(0x4d6)+'ed']=new Date();}if(_0x6440cd&&_0x6440cd['schem'+'a']&&_0x6440cd[_0x3e7478(0x148)+'a']['paths']){const _0x342103=(_0x451680,_0x3ae9b0,_0x28f085='')=>{const _0x3a6b2e=_0x3e7478;if(Array[_0x3a6b2e(0x2ad)+'ay'](_0x451680))return _0x451680[_0x3a6b2e(0x2f7)](_0x3b5290=>_0x342103(_0x3b5290,_0x3ae9b0,_0x28f085));if(_0x451680&&typeof _0x451680==='objec'+'t'){let _0x541e13={};for(let [_0x801301,_0xe78291]of Object[_0x3a6b2e(0x1be)+'es'](_0x451680)){let _0x253713=_0x28f085?_0x28f085+'.'+_0x801301:_0x801301,_0x5178a8=_0x3ae9b0[_0x253713];if(Array[_0x3a6b2e(0x2ad)+'ay'](_0xe78291))_0x541e13[_0x801301]=_0xe78291['map'](_0x46af58=>_0x342103(_0x46af58,_0x3ae9b0,_0x253713));else{if(_0xe78291!==null&&typeof _0xe78291===_0x3a6b2e(0x4ab)+'t')_0x541e13[_0x801301]=_0x342103(_0xe78291,_0x3ae9b0,_0x253713);else{if(_0x5178a8){if(_0x5178a8[_0x3a6b2e(0x27d)+_0x3a6b2e(0xf2)]===_0x3a6b2e(0x4dc)+'r'&&typeof _0xe78291===_0x3a6b2e(0x462)+'g')_0xe78291=Number(_0xe78291['repla'+'ce'](/[^0-9.-]/g,''));else{if(_0x5178a8[_0x3a6b2e(0x27d)+'nce']===_0x3a6b2e(0x310)&&typeof _0xe78291===_0x3a6b2e(0x462)+'g')_0xe78291=new Date(_0xe78291);}}_0x541e13[_0x801301]=_0xe78291;}}}return _0x541e13;}return _0x451680;};_0x140276=_0x342103(_0x140276,_0x6440cd[_0x3e7478(0x148)+'a'][_0x3e7478(0x2d9)]);}if(!_0x30c9c2){const _0x773c82={};return _0x773c82[_0x3e7478(0x200)+'s']=_0x3e7478(0x2cb)+_0x3e7478(0x1c0)+_0x3e7478(0x36b)+_0x3e7478(0x268),_0x773c82[_0x3e7478(0x169)+'ge']=_0x3e7478(0x1b1)+_0x3e7478(0x1b4)+_0x3e7478(0x1e0)+'\x20chuẩ'+_0x3e7478(0x3b8)+'.\x20Đan'+_0x3e7478(0x401)+_0x3e7478(0x2bc)+_0x3e7478(0x1e5),_0x773c82[_0x3e7478(0x31f)+_0x3e7478(0x2a5)+'ew']=_0x140276,_0x773c82[_0x3e7478(0x30b)]=_0x3e7478(0x195)+_0x3e7478(0x369)+_0x3e7478(0x22f)+_0x3e7478(0x337)+_0x3e7478(0x308)+'\x20\x20\x20\x20\x20'+_0x3e7478(0x308)+_0x3e7478(0x308)+_0x3e7478(0x308)+'\x20\x20\x201.'+_0x3e7478(0x211)+_0x3e7478(0x314)+_0x3e7478(0x429)+_0x3e7478(0x3f4)+_0x3e7478(0x42d)+_0x3e7478(0x26a)+(_0x37ce61==='creat'+'e'?_0x3e7478(0x198)+'ỚI':'CẬP\x20N'+_0x3e7478(0x362))+(_0x3e7478(0x3b9)+_0x3e7478(0x4cb)+'G\x20(có'+'\x20nhắc'+'\x20đến\x20'+'các\x20N'+_0x3e7478(0x46e)+_0x3e7478(0x102)+_0x3e7478(0x4c3)+_0x3e7478(0x34b)+_0x3e7478(0x34a)+'hành\x20'+'công\x20'+_0x3e7478(0x3a2)+_0x3e7478(0x1e9)+_0x3e7478(0x308)+'\x20\x20\x20\x20\x20'+'\x20\x20\x20\x20\x20'+'\x20\x20\x20\x20\x20'+_0x3e7478(0x308)+'\x20\x202.\x20'+_0x3e7478(0x4ca)+_0x3e7478(0x455)+_0x3e7478(0x4b6)+_0x3e7478(0x44b)+_0x3e7478(0x393)+_0x3e7478(0x43a)+_0x3e7478(0x1ef)+_0x3e7478(0x31d)+_0x3e7478(0x164)+'\x20chưa'+_0x3e7478(0x41e)+'n\x20hồi'+'\x20\x27Đồn'+_0x3e7478(0x1a1)+_0x3e7478(0x139)+_0x3e7478(0x48e)+_0x3e7478(0x2d3)+'é!\x22'),_0x773c82;}let _0x432e83;if(_0x37ce61===_0x3e7478(0x4d6)+'e')_0x432e83=await _0x2047a6[_0x3e7478(0x4d6)+'eData'](_0x4d209e,_0x140276);else _0x432e83=await _0x2047a6[_0x3e7478(0x416)+_0x3e7478(0x26d)](_0x4d209e,_0x2c3a34,_0x140276);const _0x3a9f0d=typeof _0x432e83['toObj'+_0x3e7478(0x15e)]===_0x3e7478(0x29d)+_0x3e7478(0x3a0)?_0x432e83[_0x3e7478(0x449)+_0x3e7478(0x15e)]():_0x432e83,_0x166d15=JSON[_0x3e7478(0x481)](JSON['strin'+_0x3e7478(0x276)](_0x3a9f0d)),_0x38ce56='/#/pa'+'ge/li'+_0x3e7478(0x1e6)+_0x26bbb6[_0x3e7478(0x181)]+_0x3e7478(0x367)+_0x166d15[_0x3e7478(0x38b)],_0x122ad0={};return _0x122ad0[_0x3e7478(0x200)+'s']=_0x3e7478(0x339)+'ss',_0x122ad0['link_'+_0x3e7478(0x259)+_0x3e7478(0x43b)]=_0x38ce56,_0x122ad0[_0x3e7478(0x30b)]=_0x3e7478(0x2b2)+'ếp:\x20\x22'+'Dạ\x20Sế'+_0x3e7478(0x1bd)+'\x20đã\x20'+(_0x37ce61===_0x3e7478(0x4d6)+'e'?_0x3e7478(0x335)+'ới':'Cập\x20n'+_0x3e7478(0x1bc))+(_0x3e7478(0x3b9)+_0x3e7478(0x37a)+_0x3e7478(0x33f)+_0x3e7478(0xf7))+_0x26bbb6['title']+('**.\x20['+_0x3e7478(0x2b6)+_0x3e7478(0x37b)+_0x3e7478(0x280)+'](')+_0x38ce56+')\x22',_0x122ad0;}catch(_0x164cd2){return console[_0x3e7478(0x1d7)](_0x3e7478(0x299)+_0x3e7478(0x278)+_0x3e7478(0x179)+_0x3e7478(0x19c)+_0x3e7478(0x2af),_0x164cd2),{'status':_0x3e7478(0x1d7),'message':_0x164cd2['messa'+'ge']||String(_0x164cd2)};}}})};}const _0x219585={};_0x219585[_0x3ac78d(0x4d6)+_0x3ac78d(0xf6)+_0x3ac78d(0x1e1)+_0x3ac78d(0x2e3)+'s']=createMasterDataTools,module[_0x3ac78d(0x27a)+'ts']=_0x219585;
@@ -1,21 +1 @@
1
- const {tool}=require("ai"),{z}=require("zod"),moment=require("moment");
2
- function createOkrTools($id_app$$,$user_id$$){return{createOkrTool:tool({description:"C\u00f4ng c\u1ee5 T\u1ea0O M\u1edaI OKR (Objective and Key Results).\n S\u1eec D\u1ee4NG KHI: S\u1ebfp y\u00eau c\u1ea7u l\u1eadp m\u1ee5c ti\u00eau m\u1edbi, thi\u1ebft l\u1eadp OKR cho c\u00e1 nh\u00e2n ho\u1eb7c ph\u00f2ng ban.\n \n \ud83d\udd25 T\u01af DUY THI\u1ebeT L\u1eacP OKR (B\u1eaeT BU\u1ed8C):\n - 1 Objective (O) th\u01b0\u1eddng \u0111i k\u00e8m 2 \u0111\u1ebfn 5 Key Results (KRs).\n - M\u1ee5c ti\u00eau (O) ph\u1ea3i truy\u1ec1n c\u1ea3m h\u1ee9ng. K\u1ebft qu\u1ea3 then ch\u1ed1t (KR) ph\u1ea3i \u0110O L\u01af\u1edcNG \u0110\u01af\u1ee2C b\u1eb1ng s\u1ed1.\n - N\u1ebfu S\u1ebfp kh\u00f4ng n\u00f3i r\u00f5 ng\u01b0\u1eddi ph\u1ee5 tr\u00e1ch, t\u1ef1 \u0111\u1ed9ng m\u1eb7c \u0111\u1ecbnh l\u00e0 S\u1ebfp.\n \n \ud83d\udd25 QUY T\u1eaeC MAPPING M\u00c3 H\u1ec6 TH\u1ed0NG CHO KEY RESULT:\n 1. 'update_interval' (Chu k\u1ef3): 1 (Ng\u00e0y), 2 (Tu\u1ea7n), 3 (Th\u00e1ng), 4 (Qu\u00fd). M\u1eb7c \u0111\u1ecbnh \u01b0u ti\u00ean 2 ho\u1eb7c 3.\n 2. 'update_source' (Ngu\u1ed3n c\u1ea5p s\u1ed1): \n - \"1\": Ng\u01b0\u1eddi ph\u1ee5 tr\u00e1ch t\u1ef1 g\u00f5 tay c\u1eadp nh\u1eadt.\n - \"2\": T\u1ef1 \u0111\u1ed9ng l\u1ea5y t\u1eeb S\u1ed5 k\u1ebf to\u00e1n (N\u1ebfu ch\u1ecdn \"2\", AI B\u1eaeT BU\u1ed8C ph\u1ea3i truy\u1ec1n th\u00eam m\u1ea3ng 'tk_no' ho\u1eb7c 'tk_co' cho KR \u0111\u00f3).\n - \"7\": T\u1ef1 \u0111\u1ed9ng l\u1ea5y t\u1eeb Task/C\u00f4ng vi\u1ec7c.\n 3. 'measure_as' (\u0110\u01a1n v\u1ecb \u0111o): 1 (S\u1ed1 l\u01b0\u1ee3ng), 2 (Ti\u1ec1n), 3 (T\u1ef7 l\u1ec7 %).\n 4. 'aim' (H\u01b0\u1edbng m\u1ee5c ti\u00eau): 1 (T\u0103ng l\u00ean), 2 (Gi\u1ea3m xu\u1ed1ng), 3 (\u0110\u00fang b\u1eb1ng).\n ",inputSchema:z.object({objective:z.object({title:z.string().describe("Ti\u00eau \u0111\u1ec1 M\u1ee5c ti\u00eau (VD: X\u00e2m chi\u1ebfm th\u1ecb tr\u01b0\u1eddng mi\u1ec1n Nam)."),
3
- description:z.string().optional().describe("Mi\u00eau t\u1ea3 chi ti\u1ebft m\u1ee5c ti\u00eau."),start_date:z.string().describe("Ng\u00e0y b\u1eaft \u0111\u1ea7u (YYYY-MM-DD)."),due_date:z.string().describe("Ng\u00e0y k\u1ebft th\u00fac (YYYY-MM-DD)."),ma_bp:z.string().optional().describe("M\u00e3 b\u1ed9 ph\u1eadn (N\u1ebfu \u00e1p d\u1ee5ng cho ph\u00f2ng ban)."),phu_trach:z.string().optional().describe("Email ng\u01b0\u1eddi ph\u1ee5 tr\u00e1ch (\u0110\u1ec3 tr\u1ed1ng n\u1ebfu AI t\u1ef1 suy lu\u1eadn l\u00e0 S\u1ebfp).")}),
4
- key_results:z.array(z.object({name:z.string().describe("T\u00ean K\u1ebft qu\u1ea3 then ch\u1ed1t (VD: \u0110\u1ea1t 5 t\u1ef7 doanh thu m\u1edbi)."),phu_trach:z.string().optional(),update_interval:z.number(),update_source:z.string(),measure_as:z.number(),target_value:z.number().describe("Con s\u1ed1 m\u1ee5c ti\u00eau c\u1ea7n \u0111\u1ea1t c\u1ee7a KR."),aim:z.number(),tk_no:z.array(z.string()).optional().describe('T\u00e0i kho\u1ea3n N\u1ee3 (VD: ["641"]). D\u00f9ng khi update_source="2".'),tk_co:z.array(z.string()).optional().describe('T\u00e0i kho\u1ea3n C\u00f3 (VD: ["511"]). D\u00f9ng khi update_source="2".')})).min(1).describe("Danh s\u00e1ch c\u00e1c KRs chi ti\u1ebft \u0111o l\u01b0\u1eddng cho M\u1ee5c ti\u00eau n\u00e0y.")}),
5
- execute:async({objective:$objective$$,key_results:$key_results$$})=>{try{const $defaultUser$$=$objective$$.phu_trach||$user_id$$,$objData$$={id_app:$id_app$$,title:$objective$$.title,description:$objective$$.description||"",start_date:moment($objective$$.start_date).toDate(),due_date:moment($objective$$.due_date).toDate(),phu_trach:$defaultUser$$,ma_bp:$objective$$.ma_bp||""},$okrId$$=(await global.controllers.OKR.createData($user_id$$,$objData$$))._id.toString(),$krPromises$$=$key_results$$.map(async $kr$$=>
6
- await global.controllers.KEYRESULT.createData($user_id$$,{id_app:$id_app$$,id_link:$okrId$$,name:$kr$$.name,phu_trach:$kr$$.phu_trach||$defaultUser$$,update_interval:$kr$$.update_interval,update_source:$kr$$.update_source,measure_as:$kr$$.measure_as,target_value:$kr$$.target_value,aim:$kr$$.aim,start_date:$objData$$.start_date,due_date:$objData$$.due_date,tk_no:$kr$$.tk_no||[],tk_co:$kr$$.tk_co||[]}));await Promise.all($krPromises$$);return{status:"success",message:`\u0110\u00e3 t\u1ea1o OKR th\u00e0nh c\u00f4ng. Objective: '${$objData$$.title}' c\u00f9ng v\u1edbi ${$key_results$$.length} Key Results.`,
7
- hint:`B\u00e1o c\u00e1o S\u1ebfp: "D\u1ea1 em \u0111\u00e3 thi\u1ebft l\u1eadp xong b\u1ed9 OKR **${$objData$$.title}** v\u1edbi ${$key_results$$.length} k\u1ebft qu\u1ea3 then ch\u1ed1t (KRs) r\u1ed3i \u1ea1. C\u00e1c ph\u00f2ng ban c\u00f3 th\u1ec3 truy c\u1eadp v\u00e0o Module OKR \u0111\u1ec3 b\u1eaft \u0111\u1ea7u c\u1eadp nh\u1eadt ti\u1ebfn \u0111\u1ed9 nh\u00e9!"`}}catch($error$$){return console.error("[L\u1ed7i createOkrTool]:",$error$$),{status:"error",message:`L\u1ed7i khi l\u01b0u OKR: ${$error$$.message||
8
- $error$$}`}}}}),updateOkrTool:tool({description:"C\u00f4ng c\u1ee5 C\u1eacP NH\u1eacT/CH\u1ec8NH S\u1eecA OKR (Update OKR).\n S\u1eec D\u1ee4NG KHI: S\u1ebfp y\u00eau c\u1ea7u thay \u0111\u1ed5i ti\u00eau \u0111\u1ec1, th\u1eddi h\u1ea1n, ng\u01b0\u1eddi ph\u1ee5 tr\u00e1ch, ho\u1eb7c t\u0103ng/gi\u1ea3m ch\u1ec9 ti\u00eau c\u1ee7a c\u00e1c Key Results (KRs) thu\u1ed9c m\u1ed9t OKR \u0110\u00c3 T\u1ed2N T\u1ea0I.\n \n LU\u1eacT HO\u1ea0T \u0110\u1ed8NG:\n 1. T\u00ecm ki\u1ebfm OKR b\u1eb1ng 'okr_keyword'.\n 2. N\u1ebfu c\u1ea7n s\u1eeda th\u00f4ng tin chung (O), truy\u1ec1n v\u00e0o object 'objective'.\n 3. N\u1ebfu c\u1ea7n s\u1eeda K\u1ebft qu\u1ea3 then ch\u1ed1t (KRs), B\u1eaeT BU\u1ed8C ph\u1ea3i truy\u1ec1n TO\u00c0N B\u1ed8 m\u1ea3ng 'key_results' m\u1edbi. H\u1ec7 th\u1ed1ng s\u1ebd x\u00f3a c\u00e1c KRs c\u0169 v\u00e0 ghi \u0111\u00e8 b\u1eb1ng m\u1ea3ng m\u1edbi n\u00e0y (Gi\u1ed1ng quy tr\u00ecnh c\u1eadp nh\u1eadt KPI).",
9
- inputSchema:z.object({okr_keyword:z.string().describe('T\u00ean ho\u1eb7c t\u1eeb kh\u00f3a c\u1ee7a Ti\u00eau \u0111\u1ec1 OKR c\u1ea7n c\u1eadp nh\u1eadt (VD: "M\u1edf r\u1ed9ng th\u1ecb tr\u01b0\u1eddng").'),objective:z.object({title:z.string().optional(),description:z.string().optional(),start_date:z.string().optional().describe("Ng\u00e0y b\u1eaft \u0111\u1ea7u (YYYY-MM-DD)."),due_date:z.string().optional().describe("Ng\u00e0y k\u1ebft th\u00fac (YYYY-MM-DD)."),phu_trach:z.string().optional()}).optional().describe("Th\u00f4ng tin M\u1ee5c ti\u00eau (O) c\u1ea7n c\u1eadp nh\u1eadt. Ch\u1ec9 truy\u1ec1n c\u00e1c tr\u01b0\u1eddng c\u1ea7n thay \u0111\u1ed5i."),
10
- key_results:z.array(z.object({name:z.string(),phu_trach:z.string().optional(),update_interval:z.number(),update_source:z.string(),measure_as:z.number(),target_value:z.number(),aim:z.number(),tk_no:z.array(z.string()).optional(),tk_co:z.array(z.string()).optional()})).optional().describe("M\u1ea3ng d\u1eef li\u1ec7u KRs M\u1edaI HO\u00c0N TO\u00c0N \u0111\u1ec3 thay th\u1ebf KRs c\u0169. N\u1ebfu S\u1ebfp ch\u1ec9 s\u1eeda (O) m\u00e0 kh\u00f4ng \u0111\u1ed5i (KRs), h\u00e3y \u0111\u1ec3 tr\u1ed1ng.")}),
11
- execute:async({okr_keyword:$krCount_okr_keyword_updateData$$,objective:$objective$$,key_results:$key_results$$})=>{try{const $OkrModel$$=global.getModel("okr"),$KeyResultModel$$=global.getModel("keyresult"),$foundOkrs$$=await $OkrModel$$.find({id_app:$id_app$$,title:{$regex:$krCount_okr_keyword_updateData$$,$options:"i"}}).lean();if($foundOkrs$$.length===0)return{status:"error",message:`H\u1ec7 th\u1ed1ng kh\u00f4ng t\u00ecm th\u1ea5y OKR n\u00e0o kh\u1edbp v\u1edbi t\u1eeb kh\u00f3a '${$krCount_okr_keyword_updateData$$}'.`};
12
- if($foundOkrs$$.length>1){const $danhSachOkr$$=$foundOkrs$$.map(($o$$,$index$$)=>`${$index$$+1}. **${$o$$.title}** (Ph\u1ee5 tr\u00e1ch: ${$o$$.phu_trach||"Ch\u01b0a g\u00e1n"})`).join("\n");return{status:"need_clarification",message:`[C\u1ea2NH B\u00c1O TR\u00d9NG L\u1eb6P]: H\u1ec7 th\u1ed1ng t\u00ecm th\u1ea5y ${$foundOkrs$$.length} OKR c\u00f3 ch\u1ee9a t\u1eeb kh\u00f3a '${$krCount_okr_keyword_updateData$$}'.\n\nH\u01af\u1edaNG D\u1eaaN AI: H\u00e3y d\u1eebng l\u1ea1i v\u00e0 h\u1ecfi S\u1ebfp mu\u1ed1n C\u1eacP NH\u1eacT OKR n\u00e0o trong danh s\u00e1ch sau:\n${$danhSachOkr$$}`}}const $targetOkr$$=
13
- $foundOkrs$$[0],$okrId$$=$targetOkr$$._id.toString();$objective$$&&Object.keys($objective$$).length>0&&($krCount_okr_keyword_updateData$$={},$objective$$.title&&($krCount_okr_keyword_updateData$$.title=$objective$$.title),$objective$$.description&&($krCount_okr_keyword_updateData$$.description=$objective$$.description),$objective$$.start_date&&($krCount_okr_keyword_updateData$$.start_date=moment($objective$$.start_date).toDate()),$objective$$.due_date&&($krCount_okr_keyword_updateData$$.due_date=
14
- moment($objective$$.due_date).toDate()),$objective$$.phu_trach&&($krCount_okr_keyword_updateData$$.phu_trach=$objective$$.phu_trach),await global.controllers.OKR.updateData($user_id$$,{_id:$targetOkr$$._id},$krCount_okr_keyword_updateData$$));$krCount_okr_keyword_updateData$$=0;if($key_results$$&&$key_results$$.length>0){await $KeyResultModel$$.deleteMany({id_app:$id_app$$,id_link:$okrId$$});const $krPromises$$=$key_results$$.map(async $kr$jscomp$1_krData$$=>{$kr$jscomp$1_krData$$={id_app:$id_app$$,
15
- id_link:$okrId$$,name:$kr$jscomp$1_krData$$.name,phu_trach:$kr$jscomp$1_krData$$.phu_trach||$objective$$?.phu_trach||$targetOkr$$.phu_trach,update_interval:$kr$jscomp$1_krData$$.update_interval,update_source:$kr$jscomp$1_krData$$.update_source,measure_as:$kr$jscomp$1_krData$$.measure_as,target_value:$kr$jscomp$1_krData$$.target_value,aim:$kr$jscomp$1_krData$$.aim,start_date:$objective$$?.start_date?moment($objective$$.start_date).toDate():$targetOkr$$.start_date,due_date:$objective$$?.due_date?moment($objective$$.due_date).toDate():
16
- $targetOkr$$.due_date,tk_no:$kr$jscomp$1_krData$$.tk_no||[],tk_co:$kr$jscomp$1_krData$$.tk_co||[]};return await global.controllers.KEYRESULT.createData($user_id$$,$kr$jscomp$1_krData$$)});await Promise.all($krPromises$$);$krCount_okr_keyword_updateData$$=$key_results$$.length}const $finalTitle$$=$objective$$?.title||$targetOkr$$.title;return{status:"success",message:`\u0110\u00e3 c\u1eadp nh\u1eadt th\u00e0nh c\u00f4ng OKR '${$finalTitle$$}'. ${$krCount_okr_keyword_updateData$$>0?`\u0110\u00e3 thay th\u1ebf/c\u1eadp nh\u1eadt ${$krCount_okr_keyword_updateData$$} Key Results.`:
17
- "Ch\u1ec9 c\u1eadp nh\u1eadt th\u00f4ng tin chung."}`,hint:`B\u00e1o c\u00e1o S\u1ebfp: "D\u1ea1 em \u0111\u00e3 c\u1eadp nh\u1eadt l\u1ea1i OKR **${$finalTitle$$}** theo y\u00eau c\u1ea7u c\u1ee7a S\u1ebfp r\u1ed3i \u1ea1!"`}}catch($error$$){return console.error("[L\u1ed7i updateOkrTool]:",$error$$),{status:"error",message:`L\u1ed7i khi c\u1eadp nh\u1eadt OKR: ${$error$$.message||$error$$}`}}}}),checkOkrProgressTool:tool({description:"C\u00f4ng c\u1ee5 KI\u1ec2M TRA TI\u1ebeN \u0110\u1ed8 V\u00c0 K\u1ebeT QU\u1ea2 OKR (View OKR Progress).\n S\u1eec D\u1ee4NG KHI: S\u1ebfp y\u00eau c\u1ea7u xem t\u00ecnh h\u00ecnh th\u1ef1c hi\u1ec7n OKR, ti\u1ebfn \u0111\u1ed9 (score) c\u1ee7a c\u00e1c M\u1ee5c ti\u00eau (Objectives), ho\u1eb7c li\u1ec7t k\u00ea danh s\u00e1ch OKR c\u1ee7a m\u1ed9t ph\u00f2ng ban/c\u00e1 nh\u00e2n c\u1ee5 th\u1ec3.",
18
- inputSchema:z.object({keyword:z.string().optional().describe('T\u1eeb kh\u00f3a t\u00ean M\u1ee5c ti\u00eau (VD: "M\u1edf r\u1ed9ng th\u1ecb tr\u01b0\u1eddng").'),phu_trach:z.string().optional().describe("Email c\u1ee7a ng\u01b0\u1eddi ph\u1ee5 tr\u00e1ch OKR. \u0110\u1ec3 tr\u1ed1ng n\u1ebfu xem to\u00e0n c\u00f4ng ty."),tu_ngay:z.string().optional().describe("Ng\u00e0y b\u1eaft \u0111\u1ea7u (YYYY-MM-DD)."),den_ngay:z.string().optional().describe("Ng\u00e0y k\u1ebft th\u00fac (YYYY-MM-DD).")}),
19
- execute:async({keyword:$keyword$$,phu_trach:$phu_trach$$,tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$})=>{try{const $query$$={id_app:$id_app$$};$keyword$$&&($query$$.title={$regex:$keyword$$,$options:"i"});$phu_trach$$&&($query$$.phu_trach=$phu_trach$$);$tu_ngay$$&&$den_ngay$$&&($query$$.start_date={$gte:moment($tu_ngay$$).toDate()},$query$$.due_date={$lte:moment($den_ngay$$).toDate()});const $result$$=await global.controllers.OKR.findData($user_id$$,$query$$),$okrList$$=Array.isArray($result$$)?$result$$:
20
- $result$$.rows||[];return $okrList$$.length===0?{status:"error",message:"Kh\u00f4ng t\u00ecm th\u1ea5y OKR n\u00e0o kh\u1edbp v\u1edbi \u0111i\u1ec1u ki\u1ec7n t\u00ecm ki\u1ebfm. H\u00e3y b\u00e1o c\u00e1o S\u1ebfp thay \u0111\u1ed5i t\u1eeb kh\u00f3a ho\u1eb7c kho\u1ea3ng th\u1eddi gian."}:{status:"success",message:`T\u00ecm th\u1ea5y ${$okrList$$.length} OKR.`,data:$okrList$$,hint:"QUY T\u1eaeC B\u00c1O C\u00c1O OKR:\n 1. Tr\u00ecnh b\u00e0y d\u01b0\u1edbi d\u1ea1ng Danh s\u00e1ch ho\u1eb7c B\u1ea3ng (T\u00ean M\u1ee5c ti\u00eau, Ph\u1ee5 tr\u00e1ch, Th\u1eddi h\u1ea1n, \u0110i\u1ec3m s\u1ed1/Ti\u1ebfn \u0111\u1ed9).\n 2. D\u1ef1a v\u00e0o tr\u01b0\u1eddng 'score' (K\u1ebft qu\u1ea3) c\u1ee7a d\u1eef li\u1ec7u tr\u1ea3 v\u1ec1 \u0111\u1ec3 \u0111\u00e1nh gi\u00e1 ti\u1ebfn \u0111\u1ed9.\n 3. N\u1ebfu OKR n\u00e0o c\u00f3 ti\u1ebfn \u0111\u1ed9 (score) th\u1ea5p ho\u1eb7c ch\u1eadm ti\u1ebfn \u0111\u1ed9 so v\u1edbi th\u1eddi gian hi\u1ec7n t\u1ea1i, B\u1eaeT BU\u1ed8C ph\u1ea3i vi\u1ebft 1 c\u00e2u c\u1ea3nh b\u00e1o in \u0111\u1eadm \u1edf cu\u1ed1i b\u00e1o c\u00e1o \u0111\u1ec3 S\u1ebfp n\u1eafm t\u00ecnh h\u00ecnh v\u00e0 \u0111\u00f4n \u0111\u1ed1c."}}catch($error$$){return console.error("[L\u1ed7i checkOkrProgressTool]:",
21
- $error$$),{status:"error",message:`L\u1ed7i khi truy xu\u1ea5t d\u1eef li\u1ec7u OKR: ${$error$$.message}`}}}})}}module.exports={createOkrTools};
1
+ const _0x3ba803=_0x2c83;(function(_0x22dcda,_0x434300){const _0x2bdaca=_0x2c83,_0x5db301=_0x22dcda();while(!![]){try{const _0x3f62bf=-parseInt(_0x2bdaca(0x74))/0x1+parseInt(_0x2bdaca(0x147))/0x2+-parseInt(_0x2bdaca(0x127))/0x3*(parseInt(_0x2bdaca(0xae))/0x4)+parseInt(_0x2bdaca(0x1d6))/0x5+-parseInt(_0x2bdaca(0xba))/0x6+parseInt(_0x2bdaca(0x18c))/0x7*(parseInt(_0x2bdaca(0x259))/0x8)+parseInt(_0x2bdaca(0x23d))/0x9*(parseInt(_0x2bdaca(0x21d))/0xa);if(_0x3f62bf===_0x434300)break;else _0x5db301['push'](_0x5db301['shift']());}catch(_0x5a43f9){_0x5db301['push'](_0x5db301['shift']());}}}(_0x4359,0xe73e3));function _0x2c83(_0x42120f,_0x37633d){_0x42120f=_0x42120f-0x6b;const _0x4359c6=_0x4359();let _0x2c8374=_0x4359c6[_0x42120f];if(_0x2c83['loeAoK']===undefined){var _0x52f30e=function(_0xab23b2){const _0x2bbecb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e3b61='',_0x1363e6='';for(let _0x2b0a25=0x0,_0x276179,_0x166be2,_0x5e7960=0x0;_0x166be2=_0xab23b2['charAt'](_0x5e7960++);~_0x166be2&&(_0x276179=_0x2b0a25%0x4?_0x276179*0x40+_0x166be2:_0x166be2,_0x2b0a25++%0x4)?_0x5e3b61+=String['fromCharCode'](0xff&_0x276179>>(-0x2*_0x2b0a25&0x6)):0x0){_0x166be2=_0x2bbecb['indexOf'](_0x166be2);}for(let _0x13f070=0x0,_0x128c58=_0x5e3b61['length'];_0x13f070<_0x128c58;_0x13f070++){_0x1363e6+='%'+('00'+_0x5e3b61['charCodeAt'](_0x13f070)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1363e6);};_0x2c83['NIpSfC']=_0x52f30e,_0x2c83['vUsjKt']={},_0x2c83['loeAoK']=!![];}const _0x39c390=_0x4359c6[0x0],_0x1d2240=_0x42120f+_0x39c390,_0x256d71=_0x2c83['vUsjKt'][_0x1d2240];return!_0x256d71?(_0x2c8374=_0x2c83['NIpSfC'](_0x2c8374),_0x2c83['vUsjKt'][_0x1d2240]=_0x2c8374):_0x2c8374=_0x256d71,_0x2c8374;}const {tool}=require('ai'),{z}=require('zod'),moment=require(_0x3ba803(0x27c)+'t');function createOkrTools(_0x1195ff,_0x13a661){const _0x5abd0d=_0x3ba803;return{'createOkrTool':tool({'description':_0x5abd0d(0xf9)+_0x5abd0d(0x80)+'O\x20MỚI'+_0x5abd0d(0x12d)+_0x5abd0d(0x1c7)+'ctive'+'\x20and\x20'+_0x5abd0d(0x17b)+_0x5abd0d(0x20b)+'s).\x0a\x20'+_0x5abd0d(0x28e)+_0x5abd0d(0x28e)+_0x5abd0d(0x246)+_0x5abd0d(0x88)+_0x5abd0d(0x16e)+_0x5abd0d(0xb4)+'u\x20cầu'+'\x20lập\x20'+_0x5abd0d(0x1c6)+'iêu\x20m'+'ới,\x20t'+_0x5abd0d(0x1b1)+'lập\x20O'+_0x5abd0d(0x10f)+_0x5abd0d(0x198)+'nhân\x20'+_0x5abd0d(0x243)+_0x5abd0d(0x20e)+'\x20ban.'+'\x0a\x20\x20\x20\x20'+_0x5abd0d(0x28e)+_0x5abd0d(0xf7)+_0x5abd0d(0x28e)+_0x5abd0d(0x28e)+_0x5abd0d(0x174)+_0x5abd0d(0x290)+_0x5abd0d(0xd3)+'\x20LẬP\x20'+_0x5abd0d(0x168)+_0x5abd0d(0x9b)+_0x5abd0d(0x158)+_0x5abd0d(0x291)+_0x5abd0d(0x28e)+'\x20\x20\x20-\x20'+'1\x20Obj'+_0x5abd0d(0x149)+'e\x20(O)'+_0x5abd0d(0x1e1)+_0x5abd0d(0x169)+'\x20kèm\x20'+_0x5abd0d(0x138)+_0x5abd0d(0x166)+_0x5abd0d(0xdd)+_0x5abd0d(0x83)+_0x5abd0d(0x2ad)+_0x5abd0d(0x1e7)+_0x5abd0d(0x28e)+_0x5abd0d(0x10d)+'\x20Mục\x20'+'tiêu\x20'+'(O)\x20p'+'hải\x20t'+_0x5abd0d(0x113)+_0x5abd0d(0x1c3)+_0x5abd0d(0xf5)+'\x20Kết\x20'+_0x5abd0d(0x249)+_0x5abd0d(0x2ab)+_0x5abd0d(0x2a1)+'KR)\x20p'+'hải\x20Đ'+_0x5abd0d(0x1f9)+_0x5abd0d(0x146)+'ỢC\x20bằ'+_0x5abd0d(0x108)+_0x5abd0d(0x1e7)+_0x5abd0d(0x28e)+_0x5abd0d(0x10d)+_0x5abd0d(0x28c)+_0x5abd0d(0xc1)+_0x5abd0d(0x26f)+'nói\x20r'+_0x5abd0d(0x207)+'ời\x20ph'+_0x5abd0d(0x245)+_0x5abd0d(0x122)+_0x5abd0d(0xc0)+_0x5abd0d(0x29f)+_0x5abd0d(0x192)+_0x5abd0d(0x134)+_0x5abd0d(0x107)+'\x20\x20\x20\x20\x20'+'\x20\x20\x20\x20\x20'+_0x5abd0d(0x28b)+'\x20\x20\x20\x20\x20'+_0x5abd0d(0x14d)+_0x5abd0d(0x205)+_0x5abd0d(0x87)+_0x5abd0d(0xeb)+_0x5abd0d(0x103)+_0x5abd0d(0xf6)+_0x5abd0d(0x100)+_0x5abd0d(0x261)+_0x5abd0d(0x242)+_0x5abd0d(0x112)+_0x5abd0d(0x28e)+'\x20\x20\x20\x20\x20'+'\x20\x201.\x20'+_0x5abd0d(0x13e)+_0x5abd0d(0x7d)+'terva'+'l\x27\x20(C'+_0x5abd0d(0x185)+'):\x201\x20'+_0x5abd0d(0x84)+_0x5abd0d(0x1b9)+_0x5abd0d(0xa0)+_0x5abd0d(0xb5)+_0x5abd0d(0x1c0)+_0x5abd0d(0x14e)+'\x20(Quý'+').\x20Mặ'+_0x5abd0d(0x140)+_0x5abd0d(0xbc)+_0x5abd0d(0xa7)+_0x5abd0d(0x1be)+'c\x203.\x0a'+_0x5abd0d(0x28e)+_0x5abd0d(0x28e)+_0x5abd0d(0x13b)+_0x5abd0d(0x13e)+_0x5abd0d(0x14b)+'urce\x27'+'\x20(Ngu'+_0x5abd0d(0x26a)+'p\x20số)'+_0x5abd0d(0x29b)+_0x5abd0d(0x28e)+_0x5abd0d(0x28e)+'-\x20\x221\x22'+_0x5abd0d(0xbf)+'ời\x20ph'+_0x5abd0d(0x245)+_0x5abd0d(0x1ed)+_0x5abd0d(0x281)+_0x5abd0d(0x11d)+_0x5abd0d(0x137)+'t.\x0a\x20\x20'+_0x5abd0d(0x28e)+_0x5abd0d(0x28e)+_0x5abd0d(0x1f0)+':\x20Tự\x20'+_0x5abd0d(0xb8)+'lấy\x20t'+_0x5abd0d(0x89)+_0x5abd0d(0x175)+_0x5abd0d(0x221)+_0x5abd0d(0xa5)+_0x5abd0d(0xb2)+'\x22,\x20AI'+_0x5abd0d(0xd0)+'BUỘC\x20'+_0x5abd0d(0x256)+_0x5abd0d(0x1ce)+_0x5abd0d(0x1de)+'m\x20mản'+_0x5abd0d(0x19d)+'_no\x27\x20'+_0x5abd0d(0x243)+'\x27tk_c'+'o\x27\x20ch'+_0x5abd0d(0x155)+_0x5abd0d(0x18f)+'\x20\x20\x20\x20\x20'+_0x5abd0d(0x28e)+'\x20\x20-\x20\x22'+_0x5abd0d(0xfc)+_0x5abd0d(0xc0)+_0x5abd0d(0xc9)+_0x5abd0d(0x24e)+'ask/C'+'ông\x20v'+_0x5abd0d(0x21a)+_0x5abd0d(0x28e)+'\x20\x20\x20\x20\x20'+_0x5abd0d(0x7c)+'\x27meas'+_0x5abd0d(0x154)+_0x5abd0d(0x17a)+_0x5abd0d(0x29a)+_0x5abd0d(0xb6)+_0x5abd0d(0x7a)+_0x5abd0d(0x231)+'ng),\x20'+_0x5abd0d(0x23b)+_0x5abd0d(0x133)+_0x5abd0d(0x152)+'\x20lệ\x20%'+_0x5abd0d(0x1bc)+_0x5abd0d(0x28e)+('\x20\x20\x20\x20\x20'+_0x5abd0d(0x227)+_0x5abd0d(0x16a)+'Hướng'+_0x5abd0d(0x159)+_0x5abd0d(0x255)+_0x5abd0d(0x1e6)+_0x5abd0d(0xcf)+_0x5abd0d(0x2b5)+_0x5abd0d(0xcd)+_0x5abd0d(0x21c)+_0x5abd0d(0x263)+_0x5abd0d(0x19b)+_0x5abd0d(0x1bf)+_0x5abd0d(0x1af)+_0x5abd0d(0x1e7)+_0x5abd0d(0x28e)),'inputSchema':z[_0x5abd0d(0x1d1)+'t']({'objective':z[_0x5abd0d(0x1d1)+'t']({'title':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0x294)+_0x5abd0d(0x163)+'c\x20tiê'+_0x5abd0d(0x78)+_0x5abd0d(0x10b)+_0x5abd0d(0x28f)+'m\x20thị'+_0x5abd0d(0x260)+_0x5abd0d(0x264)+_0x5abd0d(0x27d)+'m).'),'description':z[_0x5abd0d(0x105)+'g']()['optio'+_0x5abd0d(0x187)]()[_0x5abd0d(0x106)+_0x5abd0d(0x116)]('Miêu\x20'+_0x5abd0d(0x161)+_0x5abd0d(0xee)+_0x5abd0d(0x1bb)+_0x5abd0d(0xd5)+'.'),'start_date':z[_0x5abd0d(0x105)+'g']()['descr'+_0x5abd0d(0x116)](_0x5abd0d(0xe2)+_0x5abd0d(0x262)+_0x5abd0d(0x7e)+_0x5abd0d(0xed)+_0x5abd0d(0x9c)+'.'),'due_date':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0xe2)+_0x5abd0d(0x102)+_0x5abd0d(0x1eb)+_0x5abd0d(0x1d5)+_0x5abd0d(0x258)+').'),'ma_bp':z['strin'+'g']()[_0x5abd0d(0x19f)+_0x5abd0d(0x187)]()[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0x235)+_0x5abd0d(0x1f1)+'\x20(Nếu'+'\x20áp\x20d'+_0x5abd0d(0xcc)+_0x5abd0d(0x12e)+_0x5abd0d(0x90)+_0x5abd0d(0xd8)),'phu_trach':z['strin'+'g']()[_0x5abd0d(0x19f)+'nal']()[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0xea)+_0x5abd0d(0x1b5)+_0x5abd0d(0x2b4)+_0x5abd0d(0x23c)+_0x5abd0d(0x20f)+_0x5abd0d(0x1cf)+_0x5abd0d(0x226)+_0x5abd0d(0x123)+_0x5abd0d(0x1a1)+_0x5abd0d(0x99)+_0x5abd0d(0x134)+'ếp).')}),'key_results':z[_0x5abd0d(0x8d)](z['objec'+'t']({'name':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0x287)+_0x5abd0d(0x23e)+'ả\x20the'+_0x5abd0d(0x188)+'t\x20(VD'+_0x5abd0d(0x101)+_0x5abd0d(0x151)+_0x5abd0d(0xec)+'h\x20thu'+_0x5abd0d(0xb0)+'.'),'phu_trach':z[_0x5abd0d(0x105)+'g']()['optio'+'nal'](),'update_interval':z[_0x5abd0d(0x1ca)+'r'](),'update_source':z[_0x5abd0d(0x105)+'g'](),'measure_as':z[_0x5abd0d(0x1ca)+'r'](),'target_value':z[_0x5abd0d(0x1ca)+'r']()[_0x5abd0d(0x106)+_0x5abd0d(0x116)]('Con\x20s'+_0x5abd0d(0xa4)+_0x5abd0d(0xd5)+'\x20cần\x20'+_0x5abd0d(0x7f)+_0x5abd0d(0xe8)+'.'),'aim':z[_0x5abd0d(0x1ca)+'r'](),'tk_no':z[_0x5abd0d(0x8d)](z[_0x5abd0d(0x105)+'g']())[_0x5abd0d(0x19f)+_0x5abd0d(0x187)]()['descr'+_0x5abd0d(0x116)](_0x5abd0d(0xbe)+_0x5abd0d(0x2a6)+_0x5abd0d(0x17d)+_0x5abd0d(0x296)+'641\x22]'+_0x5abd0d(0xaf)+_0x5abd0d(0xfb)+'i\x20upd'+'ate_s'+_0x5abd0d(0x114)+_0x5abd0d(0x86)),'tk_co':z[_0x5abd0d(0x8d)](z[_0x5abd0d(0x105)+'g']())[_0x5abd0d(0x19f)+_0x5abd0d(0x187)]()[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0xbe)+'hoản\x20'+_0x5abd0d(0x25e)+_0x5abd0d(0x296)+_0x5abd0d(0x2b3)+_0x5abd0d(0xaf)+'ng\x20kh'+_0x5abd0d(0x2a8)+_0x5abd0d(0x141)+_0x5abd0d(0x114)+_0x5abd0d(0x86))}))[_0x5abd0d(0x1c9)](0x1)[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0xd6)+_0x5abd0d(0x22f)+_0x5abd0d(0x19e)+'Rs\x20ch'+'i\x20tiế'+_0x5abd0d(0x284)+'lường'+'\x20cho\x20'+_0x5abd0d(0xad)+'iêu\x20n'+'ày.')}),'execute':async({objective:_0xe5b50,key_results:_0x2ff35e})=>{const _0x400910=_0x5abd0d;try{const _0xd12101=_0xe5b50['phu_t'+_0x400910(0x251)]||_0x13a661,_0x1e94ee={'id_app':_0x1195ff,'title':_0xe5b50[_0x400910(0x110)],'description':_0xe5b50[_0x400910(0x106)+_0x400910(0x213)+'n']||'','start_date':moment(_0xe5b50[_0x400910(0x145)+'_date'])[_0x400910(0x165)+'e'](),'due_date':moment(_0xe5b50[_0x400910(0x2a9)+'ate'])['toDat'+'e'](),'phu_trach':_0xd12101,'ma_bp':_0xe5b50[_0x400910(0x11f)]||''};let _0x95a446=await global[_0x400910(0xa1)+'oller'+'s'][_0x400910(0xd2)][_0x400910(0xca)+_0x400910(0x75)](_0x13a661,_0x1e94ee);const _0x444d82=_0x95a446[_0x400910(0xa8)][_0x400910(0x1c2)+_0x400910(0x1e4)](),_0x5e9da0=_0x2ff35e['map'](async _0x5e3054=>{const _0x63146c=_0x400910,_0x4ca725={};_0x4ca725['id_ap'+'p']=_0x1195ff,_0x4ca725[_0x63146c(0x19c)+'nk']=_0x444d82,_0x4ca725[_0x63146c(0x1ab)]=_0x5e3054[_0x63146c(0x1ab)],_0x4ca725[_0x63146c(0x266)+_0x63146c(0x251)]=_0x5e3054[_0x63146c(0x266)+'rach']||_0xd12101,_0x4ca725['updat'+_0x63146c(0xa2)+'erval']=_0x5e3054[_0x63146c(0x1e2)+_0x63146c(0xa2)+_0x63146c(0x1cb)],_0x4ca725['updat'+_0x63146c(0x2a0)+_0x63146c(0x1dd)]=_0x5e3054[_0x63146c(0x1e2)+_0x63146c(0x2a0)+_0x63146c(0x1dd)],_0x4ca725[_0x63146c(0x12b)+_0x63146c(0x1a6)]=_0x5e3054['measu'+_0x63146c(0x1a6)],_0x4ca725[_0x63146c(0xa6)+_0x63146c(0x191)+'ue']=_0x5e3054['targe'+_0x63146c(0x191)+'ue'],_0x4ca725['aim']=_0x5e3054['aim'],_0x4ca725[_0x63146c(0x145)+_0x63146c(0x1ff)]=_0x1e94ee[_0x63146c(0x145)+'_date'],_0x4ca725[_0x63146c(0x2a9)+_0x63146c(0x130)]=_0x1e94ee[_0x63146c(0x2a9)+_0x63146c(0x130)],_0x4ca725[_0x63146c(0x11b)]=_0x5e3054['tk_no']||[],_0x4ca725[_0x63146c(0x173)]=_0x5e3054['tk_co']||[];const _0x1a3ed9=_0x4ca725;return await global[_0x63146c(0xa1)+'oller'+'s'][_0x63146c(0x142)+_0x63146c(0x21e)][_0x63146c(0xca)+_0x63146c(0x75)](_0x13a661,_0x1a3ed9);});await Promise[_0x400910(0x11a)](_0x5e9da0);const _0x245049={};return _0x245049[_0x400910(0x241)+'s']='succe'+'ss',_0x245049[_0x400910(0x14c)+'ge']=_0x400910(0x120)+_0x400910(0x22d)+_0x400910(0x98)+_0x400910(0x70)+_0x400910(0x12c)+'jecti'+_0x400910(0x211)+_0x1e94ee[_0x400910(0x110)]+('\x27\x20cùn'+_0x400910(0x11e)+'\x20')+_0x2ff35e[_0x400910(0x111)+'h']+(_0x400910(0xe5)+_0x400910(0x97)+_0x400910(0x247)),_0x245049[_0x400910(0x1a5)]=_0x400910(0x1d9)+'áo\x20Sế'+'p:\x20\x22D'+_0x400910(0x72)+_0x400910(0xde)+_0x400910(0x1dc)+'ập\x20xo'+_0x400910(0x217)+_0x400910(0x12d)+'**'+_0x1e94ee[_0x400910(0x110)]+(_0x400910(0x7b)+'i\x20')+_0x2ff35e[_0x400910(0x111)+'h']+(_0x400910(0x26b)+_0x400910(0x249)+'hen\x20c'+'hốt\x20('+_0x400910(0x104)+_0x400910(0x1ae)+_0x400910(0xe7)+_0x400910(0x180)+_0x400910(0x18e)+_0x400910(0x25c)+_0x400910(0x189)+_0x400910(0x2a2)+_0x400910(0x1aa)+_0x400910(0x1e3)+'le\x20OK'+_0x400910(0xcb)+_0x400910(0x262)+_0x400910(0xbd)+_0x400910(0x137)+_0x400910(0x268)+_0x400910(0x289)+_0x400910(0x17c)),_0x245049;}catch(_0x541927){console[_0x400910(0x2a5)](_0x400910(0x280)+_0x400910(0xca)+_0x400910(0x224)+_0x400910(0x278),_0x541927);const _0x15b8df={};return _0x15b8df[_0x400910(0x241)+'s']='error',_0x15b8df[_0x400910(0x14c)+'ge']=_0x400910(0x131)+_0x400910(0x1b6)+_0x400910(0x183)+':\x20'+(_0x541927[_0x400910(0x14c)+'ge']||_0x541927),_0x15b8df;}}}),'updateOkrTool':tool({'description':_0x5abd0d(0xf9)+_0x5abd0d(0x22a)+_0x5abd0d(0x1a2)+_0x5abd0d(0x292)+_0x5abd0d(0xab)+_0x5abd0d(0x1f7)+'\x20(Upd'+_0x5abd0d(0x279)+_0x5abd0d(0x2b1)+_0x5abd0d(0x28e)+_0x5abd0d(0x139)+_0x5abd0d(0xc2)+'\x20KHI:'+'\x20Sếp\x20'+_0x5abd0d(0x9a)+_0x5abd0d(0x229)+_0x5abd0d(0x299)+_0x5abd0d(0x91)+_0x5abd0d(0x206)+_0x5abd0d(0x212)+_0x5abd0d(0x18a)+_0x5abd0d(0x1b5)+_0x5abd0d(0x2b4)+_0x5abd0d(0x23c)+'h,\x20ho'+_0x5abd0d(0x27e)+'ng/gi'+_0x5abd0d(0x18b)+_0x5abd0d(0x2a3)+_0x5abd0d(0x143)+'\x20các\x20'+'Key\x20R'+_0x5abd0d(0x20b)+_0x5abd0d(0x2a7)+_0x5abd0d(0x233)+_0x5abd0d(0x15c)+_0x5abd0d(0xa3)+_0x5abd0d(0x234)+'TỒN\x20T'+_0x5abd0d(0x15d)+_0x5abd0d(0x28e)+_0x5abd0d(0x109)+'\x20\x20\x20\x20\x20'+_0x5abd0d(0x218)+_0x5abd0d(0x2ae)+_0x5abd0d(0x222)+_0x5abd0d(0xfa)+_0x5abd0d(0x28e)+_0x5abd0d(0x171)+'m\x20kiế'+_0x5abd0d(0x277)+_0x5abd0d(0x1a0)+_0x5abd0d(0x1e9)+_0x5abd0d(0x239)+_0x5abd0d(0x135)+_0x5abd0d(0x291)+_0x5abd0d(0x195)+_0x5abd0d(0xef)+'\x20cần\x20'+'sửa\x20t'+_0x5abd0d(0x26f)+_0x5abd0d(0x182)+_0x5abd0d(0x23f)+_0x5abd0d(0x225)+_0x5abd0d(0x1ce)+_0x5abd0d(0x265)+'\x20obje'+_0x5abd0d(0xdf)+_0x5abd0d(0x157)+_0x5abd0d(0x186)+_0x5abd0d(0x291)+'\x20\x20\x20\x203'+_0x5abd0d(0xef)+_0x5abd0d(0x117)+_0x5abd0d(0x181)+_0x5abd0d(0x23e)+_0x5abd0d(0x13d)+_0x5abd0d(0x188)+_0x5abd0d(0x93)+_0x5abd0d(0x82)+_0x5abd0d(0x202)+_0x5abd0d(0x15f)+_0x5abd0d(0x267)+'uyền\x20'+_0x5abd0d(0x81)+'BỘ\x20mả'+_0x5abd0d(0x199)+'ey_re'+_0x5abd0d(0x85)+_0x5abd0d(0x6c)+'.\x20Hệ\x20'+_0x5abd0d(0x1ec)+'\x20sẽ\x20x'+_0x5abd0d(0x129)+_0x5abd0d(0x1c8)+_0x5abd0d(0xce)+_0x5abd0d(0xf3)+'\x20đè\x20b'+_0x5abd0d(0xd7)+_0x5abd0d(0x1f4)+'ới\x20nà'+_0x5abd0d(0x1ba)+_0x5abd0d(0x1ad)+'uy\x20tr'+_0x5abd0d(0x20d)+_0x5abd0d(0x20c)+_0x5abd0d(0x12a)+_0x5abd0d(0x24c),'inputSchema':z[_0x5abd0d(0x1d1)+'t']({'okr_keyword':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0x24b)+'oặc\x20t'+_0x5abd0d(0x1e5)+_0x5abd0d(0x25d)+_0x5abd0d(0x118)+_0x5abd0d(0xc8)+_0x5abd0d(0x297)+'n\x20cập'+_0x5abd0d(0x1a4)+_0x5abd0d(0x1f3)+_0x5abd0d(0x282)+_0x5abd0d(0x236)+_0x5abd0d(0xe6)+_0x5abd0d(0x14f)+_0x5abd0d(0x17f)),'objective':z[_0x5abd0d(0x1d1)+'t']({'title':z['strin'+'g']()[_0x5abd0d(0x19f)+_0x5abd0d(0x187)](),'description':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x19f)+_0x5abd0d(0x187)](),'start_date':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x19f)+_0x5abd0d(0x187)]()['descr'+_0x5abd0d(0x116)](_0x5abd0d(0xe2)+'bắt\x20đ'+_0x5abd0d(0x7e)+_0x5abd0d(0xed)+_0x5abd0d(0x9c)+'.'),'due_date':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x19f)+_0x5abd0d(0x187)]()[_0x5abd0d(0x106)+'ibe'](_0x5abd0d(0xe2)+_0x5abd0d(0x102)+_0x5abd0d(0x1eb)+_0x5abd0d(0x1d5)+'MM-DD'+').'),'phu_trach':z['strin'+'g']()['optio'+_0x5abd0d(0x187)]()})[_0x5abd0d(0x19f)+_0x5abd0d(0x187)]()['descr'+_0x5abd0d(0x116)](_0x5abd0d(0x16b)+_0x5abd0d(0x172)+_0x5abd0d(0xad)+_0x5abd0d(0x10c)+_0x5abd0d(0x275)+_0x5abd0d(0x194)+_0x5abd0d(0x1a4)+_0x5abd0d(0x1e0)+_0x5abd0d(0x6b)+'ền\x20cá'+_0x5abd0d(0x1b4)+_0x5abd0d(0x201)+_0x5abd0d(0x2aa)+_0x5abd0d(0x299)+'i.'),'key_results':z[_0x5abd0d(0x8d)](z[_0x5abd0d(0x1d1)+'t']({'name':z[_0x5abd0d(0x105)+'g'](),'phu_trach':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x19f)+_0x5abd0d(0x187)](),'update_interval':z[_0x5abd0d(0x1ca)+'r'](),'update_source':z[_0x5abd0d(0x105)+'g'](),'measure_as':z[_0x5abd0d(0x1ca)+'r'](),'target_value':z['numbe'+'r'](),'aim':z[_0x5abd0d(0x1ca)+'r'](),'tk_no':z[_0x5abd0d(0x8d)](z[_0x5abd0d(0x105)+'g']())[_0x5abd0d(0x19f)+_0x5abd0d(0x187)](),'tk_co':z[_0x5abd0d(0x8d)](z[_0x5abd0d(0x105)+'g']())[_0x5abd0d(0x19f)+_0x5abd0d(0x187)]()}))['optio'+_0x5abd0d(0x187)]()[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0x219)+'dữ\x20li'+_0x5abd0d(0x18d)+_0x5abd0d(0x238)+_0x5abd0d(0x24f)+_0x5abd0d(0x283)+_0x5abd0d(0x1b8)+_0x5abd0d(0x14a)+'hế\x20KR'+_0x5abd0d(0x209)+_0x5abd0d(0x28c)+'Sếp\x20c'+_0x5abd0d(0x26d)+'a\x20(O)'+_0x5abd0d(0x1d8)+_0x5abd0d(0x26f)+_0x5abd0d(0x2b2)+_0x5abd0d(0x26c)+_0x5abd0d(0x210)+_0x5abd0d(0x16c)+_0x5abd0d(0x8b))}),'execute':async({okr_keyword:_0x25930f,objective:_0x44ec95,key_results:_0x37fb40})=>{const _0x4c8626=_0x5abd0d;try{const _0x3e258d=global[_0x4c8626(0xaa)+_0x4c8626(0xac)](_0x4c8626(0x29c)),_0x1e1f57=global['getMo'+_0x4c8626(0xac)](_0x4c8626(0xc6)+'sult'),_0x4ab74c={};_0x4ab74c[_0x4c8626(0x26e)+'x']=_0x25930f,_0x4ab74c[_0x4c8626(0xfd)+_0x4c8626(0x184)]='i';const _0x7fb5e5={};_0x7fb5e5[_0x4c8626(0x2ac)+'p']=_0x1195ff,_0x7fb5e5[_0x4c8626(0x110)]=_0x4ab74c;const _0x1dff4c=await _0x3e258d[_0x4c8626(0xb1)](_0x7fb5e5)[_0x4c8626(0x95)]();if(_0x1dff4c[_0x4c8626(0x111)+'h']===0x0){const _0x357812={};return _0x357812[_0x4c8626(0x241)+'s']=_0x4c8626(0x2a5),_0x357812[_0x4c8626(0x14c)+'ge']=_0x4c8626(0x150)+_0x4c8626(0x274)+_0x4c8626(0x26f)+_0x4c8626(0x1fa)+_0x4c8626(0xf2)+'KR\x20nà'+'o\x20khớ'+_0x4c8626(0x223)+_0x4c8626(0x1ee)+_0x4c8626(0xd4)+_0x25930f+'\x27.',_0x357812;}else{if(_0x1dff4c[_0x4c8626(0x111)+'h']>0x1){const _0x4d1db9=_0x1dff4c[_0x4c8626(0xe0)]((_0xd219e7,_0x1cf816)=>_0x1cf816+0x1+_0x4c8626(0x2b0)+_0xd219e7['title']+(_0x4c8626(0x295)+_0x4c8626(0x1d2)+_0x4c8626(0x215))+(_0xd219e7[_0x4c8626(0x266)+_0x4c8626(0x251)]||_0x4c8626(0x27a)+'gán')+')')[_0x4c8626(0x79)]('\x0a'),_0x51486e={};return _0x51486e['statu'+'s']=_0x4c8626(0xb3)+_0x4c8626(0x216)+_0x4c8626(0x1e8)+'ion',_0x51486e[_0x4c8626(0x14c)+'ge']=_0x4c8626(0x288)+_0x4c8626(0x1ef)+_0x4c8626(0x24a)+_0x4c8626(0x190)+':\x20Hệ\x20'+_0x4c8626(0x1ec)+_0x4c8626(0x25f)+_0x4c8626(0x1db)+_0x1dff4c['lengt'+'h']+('\x20OKR\x20'+'có\x20ch'+_0x4c8626(0x17e)+'\x20khóa'+'\x20\x27')+_0x25930f+(_0x4c8626(0x94)+_0x4c8626(0xf0)+_0x4c8626(0x132)+_0x4c8626(0x13a)+_0x4c8626(0xbb)+'g\x20lại'+_0x4c8626(0x73)+'ỏi\x20Sế'+'p\x20muố'+'n\x20CẬP'+_0x4c8626(0x1cc)+_0x4c8626(0x12d)+_0x4c8626(0x240)+_0x4c8626(0x178)+_0x4c8626(0xe3)+_0x4c8626(0x22f)+'sau:\x0a')+_0x4d1db9,_0x51486e;}}const _0x3da714=_0x1dff4c[0x0],_0x4c7fed=_0x3da714[_0x4c8626(0xa8)][_0x4c8626(0x1c2)+_0x4c8626(0x1e4)]();if(_0x44ec95&&Object[_0x4c8626(0xb7)](_0x44ec95)[_0x4c8626(0x111)+'h']>0x0){const _0x3e1dfd={};if(_0x44ec95[_0x4c8626(0x110)])_0x3e1dfd[_0x4c8626(0x110)]=_0x44ec95[_0x4c8626(0x110)];if(_0x44ec95['descr'+_0x4c8626(0x213)+'n'])_0x3e1dfd['descr'+'iptio'+'n']=_0x44ec95[_0x4c8626(0x106)+'iptio'+'n'];if(_0x44ec95[_0x4c8626(0x145)+_0x4c8626(0x1ff)])_0x3e1dfd[_0x4c8626(0x145)+_0x4c8626(0x1ff)]=moment(_0x44ec95['start'+_0x4c8626(0x1ff)])[_0x4c8626(0x165)+'e']();if(_0x44ec95[_0x4c8626(0x2a9)+_0x4c8626(0x130)])_0x3e1dfd[_0x4c8626(0x2a9)+_0x4c8626(0x130)]=moment(_0x44ec95[_0x4c8626(0x2a9)+_0x4c8626(0x130)])[_0x4c8626(0x165)+'e']();if(_0x44ec95[_0x4c8626(0x266)+'rach'])_0x3e1dfd[_0x4c8626(0x266)+_0x4c8626(0x251)]=_0x44ec95['phu_t'+_0x4c8626(0x251)];const _0x4db7d6={};_0x4db7d6['_id']=_0x3da714[_0x4c8626(0xa8)],await global[_0x4c8626(0xa1)+'oller'+'s'][_0x4c8626(0xd2)][_0x4c8626(0x1e2)+'eData'](_0x13a661,_0x4db7d6,_0x3e1dfd);}let _0x50774b=0x0;if(_0x37fb40&&_0x37fb40['lengt'+'h']>0x0){const _0x53c12d={};_0x53c12d[_0x4c8626(0x2ac)+'p']=_0x1195ff,_0x53c12d[_0x4c8626(0x19c)+'nk']=_0x4c7fed,await _0x1e1f57[_0x4c8626(0x136)+_0x4c8626(0x12f)](_0x53c12d);const _0x3b0a31=_0x37fb40[_0x4c8626(0xe0)](async _0x439aed=>{const _0xc97ac1=_0x4c8626,_0x292877={'id_app':_0x1195ff,'id_link':_0x4c7fed,'name':_0x439aed[_0xc97ac1(0x1ab)],'phu_trach':_0x439aed[_0xc97ac1(0x266)+_0xc97ac1(0x251)]||(_0x44ec95?.[_0xc97ac1(0x266)+_0xc97ac1(0x251)]||_0x3da714['phu_t'+_0xc97ac1(0x251)]),'update_interval':_0x439aed[_0xc97ac1(0x1e2)+'e_int'+'erval'],'update_source':_0x439aed[_0xc97ac1(0x1e2)+_0xc97ac1(0x2a0)+_0xc97ac1(0x1dd)],'measure_as':_0x439aed[_0xc97ac1(0x12b)+_0xc97ac1(0x1a6)],'target_value':_0x439aed[_0xc97ac1(0xa6)+_0xc97ac1(0x191)+'ue'],'aim':_0x439aed['aim'],'start_date':_0x44ec95?.['start'+_0xc97ac1(0x1ff)]?moment(_0x44ec95['start'+_0xc97ac1(0x1ff)])[_0xc97ac1(0x165)+'e']():_0x3da714['start'+_0xc97ac1(0x1ff)],'due_date':_0x44ec95?.['due_d'+_0xc97ac1(0x130)]?moment(_0x44ec95['due_d'+_0xc97ac1(0x130)])[_0xc97ac1(0x165)+'e']():_0x3da714[_0xc97ac1(0x2a9)+_0xc97ac1(0x130)],'tk_no':_0x439aed['tk_no']||[],'tk_co':_0x439aed['tk_co']||[]};return await global[_0xc97ac1(0xa1)+_0xc97ac1(0x237)+'s'][_0xc97ac1(0x142)+_0xc97ac1(0x21e)][_0xc97ac1(0xca)+'eData'](_0x13a661,_0x292877);});await Promise[_0x4c8626(0x11a)](_0x3b0a31),_0x50774b=_0x37fb40['lengt'+'h'];}const _0x4e3f36=_0x44ec95?.[_0x4c8626(0x110)]||_0x3da714['title'],_0x1412dc={};return _0x1412dc[_0x4c8626(0x241)+'s']=_0x4c8626(0x23a)+'ss',_0x1412dc[_0x4c8626(0x14c)+'ge']=_0x4c8626(0x160)+'p\x20nhậ'+'t\x20thà'+'nh\x20cô'+_0x4c8626(0x15a)+_0x4c8626(0x1bd)+_0x4e3f36+_0x4c8626(0x96)+(_0x50774b>0x0?'Đã\x20th'+_0x4c8626(0xa9)+'ế/cập'+_0x4c8626(0x1a4)+'\x20'+_0x50774b+('\x20Key\x20'+_0x4c8626(0x97)+'ts.'):_0x4c8626(0xe1)+'ập\x20nh'+_0x4c8626(0x1fd)+_0x4c8626(0x8c)+'in\x20ch'+_0x4c8626(0x8a)),_0x1412dc[_0x4c8626(0x1a5)]=_0x4c8626(0x1d9)+_0x4c8626(0x6d)+_0x4c8626(0xfe)+_0x4c8626(0x72)+_0x4c8626(0x6f)+_0x4c8626(0x137)+_0x4c8626(0x22c)+_0x4c8626(0x12d)+'**'+_0x4e3f36+(_0x4c8626(0x214)+'eo\x20yê'+_0x4c8626(0xda)+_0x4c8626(0x22b)+_0x4c8626(0xc5)+_0x4c8626(0x21b)+'\x22'),_0x1412dc;}catch(_0xb84cb0){console[_0x4c8626(0x2a5)](_0x4c8626(0x280)+'updat'+'eOkrT'+'ool]:',_0xb84cb0);const _0x281d05={};return _0x281d05['statu'+'s']=_0x4c8626(0x2a5),_0x281d05[_0x4c8626(0x14c)+'ge']=_0x4c8626(0x131)+'hi\x20cậ'+_0x4c8626(0x137)+_0x4c8626(0x1df)+':\x20'+(_0xb84cb0[_0x4c8626(0x14c)+'ge']||_0xb84cb0),_0x281d05;}}}),'checkOkrProgressTool':tool({'description':_0x5abd0d(0xf9)+_0x5abd0d(0x1a3)+'ỂM\x20TR'+'A\x20TIẾ'+'N\x20ĐỘ\x20'+'VÀ\x20KẾ'+_0x5abd0d(0xe9)+'\x20OKR\x20'+_0x5abd0d(0x92)+_0x5abd0d(0x12d)+_0x5abd0d(0x1b7)+_0x5abd0d(0xff)+_0x5abd0d(0x291)+_0x5abd0d(0x126)+_0x5abd0d(0x124)+_0x5abd0d(0x276)+_0x5abd0d(0x144)+_0x5abd0d(0x228)+'cầu\x20x'+_0x5abd0d(0x204)+'nh\x20hì'+_0x5abd0d(0x22e)+_0x5abd0d(0x16d)+_0x5abd0d(0x1b0)+_0x5abd0d(0xb9)+'ến\x20độ'+_0x5abd0d(0x272)+_0x5abd0d(0x15b)+_0x5abd0d(0x77)+_0x5abd0d(0x193)+_0x5abd0d(0xd5)+_0x5abd0d(0x1fb)+'ectiv'+_0x5abd0d(0x248)+_0x5abd0d(0x243)+_0x5abd0d(0x1c5)+'kê\x20da'+_0x5abd0d(0xc3)+_0x5abd0d(0xf1)+_0x5abd0d(0x115)+_0x5abd0d(0x29e)+_0x5abd0d(0x20e)+'\x20ban/'+_0x5abd0d(0x1d0)+'ân\x20cụ'+_0x5abd0d(0x76),'inputSchema':z['objec'+'t']({'keyword':z[_0x5abd0d(0x105)+'g']()['optio'+'nal']()[_0x5abd0d(0x106)+_0x5abd0d(0x116)]('Từ\x20kh'+_0x5abd0d(0x170)+_0x5abd0d(0xd9)+_0x5abd0d(0xd5)+'\x20(VD:'+'\x20\x22Mở\x20'+'rộng\x20'+_0x5abd0d(0xe6)+'rường'+_0x5abd0d(0x17f)),'phu_trach':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x19f)+'nal']()[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0xea)+_0x5abd0d(0x22b)+_0x5abd0d(0x1fc)+_0x5abd0d(0x24d)+_0x5abd0d(0x6e)+_0x5abd0d(0x9e)+'\x20Để\x20t'+_0x5abd0d(0x27b)+_0x5abd0d(0x177)+_0x5abd0d(0x1b3)+_0x5abd0d(0x156)+_0x5abd0d(0x25a)+'.'),'tu_ngay':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x19f)+_0x5abd0d(0x187)]()[_0x5abd0d(0x106)+_0x5abd0d(0x116)](_0x5abd0d(0xe2)+'bắt\x20đ'+_0x5abd0d(0x7e)+_0x5abd0d(0xed)+_0x5abd0d(0x9c)+'.'),'den_ngay':z[_0x5abd0d(0x105)+'g']()[_0x5abd0d(0x19f)+'nal']()['descr'+_0x5abd0d(0x116)](_0x5abd0d(0xe2)+'kết\x20t'+_0x5abd0d(0x1eb)+'YYYY-'+_0x5abd0d(0x258)+').')}),'execute':async({keyword:_0x5cd880,phu_trach:_0x4e285a,tu_ngay:_0x7e7d2b,den_ngay:_0x297d44})=>{const _0x2aca4b=_0x5abd0d;try{const _0x4c63dd={};_0x4c63dd['id_ap'+'p']=_0x1195ff;const _0x4dc035=_0x4c63dd;if(_0x5cd880){const _0x3abf81={};_0x3abf81[_0x2aca4b(0x26e)+'x']=_0x5cd880,_0x3abf81['$opti'+'ons']='i',_0x4dc035['title']=_0x3abf81;}_0x4e285a&&(_0x4dc035[_0x2aca4b(0x266)+_0x2aca4b(0x251)]=_0x4e285a);_0x7e7d2b&&_0x297d44&&(_0x4dc035[_0x2aca4b(0x145)+_0x2aca4b(0x1ff)]={'$gte':moment(_0x7e7d2b)[_0x2aca4b(0x165)+'e']()},_0x4dc035[_0x2aca4b(0x2a9)+'ate']={'$lte':moment(_0x297d44)[_0x2aca4b(0x165)+'e']()});const _0x41835a=await global['contr'+_0x2aca4b(0x237)+'s'][_0x2aca4b(0xd2)][_0x2aca4b(0x19a)+_0x2aca4b(0x200)](_0x13a661,_0x4dc035),_0x59c61e=Array[_0x2aca4b(0x15e)+'ay'](_0x41835a)?_0x41835a:_0x41835a['rows']||[];if(_0x59c61e[_0x2aca4b(0x111)+'h']===0x0){const _0x787548={};return _0x787548['statu'+'s']=_0x2aca4b(0x2a5),_0x787548[_0x2aca4b(0x14c)+'ge']=_0x2aca4b(0x16f)+_0x2aca4b(0x25f)+'thấy\x20'+_0x2aca4b(0x230)+_0x2aca4b(0x28d)+_0x2aca4b(0x1d3)+_0x2aca4b(0x1ea)+_0x2aca4b(0x285)+_0x2aca4b(0x1a9)+_0x2aca4b(0xdb)+_0x2aca4b(0x10e)+_0x2aca4b(0x20a)+'cáo\x20S'+'ếp\x20th'+_0x2aca4b(0x299)+'i\x20từ\x20'+_0x2aca4b(0x13c)+_0x2aca4b(0x243)+_0x2aca4b(0x1a8)+_0x2aca4b(0x167)+'i\x20gia'+'n.',_0x787548;}const _0xe68e27={};return _0xe68e27[_0x2aca4b(0x241)+'s']='succe'+'ss',_0xe68e27[_0x2aca4b(0x14c)+'ge']=_0x2aca4b(0x203)+_0x2aca4b(0x125)+_0x59c61e[_0x2aca4b(0x111)+'h']+_0x2aca4b(0x9e),_0xe68e27['data']=_0x59c61e,_0xe68e27[_0x2aca4b(0x1a5)]=_0x2aca4b(0x8f)+'ẮC\x20BÁ'+_0x2aca4b(0x162)+_0x2aca4b(0x244)+'\x0a\x20\x20\x20\x20'+_0x2aca4b(0x28e)+_0x2aca4b(0x28e)+_0x2aca4b(0x28e)+_0x2aca4b(0x252)+'rình\x20'+_0x2aca4b(0x1d4)+_0x2aca4b(0x10a)+_0x2aca4b(0x1f8)+_0x2aca4b(0x269)+_0x2aca4b(0x250)+_0x2aca4b(0x1f5)+_0x2aca4b(0x196)+'Tên\x20M'+_0x2aca4b(0x121)+_0x2aca4b(0x1d7)+'hụ\x20tr'+_0x2aca4b(0x1f6)+_0x2aca4b(0x232)+'hạn,\x20'+_0x2aca4b(0x2a4)+_0x2aca4b(0x179)+_0x2aca4b(0x9d)+_0x2aca4b(0x1bc)+_0x2aca4b(0x28e)+_0x2aca4b(0x28e)+_0x2aca4b(0x28e)+'\x20\x20\x202.'+_0x2aca4b(0x197)+_0x2aca4b(0x11c)+_0x2aca4b(0x14f)+_0x2aca4b(0x1c1)+_0x2aca4b(0x293)+_0x2aca4b(0x257)+_0x2aca4b(0x1c4)+'ủa\x20dữ'+_0x2aca4b(0x1ac)+_0x2aca4b(0x270)+_0x2aca4b(0x71)+_0x2aca4b(0x25b)+'\x20giá\x20'+_0x2aca4b(0xf4)+_0x2aca4b(0x208)+_0x2aca4b(0x28e)+_0x2aca4b(0x28e)+_0x2aca4b(0x28e)+_0x2aca4b(0x164)+'.\x20Nếu'+_0x2aca4b(0x12d)+_0x2aca4b(0x1cd)+_0x2aca4b(0x28a)+_0x2aca4b(0x289)+'(scor'+_0x2aca4b(0x298)+_0x2aca4b(0x1b2)+_0x2aca4b(0x220)+_0x2aca4b(0x253)+_0x2aca4b(0x9d)+_0x2aca4b(0x119)+_0x2aca4b(0x128)+_0x2aca4b(0x8e)+_0x2aca4b(0x21f)+_0x2aca4b(0x13f)+'i,\x20BẮ'+_0x2aca4b(0x254)+_0x2aca4b(0x1da)+_0x2aca4b(0x27f)+_0x2aca4b(0x271)+_0x2aca4b(0x1f2)+_0x2aca4b(0xe4)+_0x2aca4b(0x153)+'đậm\x20ở'+_0x2aca4b(0x286)+'\x20báo\x20'+_0x2aca4b(0xc4)+_0x2aca4b(0xf8)+_0x2aca4b(0x1fe)+_0x2aca4b(0x273)+'hình\x20'+_0x2aca4b(0xc7)+_0x2aca4b(0x148)+'.',_0xe68e27;}catch(_0xe30765){console['error'](_0x2aca4b(0x280)+_0x2aca4b(0x9f)+_0x2aca4b(0xdc)+'ogres'+_0x2aca4b(0x29d)+']:',_0xe30765);const _0x49c820={};return _0x49c820['statu'+'s']='error',_0x49c820['messa'+'ge']='Lỗi\x20k'+_0x2aca4b(0x2af)+_0x2aca4b(0x1a7)+'ất\x20dữ'+'\x20liệu'+_0x2aca4b(0x244)+'\x20'+_0xe30765[_0x2aca4b(0x14c)+'ge'],_0x49c820;}}})};}const _0x145ce6={};_0x145ce6[_0x3ba803(0xca)+_0x3ba803(0x224)+_0x3ba803(0x176)]=createOkrTools,module[_0x3ba803(0xd1)+'ts']=_0x145ce6;function _0x4359(){const _0x540d5d=['CxxHUQmGDa','vfldMu5h','vmoQBIbO','ssKU','ihbO4BULia','ihtHU6SGva','ieHpW4bo','W6fJAcbO','CMfJAa','ideUifq','4BQTBsb0Aq','vcbcvEg7Ma','DgNdQNuP','CgJHUQnPia','s+g6V3qGCq','tu0Treq','mtCWmdHXEePfy3i','BMCGDhK','imsrW6fUAa','igpdSYb0','ysbJ4BUNyq','q8oZicHw','ihtdRg0G','ihrYXRdHU50','se8Gs0u','yUg6R3qGXje','DEg7Kw5Nkq','BMCGBwK','BIb2W6bV','CgH1x3q','4BQJAsb0CG','Dcb0AEg6VW','yw5Oihm','4BUtBIbJ4BQL','igVHUR90ia','s1jZksW','Aog7IsbZ4BUT','jhjLz2u','Amo0BMCG','ihrY4BQJia','DcaXigm','icHZy28','DmoSBMGG','4BUrBMCGAW','tYKGy+g6PW','rYblseK','Bsbps1i','B29SxtO','yxrLie8','q2JgSgeG','CUg7Kw5Nia','Bw9Tzw4','4BUbBIboyq','4BQ3yYb0Xim','Asb2AEg6VW','w0ZHU5DPia','igFdTsb0','icjn4BUFia','ifrpW4bo','DcdeKw8G','DsbRAEg7HW','ign14BUrAq','vmoQBIbl','w0pHUQjosa','BIdeKEg7Msa','W7mGDgNHUR8','iaOGica','ie7HUR91ia','W6bVigTO','icaGica','ignOAEg6VW','iervwsa','cIaGica','vc9dsog7Ia','CMuNicG','vgNdQNuG','kIOGkfa','rdOGwYi','s1iGy+g6PW','zsKGDgG','yxKGXjhHU5u','XQfUihBHU4S','oIakica','B2TY','C1rVB2W','ig3HU5L0ia','zYbT4BQ3yW','zv9ZB3u','Aog7KxqGka','DxKGy+g6Rq','4BUjihrPW6O','XjbP4BUdBsa','zxjYB3i','Ag/HUQnUia','CYaOs1i','Asb1Cgq','zhvLx2q','4BQNBIb0Aa','AgvUigm','AwrFyxa','keTsCYK','ieHp4BQGva','AgKGDhi','lIaQkG','s1iPlGO','XjhHU5vPicG','nteXiL0','AsbWAog7Pq','BmoQBIKS','ihrYDxK','jYbT4BUBAq','W6fVifpHUR8','DhldOwnO','XjhdOYbJ4BQT','AcbJW7rU','DUg7GsdeKEg7GW','4BQHigvTia','ihBdOcbO','otaXmdLwC1L0svu','zurHDge','ihrO4BUdlG','4BUNysbJW6e','DsaOvKq','AM9PBG','ideGkfm','kIOGDUg7MW','icaZlIa','DgvFAw4','4BQNDsaOwq','XjhHUQf0igm','y+g7Psbu4BQG','ve/dGe4G','CYKSiei','DwX0CYa','ke5NW6b5','C3vSDhm','psiYiI4','vog6RKmGtq','4BUKtKCGsW','4BURifpHU5uG','Dw5NlG','4BUrBMCU','W7rUzYb0','yxjYyxK','4BUDAsbNAq','uvvzifq','W7jUzYbI','Asb0ACoQ','kfzPzxC','DcaOs1i','jY4kcKG','BgvHBG','jY4G','uMvZDwW','ihrOW6bU','igX14BQTBG','ECoQDsbJ','qUg6RLqGqG','ts1ercK','4BQ/BIdeKEg7Mq','ie9luI4','y2HLy2S','kfr14BQNBG','y29UDhi','zv9PBNq','4BUzDcbpsW','4BUrig3HU6vJ','4BQ/DsbJAa','DgfYz2u','DgNdQM4G','x2LK','yxKGDgG','z2v0tw8','tKGGu+g7Ra','zgvS','tEg7PwmGDa','nJa2nty2oeL2BKv5rW','ks4Grmo5','ig3HU5TPkq','zMLUza','4BUnBIaImG','BMvLzf8','4BQ/Ccb5W6O','ksWGmYa','imsrBYK6','A2v5CW','XjhHU5LUzYa','uIWGDgK','nJiYnda4mLvvuKfJwa','EsbK4BURBG','AcdgShuG','4BQNDsbJ4BQT','vmoGAsbR','oIboz8AW','4BUXimsr4BUzBG','u+g6V3aGAW','ietHU6rorW','BMGGC8oH','y8oHBYdeKq','u+g6V3aGCG','A2v5CMu','DSoGimsrW7q','imsr4BUbie8','zYbS4BQLEq','y3jLyxq','uIdeKEg7GYa','4BULBMCGyW','idiGkeC','igpfQsb2','vmsdBMCG','ielHUQ5uia','zxHWB3i','t0Ts','veHj4BQ+va','AmoZysaN','ihrPW6P1','rgfUAca','4BQXBMCGBq','yw4PlG','BIbn4BULyW','DsbJ4BQNDq','igTP4BQ/Bq','t2TYuhi','Esbszxm','XjhdOYb0Aa','y3qGj28','BwfW','q2JHU4KGyW','tMFdOhKG','zgfUAca','BMGGySoH','ieTLEsa','DgJHU4SGDa','lIbdW6fJ','4BUNysbluG','vcbrvEg6OG','rw1HAwW','qvbqsu4','igrVyw4','wvLzlu0','Asb0AEg6VW','lIbo4BQ/Dq','XQ/HU5PorYa','y2GGt0S','Aog6PxKGtW','W6aGz2HP','DgNHUR9Uia','Aog7Qw5NlG','sog7HIbusa','icaGcIa','4BUdifpHUR9W','q8o0BMCG','oGOGica','BMCGA2G','nYi6ifq','jg9WDgK','CdOGiKq','zxnZks4','4BUqtKCGqW','oIdeKog6Oxq','A+g6V3qGDa','rYbnW4mG','s1jZksa','C3rYAw4','zgvZy3i','4BQ/Cc4kia','BMCGC+g7Kq','icakica','XRdHU5TPigq','oIbyW6jT','ACoQDsaO','icaGic0','lIbiW6n5','s1iGy2G','DgL0Bgu','BgvUz3q','vuXuoGO','CNv54BUbBG','B3vYy2u','uIbJ4BUNyq','AwjL','igpHUQDUia','ifrPW6P1','ihnVihy','ywXS','DgTFBM8','DSoGBYb0','yxKGy+g6Rq','zYb24BUBAq','BwfFyNa','XjddOYb04BQH','4BULyYb0Aq','y2GSihq','iefjihq','4BUSietHU6ro','Aog6PxKG','icaGifm','m2LrB2L5zG','4BUBAsb0Aa','W7nHigpdOq','4BQTDcblua','BwvHC3u','zY4Gt2i','ie9luIa','Ag8GCgG','zu1HBNK','yxrL','tog7L2KGAW','rog6QK4Gqq','4BUbBIKSia','igZdOcbt','B3jKjY4','zgvSzxq','CcbUAog6Rq','mIdeKEg6V24','icaGu+g7Ra','stOGsmoJ','icaYlIa','A2JdS2eG','4BQJihrOzq','j3vWzge','4BUhBIb04BQH','yYdeKEg7I24','yxrLx3m','s0vzuKu','DsbJ4BUNyq','oIbt4BQ/Ca','C3rHCNq','tKCGXjdgRW','mZa3ndK5mLbUAevQBq','BIdeKEg7Kwm','zwn0Axy','Agf5ihq','DgvFC28','BwvZC2e','icaGipcFLku','zYKSidq','CSAW4BUDBMC','sog7HYb0Aa','iduGDog7TW','mYaOvog7TW','BYbPBIa','DxjLx2e','BYbluIa','W6bUigpdTa','yMPLy3q','vEg7MemPoG','ig3HU6vJia','BMCGt0S','CMuPigm','DEg7MwmGBq','4BQGss4kia','AxnbCNi','4BUyqYbWAa','XjddOYbJ4BQT','Dog6OYbJAa','tYbdW4fp','XjhHU4eGtEg7Pq','icaGidm','Dg9eyxq','iduGs2u','zYb0Aog7Nq','t0TsicG','BMCGXjfP','Aw0NicG','vgJdTg5N','XjhHU4mGDhi','4BUXyYbOAq','seK6ifm','s2JdTg5N','W7nHihtdQG','ms4GvmoS','ihrPBIa','DgTFy28','ipcFLkuGvmAV','A+g6VYb0BW','B29SCW','BUg6V3uGEa','CM9UzYa','C+g7Ks9uAq','CYCGkmsq','s2v5ifi','BMJdQseI','tUg7OYaOvG','4BUPysb04BUR','iIKU','ihbOW7jU','C+g7RweGsW','DgLUigm','Dsbps1i','B25Z','AhuGA+g7SW','AxzLjY4','BMfS','BIbJAog7Kq','Aog7GYb0CG','igJHUQfUla','4BQJBsbJAa','otHREfjdrvG','4BUhDsbluG','zYbIyw4','XjhdSYKUcG','ieZHURzqxq','Df92ywW','imsr4BUlBMG','yYbn4BULyW','BIbJ4BQTCa','icaGidi','4BQJBMCGka','ietHU7fHia','BYbJW6eG','BMCGj2S','zMLUzeq','lcaZicG','AwrFBgK','zYaNDgS','y8oHyYbl','B3b0Aw8','iglHURfUzW','4BUXihn1Eq','ucbosog6Ra','y+g7Psblsq','ig5O4BQTDa','AgLUDa','CMvFyxm','DxKGEhu','A2HV4BQJBG','BIb0W6XT','Ccb2W6bV','BMfTzq','igXP4BUhDq','4BUrBMCGCq','CUg7K2KG4BQH','yUg6Sw5Nkq','4BUhBIbpsW','AgNHUR90ia','4BQLCcbOBW','zw0GDg8','yYb0CSAW','ig5NXRdHU50','AgKGBmAW','uhjVz3i','imsr4BUdihq','ksWGmIa','EsaOr2K','DcbT4BULyW','ks4kica','uIaN','mIbOB+g6TW','XjddUM5Nia','kfrOW6fU','icDZy28','Dg9tDhi','igpHUQnTia','DEg6OYKGyW','BgNHU4D0ia','BEg7PwmGDa','ke9IAMu','yYbluNm','BwLU','BNvTyMu','zxj2ywW','ie5i4BQSva','BSoGBYbJ','Dhj1EEg7Gq','ihrY4BUrBG','y8oHig5O','B2jQzwm','Aog7Psb0CG','4BUBCcb24BUB','ySoGEsbK','wvLzws0','ntq1ntG1nuX4Affyta','W6P1lcbq','ig3dOcbR','qSoHBYbJ','qYbWAog6OW','DgJHUQv5ia','AEg6V3qGBa','CMnL','BIb0AmoQ','Dcbps1i','lIbdAog7Iq','ihrOXRdHU50','DxbKyxq','ie1Vzhu','Aw5N','4BURigTOW7m','oIaXicG','lGOGica','zMLJyxq','icDVA3i','AsdeKwNHU4e','Amo6yYaO','DgJHU5fUzW','y2GGDog7Sq','ihtHU6SGAW','ieldGu8G','lsaImIi','ihbO4BQTBG','W6j1igpHUQm','icHwrdO','4BQJBMCGBq','B+g6T2mGqG','W6fJAcWG','qsbps1i','4BQHBMCGra','tYbmXQ/HU5W','DmoSBsb0','icHpyMO','BMFgSog7NwK','4BQTDcb0Aa','ig7HUQ9Tia','x2rHDgu','yxrH','4BUDBMCGyW','4BQUvcbcvq','vmoSBsb0','zw0GDmoS','iffvwsa','DsdeKEg7GsW','W7uGBMFgSa','XjhHU5KUcIa','CYbJXAKU','igldOw8G','zxn1Bhq','4BQTCcbUAa','W6XUAcbJ','CgJdSM5N','AcaOXjdHU4m','igJdO3KG','DMu6icC','ihrO4BUDAq','Axb0Aw8','kIOGDgG','W6fJAdOG','y2XHCMK','BMCGyUg7Mq','ieXv4BQSva','tEg6O25Nia','AEg7H2mUcG','4BUtAsdHUQeH','AEg6O20GEa','mZbJrKvSr0q','u1vmva','yw4GAgK','4BQ3yYbJAa','W6fUicHo','imsq4BUytKC','Ccb24BUBAq','zu9RCLq','ke8Plca','zYbU4BQ/Dq','nc4Gj2e','ihNdQNuG','4BQNDsb0Aa','y+g7Psbd4BQS','igpHU6DHia','DcbS4BQHAq','BYbps1i','BMGGDgG','C8oHy2GG','t0Tsig4','4BUrigZgSog7OW','vgJHU51Pia','CYKGDgG','uIdeKmodia','tCoJiglHU5K','CUg7Mw5Nia','B2XSzxi','CYbn4BUAsq','x2TLExC','C3vJy2u','mIaOvgK','ihrYW6fJ','mJC5nZGZovbQtNPTCG','4BQ/DcbXDq','AhvUzYa','BSoGBYb0','C3rHDhu','wsbsrvm','Ag/HURDJia','ie9luJO','4BULihrYW6e','ifpHU6WGra','DhmU','zxmPlca'];_0x4359=function(){return _0x540d5d;};return _0x4359();}