flexbiz-server 12.7.7 → 12.7.11

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 (1158) 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/flowAgent.js +1 -43
  8. package/server/agents/prompts/ceo.js +1 -2
  9. package/server/agents/prompts/flow.js +1 -2
  10. package/server/agents/staffAgent.js +1 -44
  11. package/server/agents/tools/financeTools.js +1 -57
  12. package/server/agents/tools/flowTools.js +1 -36
  13. package/server/agents/tools/kpiTools.js +1 -104
  14. package/server/agents/tools/masterDataTools.js +1 -74
  15. package/server/agents/tools/okrTools.js +1 -21
  16. package/server/agents/tools/ragTools.js +1 -21
  17. package/server/agents/tools/reportTools.js +1 -43
  18. package/server/agents/tools/staffTools.js +1 -13
  19. package/server/agents/tools/stockTools.js +1 -41
  20. package/server/agents/tools/systemTools.js +1 -52
  21. package/server/agents/tools/taskTools.js +1 -23
  22. package/server/agents/tools/utils.js +1 -57
  23. package/server/app.js +1 -27
  24. package/server/auths/authMiddleware.js +1 -3
  25. package/server/auths/bearer.js +1 -3
  26. package/server/auths/facebook.js +1 -12
  27. package/server/auths/google.js +1 -13
  28. package/server/auths/joinApp.js +1 -0
  29. package/server/auths/local.js +1 -67
  30. package/server/auths/oauthCommon.js +1 -0
  31. package/server/auths/rateLimiterMiddleware.js +1 -11
  32. package/server/cluster.js +1 -1
  33. package/server/controllers/controller.js +1 -129
  34. package/server/controllers/controllerRPT.js +1 -38
  35. package/server/controllers/controllerUtils.js +1 -72
  36. package/server/controllers/createHandler.js +1 -35
  37. package/server/controllers/createRouteHandler.js +1 -4
  38. package/server/controllers/deleteHandler.js +1 -11
  39. package/server/controllers/deleteManyHandler.js +1 -2
  40. package/server/controllers/exportHandler.js +1 -19
  41. package/server/controllers/findHandler.js +1 -80
  42. package/server/controllers/handlers.js +1 -3
  43. package/server/controllers/historyHandler.js +1 -8
  44. package/server/controllers/importFromExcelHandler.js +1 -17
  45. package/server/controllers/importFromGsHandler.js +1 -10
  46. package/server/controllers/importFromJsonHandler.js +1 -6
  47. package/server/controllers/importHandler.js +1 -26
  48. package/server/controllers/logHandler.js +1 -5
  49. package/server/controllers/rptCreateRouteHandler.js +1 -4
  50. package/server/controllers/rptExcelHandler.js +1 -45
  51. package/server/controllers/rptHandler.js +1 -16
  52. package/server/controllers/updateBookHandler.js +1 -11
  53. package/server/controllers/updateFieldHandler.js +1 -12
  54. package/server/controllers/updateHandler.js +1 -38
  55. package/server/controllers/updateKeyHandler.js +1 -14
  56. package/server/controllers/viewHandler.js +1 -13
  57. package/server/data/sys/listinfo.js +93 -93
  58. package/server/data/sys/menuinfo.js +1 -24
  59. package/server/data/sys/moduleinfo.js +520 -9000
  60. package/server/data/sys/reportinfo.js +10 -10
  61. package/server/flow/FlowCluster.js +1 -0
  62. package/server/flow/FlowEngine.js +1 -68
  63. package/server/flow/WebhookManager.js +1 -26
  64. package/server/flow/handlers.js +1 -3
  65. package/server/flow/nodes/aiAnalysis.js +1 -9
  66. package/server/flow/nodes/checkAction.js +1 -7
  67. package/server/flow/nodes/customer.js +1 -15
  68. package/server/flow/nodes/data.js +1 -17
  69. package/server/flow/nodes/debug.js +1 -2
  70. package/server/flow/nodes/delay.js +1 -3
  71. package/server/flow/nodes/email.js +1 -8
  72. package/server/flow/nodes/event.js +1 -12
  73. package/server/flow/nodes/facebook.js +1 -3
  74. package/server/flow/nodes/facebookConversations.js +1 -5
  75. package/server/flow/nodes/facebookCreatePost.js +1 -10
  76. package/server/flow/nodes/facebookSendMessage.js +1 -12
  77. package/server/flow/nodes/forEachItem.js +1 -8
  78. package/server/flow/nodes/function.js +1 -4
  79. package/server/flow/nodes/httprequest.js +1 -7
  80. package/server/flow/nodes/inject.js +1 -14
  81. package/server/flow/nodes/pushNotification.js +1 -5
  82. package/server/flow/nodes/report.js +1 -6
  83. package/server/flow/nodes/saveData.js +1 -2
  84. package/server/flow/nodes/switch.js +1 -20
  85. package/server/flow/nodes/userform.js +1 -28
  86. package/server/flow/nodes/webhook.js +1 -1
  87. package/server/flow/nodes/zaloSendMessage.js +1 -4
  88. package/server/flow/utils.js +1 -67
  89. package/server/global.js +1 -19
  90. package/server/libs/WorkerPool.js +1 -4
  91. package/server/libs/WorkerStaticPool.js +1 -20
  92. package/server/libs/WorkerStaticPool_v1.js +1 -5
  93. package/server/libs/WorkerStaticPool_v2.js +1 -16
  94. package/server/libs/WorkerStaticPool_v3.js +1 -19
  95. package/server/libs/WorkerStaticPool_v5.js +1 -0
  96. package/server/libs/assbonus.js +1 -7
  97. package/server/libs/asyncCompat.js +1 -10
  98. package/server/libs/backup.js +1 -2
  99. package/server/libs/blockchainconnect.js +1 -12
  100. package/server/libs/cdpsdiem.js +1 -5
  101. package/server/libs/cdpsdt.js +1 -7
  102. package/server/libs/cdpskh.js +1 -15
  103. package/server/libs/cdpskh_old.js +1 -9
  104. package/server/libs/cdpsnphep.js +1 -6
  105. package/server/libs/cdpstk.js +1 -11
  106. package/server/libs/ckcn.js +1 -14
  107. package/server/libs/ckcn_old.js +1 -11
  108. package/server/libs/ckdiem.js +1 -5
  109. package/server/libs/ckdt.js +1 -6
  110. package/server/libs/cknphep.js +1 -6
  111. package/server/libs/cktk.js +1 -4
  112. package/server/libs/cktt.js +1 -10
  113. package/server/libs/cktt_old.js +1 -9
  114. package/server/libs/ckvt.js +1 -14
  115. package/server/libs/ckvt_old.js +1 -12
  116. package/server/libs/ckvtcapphat.js +1 -6
  117. package/server/libs/ckvtnpp.js +1 -9
  118. package/server/libs/ckvttt.js +1 -12
  119. package/server/libs/createSocaitheongay.js +1 -9
  120. package/server/libs/ctdiem.js +1 -5
  121. package/server/libs/ctvt.js +1 -8
  122. package/server/libs/ctvtnpp.js +1 -8
  123. package/server/libs/ctvttt.js +1 -7
  124. package/server/libs/databanle.js +1 -17
  125. package/server/libs/databanle_old.js +1 -18
  126. package/server/libs/databanlenpp.js +1 -8
  127. package/server/libs/databanletheongay.js +1 -25
  128. package/server/libs/dkcn.js +1 -14
  129. package/server/libs/dkcn_old.js +1 -10
  130. package/server/libs/dkdiem.js +1 -5
  131. package/server/libs/dkdt.js +1 -6
  132. package/server/libs/dknphep.js +1 -7
  133. package/server/libs/dktk.js +1 -5
  134. package/server/libs/dktt.js +1 -10
  135. package/server/libs/dktt_old.js +1 -8
  136. package/server/libs/dkvt.js +1 -12
  137. package/server/libs/dkvt_old.js +1 -9
  138. package/server/libs/dkvtnpp.js +1 -8
  139. package/server/libs/dkvttt.js +1 -8
  140. package/server/libs/dncn.js +1 -6
  141. package/server/libs/dntk.js +1 -4
  142. package/server/libs/dntt.js +1 -6
  143. package/server/libs/docs.js +1 -672
  144. package/server/libs/dstkcn.js +1 -1
  145. package/server/libs/dstktt.js +1 -1
  146. package/server/libs/dtbanletheonpp.js +1 -17
  147. package/server/libs/dtbanletheosp.js +1 -16
  148. package/server/libs/dtbanletheospnpp.js +1 -15
  149. package/server/libs/email.js +1 -3
  150. package/server/libs/excel.js +1 -3
  151. package/server/libs/excelHelper.js +1 -10
  152. package/server/libs/executiveDashboard.js +1 -8
  153. package/server/libs/fifo_dk.js +1 -8
  154. package/server/libs/fifo_group.js +1 -4
  155. package/server/libs/fifo_trace_query.js +1 -12
  156. package/server/libs/getGiaban.js +1 -59
  157. package/server/libs/getGiabanAsync.js +1 -1
  158. package/server/libs/getGiaban_old.js +1 -70
  159. package/server/libs/getNotifies.js +1 -1
  160. package/server/libs/htmlReport.js +1 -9
  161. package/server/libs/initDatabase.js +1 -9
  162. package/server/libs/invoiceEasy.js +1 -108
  163. package/server/libs/invoiceViettel.js +1 -25
  164. package/server/libs/invoiceVnpt.js +1 -22
  165. package/server/libs/joinData.js +1 -44
  166. package/server/libs/joinData_bk.js +1 -44
  167. package/server/libs/kpistatus.js +1 -47
  168. package/server/libs/kqchamcong.js +1 -12
  169. package/server/libs/kqhdkd.js +1 -8
  170. package/server/libs/load-template.js +1 -3
  171. package/server/libs/logger.js +1 -3
  172. package/server/libs/mailmanagement.js +1 -13
  173. package/server/libs/mongooseDeletePost.js +1 -6
  174. package/server/libs/mongooseLeanId.js +1 -1
  175. package/server/libs/mongoosePatch.js +1 -14
  176. package/server/libs/mongooseSecurityPlugin.js +1 -16
  177. package/server/libs/onepay-payment.js +1 -4
  178. package/server/libs/optimizeBookkeeping.js +1 -22
  179. package/server/libs/optimizeBookkeeping_bk.js +1 -14
  180. package/server/libs/parse-template.js +1 -5
  181. package/server/libs/permission.js +1 -58
  182. package/server/libs/permission_old.js +1 -58
  183. package/server/libs/phanbokh.js +1 -3
  184. package/server/libs/post-book.js +1 -22
  185. package/server/libs/post-socai.js +1 -25
  186. package/server/libs/post-sokho.js +1 -26
  187. package/server/libs/prototypes.js +1 -24
  188. package/server/libs/psdt.js +1 -1
  189. package/server/libs/pskh.js +1 -1
  190. package/server/libs/pstk.js +1 -1
  191. package/server/libs/queryBuilding.js +1 -15
  192. package/server/libs/redis-cache.js +1 -34
  193. package/server/libs/restore.js +1 -1
  194. package/server/libs/sctcnkh.js +1 -20
  195. package/server/libs/sessionContext.js +2 -14
  196. package/server/libs/socaitk.js +1 -9
  197. package/server/libs/textReport.js +1 -5
  198. package/server/libs/thnxt.js +1 -17
  199. package/server/libs/thnxt_old.js +1 -9
  200. package/server/libs/thnxtnpp.js +1 -9
  201. package/server/libs/thnxttt.js +1 -9
  202. package/server/libs/tinhGt.js +1 -10
  203. package/server/libs/tinhGtCapnhatPNK.js +1 -7
  204. package/server/libs/tinhGtPhanboHeSo.js +1 -12
  205. package/server/libs/tinhGtPhanboSltp.js +1 -10
  206. package/server/libs/tinhGtPhanboYtcp.js +1 -11
  207. package/server/libs/tinhGtSltk.js +1 -9
  208. package/server/libs/tinhGtThcppstk.js +1 -10
  209. package/server/libs/tinhGtTrucTiep.js +1 -7
  210. package/server/libs/tinhGtXoa.js +1 -3
  211. package/server/libs/tinhgia1vt_fifo.js +1 -22
  212. package/server/libs/tinhgiafifo.js +1 -28
  213. package/server/libs/tinhgiatb.js +1 -30
  214. package/server/libs/tinhgiatb1vt.js +1 -7
  215. package/server/libs/tinhgiatb1vt_old.js +1 -5
  216. package/server/libs/tinhgiatb_old.js +1 -39
  217. package/server/libs/tinhhoahong.js +1 -64
  218. package/server/libs/tinhhoahongnpp.js +1 -46
  219. package/server/libs/tinhkhauhao1ts.js +1 -12
  220. package/server/libs/tinhkhauhaots.js +1 -8
  221. package/server/libs/tinhkhauhaots_old.js +1 -0
  222. package/server/libs/tuoinophaithu.js +1 -11
  223. package/server/libs/tuoinophaithu_old.js +1 -0
  224. package/server/libs/tuoinophaitra.js +1 -12
  225. package/server/libs/tuoinophaitra_old.js +1 -0
  226. package/server/libs/utils.js +1 -121
  227. package/server/libs/utils_old.js +1 -0
  228. package/server/libs/validate.js +1 -4
  229. package/server/libs/validator-acc-cust.js +1 -1
  230. package/server/libs/validator-account.js +1 -4
  231. package/server/libs/validator-vt.js +1 -2
  232. package/server/libs/validator.js +1 -11
  233. package/server/libs/vectorService.js +1 -16
  234. package/server/libs/viCollation.js +1 -4
  235. package/server/libs/vsocai.js +1 -11
  236. package/server/libs/vsocai_old.js +1 -7
  237. package/server/libs/vsocai_old2.js +1 -0
  238. package/server/maps-demo/participant.js +18 -0
  239. package/server/models/account.js +1 -7
  240. package/server/models/actionLog.js +1 -2
  241. package/server/models/afflink.js +1 -2
  242. package/server/models/aimemory.js +1 -1
  243. package/server/models/app.js +1 -16
  244. package/server/models/approve.js +1 -95
  245. package/server/models/assabcihandler.js +1 -35
  246. package/server/models/assbank.js +1 -19
  247. package/server/models/assbooking.js +1 -4
  248. package/server/models/assbuy.js +1 -3
  249. package/server/models/asscashwithdraw.js +1 -4
  250. package/server/models/assfindhash.js +1 -2
  251. package/server/models/assinvestment.js +1 -13
  252. package/server/models/assissue.js +1 -2
  253. package/server/models/asskey.js +1 -15
  254. package/server/models/assneedtobuy.js +1 -6
  255. package/server/models/assperiod.js +1 -7
  256. package/server/models/assproduct.js +1 -13
  257. package/server/models/assprofitsharing.js +1 -4
  258. package/server/models/assreceiver.js +1 -2
  259. package/server/models/assrequest.js +1 -10
  260. package/server/models/asssell.js +1 -7
  261. package/server/models/asstransaction.js +1 -3
  262. package/server/models/asstransfer.js +1 -4
  263. package/server/models/assuser_identity.js +1 -4
  264. package/server/models/asswithdraw.js +1 -4
  265. package/server/models/attend.js +1 -2
  266. package/server/models/banggiaban.js +1 -8
  267. package/server/models/bangtinhluong.js +1 -5
  268. package/server/models/base.js +1 -1
  269. package/server/models/bg1.js +1 -9
  270. package/server/models/bg2.js +1 -10
  271. package/server/models/cache.js +1 -3
  272. package/server/models/cacheDataReport.js +1 -2
  273. package/server/models/cacheSessionReport.js +1 -5
  274. package/server/models/calllog.js +1 -4
  275. package/server/models/cart.js +1 -5
  276. package/server/models/cddiem.js +1 -2
  277. package/server/models/cddt.js +1 -3
  278. package/server/models/cdkh.js +1 -5
  279. package/server/models/cdkhtheongay.js +1 -5
  280. package/server/models/cdnphep.js +1 -2
  281. package/server/models/cdtk.js +1 -3
  282. package/server/models/cdtktheongay.js +1 -3
  283. package/server/models/cdvt.js +1 -5
  284. package/server/models/cdvtnpp.js +1 -6
  285. package/server/models/cdvttheongay.js +1 -5
  286. package/server/models/chamcong.js +1 -7
  287. package/server/models/chat_message.js +1 -2
  288. package/server/models/chat_session.js +1 -2
  289. package/server/models/checkin.js +1 -4
  290. package/server/models/checkinactivity.js +1 -3
  291. package/server/models/checkinkpi.js +1 -4
  292. package/server/models/checkinlocation.js +1 -2
  293. package/server/models/chitietluongds.js +1 -12
  294. package/server/models/chitieukpi.js +1 -3
  295. package/server/models/chudethaoluan.js +1 -3
  296. package/server/models/ckgtluong.js +1 -2
  297. package/server/models/colleague.js +1 -2
  298. package/server/models/comment.js +1 -4
  299. package/server/models/congdoansx.js +1 -4
  300. package/server/models/congtacvien.js +1 -4
  301. package/server/models/congthuctinhgiaban.js +1 -8
  302. package/server/models/consultant.js +1 -4
  303. package/server/models/contract.js +1 -6
  304. package/server/models/counter.js +1 -2
  305. package/server/models/csluongtheods.js +1 -3
  306. package/server/models/csphucap.js +1 -2
  307. package/server/models/ctds.js +1 -5
  308. package/server/models/ctds2.js +1 -7
  309. package/server/models/currency.js +1 -3
  310. package/server/models/custom_report.js +1 -1
  311. package/server/models/customer.js +1 -31
  312. package/server/models/customer_care.js +1 -2
  313. package/server/models/data_list_config.js +1 -7
  314. package/server/models/databanle.js +1 -8
  315. package/server/models/datlich.js +1 -4
  316. package/server/models/deal.js +1 -2
  317. package/server/models/dh2.js +1 -20
  318. package/server/models/diagram.js +1 -2
  319. package/server/models/dinhmucsx.js +1 -8
  320. package/server/models/dkhoc.js +1 -6
  321. package/server/models/dknphep.js +1 -2
  322. package/server/models/dmban.js +1 -3
  323. package/server/models/dmbp.js +1 -12
  324. package/server/models/dmca.js +1 -2
  325. package/server/models/dmchietkhau.js +1 -8
  326. package/server/models/dmchietkhauhd.js +1 -19
  327. package/server/models/dmchinhanh.js +1 -2
  328. package/server/models/dmcpmh.js +1 -2
  329. package/server/models/dmdiemthuong.js +1 -3
  330. package/server/models/dmdoi.js +1 -4
  331. package/server/models/dmdoituongdanhgia.js +1 -2
  332. package/server/models/dmdt.js +1 -8
  333. package/server/models/dmdvt.js +1 -3
  334. package/server/models/dmgiaban.js +1 -9
  335. package/server/models/dmgiamua.js +1 -5
  336. package/server/models/dmgiathitruong.js +1 -5
  337. package/server/models/dmgiathitruong_ngay.js +1 -2
  338. package/server/models/dmgiathitruong_theodoi.js +1 -2
  339. package/server/models/dmhoahonghd.js +1 -8
  340. package/server/models/dmhoahongnpp.js +1 -8
  341. package/server/models/dmkc.js +1 -3
  342. package/server/models/dmkho.js +1 -7
  343. package/server/models/dmkhuyenmai.js +1 -9
  344. package/server/models/dmkhuyenmaihd.js +1 -11
  345. package/server/models/dmletet.js +1 -2
  346. package/server/models/dmlo.js +1 -4
  347. package/server/models/dmloaicong.js +1 -4
  348. package/server/models/dmloaitask.js +1 -2
  349. package/server/models/dmloaits.js +1 -2
  350. package/server/models/dmnckkm.js +1 -4
  351. package/server/models/dmnghiepvu.js +1 -4
  352. package/server/models/dmnguonvon.js +1 -2
  353. package/server/models/dmnhnv.js +1 -4
  354. package/server/models/dmnv.js +1 -17
  355. package/server/models/dmnvt.js +1 -10
  356. package/server/models/dmphi.js +1 -3
  357. package/server/models/dmqct.js +1 -3
  358. package/server/models/dmqddvt.js +1 -3
  359. package/server/models/dmtanggiamts.js +1 -3
  360. package/server/models/dmto.js +1 -4
  361. package/server/models/dmtt.js +1 -6
  362. package/server/models/dmvt.js +1 -17
  363. package/server/models/dmyt.js +1 -4
  364. package/server/models/dn0.js +1 -13
  365. package/server/models/dnm.js +1 -11
  366. package/server/models/dokho.js +1 -2
  367. package/server/models/domain.js +1 -2
  368. package/server/models/dvcs.js +1 -3
  369. package/server/models/ecomcategories.js +1 -3
  370. package/server/models/ecomcategories_cty.js +1 -3
  371. package/server/models/ecomproductlines.js +1 -2
  372. package/server/models/ecompromotion_flashsales.js +1 -2
  373. package/server/models/ecompromotion_freeships.js +1 -2
  374. package/server/models/email.js +1 -2
  375. package/server/models/endpoint.js +1 -1
  376. package/server/models/events.js +1 -3
  377. package/server/models/evoucher.js +1 -5
  378. package/server/models/experiencejourney.js +1 -2
  379. package/server/models/experiencejourneydata.js +1 -4
  380. package/server/models/experiencejourneypersona.js +1 -3
  381. package/server/models/experiencejourneystage.js +1 -2
  382. package/server/models/exportexceltemplate.js +1 -2
  383. package/server/models/fbconversation.js +1 -15
  384. package/server/models/fbmessage.js +1 -2
  385. package/server/models/fbpage.js +1 -2
  386. package/server/models/fbpost.js +1 -2
  387. package/server/models/fieldright.js +1 -2
  388. package/server/models/fifo_dk.js +1 -2
  389. package/server/models/fifo_lot.js +1 -3
  390. package/server/models/fifo_trace.js +1 -4
  391. package/server/models/file.js +1 -4
  392. package/server/models/filechunk.js +1 -2
  393. package/server/models/financialroadmap.js +1 -3
  394. package/server/models/flow.js +1 -2
  395. package/server/models/flowdata.js +1 -3
  396. package/server/models/flowpending.js +1 -2
  397. package/server/models/folder.js +1 -4
  398. package/server/models/follow.js +1 -2
  399. package/server/models/forminfo.js +1 -5
  400. package/server/models/giaoca.js +1 -3
  401. package/server/models/giatb.js +1 -3
  402. package/server/models/group.js +1 -9
  403. package/server/models/gt_ctgt.js +1 -4
  404. package/server/models/gt_hspb.js +1 -3
  405. package/server/models/gt_sltk.js +1 -3
  406. package/server/models/gt_thcppstk.js +1 -3
  407. package/server/models/hanmucton.js +1 -4
  408. package/server/models/hd1.js +1 -11
  409. package/server/models/hd2.js +1 -26
  410. package/server/models/hd3.js +1 -17
  411. package/server/models/hd4.js +1 -13
  412. package/server/models/hd7.js +1 -17
  413. package/server/models/hd8.js +1 -12
  414. package/server/models/hde.js +1 -11
  415. package/server/models/hmcn.js +1 -3
  416. package/server/models/hmcnct.js +1 -2
  417. package/server/models/hspbts.js +1 -4
  418. package/server/models/htl.js +1 -13
  419. package/server/models/importexceltemplate.js +1 -2
  420. package/server/models/introducebonus.js +1 -4
  421. package/server/models/introducecode.js +1 -3
  422. package/server/models/introducer.js +1 -4
  423. package/server/models/kbbtpb.js +1 -7
  424. package/server/models/kbmPttct.js +1 -4
  425. package/server/models/kbmTkgtgt.js +1 -5
  426. package/server/models/kbm_bcdkt_old.js +1 -4
  427. package/server/models/kbm_kqhdkd_old.js +1 -3
  428. package/server/models/kbm_lcttgt_old.js +1 -5
  429. package/server/models/kbm_lctttt_old.js +1 -4
  430. package/server/models/kbm_pttct_old.js +1 -4
  431. package/server/models/kbm_tkgtgt_old.js +1 -5
  432. package/server/models/kbmbcdkt.js +1 -4
  433. package/server/models/kbmbcqt.js +1 -4
  434. package/server/models/kbmkqhdkd.js +1 -3
  435. package/server/models/kbmlcttgt.js +1 -6
  436. package/server/models/kbmlctttt.js +1 -4
  437. package/server/models/kbmtmbctc.js +1 -4
  438. package/server/models/kehoachdtcp.js +1 -3
  439. package/server/models/kehoachmh.js +1 -8
  440. package/server/models/keyresult.js +1 -7
  441. package/server/models/khunghangthanhvien.js +1 -3
  442. package/server/models/label.js +1 -2
  443. package/server/models/labelinfo.js +1 -2
  444. package/server/models/lenhcapphat.js +1 -8
  445. package/server/models/lenhsx.js +1 -8
  446. package/server/models/lienhe.js +1 -4
  447. package/server/models/like_module.js +1 -2
  448. package/server/models/link.js +1 -2
  449. package/server/models/listinfo_old.js +1 -124
  450. package/server/models/loaidiem.js +1 -2
  451. package/server/models/lock.js +1 -2
  452. package/server/models/log.js +1 -8
  453. package/server/models/mailaccount.js +1 -3
  454. package/server/models/mailgroup.js +1 -3
  455. package/server/models/mailreceived.js +1 -2
  456. package/server/models/mailsent.js +1 -2
  457. package/server/models/mailtemplate.js +1 -2
  458. package/server/models/maudanhgia.js +1 -2
  459. package/server/models/menuinfo.js +1 -2
  460. package/server/models/message.js +1 -8
  461. package/server/models/message2.js +1 -4
  462. package/server/models/message2setting.js +1 -3
  463. package/server/models/moduleinfo.js +1 -4
  464. package/server/models/momo.js +1 -18
  465. package/server/models/news.js +1 -3
  466. package/server/models/newsfeed.js +1 -4
  467. package/server/models/note.js +1 -2
  468. package/server/models/notification.js +1 -8
  469. package/server/models/okr.js +1 -4
  470. package/server/models/okrdiagram.js +1 -3
  471. package/server/models/onepay.js +1 -24
  472. package/server/models/opportunity.js +1 -4
  473. package/server/models/options.js +1 -2
  474. package/server/models/originimportid.js +1 -1
  475. package/server/models/otp.js +1 -1
  476. package/server/models/parameter.js +1 -2
  477. package/server/models/participant.js +1 -21
  478. package/server/models/partner.js +1 -1
  479. package/server/models/payload.js +1 -1
  480. package/server/models/pbl.js +1 -16
  481. package/server/models/pc0.js +1 -13
  482. package/server/models/pc1.js +1 -14
  483. package/server/models/pc2.js +1 -13
  484. package/server/models/pc3.js +1 -13
  485. package/server/models/pc5.js +1 -8
  486. package/server/models/pc6.js +1 -14
  487. package/server/models/pcl.js +1 -6
  488. package/server/models/pdn.js +1 -9
  489. package/server/models/pdx.js +1 -9
  490. package/server/models/pgh.js +1 -5
  491. package/server/models/phieudanhgia.js +1 -3
  492. package/server/models/pht.js +1 -8
  493. package/server/models/phucap.js +1 -4
  494. package/server/models/pkc.js +1 -6
  495. package/server/models/pkh.js +1 -6
  496. package/server/models/pkk.js +1 -10
  497. package/server/models/pkt.js +1 -12
  498. package/server/models/pn1.js +1 -18
  499. package/server/models/pn2.js +1 -12
  500. package/server/models/pn3.js +1 -13
  501. package/server/models/pn5.js +1 -14
  502. package/server/models/pn6.js +1 -14
  503. package/server/models/pn9.js +1 -17
  504. package/server/models/pnc.js +1 -9
  505. package/server/models/pnh.js +1 -11
  506. package/server/models/pnk.js +1 -10
  507. package/server/models/po1.js +1 -19
  508. package/server/models/ppb.js +1 -6
  509. package/server/models/productcode.js +1 -2
  510. package/server/models/profile.js +1 -4
  511. package/server/models/pt1.js +1 -12
  512. package/server/models/pt5.js +1 -8
  513. package/server/models/ptl.js +1 -5
  514. package/server/models/ptthanhtoan.js +1 -6
  515. package/server/models/purchase_contract.js +1 -17
  516. package/server/models/pxc.js +1 -9
  517. package/server/models/pxh.js +1 -11
  518. package/server/models/pxk.js +1 -9
  519. package/server/models/qts.js +1 -14
  520. package/server/models/qts_dieuchinh.js +1 -3
  521. package/server/models/qts_dieuchuyen.js +1 -4
  522. package/server/models/quanhuyen.js +1 -2
  523. package/server/models/reason.js +1 -2
  524. package/server/models/receivedinvoice.js +1 -2
  525. package/server/models/reportinfo.js +1 -5
  526. package/server/models/right.js +1 -4
  527. package/server/models/rpt.js +1 -2
  528. package/server/models/rptform.js +1 -3
  529. package/server/models/rptobject.js +1 -2
  530. package/server/models/sale_contract.js +1 -9
  531. package/server/models/schedule.js +1 -18
  532. package/server/models/schedule_log.js +1 -2
  533. package/server/models/shipbook.js +1 -12
  534. package/server/models/shortcut.js +1 -2
  535. package/server/models/smsaccount.js +1 -10
  536. package/server/models/smssend.js +1 -2
  537. package/server/models/so1.js +1 -22
  538. package/server/models/so5.js +1 -15
  539. package/server/models/so9.js +1 -19
  540. package/server/models/socai.js +1 -28
  541. package/server/models/socainpp.js +1 -18
  542. package/server/models/socaitc.js +1 -6
  543. package/server/models/socaitmp.js +1 -16
  544. package/server/models/socaitt.js +1 -4
  545. package/server/models/sodiemthuong.js +1 -4
  546. package/server/models/sokho.js +1 -27
  547. package/server/models/sokhocapphat.js +1 -18
  548. package/server/models/sokhokhongton.js +1 -19
  549. package/server/models/sokhonpp.js +1 -19
  550. package/server/models/sokhotc.js +1 -8
  551. package/server/models/sokhott.js +1 -18
  552. package/server/models/sophanbokh.js +1 -3
  553. package/server/models/sosanxuat.js +1 -5
  554. package/server/models/sotinhkh.js +1 -2
  555. package/server/models/spdd_ck.js +1 -3
  556. package/server/models/spdd_dk.js +1 -3
  557. package/server/models/step.js +1 -2
  558. package/server/models/strategicdiagram.js +1 -3
  559. package/server/models/strategicgoal.js +1 -4
  560. package/server/models/strategickpi.js +1 -6
  561. package/server/models/strategicobjective.js +1 -5
  562. package/server/models/strategicplan.js +1 -5
  563. package/server/models/subscribe.js +1 -2
  564. package/server/models/support.js +1 -2
  565. package/server/models/synctime.js +1 -2
  566. package/server/models/sys_job_queue_book_keeping.js +1 -2
  567. package/server/models/sysconfig.js +1 -2
  568. package/server/models/sysgroup.js +1 -2
  569. package/server/models/tableinfo.js +1 -3
  570. package/server/models/task.js +1 -9
  571. package/server/models/tc.js +1 -2
  572. package/server/models/tdttco.js +1 -9
  573. package/server/models/tdttco_tt.js +1 -5
  574. package/server/models/tdttno.js +1 -9
  575. package/server/models/tdttno_tt.js +1 -5
  576. package/server/models/templaterpt.js +1 -2
  577. package/server/models/templatestore.js +1 -3
  578. package/server/models/templatevoucher.js +1 -3
  579. package/server/models/tinhthanh.js +1 -2
  580. package/server/models/tokens.js +1 -3
  581. package/server/models/tontucthoi.js +1 -9
  582. package/server/models/trangthai.js +1 -4
  583. package/server/models/trangthaiapp.js +1 -4
  584. package/server/models/transaction.js +1 -16
  585. package/server/models/trialinfo.js +1 -2
  586. package/server/models/user.js +1 -40
  587. package/server/models/usergroup.js +1 -7
  588. package/server/models/vanchuyen.js +1 -12
  589. package/server/models/vat.js +1 -3
  590. package/server/models/vatra.js +1 -6
  591. package/server/models/vatvao.js +1 -6
  592. package/server/models/versioninfo.js +1 -2
  593. package/server/models/vietqrbanks.js +1 -2
  594. package/server/models/vsocai.js +1 -6
  595. package/server/models/wallet.js +1 -8
  596. package/server/models/warranty.js +1 -3
  597. package/server/models/warrantyclaim.js +1 -2
  598. package/server/models/warrantypolicy.js +1 -1
  599. package/server/models/workflow.js +1 -4
  600. package/server/models/xaphuong.js +1 -2
  601. package/server/models/xhd.js +1 -10
  602. package/server/models/ytdd_ck.js +1 -4
  603. package/server/models/ytdd_dk.js +1 -4
  604. package/server/models/zalo.js +1 -17
  605. package/server/modules/bot/webhook.js +1 -0
  606. package/server/modules/lists/bg-cddiem.js +1 -6
  607. package/server/modules/lists/bg-cddt.js +1 -7
  608. package/server/modules/lists/bg-cdkh.js +1 -11
  609. package/server/modules/lists/bg-cdnphep.js +1 -6
  610. package/server/modules/lists/bg-cdtk.js +1 -9
  611. package/server/modules/lists/bg-cdvt.js +1 -8
  612. package/server/modules/lists/bg-cdvtnpp.js +1 -8
  613. package/server/modules/lists/bg-fifo_dk.js +1 -8
  614. package/server/modules/lists/ls-account.js +1 -4
  615. package/server/modules/lists/ls-afflink.js +1 -3
  616. package/server/modules/lists/ls-approve.js +1 -5
  617. package/server/modules/lists/ls-assbank.js +1 -3
  618. package/server/modules/lists/ls-asscashwithdraw.js +1 -8
  619. package/server/modules/lists/ls-assissue.js +1 -3
  620. package/server/modules/lists/ls-asskey.js +1 -41
  621. package/server/modules/lists/ls-assreceiver.js +1 -3
  622. package/server/modules/lists/ls-assrequest.js +1 -4
  623. package/server/modules/lists/ls-asstransaction.js +1 -3
  624. package/server/modules/lists/ls-asstransfer.js +1 -3
  625. package/server/modules/lists/ls-assuser_identity.js +1 -1
  626. package/server/modules/lists/ls-bangtinhluong.js +1 -2
  627. package/server/modules/lists/ls-calllog.js +1 -4
  628. package/server/modules/lists/ls-cart.js +1 -14
  629. package/server/modules/lists/ls-chamcong.js +1 -3
  630. package/server/modules/lists/ls-chat_session.js +1 -5
  631. package/server/modules/lists/ls-checkin.js +1 -24
  632. package/server/modules/lists/ls-checkinactivity.js +1 -8
  633. package/server/modules/lists/ls-checkinkpi.js +1 -3
  634. package/server/modules/lists/ls-checkinlocation.js +1 -1
  635. package/server/modules/lists/ls-chitietluongds.js +1 -4
  636. package/server/modules/lists/ls-chitieukpi.js +1 -1
  637. package/server/modules/lists/ls-chudethaoluan.js +1 -1
  638. package/server/modules/lists/ls-ckgtluong.js +1 -1
  639. package/server/modules/lists/ls-comment.js +1 -9
  640. package/server/modules/lists/ls-congdoansx.js +1 -3
  641. package/server/modules/lists/ls-congtacvien.js +1 -5
  642. package/server/modules/lists/ls-consultant.js +1 -2
  643. package/server/modules/lists/ls-contract.js +1 -7
  644. package/server/modules/lists/ls-csluongtheods.js +1 -1
  645. package/server/modules/lists/ls-csphucap.js +1 -1
  646. package/server/modules/lists/ls-ctds.js +1 -4
  647. package/server/modules/lists/ls-ctds2.js +1 -4
  648. package/server/modules/lists/ls-currency.js +1 -1
  649. package/server/modules/lists/ls-customer.js +1 -22
  650. package/server/modules/lists/ls-customer_care.js +1 -1
  651. package/server/modules/lists/ls-datlich.js +1 -9
  652. package/server/modules/lists/ls-dckhauhaots.js +1 -3
  653. package/server/modules/lists/ls-deal.js +1 -3
  654. package/server/modules/lists/ls-diagram.js +1 -1
  655. package/server/modules/lists/ls-dkhoc.js +1 -6
  656. package/server/modules/lists/ls-dknphep.js +1 -1
  657. package/server/modules/lists/ls-dmban.js +1 -4
  658. package/server/modules/lists/ls-dmbp.js +1 -7
  659. package/server/modules/lists/ls-dmca.js +1 -1
  660. package/server/modules/lists/ls-dmchietkhau.js +1 -19
  661. package/server/modules/lists/ls-dmchietkhauhd.js +1 -4
  662. package/server/modules/lists/ls-dmchinhanh.js +1 -1
  663. package/server/modules/lists/ls-dmchucvu.js +1 -2
  664. package/server/modules/lists/ls-dmcpmh.js +1 -1
  665. package/server/modules/lists/ls-dmdiemthuong.js +1 -4
  666. package/server/modules/lists/ls-dmdoi.js +1 -4
  667. package/server/modules/lists/ls-dmdoituongdanhgia.js +1 -1
  668. package/server/modules/lists/ls-dmdt.js +1 -11
  669. package/server/modules/lists/ls-dmdvt.js +1 -2
  670. package/server/modules/lists/ls-dmgiaban.js +1 -4
  671. package/server/modules/lists/ls-dmgiamua.js +1 -4
  672. package/server/modules/lists/ls-dmgiathitruong.js +1 -15
  673. package/server/modules/lists/ls-dmgiathitruong_ngay.js +1 -2
  674. package/server/modules/lists/ls-dmgiathitruong_theodoi.js +1 -1
  675. package/server/modules/lists/ls-dmhoahonghd.js +1 -1
  676. package/server/modules/lists/ls-dmhoahongnpp.js +1 -1
  677. package/server/modules/lists/ls-dmkc.js +1 -3
  678. package/server/modules/lists/ls-dmkho.js +1 -7
  679. package/server/modules/lists/ls-dmkhuyenmai.js +1 -5
  680. package/server/modules/lists/ls-dmkhuyenmaihd.js +1 -3
  681. package/server/modules/lists/ls-dmletet.js +1 -1
  682. package/server/modules/lists/ls-dmlo.js +1 -1
  683. package/server/modules/lists/ls-dmloaicong.js +1 -1
  684. package/server/modules/lists/ls-dmloaits.js +1 -1
  685. package/server/modules/lists/ls-dmnckkm.js +1 -7
  686. package/server/modules/lists/ls-dmnghiepvu.js +1 -1
  687. package/server/modules/lists/ls-dmnguonvon.js +1 -1
  688. package/server/modules/lists/ls-dmnhnv.js +1 -6
  689. package/server/modules/lists/ls-dmnhtask.js +1 -5
  690. package/server/modules/lists/ls-dmnkh.js +1 -6
  691. package/server/modules/lists/ls-dmntt.js +1 -6
  692. package/server/modules/lists/ls-dmnv.js +1 -14
  693. package/server/modules/lists/ls-dmnvt.js +1 -7
  694. package/server/modules/lists/ls-dmphi.js +1 -6
  695. package/server/modules/lists/ls-dmqct.js +1 -2
  696. package/server/modules/lists/ls-dmqddvt.js +1 -3
  697. package/server/modules/lists/ls-dmtanggiamts.js +1 -1
  698. package/server/modules/lists/ls-dmto.js +1 -5
  699. package/server/modules/lists/ls-dmtt.js +1 -7
  700. package/server/modules/lists/ls-dmvt.js +1 -52
  701. package/server/modules/lists/ls-dmyt.js +1 -1
  702. package/server/modules/lists/ls-dokho.js +1 -1
  703. package/server/modules/lists/ls-dvcs.js +1 -1
  704. package/server/modules/lists/ls-ecomcategories.js +1 -5
  705. package/server/modules/lists/ls-ecomcategories_cty.js +1 -5
  706. package/server/modules/lists/ls-email.js +1 -4
  707. package/server/modules/lists/ls-events.js +1 -3
  708. package/server/modules/lists/ls-evoucher.js +1 -3
  709. package/server/modules/lists/ls-experiencejourney.js +1 -1
  710. package/server/modules/lists/ls-experiencejourneydata.js +1 -3
  711. package/server/modules/lists/ls-experiencejourneypersona.js +1 -4
  712. package/server/modules/lists/ls-experiencejourneystage.js +1 -1
  713. package/server/modules/lists/ls-fbconversation.js +1 -2
  714. package/server/modules/lists/ls-fbmessage.js +1 -2
  715. package/server/modules/lists/ls-fbpage.js +1 -11
  716. package/server/modules/lists/ls-fbpost.js +1 -2
  717. package/server/modules/lists/ls-file.js +1 -38
  718. package/server/modules/lists/ls-financialroadmap.js +1 -3
  719. package/server/modules/lists/ls-flow.js +1 -6
  720. package/server/modules/lists/ls-flowdata.js +1 -1
  721. package/server/modules/lists/ls-flowpending.js +1 -3
  722. package/server/modules/lists/ls-folder.js +1 -1
  723. package/server/modules/lists/ls-forminfo.js +1 -1
  724. package/server/modules/lists/ls-giaoca.js +1 -5
  725. package/server/modules/lists/ls-group.js +1 -5
  726. package/server/modules/lists/ls-hmcn.js +1 -2
  727. package/server/modules/lists/ls-hspbts.js +1 -3
  728. package/server/modules/lists/ls-introducebonus.js +1 -4
  729. package/server/modules/lists/ls-introducecode.js +1 -10
  730. package/server/modules/lists/ls-introducer.js +1 -21
  731. package/server/modules/lists/ls-kbm-bcdkt.js +1 -1
  732. package/server/modules/lists/ls-kbm-bcqt.js +1 -5
  733. package/server/modules/lists/ls-kbm-kqhdkd.js +1 -1
  734. package/server/modules/lists/ls-kbm-lcttgt.js +1 -1
  735. package/server/modules/lists/ls-kbm-lctttt.js +1 -1
  736. package/server/modules/lists/ls-kbm-pttct.js +1 -3
  737. package/server/modules/lists/ls-kbm-tkgtgt.js +1 -3
  738. package/server/modules/lists/ls-kbm-tmbctc.js +1 -3
  739. package/server/modules/lists/ls-kehoachdtcp.js +1 -4
  740. package/server/modules/lists/ls-keyresult.js +1 -7
  741. package/server/modules/lists/ls-khunghangthanhvien.js +1 -1
  742. package/server/modules/lists/ls-label.js +1 -1
  743. package/server/modules/lists/ls-lienhe.js +1 -4
  744. package/server/modules/lists/ls-like-module.js +1 -1
  745. package/server/modules/lists/ls-link.js +1 -1
  746. package/server/modules/lists/ls-loaidiem.js +1 -1
  747. package/server/modules/lists/ls-lock.js +1 -1
  748. package/server/modules/lists/ls-log.js +1 -3
  749. package/server/modules/lists/ls-mailaccount.js +1 -5
  750. package/server/modules/lists/ls-mailreceived.js +1 -5
  751. package/server/modules/lists/ls-mailsent.js +1 -4
  752. package/server/modules/lists/ls-mailtemplate.js +1 -4
  753. package/server/modules/lists/ls-maudanhgia.js +1 -3
  754. package/server/modules/lists/ls-message2.js +1 -8
  755. package/server/modules/lists/ls-message2setting.js +1 -5
  756. package/server/modules/lists/ls-news.js +1 -7
  757. package/server/modules/lists/ls-newsfeed.js +1 -4
  758. package/server/modules/lists/ls-note.js +1 -6
  759. package/server/modules/lists/ls-okr.js +1 -5
  760. package/server/modules/lists/ls-okrdiagram.js +1 -1
  761. package/server/modules/lists/ls-opportunity.js +1 -5
  762. package/server/modules/lists/ls-options.js +1 -4
  763. package/server/modules/lists/ls-parameter.js +1 -3
  764. package/server/modules/lists/ls-participant.js +1 -12
  765. package/server/modules/lists/ls-phieudanhgia.js +1 -7
  766. package/server/modules/lists/ls-phucap.js +1 -2
  767. package/server/modules/lists/ls-productcode.js +1 -9
  768. package/server/modules/lists/ls-profile.js +1 -1
  769. package/server/modules/lists/ls-ptthanhtoan.js +1 -3
  770. package/server/modules/lists/ls-qts-dieuchinh.js +1 -2
  771. package/server/modules/lists/ls-qts-dieuchuyen.js +1 -8
  772. package/server/modules/lists/ls-reason.js +1 -1
  773. package/server/modules/lists/ls-rpt.js +1 -5
  774. package/server/modules/lists/ls-rptform.js +1 -3
  775. package/server/modules/lists/ls-shortcut.js +1 -1
  776. package/server/modules/lists/ls-smsaccount.js +1 -1
  777. package/server/modules/lists/ls-smssend.js +1 -3
  778. package/server/modules/lists/ls-sosanxuat.js +1 -4
  779. package/server/modules/lists/ls-step.js +1 -1
  780. package/server/modules/lists/ls-strategicdiagram.js +1 -1
  781. package/server/modules/lists/ls-strategicgoal.js +1 -3
  782. package/server/modules/lists/ls-strategickpi.js +1 -7
  783. package/server/modules/lists/ls-strategicobjective.js +1 -3
  784. package/server/modules/lists/ls-strategicplan.js +1 -6
  785. package/server/modules/lists/ls-support.js +1 -3
  786. package/server/modules/lists/ls-task.js +1 -28
  787. package/server/modules/lists/ls-tc.js +1 -1
  788. package/server/modules/lists/ls-templaterpt.js +1 -5
  789. package/server/modules/lists/ls-templatevoucher.js +1 -1
  790. package/server/modules/lists/ls-tontucthoi.js +1 -3
  791. package/server/modules/lists/ls-trangthaiapp.js +1 -3
  792. package/server/modules/lists/ls-transaction.js +1 -4
  793. package/server/modules/lists/ls-usergroup.js +1 -7
  794. package/server/modules/lists/ls-vat.js +1 -1
  795. package/server/modules/lists/ls-vatra.js +1 -5
  796. package/server/modules/lists/ls-vatvao.js +1 -6
  797. package/server/modules/lists/ls-warranty.js +1 -3
  798. package/server/modules/lists/ls-workflow.js +1 -1
  799. package/server/modules/lists/ls_hanmucton.js +1 -3
  800. package/server/modules/lists/ls_hspb.js +1 -4
  801. package/server/modules/lists/ls_spdd_ck.js +1 -3
  802. package/server/modules/lists/ls_spdd_dk.js +1 -3
  803. package/server/modules/lists/ls_ytdd_ck.js +1 -4
  804. package/server/modules/lists/ls_ytdd_dk.js +1 -4
  805. package/server/modules/lists/sys-attend.js +1 -4
  806. package/server/modules/lists/sys-follow.js +1 -4
  807. package/server/modules/lists/sys-right.js +1 -2
  808. package/server/modules/public/app.js +1 -4
  809. package/server/modules/public/approve.js +1 -37
  810. package/server/modules/public/callin.js +1 -7
  811. package/server/modules/public/comment.js +1 -5
  812. package/server/modules/public/dmnvt.js +1 -4
  813. package/server/modules/public/dmvt.js +1 -9
  814. package/server/modules/public/file.js +1 -11
  815. package/server/modules/public/forminfo.js +1 -1
  816. package/server/modules/public/group.js +1 -4
  817. package/server/modules/public/introducecode.js +1 -1
  818. package/server/modules/public/listinfo.js +1 -1
  819. package/server/modules/public/media-webhook.js +1 -1
  820. package/server/modules/public/partner.js +1 -1
  821. package/server/modules/public/paymentCallback.js +1 -32
  822. package/server/modules/public/province.js +1 -1
  823. package/server/modules/public/ptthanhtoan.js +1 -4
  824. package/server/modules/public/subscribe.js +1 -30
  825. package/server/modules/public/support.js +1 -3
  826. package/server/modules/public/tableinfo.js +1 -1
  827. package/server/modules/public/trialinfo.js +1 -4
  828. package/server/modules/public/versioninfo.js +1 -1
  829. package/server/modules/reports/calc-tinhgiafifo.js +1 -8
  830. package/server/modules/reports/calc-tinhgiatb.js +1 -7
  831. package/server/modules/reports/calc-tinhgiathanh.js +1 -7
  832. package/server/modules/reports/calc-tinhkhauhaots.js +1 -3
  833. package/server/modules/reports/calc-tinhluong.js +1 -68
  834. package/server/modules/reports/rp-assbonus.js +1 -4
  835. package/server/modules/reports/rp-asssupply.js +1 -1
  836. package/server/modules/reports/rp-asstransferlog.js +1 -10
  837. package/server/modules/reports/rp-backup.js +1 -4
  838. package/server/modules/reports/rp-banggiatb.js +1 -3
  839. package/server/modules/reports/rp-bangtinhkhauhao.js +1 -6
  840. package/server/modules/reports/rp-baoCaoFifoKy.js +1 -1
  841. package/server/modules/reports/rp-baocaokhachhang.js +1 -6
  842. package/server/modules/reports/rp-bcdkt.js +1 -11
  843. package/server/modules/reports/rp-bcintroducebonus.js +1 -4
  844. package/server/modules/reports/rp-bckhtiemnang.js +1 -3
  845. package/server/modules/reports/rp-bcqt.js +1 -85
  846. package/server/modules/reports/rp-bkchamcong.js +1 -5
  847. package/server/modules/reports/rp-bkct.js +1 -13
  848. package/server/modules/reports/rp-bkshipbook.js +1 -8
  849. package/server/modules/reports/rp-bkvanchuyen.js +1 -8
  850. package/server/modules/reports/rp-bkvatra.js +1 -7
  851. package/server/modules/reports/rp-bkvatvao.js +1 -7
  852. package/server/modules/reports/rp-capnhatsocaitc.js +1 -4
  853. package/server/modules/reports/rp-cdpsdiem.js +1 -4
  854. package/server/modules/reports/rp-cdpsdt.js +1 -5
  855. package/server/modules/reports/rp-cdpskh.js +1 -8
  856. package/server/modules/reports/rp-cdpsnphep.js +1 -3
  857. package/server/modules/reports/rp-cdpstk.js +1 -4
  858. package/server/modules/reports/rp-chitietchitientheohoadon.js +1 -12
  859. package/server/modules/reports/rp-chitiettaisan.js +1 -13
  860. package/server/modules/reports/rp-chitietthutientheohoadon.js +1 -13
  861. package/server/modules/reports/rp-ckcn.js +1 -3
  862. package/server/modules/reports/rp-ckdiem.js +1 -2
  863. package/server/modules/reports/rp-cktk.js +1 -3
  864. package/server/modules/reports/rp-ckvt.js +1 -10
  865. package/server/modules/reports/rp-ckvttheokho.js +1 -4
  866. package/server/modules/reports/rp-ckvttheotg.js +1 -4
  867. package/server/modules/reports/rp-ckvttt.js +1 -3
  868. package/server/modules/reports/rp-congnophaithutheotuoino.js +1 -3
  869. package/server/modules/reports/rp-congnophaitratheotuoino.js +1 -3
  870. package/server/modules/reports/rp-congnosapthu.js +1 -4
  871. package/server/modules/reports/rp-congnosaptra.js +1 -4
  872. package/server/modules/reports/rp-congviectheobp.js +1 -9
  873. package/server/modules/reports/rp-congviectheodt.js +1 -8
  874. package/server/modules/reports/rp-congviectheokh.js +1 -8
  875. package/server/modules/reports/rp-congviectheonv.js +1 -9
  876. package/server/modules/reports/rp-congviectheotimeline.js +1 -6
  877. package/server/modules/reports/rp-ctbanle.js +1 -15
  878. package/server/modules/reports/rp-ctbanle2.js +1 -20
  879. package/server/modules/reports/rp-ctbanlectv.js +1 -20
  880. package/server/modules/reports/rp-ctbanlenpp.js +1 -24
  881. package/server/modules/reports/rp-ctdanhgianhanvien.js +1 -8
  882. package/server/modules/reports/rp-cthangbanbitralai.js +1 -4
  883. package/server/modules/reports/rp-ctmuahang.js +1 -7
  884. package/server/modules/reports/rp-cttralaihang.js +1 -4
  885. package/server/modules/reports/rp-databanle.js +1 -10
  886. package/server/modules/reports/rp-diemthuong.js +1 -2
  887. package/server/modules/reports/rp-dkcn.js +1 -3
  888. package/server/modules/reports/rp-dktk.js +1 -2
  889. package/server/modules/reports/rp-dsnhanviencm.js +1 -9
  890. package/server/modules/reports/rp-dsnhanvientb.js +1 -9
  891. package/server/modules/reports/rp-dtbanlekempk.js +1 -12
  892. package/server/modules/reports/rp-dtbanletheoct.js +1 -22
  893. package/server/modules/reports/rp-dtbanletheoctkempk.js +1 -25
  894. package/server/modules/reports/rp-dtbanletheokh.js +1 -17
  895. package/server/modules/reports/rp-dtbanletheokhnpp.js +1 -19
  896. package/server/modules/reports/rp-dtbanletheokho.js +1 -15
  897. package/server/modules/reports/rp-dtbanletheonam.js +1 -3
  898. package/server/modules/reports/rp-dtbanletheongay.js +1 -1
  899. package/server/modules/reports/rp-dtbanletheonpp.js +1 -23
  900. package/server/modules/reports/rp-dtbanletheonv.js +1 -19
  901. package/server/modules/reports/rp-dtbanletheoquy.js +1 -3
  902. package/server/modules/reports/rp-dtbanletheosp.js +1 -9
  903. package/server/modules/reports/rp-dtbanletheospnpp.js +1 -6
  904. package/server/modules/reports/rp-dtbanletheothang.js +1 -3
  905. package/server/modules/reports/rp-dtbanletheothungan.js +1 -12
  906. package/server/modules/reports/rp-dtbanletheovt.js +1 -2
  907. package/server/modules/reports/rp-dtbanletheovtnpp.js +1 -2
  908. package/server/modules/reports/rp-dutoanthuchitheodt.js +1 -4
  909. package/server/modules/reports/rp-getPXC2PNC.js +1 -8
  910. package/server/modules/reports/rp-getariseofaccountsbymonth.js +1 -4
  911. package/server/modules/reports/rp-getbtpb.js +1 -6
  912. package/server/modules/reports/rp-getcashbycashier.js +1 -7
  913. package/server/modules/reports/rp-getcschietkhau.js +1 -5
  914. package/server/modules/reports/rp-getdinhmuc4lenhcp.js +1 -7
  915. package/server/modules/reports/rp-getdinhmuc4pxk.js +1 -9
  916. package/server/modules/reports/rp-getdk4pht.js +1 -8
  917. package/server/modules/reports/rp-getdk4pkc.js +1 -10
  918. package/server/modules/reports/rp-getdttheoca.js +1 -5
  919. package/server/modules/reports/rp-getinvoice2pay.js +1 -4
  920. package/server/modules/reports/rp-getinvoice2receive.js +1 -4
  921. package/server/modules/reports/rp-getinvoice2return.js +1 -5
  922. package/server/modules/reports/rp-getinvoice2return_bl.js +1 -6
  923. package/server/modules/reports/rp-getkehoachmh4lenhcp.js +1 -4
  924. package/server/modules/reports/rp-getkhauhao.js +1 -7
  925. package/server/modules/reports/rp-getluong.js +1 -8
  926. package/server/modules/reports/rp-getluongchuyen.js +1 -5
  927. package/server/modules/reports/rp-getpn2fee.js +1 -5
  928. package/server/modules/reports/rp-getpn2return.js +1 -5
  929. package/server/modules/reports/rp-getthanhpham4pnk.js +1 -7
  930. package/server/modules/reports/rp-getvc2xhd.js +1 -11
  931. package/server/modules/reports/rp-gt_cpnvltt.js +1 -6
  932. package/server/modules/reports/rp-hangbanbitralai.js +1 -5
  933. package/server/modules/reports/rp-hangthanhvien.js +1 -3
  934. package/server/modules/reports/rp-hoadonbanhangtheohantt.js +1 -5
  935. package/server/modules/reports/rp-hoadonmuahangtheohantt.js +1 -5
  936. package/server/modules/reports/rp-hoahong.js +1 -15
  937. package/server/modules/reports/rp-kcsns.js +1 -19
  938. package/server/modules/reports/rp-kgchamcong.js +1 -1
  939. package/server/modules/reports/rp-khoaso.js +1 -11
  940. package/server/modules/reports/rp-kiemtrasocaitcvssocai.js +1 -6
  941. package/server/modules/reports/rp-kqdanhgianhanvien.js +1 -5
  942. package/server/modules/reports/rp-kqhdkd.js +1 -1
  943. package/server/modules/reports/rp-lcttgt.js +1 -16
  944. package/server/modules/reports/rp-lctttt.js +1 -11
  945. package/server/modules/reports/rp-linkslist.js +1 -4
  946. package/server/modules/reports/rp-phanbochitienchohoadon.js +1 -11
  947. package/server/modules/reports/rp-phanbothutienchohoadon.js +1 -11
  948. package/server/modules/reports/rp-ptbitralai.js +1 -7
  949. package/server/modules/reports/rp-ptcttct.js +1 -24
  950. package/server/modules/reports/rp-ptdonhang.js +1 -8
  951. package/server/modules/reports/rp-pttct.js +1 -52
  952. package/server/modules/reports/rp-pttctkho.js +1 -32
  953. package/server/modules/reports/rp-pttctkho2.js +1 -29
  954. package/server/modules/reports/rp-referredusers.js +1 -5
  955. package/server/modules/reports/rp-sctbhxh.js +1 -4
  956. package/server/modules/reports/rp-sctcnkh.js +1 -11
  957. package/server/modules/reports/rp-sctdiem.js +1 -3
  958. package/server/modules/reports/rp-sctdt.js +1 -7
  959. package/server/modules/reports/rp-sctdtcp.js +1 -11
  960. package/server/modules/reports/rp-sctluong.js +1 -6
  961. package/server/modules/reports/rp-sctthuetncn.js +1 -4
  962. package/server/modules/reports/rp-scttk.js +1 -9
  963. package/server/modules/reports/rp-sctvt.js +1 -5
  964. package/server/modules/reports/rp-sctvt_sl.js +1 -5
  965. package/server/modules/reports/rp-sctvtnpp.js +1 -6
  966. package/server/modules/reports/rp-sctvttt.js +1 -5
  967. package/server/modules/reports/rp-search.js +1 -4
  968. package/server/modules/reports/rp-socai.js +1 -6
  969. package/server/modules/reports/rp-socaitk.js +1 -1
  970. package/server/modules/reports/rp-sochut.js +1 -7
  971. package/server/modules/reports/rp-sokho.js +1 -7
  972. package/server/modules/reports/rp-sokhott.js +1 -5
  973. package/server/modules/reports/rp-sonkbh.js +1 -5
  974. package/server/modules/reports/rp-sonkc.js +1 -6
  975. package/server/modules/reports/rp-sonkct.js +1 -5
  976. package/server/modules/reports/rp-sonkmh.js +1 -5
  977. package/server/modules/reports/rp-sonktt.js +1 -5
  978. package/server/modules/reports/rp-soquy.js +1 -11
  979. package/server/modules/reports/rp-sosanhkhvatt.js +1 -13
  980. package/server/modules/reports/rp-sosanhkhvatt2.js +1 -5
  981. package/server/modules/reports/rp-sotaisan.js +1 -13
  982. package/server/modules/reports/rp-sotiengui.js +1 -7
  983. package/server/modules/reports/rp-taodinhmuctudkhoc.js +1 -5
  984. package/server/modules/reports/rp-thbanhangkempk.js +1 -28
  985. package/server/modules/reports/rp-thdanhgianhanvien.js +1 -9
  986. package/server/modules/reports/rp-thgt.js +1 -6
  987. package/server/modules/reports/rp-thnxt.js +1 -11
  988. package/server/modules/reports/rp-thnxt_sl.js +1 -9
  989. package/server/modules/reports/rp-thnxtnpp.js +1 -10
  990. package/server/modules/reports/rp-thnxttt.js +1 -9
  991. package/server/modules/reports/rp-tkbanhangtheogioithieu.js +1 -9
  992. package/server/modules/reports/rp-tkgioithieukh.js +1 -4
  993. package/server/modules/reports/rp-tkgtgt.js +1 -76
  994. package/server/modules/reports/rp-tkgtgt_old.js +1 -7
  995. package/server/modules/reports/rp-tmbctc.js +1 -20
  996. package/server/modules/reports/rp-tonghopbanhang.js +1 -6
  997. package/server/modules/reports/rp-tonghopmuahang.js +1 -5
  998. package/server/modules/reports/rp-tonghoptralaihang.js +1 -5
  999. package/server/modules/reports/rp-tongquanbanle.js +1 -20
  1000. package/server/modules/reports/rp-tongquanbds.js +1 -3
  1001. package/server/modules/reports/rp-tongquancongty.js +1 -6
  1002. package/server/modules/reports/rp-tongquanctvnpp.js +1 -12
  1003. package/server/modules/reports/rp-tongquannvbh.js +1 -14
  1004. package/server/modules/reports/rp-tongquannvnpp.js +1 -5
  1005. package/server/modules/reports/rp-uoctinhnvl.js +1 -11
  1006. package/server/modules/reports/rp-wallet.js +1 -3
  1007. package/server/modules/reports/rpt-tkdiemtichluy.js +1 -9
  1008. package/server/modules/systems/sys-app.js +1 -34
  1009. package/server/modules/systems/sys-colleague.js +1 -11
  1010. package/server/modules/systems/sys-data_list_config.js +1 -1
  1011. package/server/modules/systems/sys-domain.js +1 -1
  1012. package/server/modules/systems/sys-ecomproductlines.js +1 -1
  1013. package/server/modules/systems/sys-exportexceltemplate.js +1 -1
  1014. package/server/modules/systems/sys-fieldright.js +1 -1
  1015. package/server/modules/systems/sys-importexceltemplate.js +1 -1
  1016. package/server/modules/systems/sys-labelinfo.js +1 -3
  1017. package/server/modules/systems/sys-listinfo.js +1 -10
  1018. package/server/modules/systems/sys-menuinfo.js +1 -1
  1019. package/server/modules/systems/sys-message.js +1 -14
  1020. package/server/modules/systems/sys-moduleinfo.js +1 -2
  1021. package/server/modules/systems/sys-notification.js +1 -8
  1022. package/server/modules/systems/sys-quanhuyen.js +1 -1
  1023. package/server/modules/systems/sys-reportinfo.js +1 -5
  1024. package/server/modules/systems/sys-rptobject.js +1 -1
  1025. package/server/modules/systems/sys-schedule.js +1 -10
  1026. package/server/modules/systems/sys-sysconfig.js +1 -1
  1027. package/server/modules/systems/sys-sysgroup.js +1 -1
  1028. package/server/modules/systems/sys-tableinfo.js +1 -1
  1029. package/server/modules/systems/sys-templatestore.js +1 -5
  1030. package/server/modules/systems/sys-tinhthanh.js +1 -1
  1031. package/server/modules/systems/sys-token.js +1 -3
  1032. package/server/modules/systems/sys-trangthai.js +1 -3
  1033. package/server/modules/systems/sys-trialinfo.js +1 -1
  1034. package/server/modules/systems/sys-user.js +1 -45
  1035. package/server/modules/systems/sys-users.js +1 -10
  1036. package/server/modules/systems/sys-versioninfo.js +1 -1
  1037. package/server/modules/systems/sys-vietqrbanks.js +1 -1
  1038. package/server/modules/systems/sys-xaphuong.js +1 -1
  1039. package/server/modules/vouchers/vo-banggiaban.js +1 -8
  1040. package/server/modules/vouchers/vo-bc1.js +1 -34
  1041. package/server/modules/vouchers/vo-bc5.js +1 -15
  1042. package/server/modules/vouchers/vo-bg1.js +1 -10
  1043. package/server/modules/vouchers/vo-bg2.js +1 -12
  1044. package/server/modules/vouchers/vo-bn1.js +1 -36
  1045. package/server/modules/vouchers/vo-bn5.js +1 -15
  1046. package/server/modules/vouchers/vo-dh2.js +1 -35
  1047. package/server/modules/vouchers/vo-dinhmucsx.js +1 -6
  1048. package/server/modules/vouchers/vo-dkb.js +1 -21
  1049. package/server/modules/vouchers/vo-dn0.js +1 -9
  1050. package/server/modules/vouchers/vo-dnm.js +1 -20
  1051. package/server/modules/vouchers/vo-hd1.js +1 -37
  1052. package/server/modules/vouchers/vo-hd2.js +1 -108
  1053. package/server/modules/vouchers/vo-hd3.js +1 -38
  1054. package/server/modules/vouchers/vo-hd4.js +1 -13
  1055. package/server/modules/vouchers/vo-hd7.js +1 -29
  1056. package/server/modules/vouchers/vo-hd8.js +1 -29
  1057. package/server/modules/vouchers/vo-hde.js +1 -39
  1058. package/server/modules/vouchers/vo-htl.js +1 -11
  1059. package/server/modules/vouchers/vo-kbbtpb.js +1 -6
  1060. package/server/modules/vouchers/vo-kehoachmh.js +1 -11
  1061. package/server/modules/vouchers/vo-lenhcapphat.js +1 -9
  1062. package/server/modules/vouchers/vo-lenhsx.js +1 -12
  1063. package/server/modules/vouchers/vo-pbl.js +1 -94
  1064. package/server/modules/vouchers/vo-pc0.js +1 -14
  1065. package/server/modules/vouchers/vo-pc1.js +1 -31
  1066. package/server/modules/vouchers/vo-pc2.js +1 -25
  1067. package/server/modules/vouchers/vo-pc3.js +1 -14
  1068. package/server/modules/vouchers/vo-pc5.js +1 -15
  1069. package/server/modules/vouchers/vo-pc6.js +1 -19
  1070. package/server/modules/vouchers/vo-pcl.js +1 -7
  1071. package/server/modules/vouchers/vo-pdn.js +1 -11
  1072. package/server/modules/vouchers/vo-pdx.js +1 -9
  1073. package/server/modules/vouchers/vo-pgh.js +1 -16
  1074. package/server/modules/vouchers/vo-pht.js +1 -6
  1075. package/server/modules/vouchers/vo-pkc.js +1 -5
  1076. package/server/modules/vouchers/vo-pkh.js +1 -9
  1077. package/server/modules/vouchers/vo-pkk.js +1 -12
  1078. package/server/modules/vouchers/vo-pkt.js +1 -12
  1079. package/server/modules/vouchers/vo-pn1.js +1 -30
  1080. package/server/modules/vouchers/vo-pn2.js +1 -17
  1081. package/server/modules/vouchers/vo-pn3.js +1 -18
  1082. package/server/modules/vouchers/vo-pn5.js +1 -18
  1083. package/server/modules/vouchers/vo-pn6.js +1 -18
  1084. package/server/modules/vouchers/vo-pn9.js +1 -23
  1085. package/server/modules/vouchers/vo-pnc.js +1 -19
  1086. package/server/modules/vouchers/vo-pnh.js +1 -17
  1087. package/server/modules/vouchers/vo-pnk.js +1 -14
  1088. package/server/modules/vouchers/vo-pnknpp.js +1 -12
  1089. package/server/modules/vouchers/vo-po1.js +1 -14
  1090. package/server/modules/vouchers/vo-ppb.js +1 -8
  1091. package/server/modules/vouchers/vo-pt1.js +1 -20
  1092. package/server/modules/vouchers/vo-pt5.js +1 -15
  1093. package/server/modules/vouchers/vo-ptl.js +1 -8
  1094. package/server/modules/vouchers/vo-purchase_contract.js +1 -9
  1095. package/server/modules/vouchers/vo-pxc.js +1 -24
  1096. package/server/modules/vouchers/vo-pxh.js +1 -18
  1097. package/server/modules/vouchers/vo-pxk.js +1 -15
  1098. package/server/modules/vouchers/vo-pxknpp.js +1 -14
  1099. package/server/modules/vouchers/vo-qts.js +1 -12
  1100. package/server/modules/vouchers/vo-sale_contract.js +1 -11
  1101. package/server/modules/vouchers/vo-shipbook.js +1 -17
  1102. package/server/modules/vouchers/vo-so1.js +1 -125
  1103. package/server/modules/vouchers/vo-so5.js +1 -57
  1104. package/server/modules/vouchers/vo-so7.js +1 -97
  1105. package/server/modules/vouchers/vo-so9.js +1 -119
  1106. package/server/modules/vouchers/vo-vanchuyen.js +1 -14
  1107. package/server/modules/vouchers/vo-xhd.js +1 -33
  1108. package/server/route.js +1 -54
  1109. package/server/services/invoiceFetcher.js +1 -12
  1110. package/server/sslConfig.js +1 -2
  1111. package/server/test/array.js +59 -0
  1112. package/server/test/utils.js +191 -0
  1113. package/server/tools/convertVideo.js +19 -0
  1114. package/server/tools/create_province.js +11191 -0
  1115. package/server/tools/redis-smoke-test.js +195 -0
  1116. package/server/tools/resetPassword.js +45 -0
  1117. package/server/tools/set_px_gia_dd.js +120 -0
  1118. package/server/tools/test.js +6 -0
  1119. package/server/tools/update copy.js +116 -0
  1120. package/server/tools/update_system.js +47 -0
  1121. package/server/workers/backupApp.js +1 -10
  1122. package/server/workers/calcGrid.js +1 -9
  1123. package/server/workers/excelParser.js +1 -10
  1124. package/server/workers/inputWorker.js +1 -8
  1125. package/server/workers/pushNotify.js +1 -11
  1126. package/server/workers/reportWorker.js +1 -8
  1127. package/server/workers/restoreApp.js +1 -10
  1128. package/server/workers/runScript.js +1 -5
  1129. package/server/workers/sendEmail.js +1 -14
  1130. package/server/workers/webhook.js +1 -5
  1131. package/server/workers/worker-utils.js +1 -5
  1132. package/server/auths/local_old.js +0 -60
  1133. package/server/controllers/controllerUtils_v1.js +0 -72
  1134. package/server/controllers/controller_old.js +0 -129
  1135. package/server/controllers/createHandler_old.js +0 -35
  1136. package/server/controllers/deleteHandler_old.js +0 -12
  1137. package/server/controllers/exportHandler_old.js +0 -17
  1138. package/server/controllers/findHandler_old.js +0 -74
  1139. package/server/controllers/importFromJsonHandler_old.js +0 -6
  1140. package/server/controllers/importHandler_old.js +0 -41
  1141. package/server/controllers/updateFieldHandler_old.js +0 -13
  1142. package/server/controllers/updateHandler_old.js +0 -40
  1143. package/server/controllers/viewHandler_old.js +0 -14
  1144. package/server/libs/BlockchainTransactionPool.js +0 -3
  1145. package/server/modules/lists/ls-assabcihandler.js +0 -3
  1146. package/server/modules/lists/ls-assbooking.js +0 -20
  1147. package/server/modules/lists/ls-assbuy.js +0 -8
  1148. package/server/modules/lists/ls-assinvestment.js +0 -31
  1149. package/server/modules/lists/ls-assneedtobuy.js +0 -10
  1150. package/server/modules/lists/ls-assperiod.js +0 -19
  1151. package/server/modules/lists/ls-assproduct.js +0 -9
  1152. package/server/modules/lists/ls-assprofitsharing.js +0 -8
  1153. package/server/modules/lists/ls-asssell.js +0 -13
  1154. package/server/modules/lists/ls-asswithdraw.js +0 -12
  1155. package/server/modules/reports/rp-analyzedata.js +0 -6
  1156. package/server/modules/reports/rp-assinterest.js +0 -8
  1157. package/server/modules/reports/rp-assproductowners.js +0 -3
  1158. 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
+ function _0x5d03(_0x2ec6b4,_0x589555){_0x2ec6b4=_0x2ec6b4-0x70;const _0x1fe05c=_0x1fe0();let _0x5d0301=_0x1fe05c[_0x2ec6b4];if(_0x5d03['xafDqt']===undefined){var _0x2670bc=function(_0x59e37a){const _0x43a3af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b3766='',_0x217939='';for(let _0x259f92=0x0,_0x44d0e7,_0x3e636a,_0x3313e8=0x0;_0x3e636a=_0x59e37a['charAt'](_0x3313e8++);~_0x3e636a&&(_0x44d0e7=_0x259f92%0x4?_0x44d0e7*0x40+_0x3e636a:_0x3e636a,_0x259f92++%0x4)?_0x4b3766+=String['fromCharCode'](0xff&_0x44d0e7>>(-0x2*_0x259f92&0x6)):0x0){_0x3e636a=_0x43a3af['indexOf'](_0x3e636a);}for(let _0x463787=0x0,_0x1e320d=_0x4b3766['length'];_0x463787<_0x1e320d;_0x463787++){_0x217939+='%'+('00'+_0x4b3766['charCodeAt'](_0x463787)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x217939);};_0x5d03['oyKyvw']=_0x2670bc,_0x5d03['oIomZx']={},_0x5d03['xafDqt']=!![];}const _0x2fbc3a=_0x1fe05c[0x0],_0x3c2509=_0x2ec6b4+_0x2fbc3a,_0x609865=_0x5d03['oIomZx'][_0x3c2509];return!_0x609865?(_0x5d0301=_0x5d03['oyKyvw'](_0x5d0301),_0x5d03['oIomZx'][_0x3c2509]=_0x5d0301):_0x5d0301=_0x609865,_0x5d0301;}const _0x46a033=_0x5d03;(function(_0x3be401,_0x511e23){const _0x3231af=_0x5d03,_0x56249d=_0x3be401();while(!![]){try{const _0x4c9fef=parseInt(_0x3231af(0x432))/0x1*(parseInt(_0x3231af(0xc0))/0x2)+-parseInt(_0x3231af(0x97))/0x3+parseInt(_0x3231af(0x2e5))/0x4*(-parseInt(_0x3231af(0x1b7))/0x5)+parseInt(_0x3231af(0x3db))/0x6+parseInt(_0x3231af(0x34f))/0x7*(-parseInt(_0x3231af(0x3a8))/0x8)+-parseInt(_0x3231af(0x33e))/0x9*(parseInt(_0x3231af(0x22e))/0xa)+parseInt(_0x3231af(0x26c))/0xb;if(_0x4c9fef===_0x511e23)break;else _0x56249d['push'](_0x56249d['shift']());}catch(_0x27182){_0x56249d['push'](_0x56249d['shift']());}}}(_0x1fe0,0xb2a99));const {tool}=require('ai'),{z}=require(_0x46a033(0x146)),{searchActiveListInfo,translateDocToText,resolveDirectRefFilter,resolveRefMetaByKeyword,resolveHopChain,normalizeHops,bangTuDienDanhMuc}=require(_0x46a033(0x12e)+'ls'),moment=require(_0x46a033(0x440)+'t');global[_0x46a033(0x391)+'onfig'+_0x46a033(0x23b)]=global[_0x46a033(0x391)+'onfig'+_0x46a033(0x23b)]||new Map();function pushUnionCondition(_0x27cf3e,_0x276023,_0x353f93){const _0x2ea177=_0x46a033;if(_0x276023[_0x2ea177(0xf8)+_0x2ea177(0x242)](_0x2ea177(0x395)+'t')){const _0x40dfab={};_0x40dfab[_0x2ea177(0x3c9)]=_0x353f93;const _0x22cda9={};_0x22cda9['ma_nv'+'t']=_0x40dfab;const _0x417355={};_0x417355[_0x2ea177(0x3c9)]=_0x353f93;const _0x4f3dc3={};_0x4f3dc3[_0x2ea177(0x395)+'t2']=_0x417355;const _0x24d5de={};_0x24d5de[_0x2ea177(0x3c9)]=_0x353f93;const _0x31f143={};_0x31f143[_0x2ea177(0x395)+'t3']=_0x24d5de;const _0x3ec2e9={};_0x3ec2e9[_0x2ea177(0x3c9)]=_0x353f93;const _0x230fa8={};_0x230fa8[_0x2ea177(0x395)+'t4']=_0x3ec2e9;const _0x10bf11={};_0x10bf11[_0x2ea177(0x104)]=[_0x22cda9,_0x4f3dc3,_0x31f143,_0x230fa8],_0x27cf3e[_0x2ea177(0x9a)](_0x10bf11);}else{if(_0x276023[_0x2ea177(0xf8)+_0x2ea177(0x242)]('nh_kh')){const _0x5892f2={};_0x5892f2[_0x2ea177(0x3c9)]=_0x353f93;const _0xf5f435={};_0xf5f435['nh_kh']=_0x5892f2;const _0xe05f76={};_0xe05f76[_0x2ea177(0x3c9)]=_0x353f93;const _0x48f8c5={};_0x48f8c5[_0x2ea177(0x38e)+'2']=_0xe05f76;const _0x334926={};_0x334926[_0x2ea177(0x3c9)]=_0x353f93;const _0x6ea2d2={};_0x6ea2d2[_0x2ea177(0x38e)+'3']=_0x334926;const _0x45f2cd={};_0x45f2cd[_0x2ea177(0x3c9)]=_0x353f93;const _0x5e3726={};_0x5e3726[_0x2ea177(0x38e)+'4']=_0x45f2cd;const _0x676f9b={};_0x676f9b['$in']=_0x353f93;const _0x314067={};_0x314067[_0x2ea177(0x38e)+'5']=_0x676f9b;const _0xa90f66={};_0xa90f66[_0x2ea177(0x104)]=[_0xf5f435,_0x48f8c5,_0x6ea2d2,_0x5e3726,_0x314067],_0x27cf3e[_0x2ea177(0x9a)](_0xa90f66);}else{const _0x1d3249={};_0x1d3249[_0x2ea177(0x3c9)]=_0x353f93;const _0x138ceb={};_0x138ceb[_0x276023]=_0x1d3249,_0x27cf3e[_0x2ea177(0x9a)](_0x138ceb);}}}async function buildUniversalRefConditions(_0x269b90,_0x219f11,_0x2646c2){const _0x3148b6=_0x46a033;let _0x158b52=[];if(!_0x219f11||_0x219f11[_0x3148b6(0x2f2)+'h']===0x0)return _0x158b52;const _0x1534d4=global[_0x3148b6(0x42a)+_0x3148b6(0x1ef)+'s'][_0x269b90[_0x3148b6(0xba)+_0x3148b6(0x27a)+'e']()];if(!_0x1534d4||typeof _0x1534d4[_0x3148b6(0x145)+_0x3148b6(0x1d6)+_0x3148b6(0x157)]!==_0x3148b6(0x205)+_0x3148b6(0x353))throw new Error('[Syst'+_0x3148b6(0x3ec)+'ror]\x20'+_0x3148b6(0x14e)+_0x3148b6(0x1ef)+'\x20'+_0x269b90+('\x20khôn'+_0x3148b6(0x1a8)+_0x3148b6(0xf0)+'àm\x20ge'+_0x3148b6(0x12a)+_0x3148b6(0x127)+'a.'));Logger[_0x3148b6(0x35d)](_0x3148b6(0x392)+_0x3148b6(0x172)+_0x3148b6(0x2bb)+_0x3148b6(0x130)+_0x3148b6(0x21f)+_0x3148b6(0x190)+'đang\x20'+_0x3148b6(0x180)+_0x3148b6(0x442)+'\x20của',_0x269b90);const _0x5552c4=await _0x1534d4['getJs'+_0x3148b6(0x1d6)+_0x3148b6(0x157)](_0x2646c2);if(!_0x5552c4)throw new Error('[Syst'+_0x3148b6(0x3ec)+_0x3148b6(0xb7)+_0x3148b6(0x3d3)+_0x3148b6(0x26d)+_0x3148b6(0x16d)+_0x3148b6(0x31f)+'a\x20con'+_0x3148b6(0xf7)+_0x3148b6(0x2e1)+_0x269b90+('\x20đang'+'\x20trả\x20'+_0x3148b6(0x2fc)+_0x3148b6(0x23d)+_0x3148b6(0x2b9)+_0x3148b6(0x18e)));for(let _0xba8861 of _0x219f11){const _0x4eceaa=normalizeHops(_0xba8861);if(_0x4eceaa){const _0x1fd651=await resolveHopChain(_0x4eceaa,_0xba8861[_0x3148b6(0x3d2)+'rd'],_0x2646c2);if(_0x1fd651[_0x3148b6(0x40e)])throw new Error(_0x3148b6(0x1d5)+_0x3148b6(0x268)+_0x3148b6(0x209)+_0x3148b6(0x33b)+_0x1fd651[_0x3148b6(0x40e)]);pushUnionCondition(_0x158b52,_0xba8861[_0x3148b6(0x3eb)],_0x1fd651[_0x3148b6(0x326)+'s']);continue;}const _0x8f1239=_0x5552c4[_0xba8861[_0x3148b6(0x3eb)]];if(!_0x8f1239)throw new Error(_0x3148b6(0x1d5)+_0x3148b6(0x370)+_0x3148b6(0x209)+_0x3148b6(0x1c5)+'\x20khôn'+'g\x20tìm'+'\x20thấy'+'\x20trườ'+_0x3148b6(0x360)+_0xba8861[_0x3148b6(0x3eb)]+(_0x3148b6(0x115)+_0x3148b6(0x1f8)+_0x3148b6(0x3ed)+'\x20\x27')+_0x269b90+(_0x3148b6(0x2e2)+_0x3148b6(0x34d)+'\x20tên\x20'+'field'+_0x3148b6(0xb8)+_0x3148b6(0x285)+_0x3148b6(0x3a2)+_0x3148b6(0x247)+_0x3148b6(0x414)+_0x3148b6(0x40d)));if(_0x8f1239[_0x3148b6(0x3f9)]&&_0x8f1239['ref']['ref_m'+'odel']){const _0x214e92=await resolveRefMetaByKeyword(_0x8f1239['ref'],_0xba8861[_0x3148b6(0x3d2)+'rd'],_0x2646c2);if(_0x214e92['error'])throw new Error(_0x3148b6(0x1d5)+_0x3148b6(0x370)+_0x3148b6(0x209)+_0x3148b6(0x33b)+_0x214e92[_0x3148b6(0x40e)]);let _0x50188a=_0x214e92[_0x3148b6(0x326)+'s'];(_0x8f1239[_0x3148b6(0x3f9)][_0x3148b6(0x27c)+'odel']==='dmnvt'&&_0xba8861[_0x3148b6(0x3eb)][_0x3148b6(0xf8)+_0x3148b6(0x242)](_0x3148b6(0x395)+'t')||_0x8f1239[_0x3148b6(0x3f9)][_0x3148b6(0x27c)+'odel']===_0x3148b6(0x320)+'h'&&_0xba8861['field'][_0x3148b6(0xf8)+_0x3148b6(0x242)](_0x3148b6(0x38e)))&&(_0x50188a=await Promise[_0x3148b6(0x240)](_0x50188a['map'](_0x3068f1=>_0x214e92[_0x3148b6(0x165)+_0x3148b6(0x1c0)]['getAl'+_0x3148b6(0xab)+_0x3148b6(0x347)+_0x3148b6(0x3ad)](_0x2646c2,_0x3068f1)))),pushUnionCondition(_0x158b52,_0xba8861['field'],_0x50188a),Logger[_0x3148b6(0x3e5)]('[buil'+_0x3148b6(0x172)+_0x3148b6(0x2bb)+_0x3148b6(0x130)+_0x3148b6(0x21f)+_0x3148b6(0x190)+_0x3148b6(0x186)+_0x3148b6(0x125)+'ên\x20kế'+'t',_0x269b90,JSON[_0x3148b6(0x1de)+'gify'](_0x158b52,null,0x2));}else{if(_0x8f1239[_0x3148b6(0x3b9)+'ns']&&Array[_0x3148b6(0xcd)+'ay'](_0x8f1239[_0x3148b6(0x3b9)+'ns'][_0x3148b6(0x3b9)+'ns'])){const _0x495569=await resolveDirectRefFilter(_0x8f1239,_0xba8861[_0x3148b6(0x3d2)+'rd'],_0x2646c2);if(_0x495569[_0x3148b6(0x40e)])throw new Error(_0x3148b6(0x1d5)+_0x3148b6(0x370)+_0x3148b6(0x209)+_0x3148b6(0x3e1)+'ân\x20lo'+'ại\x20\x27'+_0xba8861['keywo'+'rd']+('\x27\x20khô'+'ng\x20hợ'+_0x3148b6(0x264)));const _0x537868={};_0x537868[_0x3148b6(0x3c9)]=_0x495569[_0x3148b6(0x326)+'s'];const _0x1dceb5={[_0xba8861[_0x3148b6(0x3eb)]]:_0x537868};_0x158b52[_0x3148b6(0x9a)](_0x1dceb5);}}}return _0x158b52;}async function resolveControllerConfig(_0x5d1093,_0x21c307){const _0x2b0d6c=_0x46a033,_0x3a4ffd={};_0x3a4ffd[_0x2b0d6c(0x374)]=0x1,_0x3a4ffd[_0x2b0d6c(0x241)]=0x1;const _0x181413={};_0x181413['title']='Quy\x20t'+_0x2b0d6c(0x2ca),_0x181413[_0x2b0d6c(0x42a)+_0x2b0d6c(0x1ef)+_0x2b0d6c(0x155)]='FLOW',_0x181413[_0x2b0d6c(0x106)]='flow',_0x181413[_0x2b0d6c(0x348)+'ld']=_0x2b0d6c(0x374),_0x181413[_0x2b0d6c(0x3e6)+_0x2b0d6c(0x1b6)]='title',_0x181413[_0x2b0d6c(0x37f)+_0x2b0d6c(0x134)+'ds']=['title'],_0x181413['selec'+_0x2b0d6c(0x1cf)+'ds']=_0x3a4ffd;const _0x29edca={};_0x29edca['tk']=0x1,_0x29edca[_0x2b0d6c(0x1f0)+'k']=0x1;const _0x423b77={};_0x423b77[_0x2b0d6c(0x241)]='Tài\x20k'+'hoản',_0x423b77['contr'+_0x2b0d6c(0x1ef)+'Code']=_0x2b0d6c(0x41a)+'NT',_0x423b77[_0x2b0d6c(0x106)]=_0x2b0d6c(0x28b)+'nt',_0x423b77['idFie'+'ld']=_0x2b0d6c(0x374),_0x423b77['codeF'+'ield']='tk',_0x423b77[_0x2b0d6c(0x37f)+_0x2b0d6c(0x134)+'ds']=['tk','ten_t'+'k'],_0x423b77[_0x2b0d6c(0x191)+_0x2b0d6c(0x1cf)+'ds']=_0x29edca;const _0x33c846={};_0x33c846[_0x2b0d6c(0x308)]=0x1,_0x33c846[_0x2b0d6c(0x34c)+'h']=0x1,_0x33c846[_0x2b0d6c(0x2b2)+_0x2b0d6c(0x2a2)]=0x1,_0x33c846[_0x2b0d6c(0x221)+'hi']=0x1;const _0xce468={};_0xce468[_0x2b0d6c(0x241)]=_0x2b0d6c(0x3f4)+_0x2b0d6c(0x41b),_0xce468['contr'+_0x2b0d6c(0x1ef)+_0x2b0d6c(0x155)]='CUSTO'+_0x2b0d6c(0xbe),_0xce468[_0x2b0d6c(0x106)]=_0x2b0d6c(0x246)+_0x2b0d6c(0x164),_0xce468[_0x2b0d6c(0x348)+'ld']=_0x2b0d6c(0x374),_0xce468['codeF'+_0x2b0d6c(0x1b6)]=_0x2b0d6c(0x308),_0xce468[_0x2b0d6c(0x37f)+_0x2b0d6c(0x134)+'ds']=[_0x2b0d6c(0x34c)+'h',_0x2b0d6c(0x2b2)+_0x2b0d6c(0x2a2),_0x2b0d6c(0x308)],_0xce468[_0x2b0d6c(0x191)+_0x2b0d6c(0x1cf)+'ds']=_0x33c846;const _0x1c3c1b={};_0x1c3c1b[_0x2b0d6c(0xae)]=0x1,_0x1c3c1b[_0x2b0d6c(0x2e6)+'t']=0x1;const _0x50e895={};_0x50e895[_0x2b0d6c(0x241)]=_0x2b0d6c(0x3b1)+_0x2b0d6c(0x28e)+_0x2b0d6c(0xac),_0x50e895[_0x2b0d6c(0x42a)+'oller'+_0x2b0d6c(0x155)]=_0x2b0d6c(0x2d6),_0x50e895['model']=_0x2b0d6c(0x2f6),_0x50e895[_0x2b0d6c(0x348)+'ld']=_0x2b0d6c(0x374),_0x50e895[_0x2b0d6c(0x3e6)+_0x2b0d6c(0x1b6)]=_0x2b0d6c(0xae),_0x50e895['searc'+_0x2b0d6c(0x134)+'ds']=['ten_v'+'t',_0x2b0d6c(0xae)],_0x50e895[_0x2b0d6c(0x191)+_0x2b0d6c(0x1cf)+'ds']=_0x1c3c1b;const _0x239592={};_0x239592[_0x2b0d6c(0x374)]=0x1,_0x239592[_0x2b0d6c(0x20e)+'vt']=0x1;const _0x4b0a45={};_0x4b0a45[_0x2b0d6c(0x1fd)+_0x2b0d6c(0x74)+_0x2b0d6c(0xfc)]=0x1,_0x4b0a45['ten_n'+'ganh_'+_0x2b0d6c(0x14a)]=0x1;const _0x4b633d={};_0x4b633d['ma_nv']=0x1,_0x4b633d[_0x2b0d6c(0x20e)+'v']=0x1;const _0x3ae7f9={};_0x3ae7f9[_0x2b0d6c(0x241)]='Nhân\x20'+'sự',_0x3ae7f9[_0x2b0d6c(0x42a)+'oller'+_0x2b0d6c(0x155)]='DMNV',_0x3ae7f9[_0x2b0d6c(0x106)]=_0x2b0d6c(0x278),_0x3ae7f9[_0x2b0d6c(0x348)+'ld']=_0x2b0d6c(0x374),_0x3ae7f9[_0x2b0d6c(0x3e6)+'ield']=_0x2b0d6c(0x395),_0x3ae7f9[_0x2b0d6c(0x37f)+_0x2b0d6c(0x134)+'ds']=['ten_n'+'v',_0x2b0d6c(0x395)],_0x3ae7f9['selec'+'tFiel'+'ds']=_0x4b633d;const _0x23a15f={};_0x23a15f[_0x2b0d6c(0x1d3)]=0x1,_0x23a15f['ten_b'+'p']=0x1;const _0x43e166={};_0x43e166[_0x2b0d6c(0x241)]=_0x2b0d6c(0x412)+'\x20ban',_0x43e166[_0x2b0d6c(0x42a)+_0x2b0d6c(0x1ef)+_0x2b0d6c(0x155)]=_0x2b0d6c(0x17b),_0x43e166['model']=_0x2b0d6c(0x335),_0x43e166['idFie'+'ld']='_id',_0x43e166[_0x2b0d6c(0x3e6)+_0x2b0d6c(0x1b6)]=_0x2b0d6c(0x1d3),_0x43e166[_0x2b0d6c(0x37f)+_0x2b0d6c(0x134)+'ds']=[_0x2b0d6c(0x142)+'p',_0x2b0d6c(0x1d3)],_0x43e166[_0x2b0d6c(0x191)+'tFiel'+'ds']=_0x23a15f;const _0x439af1={};_0x439af1[_0x2b0d6c(0x2d5)]=0x1,_0x439af1[_0x2b0d6c(0x1fa)+'t']=0x1;const _0x5134de={};_0x5134de['title']=_0x2b0d6c(0x3bc),_0x5134de[_0x2b0d6c(0x42a)+_0x2b0d6c(0x1ef)+_0x2b0d6c(0x155)]=_0x2b0d6c(0x31e),_0x5134de[_0x2b0d6c(0x106)]='dmdt',_0x5134de[_0x2b0d6c(0x348)+'ld']='_id',_0x5134de[_0x2b0d6c(0x3e6)+_0x2b0d6c(0x1b6)]=_0x2b0d6c(0x2d5),_0x5134de[_0x2b0d6c(0x37f)+_0x2b0d6c(0x134)+'ds']=[_0x2b0d6c(0x1fa)+'t','ma_dt'],_0x5134de[_0x2b0d6c(0x191)+_0x2b0d6c(0x1cf)+'ds']=_0x439af1;const _0x13294c={};_0x13294c[_0x2b0d6c(0x14c)+'i']=0x1,_0x13294c[_0x2b0d6c(0x220)+'hi']=0x1;const _0x1c6b6c={};_0x1c6b6c['title']=_0x2b0d6c(0x1a3)+'\x20phí',_0x1c6b6c[_0x2b0d6c(0x42a)+_0x2b0d6c(0x1ef)+'Code']=_0x2b0d6c(0x119),_0x1c6b6c[_0x2b0d6c(0x106)]=_0x2b0d6c(0x351),_0x1c6b6c[_0x2b0d6c(0x348)+'ld']=_0x2b0d6c(0x374),_0x1c6b6c[_0x2b0d6c(0x3e6)+_0x2b0d6c(0x1b6)]=_0x2b0d6c(0x14c)+'i',_0x1c6b6c[_0x2b0d6c(0x37f)+_0x2b0d6c(0x134)+'ds']=[_0x2b0d6c(0x220)+'hi',_0x2b0d6c(0x14c)+'i'],_0x1c6b6c['selec'+_0x2b0d6c(0x1cf)+'ds']=_0x13294c;const _0x635f0e={};_0x635f0e[_0x2b0d6c(0x1ba)]=0x1,_0x635f0e['ten_h'+'d']=0x1;const _0x2de9f7={};_0x2de9f7[_0x2b0d6c(0x241)]='Hợp\x20đ'+'ồng',_0x2de9f7[_0x2b0d6c(0x42a)+_0x2b0d6c(0x1ef)+_0x2b0d6c(0x155)]=_0x2b0d6c(0x138)+_0x2b0d6c(0x422),_0x2de9f7['model']=_0x2b0d6c(0x42a)+_0x2b0d6c(0x274),_0x2de9f7['idFie'+'ld']=_0x2b0d6c(0x374),_0x2de9f7[_0x2b0d6c(0x3e6)+_0x2b0d6c(0x1b6)]=_0x2b0d6c(0x1ba),_0x2de9f7['searc'+_0x2b0d6c(0x134)+'ds']=[_0x2b0d6c(0x3d7)+'d','so_hd'],_0x2de9f7['selec'+_0x2b0d6c(0x1cf)+'ds']=_0x635f0e;const _0x59cee6={};_0x59cee6[_0x2b0d6c(0x29d)]=0x1,_0x59cee6[_0x2b0d6c(0x18b)+'t']=0x1;const _0x5a70d8={};_0x5a70d8[_0x2b0d6c(0x241)]=_0x2b0d6c(0x16c)+_0x2b0d6c(0xff)+'\x20phí',_0x5a70d8[_0x2b0d6c(0x42a)+_0x2b0d6c(0x1ef)+_0x2b0d6c(0x155)]=_0x2b0d6c(0x3d6),_0x5a70d8[_0x2b0d6c(0x106)]='dmyt',_0x5a70d8[_0x2b0d6c(0x348)+'ld']='_id',_0x5a70d8[_0x2b0d6c(0x3e6)+'ield']='ma_yt',_0x5a70d8['searc'+'hFiel'+'ds']=[_0x2b0d6c(0x18b)+'t',_0x2b0d6c(0x29d)],_0x5a70d8[_0x2b0d6c(0x191)+_0x2b0d6c(0x1cf)+'ds']=_0x59cee6;const _0x41a70f={'flow':_0x181413,'account':_0x423b77,'customer':_0xce468,'product':_0x50e895,'product_group':{'title':_0x2b0d6c(0x229)+'sản\x20p'+_0x2b0d6c(0x28e)+_0x2b0d6c(0xac),'controllerCode':(_0x2b0d6c(0x3c1)+'ct_gr'+_0x2b0d6c(0x2ac))[_0x2b0d6c(0xba)+_0x2b0d6c(0x27a)+'e'](),'model':_0x2b0d6c(0x2fb),'idField':_0x2b0d6c(0x374),'codeField':_0x2b0d6c(0x374),'searchFields':['ten_n'+'vt'],'selectFields':_0x239592},'ecomproductlines':{'title':_0x2b0d6c(0x208)+_0x2b0d6c(0x41b),'controllerCode':(_0x2b0d6c(0x1a0)+_0x2b0d6c(0x341)+_0x2b0d6c(0x28f)+'s')[_0x2b0d6c(0xba)+_0x2b0d6c(0x27a)+'e'](),'model':_0x2b0d6c(0x1a0)+'roduc'+_0x2b0d6c(0x28f)+'s','idField':_0x2b0d6c(0x374),'codeField':'ma_ng'+'anh_h'+_0x2b0d6c(0xfc),'searchFields':[_0x2b0d6c(0x1fd)+_0x2b0d6c(0x74)+'ang',_0x2b0d6c(0x20e)+_0x2b0d6c(0x2e7)+_0x2b0d6c(0x14a)],'selectFields':_0x4b0a45},'employee':_0x3ae7f9,'department':_0x43e166,'project':_0x5134de,'fee':_0x1c6b6c,'contract':_0x2de9f7,'cost_factor':_0x5a70d8};if(_0x41a70f[_0x5d1093])return{'config':_0x41a70f[_0x5d1093],'isDynamic':![]};const _0x3d7e24=_0x2b0d6c(0x17e)+'g_'+_0x5d1093;if(global[_0x2b0d6c(0x391)+_0x2b0d6c(0x388)+_0x2b0d6c(0x23b)]&&global[_0x2b0d6c(0x391)+'onfig'+_0x2b0d6c(0x23b)][_0x2b0d6c(0x7e)](_0x3d7e24)){const _0x1dfc21=global['__aiC'+'onfig'+'Cache'][_0x2b0d6c(0x400)](_0x3d7e24);if(Date[_0x2b0d6c(0x2c6)]()-_0x1dfc21[_0x2b0d6c(0xe3)+_0x2b0d6c(0x2fd)]<(global[_0x2b0d6c(0xd4)+_0x2b0d6c(0x33c)+_0x2b0d6c(0x98)+'L']||0x36ee80)){const _0x1a8cb0={};return _0x1a8cb0[_0x2b0d6c(0x17e)+'g']=_0x1dfc21[_0x2b0d6c(0x17e)+'g'],_0x1a8cb0['isDyn'+'amic']=!![],_0x1a8cb0;}global['__aiC'+_0x2b0d6c(0x388)+_0x2b0d6c(0x23b)][_0x2b0d6c(0x3b7)+'e'](_0x3d7e24);}const _0x3bb6ab=[_0x5d1093,..._0x21c307||[]],_0x5e33ad={};_0x5e33ad['keywo'+_0x2b0d6c(0x2c3)]=_0x3bb6ab,_0x5e33ad[_0x2b0d6c(0x32a)+_0x2b0d6c(0x293)+'elds_'+_0x2b0d6c(0xec)+'a']=![],_0x5e33ad[_0x2b0d6c(0x159)]=0x5;const _0x38ff3e=await searchActiveListInfo(_0x5e33ad);if(!_0x38ff3e||_0x38ff3e['docs'][_0x2b0d6c(0x2f2)+'h']===0x0)throw new Error(_0x2b0d6c(0x1da)+'\x20tìm\x20'+'thấy\x20'+'chức\x20'+_0x2b0d6c(0x3ff)+_0x2b0d6c(0x170)+_0x2b0d6c(0x291)+'ừ\x20kho'+_0x2b0d6c(0x307)+_0x3bb6ab[_0x2b0d6c(0x2d4)](',\x20')+'].');if(_0x38ff3e['docs']['lengt'+'h']>0x1){const _0x4b4506=_0x38ff3e[_0x2b0d6c(0x72)][_0x2b0d6c(0x131)](_0x58964d=>{const _0x6f152d=_0x2b0d6c,_0x33c392=_0x58964d[_0x6f152d(0x241)][_0x6f152d(0x8c)+'erCas'+'e']()[_0x6f152d(0x22d)](),_0x217900=_0x58964d['final'+_0x6f152d(0x155)][_0x6f152d(0x8c)+'erCas'+'e']()[_0x6f152d(0x22d)]();return _0x3bb6ab[_0x6f152d(0xd6)](_0xf2bb9=>_0xf2bb9[_0x6f152d(0x8c)+_0x6f152d(0x27a)+'e']()[_0x6f152d(0x22d)]()===_0x33c392||_0xf2bb9[_0x6f152d(0x8c)+'erCas'+'e']()[_0x6f152d(0x22d)]()===_0x217900);});if(_0x4b4506)_0x38ff3e[_0x2b0d6c(0x72)]=[_0x4b4506];else{const _0xc4596c=_0x38ff3e[_0x2b0d6c(0x72)][_0x2b0d6c(0x36a)](_0x14b463=>'-\x20**'+_0x14b463[_0x2b0d6c(0x241)]+(_0x2b0d6c(0x3c8)+_0x2b0d6c(0x1ed))+_0x14b463[_0x2b0d6c(0x160)+_0x2b0d6c(0x155)]+')');throw new Error(_0x2b0d6c(0x1e2)+_0x2b0d6c(0x336)+_0x2b0d6c(0x144)+'S|'+JSON[_0x2b0d6c(0x1de)+_0x2b0d6c(0x3d5)](_0x38ff3e[_0x2b0d6c(0x72)])+('|Dạ\x20S'+_0x2b0d6c(0x429)+'m\x20tìm'+'\x20thấy'+_0x2b0d6c(0x26f)+_0x2b0d6c(0x36b)+_0x2b0d6c(0x3ff)+_0x2b0d6c(0x270)+'\x20\x0a')+_0xc4596c[_0x2b0d6c(0x2d4)]('\x0a')+(_0x2b0d6c(0x2fe)+_0x2b0d6c(0x280)+'\x20tra\x20'+'cứu\x20ở'+_0x2b0d6c(0xbc)+'ạ?'));}}const _0x247c98=_0x38ff3e[_0x2b0d6c(0x72)][0x0],_0x32e6db=_0x247c98[_0x2b0d6c(0x160)+'Code'][_0x2b0d6c(0xba)+_0x2b0d6c(0x27a)+'e'](),_0x4d8c98=global[_0x2b0d6c(0x42a)+_0x2b0d6c(0x1ef)+'s'][_0x32e6db];if(!_0x4d8c98||typeof _0x4d8c98['findD'+'ata']!==_0x2b0d6c(0x205)+'ion')throw new Error(_0x2b0d6c(0x193)+_0x2b0d6c(0x3ff)+'\x27'+_0x32e6db+(_0x2b0d6c(0x237)+'ếu\x20hà'+_0x2b0d6c(0x32f)+_0x2b0d6c(0x2b4)+'().'));const _0x3578dd=_0x4d8c98[_0x2b0d6c(0x106)];let _0x473d38=[];if(_0x247c98['searc'+_0x2b0d6c(0xad)+'m']){const _0x39d372=global[_0x2b0d6c(0x332)+_0x2b0d6c(0x1c0)](_0x2b0d6c(0x2b1)+'nfo'),_0x46b584={};_0x46b584[_0x2b0d6c(0x25f)]=_0x247c98[_0x2b0d6c(0x37f)+_0x2b0d6c(0xad)+'m'];const _0x25b521=await _0x39d372[_0x2b0d6c(0x3d8)+'ne'](_0x46b584)[_0x2b0d6c(0x35e)]();if(_0x25b521&&Array['isArr'+'ay'](_0x25b521[_0x2b0d6c(0x3eb)+'s'])){const _0x3f9025=_0x25b521['field'+'s'][_0x2b0d6c(0x36a)](_0x178d28=>_0x178d28[_0x2b0d6c(0x1a7)])[_0x2b0d6c(0xd1)+'r'](Boolean);_0x473d38=_0x3578dd&&_0x3578dd['schem'+'a']&&_0x3578dd[_0x2b0d6c(0xec)+'a']['paths']?_0x3f9025[_0x2b0d6c(0xd1)+'r'](_0x3ac05a=>_0x3578dd[_0x2b0d6c(0xec)+'a']['paths'][_0x3ac05a]&&_0x3578dd[_0x2b0d6c(0xec)+'a'][_0x2b0d6c(0x292)][_0x3ac05a][_0x2b0d6c(0x199)+_0x2b0d6c(0x328)]==='Strin'+'g'):_0x3f9025;}}_0x473d38[_0x2b0d6c(0x2f2)+'h']===0x0&&_0x3578dd&&_0x3578dd[_0x2b0d6c(0xec)+'a']&&_0x3578dd['schem'+'a'][_0x2b0d6c(0x292)]&&(_0x473d38=Object[_0x2b0d6c(0x24e)](_0x3578dd[_0x2b0d6c(0xec)+'a'][_0x2b0d6c(0x292)])['filte'+'r'](_0x1e08b6=>_0x3578dd[_0x2b0d6c(0xec)+'a'][_0x2b0d6c(0x292)][_0x1e08b6][_0x2b0d6c(0x199)+_0x2b0d6c(0x328)]==='Strin'+'g'));const _0xf3795={'title':_0x247c98[_0x2b0d6c(0x241)],'controllerCode':_0x32e6db,'model':_0x3578dd?.['model'+'Name']||_0x32e6db[_0x2b0d6c(0x8c)+'erCas'+'e'](),'idField':'_id','codeField':_0x473d38[_0x2b0d6c(0x32a)+_0x2b0d6c(0x1d9)](_0x2b0d6c(0x29b)+_0x32e6db[_0x2b0d6c(0x8c)+_0x2b0d6c(0x27a)+'e']())?_0x2b0d6c(0x29b)+_0x32e6db[_0x2b0d6c(0x8c)+'erCas'+'e']():_0x473d38[0x0]||'_id','searchFields':_0x473d38['lengt'+'h']>0x0?_0x473d38:['title',_0x2b0d6c(0x1a7),'code',_0x2b0d6c(0x14d)],'selectFields':{}};if(global['__aiC'+_0x2b0d6c(0x388)+_0x2b0d6c(0x23b)])global[_0x2b0d6c(0x391)+_0x2b0d6c(0x388)+_0x2b0d6c(0x23b)][_0x2b0d6c(0xb1)](_0x3d7e24,{'timestamp':Date[_0x2b0d6c(0x2c6)](),'config':_0xf3795});const _0x99f5ba={};return _0x99f5ba[_0x2b0d6c(0x17e)+'g']=_0xf3795,_0x99f5ba[_0x2b0d6c(0x3fc)+_0x2b0d6c(0x271)]=!![],_0x99f5ba;}function _0x1fe0(){const _0x4c61cc=['CcbS4BUhlG','iefoifq','zYbRAgK','ihrYDxK','x0HpuhW','4BQ/CcdeKEg7KW','W6aGA2v5','x2nVzgu','mtKWoteZndDosLHQz1m','zxrkC28','icaGica','ihBdOgKG','A2JHU5TWoG','yw1PyW','4BUPBMCGDa','CcbJW7mG','ywn0','BUg6V3uGyW','W4aGDhj1','igvTihq','zg1UDG','BMCGz2K','zxjdyxm','yYbUXinU','CMvMx20','x0rfuee','ihrO4BUrBG','XjhdONKU','ig114BUrBG','zwf0zsK','BgLUA18','y2fJx2C','XRdHU6nUzYa','ywKSigu','4BUhihrO4BUr','4BUDAsbKW7K','zgvZy3i','BxxHU5fUia','rdOGiM0','ywnJB3u','vcdeKog7KeK','BCoJig7dOa','Aog6Qw0VvG','DgXPBMu','XjhHU5nUzYa','DUg7M2KGDa','Cgf0Ahm','zgvFzMK','C3rHDhu','4BUhyYWGzW','icaGidi','zu1HC3q','DguPigm','ieX1W7rU','W6bTihzP','BwfF','s0Hjify','BwfFExq','BsbRAmoH','tg/HUQfPia','yurVy3u','Dog7QYWGza','DgHVywK','iIWGiLy','CMeGy+g7Qq','y+g6P3uGmG','4BUdigJHU4CG','4BQHBIbT4BUB','BwfUywC','BMGGBEg7Pq','sog6Rfq','tIK6ie0','B3vW','vog7QYdeKEg7KW','rmo5BMCG','DhlgSog7Nw4','oGOGica','BgLZDgK','zgLLBL8','uciPlca','zerHDge','ig1HBMC','C3vNz2u','Asbt4BQ/Ca','BEg7MxqGiG','BMrLzMK','BIbOW7nH','zxjZywW','A2HPifm','4BUBCcbO4BQ/','4BUrAsKUlG','zgvUx24','BMCGBMG','AcaXlG','ksbc4BQUva','CMrZ','ienpreu','BMCGXjhHU4m','BM93','BYbUAmAW','BMCGAog7HW','icjTyv8','CSoSBMG','iKtHUQeGuW','zw0GXjhHU4S','AmoZBsbZ','iIKU','ks4Gsog7HW','igTO4BUBCa','ru8GtKG','ihrP4BQ/Da','4BUrigZgSog7OW','AM9PBG','BwfFzhq','re1wva','B3jKCYC','BEg7Pwm','W7LUzYaN','ihnLyxi','Dxbnyxm','yxrJAgu','XjhHU5fPihq','vsbequ8','AsdeKCoIEq','4BUbimsr4BQVCa','zxiG','jYdIGjqGyW','CMvMx2y','Xjbj4BUctIa','ngzMBLP6qW','DgvUx3y','z2fUAf8','Bs4GtEg6TW','B2WGySoH','4BQ/Dsbt4BQ/','ihtdOwmG','jhjLz2u','ugfNzxm','y8oZig11','BNrO','CgvUzgK','y2HPihq','BgvUz3q','icHkt0K','CMvXDwK','BMDV4BQHAq','zg12Da','igZdOcbM','AsbMAwu','AmoIBIb4','p19Pzd0','zg1UDNq','DUg7GsbY4BUx','DgfTCa','cIbt4BQ/Ca','XjhHU5LUzZO','4BUiihrYyq','Chr5','C3rLCKq','4BQ/Dcbjra','igDOAsa','y8oHy2GG','DxbKyxq','W6e6ifS','BwfFA2G','xtOkica','zxiGy+g7PW','C29YDa','icaYlIa','y2JHU6LUzW','zog7PtOGiG','y+g6P24GuW','W6mGq29U','igtHU68GBa','BgXzzwe','CMvMzxi','x0nbveu','AwrFyNa','zw5K','W7mPlGOG','kfBdRsbK','4BQJihrYW6O','zYbJAog7Qq','CMvJB3i','AsbZ4BUvkq','igJHU5mGCW','re1eva','BweGy+g7PW','zg1UAgS','zYb0Age','BMzPCM0','AwjL','ig7HU69Hia','CM9UzYa','DMfSDwu','AsdeKCo6BG','BMnL','y291BNq','Aw5JBhu','q1vtve8','jg9WDgK','lIbi4BUpAq','AEg7H3uGDG','BsbMAw4','Dh0PlGO','BMCU','z2v0tw8','DUg7M2KGjW','q8otieJHU5y','zg1ICa','ueXfx00','tKCGzmo5','jYbRAmo0','vmoSBsbO','Aog7M3aG4BQH','CcWG','r19dqum','BYbJW6fV','mtG0ndK4mKnsthjora','wvLzlu0','C+g6O24GCa','CM9KDwm','BMJdS20I','Aog6Rxq','ig7dOhKG','Dog7QYbSBW','veftsW','zhjLBKC','AwrgAwu','lsaQkG','W6XTigTP','ietHU64Gta','DgvUx2S','W7mGDgJHU4m','icFeKog7K24','nJnWBe9VtKq','imsr4BUtBMC','zg1WAgK','ie7eGK5h','Aw9U','AtOGiLm','W6PUigVHUR8','AEg7Gw4UlG','Bwf0y2G','C3qV','BMCGDgK','XjddGYdeKog7KG','zgf0yq','ihrOW6bU','Aw5MBW','BgvHBG','BMC6ifS','BMCGjW','4BUhDsbkuW','ihBdOg8G','B2WNihq','BMfS','W6aGDhjH','AEg7H3uGka','zNv6ENK','DcboAmoZ','zwnVCMq','BwfW','y2JHU6LJia','4BUAssbO4BUt','Dw50lI4','zguNlYC','zYbJAog7Nq','x1jfrNW','ihtHUQfVia','zwq6ihq','Dog7QY9Kyq','x2LK','x2rHDgu','CxxHUQmGyW','ieTiW5ro','DxKGy+g6Rq','4BUdig1VAq','quKGtmoa','Dog7SsbZDq','BMDHEv8','DSoGBYdeKq','igTOW6fJ','C2vHCMm','igpdOwmG','4BUJyYbt4BQ/','yM9VBgu','yxrLiIa','4BUtihpgOsW','DSoGigJHU48','AwrFyxa','vEg7MemGza','B25MAwC','ysbI4BQJBG','ywXZzs4','BMGGy2G','B2jQzwm','sEg6VLq6ia','BMHFA2G','qYbe4BUQtG','BNruB28','x19HAum','w2j1AwW','zYb0CNu','BMCGBMC','BwfFBNy','rgf0yvq','4BQ/CcWGuW','ysb04BURia','w2XVB2S','C3v5igW','4OcuieTiW5q','imsr4BQNDtO','sEg7HKm6cG','4BQ/Ccb4zq','icbt4BUSia','ySoHBYbJ','Asb24BUbia','BsbJ4BQNBG','x3nPBMC','s0JdLe5h','XjdHUR9Uig4','vEg6Qe4Gka','zxHHy3q','mtGWodG4wLjMq3PK','iIKGDUg7MW','zgfUAca','mIaOr2G','yw55','CM91Ca','z2/HUQfPlG','ietdMu5h','igFHU41Pia','u+g6O24GCa','B25KAxq','zgvMyxu','vKq6ici','4BQ/DsbHyW','W5nnoIbo','zgvSzxq','ig5O4BQTBG','B3b0Aw8','Dc4kica','x0Dst1u','rog7SsddOw4','DmoSBsb0','C3bSAxq','lIbo4BQ/Dq','rYbw4BQGtG','ChjVzhu','iKldOw8G','zYaN','W6KHiG','C19JB24','DgnOzwq','y2HLCG','kIOGke0','jgLU','tYbn4BQSva','ke1Vzgu','W6XTicDF','AmoHCcK6','B25SEq','igtHU6u6ia','W4aGq0JHU4G','ueJdGK4G','A2v5D28','smoGBsbN','DhjVBMC','z2LMEq','re1zva','DgvUx2G','zMLUze8','zwXKC18','BgqGDmAW','ndmZnJa5mMvzsunODW','CMvFAwq','kIOUifm','iglHU5KGBa','AEg7H20GDG','t8oatIaT','CcWGCgG','4BQ/CcbO4BUp','igvTimsr','Dog7QYbI4BQJ','D2fYBG','y29Kzuy','tmoGignO','ihtHU6SPia','oIbeW7LU','CSAW4BUByYe','zMLLBgq','zw0Grxi','igXP4BUhDq','imsrXRdHU6nJ','iNpHUQnUia','XjhHUR9Tihm','zwf0zq','AwrFBgK','DsbRAmo0','s2JdOwnO','z8AW4BUDAsa','4BUxAsbKW7i','zdOGzMe','ielgR+g7MKm','CMvM','t04Gy2G','XQfUzYdeKq','AxneEw4','AxnFy28','4BQLCc4','BSsdBMCG','z2v0','Aw9Ux3u','u+g6V3aGXje','W6PTihBdOa','4BQJBIbWAa','BIb04BQHAq','vcaOA2G','igpHU6L1ia','vfjbtKC','ignO4BUNia','qUg6RxqGva','4BUrBIb4zq','ywXSx2S','Bog6OwKU','zxjYB3i','Dg9tDhi','BMJHUQ1UlG','y8oZiIWG','ugJdSM5N','suqGkf8','ihrYysa','CNvLjY4','BsbJAgK','jgv4Axm','y+g7PsbuuG','y2HVig4','qundt1u','igJdOg5N','BMFgSog7NwK','zMXHDe0','EsbK4BUVia','tKCGW50U','4BUDBMCGyW','XjddONKGBa','qunu','zwrcEq','s0NHUR5nia','W7nHifpHUR8','zgv0ywK','4BULyYdeKwe','Dg9VBca','4BQ/CcWGzq','y29UDhi','4BUDBMCGzW','yxn0zxi','AcbJW7rU','CgfNAw4','BwfWihq','lcbc4BQUva','BMCSigm','mtiXnJuWnwzWs0DVEa','igZHU49UzW','8j+uPsbc4BQItG','yYb04BUXia','W6j1iog6Ot8','imsr4BUdihq','z2uVBgK','lcbWAog6OW','quKGtmAV','lcbZDwC','qSoHBYbt','AgvVieS','uLvfimsr','icjdW6aG','Bw9Tzw4','4BUmqYbusa','y2HLBwe','BIbUAmoZ','lIbc4BQUva','W5rorYbd','4BQNBIb4zq','cIaGica','icHZDge','zg9JCW','BMGGDgG','yw5Ox2G','u3rYAw4','BNvTyMu','y29Uz18','BMTFy2G','ieni4BUiia','zwn0','AwvJ','B2rL','BIbT4BUxAq','AgfZ','rog6OsWGzq','tUg6VLuGuW','iNb0msi','XjhgOw4Pia','icHwrdO','AmoHyY4','zNjVBq','W4Pnie3HU5O','kIOGDgG','4BUFihrYyq','x2fWCa','Dog6OwKGka','igpHUQD1ia','Dg9mB3C','icaGlsa','4BURieni4BQ2','yYbKW7LU','BMCGy2G','Df90Exa','AEg7H3uGyW','y2H14BQPBG','DgJHU5fUzW','DgLTzv8','BgLJAf8','mZa4ntuZm1nkq2vqsa','sevFvfq','qUg7Mcbm4BUm','ChvZAa','4BQ/Cc9bsq','zmo5BMCG','tUg6VLuGqW','x3z0iIa','ifrs4BUIia','j2TLExC','DgJdQM0G','DgfYz2u','Dg90ywW','Asb0Aog7Rq','yYaOvSoT','zYbRW6OV','W7nHl1tdQG','yw4Gkfy','igHV4BQ3yW','yw5Nihy','BenOAwW','4BQTDcb0XRa','Af9MB3i','BwfFDNq','B+g6OwKGyW','zYddVsCG','C2v0','jYa+ide','u+g7KsbSXRa','icjRAmoH','tCodieni','AwvSzdO','CM9Yxsa','iglHU4SGCW','yxrHvg8','Dg9vCha','4BUBAsaNAq','imsrW6j1ia','ChmUma','tuvs','ig5O4BQVyW','mKXOv3rytW','W7OSign1','imsr4BQ/BIa','igpdSYbR','W6fWigtHU6u','lYmVCge','qYbd4BQMvq','tEg7NYb4zq','W5mGDhjV','4BUpAsbt4BQ/','icjUAmoZ','ifrYW6XU','CSAW4BUDBMC','AxnbCNi','4BURicHdsa','CUg6OYb24BUb','Ag/HURDJia','zMLSDgu','igtdSIb0','y8oHyYdeKq','q09orKK','XRbHimsrXRa','C29Tzq','BIb0W6PU','twfYA2q','icjJCMu','AhxHUQLUia','DxnLCL8','x3jLC28','AwqNihq','vmoQBIbS','ihrO4BUdia','C3nFzw0','ihpHU60GBa','4BQ/CdOGiG','DgLTzxm','zxnZx2u','imsr4BUlBMG','yw55x2S','ifJdGumG','Ccb5W6P1','XRbHigjP','BhmUBwe','BMJdOxaG','C2nOzw0','AwrFA2G','jYbUAmAW','y2GGAmoG','DhlHU6mGAa','ihrYyw4','DcbJW6fJ','DMLLyW','ifrvwEg7HG','lcb2W6aG','yUg6O25Nia','DhjVBgW','C3rHCNq','pYiG4Ocuia','icDSB28','ig5OXRbU','yw5N','4BQHy2GIla','yw5Nihq','4BUrignOAq','XjdHURzuieW','ifBdGcbi','yw5Oig0','BwvUDfq','jg9Y','Bsb0CMe','Bw9KzwW','BMCGs0G','ihtHU7eGza','4BUzyYbN4BUn','kgn1C3q','ignOXRbH','4BURigTOW7m','BwvZC2e','yxrPB24','ifpHUR9Wia','yYdeKEg7I24','ysdeKCAW4BUJ','ihtdRg0G','DgJHUQv5ia','BIdeKCoJia','jYb0CM8','XQfUzYdHU6K','lIdeKgfU','z2vZDf8','re1qseK','BMCSigy','XjfP4BUbBIa','ywXSx3i','BsbUz8AW','W6fJie3dGW','zhLUyw0','BEg7M2KPia','seNHU4zoia','imsrW6mG','W6bVig3HU5K','y3jLyxq','4BUhDsbSAq','A2JdS2eG','u2nOzw0','Bxb0EsC','qYdeKog7Me4','DePZB24','C+g7KsaNDa','AmoZBsdeKq','zYbcywm','lI91DgK','ig5OW7nT','uMvMq28','zMLUza','4BUhDsdeKCoJ','tNvTyMu','AezPzwW','CgfYC2u','uvvzifq','BMCGDmoS','q09ovfi','ssbwW4aG','ucbdW4jv','AxrO','iglHU4THia','W7rUzY4','BciGXjhHU4m','BMC/iI4','CM93CW','zw50CMK','DgvUx2i','y2GPie0','qvrdseu','z2v0sNm','EM9K','ihrOW6PT','4BUnyYbSAq','A3vWtwe','AgfUzW','W6bUzYiS','BwfFCgG','C29Fy3q','q29UDhi','DgHHBYa','ksOQlI4','zcKG4BUFia','B25Z','ts1ercK','vog7QYbRAa','q29Kzq','BMCGDog7KW','zw1H','DwuPlca','BgLTAxq','ms4GtEg7NW','Dg9eyxq','Bog7JwmGDa','q09srsa','Dw5NigC','DhlgSog7M2m','zMLUywW','zsbo4BQ+vq','4BUrDcbSW7u','zw5Kt2y','BwvY','CMvMtw8','BsdeKCoJia','CgfNzq','Aog7Qw5Nia','tvzuiIK','w0fjiee','lcblsmou','wEg6V3uGDa','BLnJAgu','oIaI','oIbdsog7Ia','A2JHU5TWia','lIiUiaO','zfvUAxy','AmAWysbJ','icaGia','zgf0zuy','vog6OeKGka','t05buLK','DEg6Rw4U','DmoSBsbR','AcbIW6b5','re1cua','khr5Cgu','DgHHBsa','y29UzMK','BgLUAYa','Bog6PxKGCW','tKCGDog7Sq','q+g6PLuGra','y2GGDhi','AxnwB3u','AmoZysbo','zog7RYbSAq','qLxHU5Hdia','zurHDge','4BUPysbJW6e','z2v0rNu','DgvUx3K','4BUdig3dOca','W6PUlcbI','BMvKkse','4BQHlIbt4BQ/','B25Zxsa','C2vSzwm','icaGidm','q2JHU6LJia','y2HPx3q','quKGqUg6RG','iftdJe0G','qUg6RLqGqG','AmoGBMCP','Aw5ZDge','y29UzgK','isiU','iSsq4BUtBMC','iejv4BUyqW','y2HLza','jgfUza','zwnVBxa','DsbJ4BQNDq','BNz0iIa','s2HV4BQJBG','yxrH','ihtgSciS','BMCGkIO','BMfTzq','zYbO4BUxia','zYb0CM8','BSoGBYbR','zYbK4BUVia','4BUligpHUQDU','zYdHUQe/iG','q+g6RxaGBG','qSAV4BUAqYa','zgf0zv8','CYCGDUg7MW','vmoQBIbR','BgfTx3y','Awv0','iM5Ox2S','AwvSza','mtm3otGZnwXKBvzMtG','icDFAwq','BYbbssa','C29FAgq','Bf06ia','AgLFy2G','icje4BQHla','4BQ/Ccb5W6O','qxjYyxK','zgvS','tCoJihrY','AwrFzhq','C2vK','igtdUw5N','CcWGzw0','AgLUDa','DEg7L2KGxW','ihJdOwmG','vmoQBIbK','oIbn4BQ3yW','lIKUieG','BgNHU4D1ia','imo9iIWG','BYaNy28','DezPzwW','zxHWB3i','W7mGA2JdTa','ig5O4BQTDa','BwfFyNa','vdaWmsi','ru1qvfK','B25ty2G','Dhj1EEg7Gq','DhLWzq','zgvZ','s2JdTg5N','yYb0CSAW','BYbJ4BQLCa','zf9Tyxq','C3rYAw4','lcbOW6n5','icJeKmoJia','4BQMtIbc4BQU','tvvmveK','4BUVigXP4BUh','q8o0BMCG','BIbJAmAW','DgLVBG','u+g6V3aGAa','q+g6RfaGtG','vog6Ow8GBq','4BUJBMCGyW','DEg7KwKGBq','XjhdONKGXje','W6m6ia','BMCGz+g7Jq','B2XSzxi','DgvUx3q','EEg7Gw4GBq','zYbOAEg7HW','tKCGtog6Oa','Dv06','ihrOyw8','iNvWzge','BSoGEsb2','BMCGzog7RW','zw5Jzv8','DgvUx2q','BMJHUQ1Uia','ihtHU6S','BwfFBMC','C3vJy2u','CcWGy8oZ','zxL3B3i','BMCGDog7Sq','BMGGC8oH','tmoQBIbU','vog7QYbUzW','zNvUy3q','CMvMCW','vog6Oe8Gtq','tMFdOg5O','rog6Osbt4BQ/','vsddNtOG','rYaOy8oZ','quKGrog7QG','BYbT4BUBAq','DgvUx24','B2n1Bwu','AmsPysbK','ihpgOsdeKq','W6b5icHz','BsbZ4BUria','vEg7MemGAa','lcaIA2G','ie7dGfK6','imsrW6mGXje','Amo0BMCG','DgLVBJ0','rog7Pe5hia','DguIicG','zw0GDog6Oq','x0Hpua','AmoHy2GS','BMrPDgK','DgvUx3a','zgLHx2m','4BQ/Dsb0Aa','BMCG','q0Hjifq','icaGms4','tsdeKmoAtG','qsbd4BUOvq','ieTissa','tMJdS20G','AsbKXRdHU5S','igVHUR90ia','l3bOW6jU','DhjPBq','nZbmyMnIyNO','CMrFBwe','Bsb24BQTDa','yUg7IYa','ihtdRwnO','AcbT4BULyW','smoGBMGG','igrHBMG','C+g7LsbUAa','jYb0AgK','zMLUzeq','zxjeyxq','BgvFD28','q2fJAgu','ihHLBsa','BMCGkhu','4BUPysbRAa','uLrnru4','ywXS','DgL0Bgu','C1DPDgG','Esb0CSAW','z29eqI4','sog7J2KGyW','y3vZDg8','igTP4BUdBq','s2JdS2eG','Aog7Kxq6ia','vgHP4BQ/Dq','w0ZHU5DPia','XjhHU4mGzw0','sog7JKKGuW','A2v5CW','4BQ+udOGiG','BxvSDgK','W6mGDgJdTa','ztOGDhi','zw5KC1C','XjhHU5LUzYa','Aog6RxqPlG','DgNdQM4G','ielHUQ5uia','rYbuW4Xn','4BULihrO4BUd','zgf0zq','ihtHUQDUzW','BhzLzf8','CgJdQIbU','4BUnAsbS4BQH','y29Kzq','yxjYyxK','Aw5N','Dg9pyMO','z8oGEsaO'];_0x1fe0=function(){return _0x4c61cc;};return _0x1fe0();}function buildTimeCondition(_0x1ef611,_0x3151c7,_0x4213da){const _0x3b8847=_0x46a033;let _0x2f3e7e=_0x3b8847(0x1b0)+_0x3b8847(0x124)+'ed';const _0x43dcb0=global[_0x3b8847(0x332)+_0x3b8847(0x1c0)](_0x4213da);if(_0x43dcb0&&_0x43dcb0[_0x3b8847(0xec)+'a']&&_0x43dcb0[_0x3b8847(0xec)+'a'][_0x3b8847(0x292)])for(const _0x34b4f7 of[_0x3b8847(0x37c)+'ct',_0x3b8847(0xf8)+_0x3b8847(0x375),_0x3b8847(0x1b0)+_0x3b8847(0x124)+'ed']){if(_0x43dcb0[_0x3b8847(0xec)+'a']['paths'][_0x34b4f7]){_0x2f3e7e=_0x34b4f7;break;}}let _0x4f1d93={},_0x1b7747,_0x39e963;(_0x1ef611||_0x3151c7)&&(_0x39e963=_0x3151c7?new Date(_0x3151c7):new Date(),_0x1b7747=_0x1ef611?new Date(_0x1ef611):new Date(_0x39e963[_0x3b8847(0x18a)+_0x3b8847(0x312)+'r'](),_0x39e963[_0x3b8847(0x332)+_0x3b8847(0x2ef)](),0x1),_0x4f1d93[_0x2f3e7e]={'$gte':moment(_0x1b7747)[_0x3b8847(0xf8)+'Of'](_0x3b8847(0x25a))['toDat'+'e'](),'$lte':moment(_0x39e963)[_0x3b8847(0x163)]('date')[_0x3b8847(0x15b)+'e']()});const _0x3e6136={};return _0x3e6136['timeC'+_0x3b8847(0x3b2)+_0x3b8847(0x353)]=_0x4f1d93,_0x3e6136[_0x3b8847(0x175)+_0x3b8847(0x1b6)]=_0x2f3e7e,_0x3e6136[_0x3b8847(0xf8)]=_0x1b7747,_0x3e6136[_0x3b8847(0x316)]=_0x39e963,_0x3e6136;}function buildKeywordConditionLadder(_0x258fbd,_0x1bb946,_0x28c25d,_0x562ceb){const _0x2a693f=_0x46a033;if(_0x258fbd)return[{'condition':{[_0x562ceb['idFie'+'ld']]:_0x258fbd},'matchedBy':'id'}];const _0x511d32=Array[_0x2a693f(0x85)](new Set([..._0x562ceb['searc'+_0x2a693f(0x134)+'ds'],_0x562ceb[_0x2a693f(0x3e6)+'ield']]))['filte'+'r'](_0x5cea77=>_0x5cea77!==_0x2a693f(0x374)),_0x5700f4=[];if(_0x1bb946&&_0x562ceb['codeF'+_0x2a693f(0x1b6)]&&_0x562ceb['codeF'+_0x2a693f(0x1b6)]!==_0x2a693f(0x374)){const _0x184327={};_0x184327[_0x2a693f(0x2ec)+'x']='^'+_0x1bb946+'$',_0x184327['$opti'+_0x2a693f(0x152)]='i';const _0x1a4692={[_0x562ceb[_0x2a693f(0x3e6)+_0x2a693f(0x1b6)]]:_0x184327},_0x42135e={};_0x42135e[_0x2a693f(0x19a)+'tion']=_0x1a4692,_0x42135e[_0x2a693f(0x357)+_0x2a693f(0x423)]=_0x2a693f(0x3a7)+_0x2a693f(0x26b),_0x5700f4['push'](_0x42135e);}let _0x409fde=[];if(_0x1bb946)_0x409fde['push'](_0x1bb946);if(_0x28c25d&&_0x28c25d['lengt'+'h']>0x0)_0x409fde[_0x2a693f(0x9a)](..._0x28c25d);if(_0x409fde['lengt'+'h']===0x0)return _0x5700f4;if(_0x409fde['lengt'+'h']===0x1){const _0xaded55={};_0xaded55[_0x2a693f(0x2ec)+'x']=_0x409fde[0x0],_0xaded55[_0x2a693f(0x32c)+_0x2a693f(0x152)]='i',_0x5700f4['push']({'condition':{'$or':_0x511d32['map'](_0x71d71e=>({[_0x71d71e]:_0xaded55}))},'matchedBy':_0x2a693f(0x3d2)+_0x2a693f(0x22f)+_0x2a693f(0x3c6)});}else _0x5700f4[_0x2a693f(0x9a)]({'condition':{'$and':_0x409fde[_0x2a693f(0x36a)](_0x79f7bd=>({'$or':_0x511d32['map'](_0x531745=>({[_0x531745]:{'$regex':_0x79f7bd,'$options':'i'}}))}))},'matchedBy':_0x2a693f(0x40c)+_0x2a693f(0x200)+'ds_ma'+_0x2a693f(0x3c6)}),_0x5700f4['push']({'condition':{'$or':_0x409fde[_0x2a693f(0x41d)+'ap'](_0x1c95ed=>_0x511d32[_0x2a693f(0x36a)](_0x5920f9=>({[_0x5920f9]:{'$regex':_0x1c95ed,'$options':'i'}})))},'matchedBy':_0x2a693f(0xe6)+_0x2a693f(0x200)+_0x2a693f(0x1dd)+_0x2a693f(0x19e)});const _0x590c33=[...new Set(_0x409fde[_0x2a693f(0x41d)+'ap'](_0x2517d2=>String(_0x2517d2)[_0x2a693f(0x3be)](/\s+/))[_0x2a693f(0xd1)+'r'](_0x4073e5=>_0x4073e5[_0x2a693f(0x2f2)+'h']>0x1))];return _0x590c33['lengt'+'h']>0x0&&_0x590c33[_0x2a693f(0x2f2)+'h']!==_0x409fde['lengt'+'h']&&_0x5700f4['push']({'condition':{'$or':_0x590c33[_0x2a693f(0x41d)+'ap'](_0x3f8fc1=>_0x511d32['map'](_0x50d631=>({[_0x50d631]:{'$regex':_0x3f8fc1,'$options':'i'}})))},'matchedBy':_0x2a693f(0x367)+_0x2a693f(0x3a3)+_0x2a693f(0x23a)+'rd'}),_0x5700f4;}async function fetchItemRelations(_0x4343fa,_0x2a7953,_0x3a67b5){const _0x20eca2=_0x46a033,_0x1faecc=_0x4343fa[_0x20eca2(0x374)],_0x3cc201=async(_0x1b4093,_0x5002a6,_0x51cf51)=>{const _0x108e6d=_0x20eca2,_0x582b58={};_0x582b58[_0x108e6d(0x159)]=_0x51cf51;const _0x2fc43f=await _0x3a67b5(_0x1b4093,_0x5002a6,_0x582b58);return Array['isArr'+'ay'](_0x2fc43f)?_0x2fc43f:_0x2fc43f?.[_0x108e6d(0x35b)]||_0x2fc43f?.[_0x108e6d(0x140)]||[];},_0x5bd6dd={};_0x5bd6dd[_0x20eca2(0x3f2)+'nk']=_0x1faecc;const _0x5bef4e=await _0x3cc201('NOTE',_0x5bd6dd,0xa);if(_0x5bef4e[_0x20eca2(0x2f2)+'h'])_0x4343fa[_0x20eca2(0x283)+_0x20eca2(0x1bc)+'u']=await Promise[_0x20eca2(0x240)](_0x5bef4e['map'](_0xa93243=>translateDocToText(_0xa93243,'note')));const _0xc4743f={};_0xc4743f['id_li'+'nk']=_0x1faecc;const _0x1b37bd={};_0x1b37bd[_0x20eca2(0xed)]=_0x1faecc;const _0x36fa5c={};_0x36fa5c[_0x20eca2(0x315)]=_0x1faecc;const _0x163edf={};_0x163edf[_0x20eca2(0x1c2)]=_0x1faecc;const _0x12f62e={};_0x12f62e[_0x20eca2(0x104)]=[_0xc4743f,_0x1b37bd,_0x36fa5c,_0x163edf];const _0x3457d5=await _0x3cc201(_0x20eca2(0x346),_0x12f62e,0xa);if(_0x3457d5[_0x20eca2(0x2f2)+'h']>0x0)_0x4343fa[_0x20eca2(0x77)+_0x20eca2(0xf3)]=await Promise['all'](_0x3457d5[_0x20eca2(0x36a)](_0x4dcab8=>translateDocToText(_0x4dcab8,'task')));const _0x4e7ffd={};_0x4e7ffd['id_li'+'nk']=_0x1faecc;const _0x1bf4bf=await _0x3cc201('DATLI'+'CH',_0x4e7ffd,0x5);if(_0x1bf4bf[_0x20eca2(0x2f2)+'h']>0x0)_0x4343fa[_0x20eca2(0x96)+_0x20eca2(0x1b3)+_0x20eca2(0x7b)]=await Promise['all'](_0x1bf4bf[_0x20eca2(0x36a)](_0x232d25=>translateDocToText(_0x232d25,'datli'+'ch')));if(_0x2a7953===_0x20eca2(0x32b)+_0x20eca2(0xbe)){const _0x2d442a={};_0x2d442a[_0x20eca2(0xed)]=_0x1faecc;const _0x25d3b5=await _0x3cc201('LIENH'+'E',_0x2d442a,0xa);if(_0x25d3b5['lengt'+'h'])_0x4343fa['thong'+'_tin_'+'lien_'+'he']=await Promise[_0x20eca2(0x240)](_0x25d3b5[_0x20eca2(0x36a)](_0x4dddbb=>translateDocToText(_0x4dddbb,'lienh'+'e')));}return _0x4343fa;}const extractPagination=(_0x47b4cd,_0x44deb6,_0x3ea519)=>_0x47b4cd&&_0x47b4cd[_0x46a033(0x42e)+'ation']?{'total':_0x47b4cd[_0x46a033(0x42e)+_0x46a033(0x10e)][_0x46a033(0xa3)]||0x0,'totalPages':_0x47b4cd['pagin'+_0x46a033(0x10e)][_0x46a033(0xa3)+'Pages']||0x1,'page':_0x47b4cd[_0x46a033(0x42e)+_0x46a033(0x10e)][_0x46a033(0x167)]||_0x44deb6,'limit':_0x47b4cd[_0x46a033(0x42e)+'ation']['limit']||_0x3ea519}:{'total':0x0,'totalPages':0x1,'page':_0x44deb6,'limit':_0x3ea519};function createMasterDataTools(_0x275780,_0x3660b6){const _0x218b9c=_0x46a033;return{'lookupMasterDataTool':tool({'description':_0x218b9c(0x1e4)+_0x218b9c(0x418)+_0x218b9c(0x227)+_0x218b9c(0x235)+'\x20mục,'+_0x218b9c(0x31d)+'ơ,\x20ch'+_0x218b9c(0x272)+_0x218b9c(0xce)+_0x218b9c(0x300)+_0x218b9c(0x407)+_0x218b9c(0x39b)+_0x218b9c(0x337)+_0x218b9c(0x2c5)+'\x20thốn'+_0x218b9c(0xa6)+_0x218b9c(0x3f0)+_0x218b9c(0x2d3)+_0x218b9c(0x431)+'ác\x20to'+_0x218b9c(0x2e9)+_0x218b9c(0x33d)+_0x218b9c(0x22c)+_0x218b9c(0x232)+_0x218b9c(0x37e)+_0x218b9c(0x217)+'ảm\x20nh'+_0x218b9c(0x3df)+'iệc\x20đ'+_0x218b9c(0x317)+_0x218b9c(0x26e)+_0x218b9c(0x39f)+_0x218b9c(0x21a)+'KHI:\x0a'+_0x218b9c(0x26e)+_0x218b9c(0x225)+_0x218b9c(0x196)+_0x218b9c(0x424)+_0x218b9c(0x224)+_0x218b9c(0x38d)+_0x218b9c(0x339)+_0x218b9c(0x384)+_0x218b9c(0x23c)+_0x218b9c(0x2f1)+'iết,\x20'+_0x218b9c(0x334)+_0x218b9c(0x9f)+_0x218b9c(0x3d1)+_0x218b9c(0x408)+_0x218b9c(0x3bf)+_0x218b9c(0x22b)+'quả\x20t'+_0x218b9c(0xcf)+'\x20có\x20\x27'+_0x218b9c(0xa3)+_0x218b9c(0x2ed)+_0x218b9c(0xb2)+_0x218b9c(0x1df)+_0x218b9c(0x409)+'động\x20'+_0x218b9c(0x3a0)+'ho\x20Sế'+'p\x20biế'+_0x218b9c(0x3ba)+_0x218b9c(0x26e)+'\x202.\x20L'+_0x218b9c(0x441)+_0x218b9c(0x2d1)+_0x218b9c(0x3b6)+_0x218b9c(0x2ea)+_0x218b9c(0xe8)+_0x218b9c(0x8b)+_0x218b9c(0x3bd)+_0x218b9c(0x325)+_0x218b9c(0x2b8)+_0x218b9c(0x342)+'\x20(Ví\x20'+_0x218b9c(0x30e)+_0x218b9c(0x340)+'hẩm\x20n'+'hóm\x20G'+_0x218b9c(0xfd)+_0x218b9c(0xb4)+_0x218b9c(0xef)+_0x218b9c(0x2c0)+'óm\x20VI'+_0x218b9c(0x2b3)+'BẮT\x20B'+_0x218b9c(0x387)+_0x218b9c(0x2d9)+_0x218b9c(0x2e3)+'ilter'+_0x218b9c(0x1b1)+_0x218b9c(0x2f8)+_0x218b9c(0x3da)+_0x218b9c(0x116)+'ng\x20(V'+'D:\x20fi'+'eld:\x20'+_0x218b9c(0x1b5)+'h\x22\x20ch'+'o\x20nhó'+_0x218b9c(0x29e)+'ch\x20hà'+_0x218b9c(0x11a)+_0x218b9c(0xb6)+'\x20\x22ma_'+_0x218b9c(0x1a2)+'cho\x20n'+_0x218b9c(0x2cd)+_0x218b9c(0x404)+'ẩm)\x20v'+_0x218b9c(0x26a)+'word\x20'+'=\x20tên'+_0x218b9c(0x12f)+'.\x0a\x20\x20\x20'+'\x20\x20\x20\x20\x20'+_0x218b9c(0x434)+'G\x20TỪ\x20'+_0x218b9c(0x2e4)+_0x218b9c(0xb5)+_0x218b9c(0x3a6)+_0x218b9c(0x15d)+'DICTI'+_0x218b9c(0x177)+_0x218b9c(0x2c2)+_0x218b9c(0x19d)+_0x218b9c(0x3af)+_0x218b9c(0x2b0)+'\x20\x20\x20\x20\x20'+'Nếu\x20S'+_0x218b9c(0x3e2)+_0x218b9c(0x3a1)+_0x218b9c(0xd3)+'ối\x20tư'+_0x218b9c(0x1ea)+_0x218b9c(0x162)+_0x218b9c(0x22a)+_0x218b9c(0x2df)+_0x218b9c(0x430)+_0x218b9c(0x19d)+_0x218b9c(0x267)+'ền\x20ch'+'ính\x20x'+_0x218b9c(0x11e)+_0x218b9c(0x2c4)+'\x20vào\x20'+_0x218b9c(0x17d)+_0x218b9c(0x12b)+'ype\x27:'+_0x218b9c(0x70)+_0x218b9c(0x174)+bangTuDienDanhMuc(_0x218b9c(0x1d8))+('\x0a\x20\x20\x20\x20'+'\x20\x20\x20\x20('+_0x218b9c(0x29c)+_0x218b9c(0x3d0)+_0x218b9c(0x228)+_0x218b9c(0x2dd)+_0x218b9c(0x284)+_0x218b9c(0x1e7)+'ỏi\x20KH'+_0x218b9c(0x445)+_0x218b9c(0xc8)+'ng\x20da'+_0x218b9c(0x202)+_0x218b9c(0x183)+_0x218b9c(0x18d)+_0x218b9c(0x2a7)+'i\x20đượ'+_0x218b9c(0x8f)+_0x218b9c(0x321)+_0x218b9c(0x213)+_0x218b9c(0xa0)+_0x218b9c(0x2d7)+_0x218b9c(0x437)+_0x218b9c(0x34a)+'ếm\x20tư'+_0x218b9c(0x3fb)+_0x218b9c(0x2be)+_0x218b9c(0x70)+'\x20\x20\x20\x20⚡'+'\x20KHÔN'+_0x218b9c(0x258)+'\x20THẤY'+_0x218b9c(0x34b)+'IỆU:\x20'+'Nếu\x20t'+_0x218b9c(0x2a4)+'u\x20the'+_0x218b9c(0x1ce)+_0x218b9c(0x36e)+_0x218b9c(0x3d2)+'rds\x27\x20'+'cụ\x20th'+_0x218b9c(0x18c)+_0x218b9c(0x3a4)+_0x218b9c(0xc3)+'ết\x20qu'+'ả\x20nào'+_0x218b9c(0x2d0)+_0x218b9c(0x71)+'tus:\x20'+'\x27succ'+_0x218b9c(0xe4)+_0x218b9c(0x128)+_0x218b9c(0x43b)+_0x218b9c(0x118)+_0x218b9c(0x124)+_0x218b9c(0x252)+_0x218b9c(0x158)+_0x218b9c(0x197)+_0x218b9c(0x214)+_0x218b9c(0xc9)+_0x218b9c(0x273)+_0x218b9c(0x289)+_0x218b9c(0x207)+_0x218b9c(0x36c)+_0x218b9c(0x211)+_0x218b9c(0x1d1)+'ng.\x20C'+'HỈ\x20kh'+_0x218b9c(0x2b7)+_0x218b9c(0x1c8)+_0x218b9c(0x1fb)+_0x218b9c(0x290)+'ý,\x20gọ'+'i\x20\x22ma'+'nageM'+_0x218b9c(0x42c)+'DataD'+_0x218b9c(0x20f)+_0x218b9c(0x390)+_0x218b9c(0x13e)+_0x218b9c(0x371)+'mới\x20—'+_0x218b9c(0xf4)+_0x218b9c(0x28c)+_0x218b9c(0x377)+'G\x20tự\x20'+'tạo\x20k'+'hi\x20ch'+_0x218b9c(0xd5)+_0x218b9c(0x381)+'p\x20xác'+_0x218b9c(0x3b8)+_0x218b9c(0xf5)+_0x218b9c(0x3a4)+_0x218b9c(0x13c)+_0x218b9c(0xa1)+_0x218b9c(0x2af)+_0x218b9c(0x1ab)+'liệu\x20'+'Sếp\x20c'+_0x218b9c(0x173)+'ung\x20c'+_0x218b9c(0x3fe)),'inputSchema':z[_0x218b9c(0x38c)+'t']({'type':z[_0x218b9c(0x1de)+'g']()['descr'+_0x218b9c(0x323)](_0x218b9c(0x29f)+'danh\x20'+'mục\x20c'+_0x218b9c(0xda)+_0x218b9c(0x10a)+'omer,'+'\x20acco'+_0x218b9c(0x36d)+'.)'),'type_keywords':z['array'](z['strin'+'g']())[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()['descr'+_0x218b9c(0x323)](_0x218b9c(0x2ad)+_0x218b9c(0x394)+'hĩa\x20d'+_0x218b9c(0x1b9)+_0x218b9c(0x37b)+'y\x20luậ'+'n\x20(Ví'+_0x218b9c(0x3cf)+_0x218b9c(0x3c2)+_0x218b9c(0x411)+_0x218b9c(0x81)+').'),'keywords':z[_0x218b9c(0x260)](z[_0x218b9c(0x1de)+'g']())[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()['descr'+_0x218b9c(0x323)](_0x218b9c(0x3cb)+_0x218b9c(0x2da)+_0x218b9c(0x143)+'ảng\x20t'+_0x218b9c(0x10c)+'a\x20tìm'+_0x218b9c(0x311)+_0x218b9c(0x366)+_0x218b9c(0x1b2)+_0x218b9c(0x21e)+'\x20số\x20t'+_0x218b9c(0x356)+_0x218b9c(0x1cb)+_0x218b9c(0x286)+_0x218b9c(0x201)+_0x218b9c(0xd2)+_0x218b9c(0x8e)+_0x218b9c(0x406)+_0x218b9c(0x2bd)+_0x218b9c(0xf2)+_0x218b9c(0x3e8)+'đến\x20L'+'ỎNG\x20('+_0x218b9c(0x170)+'1\x20từ\x20'+_0x218b9c(0x82)+_0x218b9c(0x275)+'ần,\x20k'+_0x218b9c(0x218)+_0x218b9c(0x30f)+_0x218b9c(0x9b)+'\x20tự\x20l'+'o\x20việ'+'c\x20nới'+_0x218b9c(0x433)+'.'),'ref_filters':z[_0x218b9c(0x260)](z['objec'+'t']({'field':z[_0x218b9c(0x1de)+'g']()[_0x218b9c(0x288)+_0x218b9c(0x323)](_0x218b9c(0x1c1)+'ường\x20'+'(fiel'+_0x218b9c(0x151)+'chức\x20'+_0x218b9c(0x3ff)+_0x218b9c(0x121)+_0x218b9c(0x176)+_0x218b9c(0x3b4)+_0x218b9c(0x426)+_0x218b9c(0xea)+_0x218b9c(0x9e)+_0x218b9c(0x3d4)+'\x20Đơn\x20'+_0x218b9c(0x198)+'.'),'keyword':z[_0x218b9c(0x1de)+'g']()[_0x218b9c(0x288)+_0x218b9c(0x323)](_0x218b9c(0x154)+_0x218b9c(0x425)+'p\x20muố'+'n\x20lọc'+_0x218b9c(0x83)+_0x218b9c(0x43f)+_0x218b9c(0x25d)+_0x218b9c(0x2f9)+'anh\x22)'+'.'),'hop_controller':z[_0x218b9c(0x1de)+'g']()[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()['descr'+_0x218b9c(0x323)](_0x218b9c(0x9d)+_0x218b9c(0x1e1)+_0x218b9c(0xc6)+_0x218b9c(0x2f3)+_0x218b9c(0x2ab)+_0x218b9c(0x310)+'troll'+_0x218b9c(0x30a)+_0x218b9c(0x389)+_0x218b9c(0x393)+_0x218b9c(0x279)+'an\x20(V'+'D:\x20\x22D'+_0x218b9c(0x169)+'.'),'hop_field':z[_0x218b9c(0x1de)+'g']()[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()['descr'+_0x218b9c(0x323)](_0x218b9c(0x9d)+_0x218b9c(0x1e1)+_0x218b9c(0xc6)+':\x20Mã\x20'+'trườn'+_0x218b9c(0x31a)+_0x218b9c(0x398)+_0x218b9c(0x126)+'ở\x20bản'+'g\x20tru'+'ng\x20gi'+_0x218b9c(0xa8)+_0x218b9c(0x28a)+'a_nvt'+_0x218b9c(0x2ce)),'hop_extract_field':z[_0x218b9c(0x1de)+'g']()[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()[_0x218b9c(0x288)+_0x218b9c(0x323)](_0x218b9c(0x9d)+'ẦN\x20BẮ'+'C\x20CẦU'+':\x20Trư'+_0x218b9c(0x42b)+'iá\x20tr'+_0x218b9c(0x1ac)+'\x20lấy\x20'+_0x218b9c(0x3e4)+'ng\x20tr'+_0x218b9c(0x15e)+'ian\x20m'+_0x218b9c(0xaa)+_0x218b9c(0x2e0)+_0x218b9c(0x362)+_0x218b9c(0xf6)+'hiện\x20'+_0x218b9c(0x8a)+_0x218b9c(0x3b4)+_0x218b9c(0xae)+_0x218b9c(0x2ce))}))['optio'+_0x218b9c(0x364)]()[_0x218b9c(0x288)+_0x218b9c(0x323)](_0x218b9c(0x99)+_0x218b9c(0x129)+_0x218b9c(0x3c0)+_0x218b9c(0x352)+_0x218b9c(0x3e9)+_0x218b9c(0x266)+_0x218b9c(0x10f)+_0x218b9c(0x289)+_0x218b9c(0x15c)+_0x218b9c(0x43d)+_0x218b9c(0x185)+_0x218b9c(0x3ae)+'\x20Có\x20h'+'ỗ\x20trợ'+'\x20bắc\x20'+_0x218b9c(0x2a5)+'\x20nhịp'+'.'),'id':z['strin'+'g']()[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()[_0x218b9c(0x288)+_0x218b9c(0x323)](_0x218b9c(0x413)+'id)\x20c'+_0x218b9c(0x259)+'.'),'code':z[_0x218b9c(0x1de)+'g']()[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()['descr'+_0x218b9c(0x323)]('Mã\x20cụ'+_0x218b9c(0xdf)+_0x218b9c(0x318)+'ụ:\x20\x22P'+_0x218b9c(0x1d4)+_0x218b9c(0x2cf)+_0x218b9c(0x27e)+'g\x20ưu\x20'+_0x218b9c(0x256)+_0x218b9c(0x170)+'CHÍNH'+_0x218b9c(0xe7)+_0x218b9c(0x28d)+_0x218b9c(0x243)+'ớc\x20kh'+_0x218b9c(0xa4)+_0x218b9c(0x380)+_0x218b9c(0x305)+_0x218b9c(0x179)+_0x218b9c(0x84)),'include_relations':z[_0x218b9c(0x382)+'an']()['defau'+'lt'](![])[_0x218b9c(0x288)+_0x218b9c(0x323)](_0x218b9c(0x40a)+_0x218b9c(0x43e)+_0x218b9c(0x379)+'\x20lịch'+_0x218b9c(0xe1)+_0x218b9c(0x29a)+_0x218b9c(0x295)+'hi\x20ch'+_0x218b9c(0xc1)+_0x218b9c(0x109)+'i.'),'page':z[_0x218b9c(0x76)+'r']()[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()[_0x218b9c(0x3b3)+'lt'](0x1)[_0x218b9c(0x288)+_0x218b9c(0x323)]('Trang'+_0x218b9c(0x22b)+_0x218b9c(0x376)+_0x218b9c(0x446)+_0x218b9c(0x2e8)+_0x218b9c(0x110)+_0x218b9c(0x2c1)),'limit':z['numbe'+'r']()['optio'+_0x218b9c(0x364)]()[_0x218b9c(0x3b3)+'lt'](0xf)['descr'+_0x218b9c(0x323)](_0x218b9c(0xb3)+'ợng\x20k'+'ết\x20qu'+_0x218b9c(0x319)+_0x218b9c(0x7d)+_0x218b9c(0xf1)+'g.'),'tu_ngay':z[_0x218b9c(0x1de)+'g']()[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()['descr'+_0x218b9c(0x323)](_0x218b9c(0x204)+_0x218b9c(0x212)+_0x218b9c(0x33f)+_0x218b9c(0x153)+'.'),'den_ngay':z[_0x218b9c(0x1de)+'g']()[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()[_0x218b9c(0x288)+_0x218b9c(0x323)](_0x218b9c(0x3a5)+_0x218b9c(0x263)+'YYYY-'+'MM-DD'+').')}),'execute':async _0x56f71e=>{const _0x2c66e9=_0x218b9c;try{Logger[_0x2c66e9(0x3e5)](_0x2c66e9(0x16a)+'gent]'+_0x2c66e9(0x399)+_0x2c66e9(0x2db)+'terDa'+'taToo'+_0x2c66e9(0x1bb),JSON['strin'+_0x2c66e9(0x3d5)](_0x56f71e,null,0x2));let {ref_filters:_0x4f35e6,type:_0x16420a,type_keywords:_0x3f9aae,keywords:_0x432889,id:_0x41d027,code:_0x5a4f8e,include_relations:_0x4529e8,page:_0x59dfaf,limit:_0x308047,tu_ngay:_0x120c53,den_ngay:_0xa4fe74}=_0x56f71e;const {config:_0x82c23b,isDynamic:_0x511ede}=await resolveControllerConfig(_0x16420a,_0x3f9aae,_0x275780),{title:_0x57dccf,controllerCode:_0x4708ba,model:_0x5e31bc}=_0x82c23b,_0x10a5f2=async(_0xbaa5a6,_0x4df5d8,_0x40eff7={})=>{const _0x3f3e17=_0x2c66e9,_0x49665c=global[_0x3f3e17(0x42a)+'oller'+'s'][_0xbaa5a6[_0x3f3e17(0xba)+_0x3f3e17(0x27a)+'e']()];if(!_0x49665c||typeof _0x49665c[_0x3f3e17(0x238)+_0x3f3e17(0x1a4)]!==_0x3f3e17(0x205)+_0x3f3e17(0x353))return null;if(_0x49665c[_0x3f3e17(0x2f4)+_0x3f3e17(0x3dc)+_0x3f3e17(0x89)]===!![])_0x4df5d8[_0x3f3e17(0x386)+'p']=_0x275780;if(_0x49665c[_0x3f3e17(0x106)]['schem'+'a'][_0x3f3e17(0x292)][_0x3f3e17(0x386)+'ps']&&_0x49665c[_0x3f3e17(0x106)][_0x3f3e17(0xec)+'a']['paths']['id_ap'+'ps']['insta'+_0x3f3e17(0x328)]===_0x3f3e17(0x1bf)){if(!_0x4df5d8[_0x3f3e17(0x19f)])_0x4df5d8[_0x3f3e17(0x19f)]=[];const _0x5a5301={};_0x5a5301[_0x3f3e17(0x386)+'ps']=_0x275780;const _0x41ce2a={};_0x41ce2a[_0x3f3e17(0x386)+'ps']=null;const _0x45c469={};_0x45c469[_0x3f3e17(0x417)+'ts']=![];const _0x5dda8e={};_0x5dda8e['id_ap'+_0x3f3e17(0xbd)]=_0x45c469;const _0x1bb470={};_0x1bb470['$or']=[_0x5a5301,_0x41ce2a,_0x5dda8e],_0x4df5d8['$and']['push'](_0x1bb470);}const _0x51932f={};return _0x51932f[_0x3f3e17(0x159)]=_0x40eff7[_0x3f3e17(0x159)]||0x14,_0x51932f[_0x3f3e17(0x167)]=_0x40eff7['page']||0x1,_0x51932f[_0x3f3e17(0x3eb)+'s']=_0x40eff7[_0x3f3e17(0x3eb)+'s'],_0x51932f[_0x3f3e17(0x30b)]=_0x40eff7['sort'],_0x51932f[_0x3f3e17(0x42e)+_0x3f3e17(0x10e)]=_0x40eff7[_0x3f3e17(0x42e)+_0x3f3e17(0x10e)]||0x0,_0x51932f[_0x3f3e17(0x329)]=_0x40eff7[_0x3f3e17(0x329)]||0x0,await _0x49665c[_0x3f3e17(0x238)+_0x3f3e17(0x1a4)](_0x3660b6,_0x4df5d8,_0x51932f);},{timeCondition:_0x4c590b}=buildTimeCondition(_0x120c53,_0xa4fe74,_0x5e31bc);let _0x461ad3=[],_0x221592=_0x2c66e9(0x11c)+_0x2c66e9(0x369)+'s',_0x801213=_0x432889?.[_0x2c66e9(0x2d4)](',\x20')||_0x5a4f8e||'';if(Object['keys'](_0x4c590b)[_0x2c66e9(0x2f2)+'h']>0x0)_0x461ad3['push'](_0x4c590b);const _0xe46dd4=await buildUniversalRefConditions(_0x4708ba,_0x4f35e6,_0x275780);_0xe46dd4[_0x2c66e9(0x2f2)+'h']>0x0&&(_0x461ad3[_0x2c66e9(0x9a)](..._0xe46dd4),_0x221592=_0x221592===_0x2c66e9(0x11c)+_0x2c66e9(0x369)+'s'?_0x2c66e9(0x11f)+'ic_re'+'fs':_0x221592+('_and_'+_0x2c66e9(0x206)),_0x801213+=_0x2c66e9(0x1e0)+_0x2c66e9(0xc4)+_0x2c66e9(0x223)+_0xe46dd4['lengt'+'h']+(_0x2c66e9(0x3de)+_0x2c66e9(0x148)+_0x2c66e9(0x355)+'t)'));const _0x151b32=buildKeywordConditionLadder(_0x41d027,_0x5a4f8e,_0x432889,_0x82c23b),_0x5d7bc9=Object[_0x2c66e9(0x24e)](_0x82c23b[_0x2c66e9(0x191)+'tFiel'+'ds'])[_0x2c66e9(0x2f2)+'h']>0x0?_0x82c23b[_0x2c66e9(0x191)+_0x2c66e9(0x1cf)+'ds']:undefined;let _0x455b21=[],_0x41211c,_0x3de5a2;if(_0x151b32[_0x2c66e9(0x2f2)+'h']===0x0){const _0x577da5=_0x461ad3[_0x2c66e9(0x2f2)+'h']>0x0?{'$and':_0x461ad3}:{},_0x81913e={};_0x81913e[_0x2c66e9(0x159)]=_0x308047,_0x81913e[_0x2c66e9(0x167)]=_0x59dfaf,_0x81913e['pagin'+_0x2c66e9(0x10e)]=0x1,_0x81913e[_0x2c66e9(0x3eb)+'s']=_0x5d7bc9,_0x3de5a2=await _0x10a5f2(_0x4708ba,_0x577da5,_0x81913e),_0x455b21=_0x3de5a2?.[_0x2c66e9(0x35b)]?.[_0x2c66e9(0x2f2)+'h']>0x0?_0x3de5a2[_0x2c66e9(0x35b)]:[],_0x41211c=extractPagination(_0x3de5a2,_0x59dfaf,_0x308047);if(_0x120c53||_0xa4fe74)_0x221592=_0x221592===_0x2c66e9(0x11c)+_0x2c66e9(0x369)+'s'?_0x2c66e9(0x95)+_0x2c66e9(0x3ce):_0x221592;}else for(const _0x395f1c of _0x151b32){const _0x380905={};_0x380905[_0x2c66e9(0x19f)]=[..._0x461ad3,_0x395f1c['condi'+_0x2c66e9(0x1e6)]];const _0x2476d1=_0x380905,_0x409a62={};_0x409a62[_0x2c66e9(0x159)]=_0x308047,_0x409a62[_0x2c66e9(0x167)]=_0x59dfaf,_0x409a62[_0x2c66e9(0x42e)+'ation']=0x1,_0x409a62['field'+'s']=_0x5d7bc9,_0x3de5a2=await _0x10a5f2(_0x4708ba,_0x2476d1,_0x409a62);const _0x38cf04=_0x3de5a2?.['data']?.['lengt'+'h']>0x0?_0x3de5a2[_0x2c66e9(0x35b)]:[];if(_0x38cf04[_0x2c66e9(0x2f2)+'h']>0x0){_0x455b21=_0x38cf04,_0x41211c=extractPagination(_0x3de5a2,_0x59dfaf,_0x308047),_0x221592=_0x395f1c[_0x2c66e9(0x357)+_0x2c66e9(0x423)];break;}}if(_0x455b21['lengt'+'h']===0x0){const _0x3356a1=_0x151b32['lengt'+'h']>0x0,_0x3e79c8=_0x5a4f8e||(_0x432889&&_0x432889[_0x2c66e9(0x2f2)+'h']>0x0?_0x432889[_0x2c66e9(0x2d4)](',\x20'):null),_0x472a76=global[_0x2c66e9(0x42a)+_0x2c66e9(0x1ef)+'s'][_0x4708ba[_0x2c66e9(0xba)+_0x2c66e9(0x27a)+'e']()]?.[_0x2c66e9(0x184)+_0x2c66e9(0x3c7)]===!![],_0xed74bb={};_0xed74bb[_0x2c66e9(0x1a7)]=_0x57dccf,_0xed74bb[_0x2c66e9(0x25f)]=_0x4708ba;const _0xcd7d14={};return _0xcd7d14[_0x2c66e9(0x294)+'s']=_0x2c66e9(0x1fe)+'ss_em'+_0x2c66e9(0x301),_0xcd7d14[_0x2c66e9(0x205)+_0x2c66e9(0x401)+_0x2c66e9(0x1c3)]=_0xed74bb,_0xcd7d14[_0x2c66e9(0x10d)+'ge']='Đã\x20tr'+_0x2c66e9(0x378)+'p\x20chứ'+_0x2c66e9(0x27b)+_0x2c66e9(0x3c3)+_0x57dccf+(_0x2c66e9(0xee)+_0x2c66e9(0x107)+'ÔNG\x20C'+'Ó\x20dữ\x20'+_0x2c66e9(0x1cc)+'khớp.'),_0xcd7d14[_0x2c66e9(0x2b6)+'st_cr'+_0x2c66e9(0x3f1)]=_0x3356a1,_0xcd7d14['hint']=_0x3356a1?'Báo\x20S'+_0x2c66e9(0xe2)+_0x2c66e9(0x7f)+'m\x20đã\x20'+_0x2c66e9(0x3bd)+_0x2c66e9(0x325)+'**'+_0x57dccf+('**\x20nh'+'ưng\x20k'+'hông\x20'+'thấy')+(_0x3e79c8?'\x20\x27'+_0x3e79c8+'\x27':'')+('\x20nào\x20'+'khớp\x20'+_0x2c66e9(0x18f)+_0x2c66e9(0x273)+_0x2c66e9(0x289)+_0x2c66e9(0x21c)+_0x2c66e9(0x20d)+'\x20')+(_0x472a76?_0x2c66e9(0x30d)+_0x2c66e9(0x1fc):_0x2c66e9(0x3aa)+_0x2c66e9(0x2d8))+('\x20này\x20'+'không'+_0x2c66e9(0xf9)+_0x2c66e9(0x80)+_0x2c66e9(0x269)+'ng\x20ý,'+_0x2c66e9(0x257)+_0x2c66e9(0x187)+'gọi\x20\x22'+_0x2c66e9(0x2a8)+_0x2c66e9(0x297)+_0x2c66e9(0x239)+_0x2c66e9(0x2a0)+_0x2c66e9(0x103)+'ool\x22\x20'+_0x2c66e9(0x17c)+_0x2c66e9(0x16e))+_0x16420a+(_0x2c66e9(0x3a9)+_0x2c66e9(0x327)+'g\x20dữ\x20'+'liệu\x20'+_0x2c66e9(0x402)+'ã\x20cun'+'g\x20cấp'+_0x2c66e9(0x16b)+_0x2c66e9(0x181)+_0x2c66e9(0x13c)+_0x2c66e9(0xa1)+'trườn'+'g\x20chư'+_0x2c66e9(0x111)+'c\x20xác'+_0x2c66e9(0x3b8)+'.'):'Báo\x20S'+'ếp:\x20\x22'+'Dạ,\x20e'+_0x2c66e9(0x166)+_0x2c66e9(0x15c)+'rong\x20'+'**'+_0x57dccf+(_0x2c66e9(0x87)+'eo\x20yê'+_0x2c66e9(0x1a1)+_0x2c66e9(0xfb)+'g\x20khô'+_0x2c66e9(0x137)+'m\x20thấ'+_0x2c66e9(0x41e)+_0x2c66e9(0x1cc)+_0x2c66e9(0x1aa)+_0x2c66e9(0x33a)+_0x2c66e9(0x19b)),_0xcd7d14;}const _0x5ea2f9=await Promise['all'](_0x455b21[_0x2c66e9(0x36a)](async _0x548fae=>{const _0x33a8c2=_0x2c66e9;let _0x4f300b={...typeof _0x548fae[_0x33a8c2(0x262)+_0x33a8c2(0x7a)]===_0x33a8c2(0x205)+_0x33a8c2(0x353)?_0x548fae[_0x33a8c2(0x262)+_0x33a8c2(0x7a)]():_0x548fae};_0x4f300b['_id']=_0x4f300b[_0x33a8c2(0x374)]?_0x4f300b['_id'][_0x33a8c2(0x40f)+_0x33a8c2(0x261)]():undefined;if(_0x4f300b[_0x33a8c2(0x374)])_0x4f300b[_0x33a8c2(0x282)+'chi_t'+_0x33a8c2(0x1b4)]=_0x33a8c2(0xc5)+_0x33a8c2(0x438)+_0x33a8c2(0x358)+_0x4708ba[_0x33a8c2(0x8c)+_0x33a8c2(0x27a)+'e']()+_0x33a8c2(0x2fa)+_0x4f300b[_0x33a8c2(0x374)];_0x4f300b['mieu_'+'ta']=await translateDocToText(_0x548fae,_0x5e31bc);if(_0x4529e8)_0x4f300b=await fetchItemRelations(_0x4f300b,_0x4708ba,_0x10a5f2);return _0x4f300b;})),_0x47f6d2={};_0x47f6d2[_0x2c66e9(0x1d8)]=_0x16420a,_0x47f6d2[_0x2c66e9(0x3d2)+_0x2c66e9(0x2c3)]=_0x432889||[],_0x47f6d2['tu_ng'+'ay']=_0x120c53,_0x47f6d2[_0x2c66e9(0x2bf)+'gay']=_0xa4fe74;const _0x5ac99a=_0x47f6d2,_0x3b2d8e={};return _0x3b2d8e[_0x2c66e9(0x1a7)]=_0x57dccf,_0x3b2d8e[_0x2c66e9(0x25f)]=_0x4708ba,{'status':'succe'+'ss','function_used':_0x3b2d8e,'pagination':_0x41211c,'current_filters':_0x5ac99a,'count':_0x5ea2f9[_0x2c66e9(0x2f2)+'h'],'data':JSON[_0x2c66e9(0x135)](JSON[_0x2c66e9(0x1de)+_0x2c66e9(0x3d5)](_0x5ea2f9)),'isDynamic':_0x511ede,'successfulKeyword':_0x801213,'matchedBy':_0x221592,'hint':_0x2c66e9(0x43a)+_0x2c66e9(0x20a)+_0x2c66e9(0x70)+'\x20\x20\x20\x20\x20'+_0x2c66e9(0x26e)+_0x2c66e9(0x26e)+_0x2c66e9(0x26e)+_0x2c66e9(0x15a)+_0x2c66e9(0x39c)+_0x2c66e9(0x1bd)+_0x2c66e9(0x3e3)+_0x2c66e9(0xfe)+'ra\x20cứ'+'u\x20tro'+_0x2c66e9(0x90)+'ức\x20nă'+_0x2c66e9(0x1a6)+_0x57dccf+'\x20('+_0x4708ba+(_0x2c66e9(0x150)+_0x2c66e9(0x171)+_0x2c66e9(0x26e)+_0x2c66e9(0x26e)+_0x2c66e9(0x26e)+_0x2c66e9(0x26e)+_0x2c66e9(0x296)+_0x2c66e9(0x444)+_0x2c66e9(0x19d)+_0x2c66e9(0x371)+_0x2c66e9(0x17f)+_0x2c66e9(0xd8)+'own\x20c'+_0x2c66e9(0x1eb)+_0x2c66e9(0x3f6)+_0x2c66e9(0x35f)+_0x2c66e9(0xc7)+_0x2c66e9(0x416)+_0x2c66e9(0x2d2)+']({li'+_0x2c66e9(0x78)+'i_tie'+_0x2c66e9(0x330)+_0x2c66e9(0x26e)+_0x2c66e9(0x26e)+_0x2c66e9(0x26e)+_0x2c66e9(0x26e)+_0x2c66e9(0x192)+'.\x20')+(_0x41211c[_0x2c66e9(0xa3)+_0x2c66e9(0x2ed)]>_0x41211c[_0x2c66e9(0x167)]?'Đang\x20'+_0x2c66e9(0x88)+_0x2c66e9(0x223)+_0x41211c[_0x2c66e9(0x167)]+'/'+_0x41211c['total'+_0x2c66e9(0x2ed)]+(_0x2c66e9(0x32d)+_0x2c66e9(0x10f)+_0x2c66e9(0x2ee)+_0x2c66e9(0x40b)+_0x2c66e9(0x105)+_0x2c66e9(0x359)+'ếp\x20kh'+_0x2c66e9(0x13d)):_0x2c66e9(0x421)+_0x2c66e9(0x365)+'ng\x20cu'+'ối\x20cù'+_0x2c66e9(0x331))};}catch(_0x3b94d9){let _0x2ecbe7=_0x3b94d9['messa'+'ge']||_0x3b94d9[_0x2c66e9(0x40e)]||_0x3b94d9['toStr'+_0x2c66e9(0x261)]();if(_0x2ecbe7?.[_0x2c66e9(0x32a)+_0x2c66e9(0x1d9)]('|')){const [_0x33ec8b,_0x5ec4ec,_0x539df2]=_0x2ecbe7[_0x2c66e9(0x3be)]('|');if(_0x33ec8b===_0x2c66e9(0x1e2)+_0x2c66e9(0x336)+'ATCHE'+'S')return{'status':_0x2c66e9(0x250)+'ple_m'+_0x2c66e9(0x2dc)+'s','choices':JSON[_0x2c66e9(0x135)](_0x5ec4ec),'hint':_0x539df2};const _0xa8867={};_0xa8867[_0x2c66e9(0x294)+'s']=_0x2c66e9(0x1fe)+_0x2c66e9(0xe0)+_0x2c66e9(0x301),_0xa8867[_0x2c66e9(0x1c6)]=_0x5ec4ec;if(_0x33ec8b===_0x2c66e9(0x1d5)+_0x2c66e9(0x3bb)+'P'||_0x33ec8b===_0x2c66e9(0x1d5)+_0x2c66e9(0x314)+'GORY'||_0x33ec8b==='EMPTY'+_0x2c66e9(0x27d)+_0x2c66e9(0x23f)+'T')return _0xa8867;const _0x58920e={};_0x58920e[_0x2c66e9(0x294)+'s']='succe'+_0x2c66e9(0xe0)+_0x2c66e9(0x301),_0x58920e[_0x2c66e9(0x1c6)]=_0x5ec4ec;if(_0x33ec8b==='EMPTY'+_0x2c66e9(0x21d)||_0x33ec8b==='EMPTY'+'_REF')return _0x58920e;}return Logger[_0x2c66e9(0x35d)](_0x2c66e9(0x24b)+_0x2c66e9(0x345)+'okupM'+_0x2c66e9(0x42c)+_0x2c66e9(0x396)+'ool]:',_0x2ecbe7||_0x3b94d9),{'status':_0x2c66e9(0x40e),'message':_0x2ecbe7||String(_0x3b94d9)};}}}),'manageMasterDataDocumentTool':tool({'description':_0x218b9c(0x1e4)+'cụ\x20TH'+_0x218b9c(0x86)+'I\x20(Cr'+_0x218b9c(0x281)+_0x218b9c(0xa9)+'\x20CẬP\x20'+'NHẬT\x20'+'(Upda'+_0x218b9c(0x298)+_0x218b9c(0x168)+_0x218b9c(0x2a1)+_0x218b9c(0x102)+_0x218b9c(0x427)+_0x218b9c(0x25b)+'.\x0a\x20\x20\x20'+_0x218b9c(0x26e)+'\x20\x20\x20\x20['+_0x218b9c(0x136)+'ẮC\x20CẦ'+_0x218b9c(0x2de)+_0x218b9c(0x265)+_0x218b9c(0x3e0)+'\x20BẮT\x20'+_0x218b9c(0x187)+'GỒM\x202'+_0x218b9c(0x3f8)+_0x218b9c(0x309)+_0x218b9c(0x26e)+'\x20\x20\x20\x20\x20'+'-\x20BƯỚ'+'C\x201\x20('+_0x218b9c(0x203)+_0x218b9c(0x3cd)+_0x218b9c(0x299)+_0x218b9c(0x3b0)+_0x218b9c(0x428)+_0x218b9c(0x1f7)+_0x218b9c(0xbb)+_0x218b9c(0x3c5)+'firme'+_0x218b9c(0x3f7)+'lse\x27.'+'\x20Trìn'+_0x218b9c(0x17a)+'\x20bản\x20'+_0x218b9c(0xeb)+_0x218b9c(0x419)+_0x218b9c(0x3f5)+_0x218b9c(0x9c)+_0x218b9c(0x385)+_0x218b9c(0x354)+'ếp\x20có'+_0x218b9c(0x350)+'\x20ý\x20lư'+_0x218b9c(0x3f3)+_0x218b9c(0x13f)+_0x218b9c(0x70)+_0x218b9c(0x26e)+_0x218b9c(0x8d)+_0x218b9c(0x1af)+_0x218b9c(0x3ab)+_0x218b9c(0x31c)+_0x218b9c(0x16f)+_0x218b9c(0x228)+_0x218b9c(0x41c)+_0x218b9c(0x1c4)+'\x20xác\x20'+_0x218b9c(0x1fb)+_0x218b9c(0x19c)+_0x218b9c(0x1cd)+'mới\x20g'+_0x218b9c(0x25e)+'i\x20lần'+_0x218b9c(0x324)+_0x218b9c(0x333)+_0x218b9c(0x3fd)+_0x218b9c(0x322)+_0x218b9c(0x372)+_0x218b9c(0x415),'inputSchema':z[_0x218b9c(0x38c)+'t']({'action':z['enum'](['creat'+'e','updat'+'e'])['descr'+_0x218b9c(0x323)](_0x218b9c(0x234)+_0x218b9c(0x2ff)+_0x218b9c(0xd9)+_0x218b9c(0x383)+'(Tạo\x20'+_0x218b9c(0x120)+_0x218b9c(0xd0)+_0x218b9c(0x1f6)+_0x218b9c(0x21b)+'Cập\x20n'+_0x218b9c(0x255)),'type':z[_0x218b9c(0x1de)+'g']()['descr'+_0x218b9c(0x323)](_0x218b9c(0xde)+_0x218b9c(0xaf)+_0x218b9c(0x168)+_0x218b9c(0x373)+_0x218b9c(0x2a9)+_0x218b9c(0xa5)+_0x218b9c(0x3cf)+_0x218b9c(0x3ef)+'phẩm\x22'+_0x218b9c(0x215)+'ách\x20h'+_0x218b9c(0x14b)+'\x20\x22Phi'+_0x218b9c(0x222)+'u\x22).'),'type_keywords':z['array'](z['strin'+'g']())['optio'+_0x218b9c(0x364)]()[_0x218b9c(0x288)+_0x218b9c(0x323)](_0x218b9c(0x2ad)+'ng\x20ng'+_0x218b9c(0x210)+_0x218b9c(0x1b9)+_0x218b9c(0x39a)+_0x218b9c(0x178)),'document_id':z['strin'+'g']()[_0x218b9c(0x3b9)+_0x218b9c(0x364)]()[_0x218b9c(0x288)+_0x218b9c(0x323)]('BẮT\x20B'+'UỘC\x20n'+_0x218b9c(0x3b5)+_0x218b9c(0x219)+'\x22upda'+'te\x22:\x20'+_0x218b9c(0x3e7)+_0x218b9c(0x1c7)+'id\x20củ'+'a\x20Mon'+_0x218b9c(0x244)+_0x218b9c(0xf4)+_0x218b9c(0x28c)+_0x218b9c(0x377)+'G\x20tru'+_0x218b9c(0x1f1)+_0x218b9c(0x251)+_0x218b9c(0x362)+_0x218b9c(0x27f)),'raw_data':z[_0x218b9c(0x31b)+'d'](z[_0x218b9c(0x3ac)]())[_0x218b9c(0x288)+_0x218b9c(0x323)]('Dữ\x20li'+_0x218b9c(0x361)+_0x218b9c(0x3fa)+_0x218b9c(0x189)+_0x218b9c(0x1db)+_0x218b9c(0x420)+'ần\x20tạ'+'o/cập'+_0x218b9c(0x1d2)+'.'),'foreign_key_lookups':z['array'](z['objec'+'t']({'field':z[_0x218b9c(0x1de)+'g']()[_0x218b9c(0x288)+_0x218b9c(0x323)]('Tên\x20t'+_0x218b9c(0xcc)+'\x20cần\x20'+_0x218b9c(0x11b)+_0x218b9c(0x248)+_0x218b9c(0x2f5)+'\x20(VD:'+_0x218b9c(0x2c9)+'nvt\x22,'+'\x20\x22nh_'+'kh\x22).'),'target_type':z[_0x218b9c(0x1de)+'g']()['descr'+_0x218b9c(0x323)](_0x218b9c(0x1c9)+_0x218b9c(0x102)+'ục\x20ch'+_0x218b9c(0x23e)+'óa\x20đó'+_0x218b9c(0x83)+_0x218b9c(0xca)+_0x218b9c(0x230)+_0x218b9c(0x1a5)+_0x218b9c(0xca)+'m\x20khá'+_0x218b9c(0xef)+'ng\x22).'),'keyword':z[_0x218b9c(0x1de)+'g']()[_0x218b9c(0x288)+_0x218b9c(0x323)](_0x218b9c(0x154)+_0x218b9c(0xa7)+_0x218b9c(0x443)+_0x218b9c(0x11d)+_0x218b9c(0x287)+_0x218b9c(0x1ee)+'i\x20(VD'+':\x20\x22Ca'+_0x218b9c(0x1dc)+_0x218b9c(0x2a3)+'IP\x22).')}))[_0x218b9c(0x3b9)+'nal']()[_0x218b9c(0x288)+_0x218b9c(0x323)](_0x218b9c(0x2ae)+_0x218b9c(0x2bc)+_0x218b9c(0x1be)+_0x218b9c(0x1a1)+_0x218b9c(0x147)+_0x218b9c(0x311)+_0x218b9c(0x32e)+_0x218b9c(0x123)+_0x218b9c(0x368)+'m/Ngà'+_0x218b9c(0x38b)+_0x218b9c(0xe9)+_0x218b9c(0x303)+'.\x20AI\x20'+_0x218b9c(0x1d7)+_0x218b9c(0xd7)+_0x218b9c(0x362)+_0x218b9c(0x1ec)+_0x218b9c(0x2a6)+_0x218b9c(0x94)+_0x218b9c(0x108)+'ò.'),'is_confirmed':z[_0x218b9c(0x382)+'an']()['descr'+_0x218b9c(0x323)](_0x218b9c(0x182)+'AO\x20BẢ'+_0x218b9c(0x3ca)+_0x218b9c(0x1ca)+_0x218b9c(0xe5)+_0x218b9c(0x2f7)+_0x218b9c(0x38a)+_0x218b9c(0x79)+_0x218b9c(0x100)+_0x218b9c(0x276)+_0x218b9c(0x161)+'\x20SẾP\x20'+_0x218b9c(0x35a)+_0x218b9c(0x41f))}),'execute':async({action:_0x5040b8,type:_0x1db960,type_keywords:_0x1fee0c,document_id:_0x3a8213,raw_data:_0x17a0b3,foreign_key_lookups:_0x2e7931,is_confirmed:_0x3769d7})=>{const _0x20c645=_0x218b9c;try{if(_0x5040b8===_0x20c645(0x306)+'e'&&(!_0x3a8213||_0x3a8213[_0x20c645(0x22d)]()==='')){const _0x359473={};return _0x359473[_0x20c645(0x294)+'s']=_0x20c645(0x40e),_0x359473[_0x20c645(0x10d)+'ge']=_0x20c645(0x24a)+_0x20c645(0x1b8)+'\x27.\x20Hã'+'y\x20gọi'+_0x20c645(0xfa)+_0x20c645(0x149)+_0x20c645(0x302)+_0x20c645(0xb9)+_0x20c645(0x363)+_0x20c645(0x3cc)+_0x20c645(0xdd)+_0x20c645(0x3ea),_0x359473;}const _0x53a6e8=[_0x1db960];if(_0x1fee0c&&_0x1fee0c['lengt'+'h']>0x0)_0x53a6e8[_0x20c645(0x9a)](..._0x1fee0c);const _0x20e27b={};_0x20e27b['keywo'+_0x20c645(0x2c3)]=_0x53a6e8,_0x20e27b['inclu'+_0x20c645(0x293)+_0x20c645(0x3d9)+_0x20c645(0xec)+'a']=!![],_0x20e27b[_0x20c645(0x159)]=0x5;const _0x136c5c=await searchActiveListInfo(_0x20e27b),_0x16eded={};_0x16eded['statu'+'s']=_0x20c645(0x40e),_0x16eded[_0x20c645(0x10d)+'ge']=_0x20c645(0x1da)+_0x20c645(0x112)+_0x20c645(0x113)+_0x20c645(0x36b)+'năng\x20'+'\x27'+_0x1db960+'\x27.';if(!_0x136c5c||_0x136c5c[_0x20c645(0x72)][_0x20c645(0x2f2)+'h']===0x0)return _0x16eded;if(_0x136c5c[_0x20c645(0x72)][_0x20c645(0x2f2)+'h']>0x1){const _0x5df8e2=_0x136c5c[_0x20c645(0x72)][_0x20c645(0x131)](_0x2c3e08=>{const _0x1d2e72=_0x20c645,_0x2aeb83=_0x2c3e08[_0x1d2e72(0x241)]['toLow'+_0x1d2e72(0x27a)+'e']()[_0x1d2e72(0x22d)](),_0x103334=_0x2c3e08[_0x1d2e72(0x160)+_0x1d2e72(0x155)][_0x1d2e72(0x8c)+_0x1d2e72(0x27a)+'e']()[_0x1d2e72(0x22d)]();return _0x53a6e8[_0x1d2e72(0xd6)](_0x5b13ff=>_0x5b13ff['toLow'+_0x1d2e72(0x27a)+'e']()[_0x1d2e72(0x22d)]()===_0x2aeb83||_0x5b13ff[_0x1d2e72(0x8c)+_0x1d2e72(0x27a)+'e']()[_0x1d2e72(0x22d)]()===_0x103334);});if(_0x5df8e2)_0x136c5c[_0x20c645(0x72)]=[_0x5df8e2];else{const _0x42fcb4=_0x136c5c[_0x20c645(0x72)][_0x20c645(0x36a)](_0x5e18d2=>_0x20c645(0x349)+_0x5e18d2[_0x20c645(0x241)]+(_0x20c645(0x3c8)+_0x20c645(0x1ed))+_0x5e18d2[_0x20c645(0x160)+_0x20c645(0x155)]+')');return{'status':_0x20c645(0x250)+'ple_m'+'atche'+'s','hint':_0x20c645(0x20c)+_0x20c645(0x1f3)+_0x20c645(0x139)+_0x20c645(0x24d)+_0x20c645(0x24f)+'Dạ\x20Sế'+_0x20c645(0x1ff)+_0x20c645(0x26f)+_0x20c645(0x36b)+_0x20c645(0x3ff)+'khớp:'+'\x20\x0a'+_0x42fcb4[_0x20c645(0x2d4)]('\x0a')+(_0x20c645(0x2fe)+_0x20c645(0x280)+_0x20c645(0x1f5)+_0x20c645(0x2eb)+_0x20c645(0x37d)+_0x20c645(0x436)+'\x22')};}}const _0x51b1df=_0x136c5c[_0x20c645(0x72)][0x0],_0x14e1f8=_0x51b1df[_0x20c645(0x160)+_0x20c645(0x155)][_0x20c645(0xba)+_0x20c645(0x27a)+'e'](),_0x519516=global[_0x20c645(0x42a)+'oller'+'s'][_0x14e1f8],_0x209d7f={};_0x209d7f[_0x20c645(0x294)+'s']=_0x20c645(0x40e),_0x209d7f[_0x20c645(0x10d)+'ge']=_0x20c645(0x193)+'năng\x20'+'\x27'+_0x14e1f8+(_0x20c645(0x338)+_0x20c645(0x156)+_0x20c645(0x405)+'\x20tron'+_0x20c645(0x12d)+'kend.');if(!_0x519516)return _0x209d7f;if(_0x2e7931&&_0x2e7931['lengt'+'h']>0x0)for(let _0x489602 of _0x2e7931){const _0xe40e6f={};_0xe40e6f['keywo'+_0x20c645(0x2c3)]=[_0x489602[_0x20c645(0xa2)+_0x20c645(0x91)+'e']],_0xe40e6f[_0x20c645(0x159)]=0x1;const _0x4cf618=await searchActiveListInfo(_0xe40e6f);if(!_0x4cf618||_0x4cf618['docs'][_0x20c645(0x2f2)+'h']===0x0)continue;const _0xadb74=_0x4cf618['docs'][0x0]['final'+_0x20c645(0x155)][_0x20c645(0xba)+_0x20c645(0x27a)+'e'](),_0x104c1c=global[_0x20c645(0x42a)+'oller'+'s'][_0xadb74];if(!_0x104c1c||!_0x104c1c['model'])continue;const _0x453307=_0x104c1c['model'],_0x3524e2=Object[_0x20c645(0x24e)](_0x453307[_0x20c645(0xec)+'a'][_0x20c645(0x292)])['filte'+'r'](_0x53a4b1=>_0x453307[_0x20c645(0xec)+'a']['paths'][_0x53a4b1][_0x20c645(0x199)+'nce']===_0x20c645(0x75)+'g'&&!['id_ap'+'p',_0x20c645(0xdb)+_0x20c645(0x124)+'ed']['inclu'+_0x20c645(0x1d9)](_0x53a4b1)),_0x5c69cf={};_0x5c69cf[_0x20c645(0x2ec)+'x']=_0x489602[_0x20c645(0x3d2)+'rd'],_0x5c69cf[_0x20c645(0x32c)+_0x20c645(0x152)]='i';let _0x37b535=_0x3524e2[_0x20c645(0x36a)](_0x8ad4f7=>({[_0x8ad4f7]:_0x5c69cf}));if(_0x37b535[_0x20c645(0x2f2)+'h']===0x0)continue;const _0x249072={};_0x249072[_0x20c645(0x386)+'p']=_0x275780,_0x249072[_0x20c645(0x104)]=_0x37b535;const _0x66eb33=await _0x453307[_0x20c645(0x131)](_0x249072)[_0x20c645(0x191)+'t'](_0x20c645(0x374))['limit'](0x1)[_0x20c645(0x35e)]();if(_0x66eb33[_0x20c645(0x2f2)+'h']>0x0)_0x17a0b3[_0x489602['field']]=_0x66eb33[0x0][_0x20c645(0x374)][_0x20c645(0x40f)+_0x20c645(0x261)](),_0x17a0b3['_'+_0x489602[_0x20c645(0x3eb)]+(_0x20c645(0xdc)+_0x20c645(0x25c)+_0x20c645(0x1a7))]=_0x489602[_0x20c645(0x3d2)+'rd'];else{const _0x323637={};return _0x323637[_0x20c645(0x294)+'s']=_0x20c645(0x313)+_0x20c645(0x1f9)+'not_f'+'ound',_0x323637[_0x20c645(0x1c6)]=_0x20c645(0x195)+'T\x20BUỘ'+_0x20c645(0x38f)+'G\x20LẠI'+_0x20c645(0x101)+'ỎI\x20SẾ'+_0x20c645(0x13a)+_0x20c645(0x216)+'\x20\x22Dạ\x20'+'Sếp,\x20'+_0x20c645(0x2cc)+_0x20c645(0x73)+_0x20c645(0x403)+_0x20c645(0x2c7)+_0x20c645(0x2c8)+'\x20thốn'+_0x20c645(0x1f2)+_0x20c645(0x1e5)+'a\x20có\x20'+'['+_0x489602[_0x20c645(0xa2)+_0x20c645(0x91)+'e']+(']\x20nào'+_0x20c645(0x2b5)+'\x20tên\x20'+'là\x20**')+_0x489602[_0x20c645(0x3d2)+'rd']+(_0x20c645(0x3dd)+'ếp\x20có'+_0x20c645(0x280)+_0x20c645(0x277)+'ạo\x20mớ'+'i\x20dan'+_0x20c645(0x233)+_0x20c645(0x344)+_0x20c645(0x15f)+'\x20khôn'+_0x20c645(0x1ad)),_0x323637;}}const _0x558c66=_0x519516['model'],_0x1e212b={..._0x17a0b3};_0x1e212b['listi'+'nfo_c'+_0x20c645(0x7c)]=_0x51b1df[_0x20c645(0x25f)];let _0x114310=_0x1e212b;Object['keys'](_0x114310)['forEa'+'ch'](_0x3bf19b=>{const _0x26c734=_0x20c645;if(_0x3bf19b['start'+_0x26c734(0x242)]('_')&&_0x3bf19b[_0x26c734(0x253)+_0x26c734(0x13b)]('_reso'+_0x26c734(0x25c)+'name'))delete _0x114310[_0x3bf19b];});if(_0x519516['requi'+_0x20c645(0x3dc)+'_app']!==![])_0x114310['id_ap'+'p']=_0x275780;if(_0x5040b8===_0x20c645(0x124)+'e'&&_0x558c66&&_0x558c66[_0x20c645(0xec)+'a']&&_0x558c66[_0x20c645(0xec)+'a'][_0x20c645(0x292)]){if(_0x558c66[_0x20c645(0xec)+'a'][_0x20c645(0x292)][_0x20c645(0x37c)+'ct']&&!_0x114310[_0x20c645(0x37c)+'ct'])_0x114310['ngay_'+'ct']=new Date();if(_0x558c66['schem'+'a']['paths']['date_'+_0x20c645(0x124)+'ed']&&!_0x114310['date_'+_0x20c645(0x124)+'ed'])_0x114310['date_'+_0x20c645(0x124)+'ed']=new Date();}if(_0x558c66&&_0x558c66[_0x20c645(0xec)+'a']&&_0x558c66[_0x20c645(0xec)+'a'][_0x20c645(0x292)]){const _0x5c7d5d=(_0x36700e,_0x9b775d,_0x55fac9='')=>{const _0x4670ec=_0x20c645;if(Array['isArr'+'ay'](_0x36700e))return _0x36700e[_0x4670ec(0x36a)](_0x429b19=>_0x5c7d5d(_0x429b19,_0x9b775d,_0x55fac9));if(_0x36700e&&typeof _0x36700e===_0x4670ec(0x38c)+'t'){let _0x1f9d00={};for(let [_0x561706,_0x386a96]of Object[_0x4670ec(0x141)+'es'](_0x36700e)){let _0x603d5b=_0x55fac9?_0x55fac9+'.'+_0x561706:_0x561706,_0x1da0c4=_0x9b775d[_0x603d5b];if(Array[_0x4670ec(0xcd)+'ay'](_0x386a96))_0x1f9d00[_0x561706]=_0x386a96[_0x4670ec(0x36a)](_0x14a478=>_0x5c7d5d(_0x14a478,_0x9b775d,_0x603d5b));else{if(_0x386a96!==null&&typeof _0x386a96===_0x4670ec(0x38c)+'t')_0x1f9d00[_0x561706]=_0x5c7d5d(_0x386a96,_0x9b775d,_0x603d5b);else{if(_0x1da0c4){if(_0x1da0c4[_0x4670ec(0x199)+_0x4670ec(0x328)]===_0x4670ec(0x133)+'r'&&typeof _0x386a96===_0x4670ec(0x1de)+'g')_0x386a96=Number(_0x386a96['repla'+'ce'](/[^0-9.-]/g,''));else{if(_0x1da0c4[_0x4670ec(0x199)+_0x4670ec(0x328)]==='Date'&&typeof _0x386a96==='strin'+'g')_0x386a96=new Date(_0x386a96);}}_0x1f9d00[_0x561706]=_0x386a96;}}}return _0x1f9d00;}return _0x36700e;};_0x114310=_0x5c7d5d(_0x114310,_0x558c66[_0x20c645(0xec)+'a']['paths']);}if(!_0x3769d7){const _0x5b016f={};return _0x5b016f[_0x20c645(0x294)+'s']=_0x20c645(0x2f0)+'ng_co'+'nfirm'+_0x20c645(0x10e),_0x5b016f['messa'+'ge']='Dữ\x20li'+_0x20c645(0x132)+_0x20c645(0x3ee)+'\x20chuẩ'+_0x20c645(0x2ba)+_0x20c645(0x117)+_0x20c645(0x36f)+_0x20c645(0x1c8)+_0x20c645(0x410),_0x5b016f['data_'+'previ'+'ew']=_0x114310,_0x5b016f['hint']=_0x20c645(0x37a)+_0x20c645(0x226)+'G\x202\x20V'+_0x20c645(0x39d)+'\x20\x20\x20\x20\x20'+'\x20\x20\x20\x20\x20'+_0x20c645(0x26e)+_0x20c645(0x26e)+_0x20c645(0x26e)+'\x20\x20\x201.'+_0x20c645(0xcb)+_0x20c645(0x17a)+_0x20c645(0x311)+_0x20c645(0x92)+'huẩn\x20'+_0x20c645(0x231)+(_0x5040b8==='creat'+'e'?_0x20c645(0x207)+'ỚI':_0x20c645(0x1e8)+_0x20c645(0x2aa))+(_0x20c645(0x35c)+'h\x20BẢN'+_0x20c645(0x20b)+_0x20c645(0xbf)+_0x20c645(0xc2)+'các\x20N'+_0x20c645(0x12c)+'ã\x20đượ'+_0x20c645(0x435)+_0x20c645(0x254)+_0x20c645(0x42f)+'hành\x20'+'công\x20'+'nếu\x20c'+_0x20c645(0x317)+_0x20c645(0x26e)+_0x20c645(0x26e)+_0x20c645(0x26e)+_0x20c645(0x26e)+_0x20c645(0x26e)+_0x20c645(0x30c)+_0x20c645(0x245)+_0x20c645(0x249)+_0x20c645(0x2cb)+_0x20c645(0x397)+_0x20c645(0x39e)+'m\x20thô'+_0x20c645(0x359)+_0x20c645(0x114)+_0x20c645(0x93)+_0x20c645(0x10b)+_0x20c645(0x439)+'n\x20hồi'+_0x20c645(0x34e)+_0x20c645(0xb0)+_0x20c645(0x24c)+_0x20c645(0x304)+_0x20c645(0x236)+_0x20c645(0x3c4)),_0x5b016f;}let _0x39c14b;if(_0x5040b8===_0x20c645(0x124)+'e')_0x39c14b=await _0x519516[_0x20c645(0x124)+_0x20c645(0x188)](_0x3660b6,_0x114310);else _0x39c14b=await _0x519516[_0x20c645(0x306)+_0x20c645(0x188)](_0x3660b6,_0x3a8213,_0x114310);const _0x2ee0c6=typeof _0x39c14b[_0x20c645(0x262)+_0x20c645(0x7a)]==='funct'+_0x20c645(0x353)?_0x39c14b['toObj'+_0x20c645(0x7a)]():_0x39c14b,_0x3b5655=JSON[_0x20c645(0x135)](JSON[_0x20c645(0x1de)+'gify'](_0x2ee0c6)),_0x31fdbc=_0x20c645(0xc5)+_0x20c645(0x438)+_0x20c645(0x358)+_0x51b1df[_0x20c645(0x25f)]+_0x20c645(0x2fa)+_0x3b5655['_id'],_0x544326={};return _0x544326[_0x20c645(0x294)+'s']=_0x20c645(0x1fe)+'ss',_0x544326[_0x20c645(0x282)+_0x20c645(0x194)+'iet']=_0x31fdbc,_0x544326[_0x20c645(0x1c6)]=_0x20c645(0x43c)+'ếp:\x20\x22'+_0x20c645(0x209)+'p,\x20em'+_0x20c645(0x122)+(_0x5040b8===_0x20c645(0x124)+'e'?_0x20c645(0x1e9)+'ới':_0x20c645(0x1ae)+_0x20c645(0x343))+('\x20thàn'+_0x20c645(0x42d)+_0x20c645(0x1a9)+'ng\x20**')+_0x51b1df[_0x20c645(0x241)]+('**.\x20['+_0x20c645(0xc7)+_0x20c645(0x416)+_0x20c645(0x2d2)+'](')+_0x31fdbc+')\x22',_0x544326;}catch(_0x204443){return console[_0x20c645(0x40e)](_0x20c645(0x24b)+_0x20c645(0x14f)+'tác\x20d'+_0x20c645(0x1e3)+_0x20c645(0x1f4),_0x204443),{'status':_0x20c645(0x40e),'message':_0x204443[_0x20c645(0x10d)+'ge']||String(_0x204443)};}}})};}const _0x423fe6={};_0x423fe6[_0x46a033(0x124)+_0x46a033(0x297)+_0x46a033(0x239)+'aTool'+'s']=createMasterDataTools,module[_0x46a033(0x1d0)+'ts']=_0x423fe6;
@@ -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 _0x3f119a=_0x31d2;function _0x4b8e(){const _0xf1814f=['W6fUicHo','Aog7GYb0CG','ACoQDsbT','AhvUzYa','s1iPlGO','y+g7Psblsq','B2DYzxm','CcbZ4BUrkq','zog7RYbSAq','CMnL','DUg7GsdeKEg7GW','jg9WDgK','zYbT4BQ3yW','AcbJW7rU','BwfW','Asb0ACoQ','mIbOB+g6TW','4BUbBIbJW6e','y8oZignO','BmoQBIKS','vmoQBIbO','lGOGica','w0pHUQjosa','BMCGA2G','wvLzlu0','ig5O4BQTDa','Aog6O2KGDa','W6bUigpdTa','vfldMu5h','vog7KK4Gva','oIbyW6jT','y3rPDMu','Dog6OYbJAa','y8oHBYdeKq','4BQ/DcbXDq','oxr1DejUuq','ihpHUR0GEa','B3b0Aw8','tEg7PwmGDa','ve/dGe4G','4BQ3yYb0Xim','B3jKjY4','BwvZC2e','4BUnBIaImG','zsKGDgG','zMLUzeq','ihBdOcbO','zYaNDgS','x2rHDgu','zxLFCMu','igTOW7nH','vSoaieVHUR4','AmoZysaN','imsrBYK6','BguGt0S','yw5Oihm','4BQ3yYbJAa','nteXiL0','y29UDhi','4BQNDsbJ4BQT','qLxHU5Hdia','icHoz3u','Amo0BMCG','ig9IAMu','s1iGy+g6PW','vog6RKmGtq','C+g7RweGsW','s+g6V3qGCq','iffvwsa','BcCGkem','4BUDBMCGyW','CcbTDEg7Kq','yw4PlG','4BURifpHU5uG','Aog7KxqGka','XQ/HU5PorYa','CdOGiKq','Dc4kica','BIb2W6bV','DxjLx2e','4BQTDcb0Aa','q8o0BMCG','nLLcuMz6ra','BMCGBwK','yxKGXjhHU5u','BMGGC8oH','Bw9Tzw4','zgf0yq','BIbJ4BQTCa','rdOGwYi','4BULyYb0Aq','vmoSBsb0','ie3HU6vJia','4BQ/Ccb5W6O','Ag/HUQnUia','4BQNDsaOwq','W6j1igpHUQm','jY4G','yxrL','icHpyMO','zu9RCLq','mIdeKEg6V24','XjddOYbJ4BQT','ywLT','qSoHBYbJ','CM93CW','ig3HU5L0ia','vc9dsog7Ia','W7mGDgNHUR8','BSoGBYbJ','ntKZmda5BvvoAvHl','j21Lyxm','DMu6icC','n2nYzLPmvG','XjhHU5vPicG','DmoSBsb0','vmsdBMCG','BIdeKEg7Kwm','ihrO4BUDAq','CgJHUQnPia','BYbPBIa','igldOw8G','4BUNysbJW6e','s1iGy2G','BIbd4BQSua','4BUBCcb24BUB','lIbiW6n5','icaGmI4','Aw9U','Agf5ihq','DcbT4BULyW','B29SxtO','C+g7RweGDa','DxNHU4fUia','W7jUzYbI','BIbJAog7Kq','yYb0CSAW','DmoSBMGG','CYbJXAKU','DsbRAEg7HW','CYaOs1i','ielHUQ5uia','4BULihrYW6e','XjhHU4eGtEg7Pq','igZdOcbt','ke8Plca','Aog6O2KGXja','A2JdS2eG','zgvZy3i','DEg7MwmGBq','yUg6R3qGXje','tMFdOhKG','B25Z','4BQ/BIdeKEg7Mq','C3rHCNq','ietHU7fHia','ysbJ4BUNyq','DsbJ4BQNDq','XjhdOYb0Aa','jhjLz2u','C3vJy2u','ihrOW6bU','4BUbBIboyq','CUg7K2KG4BQH','AwrFBgK','BYbps1i','BMFgSog7NwK','vuXuoGO','4BUrig3HU6vJ','BMCGt0S','iefjihq','DxjJzsC','qUg7McbT4BQJ','4BQGss4kia','ihrPBIa','AhuGA+g7SW','icaGcIa','zhvLx2q','4BUqtKCGqW','Aog6Ow4Sia','4BUDAsbWAa','rgfUAca','ksWGmIa','oti0tuD2C1Ls','y2GSihq','zwn0Axy','BYbJW6eG','lIbdW6fJ','BsKU','yUg6Sw5Nkq','Aog7Psb0CG','DsaOvKq','idiGkeC','igZHU4CGjq','ke9IAMu','AsWGqUg6RG','BmAW4BUDBMC','BSoGBYb0','CUg7Mw5Nia','DhmU','mJCXodK4C1HqsNfb','A+g6V3qGDa','AgNHUR90ia','nc4Gj2e','Asb1Cgq','lIbi4BUhia','zMLJyxq','BMGGAmoS','igpdOwmG','cIaGica','AsbWAog7Pq','uMvZDwW','C2f1oGO','lsaImsi','z2v0tw8','4BUrigZgSog7OW','q8oZicHw','AcWGAg8','ihtdRg0G','ie9luIa','icaGic0','mte2odGXmMDkvxDArq','imsr4BUdihq','s1jZksa','Df92ywW','4BUNysbK4BUV','ieldGu8G','4BULBMCGyW','XjhHU4mGDhi','Amo6yYaO','BMCGXjfP','BMCPlca','AcaOXjdHU4m','igjHBI8','tIdeKog7Mca','zw0GDg8','ihbO4BULia','icaGidi','zgvSzxq','icaYlIa','C3vSDa','zsaOtYK','igZHUQ1Wia','y3qGj28','4BQ/l2pHUQ1W','zxn1Bhq','B29SCW','DgfYz2u','BNvTyMu','BMfS','4BQTBsb0Aq','BMCVz2K','BYbRAog7MW','BIbn4BULyW','icaGica','A+g6VYb0BW','A8oQigrH','qvbqsu4','BgvHBG','mtzVy0nUD2i','Dsbps1i','icHZy28','ie9luJO','W6fVifpHUR8','AwjL','se8Gs0u','Aog7Qw5NlG','iIKU','zgvS','BIb0W6XT','DcbS4BQHAq','AEg6O20GEa','AmoSBMGG','imsr4BUlBMG','zurHDge','A2HV4BQJBG','ks4Grmo5','4BQLDcbK4BUV','oIbt4BQ/Ca','DcaXigm','t0TsicG','DxbKyxq','ie7HUR91ia','Dg9eyxq','CSoSBMGG','DgJHUQv5ia','igpdSYb0','ihrYW6fJ','ig3dOcbR','y+g6P3uGEa','yYbluNm','icHo4BQ/Dq','ifrPW6P1','ifrpW4bo','W6jUigpHU6u','BMJdOM4G','CMuNicG','AMvJDgK','imsrW6GGyG','lsaImIi','t0Ts','q29Uihm','tUg7OYaOvG','Dcb0AmoG','igX14BQTBG','4BQLCcbOBW','DgJHU4SGDa','ke8Piha','kfr14BQNBG','ign14BUrAq','icaGidm','4BUctsbuuG','s1iGBSoG','yYaZlGO','BMJdQseI','Acb0Ahu','4BQHBMCGra','zYb24BUBAq','DxKGEhu','AxnbCNi','ignOBYa','AgvUigm','4BUpAsbt4BQ/','icDVA3i','lIbo4BQ/Dq','Dcbps1i','4BQ/Cc4kia','kIOGDUg7MW','Asb0AEg6VW','ig3HU6vJia','mYaOvog7TW','smAW4BUBBMC','XQfUihBHU4S','Aog6VYbluG','4BUrBMCGCq','C+g7Ks9uAq','DgvFAw4','iaOGica','mZKWnduYog5HrxzhDW','CgH1x3q','s2JdTg5N','oIbu4BUXia','Ag/HURDJia','B3vYy2u','AgLUDa','W6fJAcWG','zMLUza','yxrLx3m','BMvLzf8','BMCGyUg7Mq','sog7HIbusa','ihrPW6P1','4BQJBMCGka','ACoQDsaO','4BQHigvTia','w0ZHU5DPia','mJm4mZK5mgPTDuHsBG','ifpHUR9Wia','zxmPlca','igJHUQfUla','qUg6RLqGqG','igVHUR90ia','AwrFyxa','Bsbps1i','q2JgSgeG','4BUXyYbOAq','uIdeKmodia','ieTistO','4BQUvcbcvq','AM9PBG','kIOGkfa','BMfTzq','yxrH','zYbS4BQHAq','ieHp4BQGva','DgTFy28','CUg7Kw5Nia','CxxHUQmGDa','zv9PBNq','AgKGy+g6Rq','BYbluIa','CSAW4BUDBMC','ySoGEsbK','BwLU','icjn4BUFia','C3rYAw4','4BUIqYbI4BQX','u+g6V3aGAW','XRdHU5TPigq','DgJHU5fUzW','Bog6RxaGtW','BEg7PwmGDa','y8oHBYbt','Dhj1EEg7Gq','W6XUAcbJ','zxHWB3i','4BQ/Ccb0Aa','4BQJAsb0CG','A2v5CW','rYbnW4mG','XjhHUQ1Tiog7NW','4BQUqYbcW4e','XjhHU5LUzYa','y+g7Psbd4BQS','tog7L2KGAW','4BUPysb04BUR','Bog6PxKGDa','ihrY4BUrBG','icHrDCo9','u+g6V3aGCG','zxjYB3i','oIaXicG','ig7HUQ9Tia','BIb0AmoQ','W7nHihtdQG','igVdQg0G','iduGDog7TW','CYCGkmsq','4BUzDcbpsW','igfUzca','ihrO4BUdlG','DEg7Kw5Nkq','vmoQBIbn','ks4GtEg6TW','CMuPigm','u+g6V3aGyW','icaZlIa','tYbn4BUAsq','ihtHU6SGva','Asb2AEg6VW','B2jQzwm','4BUyqYbWAa','4BUrBMCGAW','W7rUzYb2','y2GGt0S','psiYiI4','igJdO3KG','imoHCcbK','DgNHUR9Uia','Ccb2W6bV','yYb0ACoQ','BMGGy8o0','4BUhBIbpsW','zYKSidq','vcbrvEg6OG','C3rHDhu','Aog7IsbZ4BUT','s1iPiha','y2XHCMK','4BUbBIKSia','yxKGy+g6Rq','BsbT4BQJBG','C8oHy2GG','vgJHU51Pia','imsq4BUdihq','ks4kica','W6fJAcbO','B+g6T2mGDa','4BQ/CcKU','4BQJBMCGBq','DsdeKEg7GsW','AsdeKwNHU4e','BIdeKEg7Msa','DgL0Bgu','nYi6ifq','Axb0Aw8','yxjYyxK','W6bVigTO','icHwrdO','jYbJW7LU','W7nHigpdOq','DhldOwnO','ihrYXRdHU50','yw4GAgK','kfrOW6fU','Esbszxm','4BUhDsbluG','4BUSietHU6ro','ie9luI4','4BQTCcb4BW','ideGkfm','XjhdOYbJ4BQT','mZmXmNP2z2PStW','ts1ercK','ieVHUR90ia','DcaOs1i','B2XSzxi','BUg6V3uGEa','y8oHig5O','lIaQkG','uIbJ4BUNyq','uIWGDgK','yxnRl0m','zxj2ywW','z8oHBG','igjHBI4','nJqXiL0','ipcFLkuGvmAV','vog7QYbRAa','qYbWAog6OW','DgvFC28','s2v5ifi','Aw4Gy2G','yYbn4BULyW','XjhdSYKUcG','4BQTCcbUAa','tCoJiglHU5K','igpHUQDUia','BMGGySoH','BwvHC3u','4BUBAsbUW6a','ywXS','ihbOW7jU','vcbcvEg7Ma','4BQNBIb0Aa','4BUKtKCGsW','Dw5NlG','tKGGu+g7Ra','yxrLie8','ig5NXRdHU50','uIdeKEg7GYa','u1vmva','4BUtBIbJ4BQL','vmoQBIbl','s0vzuKu','x2LK','ihtHU6SGAW','ke5NW6b5','ECoQDsbJ','t2TYuhi','BsbRAEg6VW','4BURigTOW7m','igDPW6eG','icHvCgq','x2TLExC','AsbNAwe','ihnVihy','igXP4BUhDq','icaGipcFLku','s1jZksW','imsrW6fUAa','4BQJihrOzq','DgvYDMe','oIboz8AW','jY4kcKG','4BUXimsr4BUzBG','imsq4BUytKC','CcbUAog6Rq','Aw5N','4BQ/DsbJAa','oIbi4BUhia','DgTFBM8','iglHURfUzW','iduGs2u','Dg9tDhi','BgNHU4D0ia','ihrYDxK','BwfFyNa','zYb0Aog7Nq','seK6ifm','zv9ZB3u','BMCGDhK','nJiYodv6BxbUC00','DgNdQNuG','BgvUz3q','4BUrBMCU','B2TY','4BUBAsWGDa','CMvFyxm','DSoGBYb0','tu0Treq','ifpHU6WGra','wvLzws0','vmoGAsbR','CMfJAa','wsbsrvm','CgJdSM5N','igTP4BQ/Bq','y+g7Psbu4BQG','CM9UzYa','rw1HAwW','y3jLyxq','igrVyw4','icaXlIa','tKCGXjdgRW'];_0x4b8e=function(){return _0xf1814f;};return _0x4b8e();}(function(_0x3b605d,_0x4716bc){const _0x113845=_0x31d2,_0x1117ab=_0x3b605d();while(!![]){try{const _0x27a760=-parseInt(_0x113845(0x33a))/0x1+-parseInt(_0x113845(0x186))/0x2*(-parseInt(_0x113845(0x265))/0x3)+-parseInt(_0x113845(0x160))/0x4+parseInt(_0x113845(0x2b5))/0x5*(parseInt(_0x113845(0x31e))/0x6)+-parseInt(_0x113845(0x33d))/0x7*(parseInt(_0x113845(0x1d5))/0x8)+parseInt(_0x113845(0x2ef))/0x9*(-parseInt(_0x113845(0x1e7))/0xa)+parseInt(_0x113845(0x394))/0xb*(parseInt(_0x113845(0x383))/0xc);if(_0x27a760===_0x4716bc)break;else _0x1117ab['push'](_0x1117ab['shift']());}catch(_0xb98449){_0x1117ab['push'](_0x1117ab['shift']());}}}(_0x4b8e,0x4c642));const {tool}=require('ai'),{z}=require('zod'),moment=require(_0x3f119a(0x322)+'t');function createOkrTools(_0x32768a,_0x14321d){const _0x1ab426=_0x3f119a;return{'createOkrTool':tool({'description':_0x1ab426(0x31d)+_0x1ab426(0x2c5)+_0x1ab426(0x22e)+_0x1ab426(0x15e)+_0x1ab426(0x38e)+_0x1ab426(0x2eb)+_0x1ab426(0x226)+'Key\x20R'+'esult'+'s).\x0a\x20'+'\x20\x20\x20\x20\x20'+_0x1ab426(0x181)+_0x1ab426(0x2be)+_0x1ab426(0x286)+_0x1ab426(0x2b2)+_0x1ab426(0x329)+_0x1ab426(0x369)+_0x1ab426(0x175)+_0x1ab426(0x20a)+_0x1ab426(0x2ce)+_0x1ab426(0x2ba)+_0x1ab426(0x396)+_0x1ab426(0x209)+_0x1ab426(0x347)+_0x1ab426(0x386)+_0x1ab426(0x1aa)+_0x1ab426(0x1d9)+_0x1ab426(0x2c3)+_0x1ab426(0x272)+_0x1ab426(0x39d)+_0x1ab426(0x181)+_0x1ab426(0x37c)+_0x1ab426(0x181)+_0x1ab426(0x181)+_0x1ab426(0x274)+'\x20DUY\x20'+'THIẾT'+'\x20LẬP\x20'+_0x1ab426(0x19b)+_0x1ab426(0x1eb)+'UỘC):'+_0x1ab426(0x39d)+_0x1ab426(0x181)+'\x20\x20\x20-\x20'+'1\x20Obj'+_0x1ab426(0x385)+_0x1ab426(0x174)+'\x20thườ'+_0x1ab426(0x169)+_0x1ab426(0x222)+_0x1ab426(0x331)+_0x1ab426(0x2ac)+_0x1ab426(0x25e)+'ults\x20'+'(KRs)'+'.\x0a\x20\x20\x20'+_0x1ab426(0x181)+_0x1ab426(0x15f)+_0x1ab426(0x328)+_0x1ab426(0x2b6)+_0x1ab426(0x1b6)+_0x1ab426(0x2e6)+'ruyền'+'\x20cảm\x20'+_0x1ab426(0x18d)+_0x1ab426(0x267)+_0x1ab426(0x1fc)+_0x1ab426(0x1c4)+_0x1ab426(0x316)+_0x1ab426(0x242)+_0x1ab426(0x35e)+'O\x20LƯỜ'+_0x1ab426(0x2cb)+_0x1ab426(0x205)+'ng\x20số'+'.\x0a\x20\x20\x20'+_0x1ab426(0x181)+'\x20\x20\x20\x20-'+'\x20Nếu\x20'+_0x1ab426(0x206)+_0x1ab426(0x30a)+'nói\x20r'+'õ\x20ngư'+_0x1ab426(0x380)+_0x1ab426(0x35a)+_0x1ab426(0x384)+_0x1ab426(0x2a4)+_0x1ab426(0x2d8)+_0x1ab426(0x194)+_0x1ab426(0x35c)+_0x1ab426(0x1c9)+'\x20\x20\x20\x20\x20'+_0x1ab426(0x181)+_0x1ab426(0x1d4)+'\x20\x20\x20\x20\x20'+_0x1ab426(0x29d)+_0x1ab426(0x310)+_0x1ab426(0x30d)+_0x1ab426(0x184)+_0x1ab426(0x212)+_0x1ab426(0x1e1)+_0x1ab426(0x37e)+_0x1ab426(0x18c)+_0x1ab426(0x2c2)+_0x1ab426(0x373)+_0x1ab426(0x181)+'\x20\x20\x20\x20\x20'+_0x1ab426(0x2ca)+'\x27upda'+_0x1ab426(0x1d3)+_0x1ab426(0x2a1)+_0x1ab426(0x311)+_0x1ab426(0x37b)+'):\x201\x20'+_0x1ab426(0x292)+_0x1ab426(0x382)+_0x1ab426(0x1b7)+'),\x203\x20'+_0x1ab426(0x25d)+_0x1ab426(0x23e)+_0x1ab426(0x21b)+_0x1ab426(0x22a)+'c\x20địn'+'h\x20ưu\x20'+'tiên\x20'+_0x1ab426(0x2dc)+_0x1ab426(0x1bc)+'\x20\x20\x20\x20\x20'+'\x20\x20\x20\x20\x20'+_0x1ab426(0x172)+'\x27upda'+_0x1ab426(0x277)+_0x1ab426(0x377)+_0x1ab426(0x309)+_0x1ab426(0x28d)+_0x1ab426(0x2d3)+':\x20\x0a\x20\x20'+_0x1ab426(0x181)+_0x1ab426(0x181)+_0x1ab426(0x158)+_0x1ab426(0x2a2)+_0x1ab426(0x380)+_0x1ab426(0x35a)+'ch\x20tự'+'\x20gõ\x20t'+_0x1ab426(0x245)+_0x1ab426(0x2a6)+_0x1ab426(0x319)+_0x1ab426(0x181)+'\x20\x20\x20\x20\x20'+_0x1ab426(0x1ae)+_0x1ab426(0x1d8)+_0x1ab426(0x215)+_0x1ab426(0x219)+_0x1ab426(0x315)+_0x1ab426(0x182)+_0x1ab426(0x2cc)+_0x1ab426(0x2a8)+_0x1ab426(0x2f7)+'\x22,\x20AI'+_0x1ab426(0x359)+_0x1ab426(0x308)+_0x1ab426(0x343)+_0x1ab426(0x20c)+_0x1ab426(0x220)+_0x1ab426(0x246)+_0x1ab426(0x2fb)+'_no\x27\x20'+'hoặc\x20'+'\x27tk_c'+'o\x27\x20ch'+_0x1ab426(0x1ff)+_0x1ab426(0x27b)+_0x1ab426(0x181)+'\x20\x20\x20\x20\x20'+'\x20\x20-\x20\x22'+_0x1ab426(0x253)+_0x1ab426(0x2a4)+'g\x20lấy'+_0x1ab426(0x22f)+_0x1ab426(0x26f)+_0x1ab426(0x234)+'iệc.\x0a'+_0x1ab426(0x181)+_0x1ab426(0x181)+_0x1ab426(0x22d)+_0x1ab426(0x33b)+_0x1ab426(0x31b)+_0x1ab426(0x224)+_0x1ab426(0x1cf)+_0x1ab426(0x301)+_0x1ab426(0x263)+_0x1ab426(0x15a)+_0x1ab426(0x16a)+'2\x20(Ti'+_0x1ab426(0x244)+_0x1ab426(0x1cd)+_0x1ab426(0x38d)+_0x1ab426(0x24a)+_0x1ab426(0x181)+('\x20\x20\x20\x20\x20'+_0x1ab426(0x397)+'im\x27\x20('+_0x1ab426(0x1ce)+_0x1ab426(0x1cc)+'tiêu)'+_0x1ab426(0x21e)+_0x1ab426(0x340)+_0x1ab426(0x2df)+_0x1ab426(0x38c)+_0x1ab426(0x192)+_0x1ab426(0x228)+',\x203\x20('+'Đúng\x20'+_0x1ab426(0x389)+_0x1ab426(0x2e1)+_0x1ab426(0x181)),'inputSchema':z['objec'+'t']({'objective':z[_0x1ab426(0x231)+'t']({'title':z['strin'+'g']()[_0x1ab426(0x360)+_0x1ab426(0x18b)]('Tiêu\x20'+_0x1ab426(0x35b)+_0x1ab426(0x23b)+_0x1ab426(0x38b)+_0x1ab426(0x2ea)+'\x20chiế'+'m\x20thị'+_0x1ab426(0x25b)+_0x1ab426(0x31f)+_0x1ab426(0x36e)+_0x1ab426(0x388)),'description':z[_0x1ab426(0x204)+'g']()['optio'+_0x1ab426(0x17c)]()[_0x1ab426(0x360)+'ibe']('Miêu\x20'+_0x1ab426(0x2ec)+_0x1ab426(0x1cb)+_0x1ab426(0x34e)+_0x1ab426(0x1e2)+'.'),'start_date':z['strin'+'g']()[_0x1ab426(0x360)+_0x1ab426(0x18b)](_0x1ab426(0x363)+_0x1ab426(0x362)+_0x1ab426(0x32b)+_0x1ab426(0x2e4)+_0x1ab426(0x266)+'.'),'due_date':z['strin'+'g']()[_0x1ab426(0x360)+_0x1ab426(0x18b)]('Ngày\x20'+'kết\x20t'+'húc\x20('+_0x1ab426(0x2bf)+_0x1ab426(0x2bd)+').'),'ma_bp':z[_0x1ab426(0x204)+'g']()[_0x1ab426(0x2f1)+'nal']()[_0x1ab426(0x360)+_0x1ab426(0x18b)](_0x1ab426(0x27d)+'\x20phận'+_0x1ab426(0x1a6)+_0x1ab426(0x238)+_0x1ab426(0x166)+'ho\x20ph'+_0x1ab426(0x352)+_0x1ab426(0x314)),'phu_trach':z[_0x1ab426(0x204)+'g']()[_0x1ab426(0x2f1)+_0x1ab426(0x17c)]()['descr'+'ibe'](_0x1ab426(0x2c7)+_0x1ab426(0x28a)+_0x1ab426(0x39e)+_0x1ab426(0x1a2)+_0x1ab426(0x16b)+_0x1ab426(0x21a)+'g\x20nếu'+_0x1ab426(0x376)+'ự\x20suy'+_0x1ab426(0x1b3)+_0x1ab426(0x35c)+_0x1ab426(0x24d))}),'key_results':z[_0x1ab426(0x255)](z['objec'+'t']({'name':z[_0x1ab426(0x204)+'g']()[_0x1ab426(0x360)+_0x1ab426(0x18b)](_0x1ab426(0x28e)+_0x1ab426(0x2ee)+_0x1ab426(0x2a0)+_0x1ab426(0x353)+'t\x20(VD'+':\x20Đạt'+_0x1ab426(0x223)+_0x1ab426(0x2c9)+_0x1ab426(0x1be)+'\x20mới)'+'.'),'phu_trach':z['strin'+'g']()[_0x1ab426(0x2f1)+_0x1ab426(0x17c)](),'update_interval':z[_0x1ab426(0x17b)+'r'](),'update_source':z['strin'+'g'](),'measure_as':z[_0x1ab426(0x17b)+'r'](),'target_value':z[_0x1ab426(0x17b)+'r']()[_0x1ab426(0x360)+'ibe'](_0x1ab426(0x1b0)+_0x1ab426(0x374)+_0x1ab426(0x1e2)+_0x1ab426(0x27e)+'đạt\x20c'+'ủa\x20KR'+'.'),'aim':z['numbe'+'r'](),'tk_no':z['array'](z[_0x1ab426(0x204)+'g']())[_0x1ab426(0x2f1)+_0x1ab426(0x17c)]()[_0x1ab426(0x360)+'ibe'](_0x1ab426(0x2c0)+_0x1ab426(0x32a)+_0x1ab426(0x1b1)+'D:\x20[\x22'+_0x1ab426(0x273)+_0x1ab426(0x197)+_0x1ab426(0x2e3)+_0x1ab426(0x398)+'ate_s'+_0x1ab426(0x1da)+'=\x222\x22.'),'tk_co':z['array'](z[_0x1ab426(0x204)+'g']())['optio'+_0x1ab426(0x17c)]()[_0x1ab426(0x360)+_0x1ab426(0x18b)]('Tài\x20k'+'hoản\x20'+_0x1ab426(0x15b)+_0x1ab426(0x325)+_0x1ab426(0x305)+_0x1ab426(0x197)+_0x1ab426(0x2e3)+_0x1ab426(0x398)+_0x1ab426(0x1de)+'ource'+_0x1ab426(0x236))}))[_0x1ab426(0x202)](0x1)[_0x1ab426(0x360)+'ibe'](_0x1ab426(0x381)+_0x1ab426(0x247)+'các\x20K'+'Rs\x20ch'+'i\x20tiế'+'t\x20đo\x20'+_0x1ab426(0x390)+_0x1ab426(0x1c3)+_0x1ab426(0x2f2)+'iêu\x20n'+'ày.')}),'execute':async({objective:_0x4dddf3,key_results:_0x2c0c00})=>{const _0x1528f0=_0x1ab426;try{const _0x160100=_0x4dddf3[_0x1528f0(0x1d6)+_0x1528f0(0x2c1)]||_0x14321d,_0xbe010a={'id_app':_0x32768a,'title':_0x4dddf3[_0x1528f0(0x252)],'description':_0x4dddf3[_0x1528f0(0x360)+_0x1528f0(0x254)+'n']||'','start_date':moment(_0x4dddf3[_0x1528f0(0x366)+_0x1528f0(0x2fc)])[_0x1528f0(0x19e)+'e'](),'due_date':moment(_0x4dddf3[_0x1528f0(0x37d)+_0x1528f0(0x32e)])['toDat'+'e'](),'phu_trach':_0x160100,'ma_bp':_0x4dddf3[_0x1528f0(0x2b0)]||''};let _0x29986=await global[_0x1528f0(0x306)+_0x1528f0(0x269)+'s'][_0x1528f0(0x1af)][_0x1528f0(0x2c8)+'eData'](_0x14321d,_0xbe010a);const _0x52a77d=_0x29986['_id'][_0x1528f0(0x2ad)+_0x1528f0(0x2a7)](),_0xbb22bc=_0x2c0c00[_0x1528f0(0x2da)](async _0x1aedbc=>{const _0x40f2de=_0x1528f0,_0x448578={};_0x448578[_0x40f2de(0x1ed)+'p']=_0x32768a,_0x448578[_0x40f2de(0x370)+'nk']=_0x52a77d,_0x448578[_0x40f2de(0x1f6)]=_0x1aedbc[_0x40f2de(0x1f6)],_0x448578[_0x40f2de(0x1d6)+_0x40f2de(0x2c1)]=_0x1aedbc[_0x40f2de(0x1d6)+_0x40f2de(0x2c1)]||_0x160100,_0x448578[_0x40f2de(0x19c)+'e_int'+'erval']=_0x1aedbc['updat'+_0x40f2de(0x1fd)+_0x40f2de(0x270)],_0x448578[_0x40f2de(0x19c)+'e_sou'+_0x40f2de(0x2d5)]=_0x1aedbc['updat'+_0x40f2de(0x2b3)+_0x40f2de(0x2d5)],_0x448578[_0x40f2de(0x280)+'re_as']=_0x1aedbc[_0x40f2de(0x280)+_0x40f2de(0x2bb)],_0x448578['targe'+_0x40f2de(0x163)+'ue']=_0x1aedbc[_0x40f2de(0x17a)+_0x40f2de(0x163)+'ue'],_0x448578['aim']=_0x1aedbc[_0x40f2de(0x333)],_0x448578['start'+'_date']=_0xbe010a[_0x40f2de(0x366)+_0x40f2de(0x2fc)],_0x448578[_0x40f2de(0x37d)+_0x40f2de(0x32e)]=_0xbe010a[_0x40f2de(0x37d)+_0x40f2de(0x32e)],_0x448578['tk_no']=_0x1aedbc['tk_no']||[],_0x448578['tk_co']=_0x1aedbc[_0x40f2de(0x1fa)]||[];const _0xb21096=_0x448578;return await global[_0x40f2de(0x306)+'oller'+'s'][_0x40f2de(0x28f)+_0x40f2de(0x28c)][_0x40f2de(0x2c8)+_0x40f2de(0x195)](_0x14321d,_0xb21096);});await Promise[_0x1528f0(0x282)](_0xbb22bc);const _0x384dc6={};return _0x384dc6[_0x1528f0(0x240)+'s']='succe'+'ss',_0x384dc6[_0x1528f0(0x2f6)+'ge']='Đã\x20tạ'+_0x1528f0(0x371)+_0x1528f0(0x36d)+_0x1528f0(0x2d9)+'g.\x20Ob'+_0x1528f0(0x1ac)+_0x1528f0(0x33c)+_0xbe010a['title']+(_0x1528f0(0x258)+_0x1528f0(0x1c0)+'\x20')+_0x2c0c00['lengt'+'h']+('\x20Key\x20'+_0x1528f0(0x39f)+_0x1528f0(0x393)),_0x384dc6[_0x1528f0(0x1db)]=_0x1528f0(0x334)+'áo\x20Sế'+_0x1528f0(0x318)+'ạ\x20em\x20'+_0x1528f0(0x36a)+'iết\x20l'+_0x1528f0(0x262)+_0x1528f0(0x1e0)+_0x1528f0(0x15e)+'**'+_0xbe010a['title']+(_0x1528f0(0x1ca)+'i\x20')+_0x2c0c00['lengt'+'h']+(_0x1528f0(0x1ec)+'quả\x20t'+_0x1528f0(0x1c4)+_0x1528f0(0x316)+_0x1528f0(0x162)+_0x1528f0(0x36f)+_0x1528f0(0x387)+_0x1528f0(0x283)+'g\x20ban'+_0x1528f0(0x1a1)+_0x1528f0(0x2cd)+'uy\x20cậ'+_0x1528f0(0x23a)+'\x20Modu'+_0x1528f0(0x302)+_0x1528f0(0x28b)+_0x1528f0(0x362)+_0x1528f0(0x307)+_0x1528f0(0x2a6)+'t\x20tiế'+_0x1528f0(0x251)+_0x1528f0(0x1bd)),_0x384dc6;}catch(_0xce0202){console['error']('[Lỗi\x20'+'creat'+_0x1528f0(0x330)+'ool]:',_0xce0202);const _0x302766={};return _0x302766[_0x1528f0(0x240)+'s']=_0x1528f0(0x21d),_0x302766[_0x1528f0(0x2f6)+'ge']=_0x1528f0(0x217)+'hi\x20lư'+_0x1528f0(0x187)+':\x20'+(_0xce0202[_0x1528f0(0x2f6)+'ge']||_0xce0202),_0x302766;}}}),'updateOkrTool':tool({'description':'Công\x20'+_0x1ab426(0x216)+'P\x20NHẬ'+_0x1ab426(0x337)+_0x1ab426(0x288)+'A\x20OKR'+_0x1ab426(0x298)+_0x1ab426(0x289)+_0x1ab426(0x2d0)+_0x1ab426(0x181)+'\x20\x20\x20SỬ'+'\x20DỤNG'+_0x1ab426(0x1f2)+_0x1ab426(0x1e8)+_0x1ab426(0x293)+'ầu\x20th'+'ay\x20đổ'+_0x1ab426(0x2db)+_0x1ab426(0x24f)+_0x1ab426(0x342)+_0x1ab426(0x1ea)+'\x20ngườ'+'i\x20phụ'+_0x1ab426(0x1a2)+_0x1ab426(0x15c)+_0x1ab426(0x2f4)+_0x1ab426(0x17e)+'ảm\x20ch'+'ỉ\x20tiê'+'u\x20của'+_0x1ab426(0x39c)+_0x1ab426(0x278)+_0x1ab426(0x178)+_0x1ab426(0x358)+'s)\x20th'+_0x1ab426(0x361)+_0x1ab426(0x225)+_0x1ab426(0x1f1)+_0x1ab426(0x2e9)+_0x1ab426(0x379)+'\x20\x20\x20\x20\x20'+'\x20\x20\x0a\x20\x20'+_0x1ab426(0x181)+'\x20LUẬT'+_0x1ab426(0x1f9)+_0x1ab426(0x2a5)+':\x0a\x20\x20\x20'+_0x1ab426(0x181)+'1.\x20Tì'+_0x1ab426(0x295)+_0x1ab426(0x1ee)+_0x1ab426(0x2ab)+_0x1ab426(0x1c6)+_0x1ab426(0x299)+_0x1ab426(0x2f5)+'\x0a\x20\x20\x20\x20'+_0x1ab426(0x170)+_0x1ab426(0x1c7)+'\x20cần\x20'+_0x1ab426(0x350)+_0x1ab426(0x30a)+'tin\x20c'+_0x1ab426(0x2cf)+_0x1ab426(0x35d)+_0x1ab426(0x20c)+_0x1ab426(0x31a)+_0x1ab426(0x30b)+_0x1ab426(0x176)+'bject'+'ive\x27.'+_0x1ab426(0x39d)+_0x1ab426(0x1b9)+_0x1ab426(0x1c7)+_0x1ab426(0x27e)+_0x1ab426(0x30e)+_0x1ab426(0x2ee)+_0x1ab426(0x2a0)+_0x1ab426(0x353)+_0x1ab426(0x268)+'s),\x20B'+_0x1ab426(0x1f3)+_0x1ab426(0x232)+_0x1ab426(0x210)+_0x1ab426(0x351)+_0x1ab426(0x2f3)+_0x1ab426(0x378)+'ng\x20\x27k'+_0x1ab426(0x2fd)+'sults'+'\x27\x20mới'+_0x1ab426(0x399)+_0x1ab426(0x208)+_0x1ab426(0x2f0)+_0x1ab426(0x259)+_0x1ab426(0x1a5)+'\x20cũ\x20v'+'à\x20ghi'+_0x1ab426(0x1ad)+'ằng\x20m'+_0x1ab426(0x24e)+_0x1ab426(0x281)+'y\x20(Gi'+_0x1ab426(0x1d1)+'uy\x20tr'+_0x1ab426(0x20d)+_0x1ab426(0x27c)+'ật\x20KP'+'I).','inputSchema':z[_0x1ab426(0x231)+'t']({'okr_keyword':z['strin'+'g']()[_0x1ab426(0x360)+_0x1ab426(0x18b)](_0x1ab426(0x2e0)+_0x1ab426(0x24c)+_0x1ab426(0x296)+_0x1ab426(0x368)+_0x1ab426(0x1a7)+'\x20đề\x20O'+_0x1ab426(0x30c)+_0x1ab426(0x324)+_0x1ab426(0x2e5)+_0x1ab426(0x257)+'\x20\x22Mở\x20'+_0x1ab426(0x392)+_0x1ab426(0x1b5)+_0x1ab426(0x200)+_0x1ab426(0x18e)),'objective':z[_0x1ab426(0x231)+'t']({'title':z[_0x1ab426(0x204)+'g']()[_0x1ab426(0x2f1)+_0x1ab426(0x17c)](),'description':z[_0x1ab426(0x204)+'g']()['optio'+_0x1ab426(0x17c)](),'start_date':z[_0x1ab426(0x204)+'g']()['optio'+_0x1ab426(0x17c)]()[_0x1ab426(0x360)+'ibe']('Ngày\x20'+_0x1ab426(0x362)+'ầu\x20(Y'+'YYY-M'+'M-DD)'+'.'),'due_date':z[_0x1ab426(0x204)+'g']()[_0x1ab426(0x2f1)+_0x1ab426(0x17c)]()['descr'+_0x1ab426(0x18b)](_0x1ab426(0x363)+'kết\x20t'+'húc\x20('+_0x1ab426(0x2bf)+_0x1ab426(0x2bd)+').'),'phu_trach':z[_0x1ab426(0x204)+'g']()[_0x1ab426(0x2f1)+'nal']()})[_0x1ab426(0x2f1)+_0x1ab426(0x17c)]()[_0x1ab426(0x360)+_0x1ab426(0x18b)]('Thông'+_0x1ab426(0x37a)+_0x1ab426(0x2f2)+_0x1ab426(0x1e4)+'O)\x20cầ'+'n\x20cập'+'\x20nhật'+'.\x20Chỉ'+_0x1ab426(0x2af)+_0x1ab426(0x2dd)+_0x1ab426(0x354)+_0x1ab426(0x312)+_0x1ab426(0x285)+'ay\x20đổ'+'i.'),'key_results':z[_0x1ab426(0x255)](z[_0x1ab426(0x231)+'t']({'name':z[_0x1ab426(0x204)+'g'](),'phu_trach':z['strin'+'g']()[_0x1ab426(0x2f1)+_0x1ab426(0x17c)](),'update_interval':z['numbe'+'r'](),'update_source':z[_0x1ab426(0x204)+'g'](),'measure_as':z['numbe'+'r'](),'target_value':z[_0x1ab426(0x17b)+'r'](),'aim':z['numbe'+'r'](),'tk_no':z[_0x1ab426(0x255)](z['strin'+'g']())[_0x1ab426(0x2f1)+_0x1ab426(0x17c)](),'tk_co':z['array'](z['strin'+'g']())[_0x1ab426(0x2f1)+'nal']()}))['optio'+_0x1ab426(0x17c)]()[_0x1ab426(0x360)+_0x1ab426(0x18b)]('Mảng\x20'+_0x1ab426(0x2d4)+_0x1ab426(0x25f)+'s\x20MỚI'+'\x20HOÀN'+_0x1ab426(0x1a8)+_0x1ab426(0x161)+_0x1ab426(0x34d)+_0x1ab426(0x1d0)+_0x1ab426(0x356)+_0x1ab426(0x19d)+_0x1ab426(0x22c)+_0x1ab426(0x241)+'a\x20(O)'+_0x1ab426(0x1a3)+_0x1ab426(0x30a)+_0x1ab426(0x33e)+_0x1ab426(0x29e)+_0x1ab426(0x237)+_0x1ab426(0x167)+_0x1ab426(0x2b8))}),'execute':async({okr_keyword:_0x56c6e3,objective:_0x1ec4ce,key_results:_0x229d8d})=>{const _0xae4d84=_0x1ab426;try{const _0x2914e6=global[_0xae4d84(0x159)+'del'](_0xae4d84(0x2b9)),_0xf4c04c=global[_0xae4d84(0x159)+_0xae4d84(0x18f)]('keyre'+_0xae4d84(0x173)),_0x4d56cf={};_0x4d56cf[_0xae4d84(0x36b)+'x']=_0x56c6e3,_0x4d56cf[_0xae4d84(0x2d7)+'ons']='i';const _0x1613a9={};_0x1613a9[_0xae4d84(0x1ed)+'p']=_0x32768a,_0x1613a9[_0xae4d84(0x252)]=_0x4d56cf;const _0x41e93f=await _0x2914e6[_0xae4d84(0x1dd)](_0x1613a9)[_0xae4d84(0x185)]();if(_0x41e93f['lengt'+'h']===0x0){const _0x2d42c5={};return _0x2d42c5[_0xae4d84(0x240)+'s']='error',_0x2d42c5[_0xae4d84(0x2f6)+'ge']='Hệ\x20th'+_0xae4d84(0x233)+_0xae4d84(0x30a)+_0xae4d84(0x33f)+'hấy\x20O'+_0xae4d84(0x1bb)+_0xae4d84(0x17f)+'p\x20với'+_0xae4d84(0x291)+_0xae4d84(0x300)+_0x56c6e3+'\x27.',_0x2d42c5;}else{if(_0x41e93f[_0xae4d84(0x2b7)+'h']>0x1){const _0x2bfb9f=_0x41e93f[_0xae4d84(0x2da)]((_0x317148,_0x84b89b)=>_0x84b89b+0x1+_0xae4d84(0x26c)+_0x317148[_0xae4d84(0x252)]+(_0xae4d84(0x1f5)+_0xae4d84(0x38a)+'ách:\x20')+(_0x317148[_0xae4d84(0x1d6)+_0xae4d84(0x2c1)]||_0xae4d84(0x1ef)+_0xae4d84(0x271))+')')[_0xae4d84(0x1f4)]('\x0a'),_0x495996={};return _0x495996['statu'+'s']=_0xae4d84(0x1df)+_0xae4d84(0x243)+_0xae4d84(0x39a)+_0xae4d84(0x34c),_0x495996[_0xae4d84(0x2f6)+'ge']=_0xae4d84(0x2e2)+_0xae4d84(0x165)+_0xae4d84(0x2e8)+'\x20LẶP]'+_0xae4d84(0x2a9)+'thống'+_0xae4d84(0x15d)+_0xae4d84(0x1a0)+_0x41e93f[_0xae4d84(0x2b7)+'h']+(_0xae4d84(0x15e)+_0xae4d84(0x2de)+_0xae4d84(0x218)+_0xae4d84(0x2fe)+'\x20\x27')+_0x56c6e3+(_0xae4d84(0x2a3)+_0xae4d84(0x317)+'DẪN\x20A'+'I:\x20Hã'+'y\x20dừn'+_0xae4d84(0x1f8)+_0xae4d84(0x2fa)+_0xae4d84(0x1c5)+_0xae4d84(0x313)+_0xae4d84(0x348)+'\x20NHẬT'+_0xae4d84(0x15e)+_0xae4d84(0x391)+_0xae4d84(0x2c6)+'danh\x20'+_0xae4d84(0x247)+_0xae4d84(0x157))+_0x2bfb9f,_0x495996;}}const _0x175757=_0x41e93f[0x0],_0x35d945=_0x175757[_0xae4d84(0x290)][_0xae4d84(0x2ad)+_0xae4d84(0x2a7)]();if(_0x1ec4ce&&Object[_0xae4d84(0x211)](_0x1ec4ce)[_0xae4d84(0x2b7)+'h']>0x0){const _0x153af1={};if(_0x1ec4ce[_0xae4d84(0x252)])_0x153af1[_0xae4d84(0x252)]=_0x1ec4ce[_0xae4d84(0x252)];if(_0x1ec4ce[_0xae4d84(0x360)+_0xae4d84(0x254)+'n'])_0x153af1[_0xae4d84(0x360)+_0xae4d84(0x254)+'n']=_0x1ec4ce[_0xae4d84(0x360)+_0xae4d84(0x254)+'n'];if(_0x1ec4ce[_0xae4d84(0x366)+_0xae4d84(0x2fc)])_0x153af1[_0xae4d84(0x366)+_0xae4d84(0x2fc)]=moment(_0x1ec4ce[_0xae4d84(0x366)+_0xae4d84(0x2fc)])[_0xae4d84(0x19e)+'e']();if(_0x1ec4ce[_0xae4d84(0x37d)+'ate'])_0x153af1['due_d'+_0xae4d84(0x32e)]=moment(_0x1ec4ce[_0xae4d84(0x37d)+_0xae4d84(0x32e)])[_0xae4d84(0x19e)+'e']();if(_0x1ec4ce[_0xae4d84(0x1d6)+_0xae4d84(0x2c1)])_0x153af1[_0xae4d84(0x1d6)+_0xae4d84(0x2c1)]=_0x1ec4ce[_0xae4d84(0x1d6)+_0xae4d84(0x2c1)];const _0x4cdf7b={};_0x4cdf7b[_0xae4d84(0x290)]=_0x175757[_0xae4d84(0x290)],await global[_0xae4d84(0x306)+'oller'+'s']['OKR'][_0xae4d84(0x19c)+_0xae4d84(0x195)](_0x14321d,_0x4cdf7b,_0x153af1);}let _0xc5f57c=0x0;if(_0x229d8d&&_0x229d8d['lengt'+'h']>0x0){const _0x7f7ef1={};_0x7f7ef1[_0xae4d84(0x1ed)+'p']=_0x32768a,_0x7f7ef1[_0xae4d84(0x370)+'nk']=_0x35d945,await _0xf4c04c[_0xae4d84(0x171)+'eMany'](_0x7f7ef1);const _0x5742af=_0x229d8d['map'](async _0x1e9502=>{const _0x565413=_0xae4d84,_0x21e999={'id_app':_0x32768a,'id_link':_0x35d945,'name':_0x1e9502[_0x565413(0x1f6)],'phu_trach':_0x1e9502[_0x565413(0x1d6)+'rach']||(_0x1ec4ce?.['phu_t'+_0x565413(0x2c1)]||_0x175757[_0x565413(0x1d6)+_0x565413(0x2c1)]),'update_interval':_0x1e9502['updat'+_0x565413(0x1fd)+_0x565413(0x270)],'update_source':_0x1e9502[_0x565413(0x19c)+_0x565413(0x2b3)+_0x565413(0x2d5)],'measure_as':_0x1e9502['measu'+'re_as'],'target_value':_0x1e9502[_0x565413(0x17a)+'t_val'+'ue'],'aim':_0x1e9502[_0x565413(0x333)],'start_date':_0x1ec4ce?.[_0x565413(0x366)+'_date']?moment(_0x1ec4ce[_0x565413(0x366)+_0x565413(0x2fc)])[_0x565413(0x19e)+'e']():_0x175757['start'+_0x565413(0x2fc)],'due_date':_0x1ec4ce?.[_0x565413(0x37d)+_0x565413(0x32e)]?moment(_0x1ec4ce[_0x565413(0x37d)+_0x565413(0x32e)])[_0x565413(0x19e)+'e']():_0x175757[_0x565413(0x37d)+_0x565413(0x32e)],'tk_no':_0x1e9502[_0x565413(0x2aa)]||[],'tk_co':_0x1e9502[_0x565413(0x1fa)]||[]};return await global[_0x565413(0x306)+'oller'+'s'][_0x565413(0x28f)+'SULT'][_0x565413(0x2c8)+_0x565413(0x195)](_0x14321d,_0x21e999);});await Promise['all'](_0x5742af),_0xc5f57c=_0x229d8d[_0xae4d84(0x2b7)+'h'];}const _0x53c1cb=_0x1ec4ce?.['title']||_0x175757[_0xae4d84(0x252)],_0x319d06={};return _0x319d06[_0xae4d84(0x240)+'s']='succe'+'ss',_0x319d06[_0xae4d84(0x2f6)+'ge']=_0xae4d84(0x332)+'p\x20nhậ'+_0xae4d84(0x1b2)+_0xae4d84(0x23c)+_0xae4d84(0x375)+'R\x20\x27'+_0x53c1cb+_0xae4d84(0x32d)+(_0xc5f57c>0x0?'Đã\x20th'+'ay\x20th'+_0xae4d84(0x177)+'\x20nhật'+'\x20'+_0xc5f57c+('\x20Key\x20'+_0xae4d84(0x39f)+_0xae4d84(0x393)):'Chỉ\x20c'+_0xae4d84(0x27c)+_0xae4d84(0x31c)+'ông\x20t'+_0xae4d84(0x279)+_0xae4d84(0x287)),_0x319d06[_0xae4d84(0x1db)]=_0xae4d84(0x334)+_0xae4d84(0x18a)+_0xae4d84(0x318)+_0xae4d84(0x1e5)+_0xae4d84(0x264)+_0xae4d84(0x2a6)+_0xae4d84(0x191)+_0xae4d84(0x15e)+'**'+_0x53c1cb+('**\x20th'+'eo\x20yê'+'u\x20cầu'+'\x20của\x20'+_0xae4d84(0x21c)+'ồi\x20ạ!'+'\x22'),_0x319d06;}catch(_0xba1f12){console[_0xae4d84(0x21d)](_0xae4d84(0x1e6)+'updat'+_0xae4d84(0x330)+_0xae4d84(0x34f),_0xba1f12);const _0xc72645={};return _0xc72645[_0xae4d84(0x240)+'s']=_0xae4d84(0x21d),_0xc72645[_0xae4d84(0x2f6)+'ge']=_0xae4d84(0x217)+_0xae4d84(0x1fe)+_0xae4d84(0x2a6)+_0xae4d84(0x1c8)+':\x20'+(_0xba1f12[_0xae4d84(0x2f6)+'ge']||_0xba1f12),_0xc72645;}}}),'checkOkrProgressTool':tool({'description':'Công\x20'+_0x1ab426(0x2d1)+_0x1ab426(0x1ba)+'A\x20TIẾ'+_0x1ab426(0x16d)+_0x1ab426(0x2ff)+_0x1ab426(0x23f)+_0x1ab426(0x15e)+'(View'+_0x1ab426(0x15e)+'Progr'+'ess).'+_0x1ab426(0x39d)+'\x20\x20\x20\x20S'+_0x1ab426(0x260)+'G\x20KHI'+_0x1ab426(0x199)+'\x20yêu\x20'+_0x1ab426(0x1a4)+'em\x20tì'+_0x1ab426(0x39b)+'nh\x20th'+_0x1ab426(0x1f0)+_0x1ab426(0x23d)+_0x1ab426(0x26e)+_0x1ab426(0x365)+_0x1ab426(0x188)+_0x1ab426(0x22b)+_0x1ab426(0x346)+_0x1ab426(0x27a)+_0x1ab426(0x1e2)+_0x1ab426(0x32f)+_0x1ab426(0x385)+_0x1ab426(0x1e9)+'hoặc\x20'+_0x1ab426(0x2ae)+_0x1ab426(0x183)+_0x1ab426(0x321)+_0x1ab426(0x235)+_0x1ab426(0x26d)+_0x1ab426(0x336)+'phòng'+_0x1ab426(0x16c)+_0x1ab426(0x26b)+_0x1ab426(0x1a9)+_0x1ab426(0x227),'inputSchema':z[_0x1ab426(0x231)+'t']({'keyword':z['strin'+'g']()[_0x1ab426(0x2f1)+_0x1ab426(0x17c)]()[_0x1ab426(0x360)+_0x1ab426(0x18b)](_0x1ab426(0x275)+_0x1ab426(0x221)+_0x1ab426(0x180)+_0x1ab426(0x1e2)+_0x1ab426(0x257)+_0x1ab426(0x203)+_0x1ab426(0x392)+_0x1ab426(0x1b5)+'rường'+_0x1ab426(0x18e)),'phu_trach':z['strin'+'g']()[_0x1ab426(0x2f1)+'nal']()[_0x1ab426(0x360)+'ibe']('Email'+'\x20của\x20'+_0x1ab426(0x372)+_0x1ab426(0x16f)+_0x1ab426(0x25a)+_0x1ab426(0x261)+_0x1ab426(0x249)+_0x1ab426(0x1fb)+_0x1ab426(0x26a)+_0x1ab426(0x16e)+_0x1ab426(0x2e7)+_0x1ab426(0x2b4)+'.'),'tu_ngay':z[_0x1ab426(0x204)+'g']()['optio'+_0x1ab426(0x17c)]()['descr'+'ibe'](_0x1ab426(0x363)+'bắt\x20đ'+_0x1ab426(0x32b)+_0x1ab426(0x2e4)+_0x1ab426(0x266)+'.'),'den_ngay':z[_0x1ab426(0x204)+'g']()[_0x1ab426(0x2f1)+_0x1ab426(0x17c)]()[_0x1ab426(0x360)+_0x1ab426(0x18b)](_0x1ab426(0x363)+_0x1ab426(0x395)+_0x1ab426(0x168)+_0x1ab426(0x2bf)+_0x1ab426(0x2bd)+').')}),'execute':async({keyword:_0x78ed94,phu_trach:_0x49ca9d,tu_ngay:_0x2bf7c6,den_ngay:_0x4bf785})=>{const _0x2dec33=_0x1ab426;try{const _0x551da8={};_0x551da8[_0x2dec33(0x1ed)+'p']=_0x32768a;const _0x5eef97=_0x551da8;if(_0x78ed94){const _0x28d0c3={};_0x28d0c3['$rege'+'x']=_0x78ed94,_0x28d0c3[_0x2dec33(0x2d7)+_0x2dec33(0x364)]='i',_0x5eef97[_0x2dec33(0x252)]=_0x28d0c3;}_0x49ca9d&&(_0x5eef97['phu_t'+_0x2dec33(0x2c1)]=_0x49ca9d);_0x2bf7c6&&_0x4bf785&&(_0x5eef97[_0x2dec33(0x366)+_0x2dec33(0x2fc)]={'$gte':moment(_0x2bf7c6)[_0x2dec33(0x19e)+'e']()},_0x5eef97['due_d'+_0x2dec33(0x32e)]={'$lte':moment(_0x4bf785)[_0x2dec33(0x19e)+'e']()});const _0x1b788f=await global[_0x2dec33(0x306)+_0x2dec33(0x269)+'s'][_0x2dec33(0x1af)][_0x2dec33(0x2f9)+_0x2dec33(0x1f7)](_0x14321d,_0x5eef97),_0x3f4a14=Array[_0x2dec33(0x1c2)+'ay'](_0x1b788f)?_0x1b788f:_0x1b788f[_0x2dec33(0x335)]||[];if(_0x3f4a14[_0x2dec33(0x2b7)+'h']===0x0){const _0x53bf67={};return _0x53bf67['statu'+'s']=_0x2dec33(0x21d),_0x53bf67[_0x2dec33(0x2f6)+'ge']=_0x2dec33(0x1d7)+'\x20tìm\x20'+_0x2dec33(0x1a0)+'OKR\x20n'+_0x2dec33(0x256)+_0x2dec33(0x349)+_0x2dec33(0x250)+_0x2dec33(0x357)+_0x2dec33(0x190)+_0x2dec33(0x2c4)+_0x2dec33(0x34a)+_0x2dec33(0x345)+_0x2dec33(0x20b)+_0x2dec33(0x20f)+_0x2dec33(0x320)+'i\x20từ\x20'+_0x2dec33(0x35f)+'hoặc\x20'+_0x2dec33(0x196)+_0x2dec33(0x2b1)+_0x2dec33(0x29a)+'n.',_0x53bf67;}const _0x420d3c={};return _0x420d3c[_0x2dec33(0x240)+'s']=_0x2dec33(0x36c)+'ss',_0x420d3c[_0x2dec33(0x2f6)+'ge']=_0x2dec33(0x327)+'hấy\x20'+_0x3f4a14[_0x2dec33(0x2b7)+'h']+'\x20OKR.',_0x420d3c[_0x2dec33(0x323)]=_0x3f4a14,_0x420d3c[_0x2dec33(0x1db)]='QUY\x20T'+_0x2dec33(0x214)+'O\x20CÁO'+_0x2dec33(0x189)+_0x2dec33(0x39d)+_0x2dec33(0x181)+_0x2dec33(0x181)+_0x2dec33(0x181)+'\x201.\x20T'+_0x2dec33(0x19f)+_0x2dec33(0x201)+_0x2dec33(0x207)+_0x2dec33(0x1bf)+_0x2dec33(0x303)+_0x2dec33(0x24b)+'oặc\x20B'+_0x2dec33(0x1e3)+_0x2dec33(0x229)+_0x2dec33(0x326)+'êu,\x20P'+_0x2dec33(0x38a)+_0x2dec33(0x1dc)+_0x2dec33(0x248)+_0x2dec33(0x37f)+'Điểm\x20'+_0x2dec33(0x1d2)+_0x2dec33(0x365)+_0x2dec33(0x24a)+_0x2dec33(0x181)+_0x2dec33(0x181)+_0x2dec33(0x181)+_0x2dec33(0x34b)+_0x2dec33(0x367)+_0x2dec33(0x2bc)+_0x2dec33(0x200)+'\x20\x27sco'+_0x2dec33(0x1ab)+_0x2dec33(0x30f)+'uả)\x20c'+_0x2dec33(0x164)+'\x20liệu'+'\x20trả\x20'+_0x2dec33(0x2d6)+_0x2dec33(0x29f)+_0x2dec33(0x297)+_0x2dec33(0x239)+'độ.\x0a\x20'+'\x20\x20\x20\x20\x20'+_0x2dec33(0x181)+_0x2dec33(0x181)+_0x2dec33(0x1b9)+'.\x20Nếu'+_0x2dec33(0x15e)+_0x2dec33(0x339)+_0x2dec33(0x338)+'n\x20độ\x20'+'(scor'+_0x2dec33(0x2f8)+_0x2dec33(0x1b4)+_0x2dec33(0x304)+_0x2dec33(0x17d)+_0x2dec33(0x365)+_0x2dec33(0x29b)+'ới\x20th'+'ời\x20gi'+_0x2dec33(0x25c)+'ện\x20tạ'+_0x2dec33(0x38f)+_0x2dec33(0x284)+_0x2dec33(0x276)+_0x2dec33(0x230)+_0x2dec33(0x19a)+_0x2dec33(0x32c)+_0x2dec33(0x27f)+_0x2dec33(0x344)+_0x2dec33(0x213)+_0x2dec33(0x1b8)+_0x2dec33(0x345)+_0x2dec33(0x2ed)+'ể\x20Sếp'+_0x2dec33(0x21f)+_0x2dec33(0x355)+_0x2dec33(0x193)+'và\x20đô'+_0x2dec33(0x341)+'.',_0x420d3c;}catch(_0x2a42ec){console[_0x2dec33(0x21d)](_0x2dec33(0x1e6)+'check'+_0x2dec33(0x294)+_0x2dec33(0x2d2)+'sTool'+']:',_0x2a42ec);const _0x3c2727={};return _0x3c2727[_0x2dec33(0x240)+'s']='error',_0x3c2727[_0x2dec33(0x2f6)+'ge']=_0x2dec33(0x217)+'hi\x20tr'+_0x2dec33(0x1c1)+_0x2dec33(0x198)+_0x2dec33(0x29c)+_0x2dec33(0x189)+'\x20'+_0x2a42ec[_0x2dec33(0x2f6)+'ge'],_0x3c2727;}}})};}const _0x3773b5={};function _0x31d2(_0x3ee445,_0x4534bb){_0x3ee445=_0x3ee445-0x157;const _0x4b8e1c=_0x4b8e();let _0x31d278=_0x4b8e1c[_0x3ee445];if(_0x31d2['sJFWdu']===undefined){var _0x201174=function(_0x495120){const _0x419b88='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d73be='',_0x54b26e='';for(let _0x189f13=0x0,_0x4c8c27,_0x267afe,_0x40578f=0x0;_0x267afe=_0x495120['charAt'](_0x40578f++);~_0x267afe&&(_0x4c8c27=_0x189f13%0x4?_0x4c8c27*0x40+_0x267afe:_0x267afe,_0x189f13++%0x4)?_0x1d73be+=String['fromCharCode'](0xff&_0x4c8c27>>(-0x2*_0x189f13&0x6)):0x0){_0x267afe=_0x419b88['indexOf'](_0x267afe);}for(let _0x46853f=0x0,_0x54d1b2=_0x1d73be['length'];_0x46853f<_0x54d1b2;_0x46853f++){_0x54b26e+='%'+('00'+_0x1d73be['charCodeAt'](_0x46853f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54b26e);};_0x31d2['womiye']=_0x201174,_0x31d2['rIArvO']={},_0x31d2['sJFWdu']=!![];}const _0x15a5c0=_0x4b8e1c[0x0],_0x2d0203=_0x3ee445+_0x15a5c0,_0x9f652e=_0x31d2['rIArvO'][_0x2d0203];return!_0x9f652e?(_0x31d278=_0x31d2['womiye'](_0x31d278),_0x31d2['rIArvO'][_0x2d0203]=_0x31d278):_0x31d278=_0x9f652e,_0x31d278;}_0x3773b5[_0x3f119a(0x2c8)+_0x3f119a(0x330)+_0x3f119a(0x179)]=createOkrTools,module[_0x3f119a(0x20e)+'ts']=_0x3773b5;