flexbiz-server 12.7.8 → 12.7.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1154) hide show
  1. package/package.json +6 -6
  2. package/server/agents/agents.js +1 -1
  3. package/server/agents/ai_memory_manager.js +1 -6
  4. package/server/agents/ceoAgent.js +1 -43
  5. package/server/agents/chatController.js +1 -6
  6. package/server/agents/cskhAgent.js +1 -43
  7. package/server/agents/departmentAgent.js +1 -0
  8. package/server/agents/departmentAgents.js +1 -0
  9. package/server/agents/flowAgent.js +1 -43
  10. package/server/agents/loadTenantModel.js +1 -0
  11. package/server/agents/prompts/ceo.js +1 -2
  12. package/server/agents/prompts/cskh.js +1 -0
  13. package/server/agents/prompts/flow.js +1 -2
  14. package/server/agents/prompts/staff.js +1 -0
  15. package/server/agents/routerAgent.js +1 -0
  16. package/server/agents/specialists.js +1 -0
  17. package/server/agents/staffAgent.js +1 -44
  18. package/server/agents/tools/financeTools.js +1 -57
  19. package/server/agents/tools/flowTools.js +1 -36
  20. package/server/agents/tools/kpiTools.js +1 -104
  21. package/server/agents/tools/masterDataTools.js +1 -74
  22. package/server/agents/tools/okrTools.js +1 -21
  23. package/server/agents/tools/ragTools.js +1 -21
  24. package/server/agents/tools/reportTools.js +1 -43
  25. package/server/agents/tools/staffTools.js +1 -13
  26. package/server/agents/tools/stockTools.js +1 -41
  27. package/server/agents/tools/systemTools.js +1 -52
  28. package/server/agents/tools/taskTools.js +1 -23
  29. package/server/agents/tools/utils.js +1 -57
  30. package/server/app.js +1 -23
  31. package/server/auths/authMiddleware.js +1 -3
  32. package/server/auths/bearer.js +1 -3
  33. package/server/auths/facebook.js +1 -12
  34. package/server/auths/google.js +1 -13
  35. package/server/auths/joinApp.js +1 -0
  36. package/server/auths/local.js +1 -67
  37. package/server/auths/oauthCommon.js +1 -0
  38. package/server/auths/rateLimiterMiddleware.js +1 -11
  39. package/server/cluster.js +1 -1
  40. package/server/controllers/controller.js +1 -129
  41. package/server/controllers/controllerRPT.js +1 -38
  42. package/server/controllers/controllerUtils.js +1 -72
  43. package/server/controllers/createHandler.js +1 -35
  44. package/server/controllers/createRouteHandler.js +1 -4
  45. package/server/controllers/deleteHandler.js +1 -11
  46. package/server/controllers/deleteManyHandler.js +1 -2
  47. package/server/controllers/exportHandler.js +1 -19
  48. package/server/controllers/findHandler.js +1 -80
  49. package/server/controllers/handlers.js +1 -3
  50. package/server/controllers/historyHandler.js +1 -8
  51. package/server/controllers/importFromExcelHandler.js +1 -17
  52. package/server/controllers/importFromGsHandler.js +1 -10
  53. package/server/controllers/importFromJsonHandler.js +1 -6
  54. package/server/controllers/importHandler.js +1 -26
  55. package/server/controllers/logHandler.js +1 -5
  56. package/server/controllers/rptCreateRouteHandler.js +1 -4
  57. package/server/controllers/rptExcelHandler.js +1 -45
  58. package/server/controllers/rptHandler.js +1 -16
  59. package/server/controllers/updateBookHandler.js +1 -11
  60. package/server/controllers/updateFieldHandler.js +1 -12
  61. package/server/controllers/updateHandler.js +1 -38
  62. package/server/controllers/updateKeyHandler.js +1 -14
  63. package/server/controllers/viewHandler.js +1 -13
  64. package/server/data/sys/listinfo.js +93 -93
  65. package/server/data/sys/menuinfo.js +1 -24
  66. package/server/data/sys/moduleinfo.js +520 -9000
  67. package/server/data/sys/reportinfo.js +10 -10
  68. package/server/flow/FlowCluster.js +1 -0
  69. package/server/flow/FlowEngine.js +1 -68
  70. package/server/flow/WebhookManager.js +1 -26
  71. package/server/flow/handlers.js +1 -3
  72. package/server/flow/nodes/aiAnalysis.js +1 -9
  73. package/server/flow/nodes/checkAction.js +1 -7
  74. package/server/flow/nodes/customer.js +1 -15
  75. package/server/flow/nodes/data.js +1 -17
  76. package/server/flow/nodes/debug.js +1 -2
  77. package/server/flow/nodes/delay.js +1 -3
  78. package/server/flow/nodes/email.js +1 -8
  79. package/server/flow/nodes/event.js +1 -12
  80. package/server/flow/nodes/facebook.js +1 -3
  81. package/server/flow/nodes/facebookConversations.js +1 -5
  82. package/server/flow/nodes/facebookCreatePost.js +1 -10
  83. package/server/flow/nodes/facebookSendMessage.js +1 -12
  84. package/server/flow/nodes/forEachItem.js +1 -8
  85. package/server/flow/nodes/function.js +1 -4
  86. package/server/flow/nodes/httprequest.js +1 -7
  87. package/server/flow/nodes/inject.js +1 -14
  88. package/server/flow/nodes/pushNotification.js +1 -5
  89. package/server/flow/nodes/report.js +1 -6
  90. package/server/flow/nodes/saveData.js +1 -2
  91. package/server/flow/nodes/switch.js +1 -20
  92. package/server/flow/nodes/userform.js +1 -28
  93. package/server/flow/nodes/webhook.js +1 -1
  94. package/server/flow/nodes/zaloSendMessage.js +1 -4
  95. package/server/flow/utils.js +1 -67
  96. package/server/global.js +1 -18
  97. package/server/libs/WorkerPool.js +1 -4
  98. package/server/libs/WorkerStaticPool.js +1 -20
  99. package/server/libs/assbonus.js +1 -7
  100. package/server/libs/asyncCompat.js +1 -10
  101. package/server/libs/backup.js +1 -2
  102. package/server/libs/blockchainconnect.js +1 -12
  103. package/server/libs/cdpsdiem.js +1 -5
  104. package/server/libs/cdpsdt.js +1 -7
  105. package/server/libs/cdpskh.js +1 -15
  106. package/server/libs/cdpsnphep.js +1 -6
  107. package/server/libs/cdpstk.js +1 -11
  108. package/server/libs/ckcn.js +1 -14
  109. package/server/libs/ckdiem.js +1 -5
  110. package/server/libs/ckdt.js +1 -6
  111. package/server/libs/cknphep.js +1 -6
  112. package/server/libs/cktk.js +1 -4
  113. package/server/libs/cktt.js +1 -10
  114. package/server/libs/ckvt.js +1 -14
  115. package/server/libs/ckvtcapphat.js +1 -6
  116. package/server/libs/ckvtnpp.js +1 -9
  117. package/server/libs/ckvttt.js +1 -12
  118. package/server/libs/createSocaitheongay.js +1 -9
  119. package/server/libs/ctdiem.js +1 -5
  120. package/server/libs/ctvt.js +1 -8
  121. package/server/libs/ctvtnpp.js +1 -8
  122. package/server/libs/ctvttt.js +1 -7
  123. package/server/libs/databanle.js +1 -17
  124. package/server/libs/databanlenpp.js +1 -8
  125. package/server/libs/databanletheongay.js +1 -25
  126. package/server/libs/dkcn.js +1 -14
  127. package/server/libs/dkdiem.js +1 -5
  128. package/server/libs/dkdt.js +1 -6
  129. package/server/libs/dknphep.js +1 -7
  130. package/server/libs/dktk.js +1 -5
  131. package/server/libs/dktt.js +1 -10
  132. package/server/libs/dkvt.js +1 -12
  133. package/server/libs/dkvtnpp.js +1 -8
  134. package/server/libs/dkvttt.js +1 -8
  135. package/server/libs/dncn.js +1 -6
  136. package/server/libs/dntk.js +1 -4
  137. package/server/libs/dntt.js +1 -6
  138. package/server/libs/docs.js +1 -672
  139. package/server/libs/dstkcn.js +1 -1
  140. package/server/libs/dstktt.js +1 -1
  141. package/server/libs/dtbanletheonpp.js +1 -17
  142. package/server/libs/dtbanletheosp.js +1 -16
  143. package/server/libs/dtbanletheospnpp.js +1 -15
  144. package/server/libs/email.js +1 -3
  145. package/server/libs/excel.js +1 -3
  146. package/server/libs/excelHelper.js +1 -10
  147. package/server/libs/executiveDashboard.js +1 -8
  148. package/server/libs/fifo_dk.js +1 -8
  149. package/server/libs/fifo_group.js +1 -4
  150. package/server/libs/fifo_trace_query.js +1 -12
  151. package/server/libs/getGiaban.js +1 -59
  152. package/server/libs/getGiabanAsync.js +1 -1
  153. package/server/libs/getNotifies.js +1 -1
  154. package/server/libs/htmlReport.js +1 -9
  155. package/server/libs/initDatabase.js +1 -9
  156. package/server/libs/invoiceEasy.js +1 -108
  157. package/server/libs/invoiceViettel.js +1 -25
  158. package/server/libs/invoiceVnpt.js +1 -22
  159. package/server/libs/joinData.js +1 -44
  160. package/server/libs/kpistatus.js +1 -47
  161. package/server/libs/kqchamcong.js +1 -12
  162. package/server/libs/kqhdkd.js +1 -8
  163. package/server/libs/load-template.js +1 -3
  164. package/server/libs/logger.js +1 -3
  165. package/server/libs/mailmanagement.js +1 -13
  166. package/server/libs/mongooseDeletePost.js +1 -6
  167. package/server/libs/mongooseLeanId.js +1 -1
  168. package/server/libs/mongoosePatch.js +1 -14
  169. package/server/libs/mongooseSecurityPlugin.js +1 -16
  170. package/server/libs/onepay-payment.js +1 -4
  171. package/server/libs/optimizeBookkeeping.js +1 -22
  172. package/server/libs/parse-template.js +1 -5
  173. package/server/libs/permission.js +1 -58
  174. package/server/libs/phanbokh.js +1 -3
  175. package/server/libs/post-book.js +1 -22
  176. package/server/libs/post-socai.js +1 -25
  177. package/server/libs/post-sokho.js +1 -26
  178. package/server/libs/prototypes.js +1 -24
  179. package/server/libs/psdt.js +1 -1
  180. package/server/libs/pskh.js +1 -1
  181. package/server/libs/pstk.js +1 -1
  182. package/server/libs/queryBuilding.js +1 -15
  183. package/server/libs/redis-cache.js +1 -34
  184. package/server/libs/restore.js +1 -1
  185. package/server/libs/sctcnkh.js +1 -20
  186. package/server/libs/sessionContext.js +2 -14
  187. package/server/libs/socaitk.js +1 -9
  188. package/server/libs/textReport.js +1 -5
  189. package/server/libs/thnxt.js +1 -17
  190. package/server/libs/thnxtnpp.js +1 -9
  191. package/server/libs/thnxttt.js +1 -9
  192. package/server/libs/tinhGt.js +1 -10
  193. package/server/libs/tinhGtCapnhatPNK.js +1 -7
  194. package/server/libs/tinhGtPhanboHeSo.js +1 -12
  195. package/server/libs/tinhGtPhanboSltp.js +1 -10
  196. package/server/libs/tinhGtPhanboYtcp.js +1 -11
  197. package/server/libs/tinhGtSltk.js +1 -9
  198. package/server/libs/tinhGtThcppstk.js +1 -10
  199. package/server/libs/tinhGtTrucTiep.js +1 -7
  200. package/server/libs/tinhGtXoa.js +1 -3
  201. package/server/libs/tinhgia1vt_fifo.js +1 -22
  202. package/server/libs/tinhgiafifo.js +1 -28
  203. package/server/libs/tinhgiatb.js +1 -30
  204. package/server/libs/tinhgiatb1vt.js +1 -7
  205. package/server/libs/tinhhoahong.js +1 -64
  206. package/server/libs/tinhhoahongnpp.js +1 -46
  207. package/server/libs/tinhkhauhao1ts.js +1 -12
  208. package/server/libs/tinhkhauhaots.js +1 -8
  209. package/server/libs/tuoinophaithu.js +1 -11
  210. package/server/libs/tuoinophaitra.js +1 -12
  211. package/server/libs/utils.js +1 -121
  212. package/server/libs/validate.js +1 -4
  213. package/server/libs/validator-acc-cust.js +1 -1
  214. package/server/libs/validator-account.js +1 -4
  215. package/server/libs/validator-vt.js +1 -2
  216. package/server/libs/validator.js +1 -11
  217. package/server/libs/vectorService.js +1 -16
  218. package/server/libs/viCollation.js +1 -4
  219. package/server/libs/vsocai.js +1 -11
  220. package/server/maps-demo/participant.js +18 -0
  221. package/server/models/account.js +1 -7
  222. package/server/models/actionLog.js +1 -2
  223. package/server/models/afflink.js +1 -2
  224. package/server/models/aimemory.js +1 -1
  225. package/server/models/app.js +1 -16
  226. package/server/models/approve.js +1 -95
  227. package/server/models/assabcihandler.js +1 -35
  228. package/server/models/assbank.js +1 -19
  229. package/server/models/assbooking.js +1 -4
  230. package/server/models/assbuy.js +1 -3
  231. package/server/models/asscashwithdraw.js +1 -4
  232. package/server/models/assfindhash.js +1 -2
  233. package/server/models/assinvestment.js +1 -13
  234. package/server/models/assissue.js +1 -2
  235. package/server/models/asskey.js +1 -15
  236. package/server/models/assneedtobuy.js +1 -6
  237. package/server/models/assperiod.js +1 -7
  238. package/server/models/assproduct.js +1 -13
  239. package/server/models/assprofitsharing.js +1 -4
  240. package/server/models/assreceiver.js +1 -2
  241. package/server/models/assrequest.js +1 -10
  242. package/server/models/asssell.js +1 -7
  243. package/server/models/asstransaction.js +1 -3
  244. package/server/models/asstransfer.js +1 -4
  245. package/server/models/assuser_identity.js +1 -4
  246. package/server/models/asswithdraw.js +1 -4
  247. package/server/models/attend.js +1 -2
  248. package/server/models/banggiaban.js +1 -8
  249. package/server/models/bangtinhluong.js +1 -5
  250. package/server/models/base.js +1 -1
  251. package/server/models/bg1.js +1 -9
  252. package/server/models/bg2.js +1 -10
  253. package/server/models/cache.js +1 -3
  254. package/server/models/cacheDataReport.js +1 -2
  255. package/server/models/cacheSessionReport.js +1 -5
  256. package/server/models/calllog.js +1 -4
  257. package/server/models/cart.js +1 -5
  258. package/server/models/cddiem.js +1 -2
  259. package/server/models/cddt.js +1 -3
  260. package/server/models/cdkh.js +1 -5
  261. package/server/models/cdkhtheongay.js +1 -5
  262. package/server/models/cdnphep.js +1 -2
  263. package/server/models/cdtk.js +1 -3
  264. package/server/models/cdtktheongay.js +1 -3
  265. package/server/models/cdvt.js +1 -5
  266. package/server/models/cdvtnpp.js +1 -6
  267. package/server/models/cdvttheongay.js +1 -5
  268. package/server/models/chamcong.js +1 -7
  269. package/server/models/chat_message.js +1 -2
  270. package/server/models/chat_session.js +1 -2
  271. package/server/models/checkin.js +1 -4
  272. package/server/models/checkinactivity.js +1 -3
  273. package/server/models/checkinkpi.js +1 -4
  274. package/server/models/checkinlocation.js +1 -2
  275. package/server/models/chitietluongds.js +1 -12
  276. package/server/models/chitieukpi.js +1 -3
  277. package/server/models/chudethaoluan.js +1 -3
  278. package/server/models/ckgtluong.js +1 -2
  279. package/server/models/colleague.js +1 -2
  280. package/server/models/comment.js +1 -4
  281. package/server/models/congdoansx.js +1 -4
  282. package/server/models/congtacvien.js +1 -4
  283. package/server/models/congthuctinhgiaban.js +1 -8
  284. package/server/models/consultant.js +1 -4
  285. package/server/models/contract.js +1 -6
  286. package/server/models/counter.js +1 -2
  287. package/server/models/csluongtheods.js +1 -3
  288. package/server/models/csphucap.js +1 -2
  289. package/server/models/ctds.js +1 -5
  290. package/server/models/ctds2.js +1 -7
  291. package/server/models/currency.js +1 -3
  292. package/server/models/custom_report.js +1 -1
  293. package/server/models/customer.js +1 -31
  294. package/server/models/customer_care.js +1 -2
  295. package/server/models/data_list_config.js +1 -7
  296. package/server/models/databanle.js +1 -8
  297. package/server/models/datlich.js +1 -4
  298. package/server/models/deal.js +1 -2
  299. package/server/models/dh2.js +1 -20
  300. package/server/models/diagram.js +1 -2
  301. package/server/models/dinhmucsx.js +1 -8
  302. package/server/models/dkhoc.js +1 -6
  303. package/server/models/dknphep.js +1 -2
  304. package/server/models/dmban.js +1 -3
  305. package/server/models/dmbp.js +1 -12
  306. package/server/models/dmca.js +1 -2
  307. package/server/models/dmchietkhau.js +1 -8
  308. package/server/models/dmchietkhauhd.js +1 -19
  309. package/server/models/dmchinhanh.js +1 -2
  310. package/server/models/dmcpmh.js +1 -2
  311. package/server/models/dmdiemthuong.js +1 -3
  312. package/server/models/dmdoi.js +1 -4
  313. package/server/models/dmdoituongdanhgia.js +1 -2
  314. package/server/models/dmdt.js +1 -8
  315. package/server/models/dmdvt.js +1 -3
  316. package/server/models/dmgiaban.js +1 -9
  317. package/server/models/dmgiamua.js +1 -5
  318. package/server/models/dmgiathitruong.js +1 -5
  319. package/server/models/dmgiathitruong_ngay.js +1 -2
  320. package/server/models/dmgiathitruong_theodoi.js +1 -2
  321. package/server/models/dmhoahonghd.js +1 -8
  322. package/server/models/dmhoahongnpp.js +1 -8
  323. package/server/models/dmkc.js +1 -3
  324. package/server/models/dmkho.js +1 -7
  325. package/server/models/dmkhuyenmai.js +1 -9
  326. package/server/models/dmkhuyenmaihd.js +1 -11
  327. package/server/models/dmletet.js +1 -2
  328. package/server/models/dmlo.js +1 -4
  329. package/server/models/dmloaicong.js +1 -4
  330. package/server/models/dmloaitask.js +1 -2
  331. package/server/models/dmloaits.js +1 -2
  332. package/server/models/dmnckkm.js +1 -4
  333. package/server/models/dmnghiepvu.js +1 -4
  334. package/server/models/dmnguonvon.js +1 -2
  335. package/server/models/dmnhnv.js +1 -4
  336. package/server/models/dmnv.js +1 -17
  337. package/server/models/dmnvt.js +1 -10
  338. package/server/models/dmphi.js +1 -3
  339. package/server/models/dmqct.js +1 -3
  340. package/server/models/dmqddvt.js +1 -3
  341. package/server/models/dmtanggiamts.js +1 -3
  342. package/server/models/dmto.js +1 -4
  343. package/server/models/dmtt.js +1 -6
  344. package/server/models/dmvt.js +1 -17
  345. package/server/models/dmyt.js +1 -4
  346. package/server/models/dn0.js +1 -13
  347. package/server/models/dnm.js +1 -11
  348. package/server/models/dokho.js +1 -2
  349. package/server/models/domain.js +1 -2
  350. package/server/models/dvcs.js +1 -3
  351. package/server/models/ecomcategories.js +1 -3
  352. package/server/models/ecomcategories_cty.js +1 -3
  353. package/server/models/ecomproductlines.js +1 -2
  354. package/server/models/ecompromotion_flashsales.js +1 -2
  355. package/server/models/ecompromotion_freeships.js +1 -2
  356. package/server/models/email.js +1 -2
  357. package/server/models/endpoint.js +1 -1
  358. package/server/models/events.js +1 -3
  359. package/server/models/evoucher.js +1 -5
  360. package/server/models/experiencejourney.js +1 -2
  361. package/server/models/experiencejourneydata.js +1 -4
  362. package/server/models/experiencejourneypersona.js +1 -3
  363. package/server/models/experiencejourneystage.js +1 -2
  364. package/server/models/exportexceltemplate.js +1 -2
  365. package/server/models/fbconversation.js +1 -15
  366. package/server/models/fbmessage.js +1 -2
  367. package/server/models/fbpage.js +1 -2
  368. package/server/models/fbpost.js +1 -2
  369. package/server/models/fieldright.js +1 -2
  370. package/server/models/fifo_dk.js +1 -2
  371. package/server/models/fifo_lot.js +1 -3
  372. package/server/models/fifo_trace.js +1 -4
  373. package/server/models/file.js +1 -4
  374. package/server/models/filechunk.js +1 -2
  375. package/server/models/financialroadmap.js +1 -3
  376. package/server/models/flow.js +1 -2
  377. package/server/models/flowdata.js +1 -3
  378. package/server/models/flowpending.js +1 -2
  379. package/server/models/folder.js +1 -4
  380. package/server/models/follow.js +1 -2
  381. package/server/models/forminfo.js +1 -5
  382. package/server/models/giaoca.js +1 -3
  383. package/server/models/giatb.js +1 -3
  384. package/server/models/group.js +1 -9
  385. package/server/models/gt_ctgt.js +1 -4
  386. package/server/models/gt_hspb.js +1 -3
  387. package/server/models/gt_sltk.js +1 -3
  388. package/server/models/gt_thcppstk.js +1 -3
  389. package/server/models/hanmucton.js +1 -4
  390. package/server/models/hd1.js +1 -11
  391. package/server/models/hd2.js +1 -26
  392. package/server/models/hd3.js +1 -17
  393. package/server/models/hd4.js +1 -13
  394. package/server/models/hd7.js +1 -17
  395. package/server/models/hd8.js +1 -12
  396. package/server/models/hde.js +1 -11
  397. package/server/models/hmcn.js +1 -3
  398. package/server/models/hmcnct.js +1 -2
  399. package/server/models/hspbts.js +1 -4
  400. package/server/models/htl.js +1 -13
  401. package/server/models/importexceltemplate.js +1 -2
  402. package/server/models/introducebonus.js +1 -4
  403. package/server/models/introducecode.js +1 -3
  404. package/server/models/introducer.js +1 -4
  405. package/server/models/kbbtpb.js +1 -7
  406. package/server/models/kbmPttct.js +1 -4
  407. package/server/models/kbmTkgtgt.js +1 -5
  408. package/server/models/kbm_bcdkt_old.js +1 -4
  409. package/server/models/kbm_kqhdkd_old.js +1 -3
  410. package/server/models/kbm_lcttgt_old.js +1 -5
  411. package/server/models/kbm_lctttt_old.js +1 -4
  412. package/server/models/kbm_pttct_old.js +1 -4
  413. package/server/models/kbm_tkgtgt_old.js +1 -5
  414. package/server/models/kbmbcdkt.js +1 -4
  415. package/server/models/kbmbcqt.js +1 -4
  416. package/server/models/kbmkqhdkd.js +1 -3
  417. package/server/models/kbmlcttgt.js +1 -6
  418. package/server/models/kbmlctttt.js +1 -4
  419. package/server/models/kbmtmbctc.js +1 -4
  420. package/server/models/kehoachdtcp.js +1 -3
  421. package/server/models/kehoachmh.js +1 -8
  422. package/server/models/keyresult.js +1 -7
  423. package/server/models/khunghangthanhvien.js +1 -3
  424. package/server/models/label.js +1 -2
  425. package/server/models/labelinfo.js +1 -2
  426. package/server/models/lenhcapphat.js +1 -8
  427. package/server/models/lenhsx.js +1 -8
  428. package/server/models/lienhe.js +1 -4
  429. package/server/models/like_module.js +1 -2
  430. package/server/models/link.js +1 -2
  431. package/server/models/listinfo_old.js +1 -124
  432. package/server/models/loaidiem.js +1 -2
  433. package/server/models/lock.js +1 -2
  434. package/server/models/log.js +1 -8
  435. package/server/models/mailaccount.js +1 -3
  436. package/server/models/mailgroup.js +1 -3
  437. package/server/models/mailreceived.js +1 -2
  438. package/server/models/mailsent.js +1 -2
  439. package/server/models/mailtemplate.js +1 -2
  440. package/server/models/maudanhgia.js +1 -2
  441. package/server/models/menuinfo.js +1 -2
  442. package/server/models/message.js +1 -8
  443. package/server/models/message2.js +1 -4
  444. package/server/models/message2setting.js +1 -3
  445. package/server/models/moduleinfo.js +1 -4
  446. package/server/models/momo.js +1 -18
  447. package/server/models/news.js +1 -3
  448. package/server/models/newsfeed.js +1 -4
  449. package/server/models/note.js +1 -2
  450. package/server/models/notification.js +1 -8
  451. package/server/models/okr.js +1 -4
  452. package/server/models/okrdiagram.js +1 -3
  453. package/server/models/onepay.js +1 -24
  454. package/server/models/opportunity.js +1 -4
  455. package/server/models/options.js +1 -2
  456. package/server/models/originimportid.js +1 -1
  457. package/server/models/otp.js +1 -1
  458. package/server/models/parameter.js +1 -2
  459. package/server/models/participant.js +1 -21
  460. package/server/models/partner.js +1 -1
  461. package/server/models/payload.js +1 -1
  462. package/server/models/pbl.js +1 -16
  463. package/server/models/pc0.js +1 -13
  464. package/server/models/pc1.js +1 -14
  465. package/server/models/pc2.js +1 -13
  466. package/server/models/pc3.js +1 -13
  467. package/server/models/pc5.js +1 -8
  468. package/server/models/pc6.js +1 -14
  469. package/server/models/pcl.js +1 -6
  470. package/server/models/pdn.js +1 -9
  471. package/server/models/pdx.js +1 -9
  472. package/server/models/pgh.js +1 -5
  473. package/server/models/phieudanhgia.js +1 -3
  474. package/server/models/pht.js +1 -8
  475. package/server/models/phucap.js +1 -4
  476. package/server/models/pkc.js +1 -6
  477. package/server/models/pkh.js +1 -6
  478. package/server/models/pkk.js +1 -10
  479. package/server/models/pkt.js +1 -12
  480. package/server/models/pn1.js +1 -18
  481. package/server/models/pn2.js +1 -12
  482. package/server/models/pn3.js +1 -13
  483. package/server/models/pn5.js +1 -14
  484. package/server/models/pn6.js +1 -14
  485. package/server/models/pn9.js +1 -17
  486. package/server/models/pnc.js +1 -9
  487. package/server/models/pnh.js +1 -11
  488. package/server/models/pnk.js +1 -10
  489. package/server/models/po1.js +1 -19
  490. package/server/models/ppb.js +1 -6
  491. package/server/models/productcode.js +1 -2
  492. package/server/models/profile.js +1 -4
  493. package/server/models/pt1.js +1 -12
  494. package/server/models/pt5.js +1 -8
  495. package/server/models/ptl.js +1 -5
  496. package/server/models/ptthanhtoan.js +1 -6
  497. package/server/models/purchase_contract.js +1 -17
  498. package/server/models/pxc.js +1 -9
  499. package/server/models/pxh.js +1 -11
  500. package/server/models/pxk.js +1 -9
  501. package/server/models/qts.js +1 -14
  502. package/server/models/qts_dieuchinh.js +1 -3
  503. package/server/models/qts_dieuchuyen.js +1 -4
  504. package/server/models/quanhuyen.js +1 -2
  505. package/server/models/reason.js +1 -2
  506. package/server/models/receivedinvoice.js +1 -2
  507. package/server/models/reportinfo.js +1 -5
  508. package/server/models/right.js +1 -4
  509. package/server/models/rpt.js +1 -2
  510. package/server/models/rptform.js +1 -3
  511. package/server/models/rptobject.js +1 -2
  512. package/server/models/sale_contract.js +1 -9
  513. package/server/models/schedule.js +1 -18
  514. package/server/models/schedule_log.js +1 -2
  515. package/server/models/shipbook.js +1 -12
  516. package/server/models/shortcut.js +1 -2
  517. package/server/models/smsaccount.js +1 -10
  518. package/server/models/smssend.js +1 -2
  519. package/server/models/so1.js +1 -22
  520. package/server/models/so5.js +1 -15
  521. package/server/models/so9.js +1 -19
  522. package/server/models/socai.js +1 -28
  523. package/server/models/socainpp.js +1 -18
  524. package/server/models/socaitc.js +1 -6
  525. package/server/models/socaitmp.js +1 -16
  526. package/server/models/socaitt.js +1 -4
  527. package/server/models/sodiemthuong.js +1 -4
  528. package/server/models/sokho.js +1 -27
  529. package/server/models/sokhocapphat.js +1 -18
  530. package/server/models/sokhokhongton.js +1 -19
  531. package/server/models/sokhonpp.js +1 -19
  532. package/server/models/sokhotc.js +1 -8
  533. package/server/models/sokhott.js +1 -18
  534. package/server/models/sophanbokh.js +1 -3
  535. package/server/models/sosanxuat.js +1 -5
  536. package/server/models/sotinhkh.js +1 -2
  537. package/server/models/spdd_ck.js +1 -3
  538. package/server/models/spdd_dk.js +1 -3
  539. package/server/models/step.js +1 -2
  540. package/server/models/strategicdiagram.js +1 -3
  541. package/server/models/strategicgoal.js +1 -4
  542. package/server/models/strategickpi.js +1 -6
  543. package/server/models/strategicobjective.js +1 -5
  544. package/server/models/strategicplan.js +1 -5
  545. package/server/models/subscribe.js +1 -2
  546. package/server/models/support.js +1 -2
  547. package/server/models/synctime.js +1 -2
  548. package/server/models/sys_job_queue_book_keeping.js +1 -2
  549. package/server/models/sysconfig.js +1 -2
  550. package/server/models/sysgroup.js +1 -2
  551. package/server/models/tableinfo.js +1 -3
  552. package/server/models/task.js +1 -9
  553. package/server/models/tc.js +1 -2
  554. package/server/models/tdttco.js +1 -9
  555. package/server/models/tdttco_tt.js +1 -5
  556. package/server/models/tdttno.js +1 -9
  557. package/server/models/tdttno_tt.js +1 -5
  558. package/server/models/templaterpt.js +1 -2
  559. package/server/models/templatestore.js +1 -3
  560. package/server/models/templatevoucher.js +1 -3
  561. package/server/models/tinhthanh.js +1 -2
  562. package/server/models/tokens.js +1 -3
  563. package/server/models/tontucthoi.js +1 -9
  564. package/server/models/trangthai.js +1 -4
  565. package/server/models/trangthaiapp.js +1 -4
  566. package/server/models/transaction.js +1 -16
  567. package/server/models/trialinfo.js +1 -2
  568. package/server/models/user.js +1 -40
  569. package/server/models/usergroup.js +1 -7
  570. package/server/models/vanchuyen.js +1 -12
  571. package/server/models/vat.js +1 -3
  572. package/server/models/vatra.js +1 -6
  573. package/server/models/vatvao.js +1 -6
  574. package/server/models/versioninfo.js +1 -2
  575. package/server/models/vietqrbanks.js +1 -2
  576. package/server/models/vsocai.js +1 -6
  577. package/server/models/wallet.js +1 -8
  578. package/server/models/warranty.js +1 -3
  579. package/server/models/warrantyclaim.js +1 -2
  580. package/server/models/warrantypolicy.js +1 -1
  581. package/server/models/workflow.js +1 -4
  582. package/server/models/xaphuong.js +1 -2
  583. package/server/models/xhd.js +1 -10
  584. package/server/models/ytdd_ck.js +1 -4
  585. package/server/models/ytdd_dk.js +1 -4
  586. package/server/models/zalo.js +1 -17
  587. package/server/modules/bot/webhook.js +1 -0
  588. package/server/modules/lists/bg-cddiem.js +1 -6
  589. package/server/modules/lists/bg-cddt.js +1 -7
  590. package/server/modules/lists/bg-cdkh.js +1 -11
  591. package/server/modules/lists/bg-cdnphep.js +1 -6
  592. package/server/modules/lists/bg-cdtk.js +1 -9
  593. package/server/modules/lists/bg-cdvt.js +1 -8
  594. package/server/modules/lists/bg-cdvtnpp.js +1 -8
  595. package/server/modules/lists/bg-fifo_dk.js +1 -8
  596. package/server/modules/lists/ls-account.js +1 -4
  597. package/server/modules/lists/ls-afflink.js +1 -3
  598. package/server/modules/lists/ls-approve.js +1 -5
  599. package/server/modules/lists/ls-assbank.js +1 -3
  600. package/server/modules/lists/ls-asscashwithdraw.js +1 -8
  601. package/server/modules/lists/ls-assissue.js +1 -3
  602. package/server/modules/lists/ls-asskey.js +1 -41
  603. package/server/modules/lists/ls-assreceiver.js +1 -3
  604. package/server/modules/lists/ls-assrequest.js +1 -4
  605. package/server/modules/lists/ls-asstransaction.js +1 -3
  606. package/server/modules/lists/ls-asstransfer.js +1 -3
  607. package/server/modules/lists/ls-assuser_identity.js +1 -1
  608. package/server/modules/lists/ls-bangtinhluong.js +1 -2
  609. package/server/modules/lists/ls-calllog.js +1 -4
  610. package/server/modules/lists/ls-cart.js +1 -14
  611. package/server/modules/lists/ls-chamcong.js +1 -3
  612. package/server/modules/lists/ls-chat_session.js +1 -5
  613. package/server/modules/lists/ls-checkin.js +1 -24
  614. package/server/modules/lists/ls-checkinactivity.js +1 -8
  615. package/server/modules/lists/ls-checkinkpi.js +1 -3
  616. package/server/modules/lists/ls-checkinlocation.js +1 -1
  617. package/server/modules/lists/ls-chitietluongds.js +1 -4
  618. package/server/modules/lists/ls-chitieukpi.js +1 -1
  619. package/server/modules/lists/ls-chudethaoluan.js +1 -1
  620. package/server/modules/lists/ls-ckgtluong.js +1 -1
  621. package/server/modules/lists/ls-comment.js +1 -9
  622. package/server/modules/lists/ls-congdoansx.js +1 -3
  623. package/server/modules/lists/ls-congtacvien.js +1 -5
  624. package/server/modules/lists/ls-consultant.js +1 -2
  625. package/server/modules/lists/ls-contract.js +1 -7
  626. package/server/modules/lists/ls-csluongtheods.js +1 -1
  627. package/server/modules/lists/ls-csphucap.js +1 -1
  628. package/server/modules/lists/ls-ctds.js +1 -4
  629. package/server/modules/lists/ls-ctds2.js +1 -4
  630. package/server/modules/lists/ls-currency.js +1 -1
  631. package/server/modules/lists/ls-customer.js +1 -22
  632. package/server/modules/lists/ls-customer_care.js +1 -1
  633. package/server/modules/lists/ls-datlich.js +1 -9
  634. package/server/modules/lists/ls-dckhauhaots.js +1 -3
  635. package/server/modules/lists/ls-deal.js +1 -3
  636. package/server/modules/lists/ls-diagram.js +1 -1
  637. package/server/modules/lists/ls-dkhoc.js +1 -6
  638. package/server/modules/lists/ls-dknphep.js +1 -1
  639. package/server/modules/lists/ls-dmban.js +1 -4
  640. package/server/modules/lists/ls-dmbp.js +1 -7
  641. package/server/modules/lists/ls-dmca.js +1 -1
  642. package/server/modules/lists/ls-dmchietkhau.js +1 -19
  643. package/server/modules/lists/ls-dmchietkhauhd.js +1 -4
  644. package/server/modules/lists/ls-dmchinhanh.js +1 -1
  645. package/server/modules/lists/ls-dmchucvu.js +1 -2
  646. package/server/modules/lists/ls-dmcpmh.js +1 -1
  647. package/server/modules/lists/ls-dmdiemthuong.js +1 -4
  648. package/server/modules/lists/ls-dmdoi.js +1 -4
  649. package/server/modules/lists/ls-dmdoituongdanhgia.js +1 -1
  650. package/server/modules/lists/ls-dmdt.js +1 -11
  651. package/server/modules/lists/ls-dmdvt.js +1 -2
  652. package/server/modules/lists/ls-dmgiaban.js +1 -4
  653. package/server/modules/lists/ls-dmgiamua.js +1 -4
  654. package/server/modules/lists/ls-dmgiathitruong.js +1 -15
  655. package/server/modules/lists/ls-dmgiathitruong_ngay.js +1 -2
  656. package/server/modules/lists/ls-dmgiathitruong_theodoi.js +1 -1
  657. package/server/modules/lists/ls-dmhoahonghd.js +1 -1
  658. package/server/modules/lists/ls-dmhoahongnpp.js +1 -1
  659. package/server/modules/lists/ls-dmkc.js +1 -3
  660. package/server/modules/lists/ls-dmkho.js +1 -7
  661. package/server/modules/lists/ls-dmkhuyenmai.js +1 -5
  662. package/server/modules/lists/ls-dmkhuyenmaihd.js +1 -3
  663. package/server/modules/lists/ls-dmletet.js +1 -1
  664. package/server/modules/lists/ls-dmlo.js +1 -1
  665. package/server/modules/lists/ls-dmloaicong.js +1 -1
  666. package/server/modules/lists/ls-dmloaits.js +1 -1
  667. package/server/modules/lists/ls-dmnckkm.js +1 -7
  668. package/server/modules/lists/ls-dmnghiepvu.js +1 -1
  669. package/server/modules/lists/ls-dmnguonvon.js +1 -1
  670. package/server/modules/lists/ls-dmnhnv.js +1 -6
  671. package/server/modules/lists/ls-dmnhtask.js +1 -5
  672. package/server/modules/lists/ls-dmnkh.js +1 -6
  673. package/server/modules/lists/ls-dmntt.js +1 -6
  674. package/server/modules/lists/ls-dmnv.js +1 -14
  675. package/server/modules/lists/ls-dmnvt.js +1 -7
  676. package/server/modules/lists/ls-dmphi.js +1 -6
  677. package/server/modules/lists/ls-dmqct.js +1 -2
  678. package/server/modules/lists/ls-dmqddvt.js +1 -3
  679. package/server/modules/lists/ls-dmtanggiamts.js +1 -1
  680. package/server/modules/lists/ls-dmto.js +1 -5
  681. package/server/modules/lists/ls-dmtt.js +1 -7
  682. package/server/modules/lists/ls-dmvt.js +1 -52
  683. package/server/modules/lists/ls-dmyt.js +1 -1
  684. package/server/modules/lists/ls-dokho.js +1 -1
  685. package/server/modules/lists/ls-dvcs.js +1 -1
  686. package/server/modules/lists/ls-ecomcategories.js +1 -5
  687. package/server/modules/lists/ls-ecomcategories_cty.js +1 -5
  688. package/server/modules/lists/ls-email.js +1 -4
  689. package/server/modules/lists/ls-events.js +1 -3
  690. package/server/modules/lists/ls-evoucher.js +1 -3
  691. package/server/modules/lists/ls-experiencejourney.js +1 -1
  692. package/server/modules/lists/ls-experiencejourneydata.js +1 -3
  693. package/server/modules/lists/ls-experiencejourneypersona.js +1 -4
  694. package/server/modules/lists/ls-experiencejourneystage.js +1 -1
  695. package/server/modules/lists/ls-fbconversation.js +1 -2
  696. package/server/modules/lists/ls-fbmessage.js +1 -2
  697. package/server/modules/lists/ls-fbpage.js +1 -11
  698. package/server/modules/lists/ls-fbpost.js +1 -2
  699. package/server/modules/lists/ls-file.js +1 -38
  700. package/server/modules/lists/ls-financialroadmap.js +1 -3
  701. package/server/modules/lists/ls-flow.js +1 -6
  702. package/server/modules/lists/ls-flowdata.js +1 -1
  703. package/server/modules/lists/ls-flowpending.js +1 -3
  704. package/server/modules/lists/ls-folder.js +1 -1
  705. package/server/modules/lists/ls-forminfo.js +1 -1
  706. package/server/modules/lists/ls-giaoca.js +1 -5
  707. package/server/modules/lists/ls-group.js +1 -5
  708. package/server/modules/lists/ls-hmcn.js +1 -2
  709. package/server/modules/lists/ls-hspbts.js +1 -3
  710. package/server/modules/lists/ls-introducebonus.js +1 -4
  711. package/server/modules/lists/ls-introducecode.js +1 -10
  712. package/server/modules/lists/ls-introducer.js +1 -21
  713. package/server/modules/lists/ls-kbm-bcdkt.js +1 -1
  714. package/server/modules/lists/ls-kbm-bcqt.js +1 -5
  715. package/server/modules/lists/ls-kbm-kqhdkd.js +1 -1
  716. package/server/modules/lists/ls-kbm-lcttgt.js +1 -1
  717. package/server/modules/lists/ls-kbm-lctttt.js +1 -1
  718. package/server/modules/lists/ls-kbm-pttct.js +1 -3
  719. package/server/modules/lists/ls-kbm-tkgtgt.js +1 -3
  720. package/server/modules/lists/ls-kbm-tmbctc.js +1 -3
  721. package/server/modules/lists/ls-kehoachdtcp.js +1 -4
  722. package/server/modules/lists/ls-keyresult.js +1 -7
  723. package/server/modules/lists/ls-khunghangthanhvien.js +1 -1
  724. package/server/modules/lists/ls-label.js +1 -1
  725. package/server/modules/lists/ls-lienhe.js +1 -4
  726. package/server/modules/lists/ls-like-module.js +1 -1
  727. package/server/modules/lists/ls-link.js +1 -1
  728. package/server/modules/lists/ls-loaidiem.js +1 -1
  729. package/server/modules/lists/ls-lock.js +1 -1
  730. package/server/modules/lists/ls-log.js +1 -3
  731. package/server/modules/lists/ls-mailaccount.js +1 -5
  732. package/server/modules/lists/ls-mailreceived.js +1 -5
  733. package/server/modules/lists/ls-mailsent.js +1 -4
  734. package/server/modules/lists/ls-mailtemplate.js +1 -4
  735. package/server/modules/lists/ls-maudanhgia.js +1 -3
  736. package/server/modules/lists/ls-message2.js +1 -8
  737. package/server/modules/lists/ls-message2setting.js +1 -5
  738. package/server/modules/lists/ls-news.js +1 -7
  739. package/server/modules/lists/ls-newsfeed.js +1 -4
  740. package/server/modules/lists/ls-note.js +1 -6
  741. package/server/modules/lists/ls-okr.js +1 -5
  742. package/server/modules/lists/ls-okrdiagram.js +1 -1
  743. package/server/modules/lists/ls-opportunity.js +1 -5
  744. package/server/modules/lists/ls-options.js +1 -4
  745. package/server/modules/lists/ls-parameter.js +1 -3
  746. package/server/modules/lists/ls-participant.js +1 -12
  747. package/server/modules/lists/ls-phieudanhgia.js +1 -7
  748. package/server/modules/lists/ls-phucap.js +1 -2
  749. package/server/modules/lists/ls-productcode.js +1 -9
  750. package/server/modules/lists/ls-profile.js +1 -1
  751. package/server/modules/lists/ls-ptthanhtoan.js +1 -3
  752. package/server/modules/lists/ls-qts-dieuchinh.js +1 -2
  753. package/server/modules/lists/ls-qts-dieuchuyen.js +1 -8
  754. package/server/modules/lists/ls-reason.js +1 -1
  755. package/server/modules/lists/ls-rpt.js +1 -5
  756. package/server/modules/lists/ls-rptform.js +1 -3
  757. package/server/modules/lists/ls-shortcut.js +1 -1
  758. package/server/modules/lists/ls-smsaccount.js +1 -1
  759. package/server/modules/lists/ls-smssend.js +1 -3
  760. package/server/modules/lists/ls-sosanxuat.js +1 -4
  761. package/server/modules/lists/ls-step.js +1 -1
  762. package/server/modules/lists/ls-strategicdiagram.js +1 -1
  763. package/server/modules/lists/ls-strategicgoal.js +1 -3
  764. package/server/modules/lists/ls-strategickpi.js +1 -7
  765. package/server/modules/lists/ls-strategicobjective.js +1 -3
  766. package/server/modules/lists/ls-strategicplan.js +1 -6
  767. package/server/modules/lists/ls-support.js +1 -3
  768. package/server/modules/lists/ls-task.js +1 -28
  769. package/server/modules/lists/ls-tc.js +1 -1
  770. package/server/modules/lists/ls-templaterpt.js +1 -5
  771. package/server/modules/lists/ls-templatevoucher.js +1 -1
  772. package/server/modules/lists/ls-tontucthoi.js +1 -3
  773. package/server/modules/lists/ls-trangthaiapp.js +1 -3
  774. package/server/modules/lists/ls-transaction.js +1 -4
  775. package/server/modules/lists/ls-usergroup.js +1 -7
  776. package/server/modules/lists/ls-vat.js +1 -1
  777. package/server/modules/lists/ls-vatra.js +1 -5
  778. package/server/modules/lists/ls-vatvao.js +1 -6
  779. package/server/modules/lists/ls-warranty.js +1 -3
  780. package/server/modules/lists/ls-workflow.js +1 -1
  781. package/server/modules/lists/ls_hanmucton.js +1 -3
  782. package/server/modules/lists/ls_hspb.js +1 -4
  783. package/server/modules/lists/ls_spdd_ck.js +1 -3
  784. package/server/modules/lists/ls_spdd_dk.js +1 -3
  785. package/server/modules/lists/ls_ytdd_ck.js +1 -4
  786. package/server/modules/lists/ls_ytdd_dk.js +1 -4
  787. package/server/modules/lists/sys-attend.js +1 -4
  788. package/server/modules/lists/sys-follow.js +1 -4
  789. package/server/modules/lists/sys-right.js +1 -2
  790. package/server/modules/public/app.js +1 -4
  791. package/server/modules/public/approve.js +1 -37
  792. package/server/modules/public/callin.js +1 -7
  793. package/server/modules/public/comment.js +1 -5
  794. package/server/modules/public/dmnvt.js +1 -4
  795. package/server/modules/public/dmvt.js +1 -9
  796. package/server/modules/public/file.js +1 -11
  797. package/server/modules/public/forminfo.js +1 -1
  798. package/server/modules/public/group.js +1 -4
  799. package/server/modules/public/introducecode.js +1 -1
  800. package/server/modules/public/listinfo.js +1 -1
  801. package/server/modules/public/media-webhook.js +1 -1
  802. package/server/modules/public/partner.js +1 -1
  803. package/server/modules/public/paymentCallback.js +1 -32
  804. package/server/modules/public/province.js +1 -1
  805. package/server/modules/public/ptthanhtoan.js +1 -4
  806. package/server/modules/public/subscribe.js +1 -30
  807. package/server/modules/public/support.js +1 -3
  808. package/server/modules/public/tableinfo.js +1 -1
  809. package/server/modules/public/trialinfo.js +1 -4
  810. package/server/modules/public/versioninfo.js +1 -1
  811. package/server/modules/reports/calc-tinhgiafifo.js +1 -8
  812. package/server/modules/reports/calc-tinhgiatb.js +1 -7
  813. package/server/modules/reports/calc-tinhgiathanh.js +1 -7
  814. package/server/modules/reports/calc-tinhkhauhaots.js +1 -3
  815. package/server/modules/reports/calc-tinhluong.js +1 -68
  816. package/server/modules/reports/rp-assbonus.js +1 -4
  817. package/server/modules/reports/rp-asssupply.js +1 -1
  818. package/server/modules/reports/rp-asstransferlog.js +1 -10
  819. package/server/modules/reports/rp-backup.js +1 -4
  820. package/server/modules/reports/rp-banggiatb.js +1 -3
  821. package/server/modules/reports/rp-bangtinhkhauhao.js +1 -6
  822. package/server/modules/reports/rp-baoCaoFifoKy.js +1 -1
  823. package/server/modules/reports/rp-baocaokhachhang.js +1 -6
  824. package/server/modules/reports/rp-bcdkt.js +1 -11
  825. package/server/modules/reports/rp-bcintroducebonus.js +1 -4
  826. package/server/modules/reports/rp-bckhtiemnang.js +1 -3
  827. package/server/modules/reports/rp-bcqt.js +1 -85
  828. package/server/modules/reports/rp-bkchamcong.js +1 -5
  829. package/server/modules/reports/rp-bkct.js +1 -13
  830. package/server/modules/reports/rp-bkshipbook.js +1 -8
  831. package/server/modules/reports/rp-bkvanchuyen.js +1 -8
  832. package/server/modules/reports/rp-bkvatra.js +1 -7
  833. package/server/modules/reports/rp-bkvatvao.js +1 -7
  834. package/server/modules/reports/rp-capnhatsocaitc.js +1 -4
  835. package/server/modules/reports/rp-cdpsdiem.js +1 -4
  836. package/server/modules/reports/rp-cdpsdt.js +1 -5
  837. package/server/modules/reports/rp-cdpskh.js +1 -8
  838. package/server/modules/reports/rp-cdpsnphep.js +1 -3
  839. package/server/modules/reports/rp-cdpstk.js +1 -4
  840. package/server/modules/reports/rp-chitietchitientheohoadon.js +1 -12
  841. package/server/modules/reports/rp-chitiettaisan.js +1 -13
  842. package/server/modules/reports/rp-chitietthutientheohoadon.js +1 -13
  843. package/server/modules/reports/rp-ckcn.js +1 -3
  844. package/server/modules/reports/rp-ckdiem.js +1 -2
  845. package/server/modules/reports/rp-cktk.js +1 -3
  846. package/server/modules/reports/rp-ckvt.js +1 -10
  847. package/server/modules/reports/rp-ckvttheokho.js +1 -4
  848. package/server/modules/reports/rp-ckvttheotg.js +1 -4
  849. package/server/modules/reports/rp-ckvttt.js +1 -3
  850. package/server/modules/reports/rp-congnophaithutheotuoino.js +1 -3
  851. package/server/modules/reports/rp-congnophaitratheotuoino.js +1 -3
  852. package/server/modules/reports/rp-congnosapthu.js +1 -4
  853. package/server/modules/reports/rp-congnosaptra.js +1 -4
  854. package/server/modules/reports/rp-congviectheobp.js +1 -9
  855. package/server/modules/reports/rp-congviectheodt.js +1 -8
  856. package/server/modules/reports/rp-congviectheokh.js +1 -8
  857. package/server/modules/reports/rp-congviectheonv.js +1 -9
  858. package/server/modules/reports/rp-congviectheotimeline.js +1 -6
  859. package/server/modules/reports/rp-ctbanle.js +1 -15
  860. package/server/modules/reports/rp-ctbanle2.js +1 -20
  861. package/server/modules/reports/rp-ctbanlectv.js +1 -20
  862. package/server/modules/reports/rp-ctbanlenpp.js +1 -24
  863. package/server/modules/reports/rp-ctdanhgianhanvien.js +1 -8
  864. package/server/modules/reports/rp-cthangbanbitralai.js +1 -4
  865. package/server/modules/reports/rp-ctmuahang.js +1 -7
  866. package/server/modules/reports/rp-cttralaihang.js +1 -4
  867. package/server/modules/reports/rp-databanle.js +1 -10
  868. package/server/modules/reports/rp-diemthuong.js +1 -2
  869. package/server/modules/reports/rp-dkcn.js +1 -3
  870. package/server/modules/reports/rp-dktk.js +1 -2
  871. package/server/modules/reports/rp-dsnhanviencm.js +1 -9
  872. package/server/modules/reports/rp-dsnhanvientb.js +1 -9
  873. package/server/modules/reports/rp-dtbanlekempk.js +1 -12
  874. package/server/modules/reports/rp-dtbanletheoct.js +1 -22
  875. package/server/modules/reports/rp-dtbanletheoctkempk.js +1 -25
  876. package/server/modules/reports/rp-dtbanletheokh.js +1 -17
  877. package/server/modules/reports/rp-dtbanletheokhnpp.js +1 -19
  878. package/server/modules/reports/rp-dtbanletheokho.js +1 -15
  879. package/server/modules/reports/rp-dtbanletheonam.js +1 -3
  880. package/server/modules/reports/rp-dtbanletheongay.js +1 -1
  881. package/server/modules/reports/rp-dtbanletheonpp.js +1 -23
  882. package/server/modules/reports/rp-dtbanletheonv.js +1 -19
  883. package/server/modules/reports/rp-dtbanletheoquy.js +1 -3
  884. package/server/modules/reports/rp-dtbanletheosp.js +1 -9
  885. package/server/modules/reports/rp-dtbanletheospnpp.js +1 -6
  886. package/server/modules/reports/rp-dtbanletheothang.js +1 -3
  887. package/server/modules/reports/rp-dtbanletheothungan.js +1 -12
  888. package/server/modules/reports/rp-dtbanletheovt.js +1 -2
  889. package/server/modules/reports/rp-dtbanletheovtnpp.js +1 -2
  890. package/server/modules/reports/rp-dutoanthuchitheodt.js +1 -4
  891. package/server/modules/reports/rp-getPXC2PNC.js +1 -8
  892. package/server/modules/reports/rp-getariseofaccountsbymonth.js +1 -4
  893. package/server/modules/reports/rp-getbtpb.js +1 -6
  894. package/server/modules/reports/rp-getcashbycashier.js +1 -7
  895. package/server/modules/reports/rp-getcschietkhau.js +1 -5
  896. package/server/modules/reports/rp-getdinhmuc4lenhcp.js +1 -7
  897. package/server/modules/reports/rp-getdinhmuc4pxk.js +1 -9
  898. package/server/modules/reports/rp-getdk4pht.js +1 -8
  899. package/server/modules/reports/rp-getdk4pkc.js +1 -10
  900. package/server/modules/reports/rp-getdttheoca.js +1 -5
  901. package/server/modules/reports/rp-getinvoice2pay.js +1 -4
  902. package/server/modules/reports/rp-getinvoice2receive.js +1 -4
  903. package/server/modules/reports/rp-getinvoice2return.js +1 -5
  904. package/server/modules/reports/rp-getinvoice2return_bl.js +1 -6
  905. package/server/modules/reports/rp-getkehoachmh4lenhcp.js +1 -4
  906. package/server/modules/reports/rp-getkhauhao.js +1 -7
  907. package/server/modules/reports/rp-getluong.js +1 -8
  908. package/server/modules/reports/rp-getluongchuyen.js +1 -5
  909. package/server/modules/reports/rp-getpn2fee.js +1 -5
  910. package/server/modules/reports/rp-getpn2return.js +1 -5
  911. package/server/modules/reports/rp-getthanhpham4pnk.js +1 -7
  912. package/server/modules/reports/rp-getvc2xhd.js +1 -11
  913. package/server/modules/reports/rp-gt_cpnvltt.js +1 -6
  914. package/server/modules/reports/rp-hangbanbitralai.js +1 -5
  915. package/server/modules/reports/rp-hangthanhvien.js +1 -3
  916. package/server/modules/reports/rp-hoadonbanhangtheohantt.js +1 -5
  917. package/server/modules/reports/rp-hoadonmuahangtheohantt.js +1 -5
  918. package/server/modules/reports/rp-hoahong.js +1 -15
  919. package/server/modules/reports/rp-kcsns.js +1 -19
  920. package/server/modules/reports/rp-kgchamcong.js +1 -1
  921. package/server/modules/reports/rp-khoaso.js +1 -11
  922. package/server/modules/reports/rp-kiemtrasocaitcvssocai.js +1 -6
  923. package/server/modules/reports/rp-kqdanhgianhanvien.js +1 -5
  924. package/server/modules/reports/rp-kqhdkd.js +1 -1
  925. package/server/modules/reports/rp-lcttgt.js +1 -16
  926. package/server/modules/reports/rp-lctttt.js +1 -11
  927. package/server/modules/reports/rp-linkslist.js +1 -4
  928. package/server/modules/reports/rp-phanbochitienchohoadon.js +1 -11
  929. package/server/modules/reports/rp-phanbothutienchohoadon.js +1 -11
  930. package/server/modules/reports/rp-ptbitralai.js +1 -7
  931. package/server/modules/reports/rp-ptcttct.js +1 -24
  932. package/server/modules/reports/rp-ptdonhang.js +1 -8
  933. package/server/modules/reports/rp-pttct.js +1 -52
  934. package/server/modules/reports/rp-pttctkho.js +1 -32
  935. package/server/modules/reports/rp-pttctkho2.js +1 -29
  936. package/server/modules/reports/rp-referredusers.js +1 -5
  937. package/server/modules/reports/rp-sctbhxh.js +1 -4
  938. package/server/modules/reports/rp-sctcnkh.js +1 -11
  939. package/server/modules/reports/rp-sctdiem.js +1 -3
  940. package/server/modules/reports/rp-sctdt.js +1 -7
  941. package/server/modules/reports/rp-sctdtcp.js +1 -11
  942. package/server/modules/reports/rp-sctluong.js +1 -6
  943. package/server/modules/reports/rp-sctthuetncn.js +1 -4
  944. package/server/modules/reports/rp-scttk.js +1 -9
  945. package/server/modules/reports/rp-sctvt.js +1 -5
  946. package/server/modules/reports/rp-sctvt_sl.js +1 -5
  947. package/server/modules/reports/rp-sctvtnpp.js +1 -6
  948. package/server/modules/reports/rp-sctvttt.js +1 -5
  949. package/server/modules/reports/rp-search.js +1 -4
  950. package/server/modules/reports/rp-socai.js +1 -6
  951. package/server/modules/reports/rp-socaitk.js +1 -1
  952. package/server/modules/reports/rp-sochut.js +1 -7
  953. package/server/modules/reports/rp-sokho.js +1 -7
  954. package/server/modules/reports/rp-sokhott.js +1 -5
  955. package/server/modules/reports/rp-sonkbh.js +1 -5
  956. package/server/modules/reports/rp-sonkc.js +1 -6
  957. package/server/modules/reports/rp-sonkct.js +1 -5
  958. package/server/modules/reports/rp-sonkmh.js +1 -5
  959. package/server/modules/reports/rp-sonktt.js +1 -5
  960. package/server/modules/reports/rp-soquy.js +1 -11
  961. package/server/modules/reports/rp-sosanhkhvatt.js +1 -13
  962. package/server/modules/reports/rp-sosanhkhvatt2.js +1 -5
  963. package/server/modules/reports/rp-sotaisan.js +1 -13
  964. package/server/modules/reports/rp-sotiengui.js +1 -7
  965. package/server/modules/reports/rp-taodinhmuctudkhoc.js +1 -5
  966. package/server/modules/reports/rp-thbanhangkempk.js +1 -28
  967. package/server/modules/reports/rp-thdanhgianhanvien.js +1 -9
  968. package/server/modules/reports/rp-thgt.js +1 -6
  969. package/server/modules/reports/rp-thnxt.js +1 -11
  970. package/server/modules/reports/rp-thnxt_sl.js +1 -9
  971. package/server/modules/reports/rp-thnxtnpp.js +1 -10
  972. package/server/modules/reports/rp-thnxttt.js +1 -9
  973. package/server/modules/reports/rp-tkbanhangtheogioithieu.js +1 -9
  974. package/server/modules/reports/rp-tkgioithieukh.js +1 -4
  975. package/server/modules/reports/rp-tkgtgt.js +1 -76
  976. package/server/modules/reports/rp-tkgtgt_old.js +1 -7
  977. package/server/modules/reports/rp-tmbctc.js +1 -20
  978. package/server/modules/reports/rp-tonghopbanhang.js +1 -6
  979. package/server/modules/reports/rp-tonghopmuahang.js +1 -5
  980. package/server/modules/reports/rp-tonghoptralaihang.js +1 -5
  981. package/server/modules/reports/rp-tongquanbanle.js +1 -20
  982. package/server/modules/reports/rp-tongquanbds.js +1 -3
  983. package/server/modules/reports/rp-tongquancongty.js +1 -6
  984. package/server/modules/reports/rp-tongquanctvnpp.js +1 -12
  985. package/server/modules/reports/rp-tongquannvbh.js +1 -14
  986. package/server/modules/reports/rp-tongquannvnpp.js +1 -5
  987. package/server/modules/reports/rp-uoctinhnvl.js +1 -11
  988. package/server/modules/reports/rp-wallet.js +1 -3
  989. package/server/modules/reports/rpt-tkdiemtichluy.js +1 -9
  990. package/server/modules/systems/sys-app.js +1 -34
  991. package/server/modules/systems/sys-colleague.js +1 -11
  992. package/server/modules/systems/sys-data_list_config.js +1 -1
  993. package/server/modules/systems/sys-domain.js +1 -1
  994. package/server/modules/systems/sys-ecomproductlines.js +1 -1
  995. package/server/modules/systems/sys-exportexceltemplate.js +1 -1
  996. package/server/modules/systems/sys-fieldright.js +1 -1
  997. package/server/modules/systems/sys-importexceltemplate.js +1 -1
  998. package/server/modules/systems/sys-labelinfo.js +1 -3
  999. package/server/modules/systems/sys-listinfo.js +1 -10
  1000. package/server/modules/systems/sys-menuinfo.js +1 -1
  1001. package/server/modules/systems/sys-message.js +1 -14
  1002. package/server/modules/systems/sys-moduleinfo.js +1 -2
  1003. package/server/modules/systems/sys-notification.js +1 -8
  1004. package/server/modules/systems/sys-quanhuyen.js +1 -1
  1005. package/server/modules/systems/sys-reportinfo.js +1 -5
  1006. package/server/modules/systems/sys-rptobject.js +1 -1
  1007. package/server/modules/systems/sys-schedule.js +1 -10
  1008. package/server/modules/systems/sys-sysconfig.js +1 -1
  1009. package/server/modules/systems/sys-sysgroup.js +1 -1
  1010. package/server/modules/systems/sys-tableinfo.js +1 -1
  1011. package/server/modules/systems/sys-templatestore.js +1 -5
  1012. package/server/modules/systems/sys-tinhthanh.js +1 -1
  1013. package/server/modules/systems/sys-token.js +1 -3
  1014. package/server/modules/systems/sys-trangthai.js +1 -3
  1015. package/server/modules/systems/sys-trialinfo.js +1 -1
  1016. package/server/modules/systems/sys-user.js +1 -45
  1017. package/server/modules/systems/sys-users.js +1 -10
  1018. package/server/modules/systems/sys-versioninfo.js +1 -1
  1019. package/server/modules/systems/sys-vietqrbanks.js +1 -1
  1020. package/server/modules/systems/sys-xaphuong.js +1 -1
  1021. package/server/modules/vouchers/vo-banggiaban.js +1 -8
  1022. package/server/modules/vouchers/vo-bc1.js +1 -34
  1023. package/server/modules/vouchers/vo-bc5.js +1 -15
  1024. package/server/modules/vouchers/vo-bg1.js +1 -10
  1025. package/server/modules/vouchers/vo-bg2.js +1 -12
  1026. package/server/modules/vouchers/vo-bn1.js +1 -36
  1027. package/server/modules/vouchers/vo-bn5.js +1 -15
  1028. package/server/modules/vouchers/vo-dh2.js +1 -35
  1029. package/server/modules/vouchers/vo-dinhmucsx.js +1 -6
  1030. package/server/modules/vouchers/vo-dkb.js +1 -21
  1031. package/server/modules/vouchers/vo-dn0.js +1 -9
  1032. package/server/modules/vouchers/vo-dnm.js +1 -20
  1033. package/server/modules/vouchers/vo-hd1.js +1 -37
  1034. package/server/modules/vouchers/vo-hd2.js +1 -108
  1035. package/server/modules/vouchers/vo-hd3.js +1 -38
  1036. package/server/modules/vouchers/vo-hd4.js +1 -13
  1037. package/server/modules/vouchers/vo-hd7.js +1 -29
  1038. package/server/modules/vouchers/vo-hd8.js +1 -29
  1039. package/server/modules/vouchers/vo-hde.js +1 -39
  1040. package/server/modules/vouchers/vo-htl.js +1 -11
  1041. package/server/modules/vouchers/vo-kbbtpb.js +1 -6
  1042. package/server/modules/vouchers/vo-kehoachmh.js +1 -11
  1043. package/server/modules/vouchers/vo-lenhcapphat.js +1 -9
  1044. package/server/modules/vouchers/vo-lenhsx.js +1 -12
  1045. package/server/modules/vouchers/vo-pbl.js +1 -94
  1046. package/server/modules/vouchers/vo-pc0.js +1 -14
  1047. package/server/modules/vouchers/vo-pc1.js +1 -31
  1048. package/server/modules/vouchers/vo-pc2.js +1 -25
  1049. package/server/modules/vouchers/vo-pc3.js +1 -14
  1050. package/server/modules/vouchers/vo-pc5.js +1 -15
  1051. package/server/modules/vouchers/vo-pc6.js +1 -19
  1052. package/server/modules/vouchers/vo-pcl.js +1 -7
  1053. package/server/modules/vouchers/vo-pdn.js +1 -11
  1054. package/server/modules/vouchers/vo-pdx.js +1 -9
  1055. package/server/modules/vouchers/vo-pgh.js +1 -16
  1056. package/server/modules/vouchers/vo-pht.js +1 -6
  1057. package/server/modules/vouchers/vo-pkc.js +1 -5
  1058. package/server/modules/vouchers/vo-pkh.js +1 -9
  1059. package/server/modules/vouchers/vo-pkk.js +1 -12
  1060. package/server/modules/vouchers/vo-pkt.js +1 -12
  1061. package/server/modules/vouchers/vo-pn1.js +1 -30
  1062. package/server/modules/vouchers/vo-pn2.js +1 -17
  1063. package/server/modules/vouchers/vo-pn3.js +1 -18
  1064. package/server/modules/vouchers/vo-pn5.js +1 -18
  1065. package/server/modules/vouchers/vo-pn6.js +1 -18
  1066. package/server/modules/vouchers/vo-pn9.js +1 -23
  1067. package/server/modules/vouchers/vo-pnc.js +1 -19
  1068. package/server/modules/vouchers/vo-pnh.js +1 -17
  1069. package/server/modules/vouchers/vo-pnk.js +1 -14
  1070. package/server/modules/vouchers/vo-pnknpp.js +1 -12
  1071. package/server/modules/vouchers/vo-po1.js +1 -14
  1072. package/server/modules/vouchers/vo-ppb.js +1 -8
  1073. package/server/modules/vouchers/vo-pt1.js +1 -20
  1074. package/server/modules/vouchers/vo-pt5.js +1 -15
  1075. package/server/modules/vouchers/vo-ptl.js +1 -8
  1076. package/server/modules/vouchers/vo-purchase_contract.js +1 -9
  1077. package/server/modules/vouchers/vo-pxc.js +1 -24
  1078. package/server/modules/vouchers/vo-pxh.js +1 -18
  1079. package/server/modules/vouchers/vo-pxk.js +1 -15
  1080. package/server/modules/vouchers/vo-pxknpp.js +1 -14
  1081. package/server/modules/vouchers/vo-qts.js +1 -12
  1082. package/server/modules/vouchers/vo-sale_contract.js +1 -11
  1083. package/server/modules/vouchers/vo-shipbook.js +1 -17
  1084. package/server/modules/vouchers/vo-so1.js +1 -125
  1085. package/server/modules/vouchers/vo-so5.js +1 -57
  1086. package/server/modules/vouchers/vo-so7.js +1 -97
  1087. package/server/modules/vouchers/vo-so9.js +1 -119
  1088. package/server/modules/vouchers/vo-vanchuyen.js +1 -14
  1089. package/server/modules/vouchers/vo-xhd.js +1 -33
  1090. package/server/route.js +1 -54
  1091. package/server/services/invoiceFetcher.js +1 -12
  1092. package/server/sslConfig.js +1 -2
  1093. package/server/test/array.js +59 -0
  1094. package/server/test/utils.js +191 -0
  1095. package/server/tools/agent-benchmark.js +268 -0
  1096. package/server/tools/redis-smoke-test.js +195 -0
  1097. package/server/workers/backupApp.js +1 -10
  1098. package/server/workers/calcGrid.js +1 -9
  1099. package/server/workers/excelParser.js +1 -10
  1100. package/server/workers/inputWorker.js +1 -8
  1101. package/server/workers/pushNotify.js +1 -11
  1102. package/server/workers/reportWorker.js +1 -8
  1103. package/server/workers/restoreApp.js +1 -10
  1104. package/server/workers/runScript.js +1 -5
  1105. package/server/workers/sendEmail.js +1 -14
  1106. package/server/workers/webhook.js +1 -5
  1107. package/server/workers/worker-utils.js +1 -5
  1108. package/enable_mongo_replica.sh +0 -100
  1109. package/server/auths/local_old.js +0 -60
  1110. package/server/controllers/controllerUtils_v1.js +0 -72
  1111. package/server/controllers/controller_old.js +0 -129
  1112. package/server/controllers/createHandler_old.js +0 -35
  1113. package/server/controllers/deleteHandler_old.js +0 -12
  1114. package/server/controllers/exportHandler_old.js +0 -17
  1115. package/server/controllers/findHandler_old.js +0 -74
  1116. package/server/controllers/importFromJsonHandler_old.js +0 -6
  1117. package/server/controllers/importHandler_old.js +0 -41
  1118. package/server/controllers/updateFieldHandler_old.js +0 -13
  1119. package/server/controllers/updateHandler_old.js +0 -40
  1120. package/server/controllers/viewHandler_old.js +0 -14
  1121. package/server/libs/BlockchainTransactionPool.js +0 -3
  1122. package/server/libs/WorkerStaticPool_v1.js +0 -5
  1123. package/server/libs/WorkerStaticPool_v2.js +0 -16
  1124. package/server/libs/WorkerStaticPool_v3.js +0 -19
  1125. package/server/libs/cdpskh_old.js +0 -9
  1126. package/server/libs/ckcn_old.js +0 -11
  1127. package/server/libs/cktt_old.js +0 -9
  1128. package/server/libs/ckvt_old.js +0 -12
  1129. package/server/libs/databanle_old.js +0 -18
  1130. package/server/libs/dkcn_old.js +0 -10
  1131. package/server/libs/dktt_old.js +0 -8
  1132. package/server/libs/dkvt_old.js +0 -9
  1133. package/server/libs/getGiaban_old.js +0 -70
  1134. package/server/libs/joinData_bk.js +0 -44
  1135. package/server/libs/optimizeBookkeeping_bk.js +0 -14
  1136. package/server/libs/permission_old.js +0 -58
  1137. package/server/libs/thnxt_old.js +0 -9
  1138. package/server/libs/tinhgiatb1vt_old.js +0 -5
  1139. package/server/libs/tinhgiatb_old.js +0 -39
  1140. package/server/libs/vsocai_old.js +0 -7
  1141. package/server/modules/lists/ls-assabcihandler.js +0 -3
  1142. package/server/modules/lists/ls-assbooking.js +0 -20
  1143. package/server/modules/lists/ls-assbuy.js +0 -8
  1144. package/server/modules/lists/ls-assinvestment.js +0 -31
  1145. package/server/modules/lists/ls-assneedtobuy.js +0 -10
  1146. package/server/modules/lists/ls-assperiod.js +0 -19
  1147. package/server/modules/lists/ls-assproduct.js +0 -9
  1148. package/server/modules/lists/ls-assprofitsharing.js +0 -8
  1149. package/server/modules/lists/ls-asssell.js +0 -13
  1150. package/server/modules/lists/ls-asswithdraw.js +0 -12
  1151. package/server/modules/reports/rp-analyzedata.js +0 -6
  1152. package/server/modules/reports/rp-assinterest.js +0 -8
  1153. package/server/modules/reports/rp-assproductowners.js +0 -3
  1154. package/server/workers/restoreApp_bk.js +0 -23
@@ -1,44 +1 @@
1
- const {generateText,stepCountIs,pruneMessages}=require("ai"),{createOpenAI}=require("@ai-sdk/openai"),chatController=require("./chatController"),{decrypt}=require("../libs/utils"),{createFinanceTools}=require("./tools/financeTools"),{createStaffTools}=require("./tools/staffTools"),{createRagTools}=require("./tools/ragTools"),{createMasterDataTools}=require("./tools/masterDataTools"),tenantConfigs={},SYSTEM_PROMPT=`# VAI TR\u00d2 V\u00c0 \u0110\u1ecaA V\u1eca C\u1ee6A B\u1ea0N
2
- B\u1ea1n l\u00e0 Tr\u1ee3 l\u00fd AI N\u1ed9i b\u1ed9, l\u00e0 ng\u01b0\u1eddi c\u1ed9ng s\u1ef1 \u0111\u1eafc l\u1ef1c c\u1ee7a t\u1eebng Nh\u00e2n vi\u00ean trong c\u00f4ng ty. Nhi\u1ec7m v\u1ee5 c\u1ee7a b\u1ea1n l\u00e0 h\u1ed7 tr\u1ee3 nh\u00e2n s\u1ef1 t\u1ef1 tra c\u1ee9u th\u00f4ng tin c\u00e1 nh\u00e2n (ch\u1ea5m c\u00f4ng, doanh s\u1ed1 b\u00e1n h\u00e0ng, b\u1ea3ng l\u01b0\u01a1ng), ki\u1ec3m tra th\u00f4ng tin s\u1ea3n ph\u1ea9m/d\u1ecbch v\u1ee5, c\u1eadp nh\u1eadt ch\u00ednh s\u00e1ch chi\u1ebft kh\u1ea5u, khuy\u1ebfn m\u00e3i, tra c\u1ee9u tri th\u1ee9c n\u1ed9i b\u1ed9 v\u00e0 h\u1ed7 tr\u1ee3 so\u1ea1n th\u1ea3o/g\u1eedi email chuy\u00ean nghi\u1ec7p.
3
-
4
- # NGUY\u00caN T\u1eaeC GIAO TI\u1ebeP & T\u00c1C PHONG
5
- 1. T\u00e1c phong: Th\u00e2n thi\u1ec7n, l\u1ecbch s\u1ef1, chu \u0111\u00e1o nh\u01b0ng b\u1ea3o m\u1eadt. S\u1eed d\u1ee5ng ng\u00f4n t\u1eeb ti\u1ebfng Vi\u1ec7t c\u00f4ng s\u1edf chu\u1ea9n m\u1ef1c. X\u01b0ng "Em" v\u00e0 g\u1ecdi ng\u01b0\u1eddi d\u00f9ng l\u00e0 "Anh/Ch\u1ecb" ho\u1eb7c "S\u1ebfp" (n\u1ebfu l\u00e0 qu\u1ea3n l\u00fd).
6
- 2. Tr\u00ecnh b\u00e0y scannable: Lu\u00f4n tr\u1ef1c quan h\u00f3a d\u1eef li\u1ec7u b\u1eb1ng B\u1ea2NG BI\u1ec2U (Markdown tables), danh s\u00e1ch g\u1ea1ch \u0111\u1ea7u d\u00f2ng v\u00e0 \u0111\u1ecbnh d\u1ea1ng in \u0111\u1eadm (**bold**) c\u00e1c th\u00f4ng tin quan tr\u1ecdng (M\u00e3 s\u1ea3n ph\u1ea9m, s\u1ed1 ng\u00e0y c\u00f4ng, s\u1ed1 ti\u1ec1n, m\u00e3 khuy\u1ebfn m\u00e3i).
7
- 3. B\u1ea3o m\u1eadt tuy\u1ec7t \u0111\u1ed1i: Nh\u00e2n vi\u00ean ch\u1ec9 \u0111\u01b0\u1ee3c xem d\u1eef li\u1ec7u c\u1ee7a CH\u00cdNH H\u1ecc (tr\u1eeb khi h\u1ecd l\u00e0 b\u1ed9 ph\u1eadn \u0111\u01b0\u1ee3c ph\u00e2n quy\u1ec1n nh\u01b0 K\u1ebf to\u00e1n/Qu\u1ea3n l\u00fd). Kh\u00f4ng ti\u1ebft l\u1ed9 m\u00e3 code h\u1ec7 th\u1ed1ng, c\u1ea5u tr\u00fac database, ho\u1eb7c ID n\u1ed9i b\u1ed9 ("id_app", "user_id") cho ng\u01b0\u1eddi d\u00f9ng.
8
-
9
- # QUY TR\u00ccNH \u0110I\u1ec0U H\u01af\u1edaNG C\u00d4NG C\u1ee4 (STAFF WORKFLOW PROTOCOL)
10
- Khi nh\u1eadn \u0111\u01b0\u1ee3c c\u00e2u h\u1ecfi t\u1eeb nh\u00e2n vi\u00ean, b\u1ea1n ph\u1ea3i th\u1ef1c hi\u1ec7n t\u01b0 duy \u0111a b\u01b0\u1edbc v\u00e0 k\u00edch ho\u1ea1t ch\u00ednh x\u00e1c c\u00e1c c\u00f4ng c\u1ee5 theo c\u00e1c t\u00ecnh hu\u1ed1ng sau:
11
-
12
- ## 1. T\u1ef1 tra c\u1ee9u Ch\u1ea5m c\u00f4ng & Ng\u00e0y c\u00f4ng c\u1ee7a B\u1ea3n th\u00e2n:
13
- - Khi nh\u00e2n vi\u00ean h\u1ecfi v\u1ec1 t\u00ecnh h\u00ecnh \u0111i l\u00e0m, s\u1ed1 ng\u00e0y c\u00f4ng, ng\u00e0y ngh\u1ec9 ph\u00e9p c\u1ee7a CH\u00cdNH H\u1ecc (V\u00ed d\u1ee5: "Th\u00e1ng n\u00e0y em \u0111\u01b0\u1ee3c bao nhi\u00eau c\u00f4ng?", "Anh xem gi\u00f9m t\u00f4i c\u00f2n m\u1ea5y ng\u00e0y ph\u00e9p") $\rightarrow$ K\u00edch ho\u1ea1t "getAttendanceReportTool".
14
- - **B\u1eaeT BU\u1ed8C:** Thi\u1ebft l\u1eadp tham s\u1ed1 "is_self_service: true" v\u00e0 b\u1ecf tr\u1ed1ng tr\u01b0\u1eddng "ma_nv". H\u1ec7 th\u1ed1ng s\u1ebd t\u1ef1 \u0111\u1ed9ng b\u1ed1c "user_id" \u0111\u1ec3 tra c\u1ee9u, \u0111\u1ea3m b\u1ea3o b\u1ea3o m\u1eadt.
15
- - *L\u01b0u \u00fd:* Ch\u1ec9 truy\u1ec1n "is_self_service: false" v\u00e0 \u0111i\u1ec1n "ma_nv" khi ng\u01b0\u1eddi d\u00f9ng l\u00e0 Qu\u1ea3n l\u00fd/K\u1ebf to\u00e1n l\u01b0\u01a1ng \u0111ang c\u00f3 nhu c\u1ea7u tra c\u1ee9u cho nh\u00e2n vi\u00ean kh\u00e1c d\u01b0\u1edbi quy\u1ec1n.
16
-
17
- ## 2. Tra c\u1ee9u Doanh s\u1ed1 b\u00e1n h\u00e0ng & Hi\u1ec7u su\u1ea5t c\u00e1 nh\u00e2n:
18
- - Khi nh\u00e2n vi\u00ean mu\u1ed1n xem doanh s\u1ed1 b\u00e1n l\u1ebb, s\u1ed1 l\u01b0\u1ee3ng h\u00e0ng m\u00ecnh \u0111\u00e3 xu\u1ea5t b\u00e1n, ho\u1eb7c s\u1ed1 ti\u1ec1n hoa h\u1ed3ng m\u00ecnh nh\u1eadn \u0111\u01b0\u1ee3c $\rightarrow$ G\u1ecdi c\u00f4ng c\u1ee5 "getKpiAndCommissionTool".
19
- - \u0110\u1ec3 xem chi ti\u1ebft c\u00e1c h\u00f3a \u0111\u01a1n b\u00e1n h\u00e0ng do m\u00ecnh tr\u1ef1c ti\u1ebfp th\u1ef1c hi\u1ec7n trong k\u1ef3 $\rightarrow$ G\u1ecdi "getSalesReportTool" (Truy\u1ec1n m\u00e3 nh\u00e2n vi\u00ean c\u1ee7a h\u1ecd v\u00e0o b\u1ed9 l\u1ecdc n\u1ebfu c\u1ea7n).
20
-
21
- ## 3. Tra c\u1ee9u S\u1ea3n ph\u1ea9m, D\u1ecbch v\u1ee5, Gi\u00e1 b\u00e1n & Khuy\u1ebfn m\u00e3i:
22
- - Khi c\u1ea7n ki\u1ec3m tra th\u00f4ng tin chi ti\u1ebft c\u1ee7a m\u1ed9t m\u1eb7t h\u00e0ng $\rightarrow$ G\u1ecdi "lookupMasterDataTool" (ch\u1ecdn type: "product") \u0111\u1ec3 l\u1ea5y ch\u00ednh x\u00e1c M\u00e3 v\u1eadt t\u01b0 ("ma_vt"). N\u1ebfu tool lookupMasterDataTool tr\u1ea3 v\u1ec1 nhi\u1ec1u k\u1ebft qu\u1ea3 th\u00ec c\u1ea7n hi\u1ec7n ra danh s\u00e1ch \u0111\u00e3 t\u00ecm th\u1ea5y v\u00e0 h\u1ecfi ng\u1eeboi d\u00f9ng xem ch\u1ecdn c\u00e1i n\u00e0o.
23
- - \u0110\u1ec3 tra c\u1ee9u gi\u00e1 b\u00e1n, ch\u00ednh s\u00e1ch chi\u1ebft kh\u1ea5u, hoa h\u1ed3ng ho\u1eb7c c\u00e1c ch\u01b0\u01a1ng tr\u00ecnh khuy\u1ebfn m\u00e3i \u0111ang \u00e1p d\u1ee5ng cho s\u1ea3n ph\u1ea9m \u0111\u00f3 $\rightarrow$ G\u1ecdi "getProductPriceAndPromotionTool" (B\u1eaft bu\u1ed9c truy\u1ec1n "ma_vt" \u0111\u00e3 t\u00ecm \u0111\u01b0\u1ee3c \u1edf b\u01b0\u1edbc tr\u00ean).
24
- - \u0110\u1ec3 ki\u1ec3m tra xem s\u1ea3n ph\u1ea9m \u0111\u00f3 hi\u1ec7n c\u00f2n h\u00e0ng \u1edf kho n\u00e0o \u0111\u1ec3 t\u01b0 v\u1ea5n cho kh\u00e1ch $\rightarrow$ G\u1ecdi "getInventorySummaryTool".
25
-
26
- ## 4. Tra c\u1ee9u Th\u00f4ng tin C\u00f4ng ty & Tri th\u1ee9c N\u1ed9i b\u1ed9:
27
- - Khi c\u1ea7n l\u1ea5y th\u00f4ng tin ph\u00e1p l\u00fd c\u1ee7a c\u00f4ng ty (T\u00ean ch\u00ednh th\u1ee9c, MST, hotline, \u0111\u1ecba ch\u1ec9) \u0111\u1ec3 l\u00e0m ch\u00e2n trang v\u0103n b\u1ea3n $\rightarrow$ G\u1ecdi "getCompanyInfoTool".
28
- - Khi c\u1ea7n tra c\u1ee9u quy ch\u1ebf n\u1ed9i b\u1ed9, ch\u00ednh s\u00e1ch th\u01b0\u1edfng ph\u1ea1t, quy tr\u00ecnh xin ngh\u1ec9 ph\u00e9p, ho\u1eb7c n\u1ed9i dung c\u00e1c v\u0103n b\u1ea3n/h\u1ee3p \u0111\u1ed3ng \u0111\u00ednh k\u00e8m $\rightarrow$ G\u1ecdi "searchKnowledgeBaseTool" (ph\u1ea1m vi "company").
29
-
30
- ## 5. So\u1ea1n th\u1ea3o & G\u1eedi Email l\u00e0m vi\u1ec7c:
31
- - Khi nh\u00e2n vi\u00ean y\u00eau c\u1ea7u g\u1eedi b\u00e1o c\u00e1o, g\u1eedi b\u00e1o gi\u00e1 ho\u1eb7c t\u00e0i li\u1ec7u cho kh\u00e1ch h\u00e0ng/c\u1ea5p tr\u00ean $\rightarrow$ So\u1ea1n th\u1ea3o n\u1ed9i dung ho\u00e0n ch\u1ec9nh d\u01b0\u1edbi d\u1ea1ng HTML (s\u1eed d\u1ee5ng c\u00e1c th\u1ebb "<p>", "<b>", "<br/>", "<table>" \u0111\u1ec3 k\u1ebb b\u1ea3ng s\u1ed1 li\u1ec7u n\u1ebfu c\u00f3) v\u00e0 ti\u1ebfn h\u00e0nh g\u1eedi th\u00f4ng qua "sendEmailTool".
32
- - H\u00e3y ch\u1ee7 \u0111\u1ed9ng k\u1ebft h\u1ee3p v\u1edbi "getCompanyInfoTool" \u0111\u1ec3 l\u1ea5y th\u00f4ng tin ch\u00e8n ph\u1ea7n k\u00fd t\u00ean (Footer) trang tr\u1ecdng \u1edf cu\u1ed1i th\u01b0.
33
-
34
- # QUY TR\u00ccNH X\u1eec L\u00dd KHI KH\u00d4NG C\u00d3 D\u1eee LI\u1ec6U
35
- - Tuy\u1ec7t \u0111\u1ed1i KH\u00d4NG \u0111\u01b0a ra c\u00e1c th\u00f4ng b\u00e1o l\u1ed7i k\u1ef9 thu\u1eadt h\u1ec7 th\u1ed1ng (nh\u01b0 "l\u1ed7i database", "null", "undefined").
36
- - N\u1ebfu h\u1ec7 th\u1ed1ng ch\u01b0a tr\u1ea3 v\u1ec1 s\u1ed1 li\u1ec7u: "Anh/Ch\u1ecb vui l\u00f2ng ki\u1ec3m tra l\u1ea1i b\u1ed9 l\u1ecdc kho\u1ea3ng th\u1eddi gian. Hi\u1ec7n t\u1ea1i h\u1ec7 th\u1ed1ng ch\u01b0a ghi nh\u1eadn ph\u00e1t sinh d\u1eef li\u1ec7u cho m\u1ee5c n\u00e0y trong k\u1ef3 y\u00eau c\u1ea7u."
37
-
38
- # QUY T\u1eaeC TH\u1edcI GIAN TH\u1ef0C T\u1ebe
39
- Lu\u00f4n ghi nh\u1edb m\u1ed1c th\u1eddi gian hi\u1ec7n t\u1ea1i c\u1ee7a h\u1ec7 th\u1ed1ng (N\u0103m ${(new Date).getFullYear}) \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng t\u00ednh to\u00e1n ch\u00ednh x\u00e1c ng\u00e0y b\u1eaft \u0111\u1ea7u v\u00e0 ng\u00e0y k\u1ebft th\u00fac ("tu_ngay", "den_ngay") khi nh\u00e2n vi\u00ean h\u1ecfi c\u00e1c c\u1ee5m t\u1eeb \u0111\u1ed9ng nh\u01b0: "th\u00e1ng n\u00e0y", "th\u00e1ng tr\u01b0\u1edbc", "tu\u1ea7n n\u00e0y", "t\u1eeb \u0111\u1ea7u n\u0103m \u0111\u1ebfn nay".`;
40
- async function runStaffAgent($id_app$$,$user_id$$,$session_id$$,$userPrompt$$){try{if(!tenantConfigs[$id_app$$]){const $app$$=await global.getModel("app").findOne({_id:$id_app$$},{openapi_key:1,openapi_gpt_model:1});if(!$app$$||!$app$$.openapi_key)throw Error("Ch\u01b0a khai b\u00e1o OpenAPI key cho h\u1ec7 th\u1ed1ng.");const $openapi_key$$=decrypt($app$$.openapi_key.replace("flexbiz::",""),!1);tenantConfigs[$id_app$$]={openaiInstance:createOpenAI({apiKey:$openapi_key$$}),gptModel:$app$$.openapi_gpt_model||
41
- "gpt-5.4-mini"}}const {openaiInstance:$openaiInstance$$,gptModel:$gptModel$$}=tenantConfigs[$id_app$$];$session_id$$||=(await chatController.createSession($id_app$$,$user_id$$,$userPrompt$$.substring(0,1024)))._id.toString();const $messagesToSend$$=[...(await chatController.getChatHistory($id_app$$,$session_id$$,30)),{role:"user",content:$userPrompt$$}],$optimizedMessages$$=pruneMessages({messages:$messagesToSend$$,reasoning:"all",toolCalls:"before-last-message"}),{getSalesReportTool:$getSalesReportTool$$}=
42
- createFinanceTools($id_app$$,$user_id$$),$activeTools$$={getSalesReportTool:$getSalesReportTool$$,...createStaffTools($id_app$$,$user_id$$),...createRagTools($id_app$$,$user_id$$),...createMasterDataTools($id_app$$,$user_id$$)},$result$$=await generateText({model:$openaiInstance$$.chat($gptModel$$),system:SYSTEM_PROMPT,messages:$optimizedMessages$$,tools:$activeTools$$,stopWhen:stepCountIs(10)});Logger.info("[ceoAgent] l\u01b0u messages v\u00e0o database..");const $msgsToSave$$=[{role:"user",content:$userPrompt$$},
43
- ...$result$$.response.messages.map($msg$$=>({role:$msg$$.role,content:$msg$$.content?Array.isArray($msg$$.content)?$msg$$.content[0]?.text:$msg$$.content:"",tool_calls:$msg$$.tool_calls||null,tool_call_id:$msg$$.tool_call_id||null,messages:[$msg$$]}))];try{await chatController.saveMessages($id_app$$,$session_id$$,$msgsToSave$$)}catch($e$$){Logger.error("[agents][runFinanceAgent] kh\u00f4ng th\u1ec3 l\u01b0u n\u1ed9i dung chat. Err:",$e$$)}return{session_id:$session_id$$,answer:$msgsToSave$$.length>
44
- 1?$msgsToSave$$.pop()?.content||"Kh\u00f4ng c\u00f3 ph\u1ea3n h\u1ed3i":"Kh\u00f4ng c\u00f3 k\u1ebft qu\u1ea3 ph\u1ea3n h\u1ed3i"}}catch($error$$){throw console.error(`[L\u1ed7i Agent Staff] App: ${$id_app$$} | Session: ${$session_id$$} | Err:`,$error$$),Error($error$$.message);}}module.exports=runStaffAgent;
1
+ const _0x18e9fa=_0x3556;(function(_0x4dee7f,_0x47fd74){const _0x5e7817=_0x3556,_0x2daa0a=_0x4dee7f();while(!![]){try{const _0x469125=-parseInt(_0x5e7817(0xcb))/0x1*(parseInt(_0x5e7817(0xd0))/0x2)+parseInt(_0x5e7817(0xab))/0x3*(parseInt(_0x5e7817(0xa9))/0x4)+parseInt(_0x5e7817(0xbb))/0x5+parseInt(_0x5e7817(0x97))/0x6*(parseInt(_0x5e7817(0xe0))/0x7)+-parseInt(_0x5e7817(0xcd))/0x8*(-parseInt(_0x5e7817(0xe2))/0x9)+-parseInt(_0x5e7817(0xc8))/0xa*(-parseInt(_0x5e7817(0x96))/0xb)+-parseInt(_0x5e7817(0xb0))/0xc;if(_0x469125===_0x47fd74)break;else _0x2daa0a['push'](_0x2daa0a['shift']());}catch(_0x501ad5){_0x2daa0a['push'](_0x2daa0a['shift']());}}}(_0x343e,0x284f5));const {generateText,stepCountIs,pruneMessages}=require('ai'),chatController=require(_0x18e9fa(0x99)+'tCont'+_0x18e9fa(0xa0)+'r'),{loadTenantModel}=require(_0x18e9fa(0x91)+'dTena'+_0x18e9fa(0xac)+'el'),{createFinanceTools}=require(_0x18e9fa(0xb2)+_0x18e9fa(0xb3)+_0x18e9fa(0xa6)+'Tools'),{createStaffTools}=require(_0x18e9fa(0xb2)+_0x18e9fa(0x9e)+_0x18e9fa(0xb1)+_0x18e9fa(0xb7)),{createRagTools}=require('./too'+'ls/ra'+'gTool'+'s'),{createMasterDataTools}=require(_0x18e9fa(0xb2)+_0x18e9fa(0xc2)+_0x18e9fa(0xe4)+_0x18e9fa(0xaf)+_0x18e9fa(0xb7)),SYSTEM_PROMPT=require(_0x18e9fa(0xcc)+_0x18e9fa(0xc3)+_0x18e9fa(0xa5));async function runStaffAgent(_0x59434c,_0xbbf4c7,_0x9f1c02,_0x24fda0){const _0x908b79=_0x18e9fa;try{const _0xcc1c71=await loadTenantModel(_0x59434c);if(!_0x9f1c02){const _0x8a0182=await chatController[_0x908b79(0xdf)+'eSess'+'ion'](_0x59434c,_0xbbf4c7,_0x24fda0[_0x908b79(0xbc)+_0x908b79(0xdb)](0x0,0x400));_0x9f1c02=_0x8a0182[_0x908b79(0xa3)][_0x908b79(0xc7)+_0x908b79(0x94)]();}const _0x6ab4d8=await chatController[_0x908b79(0xc1)+_0x908b79(0xc4)+_0x908b79(0xd4)](_0x59434c,_0x9f1c02,0x1e),_0x4cfeea={};_0x4cfeea[_0x908b79(0xa7)]='user',_0x4cfeea[_0x908b79(0xe3)+'nt']=_0x24fda0;const _0x2f1297=[..._0x6ab4d8,_0x4cfeea],_0x3285f5={};_0x3285f5['messa'+_0x908b79(0xad)]=_0x2f1297,_0x3285f5[_0x908b79(0xb8)+_0x908b79(0xd9)]=_0x908b79(0xd8),_0x3285f5[_0x908b79(0xd2)+_0x908b79(0xa8)]=_0x908b79(0x98)+'e-las'+_0x908b79(0xb6)+'sage';const _0x3cfbdc=pruneMessages(_0x3285f5),{getSalesReportTool:_0x5199ad}=createFinanceTools(_0x59434c,_0xbbf4c7),_0x57236e={'getSalesReportTool':_0x5199ad,...createStaffTools(_0x59434c,_0xbbf4c7),...createRagTools(_0x59434c,_0xbbf4c7),...createMasterDataTools(_0x59434c,_0xbbf4c7)},_0x566355=await generateText({'model':_0xcc1c71,'system':SYSTEM_PROMPT,'messages':_0x3cfbdc,'tools':_0x57236e,'stopWhen':stepCountIs(0xa)});Logger['info'](_0x908b79(0xb9)+'gent]'+'\x20lưu\x20'+'messa'+'ges\x20v'+'ào\x20da'+_0x908b79(0x9c)+_0x908b79(0xa1));const _0x49ae77={};_0x49ae77['role']=_0x908b79(0x93),_0x49ae77['conte'+'nt']=_0x24fda0;const _0x295c75=[_0x49ae77,..._0x566355[_0x908b79(0xb4)+'nse']['messa'+_0x908b79(0xad)][_0x908b79(0xbd)](_0x20feb8=>({'role':_0x20feb8[_0x908b79(0xa7)],'content':_0x20feb8[_0x908b79(0xe3)+'nt']?Array[_0x908b79(0xde)+'ay'](_0x20feb8['conte'+'nt'])?_0x20feb8[_0x908b79(0xe3)+'nt'][0x0]?.[_0x908b79(0xc6)]:_0x20feb8['conte'+'nt']:'','tool_calls':_0x20feb8[_0x908b79(0xa2)+'calls']||null,'tool_call_id':_0x20feb8[_0x908b79(0xa2)+_0x908b79(0xd3)+'id']||null,'messages':[_0x20feb8]}))];try{await chatController[_0x908b79(0xe5)+'essag'+'es'](_0x59434c,_0x9f1c02,_0x295c75);}catch(_0x50c21e){Logger['error'](_0x908b79(0xcf)+_0x908b79(0xd5)+_0x908b79(0x95)+_0x908b79(0xd7)+_0x908b79(0xbe)+_0x908b79(0xce)+_0x908b79(0xc0)+_0x908b79(0xdd)+_0x908b79(0xdc)+'ung\x20c'+_0x908b79(0xb5)+_0x908b79(0x9f),_0x50c21e);}return{'session_id':_0x9f1c02,'answer':_0x295c75[_0x908b79(0xd6)+'h']>0x1?_0x295c75[_0x908b79(0x92)]()?.[_0x908b79(0xe3)+'nt']||_0x908b79(0xa4)+_0x908b79(0xaa)+_0x908b79(0xae)+'ồi':_0x908b79(0xa4)+'\x20có\x20k'+_0x908b79(0x9d)+_0x908b79(0xbf)+_0x908b79(0xc5)};}catch(_0x1eccce){console[_0x908b79(0x9b)]('[Lỗi\x20'+_0x908b79(0xda)+_0x908b79(0xe1)+_0x908b79(0xba)+'p:\x20'+_0x59434c+(_0x908b79(0xd1)+_0x908b79(0x9a)+':\x20')+_0x9f1c02+(_0x908b79(0xca)+'r:'),_0x1eccce);throw new Error(_0x1eccce['messa'+'ge']);}}function _0x3556(_0x26d4ba,_0x392373){_0x26d4ba=_0x26d4ba-0x91;const _0x343e93=_0x343e();let _0x3556b9=_0x343e93[_0x26d4ba];if(_0x3556['HFmHIp']===undefined){var _0x3b99fb=function(_0x1d5dc4){const _0x4fa1e1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e6864='',_0x2a4fdc='';for(let _0x244332=0x0,_0x59434c,_0xbbf4c7,_0x9f1c02=0x0;_0xbbf4c7=_0x1d5dc4['charAt'](_0x9f1c02++);~_0xbbf4c7&&(_0x59434c=_0x244332%0x4?_0x59434c*0x40+_0xbbf4c7:_0xbbf4c7,_0x244332++%0x4)?_0x4e6864+=String['fromCharCode'](0xff&_0x59434c>>(-0x2*_0x244332&0x6)):0x0){_0xbbf4c7=_0x4fa1e1['indexOf'](_0xbbf4c7);}for(let _0x24fda0=0x0,_0xcc1c71=_0x4e6864['length'];_0x24fda0<_0xcc1c71;_0x24fda0++){_0x2a4fdc+='%'+('00'+_0x4e6864['charCodeAt'](_0x24fda0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a4fdc);};_0x3556['NGzCWe']=_0x3b99fb,_0x3556['DmWULp']={},_0x3556['HFmHIp']=!![];}const _0x5328bb=_0x343e93[0x0],_0x8110bc=_0x26d4ba+_0x5328bb,_0x5cb801=_0x3556['DmWULp'][_0x8110bc];return!_0x5cb801?(_0x3556b9=_0x3556['NGzCWe'](_0x3556b9),_0x3556['DmWULp'][_0x8110bc]=_0x3556b9):_0x3556b9=_0x5cb801,_0x3556b9;}function _0x343e(){const _0x20ca9f=['x2LK','s2JdTg5N','C3rHzMy','BMfUy2u','CM9Szq','ywXSCW','mJm0mZKYyLjfDuLJ','igpdSYbW','m3vvue9wwG','BNrnB2q','z2vZ','Aog6O24GAa','yxrHvg8','mJy5mZe5nNfWCfjHsq','ywzMvg8','lI90B28','BhmVzMK','CMvZCg8','Agf0lIa','Dc1Tzxm','B2XZ','CMvHC28','w2nLB0e','zL0Gqxa','nti5nZqWu2Dwz29v','C3vIC3q','BwfW','z2vUDf0','4BQJihbO4BQJ','zYb0Aog7GW','z2v0q2G','BhmVBwe','Bxb0CY8','yxriAxm','BIbO4BUtAq','Dgv4Da','Dg9tDhi','mte5merdAxb5vW','zxHWB3i','ihWGrxi','mJK0n3bltMnYvG','lI9WCM8','nZjtAMjNyxy','igTOW7rU','w2fNzw4','mtq0A1jRrvLS','ihWGu2u','Dg9VBem','y2fSBf8','Dg9YEq','DhnDw3i','BgvUz3q','yw5Jzue','ywXS','BMLUzW','qwDLBNq','CMLUzW','BUg7MwKGza','igZgShuG','AxnbCNi','y3jLyxq','ntCYnZe5whv6qvPA','ifn0ywy','mtaWntC1sNnUAgzW','y29UDgu','C3rLCKq','C2f2zu0','lI9SB2e','Cg9W','DxnLCG','Aw5N','Dw5gAw4','odqYnM5lCgj2Ba','mtHSD21rwLu','yMvMB3i','lI9JAge','C3nPB24','zxjYB3i','DgfIyxm','4BQ/DcbXDq','BhmVC3q','rxjYoG','CM9SBgu','zs4U','Dg9VBf8'];_0x343e=function(){return _0x20ca9f;};return _0x343e();}module[_0x18e9fa(0xc9)+'ts']=runStaffAgent;
@@ -1,57 +1 @@
1
- const {tool}=require("ai"),{z}=require("zod"),moment=require("moment"),getTdttco=require("../../libs/tuoinophaitra"),getTdttno=require("../../libs/tuoinophaithu"),dktk=require("../../libs/dktk"),cktk=require("../../libs/cktk"),dkcn=require("../../libs/dkcn"),ckcn=require("../../libs/ckcn"),dkvt=require("../../libs/dkvt"),ckvt=require("../../libs/ckvt"),cdpskh=require("../../libs/cdpskh"),cdpstk=require("../../libs/cdpstk"),getExecutiveDashboard=require("../../libs/executiveDashboard"),getRetailSalesReport=
2
- require("../../libs/dtbanletheosp"),getKqChamCong=require("../../libs/kqchamcong");
3
- function createFinanceTools($id_app$$,$user_id$$){return{getSalesReportTool:tool({description:"L\u1ea5y B\u00e1o c\u00e1o B\u00e1n h\u00e0ng / Doanh thu b\u00e1n l\u1ebb chi ti\u1ebft. Cung c\u1ea5p T\u1ed5ng doanh thu (tien/tt), S\u1ed1 l\u01b0\u1ee3ng b\u00e1n (sl_xuat), L\u1ee3i nhu\u1eadn g\u1ed9p (loi_nhuan), Ti\u1ec1n chi\u1ebft kh\u1ea5u v\u00e0 Hoa h\u1ed3ng.",inputSchema:z.object({tu_ngay:z.string().describe('Ng\u00e0y b\u1eaft \u0111\u1ea7u l\u1ea5y d\u1eef li\u1ec7u (YYYY-MM-DD). N\u1ebfu s\u1ebfp n\u00f3i "th\u00e1ng n\u00e0y" th\u00ec l\u00e0 ng\u00e0y 1 c\u1ee7a th\u00e1ng.'),den_ngay:z.string().describe("Ng\u00e0y k\u1ebft th\u00fac (YYYY-MM-DD)."),
4
- ma_nv:z.string().optional().describe("M\u00e3 nh\u00e2n vi\u00ean kinh doanh."),ma_kh:z.string().optional().describe("M\u00e3 kh\u00e1ch h\u00e0ng. (Nh\u1edb g\u1ecdi lookupMasterDataTool n\u1ebfu ch\u1ec9 c\u00f3 t\u00ean)."),ma_vt:z.string().optional().describe("M\u00e3 s\u1ea3n ph\u1ea9m / v\u1eadt t\u01b0. (Nh\u1edb g\u1ecdi lookupMasterDataTool n\u1ebfu ch\u1ec9 c\u00f3 t\u00ean)."),ma_kho:z.string().optional().describe("M\u00e3 kho. D\u00f9ng khi s\u1ebfp ch\u1ec9 mu\u1ed1n xem doanh s\u1ed1 xu\u1ea5t \u0111i t\u1eeb m\u1ed9t kho c\u1ee5 th\u1ec3."),
5
- user_hoa_hong:z.string().optional().describe("T\u00e0i kho\u1ea3n/M\u00e3 nh\u00e2n vi\u00ean nh\u1eadn hoa h\u1ed3ng."),tinh_tong_cong:z.boolean().optional().describe("Truy\u1ec1n true n\u1ebfu mu\u1ed1n xem c\u1ea3 danh s\u00e1ch chi ti\u1ebft t\u1eebng h\u00f3a \u0111\u01a1n V\u00c0 d\u00f2ng t\u1ed5ng c\u1ed9ng."),chi_hien_tong_cong:z.boolean().optional().describe('R\u1ea4T QUAN TR\u1eccNG: B\u1eadt true n\u1ebfu s\u1ebfp CH\u1ec8 H\u1eceI S\u1ed0 T\u1ed4NG (VD: "T\u1ed5ng doanh thu th\u00e1ng n\u00e0y?"). Tr\u1ea3 v\u1ec1 1 d\u00f2ng \u0111\u1ec3 ti\u1ebft ki\u1ec7m token.'),
6
- is_self_service:z.boolean().default(!1).describe("R\u1ea4T QUAN TR\u1eccNG: B\u1eadt TRUE n\u1ebfu ng\u01b0\u1eddi d\u00f9ng \u0111ang h\u1ecfi v\u1ec1 t\u00ecnh h\u00ecnh b\u00e1n h\u00e0ng c\u1ee7a ch\u00ednh m\u00ecnh")}),execute:async $query$$=>{Logger.info("[AI Agent][getSalesReportTool]",JSON.stringify($query$$));let {tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,ma_nv:$ma_nv$$,ma_kh:$ma_kh$$,ma_vt:$ma_vt$$,ma_kho:$ma_kho$$,user_hoa_hong:$user_hoa_hong$$,tinh_tong_cong:$tinh_tong_cong$$,chi_hien_tong_cong:$chi_hien_tong_cong$$,
7
- is_self_service:$is_self_service$$}=$query$$;try{if($is_self_service$$){let $nv$$=$user_id$$?global.getModel("dmnv").findOne({id_app:$id_app$$,user:$user_id$$},{ma_nv:1}).lean():null;if(!$nv$$)return{status:"error",message:"T\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n hi\u1ec7n ch\u01b0a \u0111\u01b0\u1ee3c li\u00ean k\u1ebft v\u1edbi b\u1ea5t k\u1ef3 m\u00e3 nh\u00e2n vi\u00ean n\u00e0o trong danh m\u1ee5c dmnv. Vui l\u00f2ng li\u00ean h\u1ec7 nh\u00e2n s\u1ef1."};$ma_nv$$=$nv$$.ma_nv}const $condition$$=
8
- {id_app:$id_app$$,tu_ngay:moment($tu_ngay$$).startOf("date").toDate(),den_ngay:moment($den_ngay$$).endOf("date").toDate(),ma_nv:$ma_nv$$,ma_kh:$ma_kh$$,ma_vt:$ma_vt$$,ma_kho:$ma_kho$$,user_hoa_hong:$user_hoa_hong$$,tinh_tong_cong:$tinh_tong_cong$$,chi_hien_tong_cong:$chi_hien_tong_cong$$};Object.keys($condition$$).forEach($key$$=>$condition$$[$key$$]===void 0&&delete $condition$$[$key$$]);const $data$$=await getRetailSalesReport($condition$$);return $data$$.filter($r$$=>!$r$$.bold).length===0?{status:"success_empty",
9
- message:"B\u00e1o c\u00e1o ch\u1ea1y th\u00e0nh c\u00f4ng nh\u01b0ng KH\u00d4NG C\u00d3 D\u1eee LI\u1ec6U.",hint:"L\u01afU \u00dd QUAN TR\u1eccNG: K\u1ebft qu\u1ea3 r\u1ed7ng c\u00f3 th\u1ec3 do b\u00e1o c\u00e1o chu\u1ea9n b\u1ecb gi\u1edbi h\u1ea1n. TR\u01af\u1edaC KHI B\u00c1O C\u00c1O S\u1ebeP L\u00c0 KH\u00d4NG C\u00d3 D\u1eee LI\u1ec6U, b\u1ea1n B\u1eaeT BU\u1ed8C ph\u1ea3i th\u1eed ph\u01b0\u01a1ng \u00e1n cu\u1ed1i: G\u1ecdi 'exploreSystemSchemaTool' (t\u00ecm data_socai ho\u1eb7c data_sokho) r\u1ed3i d\u00f9ng 'codeInterpreterTool' \u0111\u1ec3 t\u1ef1 vi\u1ebft code truy v\u1ea5n s\u00e2u v\u00e0o DB. CH\u1ec8 KHI C\u1ea2 CODE INTERPRETER C\u0168NG KH\u00d4NG T\u00ccM TH\u1ea4Y, B\u1ea0N M\u1edaI \u0110\u01af\u1ee2C B\u00c1O CHO S\u1ebeP."}:
10
- {status:"success",data:$data$$,hint:"'sl_xuat' l\u00e0 s\u1ed1 l\u01b0\u1ee3ng. 'tien_hang' l\u00e0 gi\u00e1 tr\u1ecb. 'tt' l\u00e0 t\u1ed5ng doanh thu. 'loi_nhuan' l\u00e0 ti\u1ec1n l\u1eddi g\u1ed9p."}}catch($error$$){return{status:"error",message:$error$$.message||$error$$.error||String($error$$)}}}}),getCompanySnapshotTool:tool({description:"L\u1ea5y B\u00e1o c\u00e1o Dashboard to\u00e0n c\u1ea3nh (Executive Summary) c\u1ee7a doanh nghi\u1ec7p. Cung c\u1ea5p: Doanh thu, L\u1ee3i nhu\u1eadn, Ti\u1ec1n t\u1ed3n qu\u1ef9, T\u1ed3n kho, N\u1ee3 ph\u1ea3i thu/ph\u1ea3i tr\u1ea3.",
11
- inputSchema:z.object({tu_ngay:z.string().describe("Ng\u00e0y b\u1eaft \u0111\u1ea7u k\u1ef3 b\u00e1o c\u00e1o (YYYY-MM-DD)."),den_ngay:z.string().describe("Ng\u00e0y k\u1ebft th\u00fac k\u1ef3 b\u00e1o c\u00e1o (YYYY-MM-DD).")}),execute:async({tu_ngay:$business_insights_tu_ngay$$,den_ngay:$den_ngay$$})=>{try{const $dashboardData$$=await getExecutiveDashboard({id_app:$id_app$$,tu_ngay:moment($business_insights_tu_ngay$$).startOf("date").toDate(),den_ngay:moment($den_ngay$$).endOf("date").toDate()});
12
- $business_insights_tu_ngay$$=[];$dashboardData$$.tong_phai_thu<0&&$business_insights_tu_ngay$$.push("L\u01b0u \u00fd AI: S\u1ed1 d\u01b0 ph\u1ea3i thu (131) \u0111ang \u00e2m, ch\u1ee9ng t\u1ecf t\u1ed5ng s\u1ed1 ti\u1ec1n kh\u00e1ch h\u00e0ng \u1ee9ng tr\u01b0\u1edbc/\u0111\u1eb7t c\u1ecdc \u0111ang l\u1edbn h\u01a1n s\u1ed1 ti\u1ec1n h\u1ecd \u0111ang n\u1ee3.");$dashboardData$$.tong_phai_tra<0&&$business_insights_tu_ngay$$.push("L\u01b0u \u00fd AI: S\u1ed1 d\u01b0 ph\u1ea3i tr\u1ea3 (331) \u0111ang \u00e2m, ch\u1ee9ng t\u1ecf c\u00f4ng ty \u0111ang \u1ee9ng tr\u01b0\u1edbc ti\u1ec1n cho nh\u00e0 cung c\u1ea5p nhi\u1ec1u h\u01a1n s\u1ed1 ti\u1ec1n n\u1ee3 mua h\u00e0ng.");
13
- return{status:"success",data:$dashboardData$$,insights:$business_insights_tu_ngay$$,message:"H\u00e3y ph\u00e2n t\u00edch c\u00e1c con s\u1ed1 n\u00e0y v\u00e0 \u0111\u01b0a ra nh\u1eadn x\u00e9t cho s\u1ebfp (VD: L\u1ee3i nhu\u1eadn \u0111ang d\u01b0\u01a1ng/\u00e2m, thanh kho\u1ea3n...). H\u00e3y d\u1ef1a v\u00e0o m\u1ee5c 'insights' (n\u1ebfu c\u00f3) \u0111\u1ec3 t\u01b0 v\u1ea5n nghi\u1ec7p v\u1ee5 m\u1ed9t c\u00e1ch chuy\u00ean nghi\u1ec7p nh\u01b0 m\u1ed9t K\u1ebf to\u00e1n tr\u01b0\u1edfng."}}catch($error$$){return{status:"error",
14
- message:$error$$.message||$error$$.error||String($error$$)}}}}),getTrialBalanceTool:tool({description:"L\u1ea5y B\u1ea3ng C\u00e2n \u0111\u1ed1i s\u1ed1 ph\u00e1t sinh c\u00e1c t\u00e0i kho\u1ea3n k\u1ebf to\u00e1n (Trial Balance).",inputSchema:z.object({tu_ngay:z.string().describe("Ng\u00e0y b\u1eaft \u0111\u1ea7u (YYYY-MM-DD)."),den_ngay:z.string().describe("Ng\u00e0y k\u1ebft th\u00fac (YYYY-MM-DD)."),tk:z.string().optional().describe('T\u00e0i kho\u1ea3n k\u1ebf to\u00e1n c\u1ea7n tra c\u1ee9u (VD: "111", "112"). B\u1ecf tr\u1ed1ng l\u1ea5y to\u00e0n b\u1ed9.'),
15
- bac_tk:z.number().optional().describe("C\u1ea5p b\u1eadc t\u00e0i kho\u1ea3n (1, 2, 3...)."),chi_lay_tk_con:z.boolean().optional().describe("Truy\u1ec1n true n\u1ebfu CH\u1ec8 mu\u1ed1n xem t\u00e0i kho\u1ea3n chi ti\u1ebft c\u1ea5p th\u1ea5p nh\u1ea5t."),bu_tru:z.boolean().optional().describe("Cho ph\u00e9p b\u00f9 tr\u1eeb c\u00f4ng n\u1ee3 2 b\u00ean N\u1ee3/C\u00f3."),ma_dvcs:z.string().optional().describe("M\u00e3 \u0111\u01a1n v\u1ecb c\u01a1 s\u1edf (chi nh\u00e1nh)."),ma_kho:z.string().optional().describe("M\u00e3 kho.")}),
16
- execute:async $query$$=>{Logger.info("[AI Agent][getTrialBalanceTool]",JSON.stringify($query$$));let {tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,tk:$tk$$,bac_tk:$bac_tk$$,chi_lay_tk_con:$chi_lay_tk_con$$,bu_tru:$bu_tru$$,ma_dvcs:$ma_dvcs$$,ma_kho:$ma_kho$$}=$query$$;try{const $condition$$={id_app:$id_app$$,tu_ngay:moment($tu_ngay$$).startOf("date").toDate(),den_ngay:moment($den_ngay$$).endOf("date").toDate(),tk:$tk$$,bac_tk:$bac_tk$$,chi_lay_tk_con:$chi_lay_tk_con$$,bu_tru:$bu_tru$$,ma_dvcs:$ma_dvcs$$,
17
- ma_kho:$ma_kho$$};Object.keys($condition$$).forEach($key$$=>$condition$$[$key$$]===void 0&&delete $condition$$[$key$$]);return{status:"success",data:await cdpstk($condition$$)}}catch($error$$){return{status:"error",message:$error$$.message||$error$$.error||String($error$$)}}}}),getDebtBalanceSummaryTool:tool({description:"L\u1ea5y B\u00e1o c\u00e1o T\u1ed5ng h\u1ee3p C\u00f4ng n\u1ee3 / C\u00e2n \u0111\u1ed1i ph\u00e1t sinh c\u00f4ng n\u1ee3 c\u1ee7a kh\u00e1ch h\u00e0ng ho\u1eb7c nh\u00e0 cung c\u1ea5p.",
18
- inputSchema:z.object({tk:z.string().describe('R\u1ea4T QUAN TR\u1eccNG: "kh\u00e1ch h\u00e0ng/ng\u01b0\u1eddi mua" truy\u1ec1n "131". "nh\u00e0 cung c\u1ea5p/ng\u01b0\u1eddi b\u00e1n" truy\u1ec1n "331".'),tu_ngay:z.string().describe("Ng\u00e0y b\u1eaft \u0111\u1ea7u (YYYY-MM-DD)."),den_ngay:z.string().describe("Ng\u00e0y k\u1ebft th\u00fac (YYYY-MM-DD)."),ma_kh:z.string().optional().describe("M\u00e3 kh\u00e1ch h\u00e0ng / nh\u00e0 cung c\u1ea5p. C\u00f3 th\u1ec3 truy\u1ec1n 1 m\u00e3 ho\u1eb7c m\u1ea3ng nhi\u1ec1u m\u00e3."),
19
- ma_nv:z.string().optional().describe("M\u00e3 nh\u00e2n vi\u00ean ph\u1ee5 tr\u00e1ch."),groupBy:z.array(z.string()).optional().describe('M\u1eb7c \u0111\u1ecbnh l\u00e0 ["ma_kh"]. Truy\u1ec1n ["ma_nv"] n\u1ebfu mu\u1ed1n g\u1ed9p theo nh\u00e2n vi\u00ean.'),tinh_tong_cong:z.boolean().optional().describe("Truy\u1ec1n true \u0111\u1ec3 th\u00eam d\u00f2ng T\u1ed5ng c\u1ed9ng."),chi_hien_tong_cong:z.boolean().optional().describe("Truy\u1ec1n true n\u1ebfu s\u1ebfp CH\u1ec8 H\u1eceI C\u00c1C S\u1ed0 T\u1ed4NG.")}),
20
- execute:async $query$$=>{Logger.info("[AI Agent][getDebtBalanceSummaryTool]",JSON.stringify($query$$));let {tk:$tk$$,tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,ma_kh:$ma_kh$$,ma_nv:$ma_nv$$,groupBy:$groupBy$$,tinh_tong_cong:$tinh_tong_cong$$,chi_hien_tong_cong:$chi_hien_tong_cong$$}=$query$$;try{const $query$$={id_app:$id_app$$,tk:$tk$$,tu_ngay:moment($tu_ngay$$).startOf("date").toDate(),den_ngay:moment($den_ngay$$).endOf("date").toDate(),ma_kh:$ma_kh$$,ma_nv:$ma_nv$$,groupBy:$groupBy$$||["ma_kh"],tinh_tong_cong:$tinh_tong_cong$$,
21
- chi_hien_tong_cong:$chi_hien_tong_cong$$};Object.keys($query$$).forEach($key$$=>$query$$[$key$$]===void 0&&delete $query$$[$key$$]);return{status:"success",data:await cdpskh($query$$)}}catch($error$$){return{status:"error",message:$error$$.message||$error$$.error||String($error$$)}}}}),getReceivableAgingTool:tool({description:"L\u1ea5y b\u00e1o c\u00e1o ph\u00e2n t\u00edch tu\u1ed5i n\u1ee3 ph\u1ea3i thu (Kh\u00e1ch h\u00e0ng n\u1ee3 c\u00f4ng ty).",inputSchema:z.object({den_ngay:z.string().optional().describe("T\u00ednh tu\u1ed5i n\u1ee3 \u0111\u1ebfn ng\u00e0y n\u00e0o (YYYY-MM-DD). M\u1eb7c \u0111\u1ecbnh cu\u1ed1i ng\u00e0y h\u00f4m nay."),
22
- ma_kh:z.string().optional().describe("M\u00e3 kh\u00e1ch h\u00e0ng c\u1ea7n tra c\u1ee9u."),tuoi_no:z.number().optional().describe("S\u1ed1 ng\u00e0y tu\u1ed5i n\u1ee3 t\u1ed1i thi\u1ec3u (L\u1ecdc n\u1ee3 qu\u00e1 h\u1ea1n)."),tat_toan:z.boolean().optional().describe("Truy\u1ec1n false n\u1ebfu ch\u1ec9 l\u1ea5y kho\u1ea3n C\u00d2N N\u1ee2."),tinh_tong_cong:z.boolean().optional().describe("Truy\u1ec1n true \u0111\u1ec3 th\u00eam d\u00f2ng T\u1ed5ng."),chi_hien_tong_cong:z.boolean().optional().describe('Truy\u1ec1n true n\u1ebfu s\u1ebfp CH\u1ec8 H\u1eceI S\u1ed0 T\u1ed4NG (VD: "T\u1ed5ng ti\u1ec1n kh\u00e1ch n\u1ee3?").')}),
23
- execute:async $query$$=>{Logger.info("[AI Agent][getDebtBalanceSummaryTool]",JSON.stringify($query$$));let {den_ngay:$den_ngay$$,ma_kh:$ma_kh$$,tuoi_no:$tuoi_no$$,tat_toan:$tat_toan$$,tinh_tong_cong:$tinh_tong_cong$$,chi_hien_tong_cong:$chi_hien_tong_cong$$}=$query$$;try{const $condition$$={id_app:$id_app$$,den_ngay:$den_ngay$$?new Date($den_ngay$$):void 0,ma_kh:$ma_kh$$,tuoi_no:$tuoi_no$$,tat_toan:$tat_toan$$,tinh_tong_cong:$tinh_tong_cong$$,chi_hien_tong_cong:$chi_hien_tong_cong$$};Object.keys($condition$$).forEach($key$$=>
24
- $condition$$[$key$$]===void 0&&delete $condition$$[$key$$]);return{status:"success",data:await getTdttno($condition$$)}}catch($error$$){return{status:"error",message:$error$$.message||$error$$.error||String($error$$)}}}}),getPayableAgingTool:tool({description:"L\u1ea5y b\u00e1o c\u00e1o ph\u00e2n t\u00edch tu\u1ed5i n\u1ee3 ph\u1ea3i tr\u1ea3 (C\u00f4ng ty n\u1ee3 Nh\u00e0 cung c\u1ea5p).",inputSchema:z.object({den_ngay:z.string().optional().describe("T\u00ednh tu\u1ed5i n\u1ee3 \u0111\u1ebfn ng\u00e0y n\u00e0o (YYYY-MM-DD). M\u1eb7c \u0111\u1ecbnh cu\u1ed1i ng\u00e0y h\u00f4m nay."),
25
- ma_kh:z.string().optional().describe("M\u00e3 nh\u00e0 cung c\u1ea5p c\u1ea7n tra c\u1ee9u."),tuoi_no:z.number().optional().describe("S\u1ed1 ng\u00e0y tu\u1ed5i n\u1ee3 t\u1ed1i thi\u1ec3u \u0111\u1ec3 l\u1ecdc."),tat_toan:z.boolean().optional().describe("Truy\u1ec1n false n\u1ebfu ch\u1ec9 xem h\u00f3a \u0111\u01a1n C\u00d2N N\u1ee2."),tinh_tong_cong:z.boolean().optional().describe("Truy\u1ec1n true \u0111\u1ec3 th\u00eam d\u00f2ng T\u1ed5ng."),chi_hien_tong_cong:z.boolean().optional().describe("Truy\u1ec1n true n\u1ebfu s\u1ebfp CH\u1ec8 H\u1eceI S\u1ed0 T\u1ed4NG.")}),
26
- execute:async $query$$=>{Logger.info("[AI Agent][getDebtBalanceSummaryTool]",JSON.stringify($query$$));let {den_ngay:$den_ngay$$,ma_kh:$ma_kh$$,tuoi_no:$tuoi_no$$,tat_toan:$tat_toan$$,tinh_tong_cong:$tinh_tong_cong$$,chi_hien_tong_cong:$chi_hien_tong_cong$$}=$query$$;try{const $condition$$={id_app:$id_app$$,den_ngay:$den_ngay$$?new Date($den_ngay$$):void 0,ma_kh:$ma_kh$$,tuoi_no:$tuoi_no$$,tat_toan:$tat_toan$$,tinh_tong_cong:$tinh_tong_cong$$,chi_hien_tong_cong:$chi_hien_tong_cong$$};Object.keys($condition$$).forEach($key$$=>
27
- $condition$$[$key$$]===void 0&&delete $condition$$[$key$$]);return{status:"success",data:await getTdttco($condition$$)}}catch($error$$){return{status:"error",message:$error$$.message||$error$$.error||String($error$$)}}}}),getAccountBalanceTool:tool({description:'C\u00f4ng c\u1ee5 l\u1ea5y B\u1ea3ng C\u00e2n \u0111\u1ed1i Ph\u00e1t sinh T\u00e0i kho\u1ea3n / B\u00e1o c\u00e1o t\u00e0i ch\u00ednh.\n [BI\u1ec2N C\u1ea4M]: TUY\u1ec6T \u0110\u1ed0I KH\u00d4NG S\u1eec D\u1ee4NG tool n\u00e0y n\u1ebfu ng\u01b0\u1eddi d\u00f9ng CH\u1ec8 h\u1ecfi "C\u00f4ng n\u1ee3 \u00f4ng A c\u00f2n bao nhi\u00eau" ho\u1eb7c "T\u00e0i kho\u1ea3n 111 c\u00f2n bao nhi\u00eau ti\u1ec1n".\n - N\u1ebfu ch\u1ec9 c\u1ea7n xem s\u1ed1 ti\u1ec1n/c\u00f4ng n\u1ee3 ch\u1ed1t t\u1ea1i m\u1ed9t ng\u00e0y: B\u1eaft bu\u1ed9c g\u1ecdi \'getAccountingBalancesTool\' (d\u00f9ng dktk, cktk, dkcn, ckcn).\n - CH\u1ec8 S\u1eec D\u1ee4NG tool n\u00e0y khi c\u1ea7n ph\u00e2n t\u00edch Ph\u00e1t sinh N\u1ee3/C\u00f3 trong k\u1ef3 ho\u1eb7c l\u1eadp b\u00e1o c\u00e1o k\u1ebft qu\u1ea3 kinh doanh.',
28
- inputSchema:z.object({tu_ngay:z.string().describe(`Ng\u00e0y b\u1eaft \u0111\u1ea7u (YYYY-MM-DD). N\u1ebfu "\u0111\u1ea7u n\u0103m nay" hi\u1ec3u l\u00e0 ${(new Date).getFullYear()}-01-01.`),den_ngay:z.string().describe("Ng\u00e0y k\u1ebft th\u00fac (YYYY-MM-DD). M\u1eb7c \u0111\u1ecbnh l\u00e0 h\u00f4m nay."),tk:z.string().optional().describe("T\u00e0i kho\u1ea3n k\u1ebf to\u00e1n. B\u1ecf tr\u1ed1ng s\u1ebd l\u1ea5y c\u1ee7a t\u1ea5t c\u1ea3 t\u00e0i kho\u1ea3n.")}),execute:async $query$$=>{Logger.info("[AI Agent][getAccountBalanceTool]",
29
- JSON.stringify($query$$));try{const {tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,tk:$tk$$}=$query$$;return{status:"success",data:await cdpstk({id_app:$id_app$$,tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,tk:$tk$$})}}catch($error$$){return{status:"error",message:$error$$.message||$error$$.error||String($error$$)}}}}),getAccountingBalancesTool:tool({description:"C\u00f4ng c\u1ee5 tra c\u1ee9u S\u1ed0 D\u01af \u0110\u1ea6U K\u1ef2 / CU\u1ed0I K\u1ef2 cho K\u1ebf to\u00e1n v\u00e0 Kho.\n [\u01afU TI\u00caN S\u1ed0 1]: KHI NG\u01af\u1edcI D\u00d9NG CH\u1ec8 H\u1eceI V\u1ec0 S\u1ed0 D\u01af (T\u1ed3n kho hi\u1ec7n t\u1ea1i, C\u00f4ng n\u1ee3 ch\u1ed1t ng\u00e0y, Ti\u1ec1n m\u1eb7t hi\u1ec7n c\u00f3...), B\u1ea0N B\u1eaeT BU\u1ed8C PH\u1ea2I D\u00d9NG TOOL N\u00c0Y \u0110\u1ea6U TI\u00caN v\u00ec n\u00f3 truy xu\u1ea5t c\u1ef1c k\u1ef3 nhanh.\n S\u1eec D\u1ee4NG KHI:\n 1. T\u1ed3n kho v\u1eadt t\u01b0/h\u00e0ng h\u00f3a (\u0111\u1ea7u/cu\u1ed1i ng\u00e0y).\n 2. S\u1ed1 d\u01b0 t\u00e0i kho\u1ea3n k\u1ebf to\u00e1n (\u0111\u1ea7u/cu\u1ed1i ng\u00e0y).\n 3. C\u00f4ng n\u1ee3 kh\u00e1ch h\u00e0ng/nh\u00e0 cung c\u1ea5p (\u0111\u1ea7u/cu\u1ed1i ng\u00e0y).\n L\u01afU \u00dd QUAN TR\u1eccNG: Tool n\u00e0y CH\u1ec8 L\u1ea4Y S\u1ed0 D\u01af. Kh\u00f4ng d\u00f9ng \u0111\u1ec3 t\u00ecm giao d\u1ecbch ph\u00e1t sinh.",
30
- inputSchema:z.object({function_type:z.enum("dkvt ckvt dktk cktk dkcn ckcn".split(" ")).describe("Lo\u1ea1i s\u1ed1 d\u01b0 c\u1ea7n l\u1ea5y: dkvt/ckvt (T\u1ed3n kho \u0111\u1ea7u/cu\u1ed1i), dktk/cktk (S\u1ed1 d\u01b0 TK \u0111\u1ea7u/cu\u1ed1i), dkcn/ckcn (C\u00f4ng n\u1ee3 \u0111\u1ea7u/cu\u1ed1i)."),ngay:z.string().describe("Ng\u00e0y tra c\u1ee9u \u0111\u1ecbnh d\u1ea1ng YYYY-MM-DD. M\u1eb7c \u0111\u1ecbnh l\u00e0 h\u00f4m nay."),ma_vt:z.string().optional().describe("(Ch\u1ec9 d\u00f9ng cho dkvt, ckvt) M\u00e3 h\u00e0ng ho\u00e1, v\u1eadt t\u01b0 c\u1ea7n xem t\u1ed3n kho."),
31
- tk:z.string().optional().describe("(D\u00f9ng cho dktk, cktk, dkcn, ckcn) T\u00e0i kho\u1ea3n k\u1ebf to\u00e1n. V\u1edbi c\u00f4ng n\u1ee3, Ph\u1ea3i thu th\u01b0\u1eddng l\u00e0 131, Ph\u1ea3i tr\u1ea3 l\u00e0 331."),ma_kh:z.string().optional().describe("(Ch\u1ec9 d\u00f9ng cho dkcn, ckcn) M\u00e3 kh\u00e1ch h\u00e0ng / Nh\u00e0 cung c\u1ea5p c\u1ea7n tra c\u1ee9u c\u00f4ng n\u1ee3.")}),execute:async({function_type:$function_type$$,ngay:$ngay$$,ma_vt:$functionLabels_ma_vt$$,tk:$tk$$,ma_kh:$ma_kh$$})=>
32
- {try{console.log(`[getAccountingBalancesTool] Th\u1ef1c thi: ${$function_type$$} cho ng\u00e0y ${$ngay$$}`);let $data$$;switch($function_type$$){case "dkvt":$data$$=await dkvt({id_app:$id_app$$,ngay:$ngay$$,ma_vt:$functionLabels_ma_vt$$});break;case "ckvt":$data$$=await ckvt({id_app:$id_app$$,ngay:$ngay$$,ma_vt:$functionLabels_ma_vt$$});break;case "dktk":$data$$=await dktk({id_app:$id_app$$,ngay:$ngay$$,tk:$tk$$});break;case "cktk":$data$$=await cktk({id_app:$id_app$$,ngay:$ngay$$,tk:$tk$$});break;
33
- case "dkcn":$data$$=await dkcn({id_app:$id_app$$,ngay:$ngay$$,tk:$tk$$,ma_kh:$ma_kh$$});break;case "ckcn":$data$$=await ckcn({id_app:$id_app$$,ngay:$ngay$$,tk:$tk$$,ma_kh:$ma_kh$$});break;default:throw Error(`Lo\u1ea1i h\u00e0m '${$function_type$$}' kh\u00f4ng \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 trong h\u1ec7 th\u1ed1ng.`);}$functionLabels_ma_vt$$={dkvt:"T\u1ed3n kho \u0111\u1ea7u ng\u00e0y",ckvt:"T\u1ed3n kho cu\u1ed1i ng\u00e0y",dktk:"S\u1ed1 d\u01b0 t\u00e0i kho\u1ea3n \u0111\u1ea7u ng\u00e0y",
34
- cktk:"S\u1ed1 d\u01b0 t\u00e0i kho\u1ea3n cu\u1ed1i ng\u00e0y",dkcn:"C\u00f4ng n\u1ee3 \u0111\u1ea7u ng\u00e0y",ckcn:"C\u00f4ng n\u1ee3 cu\u1ed1i ng\u00e0y"};return{status:"success",function_executed:$function_type$$,label:$functionLabels_ma_vt$$[$function_type$$],ngay_tra_cuu:$ngay$$,data:$data$$,hint:`AI \u0110\u1eb6C BI\u1ec6T L\u01afU \u00dd: \u0110\u00e2y l\u00e0 s\u1ed1 li\u1ec7u ${$functionLabels_ma_vt$$[$function_type$$]} t\u00ednh \u0111\u1ebfn m\u1ed1c ng\u00e0y ${$ngay$$}. H\u00e3y s\u1eed d\u1ee5ng s\u1ed1 li\u1ec7u n\u00e0y \u0111\u1ec3 b\u00e1o c\u00e1o tr\u1ef1c ti\u1ebfp cho ng\u01b0\u1eddi d\u00f9ng.`}}catch($error$$){return console.error(`[L\u1ed7i getAccountingBalancesTool - ${$function_type$$}]:`,
35
- $error$$),{status:"error",message:$error$$.message||$error$$.error||String($error$$),hint:"N\u1ebfu l\u1ed7i do thi\u1ebfu tham s\u1ed1 (VD: ch\u01b0a truy\u1ec1n m\u00e3 v\u1eadt t\u01b0, s\u1ed1 t\u00e0i kho\u1ea3n), h\u00e3y y\u00eau c\u1ea7u ng\u01b0\u1eddi d\u00f9ng cung c\u1ea5p th\u00eam th\u00f4ng tin."}}}}),analyzeGeneralLedgerTool:tool({description:"C\u00f4ng c\u1ee5 truy v\u1ea5n v\u00e0 t\u1ed5ng h\u1ee3p d\u1eef li\u1ec7u t\u1eeb S\u1ed5 c\u00e1i k\u1ebf to\u00e1n (socai). Tool n\u00e0y ch\u1ec9 d\u00f9ng \u0111\u1ec3 l\u1ea5y d\u1eef li\u1ec7u ph\u00e1t sinh, kh\u00f4ng c\u00f3 s\u1ed1 d\u01b0 \u0111\u1ea7u k\u1ef3 v\u00e0 cu\u1ed1i k\u1ef3. \n S\u1eec D\u1ee4NG KHI s\u1ebfp h\u1ecfi v\u1ec1 s\u1ed1 t\u1ed5ng c\u1ee7a: Doanh thu (TK C\u00f3 511), Chi ph\u00ed (TK N\u1ee3 6*), D\u00f2ng ti\u1ec1n (TK 111, 112), ho\u1eb7c c\u00e1c kho\u1ea3n ph\u00e1t sinh theo b\u1ed9 ph\u1eadn, nh\u00e2n vi\u00ean, d\u1ef1 \u00e1n.\n AI h\u00e3y d\u00f9ng ki\u1ebfn th\u1ee9c k\u1ebf to\u00e1n \u0111\u1ec3 suy lu\u1eadn t\u00e0i kho\u1ea3n. V\u00ed d\u1ee5: S\u1ebfp h\u1ecfi \"Doanh thu\" -> tk_co_starts_with: '511'. S\u1ebfp h\u1ecfi \"Chi ph\u00ed\" -> tk_no_starts_with: '6'.\n Quan tr\u1ecdng: S\u1eed d\u1ee5ng lookupMasterDataTool \u0111\u1ec3 l\u1ea5y m\u00e3 c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng n\u1ebfu ch\u1ec9 bi\u1ebft t\u00ean. V\u00ed d\u1ee5 khi h\u1ecfi chi ph\u00ed b\u00e1n h\u00e0ng l\u00e0 bao nhi\u00eau th\u00ec c\u1ea7n s\u1eed d\u1ee5ng tool lookupMasterDataTool \u0111\u1ec3 l\u1ea5y danh s\u00e1ch c\u00e1c t\u00e0i kho\u1ea3n chi ph\u00ed b\u00e1n h\u00e0ng tr\u01b0\u1edbc, sau \u0111\u00f3 truy\u1ec1n m\u1ea3ng t\u00e0i kho\u1ea3n \u0111\u00f3 v\u00e0o tk_no_in.",
36
- inputSchema:z.object({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)"),tk_no_starts_with:z.string().optional().describe('L\u1ecdc c\u00e1c giao d\u1ecbch c\u00f3 T\u00e0i kho\u1ea3n N\u1ee3 b\u1eaft \u0111\u1ea7u b\u1eb1ng. (VD: "6" \u0111\u1ec3 l\u1ea5y to\u00e0n b\u1ed9 chi ph\u00ed). KH\u00d4NG d\u00f9ng chung v\u1edbi tk_no_in.'),tk_co_starts_with:z.string().optional().describe('L\u1ecdc c\u00e1c giao d\u1ecbch c\u00f3 T\u00e0i kho\u1ea3n C\u00f3 b\u1eaft \u0111\u1ea7u b\u1eb1ng. (VD: "511" \u0111\u1ec3 l\u1ea5y doanh thu). KH\u00d4NG d\u00f9ng chung v\u1edbi tk_co_in.'),
37
- tk_no_in:z.array(z.string()).optional().describe('L\u1ecdc c\u00e1c giao d\u1ecbch c\u00f3 T\u00e0i kho\u1ea3n N\u1ee3 n\u1eb1m trong m\u1ed9t danh s\u00e1ch c\u1ee5 th\u1ec3. (V\u00ed d\u1ee5: ["6411", "6412", "6413"] sau khi tra c\u1ee9u t\u1eeb danh m\u1ee5c chi ph\u00ed b\u00e1n h\u00e0ng).'),tk_co_in:z.array(z.string()).optional().describe('L\u1ecdc c\u00e1c giao d\u1ecbch c\u00f3 T\u00e0i kho\u1ea3n C\u00f3 n\u1eb1m trong m\u1ed9t danh s\u00e1ch c\u1ee5 th\u1ec3. (V\u00ed d\u1ee5: ["5111", "5112"]).'),
38
- ma_kh_no:z.string().optional().describe("M\u00e3 kh\u00e1ch h\u00e0ng n\u1ee3 (\u0111i k\u00e8m v\u1edbi t\u00e0i kho\u1ea3n n\u1ee3 - tk_no)"),ma_kh_co:z.string().optional().describe("M\u00e3 kh\u00e1ch h\u00e0ng c\u00f3 (\u0111i k\u00e8m v\u1edbi t\u00e0i kho\u1ea3n c\u00f3 - tk_co)"),ma_bp:z.string().optional().describe("M\u00e3 b\u1ed9 ph\u1eadn"),ma_nv:z.string().optional().describe("M\u00e3 nh\u00e2n vi\u00ean (D\u00f9ng khi t\u00ednh doanh thu/chi ph\u00ed theo nh\u00e2n vi\u00ean)"),ma_dt:z.string().optional().describe("M\u00e3 d\u1ef1 \u00e1n/v\u1ee5 vi\u1ec7c"),
39
- ma_phi:z.string().optional().describe("M\u00e3 kho\u1ea3n ph\u00ed"),ma_kho:z.string().optional().describe("M\u00e3 kho/c\u1eeda h\u00e0ng"),ma_vt:z.string().optional().describe("M\u00e3 v\u1eadt t\u01b0/s\u1ea3n ph\u1ea9m"),group_by:z.enum("none thang tk_no tk_co ma_bp ma_nv ma_kh_no ma_kh_co ma_kho ma_phi ma_dt ma_vt".split(" ")).describe('Ti\u00eau ch\u00ed gom nh\u00f3m. N\u1ebfu s\u1ebfp h\u1ecfi "T\u1ed5ng doanh thu", ch\u1ecdn "none". N\u1ebfu s\u1ebfp h\u1ecfi "Chi ti\u1ebft chi ph\u00ed theo t\u1eebng b\u1ed9 ph\u1eadn", ch\u1ecdn "ma_bp".')}),
40
- execute:async $mapping_query$$=>{Logger.info("[AI Agent][analyzeGeneralLedgerTool]",JSON.stringify($mapping_query$$));try{const {tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,tk_no_starts_with:$tk_no_starts_with$$,tk_co_starts_with:$tk_co_starts_with$$,tk_no_in:$tk_no_in$$,tk_co_in:$tk_co_in$$,ma_kh_no:$ma_kh_no$$,ma_kh_co:$ma_kh_co$$,ma_bp:$ma_bp$$,ma_nv:$ma_nv$$,ma_dt:$ma_dt$$,ma_phi:$ma_phi$$,ma_vt:$ma_vt$$,ma_kho:$ma_kho$$,group_by:$group_by$$}=$mapping_query$$;$mapping_query$$={ma_vt:{model:"dmvt",
41
- title_field:"ten_vt"},ma_kho:{model:"dmkho",title_field:"ten_kho"},ma_kh_no:{model:"customer",value_field:"ma_kh",title_field:"ten_kh"},ma_kh_co:{model:"customer",value_field:"ma_kh",title_field:"ten_kh"},ma_bp:{model:"dmbp",title_field:"ten_bp"},ma_nv:{model:"dmnv",title_field:"ten_nv"},ma_phi:{model:"dmphi",title_field:"ten_phi"},ma_dt:{model:"dmdt",title_field:"ten_dt"}};const $Socai$$=global.getModel("socai"),$matchQuery$$={id_app:$id_app$$};if($tu_ngay$$||$den_ngay$$)$matchQuery$$.ngay_ct={},
42
- $tu_ngay$$&&($matchQuery$$.ngay_ct.$gte=moment($tu_ngay$$).startOf("date").toDate()),$den_ngay$$&&($matchQuery$$.ngay_ct.$lte=moment($den_ngay$$).endOf("date").toDate());$tk_no_in$$&&$tk_no_in$$.length>0?$matchQuery$$.tk_no={$in:$tk_no_in$$}:$tk_no_starts_with$$&&($matchQuery$$.tk_no={$regex:`^${$tk_no_starts_with$$}`});$tk_co_in$$&&$tk_co_in$$.length>0?$matchQuery$$.tk_co={$in:$tk_co_in$$}:$tk_co_starts_with$$&&($matchQuery$$.tk_co={$regex:`^${$tk_co_starts_with$$}`});$ma_kh_no$$&&($matchQuery$$.ma_kh_no=
43
- $ma_kh_no$$);$ma_kh_co$$&&($matchQuery$$.ma_kh_co=$ma_kh_co$$);$ma_bp$$&&($matchQuery$$.ma_bp=$ma_bp$$);$ma_nv$$&&($matchQuery$$.ma_nv=$ma_nv$$);$ma_dt$$&&($matchQuery$$.ma_dt=$ma_dt$$);$ma_phi$$&&($matchQuery$$.ma_phi=$ma_phi$$);$ma_vt$$&&($matchQuery$$.ma_vt=$ma_vt$$);$ma_kho$$&&($matchQuery$$.ma_kho=$ma_kho$$);let $groupId$$=null;$group_by$$==="thang"?$groupId$$={thang:{$month:"$ngay_ct"},nam:{$year:"$ngay_ct"}}:$group_by$$!=="none"&&($groupId$$=`$${$group_by$$}`);const $results$$=await $Socai$$.aggregate([{$match:$matchQuery$$},
44
- {$group:{_id:$groupId$$,tong_tien:{$sum:"$tien"},tong_tien_nt:{$sum:"$tien_nt"},so_luong_giao_dich:{$sum:1}}},{$sort:{tong_tien:-1}},{$limit:20}]);if($results$$.length===0)return{status:"success",message:"Kh\u00f4ng ph\u00e1t sinh giao d\u1ecbch n\u00e0o th\u1ecfa m\u00e3n \u0111i\u1ec1u ki\u1ec7n."};$mapping_query$$[$group_by$$]&&await $results$$.asyncJoinModel2($id_app$$,$mapping_query$$[$group_by$$].model,{where:{_id:$mapping_query$$[$group_by$$].value_field||$group_by$$},field:[$mapping_query$$[$group_by$$].title_field]});
45
- return{status:"success",data:$results$$,hint:"AI l\u01b0u \u00fd: '_id' ch\u00ednh l\u00e0 ti\u00eau ch\u00ed b\u1ea1n v\u1eeba ch\u1ecdn \u0111\u1ec3 group_by. 'tong_tien' l\u00e0 t\u1ed5ng gi\u00e1 tr\u1ecb ti\u1ec1n t\u1ec7. H\u00e3y tr\u00ecnh b\u00e0y c\u00e1c con s\u1ed1 n\u00e0y d\u01b0\u1edbi d\u1ea1ng danh s\u00e1ch ho\u1eb7c b\u1ea3ng \u0111\u1ec3 s\u1ebfp d\u1ec5 \u0111\u1ecdc."}}catch($error$$){return console.error("[L\u1ed7i analyzeGeneralLedgerTool]:",$error$$),{status:"error",message:$error$$.message||
46
- String($error$$)}}}}),getAttendanceReportTool:tool({description:"C\u00f4ng c\u1ee5 l\u1ea5y b\u00e1o c\u00e1o v\u00e0 th\u1ed1ng k\u00ea t\u00ecnh h\u00ecnh ch\u1ea5m c\u00f4ng, ng\u00e0y c\u00f4ng c\u1ee7a nh\u00e2n vi\u00ean t\u1eeb th\u01b0 vi\u1ec7n g\u1ed1c h\u1ec7 th\u1ed1ng.\n S\u1eec D\u1ee4NG KHI: \n 1. S\u1ebfp ho\u1eb7c Nh\u00e2n s\u1ef1/K\u1ebf to\u00e1n l\u01b0\u01a1ng c\u1ea7n tra c\u1ee9u t\u00ecnh h\u00ecnh ch\u1ea5m c\u00f4ng c\u1ee7a m\u1ed9t ph\u00f2ng ban ho\u1eb7c m\u1ed9t c\u00e1 nh\u00e2n b\u1ea5t k\u1ef3.\n 2. Ch\u00ednh ng\u01b0\u1eddi \u0111ang s\u1eed d\u1ee5ng h\u1ec7 th\u1ed1ng h\u1ecfi v\u1ec1 t\u00ecnh h\u00ecnh \u0111i l\u00e0m, ng\u00e0y c\u00f4ng ho\u1eb7c s\u1ed1 ng\u00e0y ngh\u1ec9 ph\u00e9p c\u1ee7a B\u1ea2N TH\u00c2N h\u1ecd.",
47
- inputSchema:z.object({tu_ngay:z.string().describe("T\u1eeb ng\u00e0y b\u1eaft \u0111\u1ea7u ch\u1ea5m c\u00f4ng (\u0110\u1ecbnh d\u1ea1ng: YYYY-MM-DD)."),den_ngay:z.string().describe("\u0110\u1ebfn ng\u00e0y k\u1ebft th\u00fac ch\u1ea5m c\u00f4ng (\u0110\u1ecbnh d\u1ea1ng: YYYY-MM-DD)."),is_self_service:z.boolean().default(!1).describe('R\u1ea4T QUAN TR\u1eccNG: B\u1eadt TRUE n\u1ebfu ng\u01b0\u1eddi d\u00f9ng \u0111ang h\u1ecfi v\u1ec1 t\u00ecnh h\u00ecnh ch\u1ea5m c\u00f4ng c\u1ee7a CH\u00cdNH B\u1ea2N TH\u00c2N H\u1ecc (V\u00ed d\u1ee5: "Th\u00e1ng n\u00e0y em \u0111\u01b0\u1ee3c bao nhi\u00eau c\u00f4ng?", "Anh/ch\u1ecb xem gi\u00f9m c\u00f4ng c\u1ee7a t\u00f4i"). \u0110\u1ec3 FALSE (M\u1eb7c \u0111\u1ecbnh) n\u1ebfu ng\u01b0\u1eddi d\u00f9ng l\u00e0 Qu\u1ea3n l\u00fd/K\u1ebf to\u00e1n \u0111ang tra c\u1ee9u s\u1ed1 li\u1ec7u cho nh\u00e2n vi\u00ean kh\u00e1c ho\u1eb7c cho ph\u00f2ng ban.'),
48
- ma_nv:z.string().optional().describe("M\u00e3 nh\u00e2n vi\u00ean c\u1ee5 th\u1ec3 c\u1ea7n tra c\u1ee9u (D\u00f9ng khi k\u1ebf to\u00e1n/qu\u1ea3n l\u00fd xem cho ng\u01b0\u1eddi kh\u00e1c. KH\u00d4NG truy\u1ec1n tr\u01b0\u1eddng n\u00e0y n\u1ebfu is_self_service l\u00e0 true)."),ma_bp:z.string().optional().describe("M\u00e3 b\u1ed9 ph\u1eadn/ph\u00f2ng ban n\u1ebfu mu\u1ed1n xem ch\u1ea5m c\u00f4ng c\u1ee7a c\u1ea3 ph\u00f2ng (Ch\u1ec9 d\u00e0nh cho Qu\u1ea3n l\u00fd/K\u1ebf to\u00e1n)."),lam_thu_7:z.boolean().default(!0).describe("C\u1ea5u h\u00ecnh c\u00f4ng ty c\u00f3 l\u00e0m vi\u1ec7c v\u00e0o ng\u00e0y Th\u1ee9 7 hay kh\u00f4ng. M\u1eb7c \u0111\u1ecbnh l\u00e0 true."),
49
- only_summary:z.boolean().default(!0).describe("N\u1ebfu TRUE: Ch\u1ec9 tr\u1ea3 v\u1ec1 s\u1ed1 t\u1ed5ng c\u1ed9ng (Ti\u1ebft ki\u1ec7m token). N\u1ebfu FALSE: Tr\u1ea3 v\u1ec1 danh s\u00e1ch chi ti\u1ebft t\u1eebng ng\u00e0y ph\u00e1t sinh.")}),execute:async({tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,is_self_service:$is_self_service$$,ma_nv:$ma_nv$$,ma_bp:$ma_bp$$,lam_thu_7:$lam_thu_7$$,only_summary:$only_summary$$})=>{try{const $DmnvModel$$=global.getModel("dmnv");if(typeof getKqChamCong!=="function")return{status:"error",
50
- message:"Th\u01b0 vi\u1ec7n kqchamcong kh\u00f4ng export m\u1ed9t function h\u1ee3p l\u1ec7."};let $final_ma_nv$$=$ma_nv$$?$ma_nv$$.toUpperCase().trim():void 0;$ma_nv$$="others";if($is_self_service$$){if(!$DmnvModel$$)return{status:"error",message:"Model 'dmnv' kh\u00f4ng t\u1ed3n t\u1ea1i tr\u00ean h\u1ec7 th\u1ed1ng \u0111\u1ec3 qu\u00e9t m\u00e3 nh\u00e2n vi\u00ean."};const $employeeDoc$$=$user_id$$?await $DmnvModel$$.findOne({id_app:$id_app$$,user:$user_id$$},{ma_nv:1}).lean():null;if(!$employeeDoc$$||
51
- !$employeeDoc$$.ma_nv)return{status:"error",message:"T\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n hi\u1ec7n ch\u01b0a \u0111\u01b0\u1ee3c li\u00ean k\u1ebft v\u1edbi b\u1ea5t k\u1ef3 m\u00e3 nh\u00e2n vi\u00ean n\u00e0o trong danh m\u1ee5c dmnv. Vui l\u00f2ng li\u00ean h\u1ec7 nh\u00e2n s\u1ef1."};$final_ma_nv$$=$employeeDoc$$.ma_nv;$ma_bp$$=void 0;$ma_nv$$="self"}const $condition$$={id_app:$id_app$$,tu_ngay:moment($tu_ngay$$).startOf("date").toDate(),den_ngay:moment($den_ngay$$).endOf("date").toDate(),
52
- ma_nv:$final_ma_nv$$,ma_bp:$ma_bp$$?$ma_bp$$.toUpperCase().trim():void 0,lam_thu_7:$lam_thu_7$$?"true":"false"},$report$$=await getKqChamCong($condition$$);if(!$report$$||!$report$$.data||$report$$.data.length===0)return{status:"success",message:`Kh\u00f4ng t\u00ecm th\u1ea5y d\u1eef li\u1ec7u ph\u00e1t sinh ch\u1ea5m c\u00f4ng n\u00e0o t\u1eeb ng\u00e0y ${$tu_ngay$$} \u0111\u1ebfn ${$den_ngay$$}.`};if($final_ma_nv$$)return{status:"success",view_mode:$ma_nv$$,target_employee:$final_ma_nv$$,period:{tu_ngay:$tu_ngay$$,
53
- den_ngay:$den_ngay$$},data:$report$$.data,hint:$ma_nv$$==="self"?"AI l\u01b0u \u00fd: \u0110\u00e2y l\u00e0 d\u1eef li\u1ec7u ch\u1ea5m c\u00f4ng chi ti\u1ebft c\u1ee7a CH\u00cdNH NG\u01af\u1edcI \u0110ANG CHAT. H\u00e3y t\u1ed5ng h\u1ee3p t\u1ed5ng s\u1ed1 ng\u00e0y c\u00f4ng t\u00ednh l\u01b0\u01a1ng, s\u1ed1 ng\u00e0y ngh\u1ec9 ph\u00e9p, ngh\u1ec9 kh\u00f4ng l\u01b0\u01a1ng v\u00e0 li\u1ec7t k\u00ea b\u1ea3ng chi ti\u1ebft l\u1ecbch tr\u00ecnh c\u1ee7a t\u1eebng ng\u00e0y v\u1edbi th\u00e1i \u0111\u1ed9 chu \u0111\u00e1o.":
54
- "AI l\u01b0u \u00fd: \u0110\u00e2y l\u00e0 d\u1eef li\u1ec7u chi ti\u1ebft c\u1ee7a nh\u00e2n vi\u00ean do K\u1ebf to\u00e1n/Qu\u1ea3n l\u00fd y\u00eau c\u1ea7u tra c\u1ee9u. H\u00e3y v\u1ebd b\u1ea3ng Markdown r\u00f5 r\u00e0ng \u0111\u1ec3 h\u1ecd x\u1eed l\u00fd c\u00f4ng vi\u1ec7c."};if($only_summary$$){const $summary$$=$report$$.data.reduce(($acc$$,$curr$$)=>{$acc$$.tong_ngay_cong_tinh_luong+=$curr$$.ngay_cong_tinh_luong||0;$acc$$.tong_ngay_khong_luong+=$curr$$.tong_ngay_khong_luong||0;$report$$.loaicong&&
55
- $report$$.loaicong.forEach($l$$=>{$acc$$.chi_tiet_loai_cong[$l$$.ma_loai_cong]=($acc$$.chi_tiet_loai_cong[$l$$.ma_loai_cong]||0)+($curr$$[$l$$.ma_loai_cong]||0)});return $acc$$},{tong_so_nhan_su_phat_sinh:$report$$.data.length,tong_ngay_cong_tinh_luong:0,tong_ngay_khong_luong:0,chi_tiet_loai_cong:{}});return{status:"success",is_summary_data:!0,period:{tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$},filter:{ma_bp:$ma_bp$$||"To\u00e0n c\u00f4ng ty/Ph\u00f2ng ban"},data:$summary$$,hint:"AI l\u01b0u \u00fd: \u0110\u00e2y l\u00e0 d\u1eef li\u1ec7u t\u1ed5ng h\u1ee3p r\u00fat g\u1ecdn c\u1ee7a t\u1eadp th\u1ec3 nh\u00e2n s\u1ef1. H\u00e3y d\u00f9ng c\u00e1c s\u1ed1 t\u1ed5ng n\u00e0y \u0111\u1ec3 tr\u1ea3 l\u1eddi b\u00e1o c\u00e1o v\u0129 m\u00f4."}}return{status:"success",
56
- is_summary_data:!1,total_records:$report$$.data.length,data:$report$$.data.slice(0,50),hint:"D\u1eef li\u1ec7u danh s\u00e1ch nhi\u1ec1u nh\u00e2n vi\u00ean (\u0110\u00e3 c\u1eaft l\u00e1t 50 d\u00f2ng \u0111\u1ec3 b\u1ea3o v\u1ec7 token). H\u00e3y v\u1ebd b\u1ea3ng Markdown."}}catch($error$$){return console.error("[L\u1ed7i t\u1ea1i getAttendanceReportTool - B\u1ea3n c\u1eadp nh\u1eadt ph\u00e2n lo\u1ea1i Self-Service]:",$error$$),{status:"error",message:`L\u1ed7i khi k\u1ebft n\u1ed1i v\u1edbi ph\u00e2n h\u1ec7 ch\u1ea5m c\u00f4ng: ${$error$$.message||
57
- String($error$$)}`}}}})}}module.exports={createFinanceTools};
1
+ const _0x23a907=_0x29f1;(function(_0x49b3fe,_0x5a7584){const _0x59edf5=_0x29f1,_0x593d3=_0x49b3fe();while(!![]){try{const _0x3ad6d1=parseInt(_0x59edf5(0x1a6))/0x1*(parseInt(_0x59edf5(0x10c))/0x2)+parseInt(_0x59edf5(0x114))/0x3+-parseInt(_0x59edf5(0x246))/0x4*(-parseInt(_0x59edf5(0xc9))/0x5)+parseInt(_0x59edf5(0x32e))/0x6+-parseInt(_0x59edf5(0x4bc))/0x7*(parseInt(_0x59edf5(0x22e))/0x8)+-parseInt(_0x59edf5(0x189))/0x9*(-parseInt(_0x59edf5(0x333))/0xa)+parseInt(_0x59edf5(0x3f8))/0xb*(-parseInt(_0x59edf5(0x4c0))/0xc);if(_0x3ad6d1===_0x5a7584)break;else _0x593d3['push'](_0x593d3['shift']());}catch(_0x5e5427){_0x593d3['push'](_0x593d3['shift']());}}}(_0x5c5a,0x2c3f2));function _0x5c5a(){const _0x2d51be=['DhKVugG','y2T2DcK','Bg9N','u+g6V3aGAa','vufoifq','BCoJlG','Bg95zwu','BIbO4BUnia','BMCGBSoG','AcbIW6b5','tg/HUQfPia','XRaGveSG','AwnO','yw5HBhK','DSoGihrO','AmoGBsaN','zw8GyUg7Mq','DgvUx3y','BmoGBsb2','BcdeKEg7GYa','ihBHU4CGDa','CgJdOxqG','icaGic0','yw5Oihq','4BUtBIb04BQH','igJdOg5N','ig3dRg5O','ig7eG20G','AYWGzgS','4BUqietgRY4','x2n0','BMCGDog7Lq','tUg6V3uGBa','B8oHBIaO','W6WGy+g6P24','z+g7JwKGBa','4BUdigZHUQv5','AxrODq','BMCGAmoZ','y2JHUQvTia','ig7dOg8G','BUg7OY4','DgHHBMC','4BUJyYbO4BUx','y+g6PxaUia','ihrODsi','lcbJAog7Jq','BMH14BQTBG','y29Uihm','vog7Lw5NlG','ihpHUR9Wia','zgf0zq','AxrOoIa','DcbJ4BUXyW','z8oGEsbU','4BUjihbOW6K','tIbO4BUnlG','ifbO4BQJAq','yYaIvmoG','ihnPBMG','W6bUzYbO','Bf0GvgG','W5mGrog7RIa','Aog7J2KGDG','AsbRAg8','rviGq8wO','DgvYrge','imoHBI4k','BMCGA2G','4BUTigtHU6vU','CNzPy2u','uUg6PfqGuq','W6bUzY4G','ihtdOgKG','y2T0AYa','BMCGDhi','W6bUzYbU','y29UzYa','iftHU5rorW','igldOw4G','iJy0mte','BMCGy+g7PW','BMCGy+g7Mq','zYbSW6aG','Bog7NwKGyG','BIbJ4BUNyq','4BUryYbO4BUh','Aog7O3aGDa','Ag8Gs+g6VW','BMGGBEg7Pq','B+g6O24GyW','zg12Da','BwfFzhq','W6aGy3vU','x2X1B24','jhrPzw4','ihbO4BQJAq','4BQJBIbWAa','reqPlIa','tog6PxKGqG','iftdOgKG','Cc9Uz8AW','W5rorYbu','x250','Ag8Gy3u','B3rOzxi','AgLUDa','yw5OlG','DgH1icG','ihBHU5TPia','zZOGwvK','imoIBsWG','XjhHUQD1l2m','y8oHyYb0','4BQHBMC6ia','pYiSici','jhn1Bq','z2f5','zw1Hvg8','DEg7KwKPlG','ihrO4BUdlG','ie1HCMS','ieTOW7rU','4BQNDs9JDq','vgNdQNuG','igZdOg0S','q8oZihrO','AgjVyxi','yxjYyxK','y2T2Da','BCoJBIdeKq','W6b5ifrO','B29RDxa','DhvFBMC','B8oHlcb2','Bmo9ihHL','4BQIssbeW5K','yUg6R3qGXje','B29SigW','DhqPlca','ig7HU6mGyW','EsWGvgK','DgvUx24','y+g6PxaGka','igldOw8G','iglHUQfUia','AmoTBMGU','x3rPzw4','C3rHCNq','4BQJBI4GvG','ihrVA2u','j19PzcC','B2nHAsa','W6WGBmoGia','AmoHy2GG','DxrPDMu','B8oGBIbI','BIbZ4BUria','Aog7O3aGza','y+g7P2eGBq','vg9VBf0','Chr5','y2JdRsbI','BIb0CNu','yw1JB24','tw9KzwW','ssdeKmAV4BUI','ig3HU6vJia','BgNHU4D1ia','AwjL','DxKGDUg6Pq','4BQTBIb0W6a','mtb4rfz6A3O','yYb0AEg7Gq','imsr4BUdihm','u+g7KsbSXRa','z2vUDf0','ignOAsa','ySoHBIbO','4BUhBIbJAa','W6fUihrY','icHm4BUnyW','BYbeyxm','W5rorYbK','EsbUz2G','AxrYyq','ihpHU5eGBa','DgJHU4mU','tog7L2KGAW','qYbcW4fp','ihpHU5eGDa','AcbK4BQHBG','uLvfoIa','BIb0W61J','EgvJDxq','EgvTigq','DhjVBMC','C29RAg8','4BULihzP4BUh','ihrODsa','CgJdOM4G','y8oZihtdQG','4BUNysbUAa','BCo0lG','q2HPihq','BMGGC8oH','ihrY4BUJia','q+g6PxuGAa','igJHU6nWia','Bog6PxKGBq','ignOW61U','W7mGC+g7Ksa','AcbJAog6Pq','AhrZ','yY4Gs0G','4BUlBMGGyW','4BQLBIbZW6i','4BUzignODq','ic8Grg8','DgHP4BUdDq','igrHBMG','A2nUlca','BgvHBG','A2LUAca','CUg7IYb0Aq','BUg6V3uGCW','icaYlIa','q3vUzYa','DhjHx2m','AcbZW6fJ','BI9JW7rU','4BUbihtdRg4','4BUDAsbKW7K','XRaSihpHU5e','4BQJBI4UlG','y24Sigm','4BUvBMCGCW','W6PUlIbw','zY4kica','mLzrsuDtrW','A2HVimsr','imsrXQfUia','DxNHU4fUia','Dxbnyxm','4BUnyY4','zZOGu+g7Rq','XjhHU4mGBog6Pq','otmXndqZsfv2sM9L','BMCGy+g6Pq','zYbdW6jU','AgNHU4f1ia','icaGifS','ihtHU48GDa','zg93BIa','EhbSB3i','4BUossbdW4e','W6fJigDP','DgLUz0i','BgXzzwe','B+g6O24GBG','4BUzDcbRAa','tKCGzmo5','XjfHBMCG','Aog7IsbJW7m','ifrjW4Po','W6j5igZdOa','y2GGy+g7Pq','C2XPy2u','Dw5Nihy','Bog6PxKGDa','zMLUze8','rog7Pe5hia','imsr4BUnyY4','BI4GvUg7MW','4BQ3yYbT4BUz','igtgSog7M2K','4BQNDsbR4BUZ','vEg7MemGCa','W6fUigpHUQC','4BUbBIb04BUh','tgvKz2u','4BUJigpHU6DH','tCoJihpHUQm','iIKUifq','DgJdQM0G','BxvHigG','x25Vx2K','y+g6OYbKyq','4BUNysbc4BQI','W6fJAcbO','DCoHigJHUQe','l3bOW7jU','zxjdyxm','BwfFBg8','wvLzlu0','jgX0zq','AwfVigq','4BUpAsaIqW','4BUhDcbRW6O','AEg6V3qGyW','j3rVBMC','wYjTyv8','rZOGs+g6VW','s0JdLe5h','zYaOq2G','DwfUksW','y+g7Psb0CG','ihBHUQ10ia','AgNHU4n1ia','lI4VlI4','C+g7KsbKXRa','zgvS','x2rHDge','4BUiieJHU45j','igtHU6vUzW','C+g6O24GCa','y+g7P2eGyG','Dsb2W6aG','x2zPzwW','Dg9Uz18','tCoJimsrXQe','Aog7HYbUAa','ihtdRg0G','A+g7SYbTW6m','vSoaigtdSG','quKGBmAW','ugJdOxqG','W6mGBMJdOG','Aog7J2KGiG','CgvYAw8','W7jUzYdeKq','w2DLDfq','DcbZAw4','l3r1B2K','Df9LBxa','DmoSBMGG','W6aGzog7RYa','ywLFy28','BwfFyNa','imsr4BUdigi','y2GGBMG','AsbZ4BUria','Aog7IYb4zq','EsiGDgG','BUg6V3uGyW','BUg7OYdeKEg6VW','Bg9HAwm','zYb0CMe','AEg7H24U','CcWGBMC','BIbJAg8','W6XUAcbJ','CgHHAv8','XQ9vimoDia','z+g7MxaU','ieni4BUiia','AcbSW6aG','4BUVigXP4BUh','jgLU','AEg7H3aUia','W6P1ihrO','ig7dOhK/','4BUbBIbT4BQ3','zgT0AW','mtuYnZnbAwTsvum','BMDHEv8','yxKU','DhxHU5vPia','xtOGs0G','ifpHU5aGmq','DcKSieW','BIbUz8oG','XQ8GXjdHUQzv','zxHWB3i','EsbJW7rU','igv4Cg8','DhlHUQmGBa','B2WNicG','Dcb24BUBAq','4BUzCcaOBa','q8o0BMCG','zgf0yq','4BUhDsbJAa','DgJHUQv5ia','ywXHBMm','imsryw5N','z2v0tw8','Bog6PxK6ia','4BUJicJeKwK','ysbJ4BUPDq','EsdeKwfU','4BUzyYbN4BUn','ienv4BUqsq','mZu0mJG0q3LuBwzW','l2XPyNm','tCoJiglHU5K','4BUly2GGCa','DgvUx2i','z2v0rNu','4BQ/DsbZ4BQ/','ideGzmoY','4BUDAsbIW6e','A2nUks4','B3b0Aw8','W7mGlsaG','zw5Kt2y','ihtdTgKI','jg5NyxK','4BUrig7dOhK','tCoJigTO','AhuVy2G','A2NHU4DTia','zY4Gj3q','BwvY','qUg6RLqGqG','zYdHU6LUzW','ssbor8AV','ifpHUR9Wia','4BUjigtdOg4','tmAWDsddVq','yxuGA2G','tEg6T2mGXje','igtgSmAHBG','sYaXmte','AcbJW6fJ','W6eGDhlHU4S','BMFgSog7NwK','A2HVBMC','BYbUAmoI','B2XD','W6PUigTP','z8oGEsKU','BsbNACo5','AwrFyxa','seKGqSob','ms4Gvog7KW','W6aGDhj1','C2vSzG','zYbI4BUzia','l2nRDgS','4BUBAsbO4BQH','Ds9WAog6OW','yM9VBgu','zYbOW7nH','ifpHU5aGva','BEg7PwmGjW','zYbR4BUZia','AsKUifq','Bog6RxaGyG','yxn5BMm','ihrOyw4','Ag8UcIa','tYbdW4fp','4BUhDsbWAa','4BQXBsb0CG','lurelIa','BgfUy2u','W60GDgHL','AwvUx2G','iciXmZe','BYb2XkKG','zYbOB+g6TW','zw1ty2G','CKrHDge','j3nSx3G','Aog7HYbJAa','XRdHU51Pigq','igZHU5TUia','AsbR4BQ/ia','BsbJW7rU','igHV4BQ3yW','qSoHBYbJ','lcbKA2m','BMDHEq','AmoHDcbZ','igpHUQvWia','Dg9vCha','ihrODs4','W6PUigVHUR8','vfjvrsa','CMLHBei','ieniW41o','vog7Le5hlG','y2HPihq','ie3dOYbR','Asb0CUg6OW','AwfVx2q','EsbK4BUVia','icaGidm','4BQLDcbJ4BQJ','iepdKK4G','AwfSiei','XjddOYbJ4BQV','4BUrBMCGBa','lIbo4BQ/Dq','imsr4BUdihe','zg1UDG','ihHLBsa','CwnOyw0','4BUvBMCGyW','Bw9Tzw4','B2fPx2m','BMC6ia','Aog7IsbRAa','y291BNq','oIakica','y3vZDg8','BUg7OYdeKEg6PW','vg/dOg4G','ieTiW5ro','ihtdRw5O','ihrYW6XU','DcbJ4BUnyW','W7rUzYbJ','XjhHU5fPiha','XRdHU59UzY4','4BUXlIbiW6m','4BUxAsbKBW','W7mGDSoGBW','vog7QYbUzW','Bw9Kzq','zg9HBMG','ifrP4BUbBG','DcbUz8oG','BgyTu2u','BMf5iIa','z8oGEsaO','4BUdihtgSca','ieVHU7iGlW','mtq0oeLlEvLUzq','iglHUQnUzW','z3jVDxa','yUg7IYbNAq','DgTFy28','icaGifm','B2rLihq','AsbU4BUJia','W7LUzYbd','ieJHU4WGka','iIWGiJy','BMGGy2G','W6bUzYKU','B2XZ','4BQTCcbUAa','4BQLBsbJW7q','BIbWAog6Qq','kfLzwvK','y+g7P2eGDa','W6bUzYbJ','x25V','4BQHEsb0Aa','BMCGXjhgSa','Dcb0XRaV','mZa3ndi0rMDSAuPH','y8oHBYbJ','4BUhDsbKyq','4BUSietHU6ro','AcbOW6XU','vcbmXQ9v','4BUrihrP4BUb','msbJ4BUNyq','ihpHU60Gza','imsr4BUdigW','DcbMDw4','4BQHAsbtzq','DcbJW6eG','ig5OW6fU','zYWGBMC','igLZx3m','C3rYAw4','DgNdQNuG','y2GU','W7rTig5H','ihrOAEg6VW','DsbR4BUZia','rog7RYbSAq','4BQ/DcbJ4BQL','ifrs4BUmtG','ierclIa','BMGGzg8','ihrOW6fU','4BUlBMGGza','CNLuB28','Aog6Qw0','smoJEsbW','4BUbihpHU5eG','zxrbDhq','igrVyw4','zgvZy3i','jhnVCNq','4BQJBMCGqW','BICGBmoG','B+g6T2mGBq','igtdUw5N','w2DLDeq','D24U','ig7HU6mGlW','zYbO4BUJCa','4BUPDsdeKEg7IW','Aog7O3aGCG','igrRy24','ign1BMC','ic0+ihq','XRdHU5TJlca','4BUrBMCGAW','l2nRDNq','zmo5BMCG','zw51Bq','rsaOtEg6TW','zvn5C3q','B25Nx2C','igXVB2S','AhrZjYa','DgLLBG','Dg9VBca','ig114BUrBG','rYbt4BUSia','Dcb04BURBG','B+g6O24GXje','BMvYywW','zgf0yv8','Acb0Ahu','lYboAmoG','iglHUQv0ia','DUg7M2KGDa','W6aGmZmX','igtHUQfUzW','yYbOB+g6TW','ihrP4BUbBG','BMGGDgG','ihbO4BQTBG','CgJHUQ1UiG','iepdTg5N','4BQNDsaOwq','zsdeKEg7GYa','4BUzDcbWAa','4BUrAsKSia','C+g7Ksb4Dq','l25OW6aG','icHwW60G','BIb04BURia','ihbOW60P','y3vUzYa','mY4UlIK','ksWGq2G','ihjHig4','BMnLvg8','W6bUAcbJ','z8oGEsa','igpdOw8G','DsbJAog7Iq','W6PUigpHU6u','Dsb04BURia','A2JdOwnO','vmoGAsbR','DEg7KwKPla','Ag/HUQnUia','W6b5ihr1','W6fUign1','zg1KDa','CcbUAog6Pq','W7LUzYbR','4BQNDsbS4BQL','4BQJBMCGtq','y2JHU4KGyG','BIbJW7mU','ihBdOg8G','CMvKDwm','4BUByY/eKEg6TW','W6jUihpHU7e','ihbOW6f0','B2fYza','BMCGBmoG','yYb0AEg6VW','BMHPW6P1','W7mGDhj1','DEg7KwKGBG','uvvbtIa','B25N','AEg7GxuGAW','zYbJ4BQLCa','y2T0AW','r8AV4BUCssa','ienpreu','igZHUQv5ia','tMFdOhKG','zwj0qMe','zY/dOM0S','z8oGEsbR','tKCGve8','DMNHU4DJlG','4BULBMCGCW','BMGGBMC','BMCGC+g6Vq','W6bVig5N','BwfFDNq','4BQ3yYbJW6e','ifz1Asa','W6jUigXV','vog7K24GAW','zYbU4BUJla','iIbOB+g6TW','z8oGEsbO','CgJdRsbI','y2JgSgeG','kftHU5nUia','icaGieW','rg9HBMG','y2vszxa','zYb0W61U','zxjuB28','4BUvAsbU4BUJ','C+g7KsbSAq','iezbtfm','ihlHU5DUzW','Bf94Dwe','4BUossbt4BUq','AmoSBMGG','W7rUzYbS','Dg/dOw4G','4BUCssbeW5K','jg1HDgm','igJHU40GEa','oIaIvgG','W6b5iglHUQ8','zYbJ4BUNyq','ifrvwEg7HG','ts1ercK','qKNHU4joia','ihpHU7eVsW','ihtHU48GyW','CMeGy+g7Qq','igVHUR8GDa','iI4GiM4','DgLLBL8','BIb2W6aG','qsbJW7jU','y+g6Pxa6ia','W7rUzYbU','ksbY4BUtAq','zgT0AYW','ignO4BUjia','s2JdTg5N','kdeZmsK','DgvUx3a','BwfFCgG','ihrY4BUnBG','ChvZAa','4BUrAtOGrW','AEg7H3uG','ywDNCMu','uUg7Je5hoG','ignOBYa','W7jUzYbI','z2LMEq','CNrZx3C','Bw1HCNK','l2nKChm','icleKEg6P3u','icHJAgK','tmoaieTi','A19JB18','yxjRzg8','yxKGA2G','y2HVigq','kenO4BUjia','DcdeKEg6P3u','l2rRy24','vgJgScb2','scbc4BQItG','icDKBw4','ihtHU6SGBq','AsbKW7LU','EMvhzw4','Ag8GXjhHUQC','y+g7P2e6ia','u+g6VLaU','W7mGnteX','y8AHihpHU58','B3j0vg8','yw4GAg8','seKGq+g6OG','ihrPBI4','igpHU6L1ia','ihrY4BQJia','mZu3mhHQA0rnua','Aog6Pw0GyW','BIKU','BsaVihy','BmoGigDP','mtC3mhHfD01Qyq','tog7JwmGyW','q2HViha','W6b5imsr4BUd','BUg7OYbJDq','zM9Yrwe','C2LUAc4','BIbMywW','DgvUx2S','igpdTg5N','4BUZlGOGia','AEg7H24GzW','BUg6V3uGBG','imoHBI92','EEg7Gw4Gmq','CcbJAg8','imo0BMCG','B25Nig0','y2JHU5f0ia','zgT0AY8','W6fUigJdOa','oIbuB28','l2TXy2G','DsbgquW','4BQJBMCGBG','cIaGica','Dw50Aw4','DejHBge','BYb0CUg7Sq','DgJgScb2','iepdOM4G','z0jHBge','BMGGzog6Oq','ihpHU5eGBG','Amo6yYaO','u0u6ifq','DmAW4BUJBMC','igldQM4G','ig5OW6jU','DcbXDEg6OW','Acb0DEg7Lq','zYbIyw4','ihBHU6uGBq','icJeKog7I24','y2JHU6LUzW','BsbJAg8','y8o0BMCG','ig7HUR91ia','AmoGBMCG','lIbt4BQ/Ca','lIbiW6n5','zNvUy3q','s+g6VYb0BW','4BUutKCGka','EgvTigm','tKCGDg8','ihrVW6fU','jgXPBwK','sog7IcbO4BUp','wvLzws0','ie7HU6mGyG','iffvqu4','AcbIW6fU','CNv54BUbBG','CcbUW7nP','DMLLD18','kfpHU5eGza','W6aGAmo0Bq','AgKGDgK','ugJHUQnPia','zgvMyxu','DMfSDwu','vg9VBca','jg1VBNq','Aog7Jw4GiG','ig5NXRdHU50','BwvZC2e','zuLUDgu','Dsb2W6bV','BgvUz3q','yYbJAg8','W7mGkmsrAq','DUg6RxqGDa','BsbZ4BUria','4BQ/BIb0Aa','BMCG4BUPBG','ignOAEg6VW','imsr4BQ/BIa','DsbJW7rU','y+g6PxaGBG','BMCSihm','ihtHU5fPia','W7rUzYb0','DhjHigm','ketdUw5N','igpdSYb0','icHusYa','EgvTihq','u3vTBwe','lcaYlca','AcbJAg8','zvrVB2W','AcbUz2G','W6n5igtdUq','AmoIBIb2','W6bPigTO','ienitYa','4BQNBIb0CG','XRdHU51Pimsr','BMFdOhK','ihrYXRdHU5S','y2GGy8oZ','B8oHBI9r','B+g6O24GAW','W6f0ihnP','BMfT','oGOGica','igpHUQDUia','BhvVBMC','C2f1imsr','BNvTyMu','ihrO4BUdia','tUg7OYbWAa','C2uGBUg6VW','DgvUx2q','qUg6Oe4GqG','y2GGAmoG','BIaIBwe','AcaOrxG','4BQJBIaOmq','w0ZHU5DPia','Amo6yYbR','W6PUlG','DgL0Bgu','AsbWAmoT','ACoQBIaO','W5rorYb0','AmoIBIbZ','BMFdOhKG','4BULihrYW6e','igpHUQvWlG','BI4Gvfi','ici2nde','A2v5CW','iI4kica','DEg7Kw4GzW','icjRAmoH','ign14BUrAq','EsKUcIa','4BUrAsbUzW','ihBdOcbl','w2DLDee','rdOGiJy','4BQJBMCGDa','ysbO4BUtBG','XQfUiepdKG','B2TLBIK','W6b5igvT','ieVHUR8GDa','BxxHU5fUia','icHwrdO','A2HVigG','B29SjYa','Aog7GYbKBW','A2HV4BQJBG','4BUZigldOw8','4BUrig5NW6a','tmAVvsddNq','ExPLr2u','XjdHUR9Uig4','yYdeKEg7I24','BYbR4BQ/Da','4BUPidCGAa','AgKGCgG','iepdSYbU','ysbUAmoI','zsKU','ndeYiIW','zxj2Awm','W6fVignO','u+g7LsbJW6e','W6PUigrV','kfrliem','BEg7KwmGBG','BIbRAmoH','ihbOW7jU','ysaOXjhHUQC','EsbIW6fV','khnVy2e','4BUBigFHU41P','BMCGy+g6PW','B2WGBSoG','y+g7Mw5NlG','zMfSC2u','vmoTBMGG','lu1nluq','ihf14BQJia','mtfVrvzdB2S','DgTFBM8','ks4GtEg6TW','W60Iic0+','y24Pifq','BM9WAge','4BUjigtdUw4','zsbU4BQ/Dq','BmoYBMCG','iepdSYbI','BMXLDgG','Esb4DEg6Pq','A2JdTg5N','zgTJBG','Aw5MBW','AgKGA+g6VW','rcKUie4','BMCVBMC','ks4GXjdHU4m','W6jUimsr4BUr','EsbK4BUXyq','lureks4','ks4Gs0G','kg7HUR91ia','iduWigq','CcbO4BUpAq','zuzPBMe','tog6PfKGuW','zw8GBMG','AEg7H24GAW','DefJy28','mtmXlca','W4Xnifri','zmAWimsr4BQN','icDSB2K','Ccb0Aog6Pq','4BUpihrY4BUr','yYbRAg8','W6PUicHe','AhxHUQLUia','DgJdOw5N','BY4Grmo5','zog7RYbSAq','l2v4zwm','icHzwvK','Dog7Q25Nia','q+g6Pe1DoG','z2JHU4KGCa','BUg6V3uGBq','z2HP4BUhCa','BYb04BURBG','q+g6PxaGyG','ieLoveu','B2fUAca','Aw5ZAwC','AcKGBUg6VW','zxnuB28','Dg9eyxq','msbJW7jU','jYbRAmo0','AcbSXRdgOq','iff1yw4','qUg7JYb0CG','igZgSog7O24','BMCU','icaGica','Bw9KzwW','B29Sig4','ieZHU6nPia','DgfuB28','y2T2Dca','tu0Treq','zYdeKEg7GYa','zYbU4BUJia','l2nRy24','wvKTtu0','DMuGu3u','zsbSW6aG','BwfFBNy','4BUzignOAq','DgH1','AcKU','y2nVDw4','AgfUAc4','BMCGXjhHU4m','y2JdRw5O','4BUXyYb0Aa','W6n5ihBHUR0','DSoGign1','BmoGihpHU5e','EsbU4BQ/Dq','W6fUzYbU','DmoSBsbN','AcWGA2G','BIb2ACoQ','jhLLyxi','z2f0zq','Dsb0Age','DgJHU5fUzW','DsbWAmoH','Awv0x2W','W6bUzY4','BM9Uzsi','C3vJy2u','4BUvBMCGBG','vKq6ici','Dog7Lw5Nia','y+g7PsbS4BQL','AhuGySoH','CgJHUQnPia','Bog7HY4','B19PBI4','u+g7KsbKXRa','iJeXmsi','zg1ICa','Aw4U','jZyNlGO','vhj1EEg7Gq','zmoYBMCG','BSoGEsbU','A+g6VYb0BW','jgD0zq','icju4BUvBG','DCoPDcbT','XjddONKGBa','W61JAcbJ','BIbU4BUJia','uLbsrvq','W70GECoQDq','BMCGwvK','yUg6PxqGAW','ielHUQ10ia','DsbI4BQXBG','lI4Plca','ihBHUR0GyG','w2DLDfm','DhjPBq','CNv5ihy','y2GGBUg7OW','vog7Lw5Nia','CLrVB2W','4BUyqYbqsa','W6fVigpdOq','icaGidi','Aog6O2KGDa','rgfZAgi','4BUzBMCGka','4BUrigXP4BUh','XRbHimsrXRa','ks4GtUg6VW','x2jWiI4','rcKU','4BQTDcb0XRa','igjHBYa','q2JHU4KGDa','jgDYB3u','rYblseK','BYb04BURia','zxjHBeW','ig5HEs4','icj0AmoH','4BUzDcbJW6e','qYbcsEg7HG','ig7HU6mGmG','EsbUW6bV','igJHU49Pia','kgtdUw5N','Dhj1zsK','ke5O4BUBia','4BUrAsbR4BUZ','BIb0CMe','ihrO4BUrBG','zg1UDI4','DsddVtOG','Aw9Ux2u','AEg7GxuGBG','DmoTy2GG','Aog6Rw4GEa','A19UBYK','BgNdQM4G','4BUJic0GDa','4BUNysbdsa','C29JywK','y2TJBG','lIakica','lcbJA3q','DcbSW6f0','ksWGrmoY','zw9ZCa','lIblsmou','4BQVDcbIDq','C3rHDhu','DgNHUR90ia','tCoJig5O','B19ZDge','ihrRx24','mZmZoxzZAKDiyW','ic0G','igpHU6DHia','Aog7Kw5NlG','mtaYmJi0ndbRvKH3BMS','vgNHUR90ia','ihzPW6PU','lIaOtMG','zxjYB3i','W6jUihzP','BMCGDgK','tUg7OY9dW7m','BMCGBUg7OW','ihrOzw8','4BQJAsb0Aa','zog7PtOGwW','ihpdOwnO','yw8Gzog7IW','4BQ/DsbUzW','y+g6PxaGva','ig5OW6aG','BYbWAmoI','igtHU4TJAa','Dog7QYbKyq','y+g6P24GDa','zgT2Da','zcb0B8oG','q0JHU4GGsa','ks4GsmoJ','zYbO4BUhia','4BUNysbJ4BQJ','Aw5Oigm','BMGGXjfP','A2HPigG','zYbKW7LU','4BQLEsb0BW','4BQTyYb0W6a','ihtdQM4P','BIWGy2S','l2rRDgS','kdmZmsK','B2LFBMG','ig3dOYbO','tKCGs0G','CSo1ihldOa','ihrODsW','ihrYXRdHU50','x2nV','zY4Gkfy','BMfS','BwfFA2G','AmAHBIbZ','imsr4BUrAsa','zwXMx3m','W7PJignO','4BQ/ihrVW6e','EsbKyw4','EsbRAgK','EM9K','ihrYB24','W6fUlIbc','jYbSW6aG','igpHUQD1ia','C2LUAca','A+g6V3qGDa','DgLUAf8','BmoGigjH','ihtHU7eGDG','iIdeKEg7GYa','DICGA2G','4BQHBIb24BUR','tUg7OI4','x2LK','kfzeoIa','4BQVDcdeKEg6PW','AEg7H2mGDG','u+g7KsbUzW','W6PUihbO','y2GGy2G','iff14BQJBG','igJHU4CGDa','yxrHx3m','CNqGBEg7Mq','AcbOW6bU','Aog7RsbWAa','DSoGigXP','zgvUx24','DcbOAEg7HW','B2jQzwm','zYbKB2e','W6aGXjhgSge','ws1nts0','w0fjiee'];_0x5c5a=function(){return _0x2d51be;};return _0x5c5a();}const {tool}=require('ai'),{z}=require(_0x23a907(0x4f6)),moment=require(_0x23a907(0x211)+'t'),getTdttco=require(_0x23a907(0x152)+'/libs'+_0x23a907(0x16a)+_0x23a907(0x3fd)+_0x23a907(0xd6)),getTdttno=require(_0x23a907(0x152)+_0x23a907(0x1a7)+_0x23a907(0x16a)+_0x23a907(0x3fd)+_0x23a907(0x53e)),dktk=require(_0x23a907(0x152)+'/libs'+_0x23a907(0x4e3)),cktk=require(_0x23a907(0x152)+_0x23a907(0x1a7)+_0x23a907(0x1d4)),dkcn=require('../..'+_0x23a907(0x1a7)+_0x23a907(0x31c)),ckcn=require(_0x23a907(0x152)+_0x23a907(0x1a7)+_0x23a907(0x442)),dkvt=require(_0x23a907(0x152)+_0x23a907(0x1a7)+'/dkvt'),ckvt=require(_0x23a907(0x152)+_0x23a907(0x1a7)+_0x23a907(0x27a)),cdpskh=require(_0x23a907(0x152)+_0x23a907(0x1a7)+'/cdps'+'kh'),cdpstk=require('../..'+_0x23a907(0x1a7)+_0x23a907(0x312)+'tk'),getExecutiveDashboard=require(_0x23a907(0x152)+_0x23a907(0x1a7)+_0x23a907(0x423)+_0x23a907(0xb8)+_0x23a907(0x489)+_0x23a907(0x2bc)),getRetailSalesReport=require('../..'+_0x23a907(0x1a7)+'/dtba'+_0x23a907(0x402)+_0x23a907(0x4b4)),getKqChamCong=require(_0x23a907(0x152)+_0x23a907(0x1a7)+_0x23a907(0x349)+_0x23a907(0xc1)+'g');function _0x29f1(_0x509f0f,_0x2c9cd2){_0x509f0f=_0x509f0f-0xa4;const _0x5c5a55=_0x5c5a();let _0x29f1aa=_0x5c5a55[_0x509f0f];if(_0x29f1['OjTONd']===undefined){var _0x4c13fc=function(_0x1b16f1){const _0x461fe6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x432d08='',_0xeae82='';for(let _0x2a281a=0x0,_0x53e1c4,_0x32ff0c,_0x3e66f0=0x0;_0x32ff0c=_0x1b16f1['charAt'](_0x3e66f0++);~_0x32ff0c&&(_0x53e1c4=_0x2a281a%0x4?_0x53e1c4*0x40+_0x32ff0c:_0x32ff0c,_0x2a281a++%0x4)?_0x432d08+=String['fromCharCode'](0xff&_0x53e1c4>>(-0x2*_0x2a281a&0x6)):0x0){_0x32ff0c=_0x461fe6['indexOf'](_0x32ff0c);}for(let _0x2f8c6f=0x0,_0x494f44=_0x432d08['length'];_0x2f8c6f<_0x494f44;_0x2f8c6f++){_0xeae82+='%'+('00'+_0x432d08['charCodeAt'](_0x2f8c6f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xeae82);};_0x29f1['YSIJQz']=_0x4c13fc,_0x29f1['FyPTcz']={},_0x29f1['OjTONd']=!![];}const _0x3b969a=_0x5c5a55[0x0],_0x15a2bf=_0x509f0f+_0x3b969a,_0x487000=_0x29f1['FyPTcz'][_0x15a2bf];return!_0x487000?(_0x29f1aa=_0x29f1['YSIJQz'](_0x29f1aa),_0x29f1['FyPTcz'][_0x15a2bf]=_0x29f1aa):_0x29f1aa=_0x487000,_0x29f1aa;}function createFinanceTools(_0x18ddc2,_0x445fdd){const _0x561aeb=_0x23a907;return{'getSalesReportTool':tool({'description':_0x561aeb(0x57c)+_0x561aeb(0x486)+'o\x20Bán'+'\x20hàng'+_0x561aeb(0xf7)+'anh\x20t'+_0x561aeb(0x464)+'n\x20lẻ\x20'+_0x561aeb(0x200)+'iết.\x20'+_0x561aeb(0x100)+_0x561aeb(0x4cf)+'ổng\x20d'+'oanh\x20'+_0x561aeb(0x585)+'tien/'+_0x561aeb(0xa8)+_0x561aeb(0xcc)+'ợng\x20b'+'án\x20(s'+_0x561aeb(0x2e8)+_0x561aeb(0x18f)+'ợi\x20nh'+'uận\x20g'+_0x561aeb(0x198)+_0x561aeb(0x4e5)+_0x561aeb(0x14e)+_0x561aeb(0x227)+_0x561aeb(0x389)+'t\x20khấ'+_0x561aeb(0x15a)+'Hoa\x20h'+'ồng.','inputSchema':z['objec'+'t']({'tu_ngay':z['strin'+'g']()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Ngày\x20'+_0x561aeb(0xa6)+_0x561aeb(0x2b3)+_0x561aeb(0x204)+_0x561aeb(0xc5)+_0x561aeb(0x23f)+_0x561aeb(0x3f6)+_0x561aeb(0x408)+'ếu\x20sế'+_0x561aeb(0x373)+_0x561aeb(0x498)+_0x561aeb(0x521)+_0x561aeb(0x174)+_0x561aeb(0xb6)+'ngày\x20'+_0x561aeb(0x24d)+_0x561aeb(0x261)+'g.'),'den_ngay':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Ngày\x20'+'kết\x20t'+_0x561aeb(0x355)+'YYYY-'+_0x561aeb(0x43f)+').'),'ma_nv':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x4b9)+_0x561aeb(0x4c5)+_0x561aeb(0x1cb)+_0x561aeb(0x260)+_0x561aeb(0x584)),'ma_kh':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x1b6)+'ách\x20h'+_0x561aeb(0x561)+_0x561aeb(0x4a0)+_0x561aeb(0x53c)+_0x561aeb(0x59d)+'Maste'+_0x561aeb(0x1ec)+_0x561aeb(0x37b)+_0x561aeb(0x175)+_0x561aeb(0x124)+_0x561aeb(0x4e1)+'.'),'ma_vt':z[_0x561aeb(0x256)+'g']()['optio'+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x137)+_0x561aeb(0x23e)+_0x561aeb(0x331)+'ật\x20tư'+_0x561aeb(0x4c3)+_0x561aeb(0x3f0)+_0x561aeb(0x280)+_0x561aeb(0x110)+_0x561aeb(0x55b)+'taToo'+'l\x20nếu'+_0x561aeb(0x302)+_0x561aeb(0xe6)+_0x561aeb(0x330)),'ma_kho':z[_0x561aeb(0x256)+'g']()['optio'+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x1b6)+_0x561aeb(0x421)+_0x561aeb(0x55d)+'i\x20sếp'+_0x561aeb(0x302)+'muốn\x20'+_0x561aeb(0xe0)+_0x561aeb(0x42d)+_0x561aeb(0x29a)+'ất\x20đi'+_0x561aeb(0x320)+_0x561aeb(0x121)+'o\x20cụ\x20'+_0x561aeb(0xd8)),'user_hoa_hong':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+'nal']()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Tài\x20k'+'hoản/'+_0x561aeb(0x4b9)+'ân\x20vi'+'ên\x20nh'+'ận\x20ho'+_0x561aeb(0x3cd)+'g.'),'tinh_tong_cong':z[_0x561aeb(0x1d7)+'an']()[_0x561aeb(0x1b0)+'nal']()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x46d)+'n\x20tru'+'e\x20nếu'+_0x561aeb(0x284)+_0x561aeb(0x20e)+_0x561aeb(0x13c)+_0x561aeb(0xea)+'ch\x20ch'+'i\x20tiế'+_0x561aeb(0x286)+_0x561aeb(0x1d8)+_0x561aeb(0x10e)+_0x561aeb(0x161)+_0x561aeb(0x538)+_0x561aeb(0x56b)+_0x561aeb(0x438)),'chi_hien_tong_cong':z[_0x561aeb(0x1d7)+'an']()['optio'+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x560)+'UAN\x20T'+_0x561aeb(0x30c)+_0x561aeb(0x47b)+'true\x20'+_0x561aeb(0xfe)+'ếp\x20CH'+'Ỉ\x20HỎI'+_0x561aeb(0x1d9)+_0x561aeb(0x368)+_0x561aeb(0x461)+_0x561aeb(0x483)+'doanh'+_0x561aeb(0xe4)+_0x561aeb(0x420)+_0x561aeb(0x186)+_0x561aeb(0x138)+'rả\x20về'+_0x561aeb(0x1ad)+_0x561aeb(0x44c)+'\x20tiết'+'\x20kiệm'+_0x561aeb(0xb3)+'n.'),'is_self_service':z[_0x561aeb(0x1d7)+'an']()['defau'+'lt'](![])[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x560)+_0x561aeb(0x51d)+_0x561aeb(0x30c)+'\x20Bật\x20'+_0x561aeb(0x1fc)+_0x561aeb(0x33f)+'gười\x20'+_0x561aeb(0x27b)+_0x561aeb(0x123)+_0x561aeb(0x558)+_0x561aeb(0x104)+'h\x20hìn'+_0x561aeb(0x371)+'\x20hàng'+'\x20của\x20'+_0x561aeb(0x44d)+_0x561aeb(0x533))}),'execute':async _0x2f3a48=>{const _0x5812b5=_0x561aeb;Logger[_0x5812b5(0x406)](_0x5812b5(0x518)+_0x5812b5(0xcd)+_0x5812b5(0x47f)+'alesR'+'eport'+_0x5812b5(0xbd),JSON[_0x5812b5(0x256)+_0x5812b5(0x30f)](_0x2f3a48));let {tu_ngay:_0x24170c,den_ngay:_0x391846,ma_nv:_0x243797,ma_kh:_0x4cc63e,ma_vt:_0x214f7e,ma_kho:_0x3b2c95,user_hoa_hong:_0x20f8c9,tinh_tong_cong:_0x3ea863,chi_hien_tong_cong:_0x4e73d8,is_self_service:_0x42c5e7}=_0x2f3a48;try{if(_0x42c5e7){const _0x5a6e56={};_0x5a6e56[_0x5812b5(0x446)]=0x1;let _0xb3ba24=_0x445fdd?global['getMo'+'del']('dmnv')[_0x5812b5(0x12b)+'ne']({'id_app':_0x18ddc2,'user':_0x445fdd},_0x5a6e56)[_0x5812b5(0xfb)]():null;const _0x3b7cba={};_0x3b7cba['statu'+'s']=_0x5812b5(0x4c4),_0x3b7cba['messa'+'ge']=_0x5812b5(0x2ab)+_0x5812b5(0x2ad)+_0x5812b5(0x159)+'ạn\x20hi'+_0x5812b5(0xd0)+'ưa\x20đư'+'ợc\x20li'+'ên\x20kế'+_0x5812b5(0x197)+_0x5812b5(0x28c)+_0x5812b5(0x160)+_0x5812b5(0x359)+'\x20viên'+_0x5812b5(0x541)+'trong'+_0x5812b5(0xf9)+_0x5812b5(0xc4)+_0x5812b5(0x4a4)+_0x5812b5(0x2d6)+'lòng\x20'+_0x5812b5(0x4ab)+_0x5812b5(0x15e)+_0x5812b5(0x2ba)+'.';if(!_0xb3ba24)return _0x3b7cba;_0x243797=_0xb3ba24[_0x5812b5(0x446)];}const _0x1fe351={'id_app':_0x18ddc2,'tu_ngay':moment(_0x24170c)['start'+'Of'](_0x5812b5(0x54c))[_0x5812b5(0x431)+'e'](),'den_ngay':moment(_0x391846)['endOf'](_0x5812b5(0x54c))[_0x5812b5(0x431)+'e'](),'ma_nv':_0x243797,'ma_kh':_0x4cc63e,'ma_vt':_0x214f7e,'ma_kho':_0x3b2c95,'user_hoa_hong':_0x20f8c9,'tinh_tong_cong':_0x3ea863,'chi_hien_tong_cong':_0x4e73d8};Object[_0x5812b5(0x3c2)](_0x1fe351)[_0x5812b5(0x338)+'ch'](_0x31b9f1=>_0x1fe351[_0x31b9f1]===undefined&&delete _0x1fe351[_0x31b9f1]);const _0x3f8b4f=await getRetailSalesReport(_0x1fe351);if(_0x3f8b4f['filte'+'r'](_0x1dd599=>!_0x1dd599['bold'])[_0x5812b5(0x382)+'h']===0x0){const _0x11ccab={};return _0x11ccab['statu'+'s']=_0x5812b5(0x45f)+'ss_em'+_0x5812b5(0xbe),_0x11ccab['messa'+'ge']=_0x5812b5(0x1f4)+_0x5812b5(0x3e6)+_0x5812b5(0x243)+_0x5812b5(0x2a4)+_0x5812b5(0x2ff)+'hưng\x20'+_0x5812b5(0x14c)+'\x20CÓ\x20D'+'Ữ\x20LIỆ'+'U.',_0x11ccab[_0x5812b5(0x583)]=_0x5812b5(0x3da)+_0x5812b5(0x370)+_0x5812b5(0x25e)+_0x5812b5(0x14b)+_0x5812b5(0x35a)+_0x5812b5(0x2e7)+_0x5812b5(0x392)+_0x5812b5(0x3d6)+_0x5812b5(0xad)+_0x5812b5(0x247)+_0x5812b5(0x41f)+_0x5812b5(0x231)+_0x5812b5(0x1d5)+_0x5812b5(0x3c0)+'ƯỚC\x20K'+_0x5812b5(0x1cf)+_0x5812b5(0x1e1)+'\x20SẾP\x20'+_0x5812b5(0x315)+'ÔNG\x20C'+_0x5812b5(0x557)+'LIỆU,'+_0x5812b5(0xae)+_0x5812b5(0x1bb)+_0x5812b5(0x132)+_0x5812b5(0x488)+_0x5812b5(0x510)+'ương\x20'+_0x5812b5(0x2af)+_0x5812b5(0x309)+'ọi\x20\x27e'+_0x5812b5(0x11b)+_0x5812b5(0x27e)+_0x5812b5(0x1eb)+_0x5812b5(0x58f)+_0x5812b5(0x196)+'tìm\x20d'+_0x5812b5(0x50d)+_0x5812b5(0xb5)+'hoặc\x20'+_0x5812b5(0x289)+_0x5812b5(0xe2)+_0x5812b5(0x300)+_0x5812b5(0x26e)+'\x20\x27cod'+_0x5812b5(0x380)+'rpret'+_0x5812b5(0x2e3)+'l\x27\x20để'+_0x5812b5(0x4ff)+_0x5812b5(0x148)+_0x5812b5(0x234)+_0x5812b5(0x481)+_0x5812b5(0xf5)+_0x5812b5(0x381)+_0x5812b5(0x25f)+'CHỈ\x20K'+_0x5812b5(0x32a)+_0x5812b5(0x2c8)+_0x5812b5(0x42c)+_0x5812b5(0x477)+_0x5812b5(0x55a)+_0x5812b5(0x4e7)+_0x5812b5(0x57f)+_0x5812b5(0x418)+'ẤY,\x20B'+'ẠN\x20MỚ'+_0x5812b5(0xc3)+_0x5812b5(0xda)+_0x5812b5(0x39d)+_0x5812b5(0x325),_0x11ccab;}const _0x12ca86={};return _0x12ca86[_0x5812b5(0x4b7)+'s']=_0x5812b5(0x45f)+'ss',_0x12ca86[_0x5812b5(0x19a)]=_0x3f8b4f,_0x12ca86['hint']=_0x5812b5(0x1ed)+'uat\x27\x20'+_0x5812b5(0x451)+_0x5812b5(0x437)+_0x5812b5(0x1b9)+_0x5812b5(0x1e7)+'ang\x27\x20'+_0x5812b5(0x332)+_0x5812b5(0x1c6)+'.\x20\x27tt'+_0x5812b5(0x4f9)+_0x5812b5(0x462)+_0x5812b5(0x226)+_0x5812b5(0x1fa)+_0x5812b5(0x41a)+'_nhua'+_0x5812b5(0x26c)+_0x5812b5(0x291)+'\x20lời\x20'+_0x5812b5(0x17f),_0x12ca86;}catch(_0x360b09){return{'status':_0x5812b5(0x4c4),'message':_0x360b09['messa'+'ge']||_0x360b09[_0x5812b5(0x4c4)]||String(_0x360b09)};}}}),'getCompanySnapshotTool':tool({'description':_0x561aeb(0x57c)+_0x561aeb(0x486)+_0x561aeb(0xd3)+_0x561aeb(0x598)+_0x561aeb(0x4d6)+'n\x20cản'+_0x561aeb(0x3b3)+'ecuti'+_0x561aeb(0x444)+_0x561aeb(0x311)+')\x20của'+_0x561aeb(0x268)+_0x561aeb(0x399)+_0x561aeb(0x184)+_0x561aeb(0x100)+_0x561aeb(0x2fe)+_0x561aeb(0x2e0)+_0x561aeb(0x4e9)+_0x561aeb(0x43c)+_0x561aeb(0x548)+',\x20Tiề'+'n\x20tồn'+'\x20quỹ,'+'\x20Tồn\x20'+'kho,\x20'+_0x561aeb(0x3ad)+_0x561aeb(0x4ca)+_0x561aeb(0x1d6)+_0x561aeb(0x202)+'.','inputSchema':z[_0x561aeb(0x514)+'t']({'tu_ngay':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x2ca)+_0x561aeb(0xa6)+_0x561aeb(0x131)+_0x561aeb(0xad)+'cáo\x20('+_0x561aeb(0x36e)+_0x561aeb(0x43f)+').'),'den_ngay':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x2ca)+_0x561aeb(0x4fc)+_0x561aeb(0x3b6)+_0x561aeb(0x3d8)+_0x561aeb(0x2a6)+_0x561aeb(0x23f)+_0x561aeb(0x3f6)+_0x561aeb(0x48f))}),'execute':async({tu_ngay:_0x41676d,den_ngay:_0x4a34fd})=>{const _0x27dfb8=_0x561aeb;try{const _0x1c6183=await getExecutiveDashboard({'id_app':_0x18ddc2,'tu_ngay':moment(_0x41676d)['start'+'Of'](_0x27dfb8(0x54c))[_0x27dfb8(0x431)+'e'](),'den_ngay':moment(_0x4a34fd)['endOf'](_0x27dfb8(0x54c))[_0x27dfb8(0x431)+'e']()});let _0x4fd36a=[];_0x1c6183[_0x27dfb8(0x15c)+_0x27dfb8(0x17d)+_0x27dfb8(0x448)]<0x0&&_0x4fd36a[_0x27dfb8(0x308)](_0x27dfb8(0x1c0)+'\x20AI:\x20'+_0x27dfb8(0x468)+_0x27dfb8(0x579)+'\x20thu\x20'+_0x27dfb8(0x304)+_0x27dfb8(0x19e)+_0x27dfb8(0x588)+_0x27dfb8(0x35f)+_0x27dfb8(0x119)+_0x27dfb8(0x109)+'ố\x20tiề'+'n\x20khá'+_0x27dfb8(0x3b1)+_0x27dfb8(0x388)+'g\x20trư'+_0x27dfb8(0x2b9)+_0x27dfb8(0x21d)+_0x27dfb8(0x19e)+_0x27dfb8(0x1f0)+_0x27dfb8(0x4ef)+_0x27dfb8(0x24c)+_0x27dfb8(0x520)+_0x27dfb8(0x123)+_0x27dfb8(0x542));_0x1c6183['tong_'+_0x27dfb8(0x17d)+'tra']<0x0&&_0x4fd36a[_0x27dfb8(0x308)](_0x27dfb8(0x1c0)+'\x20AI:\x20'+'Số\x20dư'+_0x27dfb8(0x579)+_0x27dfb8(0x32d)+_0x27dfb8(0x4e4)+_0x27dfb8(0x19e)+'\x20âm,\x20'+_0x27dfb8(0x35f)+_0x27dfb8(0x2f7)+_0x27dfb8(0x38f)+_0x27dfb8(0x1a3)+_0x27dfb8(0x1bc)+_0x27dfb8(0x3a1)+_0x27dfb8(0xca)+_0x27dfb8(0x17b)+_0x27dfb8(0x4d0)+_0x27dfb8(0x29f)+_0x27dfb8(0x38c)+_0x27dfb8(0x117)+_0x27dfb8(0x4ef)+'ố\x20tiề'+_0x27dfb8(0x476)+_0x27dfb8(0x13a)+_0x27dfb8(0x45d));const _0x3e63ba={};return _0x3e63ba[_0x27dfb8(0x4b7)+'s']=_0x27dfb8(0x45f)+'ss',_0x3e63ba['data']=_0x1c6183,_0x3e63ba[_0x27dfb8(0x42e)+_0x27dfb8(0xf2)]=_0x4fd36a,_0x3e63ba[_0x27dfb8(0x37f)+'ge']=_0x27dfb8(0x265)+'hân\x20t'+_0x27dfb8(0x475)+'ác\x20co'+_0x27dfb8(0xba)+'này\x20v'+_0x27dfb8(0x516)+_0x27dfb8(0x2a2)+_0x27dfb8(0x4a9)+'ét\x20ch'+'o\x20sếp'+_0x27dfb8(0x3d3)+_0x27dfb8(0x43c)+'nhuận'+_0x27dfb8(0x19e)+_0x27dfb8(0x1c3)+_0x27dfb8(0x2cc)+_0x27dfb8(0x1df)+'h\x20kho'+_0x27dfb8(0x107)+_0x27dfb8(0x4d8)+_0x27dfb8(0x40c)+_0x27dfb8(0x2b7)+_0x27dfb8(0x1da)+_0x27dfb8(0x42e)+_0x27dfb8(0x281)+_0x27dfb8(0x40f)+'có)\x20đ'+_0x27dfb8(0x22c)+'vấn\x20n'+_0x27dfb8(0x429)+_0x27dfb8(0x35d)+_0x27dfb8(0x499)+_0x27dfb8(0x50a)+'uyên\x20'+'nghiệ'+'p\x20như'+'\x20một\x20'+_0x27dfb8(0x367)+_0x27dfb8(0xd1)+_0x27dfb8(0x220),_0x3e63ba;}catch(_0x20acc5){return{'status':'error','message':_0x20acc5['messa'+'ge']||_0x20acc5[_0x27dfb8(0x4c4)]||String(_0x20acc5)};}}}),'getTrialBalanceTool':tool({'description':_0x561aeb(0x57c)+_0x561aeb(0x26b)+_0x561aeb(0x40b)+_0x561aeb(0x172)+_0x561aeb(0x52e)+_0x561aeb(0x4fb)+_0x561aeb(0x58a)+_0x561aeb(0x39c)+_0x561aeb(0x3a4)+_0x561aeb(0x4f3)+'n\x20(Tr'+_0x561aeb(0x208)+_0x561aeb(0x19d)+_0x561aeb(0x3e3),'inputSchema':z['objec'+'t']({'tu_ngay':z['strin'+'g']()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x2ca)+_0x561aeb(0xa6)+_0x561aeb(0x296)+_0x561aeb(0x143)+_0x561aeb(0x2f4)+'.'),'den_ngay':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Ngày\x20'+'kết\x20t'+_0x561aeb(0x355)+_0x561aeb(0x36e)+_0x561aeb(0x43f)+').'),'tk':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)]('Tài\x20k'+_0x561aeb(0x2ad)+_0x561aeb(0x470)+_0x561aeb(0x133)+'n\x20tra'+_0x561aeb(0x32c)+_0x561aeb(0x505)+_0x561aeb(0x469)+',\x20\x2211'+'2\x22).\x20'+_0x561aeb(0x436)+_0x561aeb(0x20a)+_0x561aeb(0x4df)+'àn\x20bộ'+'.'),'bac_tk':z['numbe'+'r']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+'ibe'](_0x561aeb(0x42b)+_0x561aeb(0x4e0)+_0x561aeb(0x559)+_0x561aeb(0x3b4)+_0x561aeb(0x396)+_0x561aeb(0x2a0)+'.'),'chi_lay_tk_con':z[_0x561aeb(0x1d7)+'an']()['optio'+'nal']()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Truyề'+_0x561aeb(0xc0)+_0x561aeb(0x3ff)+'\x20CHỈ\x20'+_0x561aeb(0x3d2)+'xem\x20t'+_0x561aeb(0x39c)+_0x561aeb(0x573)+_0x561aeb(0x377)+_0x561aeb(0x25d)+_0x561aeb(0x41b)+_0x561aeb(0x2b1)+'t.'),'bu_tru':z[_0x561aeb(0x1d7)+'an']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x335)+'hép\x20b'+'ù\x20trừ'+_0x561aeb(0x33c)+_0x561aeb(0x49b)+_0x561aeb(0x358)+_0x561aeb(0x4c7)+'.'),'ma_dvcs':z[_0x561aeb(0x256)+'g']()['optio'+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x15d)+'n\x20vị\x20'+_0x561aeb(0x327)+_0x561aeb(0x314)+_0x561aeb(0x253)+_0x561aeb(0x449)),'ma_kho':z[_0x561aeb(0x256)+'g']()['optio'+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x1b6)+'o.')}),'execute':async _0x5d6856=>{const _0x50ebea=_0x561aeb;Logger['info'](_0x50ebea(0x518)+_0x50ebea(0xcd)+_0x50ebea(0x168)+_0x50ebea(0x1fd)+'alanc'+_0x50ebea(0x398)+']',JSON[_0x50ebea(0x256)+'gify'](_0x5d6856));let {tu_ngay:_0x323a70,den_ngay:_0x49d877,tk:_0x17f67a,bac_tk:_0x27f24c,chi_lay_tk_con:_0x59ee7b,bu_tru:_0x3cc990,ma_dvcs:_0x50d2f4,ma_kho:_0x2d4869}=_0x5d6856;try{const _0x5a667c={'id_app':_0x18ddc2,'tu_ngay':moment(_0x323a70)['start'+'Of'](_0x50ebea(0x54c))[_0x50ebea(0x431)+'e'](),'den_ngay':moment(_0x49d877)[_0x50ebea(0x1b2)](_0x50ebea(0x54c))[_0x50ebea(0x431)+'e'](),'tk':_0x17f67a,'bac_tk':_0x27f24c,'chi_lay_tk_con':_0x59ee7b,'bu_tru':_0x3cc990,'ma_dvcs':_0x50d2f4,'ma_kho':_0x2d4869};Object[_0x50ebea(0x3c2)](_0x5a667c)[_0x50ebea(0x338)+'ch'](_0x53f71b=>_0x5a667c[_0x53f71b]===undefined&&delete _0x5a667c[_0x53f71b]);const _0x276e89=await cdpstk(_0x5a667c),_0x219e2f={};return _0x219e2f[_0x50ebea(0x4b7)+'s']=_0x50ebea(0x45f)+'ss',_0x219e2f[_0x50ebea(0x19a)]=_0x276e89,_0x219e2f;}catch(_0x4729c4){return{'status':'error','message':_0x4729c4[_0x50ebea(0x37f)+'ge']||_0x4729c4[_0x50ebea(0x4c4)]||String(_0x4729c4)};}}}),'getDebtBalanceSummaryTool':tool({'description':_0x561aeb(0x57c)+_0x561aeb(0x486)+'o\x20Tổn'+_0x561aeb(0x272)+_0x561aeb(0x295)+_0x561aeb(0x271)+_0x561aeb(0x351)+_0x561aeb(0x21f)+'hát\x20s'+_0x561aeb(0x4db)+_0x561aeb(0x2ff)+_0x561aeb(0x136)+'\x20khác'+_0x561aeb(0x50f)+_0x561aeb(0x1ea)+'c\x20nhà'+_0x561aeb(0x276)+_0x561aeb(0x3bf),'inputSchema':z[_0x561aeb(0x514)+'t']({'tk':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x560)+_0x561aeb(0x51d)+_0x561aeb(0x30c)+_0x561aeb(0x3c5)+'ch\x20hà'+_0x561aeb(0x409)+'ười\x20m'+'ua\x22\x20t'+_0x561aeb(0x372)+_0x561aeb(0x1e8)+_0x561aeb(0x2fa)+'hà\x20cu'+_0x561aeb(0x115)+_0x561aeb(0x57e)+_0x561aeb(0x1ae)+'n\x22\x20tr'+_0x561aeb(0x10f)+'\x22331\x22'+'.'),'tu_ngay':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Ngày\x20'+_0x561aeb(0xa6)+_0x561aeb(0x296)+_0x561aeb(0x143)+_0x561aeb(0x2f4)+'.'),'den_ngay':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Ngày\x20'+_0x561aeb(0x4fc)+_0x561aeb(0x355)+_0x561aeb(0x36e)+_0x561aeb(0x43f)+').'),'ma_kh':z[_0x561aeb(0x256)+'g']()['optio'+'nal']()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x1b6)+_0x561aeb(0x13e)+'àng\x20/'+_0x561aeb(0x4d0)+_0x561aeb(0x29f)+_0x561aeb(0x545)+_0x561aeb(0x597)+'ể\x20tru'+_0x561aeb(0x341)+_0x561aeb(0x4e6)+_0x561aeb(0x26d)+_0x561aeb(0x34b)+_0x561aeb(0x117)+_0x561aeb(0x51e)),'ma_nv':z['strin'+'g']()[_0x561aeb(0x1b0)+'nal']()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x4b9)+_0x561aeb(0x4c5)+_0x561aeb(0x509)+_0x561aeb(0x3be)+_0x561aeb(0x258)),'groupBy':z['array'](z['strin'+'g']())[_0x561aeb(0x1b0)+'nal']()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Mặc\x20đ'+'ịnh\x20l'+'à\x20[\x22m'+'a_kh\x22'+'].\x20Tr'+'uyền\x20'+_0x561aeb(0x14a)+'nv\x22]\x20'+_0x561aeb(0x428)+_0x561aeb(0x3c4)+'ộp\x20th'+_0x561aeb(0x414)+_0x561aeb(0x4c5)+_0x561aeb(0x3b7)),'tinh_tong_cong':z[_0x561aeb(0x1d7)+'an']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x46d)+_0x561aeb(0xc0)+_0x561aeb(0x297)+'thêm\x20'+_0x561aeb(0x46e)+_0x561aeb(0x483)+_0x561aeb(0x3f3)),'chi_hien_tong_cong':z[_0x561aeb(0x1d7)+'an']()[_0x561aeb(0x1b0)+'nal']()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x46d)+_0x561aeb(0xc0)+_0x561aeb(0x3ff)+_0x561aeb(0x54b)+'CHỈ\x20H'+_0x561aeb(0x11c)+'C\x20SỐ\x20'+_0x561aeb(0x1ff))}),'execute':async _0x71eaab=>{const _0x2dd491=_0x561aeb;Logger[_0x2dd491(0x406)](_0x2dd491(0x518)+'gent]'+_0x2dd491(0x26f)+'ebtBa'+_0x2dd491(0x1e5)+_0x2dd491(0x395)+_0x2dd491(0x263)+'l]',JSON[_0x2dd491(0x256)+_0x2dd491(0x30f)](_0x71eaab));let {tk:_0x3a0e31,tu_ngay:_0x2c7816,den_ngay:_0x5b709b,ma_kh:_0x52f5fb,ma_nv:_0xc91c84,groupBy:_0xf4b1,tinh_tong_cong:_0x5e681f,chi_hien_tong_cong:_0xd3bcd}=_0x71eaab;try{const _0x15c48b={'id_app':_0x18ddc2,'tk':_0x3a0e31,'tu_ngay':moment(_0x2c7816)['start'+'Of'](_0x2dd491(0x54c))['toDat'+'e'](),'den_ngay':moment(_0x5b709b)[_0x2dd491(0x1b2)](_0x2dd491(0x54c))[_0x2dd491(0x431)+'e'](),'ma_kh':_0x52f5fb,'ma_nv':_0xc91c84,'groupBy':_0xf4b1||[_0x2dd491(0x4ee)],'tinh_tong_cong':_0x5e681f,'chi_hien_tong_cong':_0xd3bcd};Object[_0x2dd491(0x3c2)](_0x15c48b)[_0x2dd491(0x338)+'ch'](_0x3d5990=>_0x15c48b[_0x3d5990]===undefined&&delete _0x15c48b[_0x3d5990]);const _0x85cb35=await cdpskh(_0x15c48b),_0xa8cb21={};return _0xa8cb21['statu'+'s']=_0x2dd491(0x45f)+'ss',_0xa8cb21[_0x2dd491(0x19a)]=_0x85cb35,_0xa8cb21;}catch(_0xcc94e9){return{'status':_0x2dd491(0x4c4),'message':_0xcc94e9[_0x2dd491(0x37f)+'ge']||_0xcc94e9[_0x2dd491(0x4c4)]||String(_0xcc94e9)};}}}),'getReceivableAgingTool':tool({'description':'Lấy\x20b'+_0x561aeb(0x486)+_0x561aeb(0x4d1)+_0x561aeb(0xde)+_0x561aeb(0x35b)+_0x561aeb(0x235)+_0x561aeb(0x465)+_0x561aeb(0x585)+'Khách'+'\x20hàng'+_0x561aeb(0xa9)+_0x561aeb(0x38f)+'y).','inputSchema':z[_0x561aeb(0x514)+'t']({'den_ngay':z['strin'+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x3f5)+_0x561aeb(0x18c)+_0x561aeb(0x176)+_0x561aeb(0x190)+_0x561aeb(0x49c)+_0x561aeb(0x424)+_0x561aeb(0x517)+_0x561aeb(0x57b)+_0x561aeb(0x1c2)+'ịnh\x20c'+_0x561aeb(0x2c1)+'gày\x20h'+_0x561aeb(0x259)+'y.'),'ma_kh':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+'nal']()['descr'+'ibe'](_0x561aeb(0x1b6)+_0x561aeb(0x13e)+_0x561aeb(0x241)+_0x561aeb(0x39e)+_0x561aeb(0x1a2)+'.'),'tuoi_no':z[_0x561aeb(0x3ab)+'r']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+'ibe'](_0x561aeb(0x508)+_0x561aeb(0x2ae)+'ổi\x20nợ'+_0x561aeb(0x38e)+_0x561aeb(0xf8)+_0x561aeb(0xd2)+'\x20nợ\x20q'+_0x561aeb(0x13f)+_0x561aeb(0x330)),'tat_toan':z[_0x561aeb(0x1d7)+'an']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x46d)+_0x561aeb(0x33a)+_0x561aeb(0x3ae)+_0x561aeb(0x2a7)+_0x561aeb(0x2c9)+_0x561aeb(0x3d7)+_0x561aeb(0x207)+_0x561aeb(0x503)),'tinh_tong_cong':z[_0x561aeb(0x1d7)+'an']()['optio'+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x46d)+_0x561aeb(0xc0)+_0x561aeb(0x297)+_0x561aeb(0x139)+_0x561aeb(0x46e)+_0x561aeb(0x54a)),'chi_hien_tong_cong':z[_0x561aeb(0x1d7)+'an']()['optio'+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)]('Truyề'+_0x561aeb(0xc0)+'e\x20nếu'+'\x20sếp\x20'+_0x561aeb(0x4d7)+_0x561aeb(0x2e9)+_0x561aeb(0x567)+'\x20(VD:'+_0x561aeb(0x472)+'g\x20tiề'+_0x561aeb(0x3eb)+_0x561aeb(0x482)+'?\x22).')}),'execute':async _0x24ba23=>{const _0x45eea7=_0x561aeb;Logger[_0x45eea7(0x406)](_0x45eea7(0x518)+_0x45eea7(0xcd)+_0x45eea7(0x26f)+'ebtBa'+_0x45eea7(0x1e5)+_0x45eea7(0x395)+_0x45eea7(0x263)+'l]',JSON[_0x45eea7(0x256)+'gify'](_0x24ba23));let {den_ngay:_0x36ac6b,ma_kh:_0x58e5bf,tuoi_no:_0x208adf,tat_toan:_0x1666ab,tinh_tong_cong:_0x2b2ec3,chi_hien_tong_cong:_0x204a2a}=_0x24ba23;try{const _0x3eb77c={'id_app':_0x18ddc2,'den_ngay':_0x36ac6b?new Date(_0x36ac6b):undefined,'ma_kh':_0x58e5bf,'tuoi_no':_0x208adf,'tat_toan':_0x1666ab,'tinh_tong_cong':_0x2b2ec3,'chi_hien_tong_cong':_0x204a2a};Object[_0x45eea7(0x3c2)](_0x3eb77c)[_0x45eea7(0x338)+'ch'](_0x5939fe=>_0x3eb77c[_0x5939fe]===undefined&&delete _0x3eb77c[_0x5939fe]);const _0x1a3eda=await getTdttno(_0x3eb77c),_0x447c3b={};return _0x447c3b[_0x45eea7(0x4b7)+'s']='succe'+'ss',_0x447c3b[_0x45eea7(0x19a)]=_0x1a3eda,_0x447c3b;}catch(_0x3f4af0){return{'status':'error','message':_0x3f4af0['messa'+'ge']||_0x3f4af0[_0x45eea7(0x4c4)]||String(_0x3f4af0)};}}}),'getPayableAgingTool':tool({'description':'Lấy\x20b'+_0x561aeb(0x486)+_0x561aeb(0x4d1)+_0x561aeb(0xde)+_0x561aeb(0x35b)+'i\x20nợ\x20'+_0x561aeb(0x465)+'trả\x20('+'Công\x20'+'ty\x20nợ'+'\x20Nhà\x20'+_0x561aeb(0x29f)+'cấp).','inputSchema':z[_0x561aeb(0x514)+'t']({'den_ngay':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+'nal']()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x3f5)+_0x561aeb(0x18c)+_0x561aeb(0x176)+_0x561aeb(0x190)+_0x561aeb(0x49c)+_0x561aeb(0x424)+'Y-MM-'+'DD).\x20'+_0x561aeb(0x1c2)+_0x561aeb(0xf4)+_0x561aeb(0x2c1)+_0x561aeb(0x2db)+'ôm\x20na'+'y.'),'ma_kh':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x4b9)+_0x561aeb(0x576)+_0x561aeb(0x2c5)+_0x561aeb(0x3a8)+'tra\x20c'+'ứu.'),'tuoi_no':z[_0x561aeb(0x3ab)+'r']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x508)+_0x561aeb(0x2ae)+_0x561aeb(0x2e4)+_0x561aeb(0x38e)+'thiểu'+_0x561aeb(0x24f)+_0x561aeb(0x111)),'tat_toan':z[_0x561aeb(0x1d7)+'an']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)]('Truyề'+_0x561aeb(0x33a)+_0x561aeb(0x3ae)+_0x561aeb(0x2a7)+_0x561aeb(0x20e)+'hóa\x20đ'+_0x561aeb(0x3ce)+'N\x20NỢ.'),'tinh_tong_cong':z[_0x561aeb(0x1d7)+'an']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+'ibe']('Truyề'+'n\x20tru'+_0x561aeb(0x297)+'thêm\x20'+_0x561aeb(0x46e)+_0x561aeb(0x54a)),'chi_hien_tong_cong':z[_0x561aeb(0x1d7)+'an']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)]('Truyề'+_0x561aeb(0xc0)+'e\x20nếu'+_0x561aeb(0x54b)+_0x561aeb(0x4d7)+'ỎI\x20SỐ'+_0x561aeb(0x567)+'.')}),'execute':async _0x2b4020=>{const _0x2c821c=_0x561aeb;Logger[_0x2c821c(0x406)]('[AI\x20A'+_0x2c821c(0xcd)+_0x2c821c(0x26f)+_0x2c821c(0x2cb)+_0x2c821c(0x1e5)+_0x2c821c(0x395)+_0x2c821c(0x263)+'l]',JSON['strin'+_0x2c821c(0x30f)](_0x2b4020));let {den_ngay:_0x451cba,ma_kh:_0x395518,tuoi_no:_0x2c713a,tat_toan:_0x584ff5,tinh_tong_cong:_0x45abde,chi_hien_tong_cong:_0x4bd201}=_0x2b4020;try{const _0x3b2445={'id_app':_0x18ddc2,'den_ngay':_0x451cba?new Date(_0x451cba):undefined,'ma_kh':_0x395518,'tuoi_no':_0x2c713a,'tat_toan':_0x584ff5,'tinh_tong_cong':_0x45abde,'chi_hien_tong_cong':_0x4bd201};Object[_0x2c821c(0x3c2)](_0x3b2445)['forEa'+'ch'](_0x4ee2a9=>_0x3b2445[_0x4ee2a9]===undefined&&delete _0x3b2445[_0x4ee2a9]);const _0x5008d8=await getTdttco(_0x3b2445),_0x497b04={};return _0x497b04[_0x2c821c(0x4b7)+'s']=_0x2c821c(0x45f)+'ss',_0x497b04[_0x2c821c(0x19a)]=_0x5008d8,_0x497b04;}catch(_0x1296ea){return{'status':_0x2c821c(0x4c4),'message':_0x1296ea[_0x2c821c(0x37f)+'ge']||_0x1296ea[_0x2c821c(0x4c4)]||String(_0x1296ea)};}}}),'getAccountBalanceTool':tool({'description':_0x561aeb(0x199)+_0x561aeb(0x463)+'y\x20Bản'+_0x561aeb(0x116)+'\x20đối\x20'+_0x561aeb(0x163)+'sinh\x20'+'Tài\x20k'+_0x561aeb(0x2ad)+'/\x20Báo'+'\x20cáo\x20'+'tài\x20c'+_0x561aeb(0xaf)+_0x561aeb(0x34c)+_0x561aeb(0x118)+_0x561aeb(0x2f5)+_0x561aeb(0x426)+_0x561aeb(0x2f3)+'T\x20ĐỐI'+_0x561aeb(0x21a)+_0x561aeb(0x285)+_0x561aeb(0x12c)+_0x561aeb(0x283)+_0x561aeb(0x46f)+_0x561aeb(0x4ce)+_0x561aeb(0x1ef)+_0x561aeb(0x236)+_0x561aeb(0x36d)+'i\x20\x22Cô'+_0x561aeb(0x4c8)+_0x561aeb(0x343)+_0x561aeb(0x2fd)+_0x561aeb(0x491)+_0x561aeb(0x2bf)+_0x561aeb(0x2da)+_0x561aeb(0x553)+_0x561aeb(0x559)+'ản\x2011'+_0x561aeb(0x432)+_0x561aeb(0x491)+_0x561aeb(0x2bf)+_0x561aeb(0x291)+_0x561aeb(0x3c3)+'\x20\x20\x20\x20\x20'+'\x20-\x20Nế'+'u\x20chỉ'+_0x561aeb(0x3a8)+'xem\x20s'+'ố\x20tiề'+_0x561aeb(0x103)+'g\x20nợ\x20'+_0x561aeb(0x345)+'tại\x20m'+'ột\x20ng'+'ày:\x20B'+_0x561aeb(0x4b6)+_0x561aeb(0x1a4)+'i\x20\x27ge'+_0x561aeb(0x416)+_0x561aeb(0x34d)+_0x561aeb(0x352)+'ncesT'+_0x561aeb(0x3d5)+_0x561aeb(0x49e)+'\x20dktk'+_0x561aeb(0x4b1)+_0x561aeb(0x535)+_0x561aeb(0x108)+_0x561aeb(0x1af)+_0x561aeb(0x34c)+_0x561aeb(0x52f)+'\x20CHỈ\x20'+'SỬ\x20DỤ'+_0x561aeb(0x36a)+_0x561aeb(0x3f2)+_0x561aeb(0x4f5)+'\x20cần\x20'+_0x561aeb(0xe5)+_0x561aeb(0x4a8)+_0x561aeb(0x163)+_0x561aeb(0x4fb)+_0x561aeb(0x4c7)+_0x561aeb(0x4f7)+_0x561aeb(0x1db)+'hoặc\x20'+_0x561aeb(0x1dd)+'áo\x20cá'+_0x561aeb(0x3de)+_0x561aeb(0x3f7)+_0x561aeb(0xfc)+'doanh'+'.','inputSchema':z[_0x561aeb(0x514)+'t']({'tu_ngay':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x2ca)+_0x561aeb(0xa6)+_0x561aeb(0x296)+_0x561aeb(0x143)+_0x561aeb(0x2f4)+'.\x20Nếu'+_0x561aeb(0x313)+_0x561aeb(0x534)+_0x561aeb(0x22a)+_0x561aeb(0x151)+'là\x20'+new Date()[_0x561aeb(0x1ab)+_0x561aeb(0x11f)+'r']()+('-01-0'+'1.')),'den_ngay':z[_0x561aeb(0x256)+'g']()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x2ca)+_0x561aeb(0x4fc)+_0x561aeb(0x355)+_0x561aeb(0x36e)+'MM-DD'+_0x561aeb(0x3fa)+_0x561aeb(0x3dd)+'h\x20là\x20'+'hôm\x20n'+_0x561aeb(0x18b)),'tk':z['strin'+'g']()['optio'+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x2ab)+_0x561aeb(0x2ad)+_0x561aeb(0x470)+_0x561aeb(0x4f8)+_0x561aeb(0x41c)+_0x561aeb(0x2d2)+'\x20lấy\x20'+_0x561aeb(0x240)+_0x561aeb(0x206)+_0x561aeb(0x562)+_0x561aeb(0x3d7)+'.')}),'execute':async _0x169b8e=>{const _0x4723c1=_0x561aeb;Logger[_0x4723c1(0x406)](_0x4723c1(0x518)+_0x4723c1(0xcd)+_0x4723c1(0x3ca)+_0x4723c1(0x44a)+_0x4723c1(0x34e)+_0x4723c1(0x2a3)+_0x4723c1(0x1ca),JSON[_0x4723c1(0x256)+_0x4723c1(0x30f)](_0x169b8e));try{const {tu_ngay:_0x3314bf,den_ngay:_0x37a40a,tk:_0x553b23}=_0x169b8e,_0x5d7feb={};_0x5d7feb['id_ap'+'p']=_0x18ddc2,_0x5d7feb[_0x4723c1(0x59e)+'ay']=_0x3314bf,_0x5d7feb['den_n'+_0x4723c1(0x58e)]=_0x37a40a,_0x5d7feb['tk']=_0x553b23;const _0x13a373=await cdpstk(_0x5d7feb),_0x5c95a9={};return _0x5c95a9[_0x4723c1(0x4b7)+'s']=_0x4723c1(0x45f)+'ss',_0x5c95a9[_0x4723c1(0x19a)]=_0x13a373,_0x5c95a9;}catch(_0x4d4277){return{'status':'error','message':_0x4d4277[_0x4723c1(0x37f)+'ge']||_0x4d4277[_0x4723c1(0x4c4)]||String(_0x4d4277)};}}}),'getAccountingBalancesTool':tool({'description':_0x561aeb(0x199)+_0x561aeb(0x14f)+_0x561aeb(0x1a2)+'\x20SỐ\x20D'+_0x561aeb(0x191)+_0x561aeb(0x22d)+_0x561aeb(0x1a5)+'\x20KỲ\x20c'+_0x561aeb(0x571)+_0x561aeb(0x36b)+_0x561aeb(0x3c9)+_0x561aeb(0x1e0)+_0x561aeb(0x439)+'\x20\x20[ƯU'+_0x561aeb(0x125)+_0x561aeb(0x18e)+_0x561aeb(0x18d)+_0x561aeb(0x1bd)+_0x561aeb(0x2ed)+'NG\x20CH'+_0x561aeb(0x156)+'\x20VỀ\x20S'+'Ố\x20DƯ\x20'+_0x561aeb(0x2de)+_0x561aeb(0x3d4)+'iện\x20t'+'ại,\x20C'+'ông\x20n'+'ợ\x20chố'+_0x561aeb(0x228)+_0x561aeb(0xaa)+_0x561aeb(0x187)+_0x561aeb(0x513)+_0x561aeb(0x2b6)+_0x561aeb(0x47d)+_0x561aeb(0x3b0)+'ẮT\x20BU'+_0x561aeb(0x485)+_0x561aeb(0xa5)+_0x561aeb(0x2ce)+'OL\x20NÀ'+'Y\x20ĐẦU'+_0x561aeb(0x125)+'\x20vì\x20n'+_0x561aeb(0x2c0)+_0x561aeb(0x403)+_0x561aeb(0x54e)+'\x20kỳ\x20n'+_0x561aeb(0x44b)+'\x0a\x20\x20\x20\x20'+_0x561aeb(0x233)+_0x561aeb(0x249)+_0x561aeb(0x494)+_0x561aeb(0x3a7)+_0x561aeb(0x439)+_0x561aeb(0x1d0)+'n\x20kho'+_0x561aeb(0x150)+'tư/hà'+_0x561aeb(0x53f)+_0x561aeb(0x3ed)+'u/cuố'+'i\x20ngà'+_0x561aeb(0x3c7)+_0x561aeb(0x439)+_0x561aeb(0xff)+_0x561aeb(0x468)+_0x561aeb(0x562)+_0x561aeb(0x3d7)+_0x561aeb(0x2f9)+_0x561aeb(0x53a)+_0x561aeb(0x589)+_0x561aeb(0x2c1)+'gày).'+_0x561aeb(0x34c)+_0x561aeb(0x205)+'.\x20Côn'+_0x561aeb(0x441)+_0x561aeb(0x2aa)+_0x561aeb(0x532)+_0x561aeb(0x29b)+_0x561aeb(0x29f)+_0x561aeb(0xac)+'đầu/c'+_0x561aeb(0x2c1)+_0x561aeb(0x1cc)+_0x561aeb(0x34c)+_0x561aeb(0x2df)+_0x561aeb(0x17e)+_0x561aeb(0x2c2)+'TRỌNG'+_0x561aeb(0x348)+'l\x20này'+_0x561aeb(0x180)+_0x561aeb(0x413)+_0x561aeb(0x536)+_0x561aeb(0x593)+_0x561aeb(0x4de)+_0x561aeb(0x440)+_0x561aeb(0x454)+_0x561aeb(0x145)+_0x561aeb(0x1a9)+_0x561aeb(0x1f7)+'inh.','inputSchema':z['objec'+'t']({'function_type':z[_0x561aeb(0x27c)]([_0x561aeb(0x4d5),_0x561aeb(0x59a),_0x561aeb(0x188),_0x561aeb(0x2c6),_0x561aeb(0x405),_0x561aeb(0x4af)])[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x523)+_0x561aeb(0x153)+_0x561aeb(0x3a8)+_0x561aeb(0x1a0)+'dkvt/'+_0x561aeb(0x43e)+_0x561aeb(0x2de)+_0x561aeb(0x10d)+_0x561aeb(0x594)+_0x561aeb(0x299)+_0x561aeb(0x346)+_0x561aeb(0x563)+_0x561aeb(0x375)+_0x561aeb(0x524)+'đầu/c'+_0x561aeb(0x2ac)+_0x561aeb(0x275)+_0x561aeb(0x442)+'\x20(Côn'+_0x561aeb(0x441)+'đầu/c'+_0x561aeb(0x590)),'ngay':z[_0x561aeb(0x256)+'g']()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x2ca)+_0x561aeb(0x390)+_0x561aeb(0x273)+_0x561aeb(0x353)+_0x561aeb(0x479)+_0x561aeb(0x443)+_0x561aeb(0x1e4)+_0x561aeb(0x1c2)+'ịnh\x20l'+_0x561aeb(0x376)+_0x561aeb(0x497)),'ma_vt':z['strin'+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x31a)+_0x561aeb(0x27b)+_0x561aeb(0x319)+'kvt,\x20'+_0x561aeb(0x51a)+'\x20Mã\x20h'+_0x561aeb(0x555)+_0x561aeb(0x59f)+_0x561aeb(0x490)+_0x561aeb(0x3a8)+_0x561aeb(0x394)+'ồn\x20kh'+'o.'),'tk':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x391)+_0x561aeb(0x30d)+_0x561aeb(0x301)+'\x20cktk'+_0x561aeb(0x1f5)+_0x561aeb(0x4e2)+_0x561aeb(0x3fc)+'ài\x20kh'+'oản\x20k'+'ế\x20toá'+_0x561aeb(0x12e)+'i\x20côn'+_0x561aeb(0x2d9)+_0x561aeb(0x552)+_0x561aeb(0xe4)+'thườn'+_0x561aeb(0x56c)+_0x561aeb(0x417)+_0x561aeb(0x378)+_0x561aeb(0x195)+_0x561aeb(0x28e)+'.'),'ma_kh':z[_0x561aeb(0x256)+'g']()['optio'+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x31a)+_0x561aeb(0x27b)+_0x561aeb(0x319)+_0x561aeb(0xfa)+'ckcn)'+_0x561aeb(0x201)+_0x561aeb(0xb7)+_0x561aeb(0x363)+_0x561aeb(0x28b)+_0x561aeb(0x276)+'\x20cấp\x20'+'cần\x20t'+_0x561aeb(0x2f8)+_0x561aeb(0x38b)+'g\x20nợ.')}),'execute':async({function_type:_0x5dc2ea,ngay:_0x31a072,ma_vt:_0x6bf361,tk:_0x3e8061,ma_kh:_0x5c4f79})=>{const _0x5f317a=_0x561aeb;try{console[_0x5f317a(0x51b)]('[getA'+_0x5f317a(0x44a)+_0x5f317a(0x11e)+'alanc'+_0x5f317a(0x430)+_0x5f317a(0x556)+_0x5f317a(0x44e)+'i:\x20'+_0x5dc2ea+(_0x5f317a(0x30d)+_0x5f317a(0x3bd))+_0x31a072);let _0x373364;switch(_0x5dc2ea){case'dkvt':const _0x288fa3={};_0x288fa3[_0x5f317a(0x1ce)+'p']=_0x18ddc2,_0x288fa3['ngay']=_0x31a072,_0x288fa3[_0x5f317a(0x2d4)]=_0x6bf361,_0x373364=await dkvt(_0x288fa3);break;case _0x5f317a(0x59a):const _0x204aea={};_0x204aea[_0x5f317a(0x1ce)+'p']=_0x18ddc2,_0x204aea[_0x5f317a(0x1f6)]=_0x31a072,_0x204aea[_0x5f317a(0x2d4)]=_0x6bf361,_0x373364=await ckvt(_0x204aea);break;case _0x5f317a(0x188):const _0x1d631e={};_0x1d631e['id_ap'+'p']=_0x18ddc2,_0x1d631e[_0x5f317a(0x1f6)]=_0x31a072,_0x1d631e['tk']=_0x3e8061,_0x373364=await dktk(_0x1d631e);break;case'cktk':const _0x2564da={};_0x2564da[_0x5f317a(0x1ce)+'p']=_0x18ddc2,_0x2564da[_0x5f317a(0x1f6)]=_0x31a072,_0x2564da['tk']=_0x3e8061,_0x373364=await cktk(_0x2564da);break;case'dkcn':const _0x51302f={};_0x51302f[_0x5f317a(0x1ce)+'p']=_0x18ddc2,_0x51302f[_0x5f317a(0x1f6)]=_0x31a072,_0x51302f['tk']=_0x3e8061,_0x51302f[_0x5f317a(0x4ee)]=_0x5c4f79,_0x373364=await dkcn(_0x51302f);break;case _0x5f317a(0x4af):const _0x1a4b63={};_0x1a4b63[_0x5f317a(0x1ce)+'p']=_0x18ddc2,_0x1a4b63[_0x5f317a(0x1f6)]=_0x31a072,_0x1a4b63['tk']=_0x3e8061,_0x1a4b63[_0x5f317a(0x4ee)]=_0x5c4f79,_0x373364=await ckcn(_0x1a4b63);break;default:throw new Error(_0x5f317a(0x523)+_0x5f317a(0x528)+_0x5dc2ea+(_0x5f317a(0x433)+_0x5f317a(0x244)+_0x5f317a(0x544)+_0x5f317a(0xeb)+_0x5f317a(0xe1)+_0x5f317a(0x50c)+_0x5f317a(0x4bf)));}const _0x5b2592={};_0x5b2592[_0x5f317a(0x4d5)]=_0x5f317a(0x2d8)+_0x5f317a(0x323)+'u\x20ngà'+'y',_0x5b2592['ckvt']=_0x5f317a(0x2d8)+_0x5f317a(0x581)+_0x5f317a(0x3c8)+'ày',_0x5b2592['dktk']=_0x5f317a(0x468)+'\x20tài\x20'+_0x5f317a(0x3d7)+'\x20đầu\x20'+_0x5f317a(0x3a0),_0x5b2592[_0x5f317a(0x2c6)]=_0x5f317a(0x468)+_0x5f317a(0x562)+_0x5f317a(0x3d7)+_0x5f317a(0x3c6)+'\x20ngày',_0x5b2592[_0x5f317a(0x405)]=_0x5f317a(0x199)+_0x5f317a(0x218)+'u\x20ngà'+'y',_0x5b2592[_0x5f317a(0x4af)]=_0x5f317a(0x199)+_0x5f317a(0x337)+_0x5f317a(0x3c8)+'ày';const _0x39c82f=_0x5b2592,_0x12a4f0={};return _0x12a4f0[_0x5f317a(0x4b7)+'s']=_0x5f317a(0x45f)+'ss',_0x12a4f0['funct'+_0x5f317a(0x4a6)+_0x5f317a(0xdf)+'ed']=_0x5dc2ea,_0x12a4f0['label']=_0x39c82f[_0x5dc2ea],_0x12a4f0[_0x5f317a(0x18a)+_0x5f317a(0x101)+'uu']=_0x31a072,_0x12a4f0[_0x5f317a(0x19a)]=_0x373364,_0x12a4f0[_0x5f317a(0x583)]='AI\x20ĐẶ'+_0x5f317a(0x49a)+_0x5f317a(0x24b)+'\x20Ý:\x20Đ'+_0x5f317a(0x126)+_0x5f317a(0xd7)+_0x5f317a(0x30a)+_0x39c82f[_0x5dc2ea]+(_0x5f317a(0x21b)+_0x5f317a(0x38a)+_0x5f317a(0x3ea)+_0x5f317a(0x2a5))+_0x31a072+('.\x20Hãy'+_0x5f317a(0x24e)+_0x5f317a(0x2d0)+_0x5f317a(0x48b)+'u\x20này'+_0x5f317a(0x170)+_0x5f317a(0x486)+_0x5f317a(0x34f)+_0x5f317a(0x2be)+_0x5f317a(0x342)+_0x5f317a(0x37e)+_0x5f317a(0x321)+'g.'),_0x12a4f0;}catch(_0x355b4f){return console[_0x5f317a(0x4c4)](_0x5f317a(0x3b5)+'getAc'+_0x5f317a(0x215)+'ingBa'+_0x5f317a(0x1e5)+'sTool'+_0x5f317a(0x4bd)+_0x5dc2ea+']:',_0x355b4f),{'status':'error','message':_0x355b4f[_0x5f317a(0x37f)+'ge']||_0x355b4f[_0x5f317a(0x4c4)]||String(_0x355b4f),'hint':_0x5f317a(0x539)+_0x5f317a(0x222)+_0x5f317a(0x25a)+_0x5f317a(0x459)+_0x5f317a(0x386)+_0x5f317a(0x505)+_0x5f317a(0x2dd)+'truyề'+'n\x20mã\x20'+_0x5f317a(0x385)+_0x5f317a(0x106)+'\x20tài\x20'+_0x5f317a(0x3d7)+'),\x20hã'+'y\x20yêu'+_0x5f317a(0x4fa)+_0x5f317a(0x1c7)+_0x5f317a(0x26e)+_0x5f317a(0x276)+_0x5f317a(0x1f8)+_0x5f317a(0x139)+'thông'+_0x5f317a(0x32b)};}}}),'analyzeGeneralLedgerTool':tool({'description':_0x561aeb(0x199)+_0x561aeb(0x14f)+_0x561aeb(0xc7)+_0x561aeb(0x2fc)+_0x561aeb(0x462)+_0x561aeb(0xbb)+_0x561aeb(0x182)+_0x561aeb(0x2a9)+_0x561aeb(0x3e7)+_0x561aeb(0x1f1)+_0x561aeb(0x2ec)+_0x561aeb(0x3ef)+_0x561aeb(0x1dc)+_0x561aeb(0x43b)+'ày\x20ch'+_0x561aeb(0x3fe)+_0x561aeb(0x440)+'lấy\x20d'+'ữ\x20liệ'+_0x561aeb(0x45b)+_0x561aeb(0x169)+_0x561aeb(0x455)+_0x561aeb(0x21e)+_0x561aeb(0xf0)+_0x561aeb(0x419)+_0x561aeb(0x25b)+_0x561aeb(0x450)+_0x561aeb(0x4a1)+_0x561aeb(0x4b0)+_0x561aeb(0x233)+_0x561aeb(0x249)+_0x561aeb(0x494)+_0x561aeb(0x54b)+_0x561aeb(0x558)+_0x561aeb(0x266)+'tổng\x20'+_0x561aeb(0x324)+'Doanh'+'\x20thu\x20'+_0x561aeb(0x3e9)+_0x561aeb(0x326)+_0x561aeb(0x2a1)+'i\x20phí'+_0x561aeb(0x393)+'Nợ\x206*'+_0x561aeb(0x4b3)+_0x561aeb(0x4c6)+'ền\x20(T'+_0x561aeb(0x1c4)+',\x20112'+'),\x20ho'+_0x561aeb(0x2d5)+_0x561aeb(0x41d)+_0x561aeb(0x57a)+_0x561aeb(0x3a5)+_0x561aeb(0x292)+_0x561aeb(0x529)+_0x561aeb(0x293)+',\x20nhâ'+_0x561aeb(0x456)+'n,\x20dự'+_0x561aeb(0x55c)+'\x20\x20\x20\x20\x20'+'\x20AI\x20h'+_0x561aeb(0x39a)+'ng\x20ki'+_0x561aeb(0x387)+'ức\x20kế'+_0x561aeb(0x36b)+_0x561aeb(0xcb)+'uy\x20lu'+_0x561aeb(0xc8)+_0x561aeb(0x559)+_0x561aeb(0xb2)+'í\x20dụ:'+_0x561aeb(0x1be)+_0x561aeb(0x165)+_0x561aeb(0x2e0)+_0x561aeb(0x546)+_0x561aeb(0x277)+_0x561aeb(0x316)+_0x561aeb(0xb1)+'s_wit'+'h:\x20\x275'+'11\x27.\x20'+_0x561aeb(0x51c)+_0x561aeb(0x146)+_0x561aeb(0x3e0)+_0x561aeb(0x3fb)+'\x20tk_n'+_0x561aeb(0x4ba)+_0x561aeb(0x310)+_0x561aeb(0x54d)+_0x561aeb(0x46c)+_0x561aeb(0x439)+_0x561aeb(0x435)+_0x561aeb(0x307)+_0x561aeb(0x112)+_0x561aeb(0x157)+'\x20look'+_0x561aeb(0x110)+_0x561aeb(0x55b)+_0x561aeb(0x43d)+_0x561aeb(0x52c)+_0x561aeb(0xee)+'ã\x20của'+_0x561aeb(0x4f0)+_0x561aeb(0x357)+_0x561aeb(0x362)+_0x561aeb(0x2b5)+'iết\x20t'+_0x561aeb(0x10a)+'í\x20dụ\x20'+_0x561aeb(0x4dd)+'ỏi\x20ch'+_0x561aeb(0x3b9)+_0x561aeb(0x568)+_0x561aeb(0x363)+_0x561aeb(0x4fe)+'o\x20nhi'+_0x561aeb(0x185)+_0x561aeb(0x53b)+_0x561aeb(0x24e)+'ụng\x20t'+_0x561aeb(0xa7)+_0x561aeb(0x59d)+'Maste'+_0x561aeb(0x1ec)+_0x561aeb(0x37b)+_0x561aeb(0x113)+_0x561aeb(0x4f4)+_0x561aeb(0x102)+_0x561aeb(0x1c5)+_0x561aeb(0x562)+_0x561aeb(0x3d7)+_0x561aeb(0xce)+_0x561aeb(0x2dc)+_0x561aeb(0x347)+_0x561aeb(0x564)+_0x561aeb(0x278)+_0x561aeb(0x3aa)+_0x561aeb(0x2c0)+'yền\x20m'+_0x561aeb(0x3cc)+'ài\x20kh'+_0x561aeb(0x287)+_0x561aeb(0x223)+_0x561aeb(0x4bb)+_0x561aeb(0x467),'inputSchema':z[_0x561aeb(0x514)+'t']({'tu_ngay':z[_0x561aeb(0x256)+'g']()['optio'+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x224)+'ày\x20(Y'+_0x561aeb(0x143)+_0x561aeb(0x2f4)),'den_ngay':z['strin'+'g']()['optio'+_0x561aeb(0x4ed)]()['descr'+'ibe'](_0x561aeb(0x3dc)+_0x561aeb(0x22b)+_0x561aeb(0x36e)+_0x561aeb(0x43f)+')'),'tk_no_starts_with':z['strin'+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+'ibe'](_0x561aeb(0x334)+_0x561aeb(0x11d)+'ao\x20dị'+'ch\x20có'+'\x20Tài\x20'+_0x561aeb(0x3d7)+_0x561aeb(0x36f)+_0x561aeb(0x506)+_0x561aeb(0x47c)+_0x561aeb(0x4ec)+_0x561aeb(0x3cb)+_0x561aeb(0x500)+_0x561aeb(0x12a)+_0x561aeb(0xb9)+_0x561aeb(0x447)+_0x561aeb(0x29e)+_0x561aeb(0x4b5)+_0x561aeb(0x122)+'ng\x20ch'+_0x561aeb(0x129)+'ới\x20tk'+_0x561aeb(0x13b)+'n.'),'tk_co_starts_with':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x334)+_0x561aeb(0x11d)+_0x561aeb(0x4cd)+_0x561aeb(0x3a2)+_0x561aeb(0x57d)+'khoản'+_0x561aeb(0x401)+_0x561aeb(0x506)+'u\x20bằn'+'g.\x20(V'+'D:\x20\x225'+'11\x22\x20đ'+_0x561aeb(0x53d)+_0x561aeb(0x268)+_0x561aeb(0x28a)+_0x561aeb(0x40e)+_0x561aeb(0xd4)+'ùng\x20c'+'hung\x20'+_0x561aeb(0x28d)+_0x561aeb(0x316)+_0x561aeb(0x46b)),'tk_no_in':z[_0x561aeb(0x599)](z['strin'+'g']())[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Lọc\x20c'+_0x561aeb(0x11d)+'ao\x20dị'+'ch\x20có'+_0x561aeb(0x57d)+_0x561aeb(0x3d7)+'\x20Nợ\x20n'+_0x561aeb(0x1e3)+_0x561aeb(0x344)+'ột\x20da'+_0x561aeb(0xea)+_0x561aeb(0x127)+'\x20thể.'+_0x561aeb(0x29c)+_0x561aeb(0x4cb)+_0x561aeb(0x569)+_0x561aeb(0x238)+_0x561aeb(0x3e4)+_0x561aeb(0x3c1)+'3\x22]\x20s'+_0x561aeb(0x1c1)+'i\x20tra'+_0x561aeb(0x32c)+_0x561aeb(0x4d3)+_0x561aeb(0x572)+'c\x20chi'+'\x20phí\x20'+_0x561aeb(0xcf)+_0x561aeb(0x23a)),'tk_co_in':z[_0x561aeb(0x599)](z[_0x561aeb(0x256)+'g']())[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Lọc\x20c'+'ác\x20gi'+_0x561aeb(0x4cd)+_0x561aeb(0x3a2)+_0x561aeb(0x57d)+_0x561aeb(0x3d7)+_0x561aeb(0x3e1)+_0x561aeb(0x1e3)+'ong\x20m'+'ột\x20da'+_0x561aeb(0xea)+_0x561aeb(0x127)+_0x561aeb(0x591)+'\x20(Ví\x20'+_0x561aeb(0x4cb)+'\x225111'+'\x22,\x20\x225'+'112\x22]'+').'),'ma_kh_no':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x1b6)+_0x561aeb(0x13e)+_0x561aeb(0x565)+_0x561aeb(0x1a1)+'\x20kèm\x20'+_0x561aeb(0x28d)+'ài\x20kh'+_0x561aeb(0x120)+_0x561aeb(0x4ac)+_0x561aeb(0x4aa)),'ma_kh_co':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x1b6)+'ách\x20h'+'àng\x20c'+_0x561aeb(0x384)+'\x20kèm\x20'+_0x561aeb(0x28d)+_0x561aeb(0x39c)+_0x561aeb(0x573)+_0x561aeb(0x1b1)+_0x561aeb(0x232)+')'),'ma_bp':z['strin'+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x1a8)+_0x561aeb(0x293)),'ma_nv':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x4b9)+_0x561aeb(0x4c5)+_0x561aeb(0x41e)+_0x561aeb(0x2b2)+'hi\x20tí'+_0x561aeb(0x260)+_0x561aeb(0x530)+_0x561aeb(0x1b7)+_0x561aeb(0x3b9)+_0x561aeb(0x4c9)+_0x561aeb(0x359)+'\x20viên'+')'),'ma_dt':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Mã\x20dự'+_0x561aeb(0x340)+_0x561aeb(0xe3)+'c'),'ma_phi':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x1b6)+'oản\x20p'+'hí'),'ma_kho':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()['descr'+_0x561aeb(0xc6)](_0x561aeb(0x1b6)+'o/cửa'+_0x561aeb(0x532)),'ma_vt':z['strin'+'g']()[_0x561aeb(0x1b0)+'nal']()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Mã\x20vậ'+_0x561aeb(0x245)+_0x561aeb(0x158)+_0x561aeb(0x264)),'group_by':z['enum'](['none',_0x561aeb(0x543),_0x561aeb(0x3f9),_0x561aeb(0x232),_0x561aeb(0x16f),_0x561aeb(0x446),_0x561aeb(0x4ee)+_0x561aeb(0x242),_0x561aeb(0x4ee)+'_co','ma_kh'+'o',_0x561aeb(0x306)+'i',_0x561aeb(0x575),_0x561aeb(0x2d4)])[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x595)+'chí\x20g'+'om\x20nh'+'óm.\x20N'+_0x561aeb(0x1ac)+_0x561aeb(0x411)+_0x561aeb(0x472)+_0x561aeb(0x515)+_0x561aeb(0x292)+'u\x22,\x20c'+_0x561aeb(0x37d)+_0x561aeb(0x45e)+_0x561aeb(0x20b)+_0x561aeb(0x54b)+_0x561aeb(0x165)+_0x561aeb(0xe9)+_0x561aeb(0x148)+_0x561aeb(0x3e0)+_0x561aeb(0x1e6)+_0x561aeb(0x42a)+_0x561aeb(0x1d3)+_0x561aeb(0x294)+_0x561aeb(0x547)+_0x561aeb(0x3b2)+_0x561aeb(0x48e))}),'execute':async _0x4caf0d=>{const _0x2985f8=_0x561aeb;Logger[_0x2985f8(0x406)](_0x2985f8(0x518)+'gent]'+'[anal'+_0x2985f8(0x3db)+_0x2985f8(0x288)+_0x2985f8(0x135)+_0x2985f8(0x484)+']',JSON[_0x2985f8(0x256)+'gify'](_0x4caf0d));try{const {tu_ngay:_0x45c7b7,den_ngay:_0x363f04,tk_no_starts_with:_0x3e484c,tk_co_starts_with:_0x4aa51a,tk_no_in:_0x486ea1,tk_co_in:_0x2eedb9,ma_kh_no:_0x3c2050,ma_kh_co:_0x15a9ef,ma_bp:_0x44ab12,ma_nv:_0x4e348c,ma_dt:_0x3a06d4,ma_phi:_0x2eb1de,ma_vt:_0x5bc6b3,ma_kho:_0x5cde99,group_by:_0x27ee93}=_0x4caf0d,_0x4b6a81={};_0x4b6a81[_0x2985f8(0x43a)]=_0x2985f8(0x574),_0x4b6a81[_0x2985f8(0x3b8)+_0x2985f8(0x15b)+'d']=_0x2985f8(0x52a)+'t';const _0x20b7e6={};_0x20b7e6[_0x2985f8(0x43a)]='dmkho',_0x20b7e6[_0x2985f8(0x3b8)+'_fiel'+'d']=_0x2985f8(0x33b)+'ho';const _0x5d0d32={};_0x5d0d32[_0x2985f8(0x43a)]=_0x2985f8(0x217)+_0x2985f8(0x1ba),_0x5d0d32[_0x2985f8(0x37a)+_0x2985f8(0x15b)+'d']=_0x2985f8(0x4ee),_0x5d0d32[_0x2985f8(0x3b8)+'_fiel'+'d']=_0x2985f8(0x33b)+'h';const _0x571e00={};_0x571e00[_0x2985f8(0x43a)]=_0x2985f8(0x217)+_0x2985f8(0x1ba),_0x571e00['value'+_0x2985f8(0x15b)+'d']=_0x2985f8(0x4ee),_0x571e00[_0x2985f8(0x3b8)+_0x2985f8(0x15b)+'d']='ten_k'+'h';const _0x5b2716={};_0x5b2716[_0x2985f8(0x43a)]=_0x2985f8(0x46a),_0x5b2716[_0x2985f8(0x3b8)+_0x2985f8(0x15b)+'d']=_0x2985f8(0x1aa)+'p';const _0x5f0168={};_0x5f0168[_0x2985f8(0x43a)]=_0x2985f8(0x20d),_0x5f0168[_0x2985f8(0x3b8)+'_fiel'+'d']=_0x2985f8(0xab)+'v';const _0x3b6d0e={};_0x3b6d0e[_0x2985f8(0x43a)]='dmphi',_0x3b6d0e[_0x2985f8(0x3b8)+_0x2985f8(0x15b)+'d']=_0x2985f8(0x305)+'hi';const _0x10b551={};_0x10b551[_0x2985f8(0x43a)]=_0x2985f8(0x2b0),_0x10b551[_0x2985f8(0x3b8)+'_fiel'+'d']=_0x2985f8(0x3af)+'t';const _0x40f895={};_0x40f895['ma_vt']=_0x4b6a81,_0x40f895['ma_kh'+'o']=_0x20b7e6,_0x40f895[_0x2985f8(0x4ee)+'_no']=_0x5d0d32,_0x40f895['ma_kh'+_0x2985f8(0x4eb)]=_0x571e00,_0x40f895['ma_bp']=_0x5b2716,_0x40f895[_0x2985f8(0x446)]=_0x5f0168,_0x40f895[_0x2985f8(0x306)+'i']=_0x3b6d0e,_0x40f895[_0x2985f8(0x575)]=_0x10b551;const _0x5455db=_0x40f895,_0x425888=global[_0x2985f8(0x19f)+_0x2985f8(0x154)](_0x2985f8(0x4ae)),_0x455dc5={};_0x455dc5[_0x2985f8(0x1ce)+'p']=_0x18ddc2;const _0x551f25=_0x455dc5;if(_0x45c7b7||_0x363f04){_0x551f25[_0x2985f8(0x18a)+'ct']={};if(_0x45c7b7)_0x551f25[_0x2985f8(0x18a)+'ct'][_0x2985f8(0x471)]=moment(_0x45c7b7)[_0x2985f8(0xb1)+'Of']('date')[_0x2985f8(0x431)+'e']();if(_0x363f04)_0x551f25['ngay_'+'ct'][_0x2985f8(0x144)]=moment(_0x363f04)[_0x2985f8(0x1b2)](_0x2985f8(0x54c))[_0x2985f8(0x431)+'e']();}if(_0x486ea1&&_0x486ea1[_0x2985f8(0x382)+'h']>0x0){const _0x40df23={};_0x40df23[_0x2985f8(0x183)]=_0x486ea1,_0x551f25[_0x2985f8(0x3f9)]=_0x40df23;}else{if(_0x3e484c){const _0x432365={};_0x432365['$rege'+'x']='^'+_0x3e484c,_0x551f25[_0x2985f8(0x3f9)]=_0x432365;}}if(_0x2eedb9&&_0x2eedb9[_0x2985f8(0x382)+'h']>0x0){const _0x190893={};_0x190893[_0x2985f8(0x183)]=_0x2eedb9,_0x551f25[_0x2985f8(0x232)]=_0x190893;}else{if(_0x4aa51a){const _0x5e9314={};_0x5e9314['$rege'+'x']='^'+_0x4aa51a,_0x551f25[_0x2985f8(0x232)]=_0x5e9314;}}if(_0x3c2050)_0x551f25[_0x2985f8(0x4ee)+'_no']=_0x3c2050;if(_0x15a9ef)_0x551f25[_0x2985f8(0x4ee)+_0x2985f8(0x4eb)]=_0x15a9ef;if(_0x44ab12)_0x551f25['ma_bp']=_0x44ab12;if(_0x4e348c)_0x551f25[_0x2985f8(0x446)]=_0x4e348c;if(_0x3a06d4)_0x551f25[_0x2985f8(0x575)]=_0x3a06d4;if(_0x2eb1de)_0x551f25[_0x2985f8(0x306)+'i']=_0x2eb1de;if(_0x5bc6b3)_0x551f25[_0x2985f8(0x2d4)]=_0x5bc6b3;if(_0x5cde99)_0x551f25['ma_kh'+'o']=_0x5cde99;let _0x153b3b=null;if(_0x27ee93===_0x2985f8(0x543)){const _0x17fac0={};_0x17fac0[_0x2985f8(0x37c)+'h']=_0x2985f8(0x1b4)+_0x2985f8(0x537);const _0x19f3ea={};_0x19f3ea[_0x2985f8(0x457)]=_0x2985f8(0x1b4)+_0x2985f8(0x537);const _0x57fa88={};_0x57fa88['thang']=_0x17fac0,_0x57fa88[_0x2985f8(0x3a6)]=_0x19f3ea,_0x153b3b=_0x57fa88;}else _0x27ee93!=='none'&&(_0x153b3b='$'+_0x27ee93);const _0x2d59eb={};_0x2d59eb[_0x2985f8(0x2ee)+'h']=_0x551f25;const _0x36d9c8={};_0x36d9c8[_0x2985f8(0x58d)]='$tien';const _0x297bdd={};_0x297bdd[_0x2985f8(0x58d)]=_0x2985f8(0x578)+_0x2985f8(0x580);const _0x4eb2b9={};_0x4eb2b9[_0x2985f8(0x58d)]=0x1;const _0x360c61={};_0x360c61[_0x2985f8(0x504)]=_0x153b3b,_0x360c61[_0x2985f8(0x15c)+_0x2985f8(0x282)]=_0x36d9c8,_0x360c61[_0x2985f8(0x15c)+_0x2985f8(0x2fb)+'nt']=_0x297bdd,_0x360c61['so_lu'+_0x2985f8(0x27f)+_0x2985f8(0x203)+_0x2985f8(0x525)]=_0x4eb2b9;const _0x57ee41={};_0x57ee41[_0x2985f8(0x493)+'p']=_0x360c61;const _0x1546f5={};_0x1546f5[_0x2985f8(0x15c)+_0x2985f8(0x282)]=-0x1;const _0xe802ee={};_0xe802ee[_0x2985f8(0x26a)]=_0x1546f5;const _0xa6d740={};_0xa6d740[_0x2985f8(0x36c)+'t']=0x14;const _0x41bdc9=await _0x425888[_0x2985f8(0x30b)+_0x2985f8(0x458)]([_0x2d59eb,_0x57ee41,_0xe802ee,_0xa6d740]);if(_0x41bdc9[_0x2985f8(0x382)+'h']===0x0){const _0xebadce={};return _0xebadce[_0x2985f8(0x4b7)+'s']='succe'+'ss',_0xebadce[_0x2985f8(0x37f)+'ge']=_0x2985f8(0x303)+_0x2985f8(0x2bb)+_0x2985f8(0x554)+'\x20giao'+_0x2985f8(0x4d2)+_0x2985f8(0x541)+'thỏa\x20'+_0x2985f8(0x59b)+_0x2985f8(0x2c4)+_0x2985f8(0x179),_0xebadce;}_0x5455db[_0x27ee93]&&await _0x41bdc9[_0x2985f8(0x1de)+'JoinM'+'odel2'](_0x18ddc2,_0x5455db[_0x27ee93][_0x2985f8(0x43a)],{'where':{'_id':_0x5455db[_0x27ee93][_0x2985f8(0x37a)+'_fiel'+'d']||_0x27ee93},'field':[_0x5455db[_0x27ee93][_0x2985f8(0x3b8)+'_fiel'+'d']]});const _0x24ecc3={};return _0x24ecc3[_0x2985f8(0x4b7)+'s']=_0x2985f8(0x45f)+'ss',_0x24ecc3[_0x2985f8(0x19a)]=_0x41bdc9,_0x24ecc3['hint']=_0x2985f8(0x162)+_0x2985f8(0x4a5)+_0x2985f8(0xb4)+_0x2985f8(0xef)+_0x2985f8(0x181)+_0x2985f8(0x257)+_0x2985f8(0xbf)+_0x2985f8(0x502)+'a\x20chọ'+'n\x20để\x20'+_0x2985f8(0x230)+'_by.\x20'+_0x2985f8(0x149)+_0x2985f8(0xb0)+_0x2985f8(0x4f9)+_0x2985f8(0x462)+'giá\x20t'+_0x2985f8(0xfd)+_0x2985f8(0x134)+_0x2985f8(0x365)+_0x2985f8(0x21c)+_0x2985f8(0x522)+'\x20các\x20'+_0x2985f8(0x549)+_0x2985f8(0x1b5)+_0x2985f8(0x130)+_0x2985f8(0x28f)+_0x2985f8(0xf9)+_0x2985f8(0x4cc)+'\x20hoặc'+_0x2985f8(0x22f)+'\x20để\x20s'+'ếp\x20dễ'+_0x2985f8(0x12d),_0x24ecc3;}catch(_0xfdb1de){return console[_0x2985f8(0x4c4)]('[Lỗi\x20'+_0x2985f8(0x526)+_0x2985f8(0x322)+_0x2985f8(0x496)+'edger'+_0x2985f8(0xbd)+':',_0xfdb1de),{'status':'error','message':_0xfdb1de[_0x2985f8(0x37f)+'ge']||String(_0xfdb1de)};}}}),'getAttendanceReportTool':tool({'description':_0x561aeb(0x199)+_0x561aeb(0x463)+_0x561aeb(0x3ee)+_0x561aeb(0x2a6)+_0x561aeb(0x527)+_0x561aeb(0x279)+'ê\x20tìn'+_0x561aeb(0x24a)+'h\x20chấ'+_0x561aeb(0x1f2)+_0x561aeb(0x254)+'ày\x20cô'+_0x561aeb(0x56a)+_0x561aeb(0x3e2)+_0x561aeb(0x456)+_0x561aeb(0x29d)+_0x561aeb(0x350)+_0x561aeb(0x33e)+_0x561aeb(0x56f)+_0x561aeb(0x4a3)+_0x561aeb(0x10b)+_0x561aeb(0x233)+_0x561aeb(0x249)+'G\x20KHI'+_0x561aeb(0x216)+'\x20\x20\x20\x201'+_0x561aeb(0x364)+_0x561aeb(0x1f3)+'\x20Nhân'+_0x561aeb(0x2f6)+_0x561aeb(0x4f3)+'n\x20lươ'+_0x561aeb(0x3f1)+_0x561aeb(0x4a2)+_0x561aeb(0x32c)+_0x561aeb(0x16c)+_0x561aeb(0x2ea)+_0x561aeb(0x540)+_0x561aeb(0x361)+_0x561aeb(0xbc)+_0x561aeb(0x298)+_0x561aeb(0x30e)+_0x561aeb(0x329)+_0x561aeb(0x12f)+_0x561aeb(0x252)+'nhân\x20'+_0x561aeb(0x47a)+_0x561aeb(0x33d)+_0x561aeb(0x487)+'.\x20Chí'+_0x561aeb(0x2d1)+_0x561aeb(0x39f)+'ang\x20s'+_0x561aeb(0x55e)+_0x561aeb(0x4d9)+_0x561aeb(0x45a)+_0x561aeb(0x49d)+'về\x20tì'+'nh\x20hì'+_0x561aeb(0x4dc)+_0x561aeb(0x596)+'\x20ngày'+_0x561aeb(0x33c)+_0x561aeb(0x1f3)+_0x561aeb(0x354)+_0x561aeb(0x54f)+_0x561aeb(0x427)+'hép\x20c'+_0x561aeb(0x13d)+'N\x20THÂ'+_0x561aeb(0x551),'inputSchema':z[_0x561aeb(0x514)+'t']({'tu_ngay':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x269)+_0x561aeb(0xc6)]('Từ\x20ng'+_0x561aeb(0x2f1)+_0x561aeb(0x31b)+'\x20chấm'+_0x561aeb(0x33c)+_0x561aeb(0x35e)+_0x561aeb(0xdc)+_0x561aeb(0x587)+_0x561aeb(0x443)+_0x561aeb(0x40d)),'den_ngay':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x269)+'ibe'](_0x561aeb(0x3dc)+_0x561aeb(0x2cd)+'ết\x20th'+_0x561aeb(0x4f2)+_0x561aeb(0x23d)+'ng\x20(Đ'+_0x561aeb(0x262)+_0x561aeb(0x58b)+_0x561aeb(0x36e)+_0x561aeb(0x43f)+').'),'is_self_service':z[_0x561aeb(0x1d7)+'an']()[_0x561aeb(0x379)+'lt'](![])[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x560)+_0x561aeb(0x51d)+'RỌNG:'+'\x20Bật\x20'+_0x561aeb(0x1fc)+'nếu\x20n'+'gười\x20'+_0x561aeb(0x27b)+_0x561aeb(0x123)+_0x561aeb(0x558)+_0x561aeb(0x104)+'h\x20hìn'+_0x561aeb(0xf1)+_0x561aeb(0x1f2)+_0x561aeb(0x2f2)+_0x561aeb(0x1fe)+_0x561aeb(0x31e)+'\x20THÂN'+_0x561aeb(0x237)+'Ví\x20dụ'+_0x561aeb(0x2f0)+_0x561aeb(0x453)+_0x561aeb(0x3d0)+'\x20được'+'\x20bao\x20'+_0x561aeb(0x2bf)+'\x20công'+_0x561aeb(0x58c)+'Anh/c'+_0x561aeb(0x173)+_0x561aeb(0x1cd)+'m\x20côn'+_0x561aeb(0x2f2)+_0x561aeb(0x1b3)+_0x561aeb(0x40a)+_0x561aeb(0x2e6)+_0x561aeb(0x27d)+_0x561aeb(0x3dd)+_0x561aeb(0x42f)+'u\x20ngư'+_0x561aeb(0x105)+_0x561aeb(0x2bd)+_0x561aeb(0x50b)+'\x20lý/K'+'ế\x20toá'+'n\x20đan'+_0x561aeb(0x178)+_0x561aeb(0x32c)+_0x561aeb(0x2e5)+_0x561aeb(0x19b)+_0x561aeb(0x1c9)+_0x561aeb(0x456)+'n\x20khá'+_0x561aeb(0x290)+_0x561aeb(0x383)+_0x561aeb(0x3ec)+_0x561aeb(0x35c)+'.'),'ma_nv':z['strin'+'g']()['optio'+'nal']()[_0x561aeb(0x269)+'ibe'](_0x561aeb(0x4b9)+_0x561aeb(0x4c5)+_0x561aeb(0x2a8)+_0x561aeb(0x3ac)+_0x561aeb(0x4d4)+_0x561aeb(0x2f8)+'u\x20(Dù'+_0x561aeb(0x55d)+'i\x20kế\x20'+'toán/'+'quản\x20'+_0x561aeb(0xa4)+_0x561aeb(0x360)+'\x20ngườ'+'i\x20khá'+_0x561aeb(0xf3)+_0x561aeb(0x3bb)+_0x561aeb(0x372)+_0x561aeb(0x4ea)+_0x561aeb(0x521)+_0x561aeb(0x452)+_0x561aeb(0x255)+_0x561aeb(0x4f1)+_0x561aeb(0x3e5)+_0x561aeb(0x445)+_0x561aeb(0x49f)+'.'),'ma_bp':z[_0x561aeb(0x256)+'g']()[_0x561aeb(0x1b0)+_0x561aeb(0x4ed)]()[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0x1a8)+'\x20phận'+_0x561aeb(0x140)+_0x561aeb(0x35c)+_0x561aeb(0x362)+'muốn\x20'+_0x561aeb(0x369)+_0x561aeb(0x32f)+_0x561aeb(0x21e)+_0x561aeb(0x4da)+_0x561aeb(0x3ec)+_0x561aeb(0x14d)+_0x561aeb(0x1bf)+_0x561aeb(0x397)+'\x20Quản'+'\x20lý/K'+_0x561aeb(0x4f3)+_0x561aeb(0x330)),'lam_thu_7':z[_0x561aeb(0x1d7)+'an']()['defau'+'lt'](!![])[_0x561aeb(0x269)+_0x561aeb(0xc6)](_0x561aeb(0xec)+_0x561aeb(0x17c)+'ông\x20t'+'y\x20có\x20'+_0x561aeb(0x52b)+_0x561aeb(0x507)+_0x561aeb(0x2d3)+_0x561aeb(0x59c)+_0x561aeb(0x3df)+_0x561aeb(0x318)+'ông.\x20'+_0x561aeb(0x1c2)+'ịnh\x20l'+_0x561aeb(0x1d1)+'e.'),'only_summary':z[_0x561aeb(0x1d7)+'an']()[_0x561aeb(0x379)+'lt'](!![])[_0x561aeb(0x269)+'ibe']('Nếu\x20T'+_0x561aeb(0xdd)+_0x561aeb(0x492)+'rả\x20về'+_0x561aeb(0xdb)+_0x561aeb(0x210)+_0x561aeb(0x48a)+_0x561aeb(0x4c1)+_0x561aeb(0x1b8)+'token'+_0x561aeb(0x48d)+_0x561aeb(0x34a)+_0x561aeb(0x356)+'rả\x20về'+'\x20danh'+_0x561aeb(0x4cc)+_0x561aeb(0xce)+'tiết\x20'+'từng\x20'+_0x561aeb(0x3bd)+_0x561aeb(0x52e)+_0x561aeb(0x339))}),'execute':async({tu_ngay:_0x40072c,den_ngay:_0x4d231a,is_self_service:_0x3f49d0,ma_nv:_0xa6870f,ma_bp:_0x243583,lam_thu_7:_0x421674,only_summary:_0x23476d})=>{const _0x1895d2=_0x561aeb;try{const _0x2caa73=global[_0x1895d2(0x19f)+_0x1895d2(0x154)]('dmnv');if(typeof getKqChamCong!==_0x1895d2(0x366)+'ion'){const _0x56493e={};return _0x56493e[_0x1895d2(0x4b7)+'s']=_0x1895d2(0x4c4),_0x56493e[_0x1895d2(0x37f)+'ge']=_0x1895d2(0x31d)+_0x1895d2(0x415)+_0x1895d2(0x20f)+_0x1895d2(0x566)+_0x1895d2(0x404)+_0x1895d2(0x194)+_0x1895d2(0x50e)+_0x1895d2(0x250)+'ction'+_0x1895d2(0xed)+_0x1895d2(0x466),_0x56493e;}let _0x54c888=_0xa6870f?_0xa6870f[_0x1895d2(0x1f9)+_0x1895d2(0x141)+'e']()['trim']():undefined,_0x225591=_0x1895d2(0x582)+'s';if(_0x3f49d0){if(!_0x2caa73){const _0x5715c4={};return _0x5715c4[_0x1895d2(0x4b7)+'s']=_0x1895d2(0x4c4),_0x5715c4[_0x1895d2(0x37f)+'ge']=_0x1895d2(0xc2)+_0x1895d2(0x31f)+_0x1895d2(0x501)+_0x1895d2(0x38f)+_0x1895d2(0x531)+'i\x20trê'+'n\x20hệ\x20'+_0x1895d2(0x45a)+_0x1895d2(0x20c)+_0x1895d2(0x473)+_0x1895d2(0x164)+_0x1895d2(0x456)+'n.',_0x5715c4;}const _0x5bb93d={};_0x5bb93d[_0x1895d2(0x446)]=0x1;const _0x2bc3d4=_0x445fdd?await _0x2caa73[_0x1895d2(0x12b)+'ne']({'id_app':_0x18ddc2,'user':_0x445fdd},_0x5bb93d)[_0x1895d2(0xfb)]():null;if(!_0x2bc3d4||!_0x2bc3d4['ma_nv']){const _0x4a0fa9={};return _0x4a0fa9[_0x1895d2(0x4b7)+'s']=_0x1895d2(0x4c4),_0x4a0fa9[_0x1895d2(0x37f)+'ge']=_0x1895d2(0x2ab)+_0x1895d2(0x2ad)+_0x1895d2(0x159)+'ạn\x20hi'+_0x1895d2(0xd0)+_0x1895d2(0x48c)+'ợc\x20li'+_0x1895d2(0x1fb)+_0x1895d2(0x197)+'\x20bất\x20'+_0x1895d2(0x160)+'\x20nhân'+_0x1895d2(0x4c2)+_0x1895d2(0x541)+_0x1895d2(0xe1)+_0x1895d2(0xf9)+'\x20mục\x20'+'dmnv.'+_0x1895d2(0x2d6)+_0x1895d2(0x400)+_0x1895d2(0x4ab)+'hệ\x20nh'+_0x1895d2(0x2ba)+'.',_0x4a0fa9;}_0x54c888=_0x2bc3d4[_0x1895d2(0x446)],_0x243583=undefined,_0x225591='self';}const _0x362ae0={'id_app':_0x18ddc2,'tu_ngay':moment(_0x40072c)[_0x1895d2(0xb1)+'Of'](_0x1895d2(0x54c))['toDat'+'e'](),'den_ngay':moment(_0x4d231a)[_0x1895d2(0x1b2)](_0x1895d2(0x54c))[_0x1895d2(0x431)+'e'](),'ma_nv':_0x54c888,'ma_bp':_0x243583?_0x243583['toUpp'+'erCas'+'e']()[_0x1895d2(0x480)]():undefined,'lam_thu_7':_0x421674?'true':_0x1895d2(0x3f4)},_0x43f3cc=await getKqChamCong(_0x362ae0);if(!_0x43f3cc||!_0x43f3cc['data']||_0x43f3cc[_0x1895d2(0x19a)][_0x1895d2(0x382)+'h']===0x0){const _0x541549={};return _0x541549[_0x1895d2(0x4b7)+'s']=_0x1895d2(0x45f)+'ss',_0x541549[_0x1895d2(0x37f)+'ge']=_0x1895d2(0x303)+_0x1895d2(0x15f)+_0x1895d2(0x19c)+_0x1895d2(0x422)+_0x1895d2(0x1e2)+_0x1895d2(0x3a5)+_0x1895d2(0x239)+_0x1895d2(0x23d)+_0x1895d2(0x521)+_0x1895d2(0x495)+_0x1895d2(0x3bd)+_0x40072c+_0x1895d2(0x38a)+_0x4d231a+'.',_0x541549;}if(_0x54c888){const _0xdf5d48={};_0xdf5d48[_0x1895d2(0x59e)+'ay']=_0x40072c,_0xdf5d48[_0x1895d2(0x512)+_0x1895d2(0x58e)]=_0x4d231a;const _0x5b27c0={};return _0x5b27c0[_0x1895d2(0x4b7)+'s']=_0x1895d2(0x45f)+'ss',_0x5b27c0[_0x1895d2(0x374)+_0x1895d2(0x225)]=_0x225591,_0x5b27c0['targe'+_0x1895d2(0x16b)+_0x1895d2(0x51f)]=_0x54c888,_0x5b27c0[_0x1895d2(0x166)+'d']=_0xdf5d48,_0x5b27c0[_0x1895d2(0x19a)]=_0x43f3cc[_0x1895d2(0x19a)],_0x5b27c0[_0x1895d2(0x583)]=_0x225591===_0x1895d2(0x1d2)?_0x1895d2(0x162)+'u\x20ý:\x20'+_0x1895d2(0x474)+'à\x20dữ\x20'+_0x1895d2(0xc5)+'chấm\x20'+'công\x20'+'chi\x20t'+_0x1895d2(0x148)+_0x1895d2(0x4ad)+'ÍNH\x20N'+_0x1895d2(0x2c7)+'ĐANG\x20'+'CHAT.'+'\x20Hãy\x20'+_0x1895d2(0x462)+_0x1895d2(0x570)+'ổng\x20s'+_0x1895d2(0x3d9)+_0x1895d2(0x193)+_0x1895d2(0x2e2)+_0x1895d2(0x434)+_0x1895d2(0x38d)+_0x1895d2(0x3d9)+_0x1895d2(0xd5)+_0x1895d2(0x550)+_0x1895d2(0x17a)+_0x1895d2(0x214)+_0x1895d2(0x2eb)+'ương\x20'+_0x1895d2(0x511)+_0x1895d2(0x147)+_0x1895d2(0x22f)+_0x1895d2(0xce)+_0x1895d2(0x4b8)+'lịch\x20'+'trình'+_0x1895d2(0x4be)+_0x1895d2(0x425)+_0x1895d2(0x3bd)+_0x1895d2(0x28d)+'hái\x20đ'+_0x1895d2(0xf6)+'\x20đáo.':'AI\x20lư'+'u\x20ý:\x20'+'Đây\x20l'+_0x1895d2(0x16d)+'liệu\x20'+_0x1895d2(0x200)+_0x1895d2(0x148)+_0x1895d2(0xe7)+_0x1895d2(0x4c5)+_0x1895d2(0x3e8)+_0x1895d2(0x3d1)+_0x1895d2(0x3a3)+'uản\x20l'+_0x1895d2(0x478)+'\x20cầu\x20'+_0x1895d2(0x390)+'ứu.\x20H'+_0x1895d2(0x44f)+_0x1895d2(0x22f)+_0x1895d2(0x592)+_0x1895d2(0x11a)+_0x1895d2(0x4e8)+'ng\x20để'+_0x1895d2(0x2ef)+'ử\x20lý\x20'+'công\x20'+_0x1895d2(0x2cf),_0x5b27c0;}if(_0x23476d){const _0x16272a=_0x43f3cc[_0x1895d2(0x19a)][_0x1895d2(0x2b8)+'e']((_0x4da39e,_0x37fc3c)=>{const _0x1b3961=_0x1895d2;return _0x4da39e[_0x1b3961(0x15c)+_0x1b3961(0x18a)+'cong_'+_0x1b3961(0x4fd)+_0x1b3961(0x3a9)]+=_0x37fc3c[_0x1b3961(0x18a)+'cong_'+_0x1b3961(0x4fd)+'luong']||0x0,_0x4da39e[_0x1b3961(0x15c)+'ngay_'+_0x1b3961(0x1c8)+_0x1b3961(0x577)+'g']+=_0x37fc3c[_0x1b3961(0x15c)+_0x1b3961(0x18a)+_0x1b3961(0x1c8)+_0x1b3961(0x577)+'g']||0x0,_0x43f3cc['loaic'+_0x1b3961(0x2c3)]&&_0x43f3cc[_0x1b3961(0x177)+'ong'][_0x1b3961(0x338)+'ch'](_0x481c70=>{const _0x2b561b=_0x1b3961;_0x4da39e['chi_t'+_0x2b561b(0x45c)+'oai_c'+_0x2b561b(0x2c3)][_0x481c70[_0x2b561b(0x142)+_0x2b561b(0x16e)+'ng']]=(_0x4da39e['chi_t'+'iet_l'+_0x2b561b(0x212)+'ong'][_0x481c70[_0x2b561b(0x142)+_0x2b561b(0x16e)+'ng']]||0x0)+(_0x37fc3c[_0x481c70['ma_lo'+_0x2b561b(0x16e)+'ng']]||0x0);}),_0x4da39e;},{'tong_so_nhan_su_phat_sinh':_0x43f3cc[_0x1895d2(0x19a)]['lengt'+'h'],'tong_ngay_cong_tinh_luong':0x0,'tong_ngay_khong_luong':0x0,'chi_tiet_loai_cong':{}}),_0x36add0={};_0x36add0[_0x1895d2(0x59e)+'ay']=_0x40072c,_0x36add0[_0x1895d2(0x512)+_0x1895d2(0x58e)]=_0x4d231a;const _0x21458d={};_0x21458d['ma_bp']=_0x243583||_0x1895d2(0x219)+'công\x20'+_0x1895d2(0x519)+_0x1895d2(0x30e)+'an';const _0xd545e={};return _0xd545e[_0x1895d2(0x4b7)+'s']=_0x1895d2(0x45f)+'ss',_0xd545e['is_su'+_0x1895d2(0x311)+_0x1895d2(0x155)]=!![],_0xd545e[_0x1895d2(0x166)+'d']=_0x36add0,_0xd545e['filte'+'r']=_0x21458d,_0xd545e[_0x1895d2(0x19a)]=_0x16272a,_0xd545e[_0x1895d2(0x583)]=_0x1895d2(0x162)+'u\x20ý:\x20'+_0x1895d2(0x474)+_0x1895d2(0x16d)+_0x1895d2(0xc5)+_0x1895d2(0x462)+_0x1895d2(0x274)+'út\x20gọ'+_0x1895d2(0x56e)+'\x20tập\x20'+'thể\x20n'+_0x1895d2(0x3bc)+_0x1895d2(0x221)+'y\x20dùn'+'g\x20các'+'\x20số\x20t'+_0x1895d2(0x460)+_0x1895d2(0x336)+_0x1895d2(0x32d)+_0x1895d2(0x56d)+_0x1895d2(0x486)+_0x1895d2(0x1e9)+_0x1895d2(0xe8),_0xd545e;}return{'status':_0x1895d2(0x45f)+'ss','is_summary_data':![],'total_records':_0x43f3cc['data']['lengt'+'h'],'data':_0x43f3cc[_0x1895d2(0x19a)][_0x1895d2(0x128)](0x0,0x32),'hint':_0x1895d2(0x25c)+_0x1895d2(0x248)+'nh\x20sá'+_0x1895d2(0x171)+_0x1895d2(0x4a7)+_0x1895d2(0x39b)+_0x1895d2(0x3ba)+_0x1895d2(0x209)+_0x1895d2(0x4b2)+_0x1895d2(0x410)+_0x1895d2(0x167)+'ể\x20bảo'+_0x1895d2(0x52d)+_0x1895d2(0x3cf)+_0x1895d2(0x365)+_0x1895d2(0x47e)+_0x1895d2(0x2b4)+_0x1895d2(0x317)+_0x1895d2(0x270)};}catch(_0x3e5e71){return console['error'](_0x1895d2(0x3b5)+'tại\x20g'+_0x1895d2(0x267)+'endan'+_0x1895d2(0x2e1)+_0x1895d2(0x328)+'ol\x20-\x20'+'Bản\x20c'+_0x1895d2(0x23c)+'ật\x20ph'+_0x1895d2(0x2d7)+_0x1895d2(0x251)+_0x1895d2(0x229)+_0x1895d2(0x55f)+']:',_0x3e5e71),{'status':_0x1895d2(0x4c4),'message':_0x1895d2(0xd9)+_0x1895d2(0x407)+'t\x20nối'+_0x1895d2(0x586)+_0x1895d2(0xe5)+_0x1895d2(0x1ee)+_0x1895d2(0x23d)+_0x1895d2(0x213)+(_0x3e5e71[_0x1895d2(0x37f)+'ge']||String(_0x3e5e71))};}}})};}const _0x550a3a={};_0x550a3a['creat'+_0x23a907(0x412)+'nceTo'+_0x23a907(0x23b)]=createFinanceTools,module[_0x23a907(0x192)+'ts']=_0x550a3a;