flexbiz-server 12.7.1 → 12.7.2

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 (884) hide show
  1. package/package.json +5 -5
  2. package/server/app.js +23 -348
  3. package/server/cluster.js +1 -5
  4. package/server/models/account.js +7 -0
  5. package/server/models/actionLog.js +2 -0
  6. package/server/models/afflink.js +2 -0
  7. package/server/models/aimemory.js +1 -0
  8. package/server/models/app.js +16 -0
  9. package/server/models/approve.js +95 -0
  10. package/server/models/assabcihandler.js +35 -0
  11. package/server/models/assbank.js +19 -0
  12. package/server/models/assbooking.js +4 -0
  13. package/server/models/assbuy.js +3 -0
  14. package/server/models/asscashwithdraw.js +4 -0
  15. package/server/models/assfindhash.js +2 -0
  16. package/server/models/assinvestment.js +13 -0
  17. package/server/models/assissue.js +2 -0
  18. package/server/models/asskey.js +15 -0
  19. package/server/models/assneedtobuy.js +6 -0
  20. package/server/models/assperiod.js +7 -0
  21. package/server/models/assproduct.js +13 -0
  22. package/server/models/assprofitsharing.js +4 -0
  23. package/server/models/assreceiver.js +2 -0
  24. package/server/models/assrequest.js +10 -0
  25. package/server/models/asssell.js +7 -0
  26. package/server/models/asstransaction.js +3 -0
  27. package/server/models/asstransfer.js +4 -0
  28. package/server/models/assuser_identity.js +4 -0
  29. package/server/models/asswithdraw.js +4 -0
  30. package/server/models/attend.js +2 -0
  31. package/server/models/banggiaban.js +8 -0
  32. package/server/models/bangtinhluong.js +6 -0
  33. package/server/models/base.js +1 -0
  34. package/server/models/bg1.js +9 -0
  35. package/server/models/bg2.js +10 -0
  36. package/server/models/cache.js +3 -0
  37. package/server/models/cacheDataReport.js +2 -0
  38. package/server/models/cacheSessionReport.js +5 -0
  39. package/server/models/calllog.js +4 -0
  40. package/server/models/cart.js +5 -0
  41. package/server/models/cddiem.js +2 -0
  42. package/server/models/cddt.js +3 -0
  43. package/server/models/cdkh.js +5 -0
  44. package/server/models/cdkhtheongay.js +5 -0
  45. package/server/models/cdnphep.js +2 -0
  46. package/server/models/cdtk.js +3 -0
  47. package/server/models/cdtktheongay.js +3 -0
  48. package/server/models/cdvt.js +5 -0
  49. package/server/models/cdvtnpp.js +6 -0
  50. package/server/models/cdvttheongay.js +5 -0
  51. package/server/models/chamcong.js +7 -0
  52. package/server/models/chat_message.js +2 -0
  53. package/server/models/chat_session.js +2 -0
  54. package/server/models/checkin.js +4 -0
  55. package/server/models/checkinactivity.js +3 -0
  56. package/server/models/checkinkpi.js +4 -0
  57. package/server/models/checkinlocation.js +2 -0
  58. package/server/models/chitietluongds.js +12 -0
  59. package/server/models/chitieukpi.js +3 -0
  60. package/server/models/chudethaoluan.js +3 -0
  61. package/server/models/ckgtluong.js +2 -0
  62. package/server/models/colleague.js +2 -0
  63. package/server/models/comment.js +4 -0
  64. package/server/models/congdoansx.js +4 -0
  65. package/server/models/congtacvien.js +4 -0
  66. package/server/models/congthuctinhgiaban.js +8 -0
  67. package/server/models/consultant.js +4 -0
  68. package/server/models/contract.js +6 -0
  69. package/server/models/counter.js +2 -0
  70. package/server/models/csluongtheods.js +3 -0
  71. package/server/models/csphucap.js +2 -0
  72. package/server/models/ctds.js +5 -0
  73. package/server/models/ctds2.js +7 -0
  74. package/server/models/currency.js +3 -0
  75. package/server/models/custom_report.js +1 -0
  76. package/server/models/customer.js +31 -0
  77. package/server/models/customer_care.js +2 -0
  78. package/server/models/data_list_config.js +7 -0
  79. package/server/models/databanle.js +8 -0
  80. package/server/models/datlich.js +4 -0
  81. package/server/models/deal.js +2 -0
  82. package/server/models/dh2.js +20 -0
  83. package/server/models/diagram.js +2 -0
  84. package/server/models/dinhmucsx.js +8 -0
  85. package/server/models/dkhoc.js +6 -0
  86. package/server/models/dknphep.js +2 -0
  87. package/server/models/dmban.js +4 -0
  88. package/server/models/dmbp.js +12 -0
  89. package/server/models/dmca.js +2 -0
  90. package/server/models/dmchietkhau.js +8 -0
  91. package/server/models/dmchietkhauhd.js +19 -0
  92. package/server/models/dmchinhanh.js +2 -0
  93. package/server/models/dmcpmh.js +2 -0
  94. package/server/models/dmdiemthuong.js +3 -0
  95. package/server/models/dmdoi.js +4 -0
  96. package/server/models/dmdoituongdanhgia.js +2 -0
  97. package/server/models/dmdt.js +8 -0
  98. package/server/models/dmdvt.js +3 -0
  99. package/server/models/dmgiaban.js +9 -0
  100. package/server/models/dmgiamua.js +5 -0
  101. package/server/models/dmgiathitruong.js +5 -0
  102. package/server/models/dmgiathitruong_ngay.js +2 -0
  103. package/server/models/dmgiathitruong_theodoi.js +2 -0
  104. package/server/models/dmhoahonghd.js +8 -0
  105. package/server/models/dmhoahongnpp.js +8 -0
  106. package/server/models/dmkc.js +3 -0
  107. package/server/models/dmkho.js +7 -0
  108. package/server/models/dmkhuyenmai.js +9 -0
  109. package/server/models/dmkhuyenmaihd.js +11 -0
  110. package/server/models/dmletet.js +2 -0
  111. package/server/models/dmlo.js +4 -0
  112. package/server/models/dmloaicong.js +4 -0
  113. package/server/models/dmloaitask.js +2 -0
  114. package/server/models/dmloaits.js +2 -0
  115. package/server/models/dmnckkm.js +4 -0
  116. package/server/models/dmnghiepvu.js +4 -0
  117. package/server/models/dmnguonvon.js +2 -0
  118. package/server/models/dmnhnv.js +4 -0
  119. package/server/models/dmnv.js +17 -0
  120. package/server/models/dmnvt.js +10 -0
  121. package/server/models/dmphi.js +3 -0
  122. package/server/models/dmqct.js +3 -0
  123. package/server/models/dmqddvt.js +3 -0
  124. package/server/models/dmtanggiamts.js +3 -0
  125. package/server/models/dmto.js +4 -0
  126. package/server/models/dmtt.js +6 -0
  127. package/server/models/dmvt.js +17 -0
  128. package/server/models/dmyt.js +4 -0
  129. package/server/models/dn0.js +13 -0
  130. package/server/models/dnm.js +11 -0
  131. package/server/models/dokho.js +2 -0
  132. package/server/models/domain.js +2 -0
  133. package/server/models/dvcs.js +3 -0
  134. package/server/models/ecomcategories.js +3 -0
  135. package/server/models/ecomcategories_cty.js +3 -0
  136. package/server/models/ecomproductlines.js +2 -0
  137. package/server/models/ecompromotion_flashsales.js +2 -0
  138. package/server/models/ecompromotion_freeships.js +2 -0
  139. package/server/models/email.js +2 -0
  140. package/server/models/endpoint.js +1 -0
  141. package/server/models/events.js +3 -0
  142. package/server/models/evoucher.js +5 -0
  143. package/server/models/experiencejourney.js +2 -0
  144. package/server/models/experiencejourneydata.js +4 -0
  145. package/server/models/experiencejourneypersona.js +3 -0
  146. package/server/models/experiencejourneystage.js +2 -0
  147. package/server/models/exportexceltemplate.js +2 -0
  148. package/server/models/fbconversation.js +15 -0
  149. package/server/models/fbmessage.js +2 -0
  150. package/server/models/fbpage.js +2 -0
  151. package/server/models/fbpost.js +2 -0
  152. package/server/models/fieldright.js +2 -0
  153. package/server/models/fifo_dk.js +2 -0
  154. package/server/models/fifo_lot.js +3 -0
  155. package/server/models/fifo_trace.js +4 -0
  156. package/server/models/file.js +4 -0
  157. package/server/models/filechunk.js +2 -0
  158. package/server/models/financialroadmap.js +3 -0
  159. package/server/models/flow.js +2 -0
  160. package/server/models/flowdata.js +3 -0
  161. package/server/models/flowpending.js +2 -0
  162. package/server/models/folder.js +4 -0
  163. package/server/models/follow.js +2 -0
  164. package/server/models/forminfo.js +5 -0
  165. package/server/models/giaoca.js +4 -0
  166. package/server/models/giatb.js +3 -0
  167. package/server/models/group.js +9 -0
  168. package/server/models/gt_ctgt.js +4 -0
  169. package/server/models/gt_hspb.js +3 -0
  170. package/server/models/gt_sltk.js +3 -0
  171. package/server/models/gt_thcppstk.js +3 -0
  172. package/server/models/hanmucton.js +4 -0
  173. package/server/models/hd1.js +11 -0
  174. package/server/models/hd2.js +26 -0
  175. package/server/models/hd3.js +17 -0
  176. package/server/models/hd4.js +13 -0
  177. package/server/models/hd7.js +17 -0
  178. package/server/models/hd8.js +12 -0
  179. package/server/models/hde.js +11 -0
  180. package/server/models/hmcn.js +3 -0
  181. package/server/models/hmcnct.js +2 -0
  182. package/server/models/hspbts.js +4 -0
  183. package/server/models/htl.js +13 -0
  184. package/server/models/importexceltemplate.js +2 -0
  185. package/server/models/introducebonus.js +4 -0
  186. package/server/models/introducecode.js +3 -0
  187. package/server/models/introducer.js +4 -0
  188. package/server/models/kbbtpb.js +7 -0
  189. package/server/models/kbmPttct.js +4 -0
  190. package/server/models/kbmTkgtgt.js +5 -0
  191. package/server/models/kbm_bcdkt_old.js +4 -0
  192. package/server/models/kbm_kqhdkd_old.js +3 -0
  193. package/server/models/kbm_lcttgt_old.js +5 -0
  194. package/server/models/kbm_lctttt_old.js +4 -0
  195. package/server/models/kbm_pttct_old.js +4 -0
  196. package/server/models/kbm_tkgtgt_old.js +5 -0
  197. package/server/models/kbmbcdkt.js +4 -0
  198. package/server/models/kbmbcqt.js +4 -0
  199. package/server/models/kbmkqhdkd.js +3 -0
  200. package/server/models/kbmlcttgt.js +6 -0
  201. package/server/models/kbmlctttt.js +4 -0
  202. package/server/models/kbmtmbctc.js +4 -0
  203. package/server/models/kehoachdtcp.js +3 -0
  204. package/server/models/kehoachmh.js +8 -0
  205. package/server/models/keyresult.js +7 -0
  206. package/server/models/khunghangthanhvien.js +3 -0
  207. package/server/models/label.js +2 -0
  208. package/server/models/labelinfo.js +2 -0
  209. package/server/models/lenhcapphat.js +8 -0
  210. package/server/models/lenhsx.js +8 -0
  211. package/server/models/lienhe.js +4 -0
  212. package/server/models/like_module.js +2 -0
  213. package/server/models/link.js +2 -0
  214. package/server/models/listinfo.js +1365 -0
  215. package/server/models/loaidiem.js +2 -0
  216. package/server/models/lock.js +2 -0
  217. package/server/models/log.js +8 -0
  218. package/server/models/mailaccount.js +3 -0
  219. package/server/models/mailgroup.js +3 -0
  220. package/server/models/mailreceived.js +2 -0
  221. package/server/models/mailsent.js +2 -0
  222. package/server/models/mailtemplate.js +2 -0
  223. package/server/models/maudanhgia.js +2 -0
  224. package/server/models/menuinfo.js +2 -0
  225. package/server/models/message.js +8 -0
  226. package/server/models/message2.js +4 -0
  227. package/server/models/message2setting.js +3 -0
  228. package/server/models/moduleinfo.js +4 -0
  229. package/server/models/momo.js +18 -0
  230. package/server/models/news.js +3 -0
  231. package/server/models/newsfeed.js +4 -0
  232. package/server/models/note.js +2 -0
  233. package/server/models/notification.js +8 -0
  234. package/server/models/okr.js +4 -0
  235. package/server/models/okrdiagram.js +3 -0
  236. package/server/models/onepay.js +24 -0
  237. package/server/models/opportunity.js +4 -0
  238. package/server/models/options.js +2 -0
  239. package/server/models/originimportid.js +1 -0
  240. package/server/models/otp.js +1 -0
  241. package/server/models/parameter.js +2 -0
  242. package/server/models/participant.js +21 -0
  243. package/server/models/partner.js +1 -0
  244. package/server/models/payload.js +1 -0
  245. package/server/models/pbl.js +16 -0
  246. package/server/models/pc0.js +13 -0
  247. package/server/models/pc1.js +14 -0
  248. package/server/models/pc2.js +13 -0
  249. package/server/models/pc3.js +13 -0
  250. package/server/models/pc5.js +8 -0
  251. package/server/models/pc6.js +14 -0
  252. package/server/models/pcl.js +6 -0
  253. package/server/models/pdn.js +9 -0
  254. package/server/models/pdx.js +9 -0
  255. package/server/models/pgh.js +5 -0
  256. package/server/models/phieudanhgia.js +3 -0
  257. package/server/models/pht.js +8 -0
  258. package/server/models/phucap.js +4 -0
  259. package/server/models/pkc.js +6 -0
  260. package/server/models/pkh.js +6 -0
  261. package/server/models/pkk.js +10 -0
  262. package/server/models/pkt.js +12 -0
  263. package/server/models/pn1.js +18 -0
  264. package/server/models/pn2.js +12 -0
  265. package/server/models/pn3.js +13 -0
  266. package/server/models/pn5.js +14 -0
  267. package/server/models/pn6.js +14 -0
  268. package/server/models/pn9.js +17 -0
  269. package/server/models/pnc.js +9 -0
  270. package/server/models/pnh.js +11 -0
  271. package/server/models/pnk.js +10 -0
  272. package/server/models/po1.js +19 -0
  273. package/server/models/ppb.js +6 -0
  274. package/server/models/productcode.js +2 -0
  275. package/server/models/profile.js +4 -0
  276. package/server/models/pt1.js +12 -0
  277. package/server/models/pt5.js +8 -0
  278. package/server/models/ptl.js +5 -0
  279. package/server/models/ptthanhtoan.js +6 -0
  280. package/server/models/purchase_contract.js +17 -0
  281. package/server/models/pxc.js +9 -0
  282. package/server/models/pxh.js +11 -0
  283. package/server/models/pxk.js +9 -0
  284. package/server/models/qts.js +14 -0
  285. package/server/models/qts_dieuchinh.js +3 -0
  286. package/server/models/qts_dieuchuyen.js +4 -0
  287. package/server/models/quanhuyen.js +2 -0
  288. package/server/models/reason.js +2 -0
  289. package/server/models/receivedinvoice.js +2 -0
  290. package/server/models/reportinfo.js +5 -0
  291. package/server/models/right.js +4 -0
  292. package/server/models/rpt.js +2 -0
  293. package/server/models/rptform.js +3 -0
  294. package/server/models/rptobject.js +2 -0
  295. package/server/models/sale_contract.js +9 -0
  296. package/server/models/schedule.js +18 -0
  297. package/server/models/schedule_log.js +2 -0
  298. package/server/models/shipbook.js +12 -0
  299. package/server/models/shortcut.js +2 -0
  300. package/server/models/smsaccount.js +10 -0
  301. package/server/models/smssend.js +2 -0
  302. package/server/models/so1.js +22 -0
  303. package/server/models/so5.js +15 -0
  304. package/server/models/so9.js +19 -0
  305. package/server/models/socai.js +28 -0
  306. package/server/models/socainpp.js +18 -0
  307. package/server/models/socaitc.js +6 -0
  308. package/server/models/socaitmp.js +16 -0
  309. package/server/models/socaitt.js +4 -0
  310. package/server/models/sodiemthuong.js +4 -0
  311. package/server/models/sokho.js +27 -0
  312. package/server/models/sokhocapphat.js +18 -0
  313. package/server/models/sokhokhongton.js +19 -0
  314. package/server/models/sokhonpp.js +19 -0
  315. package/server/models/sokhotc.js +8 -0
  316. package/server/models/sokhott.js +18 -0
  317. package/server/models/sophanbokh.js +3 -0
  318. package/server/models/sosanxuat.js +5 -0
  319. package/server/models/sotinhkh.js +2 -0
  320. package/server/models/spdd_ck.js +3 -0
  321. package/server/models/spdd_dk.js +3 -0
  322. package/server/models/step.js +2 -0
  323. package/server/models/strategicdiagram.js +3 -0
  324. package/server/models/strategicgoal.js +4 -0
  325. package/server/models/strategickpi.js +6 -0
  326. package/server/models/strategicobjective.js +5 -0
  327. package/server/models/strategicplan.js +5 -0
  328. package/server/models/subscribe.js +2 -0
  329. package/server/models/support.js +2 -0
  330. package/server/models/synctime.js +2 -0
  331. package/server/models/sys_job_queue_book_keeping.js +2 -0
  332. package/server/models/sysconfig.js +2 -0
  333. package/server/models/sysgroup.js +2 -0
  334. package/server/models/tableinfo.js +3 -0
  335. package/server/models/task.js +9 -0
  336. package/server/models/tc.js +2 -0
  337. package/server/models/tdttco.js +9 -0
  338. package/server/models/tdttco_tt.js +5 -0
  339. package/server/models/tdttno.js +9 -0
  340. package/server/models/tdttno_tt.js +5 -0
  341. package/server/models/templaterpt.js +2 -0
  342. package/server/models/templatestore.js +3 -0
  343. package/server/models/templatevoucher.js +3 -0
  344. package/server/models/tinhthanh.js +2 -0
  345. package/server/models/tokens.js +3 -0
  346. package/server/models/tontucthoi.js +9 -0
  347. package/server/models/trangthai.js +4 -0
  348. package/server/models/trangthaiapp.js +4 -0
  349. package/server/models/transaction.js +16 -0
  350. package/server/models/trialinfo.js +2 -0
  351. package/server/models/user.js +40 -0
  352. package/server/models/usergroup.js +7 -0
  353. package/server/models/vanchuyen.js +12 -0
  354. package/server/models/vat.js +3 -0
  355. package/server/models/vatra.js +6 -0
  356. package/server/models/vatvao.js +6 -0
  357. package/server/models/versioninfo.js +2 -0
  358. package/server/models/vietqrbanks.js +2 -0
  359. package/server/models/vsocai.js +6 -0
  360. package/server/models/wallet.js +8 -0
  361. package/server/models/warranty.js +3 -0
  362. package/server/models/warrantyclaim.js +2 -0
  363. package/server/models/warrantypolicy.js +1 -0
  364. package/server/models/workflow.js +4 -0
  365. package/server/models/xaphuong.js +2 -0
  366. package/server/models/xhd.js +10 -0
  367. package/server/models/ytdd_ck.js +4 -0
  368. package/server/models/ytdd_dk.js +4 -0
  369. package/server/models/zalo.js +17 -0
  370. package/server/modules/lists/bg-cddiem.js +6 -0
  371. package/server/modules/lists/bg-cddt.js +7 -0
  372. package/server/modules/lists/bg-cdkh.js +11 -0
  373. package/server/modules/lists/bg-cdnphep.js +6 -0
  374. package/server/modules/lists/bg-cdtk.js +9 -0
  375. package/server/modules/lists/bg-cdvt.js +8 -0
  376. package/server/modules/lists/bg-cdvtnpp.js +8 -0
  377. package/server/modules/lists/bg-fifo_dk.js +8 -0
  378. package/server/modules/lists/ls-account.js +4 -0
  379. package/server/modules/lists/ls-afflink.js +3 -0
  380. package/server/modules/lists/ls-approve.js +5 -0
  381. package/server/modules/lists/ls-assabcihandler.js +3 -0
  382. package/server/modules/lists/ls-assbank.js +3 -0
  383. package/server/modules/lists/ls-assbooking.js +20 -0
  384. package/server/modules/lists/ls-assbuy.js +8 -0
  385. package/server/modules/lists/ls-asscashwithdraw.js +8 -0
  386. package/server/modules/lists/ls-assinvestment.js +31 -0
  387. package/server/modules/lists/ls-assissue.js +3 -0
  388. package/server/modules/lists/ls-asskey.js +41 -0
  389. package/server/modules/lists/ls-assneedtobuy.js +10 -0
  390. package/server/modules/lists/ls-assperiod.js +19 -0
  391. package/server/modules/lists/ls-assproduct.js +9 -0
  392. package/server/modules/lists/ls-assprofitsharing.js +8 -0
  393. package/server/modules/lists/ls-assreceiver.js +3 -0
  394. package/server/modules/lists/ls-assrequest.js +4 -0
  395. package/server/modules/lists/ls-asssell.js +13 -0
  396. package/server/modules/lists/ls-asstransaction.js +3 -0
  397. package/server/modules/lists/ls-asstransfer.js +3 -0
  398. package/server/modules/lists/ls-assuser_identity.js +1 -0
  399. package/server/modules/lists/ls-asswithdraw.js +12 -0
  400. package/server/modules/lists/ls-bangtinhluong.js +2 -0
  401. package/server/modules/lists/ls-calllog.js +4 -0
  402. package/server/modules/lists/ls-cart.js +14 -0
  403. package/server/modules/lists/ls-chamcong.js +3 -0
  404. package/server/modules/lists/ls-chat_session.js +5 -0
  405. package/server/modules/lists/ls-checkin.js +24 -0
  406. package/server/modules/lists/ls-checkinactivity.js +8 -0
  407. package/server/modules/lists/ls-checkinkpi.js +3 -0
  408. package/server/modules/lists/ls-checkinlocation.js +1 -0
  409. package/server/modules/lists/ls-chitietluongds.js +4 -0
  410. package/server/modules/lists/ls-chitieukpi.js +1 -0
  411. package/server/modules/lists/ls-chudethaoluan.js +1 -0
  412. package/server/modules/lists/ls-ckgtluong.js +1 -0
  413. package/server/modules/lists/ls-comment.js +9 -0
  414. package/server/modules/lists/ls-congdoansx.js +3 -0
  415. package/server/modules/lists/ls-congtacvien.js +5 -0
  416. package/server/modules/lists/ls-consultant.js +2 -0
  417. package/server/modules/lists/ls-contract.js +7 -0
  418. package/server/modules/lists/ls-csluongtheods.js +1 -0
  419. package/server/modules/lists/ls-csphucap.js +1 -0
  420. package/server/modules/lists/ls-ctds.js +4 -0
  421. package/server/modules/lists/ls-ctds2.js +4 -0
  422. package/server/modules/lists/ls-currency.js +1 -0
  423. package/server/modules/lists/ls-customer.js +22 -0
  424. package/server/modules/lists/ls-customer_care.js +1 -0
  425. package/server/modules/lists/ls-datlich.js +9 -0
  426. package/server/modules/lists/ls-dckhauhaots.js +3 -0
  427. package/server/modules/lists/ls-deal.js +3 -0
  428. package/server/modules/lists/ls-diagram.js +1 -0
  429. package/server/modules/lists/ls-dkhoc.js +6 -0
  430. package/server/modules/lists/ls-dknphep.js +1 -0
  431. package/server/modules/lists/ls-dmban.js +4 -0
  432. package/server/modules/lists/ls-dmbp.js +7 -0
  433. package/server/modules/lists/ls-dmca.js +1 -0
  434. package/server/modules/lists/ls-dmchietkhau.js +19 -0
  435. package/server/modules/lists/ls-dmchietkhauhd.js +4 -0
  436. package/server/modules/lists/ls-dmchinhanh.js +1 -0
  437. package/server/modules/lists/ls-dmchucvu.js +2 -0
  438. package/server/modules/lists/ls-dmcpmh.js +1 -0
  439. package/server/modules/lists/ls-dmdiemthuong.js +4 -0
  440. package/server/modules/lists/ls-dmdoi.js +4 -0
  441. package/server/modules/lists/ls-dmdoituongdanhgia.js +1 -0
  442. package/server/modules/lists/ls-dmdt.js +11 -0
  443. package/server/modules/lists/ls-dmdvt.js +2 -0
  444. package/server/modules/lists/ls-dmgiaban.js +4 -0
  445. package/server/modules/lists/ls-dmgiamua.js +4 -0
  446. package/server/modules/lists/ls-dmgiathitruong.js +15 -0
  447. package/server/modules/lists/ls-dmgiathitruong_ngay.js +2 -0
  448. package/server/modules/lists/ls-dmgiathitruong_theodoi.js +1 -0
  449. package/server/modules/lists/ls-dmhoahonghd.js +1 -0
  450. package/server/modules/lists/ls-dmhoahongnpp.js +1 -0
  451. package/server/modules/lists/ls-dmkc.js +3 -0
  452. package/server/modules/lists/ls-dmkho.js +7 -0
  453. package/server/modules/lists/ls-dmkhuyenmai.js +5 -0
  454. package/server/modules/lists/ls-dmkhuyenmaihd.js +3 -0
  455. package/server/modules/lists/ls-dmletet.js +1 -0
  456. package/server/modules/lists/ls-dmlo.js +1 -0
  457. package/server/modules/lists/ls-dmloaicong.js +1 -0
  458. package/server/modules/lists/ls-dmloaits.js +1 -0
  459. package/server/modules/lists/ls-dmnckkm.js +7 -0
  460. package/server/modules/lists/ls-dmnghiepvu.js +1 -0
  461. package/server/modules/lists/ls-dmnguonvon.js +1 -0
  462. package/server/modules/lists/ls-dmnhnv.js +6 -0
  463. package/server/modules/lists/ls-dmnhtask.js +5 -0
  464. package/server/modules/lists/ls-dmnkh.js +6 -0
  465. package/server/modules/lists/ls-dmntt.js +6 -0
  466. package/server/modules/lists/ls-dmnv.js +14 -0
  467. package/server/modules/lists/ls-dmnvt.js +7 -0
  468. package/server/modules/lists/ls-dmphi.js +6 -0
  469. package/server/modules/lists/ls-dmqct.js +2 -0
  470. package/server/modules/lists/ls-dmqddvt.js +3 -0
  471. package/server/modules/lists/ls-dmtanggiamts.js +1 -0
  472. package/server/modules/lists/ls-dmto.js +5 -0
  473. package/server/modules/lists/ls-dmtt.js +7 -0
  474. package/server/modules/lists/ls-dmvt.js +52 -0
  475. package/server/modules/lists/ls-dmyt.js +1 -0
  476. package/server/modules/lists/ls-dokho.js +1 -0
  477. package/server/modules/lists/ls-dvcs.js +1 -0
  478. package/server/modules/lists/ls-ecomcategories.js +5 -0
  479. package/server/modules/lists/ls-ecomcategories_cty.js +5 -0
  480. package/server/modules/lists/ls-email.js +4 -0
  481. package/server/modules/lists/ls-events.js +3 -0
  482. package/server/modules/lists/ls-evoucher.js +3 -0
  483. package/server/modules/lists/ls-experiencejourney.js +1 -0
  484. package/server/modules/lists/ls-experiencejourneydata.js +3 -0
  485. package/server/modules/lists/ls-experiencejourneypersona.js +4 -0
  486. package/server/modules/lists/ls-experiencejourneystage.js +1 -0
  487. package/server/modules/lists/ls-fbconversation.js +2 -0
  488. package/server/modules/lists/ls-fbmessage.js +2 -0
  489. package/server/modules/lists/ls-fbpage.js +11 -0
  490. package/server/modules/lists/ls-fbpost.js +2 -0
  491. package/server/modules/lists/ls-file.js +38 -0
  492. package/server/modules/lists/ls-financialroadmap.js +3 -0
  493. package/server/modules/lists/ls-flow.js +6 -0
  494. package/server/modules/lists/ls-flowdata.js +1 -0
  495. package/server/modules/lists/ls-flowpending.js +3 -0
  496. package/server/modules/lists/ls-folder.js +1 -0
  497. package/server/modules/lists/ls-forminfo.js +1 -0
  498. package/server/modules/lists/ls-giaoca.js +5 -0
  499. package/server/modules/lists/ls-group.js +5 -0
  500. package/server/modules/lists/ls-hmcn.js +2 -0
  501. package/server/modules/lists/ls-hspbts.js +3 -0
  502. package/server/modules/lists/ls-introducebonus.js +4 -0
  503. package/server/modules/lists/ls-introducecode.js +10 -0
  504. package/server/modules/lists/ls-introducer.js +21 -0
  505. package/server/modules/lists/ls-kbm-bcdkt.js +1 -0
  506. package/server/modules/lists/ls-kbm-bcqt.js +5 -0
  507. package/server/modules/lists/ls-kbm-kqhdkd.js +1 -0
  508. package/server/modules/lists/ls-kbm-lcttgt.js +1 -0
  509. package/server/modules/lists/ls-kbm-lctttt.js +1 -0
  510. package/server/modules/lists/ls-kbm-pttct.js +3 -0
  511. package/server/modules/lists/ls-kbm-tkgtgt.js +3 -0
  512. package/server/modules/lists/ls-kbm-tmbctc.js +3 -0
  513. package/server/modules/lists/ls-kehoachdtcp.js +4 -0
  514. package/server/modules/lists/ls-keyresult.js +7 -0
  515. package/server/modules/lists/ls-khunghangthanhvien.js +1 -0
  516. package/server/modules/lists/ls-label.js +1 -0
  517. package/server/modules/lists/ls-lienhe.js +4 -0
  518. package/server/modules/lists/ls-like-module.js +1 -0
  519. package/server/modules/lists/ls-link.js +1 -0
  520. package/server/modules/lists/ls-loaidiem.js +1 -0
  521. package/server/modules/lists/ls-lock.js +1 -0
  522. package/server/modules/lists/ls-log.js +3 -0
  523. package/server/modules/lists/ls-mailaccount.js +5 -0
  524. package/server/modules/lists/ls-mailreceived.js +5 -0
  525. package/server/modules/lists/ls-mailsent.js +4 -0
  526. package/server/modules/lists/ls-mailtemplate.js +4 -0
  527. package/server/modules/lists/ls-maudanhgia.js +3 -0
  528. package/server/modules/lists/ls-message2.js +8 -0
  529. package/server/modules/lists/ls-message2setting.js +5 -0
  530. package/server/modules/lists/ls-news.js +7 -0
  531. package/server/modules/lists/ls-newsfeed.js +4 -0
  532. package/server/modules/lists/ls-note.js +6 -0
  533. package/server/modules/lists/ls-okr.js +5 -0
  534. package/server/modules/lists/ls-okrdiagram.js +1 -0
  535. package/server/modules/lists/ls-opportunity.js +5 -0
  536. package/server/modules/lists/ls-options.js +4 -0
  537. package/server/modules/lists/ls-parameter.js +3 -0
  538. package/server/modules/lists/ls-participant.js +12 -0
  539. package/server/modules/lists/ls-phieudanhgia.js +7 -0
  540. package/server/modules/lists/ls-phucap.js +2 -0
  541. package/server/modules/lists/ls-productcode.js +9 -0
  542. package/server/modules/lists/ls-profile.js +1 -0
  543. package/server/modules/lists/ls-ptthanhtoan.js +3 -0
  544. package/server/modules/lists/ls-qts-dieuchinh.js +2 -0
  545. package/server/modules/lists/ls-qts-dieuchuyen.js +8 -0
  546. package/server/modules/lists/ls-reason.js +1 -0
  547. package/server/modules/lists/ls-rpt.js +5 -0
  548. package/server/modules/lists/ls-rptform.js +3 -0
  549. package/server/modules/lists/ls-shortcut.js +1 -0
  550. package/server/modules/lists/ls-smsaccount.js +1 -0
  551. package/server/modules/lists/ls-smssend.js +3 -0
  552. package/server/modules/lists/ls-sosanxuat.js +4 -0
  553. package/server/modules/lists/ls-step.js +1 -0
  554. package/server/modules/lists/ls-strategicdiagram.js +1 -0
  555. package/server/modules/lists/ls-strategicgoal.js +3 -0
  556. package/server/modules/lists/ls-strategickpi.js +7 -0
  557. package/server/modules/lists/ls-strategicobjective.js +3 -0
  558. package/server/modules/lists/ls-strategicplan.js +6 -0
  559. package/server/modules/lists/ls-support.js +3 -0
  560. package/server/modules/lists/ls-task.js +28 -0
  561. package/server/modules/lists/ls-tc.js +1 -0
  562. package/server/modules/lists/ls-templaterpt.js +5 -0
  563. package/server/modules/lists/ls-templatevoucher.js +1 -0
  564. package/server/modules/lists/ls-tontucthoi.js +3 -0
  565. package/server/modules/lists/ls-trangthaiapp.js +3 -0
  566. package/server/modules/lists/ls-transaction.js +4 -0
  567. package/server/modules/lists/ls-usergroup.js +7 -0
  568. package/server/modules/lists/ls-vat.js +1 -0
  569. package/server/modules/lists/ls-vatra.js +5 -0
  570. package/server/modules/lists/ls-vatvao.js +6 -0
  571. package/server/modules/lists/ls-warranty.js +3 -0
  572. package/server/modules/lists/ls-workflow.js +1 -0
  573. package/server/modules/lists/ls_hanmucton.js +3 -0
  574. package/server/modules/lists/ls_hspb.js +4 -0
  575. package/server/modules/lists/ls_spdd_ck.js +3 -0
  576. package/server/modules/lists/ls_spdd_dk.js +3 -0
  577. package/server/modules/lists/ls_ytdd_ck.js +4 -0
  578. package/server/modules/lists/ls_ytdd_dk.js +4 -0
  579. package/server/modules/lists/sys-attend.js +4 -0
  580. package/server/modules/lists/sys-follow.js +4 -0
  581. package/server/modules/lists/sys-right.js +2 -0
  582. package/server/modules/public/app.js +4 -0
  583. package/server/modules/public/approve.js +37 -0
  584. package/server/modules/public/callin.js +7 -0
  585. package/server/modules/public/comment.js +5 -0
  586. package/server/modules/public/dmnvt.js +4 -0
  587. package/server/modules/public/dmvt.js +9 -0
  588. package/server/modules/public/file.js +11 -0
  589. package/server/modules/public/forminfo.js +1 -0
  590. package/server/modules/public/group.js +4 -0
  591. package/server/modules/public/introducecode.js +1 -0
  592. package/server/modules/public/listinfo.js +1 -0
  593. package/server/modules/public/media-webhook.js +1 -0
  594. package/server/modules/public/partner.js +1 -0
  595. package/server/modules/public/paymentCallback.js +32 -0
  596. package/server/modules/public/province.js +1 -0
  597. package/server/modules/public/ptthanhtoan.js +4 -0
  598. package/server/modules/public/subscribe.js +30 -0
  599. package/server/modules/public/support.js +3 -0
  600. package/server/modules/public/tableinfo.js +1 -0
  601. package/server/modules/public/trialinfo.js +4 -0
  602. package/server/modules/public/versioninfo.js +1 -0
  603. package/server/modules/reports/calc-tinhgiafifo.js +8 -0
  604. package/server/modules/reports/calc-tinhgiatb.js +7 -0
  605. package/server/modules/reports/calc-tinhgiathanh.js +7 -0
  606. package/server/modules/reports/calc-tinhkhauhaots.js +3 -0
  607. package/server/modules/reports/calc-tinhluong.js +68 -0
  608. package/server/modules/reports/rp-analyzedata.js +6 -0
  609. package/server/modules/reports/rp-assbonus.js +4 -0
  610. package/server/modules/reports/rp-assinterest.js +8 -0
  611. package/server/modules/reports/rp-assproductowners.js +3 -0
  612. package/server/modules/reports/rp-asssupply.js +1 -0
  613. package/server/modules/reports/rp-asstransferlog.js +10 -0
  614. package/server/modules/reports/rp-backup.js +4 -0
  615. package/server/modules/reports/rp-banggiatb.js +3 -0
  616. package/server/modules/reports/rp-bangtinhkhauhao.js +6 -0
  617. package/server/modules/reports/rp-baoCaoFifoKy.js +1 -0
  618. package/server/modules/reports/rp-baocaokhachhang.js +6 -0
  619. package/server/modules/reports/rp-bcdkt.js +11 -0
  620. package/server/modules/reports/rp-bcintroducebonus.js +4 -0
  621. package/server/modules/reports/rp-bckhtiemnang.js +3 -0
  622. package/server/modules/reports/rp-bcqt.js +85 -0
  623. package/server/modules/reports/rp-bkchamcong.js +5 -0
  624. package/server/modules/reports/rp-bkct.js +13 -0
  625. package/server/modules/reports/rp-bkshipbook.js +8 -0
  626. package/server/modules/reports/rp-bkvanchuyen.js +8 -0
  627. package/server/modules/reports/rp-bkvatra.js +7 -0
  628. package/server/modules/reports/rp-bkvatvao.js +7 -0
  629. package/server/modules/reports/rp-capnhatsocaitc.js +4 -0
  630. package/server/modules/reports/rp-cdpsdiem.js +4 -0
  631. package/server/modules/reports/rp-cdpsdt.js +5 -0
  632. package/server/modules/reports/rp-cdpskh.js +8 -0
  633. package/server/modules/reports/rp-cdpsnphep.js +3 -0
  634. package/server/modules/reports/rp-cdpstk.js +4 -0
  635. package/server/modules/reports/rp-chitietchitientheohoadon.js +12 -0
  636. package/server/modules/reports/rp-chitiettaisan.js +13 -0
  637. package/server/modules/reports/rp-chitietthutientheohoadon.js +13 -0
  638. package/server/modules/reports/rp-ckcn.js +3 -0
  639. package/server/modules/reports/rp-ckdiem.js +2 -0
  640. package/server/modules/reports/rp-cktk.js +3 -0
  641. package/server/modules/reports/rp-ckvt.js +10 -0
  642. package/server/modules/reports/rp-ckvttheokho.js +4 -0
  643. package/server/modules/reports/rp-ckvttheotg.js +4 -0
  644. package/server/modules/reports/rp-ckvttt.js +3 -0
  645. package/server/modules/reports/rp-congnophaithutheotuoino.js +3 -0
  646. package/server/modules/reports/rp-congnophaitratheotuoino.js +3 -0
  647. package/server/modules/reports/rp-congnosapthu.js +4 -0
  648. package/server/modules/reports/rp-congnosaptra.js +4 -0
  649. package/server/modules/reports/rp-congviectheobp.js +9 -0
  650. package/server/modules/reports/rp-congviectheodt.js +8 -0
  651. package/server/modules/reports/rp-congviectheokh.js +8 -0
  652. package/server/modules/reports/rp-congviectheonv.js +9 -0
  653. package/server/modules/reports/rp-congviectheotimeline.js +6 -0
  654. package/server/modules/reports/rp-ctbanle.js +15 -0
  655. package/server/modules/reports/rp-ctbanle2.js +20 -0
  656. package/server/modules/reports/rp-ctbanlectv.js +20 -0
  657. package/server/modules/reports/rp-ctbanlenpp.js +24 -0
  658. package/server/modules/reports/rp-ctdanhgianhanvien.js +8 -0
  659. package/server/modules/reports/rp-cthangbanbitralai.js +4 -0
  660. package/server/modules/reports/rp-ctmuahang.js +7 -0
  661. package/server/modules/reports/rp-cttralaihang.js +4 -0
  662. package/server/modules/reports/rp-databanle.js +10 -0
  663. package/server/modules/reports/rp-diemthuong.js +2 -0
  664. package/server/modules/reports/rp-dkcn.js +3 -0
  665. package/server/modules/reports/rp-dktk.js +2 -0
  666. package/server/modules/reports/rp-dsnhanviencm.js +9 -0
  667. package/server/modules/reports/rp-dsnhanvientb.js +9 -0
  668. package/server/modules/reports/rp-dtbanlekempk.js +12 -0
  669. package/server/modules/reports/rp-dtbanletheoct.js +22 -0
  670. package/server/modules/reports/rp-dtbanletheoctkempk.js +25 -0
  671. package/server/modules/reports/rp-dtbanletheokh.js +17 -0
  672. package/server/modules/reports/rp-dtbanletheokhnpp.js +19 -0
  673. package/server/modules/reports/rp-dtbanletheokho.js +15 -0
  674. package/server/modules/reports/rp-dtbanletheonam.js +3 -0
  675. package/server/modules/reports/rp-dtbanletheongay.js +1 -0
  676. package/server/modules/reports/rp-dtbanletheonpp.js +23 -0
  677. package/server/modules/reports/rp-dtbanletheonv.js +19 -0
  678. package/server/modules/reports/rp-dtbanletheoquy.js +3 -0
  679. package/server/modules/reports/rp-dtbanletheosp.js +9 -0
  680. package/server/modules/reports/rp-dtbanletheospnpp.js +6 -0
  681. package/server/modules/reports/rp-dtbanletheothang.js +3 -0
  682. package/server/modules/reports/rp-dtbanletheothungan.js +12 -0
  683. package/server/modules/reports/rp-dtbanletheovt.js +2 -0
  684. package/server/modules/reports/rp-dtbanletheovtnpp.js +2 -0
  685. package/server/modules/reports/rp-dutoanthuchitheodt.js +4 -0
  686. package/server/modules/reports/rp-getPXC2PNC.js +8 -0
  687. package/server/modules/reports/rp-getariseofaccountsbymonth.js +4 -0
  688. package/server/modules/reports/rp-getbtpb.js +6 -0
  689. package/server/modules/reports/rp-getcashbycashier.js +7 -0
  690. package/server/modules/reports/rp-getcschietkhau.js +5 -0
  691. package/server/modules/reports/rp-getdinhmuc4lenhcp.js +7 -0
  692. package/server/modules/reports/rp-getdinhmuc4pxk.js +9 -0
  693. package/server/modules/reports/rp-getdk4pht.js +8 -0
  694. package/server/modules/reports/rp-getdk4pkc.js +10 -0
  695. package/server/modules/reports/rp-getdttheoca.js +5 -0
  696. package/server/modules/reports/rp-getinvoice2pay.js +4 -0
  697. package/server/modules/reports/rp-getinvoice2receive.js +4 -0
  698. package/server/modules/reports/rp-getinvoice2return.js +5 -0
  699. package/server/modules/reports/rp-getinvoice2return_bl.js +6 -0
  700. package/server/modules/reports/rp-getkehoachmh4lenhcp.js +4 -0
  701. package/server/modules/reports/rp-getkhauhao.js +7 -0
  702. package/server/modules/reports/rp-getluong.js +8 -0
  703. package/server/modules/reports/rp-getluongchuyen.js +5 -0
  704. package/server/modules/reports/rp-getpn2fee.js +5 -0
  705. package/server/modules/reports/rp-getpn2return.js +5 -0
  706. package/server/modules/reports/rp-getthanhpham4pnk.js +7 -0
  707. package/server/modules/reports/rp-getvc2xhd.js +11 -0
  708. package/server/modules/reports/rp-gt_cpnvltt.js +6 -0
  709. package/server/modules/reports/rp-hangbanbitralai.js +5 -0
  710. package/server/modules/reports/rp-hangthanhvien.js +3 -0
  711. package/server/modules/reports/rp-hoadonbanhangtheohantt.js +5 -0
  712. package/server/modules/reports/rp-hoadonmuahangtheohantt.js +5 -0
  713. package/server/modules/reports/rp-hoahong.js +15 -0
  714. package/server/modules/reports/rp-kcsns.js +19 -0
  715. package/server/modules/reports/rp-kgchamcong.js +1 -0
  716. package/server/modules/reports/rp-khoaso.js +11 -0
  717. package/server/modules/reports/rp-kiemtrasocaitcvssocai.js +6 -0
  718. package/server/modules/reports/rp-kqdanhgianhanvien.js +5 -0
  719. package/server/modules/reports/rp-kqhdkd.js +1 -0
  720. package/server/modules/reports/rp-lcttgt.js +16 -0
  721. package/server/modules/reports/rp-lctttt.js +11 -0
  722. package/server/modules/reports/rp-linkslist.js +4 -0
  723. package/server/modules/reports/rp-phanbochitienchohoadon.js +11 -0
  724. package/server/modules/reports/rp-phanbothutienchohoadon.js +11 -0
  725. package/server/modules/reports/rp-ptbitralai.js +7 -0
  726. package/server/modules/reports/rp-ptcttct.js +24 -0
  727. package/server/modules/reports/rp-ptdonhang.js +8 -0
  728. package/server/modules/reports/rp-pttct.js +52 -0
  729. package/server/modules/reports/rp-pttctkho.js +32 -0
  730. package/server/modules/reports/rp-pttctkho2.js +29 -0
  731. package/server/modules/reports/rp-referredusers.js +5 -0
  732. package/server/modules/reports/rp-sctbhxh.js +4 -0
  733. package/server/modules/reports/rp-sctcnkh.js +11 -0
  734. package/server/modules/reports/rp-sctdiem.js +3 -0
  735. package/server/modules/reports/rp-sctdt.js +7 -0
  736. package/server/modules/reports/rp-sctdtcp.js +11 -0
  737. package/server/modules/reports/rp-sctluong.js +6 -0
  738. package/server/modules/reports/rp-sctthuetncn.js +4 -0
  739. package/server/modules/reports/rp-scttk.js +9 -0
  740. package/server/modules/reports/rp-sctvt.js +5 -0
  741. package/server/modules/reports/rp-sctvt_sl.js +5 -0
  742. package/server/modules/reports/rp-sctvtnpp.js +6 -0
  743. package/server/modules/reports/rp-sctvttt.js +5 -0
  744. package/server/modules/reports/rp-search.js +4 -0
  745. package/server/modules/reports/rp-socai.js +6 -0
  746. package/server/modules/reports/rp-socaitk.js +1 -0
  747. package/server/modules/reports/rp-sochut.js +7 -0
  748. package/server/modules/reports/rp-sokho.js +7 -0
  749. package/server/modules/reports/rp-sokhott.js +5 -0
  750. package/server/modules/reports/rp-sonkbh.js +5 -0
  751. package/server/modules/reports/rp-sonkc.js +6 -0
  752. package/server/modules/reports/rp-sonkct.js +5 -0
  753. package/server/modules/reports/rp-sonkmh.js +5 -0
  754. package/server/modules/reports/rp-sonktt.js +5 -0
  755. package/server/modules/reports/rp-soquy.js +11 -0
  756. package/server/modules/reports/rp-sosanhkhvatt.js +13 -0
  757. package/server/modules/reports/rp-sosanhkhvatt2.js +5 -0
  758. package/server/modules/reports/rp-sotaisan.js +13 -0
  759. package/server/modules/reports/rp-sotiengui.js +7 -0
  760. package/server/modules/reports/rp-taodinhmuctudkhoc.js +5 -0
  761. package/server/modules/reports/rp-thbanhangkempk.js +28 -0
  762. package/server/modules/reports/rp-thdanhgianhanvien.js +9 -0
  763. package/server/modules/reports/rp-thgt.js +6 -0
  764. package/server/modules/reports/rp-thnxt.js +11 -0
  765. package/server/modules/reports/rp-thnxt_sl.js +9 -0
  766. package/server/modules/reports/rp-thnxtnpp.js +10 -0
  767. package/server/modules/reports/rp-thnxttt.js +9 -0
  768. package/server/modules/reports/rp-tkbanhangtheogioithieu.js +9 -0
  769. package/server/modules/reports/rp-tkgioithieukh.js +4 -0
  770. package/server/modules/reports/rp-tkgtgt.js +76 -0
  771. package/server/modules/reports/rp-tkgtgt_old.js +7 -0
  772. package/server/modules/reports/rp-tmbctc.js +20 -0
  773. package/server/modules/reports/rp-tonghopbanhang.js +6 -0
  774. package/server/modules/reports/rp-tonghopmuahang.js +5 -0
  775. package/server/modules/reports/rp-tonghoptralaihang.js +5 -0
  776. package/server/modules/reports/rp-tongquanbanle.js +20 -0
  777. package/server/modules/reports/rp-tongquanbds.js +3 -0
  778. package/server/modules/reports/rp-tongquancongty.js +6 -0
  779. package/server/modules/reports/rp-tongquanctvnpp.js +12 -0
  780. package/server/modules/reports/rp-tongquannvbh.js +14 -0
  781. package/server/modules/reports/rp-tongquannvnpp.js +5 -0
  782. package/server/modules/reports/rp-uoctinhnvl.js +11 -0
  783. package/server/modules/reports/rp-wallet.js +3 -0
  784. package/server/modules/reports/rpt-tkdiemtichluy.js +9 -0
  785. package/server/modules/systems/sys-app.js +34 -0
  786. package/server/modules/systems/sys-colleague.js +11 -0
  787. package/server/modules/systems/sys-data_list_config.js +1 -0
  788. package/server/modules/systems/sys-domain.js +1 -0
  789. package/server/modules/systems/sys-ecomproductlines.js +1 -0
  790. package/server/modules/systems/sys-exportexceltemplate.js +1 -0
  791. package/server/modules/systems/sys-fieldright.js +1 -0
  792. package/server/modules/systems/sys-importexceltemplate.js +1 -0
  793. package/server/modules/systems/sys-labelinfo.js +4 -0
  794. package/server/modules/systems/sys-listinfo.js +10 -0
  795. package/server/modules/systems/sys-menuinfo.js +4 -0
  796. package/server/modules/systems/sys-message.js +14 -0
  797. package/server/modules/systems/sys-moduleinfo.js +4 -0
  798. package/server/modules/systems/sys-notification.js +8 -0
  799. package/server/modules/systems/sys-quanhuyen.js +1 -0
  800. package/server/modules/systems/sys-reportinfo.js +5 -0
  801. package/server/modules/systems/sys-rptobject.js +1 -0
  802. package/server/modules/systems/sys-schedule.js +10 -0
  803. package/server/modules/systems/sys-sysconfig.js +1 -0
  804. package/server/modules/systems/sys-sysgroup.js +1 -0
  805. package/server/modules/systems/sys-tableinfo.js +1 -0
  806. package/server/modules/systems/sys-templatestore.js +5 -0
  807. package/server/modules/systems/sys-tinhthanh.js +1 -0
  808. package/server/modules/systems/sys-token.js +3 -0
  809. package/server/modules/systems/sys-trangthai.js +3 -0
  810. package/server/modules/systems/sys-trialinfo.js +1 -0
  811. package/server/modules/systems/sys-user.js +45 -0
  812. package/server/modules/systems/sys-users.js +10 -0
  813. package/server/modules/systems/sys-versioninfo.js +1 -0
  814. package/server/modules/systems/sys-vietqrbanks.js +1 -0
  815. package/server/modules/systems/sys-xaphuong.js +1 -0
  816. package/server/modules/vouchers/vo-banggiaban.js +8 -0
  817. package/server/modules/vouchers/vo-bc1.js +34 -0
  818. package/server/modules/vouchers/vo-bc5.js +15 -0
  819. package/server/modules/vouchers/vo-bg1.js +10 -0
  820. package/server/modules/vouchers/vo-bg2.js +12 -0
  821. package/server/modules/vouchers/vo-bn1.js +36 -0
  822. package/server/modules/vouchers/vo-bn5.js +15 -0
  823. package/server/modules/vouchers/vo-dh2.js +35 -0
  824. package/server/modules/vouchers/vo-dinhmucsx.js +6 -0
  825. package/server/modules/vouchers/vo-dkb.js +21 -0
  826. package/server/modules/vouchers/vo-dn0.js +9 -0
  827. package/server/modules/vouchers/vo-dnm.js +20 -0
  828. package/server/modules/vouchers/vo-hd1.js +37 -0
  829. package/server/modules/vouchers/vo-hd2.js +108 -0
  830. package/server/modules/vouchers/vo-hd3.js +38 -0
  831. package/server/modules/vouchers/vo-hd4.js +13 -0
  832. package/server/modules/vouchers/vo-hd7.js +29 -0
  833. package/server/modules/vouchers/vo-hd8.js +29 -0
  834. package/server/modules/vouchers/vo-hde.js +39 -0
  835. package/server/modules/vouchers/vo-htl.js +11 -0
  836. package/server/modules/vouchers/vo-kbbtpb.js +6 -0
  837. package/server/modules/vouchers/vo-kehoachmh.js +11 -0
  838. package/server/modules/vouchers/vo-lenhcapphat.js +9 -0
  839. package/server/modules/vouchers/vo-lenhsx.js +12 -0
  840. package/server/modules/vouchers/vo-pbl.js +94 -0
  841. package/server/modules/vouchers/vo-pc0.js +14 -0
  842. package/server/modules/vouchers/vo-pc1.js +31 -0
  843. package/server/modules/vouchers/vo-pc2.js +25 -0
  844. package/server/modules/vouchers/vo-pc3.js +14 -0
  845. package/server/modules/vouchers/vo-pc5.js +15 -0
  846. package/server/modules/vouchers/vo-pc6.js +19 -0
  847. package/server/modules/vouchers/vo-pcl.js +7 -0
  848. package/server/modules/vouchers/vo-pdn.js +11 -0
  849. package/server/modules/vouchers/vo-pdx.js +9 -0
  850. package/server/modules/vouchers/vo-pgh.js +16 -0
  851. package/server/modules/vouchers/vo-pht.js +6 -0
  852. package/server/modules/vouchers/vo-pkc.js +5 -0
  853. package/server/modules/vouchers/vo-pkh.js +9 -0
  854. package/server/modules/vouchers/vo-pkk.js +12 -0
  855. package/server/modules/vouchers/vo-pkt.js +12 -0
  856. package/server/modules/vouchers/vo-pn1.js +30 -0
  857. package/server/modules/vouchers/vo-pn2.js +17 -0
  858. package/server/modules/vouchers/vo-pn3.js +18 -0
  859. package/server/modules/vouchers/vo-pn5.js +18 -0
  860. package/server/modules/vouchers/vo-pn6.js +18 -0
  861. package/server/modules/vouchers/vo-pn9.js +23 -0
  862. package/server/modules/vouchers/vo-pnc.js +19 -0
  863. package/server/modules/vouchers/vo-pnh.js +17 -0
  864. package/server/modules/vouchers/vo-pnk.js +14 -0
  865. package/server/modules/vouchers/vo-pnknpp.js +12 -0
  866. package/server/modules/vouchers/vo-po1.js +14 -0
  867. package/server/modules/vouchers/vo-ppb.js +8 -0
  868. package/server/modules/vouchers/vo-pt1.js +20 -0
  869. package/server/modules/vouchers/vo-pt5.js +15 -0
  870. package/server/modules/vouchers/vo-ptl.js +8 -0
  871. package/server/modules/vouchers/vo-purchase_contract.js +9 -0
  872. package/server/modules/vouchers/vo-pxc.js +24 -0
  873. package/server/modules/vouchers/vo-pxh.js +18 -0
  874. package/server/modules/vouchers/vo-pxk.js +15 -0
  875. package/server/modules/vouchers/vo-pxknpp.js +14 -0
  876. package/server/modules/vouchers/vo-qts.js +12 -0
  877. package/server/modules/vouchers/vo-sale_contract.js +11 -0
  878. package/server/modules/vouchers/vo-shipbook.js +17 -0
  879. package/server/modules/vouchers/vo-so1.js +125 -0
  880. package/server/modules/vouchers/vo-so5.js +57 -0
  881. package/server/modules/vouchers/vo-so7.js +97 -0
  882. package/server/modules/vouchers/vo-so9.js +119 -0
  883. package/server/modules/vouchers/vo-vanchuyen.js +14 -0
  884. package/server/modules/vouchers/vo-xhd.js +33 -0
@@ -0,0 +1,19 @@
1
+ const cktt=require("../../libs/cktt"),ckcn=require("../../libs/ckcn"),ckdt=require("../../libs/ckdt"),cknphep=require("../../libs/cknphep"),ckvt=require("../../libs/ckvt"),ckvtnpp=require("../../libs/ckvtnpp"),ckdiem=require("../../libs/ckdiem"),cdtk=global.getModel("cdtk"),cdkh=global.getModel("cdkh"),cddt=global.getModel("cddt"),cdnphep=global.getModel("cdnphep"),cdvt=global.getModel("cdvt"),cdvtnpp=global.getModel("cdvtnpp"),cddiem=global.getModel("cddiem"),dvcs=global.getModel("dvcs"),dmkho=global.getModel("dmkho"),
2
+ underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),async=require("async"),moment=require("moment"),utils=require("../../libs/utils");
3
+ module.exports=function($router$$){new controller($router$$,"kcsns",async($req$$,$callback$$)=>{if(!$req$$.user.appAdmin)return $callback$$({error:"Ch\u1ec9 ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb m\u1edbi c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y"});if(!$req$$.query.nam)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 N\u0103m(nam)");var $nam_ngay_ks$$=Number($req$$.query.nam);const $sang_nam$$=$nam_ngay_ks$$+1,$den_ngay$$=moment([$nam_ngay_ks$$,11,
4
+ 31]).endOf("year").toDate();let $_app$$=await global.getModel("app").findOne({_id:$req$$.user.current_id_app});if(!$_app$$)return $callback$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");if($nam_ngay_ks$$=await utils.isBookLocked({id_app:$req$$.user.current_id_app,ngay_ct:moment(`${$sang_nam$$}-01-01`).startOf("year").toDate(),ngay_ks:$_app$$.ngay_ks}))return $callback$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${moment($nam_ngay_ks$$).format("DD/MM/YYYY")}`);dvcs.find({id_app:$req$$.query.id_app}).lean().then(function($ds_dvcs$$){async.mapSeries($ds_dvcs$$,
5
+ function($dv$$,$callback$$){const $ma_dvcs$$=$dv$$._id.toString(),$condition$$={id_app:$req$$.query.id_app,ngay:$den_ngay$$,ma_dvcs:$ma_dvcs$$};async.series({ck_tt:function($callback$$){setImmediate(()=>{cdtk.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0,ma_dvcs:$ma_dvcs$$},function($condition_tktt_e$$){if($condition_tktt_e$$)return $callback$$($condition_tktt_e$$);$condition_tktt_e$$={...$condition$$,groupBy:["tk"]};($_app$$.options||{}).kc_theo_kho&&$condition_tktt_e$$.groupBy.push("ma_kho");
6
+ cktt($condition_tktt_e$$,function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.id_app=$req$$.query.id_app;$r$$.kc_yn=!0;$r$$.ma_dvcs=$ma_dvcs$$});async.mapSeries($rs$$,function($r$$,$callback$$){(new cdtk($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},
7
+ function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})})},ck_cn:function($callback$$){setImmediate(()=>{cdkh.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0,ma_dvcs:$ma_dvcs$$},function($e$$){if($e$$)return $callback$$($e$$);$e$$=["tk","ma_kh"];$req$$.query.cn_theo_dt&&$e$$.push("ma_dt");$req$$.query.cn_theo_kho&&$e$$.push("ma_kho");$req$$.query.cn_theo_bp&&$e$$.push("ma_bp");$req$$.query.cn_theo_nv&&$e$$.push("ma_nv");$req$$.query.cn_theo_nv_giao_hang&&
8
+ $e$$.push("ma_nv_giao_hang");$req$$.query.cn_theo_nv_phu_xe&&$e$$.push("ma_nv_phu_xe");$req$$.query.cn_theo_hd&&$e$$.push("ma_hd");$req$$.query.cn_theo_phi&&$e$$.push("ma_phi");ckcn({...$condition$$,groupBy:$e$$},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app;
9
+ $r$$.ma_dvcs=$ma_dvcs$$});async.mapSeries($rs$$,function($r$$,$callback$$){(new cdkh($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})})},ck_vt:function($callback$$){setImmediate(()=>{dmkho.find({id_app:$req$$.query.id_app},function($e$$,$ds_kho$$){if($e$$)return $callback$$($e$$);async.mapSeries($ds_kho$$,function($kho$$,$callback$$){var $ma_kho$$=$kho$$.ma_kho,
10
+ $query_vt$$={ma_kho:$ma_kho$$,groupBy:"ma_vt ma_kho ma_lo han_sd ma_tt1 ma_tt2 ma_tt3".split(" ")};underscore.extend($query_vt$$,$condition$$);cdvt.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0,ma_dvcs:$ma_dvcs$$,ma_kho:$ma_kho$$},function($e$$){if($e$$)return $callback$$($e$$);ckvt($query_vt$$,function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=
11
+ $req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app;$r$$.ma_dvcs=$ma_dvcs$$;$r$$.ma_kho=$ma_kho$$});async.mapSeries($rs$$,function($r$$,$callback$$){(new cdvt($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})},ck_vt_npp:function($callback$$){setImmediate(()=>
12
+ {dmkho.find({id_app:$req$$.query.id_app},function($e$$,$ds_kho$$){if($e$$)return $callback$$($e$$);async.mapSeries($ds_kho$$,function($kho$$,$callback$$){const $ma_kho$$=$kho$$.ma_kho,$query_vt$$={ma_kho:$ma_kho$$,groupBy:"ma_vt ma_kho ma_kh ma_lo han_sd ma_tt1 ma_tt2 ma_tt3".split(" ")};underscore.extend($query_vt$$,$condition$$);cdvtnpp.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0,ma_dvcs:$ma_dvcs$$,ma_kho:$ma_kho$$},function($e$$){if($e$$)return $callback$$($e$$);ckvtnpp($query_vt$$,
13
+ function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app;$r$$.ma_dvcs=$ma_dvcs$$;$r$$.ma_kho=$ma_kho$$});async.mapSeries($rs$$,function($r$$,$callback$$){(new cdvtnpp($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},
14
+ function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})},ck_dt:function($callback$$){setImmediate(()=>{cddt.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0,ma_dvcs:$ma_dvcs$$},function($e$$){if($e$$)return $callback$$($e$$);ckdt($condition$$,function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$=$rs$$.filter($r$$=>$r$$.ma_dt);$rs$$.forEach(function($r$$){delete $r$$._id;
15
+ delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app;$r$$.ma_dvcs=$ma_dvcs$$});async.mapSeries($rs$$,function($r$$,$callback$$){(new cddt($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})})})})}},function($e$$){if($e$$)return $callback$$($e$$);
16
+ $callback$$(null,{result:"OK"})})},function($e$$){if($e$$)return $callback$$($e$$);async.series([function($callback$$){setImmediate(()=>{cddiem.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0},function($e$$){if($e$$)return $callback$$($e$$);ckdiem({id_app:$req$$.query.id_app,ngay:$den_ngay$$},function($e$$,$rs$$){if($e$$)return Logger.error($e$$),$callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;
17
+ $r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app});async.mapSeries($rs$$,function($r$$,$callback$$){(new cddiem($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);$callback$$(null,$rs_s$$)})},function($e$$){if($e$$)return $callback$$($e$$);$callback$$(null)})})})})},function($callback$$){setImmediate(()=>{cdnphep.deleteMany({nam:$sang_nam$$,id_app:$req$$.query.id_app,kc_yn:!0},function($e$$){if($e$$)return $callback$$($e$$);
18
+ cknphep({id_app:$req$$.query.id_app,ngay:$den_ngay$$},function($e$$,$rs$$){if($e$$)return Logger.error($e$$),$callback$$($e$$);$rs$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$req$$.user.email;$r$$.user_updated=$req$$.user.email;$r$$.nam=$sang_nam$$;$r$$.kc_yn=!0;$r$$.id_app=$req$$.query.id_app});async.mapSeries($rs$$,function($r$$,$callback$$){(new cdnphep($r$$)).save(function($e$$,$rs_s$$){if($e$$)return $e$$.data=$r$$,$callback$$($e$$);
19
+ $callback$$(null,$rs_s$$)})},function($e$$){if($e$$)return $callback$$($e$$);$callback$$(null)})})})})}],$e$$=>{if($e$$)return $callback$$({error:$e$$.error||$e$$.message||$e$$});$callback$$(null,[{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"}])})})}).catch($e$$=>{$callback$$($e$$)})})};
@@ -0,0 +1 @@
1
+ const controller=require("../../controllers/controllerRPT"),kqchamcong=require("../../libs/kqchamcong");module.exports=function($router$$){new controller($router$$,"kqchamcong",async function($req$$,$callback$$){try{let $result$$=await kqchamcong($req$$.query);$callback$$(null,$result$$)}catch($e$$){$callback$$($e$$)}})};
@@ -0,0 +1,11 @@
1
+ const cktt=require("../../libs/cktt"),ckcn=require("../../libs/ckcn"),ckvt=require("../../libs/ckvt"),cdtktheongay=global.getModel("cdtktheongay"),cdkhtheongay=global.getModel("cdkhtheongay"),cdvttheongay=global.getModel("cdvttheongay"),dvcs=global.getModel("dvcs"),dmkho=global.getModel("dmkho"),_=require("lodash"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),{executeInTransaction}=require("../../libs/sessionContext"),khoaso=async($user$$,$condition_query$$,$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$,
2
+ $_app$$,$den_ngay$$)=>{for(let $dv$$ of $condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$){const $ma_dvcs$$=$dv$$._id.toString();$condition_query$$={id_app:$_app$$._id.toString(),ngay:$den_ngay$$,ma_dvcs:$ma_dvcs$$};const $id_app$$=$_app$$._id.toString();await cdtktheongay.deleteMany({den_ngay:{$gte:$den_ngay$$},id_app:$id_app$$,kc_yn:!0,ma_dvcs:$ma_dvcs$$});$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$={...$condition_query$$,groupBy:["tk"]};($_app$$.options||{}).kc_theo_kho&&
3
+ $condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$.groupBy.push("ma_kho");$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$=await cktt($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$,null,{model:"socai"});$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$user$$.email;$r$$.user_updated=$user$$.email;$r$$.den_ngay=$den_ngay$$;$r$$.id_app=
4
+ $id_app$$;$r$$.kc_yn=!0;$r$$.ma_dvcs=$ma_dvcs$$});await cdtktheongay.create($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$);await cdkhtheongay.deleteMany({den_ngay:{$gte:$den_ngay$$},id_app:$id_app$$,kc_yn:!0,ma_dvcs:$ma_dvcs$$});$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$=await ckcn({...$condition_query$$,groupBy:"tk ma_kh ma_dt ma_kho ma_bp ma_nv ma_nv_giao_hang phu_xe ma_hd ma_phi".split(" ")},null,{model:"socai"});$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$.forEach(function($r$$){delete $r$$._id;
5
+ delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$user$$.email;$r$$.user_updated=$user$$.email;$r$$.den_ngay=$den_ngay$$;$r$$.kc_yn=!0;$r$$.id_app=$id_app$$;$r$$.ma_dvcs=$ma_dvcs$$});await cdkhtheongay.create($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$);$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$=await dmkho.find({id_app:$id_app$$}).lean();for(let $kho$$ of $condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$){const $ma_kho$$=
6
+ $kho$$.ma_kho;$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$={ma_kho:$ma_kho$$,groupBy:"ma_vt ma_kho ma_lo han_sd ma_tt1 ma_tt2 ma_tt3".split(" ")};_.extend($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$,$condition_query$$);await cdvttheongay.deleteMany({den_ngay:{$gte:$den_ngay$$},id_app:$id_app$$,kc_yn:!0,ma_dvcs:$ma_dvcs$$,ma_kho:$ma_kho$$});$condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$=await ckvt($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$);
7
+ $condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$.forEach(function($r$$){delete $r$$._id;delete $r$$.date_created;delete $r$$.date_updated;$r$$.user_created=$user$$.email;$r$$.user_updated=$user$$.email;$r$$.den_ngay=$den_ngay$$;$r$$.kc_yn=!0;$r$$.id_app=$id_app$$;$r$$.ma_dvcs=$ma_dvcs$$;$r$$.ma_kho=$ma_kho$$});await cdvttheongay($condition_tktt_ds_dvcs_ds_kho_query_vt_rs_cdvt_rs_ckcn_rs_cktt$$)}}};
8
+ module.exports=function($router$$){new controller($router$$,"khoaso",async($req$$,$callback$$)=>{if(!$req$$.user.appAdmin)return $callback$$({error:"Ch\u1ec9 ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb m\u1edbi c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y"});if(!$req$$.query.ngay_ks)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 Ng\u00e0y kho\u00e1 s\u1ed5(ngay_ks)");const $den_ngay$$=moment($req$$.query.ngay_ks).endOf("date").toDate();let $_app$$=await global.getModel("app").findOne({_id:$req$$.user.current_id_app});
9
+ if(!$_app$$)return $callback$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");try{const $ds_dvcs$$=await dvcs.find({id_app:$req$$.query.id_app}).lean();let $_den_ngay$$=moment($_app$$.ngay_ks).endOf("month");$_den_ngay$$=$_den_ngay$$.add(1,"month").endOf("month");$_den_ngay$$=$_den_ngay$$.toDate();for($_den_ngay$$>$den_ngay$$&&($_den_ngay$$=$den_ngay$$);$_den_ngay$$<=$den_ngay$$;)if(Logger.info($_app$$.name,"\u0111ang kho\u00e1 s\u1ed5 \u0111\u1ebfn ng\u00e0y",$_den_ngay$$),await executeInTransaction(async()=>
10
+ khoaso($req$$.user,$req$$.query,$ds_dvcs$$,$_app$$,$_den_ngay$$),{forceSession:!0}),$_den_ngay$$<$den_ngay$$)$_den_ngay$$=moment($_den_ngay$$),$_den_ngay$$=$_den_ngay$$.add(1,"month").endOf("month"),$_den_ngay$$=$_den_ngay$$.toDate(),$_den_ngay$$>$den_ngay$$&&($_den_ngay$$=$den_ngay$$);else break;await global.getModel("app").updateOne({_id:$_app$$._id},{ngay_ks:$req$$.query.ngay_ks});$callback$$(null,[{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"}])}catch($e$$){$callback$$($e$$)}},
11
+ {cache:!1})};
@@ -0,0 +1,6 @@
1
+ const controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
+ module.exports=function($router$$){new controller($router$$,"kiemtrasocaitcvssocai",async function($data_socai_ps_socai_req$$,$callback$$){const $condition$$=$data_socai_ps_socai_req$$.query;if(!$condition$$.tu_ngay||!$condition$$.den_ngay||!$condition$$.tk)return $callback$$("B\u00e1o c\u00e1o n\u00e0y c\u1ea7n c\u00e1c tham s\u1ed1 sau:tu_ngay,den_ngay,tk");var $data_socaitc_ps_socai_tc_tu_ngay$$=moment($condition$$.tu_ngay).startOf("date").toDate();let $den_ngay$$=moment($condition$$.den_ngay).endOf("date").toDate();
3
+ $data_socai_ps_socai_req$$=await global.getModel("socai").find({id_app:$condition$$.id_app,$or:[{tk_no:$condition$$.tk},{tk_co:$condition$$.tk}],ngay_ct:{$gte:$data_socaitc_ps_socai_tc_tu_ngay$$,$lte:$den_ngay$$}},{tk_no:1,tk_co:1,tien:1}).lean();$data_socai_ps_socai_req$$={ps_no:$data_socai_ps_socai_req$$.filter($r$$=>$r$$.tk_no===$condition$$.tk).map($r$$=>$r$$.tien||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0),ps_co:$data_socai_ps_socai_req$$.filter($r$$=>$r$$.tk_co===$condition$$.tk).map($r$$=>$r$$.tien||
4
+ 0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)};var $data_socaitt_ps_socai_tt$$=await global.getModel("socaitt").find({id_app:$condition$$.id_app,$or:[{tk_no:$condition$$.tk},{tk_co:$condition$$.tk}],ngay_ct:{$gte:$data_socaitc_ps_socai_tc_tu_ngay$$,$lte:$den_ngay$$}},{tk_no:1,tk_co:1,tien:1}).lean();$data_socaitt_ps_socai_tt$$={ps_no:$data_socaitt_ps_socai_tt$$.filter($r$$=>$r$$.tk_no===$condition$$.tk).map($r$$=>$r$$.tien||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0),ps_co:$data_socaitt_ps_socai_tt$$.filter($r$$=>
5
+ $r$$.tk_co===$condition$$.tk).map($r$$=>$r$$.tien||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)};$data_socaitc_ps_socai_tc_tu_ngay$$=await global.getModel("socaitc").find({id_app:$condition$$.id_app,$or:[{tk_no:$condition$$.tk},{tk_co:$condition$$.tk}],ngay_ct:{$gte:$data_socaitc_ps_socai_tc_tu_ngay$$,$lte:$den_ngay$$}},{tk_no:1,tk_co:1,tien:1}).lean();$data_socaitc_ps_socai_tc_tu_ngay$$={ps_no:$data_socaitc_ps_socai_tc_tu_ngay$$.filter($r$$=>$r$$.tk_no===$condition$$.tk).map($r$$=>$r$$.tien||0).reduce(($a$$,
6
+ $b$$)=>$a$$+$b$$,0),ps_co:$data_socaitc_ps_socai_tc_tu_ngay$$.filter($r$$=>$r$$.tk_co===$condition$$.tk).map($r$$=>$r$$.tien||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)};$callback$$(null,{ps_socai:$data_socai_ps_socai_req$$,ps_socai_tt:$data_socaitt_ps_socai_tt$$,ps_socai_tc:$data_socaitc_ps_socai_tc_tu_ngay$$})},{cache:!1})};
@@ -0,0 +1,5 @@
1
+ const dmnv=global.getModel("dmnv"),dmnhnv=global.getModel("dmnhnv"),group=global.getModel("group"),phieudanhgia=global.getModel("phieudanhgia"),dmbp=global.getModel("dmbp"),dmdoi=global.getModel("dmdoi"),dmto=global.getModel("dmto"),dmdoituongdanhgia=global.getModel("dmdoituongdanhgia"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"kqdanhgianhanvien",function($req$$,$callback$$){const $id_app$$=$req$$.query.id_app,$query$$={id_app:$id_app$$};$query$$.ky=$req$$.query.ky;$query$$.nam=$req$$.query.nam;$req$$.query.ma_nv&&($query$$.ma_nv=$req$$.query.ma_nv);$req$$.query.ma_doi_tuong_danh_gia&&($query$$.ma_doi_tuong_danh_gia=$req$$.query.ma_doi_tuong_danh_gia);$req$$.query.ma_bp&&($query$$.ma_bp=$req$$.query.ma_bp);$req$$.query.ma_doi&&($query$$.ma_doi=$req$$.query.ma_doi);
3
+ $req$$.query.ma_to&&($query$$.ma_to=$req$$.query.ma_to);$req$$.query.xep_loai&&($query$$["exfields.xep_loai"]=$req$$.query.xep_loai);phieudanhgia.find($query$$).lean().exec(($e$$,$items$$)=>{if($e$$)return $callback$$($e$$);async.series({doituongdanhgia:$callback$$=>{$items$$.joinModel2($id_app$$,dmdoituongdanhgia,[{where:{ma_doi_tuong_danh_gia:"_id"},fields:["ten_doi_tuong_danh_gia"]}],function(){$callback$$(null,$items$$)})},nhanvien:$callback$$=>{$items$$.joinModel2($id_app$$,dmnv,[{where:{ma_nv:"ma_nv"},
4
+ fields:["ten_nv"]}],function(){$callback$$(null,$items$$)})},dmbp:$callback$$=>{$items$$.joinModel2($id_app$$,dmbp,[{where:{ma_bp:"ma_bp"},fields:["ten_bp"]}],function(){$callback$$(null,$items$$)})},dmdoi:$callback$$=>{$items$$.joinModel2($id_app$$,dmdoi,[{where:{ma_doi:"ma_doi",ma_bp:"ma_bp"},fields:["ten_doi"]}],function(){$callback$$(null,$items$$)})},dmto:$callback$$=>{$items$$.joinModel2($id_app$$,dmto,[{where:{ma_to:"ma_to",ma_doi:"ma_doi",ma_bp:"ma_bp"},fields:["ten_to"]}],function(){$callback$$(null,
5
+ $items$$)})},nhom:$callback$$=>{$items$$.joinModel2($id_app$$,dmnhnv,[{where:{ma_nh_nv:"ma_nh_nv"},fields:[{ten_nhom:"ten_nh_nv"}]}],function(){$callback$$(null,$items$$)})},chuc_vu:$callback$$=>{$items$$.joinModel2($id_app$$,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(){$callback$$(null,$items$$)})}},$e$$=>{if($e$$)return $callback$$($e$$);$callback$$(null,$items$$)})})})};
@@ -0,0 +1 @@
1
+ const kqhdkd=require("../../libs/kqhdkd"),controller=require("../../controllers/controllerRPT");module.exports=function($router$$){new controller($router$$,"kqhdkd",async function($query_req$$,$callback$$){$query_req$$=$query_req$$.query;try{const $report$$=await kqhdkd($query_req$$);$callback$$(null,$report$$)}catch($e$$){$callback$$($e$$)}})};
@@ -0,0 +1,16 @@
1
+ const socai=global.getModel("socaitt"),dktk=require("../../libs/dktk"),cktk=require("../../libs/cktk"),kbmlcttgt=global.getModel("kbmlcttgt"),{calcGrid,sumByCondition}=require("../../libs/utils"),async=require("async"),controller=require("../../controllers/controllerRPT"),getRegString=function($arrayTk$$){if(!$arrayTk$$)return null;let $tk$$;$arrayTk$$.forEach(function($t$$){$t$$!==""&&($tk$$=$tk$$?$tk$$+"|^"+$t$$:"^"+$t$$)});return $tk$$};
2
+ module.exports=function($router$$){new controller($router$$,"lcttgt",function($kbm_query_req$$,$callback$$){const $query$$=$kbm_query_req$$.query;if(!($query$$.den_ngay&&$query$$.tu_ngay&&$query$$.den_ngay_kt&&$query$$.tu_ngay_kt))return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay,tu_ngay_kt,den_ngay_kt");let $report$$;$kbm_query_req$$={id_app:$query$$.id_app};$kbm_query_req$$.id_rptform=$query$$.id_rptform?$query$$.id_rptform:{$in:[void 0,null,
3
+ ""]};kbmlcttgt.find($kbm_query_req$$).sort({stt:1}).lean().then(function($kbm$$){$report$$=$kbm$$;async.map($report$$,function($r$$,$c1$$){setImmediate(()=>{$r$$.cach_tinh=="1"?$c1$$(null,$r$$):$r$$.cach_tinh=="2"?async.parallel({ky_truoc:function($callback$$){const $condition$$={id_app:$query$$.id_app,ngay_ct:{$gte:$query$$.tu_ngay_kt,$lte:$query$$.den_ngay_kt}};$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);var $tk_co_tk_no$$=getRegString($r$$.tk_no);$tk_co_tk_no$$&&($condition$$.tk_no=
4
+ $r$$.giam_tru_no?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"});if($tk_co_tk_no$$=getRegString($r$$.tk_co))$condition$$.tk_co=$r$$.giam_tru_co&&$tk_co_tk_no$$?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"};sumByCondition(socai,["tien","tien_nt"],$condition$$).then($rs$$=>{$r$$.so_kt=$rs$$.tien;$r$$.so_kt_nt=$rs$$.tien_nt;$r$$.phan_loai=="1"&&($r$$.so_kt=-$r$$.so_kt,$r$$.so_kt_nt=-$r$$.so_kt_nt);$r$$.so_kn<0&&$r$$.khong_am&&($r$$.so_kn=0);$r$$.so_kn_nt<
5
+ 0&&$r$$.khong_am&&($r$$.so_kn_nt=0);$callback$$(null,$r$$)}).catch($e$$=>{$callback$$($e$$)})},ky_nay:function($callback$$){const $condition$$={ngay_ct:{$gte:$query$$.tu_ngay,$lte:$query$$.den_ngay},id_app:$query$$.id_app};$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);var $tk_co$jscomp$1_tk_no$$=getRegString($r$$.tk_no);$tk_co$jscomp$1_tk_no$$&&($condition$$.tk_no=$r$$.giam_tru_no?{$not:new RegExp($tk_co$jscomp$1_tk_no$$)}:{$regex:$tk_co$jscomp$1_tk_no$$,$options:"i"});if($tk_co$jscomp$1_tk_no$$=
6
+ getRegString($r$$.tk_co))$condition$$.tk_co=$r$$.giam_tru_co&&$tk_co$jscomp$1_tk_no$$?{$not:new RegExp($tk_co$jscomp$1_tk_no$$)}:{$regex:$tk_co$jscomp$1_tk_no$$,$options:"i"};sumByCondition(socai,["tien","tien_nt"],$condition$$).then($rs$$=>{$r$$.so_kn=$rs$$.tien;$r$$.so_kn_nt=$rs$$.tien_nt;$r$$.phan_loai=="1"&&($r$$.so_kn=-$r$$.so_kn,$r$$.so_kn_nt=-$r$$.so_kn_nt);$r$$.so_kn<0&&$r$$.khong_am&&($r$$.so_kn=0);$r$$.so_kn_nt<0&&$r$$.khong_am&&($r$$.so_kn_nt=0);$callback$$(null,$r$$)}).catch($e$$=>{$callback$$($e$$)})}},
7
+ function($error$$,$results$$){$c1$$($error$$,$results$$)}):$r$$.cach_tinh=="3"||$r$$.cach_tinh=="4"||$r$$.cach_tinh=="5"?async.parallel({ky_truoc:function($callback$$){const $condition$$={ngay:$query$$.tu_ngay_kt,ma_dvcs:$query$$.ma_dvcs,id_app:$query$$.id_app,bu_tru:$r$$.bu_tru_cong_no};if($r$$.cach_tinh=="3"||$r$$.cach_tinh=="4"){var $tk_co$jscomp$2_tk_no$$=$r$$.tk_no;$tk_co$jscomp$2_tk_no$$&&$tk_co$jscomp$2_tk_no$$.length==1&&$tk_co$jscomp$2_tk_no$$[0]===""&&($tk_co$jscomp$2_tk_no$$=null);$condition$$.tk=
8
+ $tk_co$jscomp$2_tk_no$$}else($tk_co$jscomp$2_tk_no$$=$r$$.tk_co)&&$tk_co$jscomp$2_tk_no$$.length==1&&$tk_co$jscomp$2_tk_no$$[0]===""&&($tk_co$jscomp$2_tk_no$$=null),$condition$$.tk=$tk_co$jscomp$2_tk_no$$;dktk($condition$$,function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$r$$.cach_tinh=="3"?($r$$.so_kt=$rs$$.csum("du_no00")-$rs$$.csum("du_co00"),$r$$.so_kt_nt=$rs$$.csum("du_no_nt00")-$rs$$.csum("du_co_nt00"),$r$$.phan_loai=="1"&&($r$$.so_kt=-$r$$.so_kt,$r$$.so_kt_nt=-$r$$.so_kt_nt),
9
+ $r$$.so_kt<0&&$r$$.khong_am&&($r$$.so_kt=0),$r$$.so_kt_nt<0&&$r$$.khong_am&&($r$$.so_kt_nt=0)):$r$$.cach_tinh=="4"?($r$$.so_kt=$rs$$.csum("du_no00"),$r$$.so_kt_nt=$rs$$.csum("du_no_nt00")):($r$$.so_kt=$rs$$.csum("du_co00"),$r$$.so_kt_nt=$rs$$.csum("du_co_nt00"));$callback$$(null,$r$$)})},ky_nay:function($callback$$){const $condition$$={ngay:$query$$.tu_ngay,ma_dvcs:$query$$.ma_dvcs,id_app:$query$$.id_app,bu_tru:$r$$.bu_tru_cong_no};if($r$$.cach_tinh=="3"||$r$$.cach_tinh=="4"){var $tk_co$jscomp$3_tk_no$$=
10
+ $r$$.tk_no;$tk_co$jscomp$3_tk_no$$&&$tk_co$jscomp$3_tk_no$$.length==1&&$tk_co$jscomp$3_tk_no$$[0]===""&&($tk_co$jscomp$3_tk_no$$=null);$condition$$.tk=$tk_co$jscomp$3_tk_no$$}else($tk_co$jscomp$3_tk_no$$=$r$$.tk_co)&&$tk_co$jscomp$3_tk_no$$.length==1&&$tk_co$jscomp$3_tk_no$$[0]===""&&($tk_co$jscomp$3_tk_no$$=null),$condition$$.tk=$tk_co$jscomp$3_tk_no$$;dktk($condition$$,function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$r$$.cach_tinh=="3"?($r$$.so_kn=$rs$$.csum("du_no00")-$rs$$.csum("du_co00"),
11
+ $r$$.so_kn_nt=$rs$$.csum("du_no_nt00")-$rs$$.csum("du_co_nt00"),$r$$.phan_loai=="1"&&($r$$.so_kn=-$r$$.so_kn,$r$$.so_kn_nt=-$r$$.so_kn_nt),$r$$.so_kn<0&&$r$$.khong_am&&($r$$.so_kn=0),$r$$.so_kn_nt<0&&$r$$.khong_am&&($r$$.so_kn_nt=0)):$r$$.cach_tinh=="4"?($r$$.so_kn=$rs$$.csum("du_no00"),$r$$.so_kn_nt=$rs$$.csum("du_no_nt00")):($r$$.so_kn=$rs$$.csum("du_co00"),$r$$.so_kn_nt=$rs$$.csum("du_co_nt00"));$callback$$(null,$r$$)})}},function($error$$,$results$$){$c1$$($error$$,$results$$)}):async.parallel({ky_truoc:function($callback$$){const $condition$$=
12
+ {ngay:$query$$.tu_ngay_kt,ma_dvcs:$query$$.ma_dvcs,id_app:$query$$.id_app,bu_tru:$r$$.bu_tru_cong_no};if($r$$.cach_tinh=="6"||$r$$.cach_tinh=="7"){var $tk_co$jscomp$4_tk_no$$=$r$$.tk_no;$tk_co$jscomp$4_tk_no$$&&$tk_co$jscomp$4_tk_no$$.length==1&&$tk_co$jscomp$4_tk_no$$[0]===""&&($tk_co$jscomp$4_tk_no$$=null);$condition$$.tk=$tk_co$jscomp$4_tk_no$$}else($tk_co$jscomp$4_tk_no$$=$r$$.tk_co)&&$tk_co$jscomp$4_tk_no$$.length==1&&$tk_co$jscomp$4_tk_no$$[0]===""&&($tk_co$jscomp$4_tk_no$$=null),$condition$$.tk=
13
+ $tk_co$jscomp$4_tk_no$$;cktk($condition$$,function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$r$$.cach_tinh=="6"?($r$$.so_kt=$rs$$.csum("du_no00")-$rs$$.csum("du_co00"),$r$$.so_kt_nt=$rs$$.csum("du_no_nt00")-$rs$$.csum("du_co_nt00"),$r$$.phan_loai=="1"&&($r$$.so_kt=-$r$$.so_kt,$r$$.so_kt_nt=-$r$$.so_kt_nt),$r$$.so_kt<0&&$r$$.khong_am&&($r$$.so_kt=0),$r$$.so_kt_nt<0&&$r$$.khong_am&&($r$$.so_kt_nt=0)):$r$$.cach_tinh=="7"?($r$$.so_kt=$rs$$.csum("du_no00"),$r$$.so_kt_nt=$rs$$.csum("du_no_nt00")):
14
+ ($r$$.so_kt=$rs$$.csum("du_co00"),$r$$.so_kt_nt=$rs$$.csum("du_co_nt00"));$callback$$(null,$r$$)})},ky_nay:function($callback$$){const $condition$$={ngay:$query$$.tu_ngay,ma_dvcs:$query$$.ma_dvcs,id_app:$query$$.id_app,bu_tru:$r$$.bu_tru_cong_no};if($r$$.cach_tinh=="6"||$r$$.cach_tinh=="7"){var $tk_co$jscomp$5_tk_no$$=$r$$.tk_no;$tk_co$jscomp$5_tk_no$$&&$tk_co$jscomp$5_tk_no$$.length==1&&$tk_co$jscomp$5_tk_no$$[0]===""&&($tk_co$jscomp$5_tk_no$$=null);$condition$$.tk=$tk_co$jscomp$5_tk_no$$}else($tk_co$jscomp$5_tk_no$$=
15
+ $r$$.tk_co)&&$tk_co$jscomp$5_tk_no$$.length==1&&$tk_co$jscomp$5_tk_no$$[0]===""&&($tk_co$jscomp$5_tk_no$$=null),$condition$$.tk=$tk_co$jscomp$5_tk_no$$;cktk($condition$$,function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$r$$.cach_tinh=="6"?($r$$.so_kn=$rs$$.csum("du_no00")-$rs$$.csum("du_co00"),$r$$.so_kn_nt=$rs$$.csum("du_no_nt00")-$rs$$.csum("du_co_nt00"),$r$$.phan_loai=="1"&&($r$$.so_kn=-$r$$.so_kn,$r$$.so_kn_nt=-$r$$.so_kn_nt),$r$$.so_kn<0&&$r$$.khong_am&&($r$$.so_kn=0),$r$$.so_kn_nt<
16
+ 0&&$r$$.khong_am&&($r$$.so_kn_nt=0)):$r$$.cach_tinh=="7"?($r$$.so_kn=$rs$$.csum("du_no00"),$r$$.so_kn_nt=$rs$$.csum("du_no_nt00")):($r$$.so_kn=$rs$$.csum("du_co00"),$r$$.so_kn_nt=$rs$$.csum("du_co_nt00"));$callback$$(null,$r$$)})}},function($error$$,$results$$){$c1$$($error$$,$results$$)})})},function($error$$){if($error$$)return $callback$$($error$$);calcGrid($report$$,"so_kn,so_kn_nt,so_kt,so_kt_nt",function($rs$$){$callback$$(null,$rs$$)})})}).catch($e$$=>{$callback$$($e$$)})})};
@@ -0,0 +1,11 @@
1
+ const socai=global.getModel("socaitt"),dktk=require("../../libs/dktk"),kbmlctttt=global.getModel("kbmlctttt"),async=require("async"),{calcGrid,sumByCondition}=require("../../libs/utils"),controller=require("../../controllers/controllerRPT"),getRegString=function($arrayTk$$){return $arrayTk$$.reg()};
2
+ module.exports=function($router$$){new controller($router$$,"lctttt",function($kbm_query_req$$,$callback$$){let $query$$=$kbm_query_req$$.query;if(!($query$$.den_ngay&&$query$$.tu_ngay&&$query$$.den_ngay_kt&&$query$$.tu_ngay_kt))return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay,tu_ngay_kt,den_ngay_kt");$query$$.ma_dvcs||($query$$.ma_dvcs="");let $report$$;$kbm_query_req$$={id_app:$query$$.id_app};$kbm_query_req$$.id_rptform=$query$$.id_rptform?
3
+ $query$$.id_rptform:{$in:[void 0,null,""]};kbmlctttt.find($kbm_query_req$$).sort({stt:1}).lean().then(function($kbm$$){$report$$=$kbm$$;async.map($report$$,function($r$$,$c1$$){setImmediate(()=>{$r$$.cach_tinh=="1"?$c1$$(null,$r$$):$r$$.cach_tinh=="2"?async.parallel({ky_truoc:function($callback$$){let $condition$$={ngay_ct:{$gte:$query$$.tu_ngay_kt,$lte:$query$$.den_ngay_kt},id_app:$query$$.id_app};$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);var $tk_co_tk_no$$=getRegString($r$$.tk_no);
4
+ $tk_co_tk_no$$&&($condition$$.tk_no=$r$$.giam_tru_no?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"});if($tk_co_tk_no$$=getRegString($r$$.tk_co))$condition$$.tk_co=$r$$.giam_tru_co?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"};sumByCondition(socai,["tien","tien_nt"],$condition$$).then($rs$$=>{$r$$.so_kt=$rs$$.tien;$r$$.so_kt_nt=$rs$$.tien_nt;$r$$.phan_loai=="1"&&($r$$.so_kt=-$r$$.so_kt,$r$$.so_kt_nt=-$r$$.so_kt_nt);$callback$$(null,$r$$)}).catch($e$$=>
5
+ {$callback$$($e$$)})},ky_nay:function($callback$$){let $condition$$={ngay_ct:{$gte:$query$$.tu_ngay,$lte:$query$$.den_ngay},id_app:$query$$.id_app};$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);var $tk_co$jscomp$1_tk_no$$=getRegString($r$$.tk_no);$tk_co$jscomp$1_tk_no$$&&($condition$$.tk_no=$r$$.giam_tru_no?{$not:new RegExp($tk_co$jscomp$1_tk_no$$)}:{$regex:$tk_co$jscomp$1_tk_no$$,$options:"i"});if($tk_co$jscomp$1_tk_no$$=getRegString($r$$.tk_co))$condition$$.tk_co=$r$$.giam_tru_co?{$not:new RegExp($tk_co$jscomp$1_tk_no$$)}:
6
+ {$regex:$tk_co$jscomp$1_tk_no$$,$options:"i"};sumByCondition(socai,["tien","tien_nt"],$condition$$).then($rs$$=>{$r$$.so_kn=$rs$$.tien;$r$$.so_kn_nt=$rs$$.tien_nt;$r$$.phan_loai=="1"&&($r$$.so_kn=-$r$$.so_kn,$r$$.so_kn_nt=-$r$$.so_kn_nt);$callback$$(null,$r$$)}).catch($e$$=>{$callback$$($e$$)})}},function($error$$,$results$$){$c1$$($error$$,$results$$)}):async.parallel({ky_truoc:function($callback$$){let $condition$$={ngay:$query$$.tu_ngay_kt,id_app:$query$$.id_app,bu_tru:$r$$.bu_tru_cong_no};$query$$.ma_dvcs&&
7
+ ($condition$$.ma_dvcs=$query$$.ma_dvcs);if($r$$.cach_tinh=="3"||$r$$.cach_tinh=="4"){var $tk_co$jscomp$2_tk_no$$=$r$$.tk_no;$tk_co$jscomp$2_tk_no$$&&$tk_co$jscomp$2_tk_no$$.length==1&&$tk_co$jscomp$2_tk_no$$[0]===""&&($tk_co$jscomp$2_tk_no$$=null);$condition$$.tk=$tk_co$jscomp$2_tk_no$$}else($tk_co$jscomp$2_tk_no$$=$r$$.tk_co)&&$tk_co$jscomp$2_tk_no$$.length==1&&$tk_co$jscomp$2_tk_no$$[0]===""&&($tk_co$jscomp$2_tk_no$$=null),$condition$$.tk=$tk_co$jscomp$2_tk_no$$;dktk($condition$$,function($error$$,
8
+ $rs$$){if($error$$)return $callback$$($error$$);$r$$.cach_tinh=="3"?($r$$.so_kt=$rs$$.csum("du_no00")-$rs$$.csum("du_co00"),$r$$.so_kt_nt=$rs$$.csum("du_no_nt00")-$rs$$.csum("du_co_nt00"),$r$$.phan_loai=="1"&&($r$$.so_kt=-$r$$.so_kt,$r$$.so_kt_nt=-$r$$.so_kt_nt)):$r$$.cach_tinh=="4"?($r$$.so_kt=$rs$$.csum("du_no00"),$r$$.so_kt_nt=$rs$$.csum("du_no_nt00")):($r$$.so_kt=$rs$$.csum("du_co00"),$r$$.so_kt_nt=$rs$$.csum("du_co_nt00"));$callback$$(null,$r$$)})},ky_nay:function($callback$$){var $condition$$=
9
+ {ngay:$query$$.tu_ngay,id_app:$query$$.id_app,bu_tru:$r$$.bu_tru_cong_no};$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);if($r$$.cach_tinh=="3"||$r$$.cach_tinh=="4"){var $tk_co$jscomp$3_tk_no$$=$r$$.tk_no;$tk_co$jscomp$3_tk_no$$&&$tk_co$jscomp$3_tk_no$$.length==1&&$tk_co$jscomp$3_tk_no$$[0]===""&&($tk_co$jscomp$3_tk_no$$=null);$condition$$.tk=$tk_co$jscomp$3_tk_no$$}else($tk_co$jscomp$3_tk_no$$=$r$$.tk_co)&&$tk_co$jscomp$3_tk_no$$.length==1&&$tk_co$jscomp$3_tk_no$$[0]===""&&($tk_co$jscomp$3_tk_no$$=
10
+ null),$condition$$.tk=$tk_co$jscomp$3_tk_no$$;dktk($condition$$,function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$r$$.cach_tinh=="3"?($r$$.so_kn=$rs$$.csum("du_no00")-$rs$$.csum("du_co00"),$r$$.so_kn_nt=$rs$$.csum("du_no_nt00")-$rs$$.csum("du_co_nt00"),$r$$.phan_loai=="1"&&($r$$.so_kn=-$r$$.so_kn,$r$$.so_kn_nt=-$r$$.so_kn_nt)):$r$$.cach_tinh=="4"?($r$$.so_kn=$rs$$.csum("du_no00"),$r$$.so_kn_nt=$rs$$.csum("du_no_nt00")):($r$$.so_kn=$rs$$.csum("du_co00"),$r$$.so_kn_nt=$rs$$.csum("du_co_nt00"));
11
+ $callback$$(null,$r$$)})}},function($error$$,$results$$){$c1$$($error$$,$results$$)})})},function($error$$){if($error$$)return $callback$$($error$$);calcGrid($report$$,"so_kn,so_kn_nt,so_kt,so_kt_nt",function($rs$$){$callback$$(null,$rs$$)})})}).catch($e$$=>{$callback$$($e$$)})})};
@@ -0,0 +1,4 @@
1
+ const link=global.getModel("link"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"linkslist",function($query_req$$,$callback$$){if(!$query_req$$.query._id)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 _id");const $_id$$=$query_req$$.query._id;let $collections$$=$query_req$$.query.collections;$collections$$&&=$collections$$.split(",");$query_req$$={id_app:$query_req$$.query.id_app};$query_req$$.$or=[{id_a:$_id$$,collection_b:{$in:$collections$$}},{id_b:$_id$$,collection_a:{$in:$collections$$}}];
3
+ const $report$$=[];link.find($query_req$$).lean().exec(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);async.mapLimit($rs$$,20,function($r$$,$callback$$){let $model_name$$,$id_r$$;$r$$.id_a.toString()==$_id$$?($model_name$$=$r$$.collection_b,$id_r$$=$r$$.id_b):($model_name$$=$r$$.collection_a,$id_r$$=$r$$.id_a);if(!$model_name$$)return $callback$$();let $collection_goc$$=$r$$.collection_obj=$model_name$$;$model_name$$=="dmkh"&&($collection_goc$$="customer");$model_name$$=="dmtk"&&($collection_goc$$=
4
+ "account");$model_name$$=="dmnt"&&($collection_goc$$="currency");global.getModel(""+$collection_goc$$).findOne({_id:$id_r$$}).lean().exec(function($e$$,$ks$$){if($e$$)return $callback$$($e$$);if($ks$$){$r$$.obj=$ks$$;$e$$="_id";for(let $k$$ in $ks$$)if($k$$=="title"||$k$$.indexOf("ten_")===0){$e$$=$k$$;break}$r$$.title=$ks$$[$e$$];$report$$.push($r$$)}$callback$$(null,$ks$$)})},function(){$callback$$(null,$report$$)})})},{notNeedRight:!0})};
@@ -0,0 +1,11 @@
1
+ const tdttco=global.getModel("tdttco"),tdttco_tt=global.getModel("tdttco_tt"),Customer=global.getModel("customer"),Pc1=global.getModel("pc1"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),{executeInTransaction}=require("../../libs/sessionContext");
2
+ module.exports=function($router_rpt$$){$router_rpt$$=new controller($router_rpt$$,"phanbochitienchohoadon",function($req$$,$callback$$){const $condition$$=$req$$.query;if(!$condition$$.id_app||!$condition$$.tu_ngay||!$condition$$.den_ngay)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: tu_ngay,den_ngay,id_app");async.series({phieu_thu:function($callback$$){const $query_pt$$={id_app:$condition$$.id_app,$where:function(){return this.details&&this.details.length>0}};
3
+ $query_pt$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query_pt$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_kh&&($query_pt$$.ma_kh=$condition$$.ma_kh);$condition$$.so_ct&&($query_pt$$.so_ct=$condition$$.so_ct);Pc1.find($query_pt$$).lean().exec(function($e$$,$pts$$){if($e$$)return $callback$$($e$$);async.mapLimit($pts$$,20,function($pt$$,$callback$$){$pt$$.t_tien_nt=$pt$$.details.csum("tien_nt");$pt$$.t_tien=$pt$$.details.csum("tien");tdttco_tt.find({id_app:$condition$$.id_app,
4
+ id_ct:$pt$$._id.toString()}).exec(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$pt$$.da_phan_bo_nt=$rs$$.csum("tien_nt");$pt$$.da_phan_bo=$rs$$.csum("tien");$pt$$.con_lai_nt=$pt$$.t_tien_nt-$pt$$.da_phan_bo_nt;$pt$$.con_lai=$pt$$.t_tien-$pt$$.da_phan_bo;$callback$$(null,$pt$$)})},function($e$$){if($e$$)return $callback$$($e$$);$callback$$(null,$pts$$)})})}},function($error$$,$results$$){if($error$$)return $callback$$($error$$);const $report$$=$results$$.phieu_thu;$report$$.joinModel($condition$$.id_app,
5
+ Customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"},{name:"id_kh",value:"_id"}]}],function(){$callback$$(null,$report$$)})})});$router_rpt$$.createRoute("invoices",function($req$$,$callback$$){const $condition$$=$req$$.query;if(!$condition$$.id_app||!$condition$$.ma_kh||!$condition$$.id_ct)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: ma_kh,id_ct,id_app");async.series({invocies:function($callback$$){const $query$$={id_app:$condition$$.id_app};
6
+ $query$$.ma_kh=$condition$$.ma_kh;$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);tdttco.find($query$$).lean().exec(function($e$$,$invoices$$){if($e$$)return $callback$$($e$$);async.mapLimit($invoices$$,20,function($invoice$$,$callback$$){const $t_invoice$$={id_tdtt:$invoice$$._id,line:$invoice$$.line,ma_ct:$invoice$$.ma_ct,id_hd:$invoice$$.id_ct,so_hd:$invoice$$.so_hd,ngay_hd:$invoice$$.ngay_hd,tien_hd_nt:$invoice$$.tien_nt};$t_invoice$$.ma_nt_hd=$invoice$$.ma_nt;$t_invoice$$.ty_gia_hd=
7
+ $invoice$$.ty_gia;$t_invoice$$.ma_kh=$invoice$$.ma_kh;$t_invoice$$.dien_giai=$invoice$$.dien_giai;$t_invoice$$.tien_nt=0;$t_invoice$$.tien=0;$t_invoice$$.da_thanh_toan_nt=0;$t_invoice$$.con_lai_nt=$t_invoice$$.tien_hd_nt;$t_invoice$$.thanh_toan_qd=0;$t_invoice$$.tk_co=$invoice$$.tk_no;$t_invoice$$.ma_dvcs=$invoice$$.ma_dvcs;tdttco_tt.find({id_tdtt:$invoice$$._id,id_app:$invoice$$.id_app},function($error$$,$results$$){$t_invoice$$.tien_nt=$results$$.csum("tien_nt",{id_ct:$condition$$.id_ct});$t_invoice$$.tien=
8
+ $results$$.csum("tien",{id_ct:$condition$$.id_ct});$t_invoice$$.thanh_toan_qd=$results$$.csum("thanh_toan_qd",{id_ct:$condition$$.id_ct});$t_invoice$$.da_thanh_toan_nt=$results$$.csum("thanh_toan_qd")-$t_invoice$$.thanh_toan_qd;$t_invoice$$.con_lai_nt=$t_invoice$$.tien_hd_nt-$t_invoice$$.da_thanh_toan_nt;$t_invoice$$.tien_nt_alloc=$t_invoice$$.tien_nt;$callback$$(null,$t_invoice$$)})},function($error$$,$results$$){if($error$$)return $callback$$($error$$);$results$$=underscore.filter($results$$,function($r$$){return $r$$.con_lai_nt>
9
+ 0});$callback$$(null,$results$$)})})}},function($error$$,$results$$){if($error$$)return $callback$$($error$$);$callback$$(null,$results$$.invocies)})});$router_rpt$$.createRoute("save",async function($req$$,$callback$$){let $invoices$$=$req$$.body;underscore.isArray($invoices$$)||($invoices$$=[$invoices$$]);$invoices$$.forEach(function($invoice$$){$invoice$$.ngay_hd=new Date($invoice$$.ngay_hd);$invoice$$.ngay_ct=new Date($invoice$$.ngay_ct);$invoice$$.id_app=$req$$.query.id_app;$invoice$$.user_created=
10
+ $req$$.user.email});try{var $msgErrors_rs$$=await executeInTransaction(async()=>{let $result$$=[];for(let $invoice$$ of $invoices$$){await tdttco_tt.deleteMany({id_tdtt:$invoice$$.id_tdtt,id_ct:$invoice$$.id_ct,id_app:$invoice$$.id_app});let $rs$$=await (new tdttco_tt($invoice$$)).save();$result$$.push($rs$$)}return $result$$});$callback$$(null,$msgErrors_rs$$)}catch($error$$){if($error$$.errors){$msgErrors_rs$$=[];for(let $k$$ in $error$$.errors)$msgErrors_rs$$.push($error$$.errors[$k$$].message);
11
+ $callback$$($msgErrors_rs$$)}else $callback$$($error$$)}},{method:"POST"})};
@@ -0,0 +1,11 @@
1
+ const tdttno=global.getModel("tdttno"),tdttno_tt=global.getModel("tdttno_tt"),Customer=global.getModel("customer"),Pt1=global.getModel("pt1"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),{executeInTransaction}=require("../../libs/sessionContext");
2
+ module.exports=function($router_rpt$$){$router_rpt$$=new controller($router_rpt$$,"phanbothutienchohoadon",function($req$$,$callback$$){const $condition$$=$req$$.query;if(!$condition$$.id_app||!$condition$$.tu_ngay||!$condition$$.den_ngay)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: tu_ngay,den_ngay,id_app");async.series({phieu_thu:function($callback$$){const $query_pt$$={id_app:$condition$$.id_app,$where:function(){return this.details&&this.details.length>0}};
3
+ $query_pt$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query_pt$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_kh&&($query_pt$$.ma_kh=$condition$$.ma_kh);$condition$$.so_ct&&($query_pt$$.so_ct=$condition$$.so_ct);Pt1.find($query_pt$$).lean().exec(function($e$$,$pts$$){if($e$$)return $callback$$($e$$);async.mapLimit($pts$$,20,function($pt$$,$callback$$){$pt$$.t_tien_nt=$pt$$.details.csum("tien_nt");$pt$$.t_tien=$pt$$.details.csum("tien");tdttno_tt.find({id_app:$condition$$.id_app,
4
+ id_ct:$pt$$._id.toString()}).exec(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$pt$$.da_phan_bo_nt=$rs$$.csum("tien_nt");$pt$$.da_phan_bo=$rs$$.csum("tien");$pt$$.con_lai_nt=$pt$$.t_tien_nt-$pt$$.da_phan_bo_nt;$pt$$.con_lai=$pt$$.t_tien-$pt$$.da_phan_bo;$callback$$(null,$pt$$)})},function($e$$){if($e$$)return $callback$$($e$$);$callback$$(null,$pts$$)})})}},function($error$$,$results$$){if($error$$)return $callback$$($error$$);const $report$$=$results$$.phieu_thu;$report$$.joinModel($condition$$.id_app,
5
+ Customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"},{name:"id_kh",value:"_id"}]}],function(){$callback$$(null,$report$$)})})});$router_rpt$$.createRoute("invoices",function($req$$,$callback$$){const $condition$$=$req$$.query;if(!$condition$$.id_app||!$condition$$.ma_kh||!$condition$$.id_ct)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: ma_kh,id_ct,id_app");async.series({invocies:function($callback$$){const $query$$={id_app:$condition$$.id_app};
6
+ $query$$.ma_kh=$condition$$.ma_kh;$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);tdttno.find($query$$).lean().exec(function($e$$,$invoices$$){if($e$$)return $callback$$($e$$);async.map($invoices$$,function($invoice$$,$callback$$){const $t_invoice$$={id_tdtt:$invoice$$._id.toString(),line:$invoice$$.line,ma_ct:$invoice$$.ma_ct,id_hd:$invoice$$.id_ct,so_hd:$invoice$$.so_hd,ngay_hd:$invoice$$.ngay_hd,tien_hd_nt:$invoice$$.tien_nt};$t_invoice$$.ma_nt_hd=$invoice$$.ma_nt;$t_invoice$$.ty_gia_hd=
7
+ $invoice$$.ty_gia;$t_invoice$$.ma_kh=$invoice$$.ma_kh;$t_invoice$$.dien_giai=$invoice$$.dien_giai;$t_invoice$$.tien_nt=0;$t_invoice$$.tien=0;$t_invoice$$.da_thanh_toan_nt=0;$t_invoice$$.con_lai_nt=$t_invoice$$.tien_hd_nt;$t_invoice$$.thanh_toan_qd=0;$t_invoice$$.tk_co=$invoice$$.tk_no;$t_invoice$$.ma_dvcs=$invoice$$.ma_dvcs;tdttno_tt.find({id_tdtt:$invoice$$._id.toString(),id_app:$invoice$$.id_app},function($error$$,$results$$){$t_invoice$$.tien_nt=$results$$.csum("tien_nt",{id_ct:$condition$$.id_ct});
8
+ $t_invoice$$.tien=$results$$.csum("tien",{id_ct:$condition$$.id_ct});$t_invoice$$.thanh_toan_qd=$results$$.csum("thanh_toan_qd",{id_ct:$condition$$.id_ct});$t_invoice$$.da_thanh_toan_nt=$results$$.csum("thanh_toan_qd")-$t_invoice$$.thanh_toan_qd;$t_invoice$$.con_lai_nt=$t_invoice$$.tien_hd_nt-$t_invoice$$.da_thanh_toan_nt;$t_invoice$$.tien_nt_alloc=$t_invoice$$.tien_nt;$callback$$(null,$t_invoice$$)})},function($error$$,$results$$){if($error$$)return $callback$$($error$$);$callback$$(null,$results$$.filter($r$$=>
9
+ $r$$.con_lai_nt>0))})})}},function($error$$,$results$$){if($error$$)return $callback$$($error$$);$callback$$(null,$results$$.invocies)})});$router_rpt$$.createRoute("save",async function($req$$,$callback$$){let $invoices$$=$req$$.body;underscore.isArray($invoices$$)||($invoices$$=[$invoices$$]);$invoices$$.forEach(function($invoice$$){$invoice$$.ngay_hd=new Date($invoice$$.ngay_hd);$invoice$$.ngay_ct=new Date($invoice$$.ngay_ct);$invoice$$.id_app=$req$$.query.id_app;$invoice$$.user_created=$req$$.user.email});
10
+ try{var $msgErrors_rs$$=await executeInTransaction(async()=>{let $result$$=[];for(let $invoice$$ of $invoices$$){await tdttno_tt.deleteMany({id_tdtt:$invoice$$.id_tdtt,id_ct:$invoice$$.id_ct,id_app:$invoice$$.id_app});let $rs$$=await (new tdttno_tt($invoice$$)).save();$result$$.push($rs$$)}return $result$$});$callback$$(null,$msgErrors_rs$$)}catch($error$$){if($error$$.errors){$msgErrors_rs$$=[];for(let $k$$ in $error$$.errors)$msgErrors_rs$$.push($error$$.errors[$k$$].message);$callback$$($msgErrors_rs$$)}else $callback$$($error$$)}},
11
+ {method:"POST"})};
@@ -0,0 +1,7 @@
1
+ const sokho=global.getModel("sokho"),dmkh=global.getModel("customer"),rptobject=global.getModel("rptobject"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"ptbitralai",function($req$$,$callback$$){const $condition$$=$req$$.query;if(!$condition$$.tu_ngay||!$condition$$.den_ngay||!$condition$$.bao_cao_theo)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1:tu_ngay,den_ngay,bao_cao_theo");const $query$$={id_app:$condition$$.id_app,ma_ct:{$in:["HD3"]}},$bao_cao_theo$$=$condition$$.bao_cao_theo;$query$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};
3
+ $condition$$.ma_dvcs&&($query$$.ma_dvcs={$regex:$condition$$.ma_dvcs,$options:"i"});$condition$$.ma_vt&&($query$$.ma_vt={$regex:$condition$$.ma_vt,$options:"i"});$condition$$.ma_kho&&($query$$.ma_kho={$regex:$condition$$.ma_kho,$options:"i"});async.series({rptobject:function($callback$$){rptobject.findOne({code_rpt:"ptbitralai",ma_obj:$bao_cao_theo$$}).lean().exec(function($e$$,$rptobj$$){if($e$$)return $callback$$($e$$);if(!$rptobj$$)return $callback$$("Kh\u00f4ng th\u1ec3 b\u00e1o c\u00e1o theo \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y");
4
+ $callback$$(null,$rptobj$$)})},dskhach:function($callback$$){$condition$$.nh_kh?dmkh.find({id_app:$query$$.id_app,status:!0,nh_kh:$condition$$.nh_kh}).lean().exec(function($e$$,$dskh$$){if($e$$)return $callback$$($e$$);$callback$$(null,$dskh$$.map($k$$=>$k$$.ma_kh))}):$callback$$(null,null)}},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);const $rptobj$$=$rs$$.rptobject;$rs$$.dskhach&&($query$$.ma_kh={$in:$rs$$.dskhach});sokho.find($query$$).lean().exec(function($error$$,$rs$$){if($error$$)return Logger.info($error$$),
5
+ $callback$$($error$$);$rs$$.groupBy($bao_cao_theo$$,[{name:"sl_nhap",value:"sl_nhap"},{name:"tien",value:"tien"},{name:"tien_ck",value:"tien_ck"}],function($error$$,$rs$$){if($error$$)return Logger.info($error$$),$callback$$($error$$);var $report$$=underscore.sortBy($rs$$,function($r$$){return $r$$[$bao_cao_theo$$]});let $i$$=1;$report$$.forEach(function($r$$){$r$$.stt=$i$$;$r$$.bold=!1;$r$$.tien_tl=$r$$.tien-$r$$.tien_ck;$i$$++});$error$$=global.getModel(""+$rptobj$$.model_obj);$report$$.joinModel($condition$$.id_app,
6
+ $error$$,[{akey:$bao_cao_theo$$,bkey:$rptobj$$.value_field,fields:[{name:"chi_tieu",value:$rptobj$$.header_field}]}],function(){const $t_sl$$=$report$$.csum("sl_nhap"),$t_tien_tl$$=$report$$.csum("tien_tl"),$t_tien$$=$report$$.csum("tien");$report$$.push({chi_tieu:"T\u1ed5ng c\u1ed9ng",sl_nhap:$t_sl$$,tien:$t_tien$$,tien_ck:$report$$.csum("tien_ck"),tien_tl:$t_tien_tl$$,bold:!0});$t_sl$$!==0&&$report$$.forEach(function($r$$){$r$$.ty_trong=Math.roundBy($r$$.sl_nhap/$t_sl$$,2)*100});$callback$$(null,
7
+ $report$$)})})})})})};
@@ -0,0 +1,24 @@
1
+ const kbmpttct=global.getModel("kbmPttct"),rptform=global.getModel("rptform"),vatvao=global.getModel("vatvao"),vatra=global.getModel("vatra"),sokho=global.getModel("sokho"),async=require("async"),_=require("lodash"),{calcGrid,evalute}=require("../../libs/utils"),utils=require("../../libs/utils"),moment=require("moment"),controller=require("../../controllers/controllerRPT"),{getCodeChildren,groupByCondition}=require("../../libs/utils"),getRegString=function($arrayTk$$){return $arrayTk$$?$arrayTk$$.reg():
2
+ null};
3
+ module.exports=function($router$$){new controller($router$$,"ptcttct",async function($req$$,$callback$$){let $query$$=$req$$.query;if(!$query$$.den_ngay||!$query$$.tu_ngay||!$query$$.id_rptform&&!$query$$.form_code)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 t\u1eeb ng\u00e0y(tu_ngay), \u0111\u1ebfn ng\u00e0y(den_ngay), id m\u1eabu b\u00e1o c\u00e1o");if($query$$.id_rptform&&!global.mongoose.Types.ObjectId.isValid($query$$.id_rptform))return $callback$$("M\u1eabu b\u00e1o c\u00e1o n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb");if($query$$.ma_bp){var $_rptform_bps_dts_phis_query_form$$=
4
+ await getCodeChildren(global.getModel("dmbp"),$query$$.id_app,$query$$.ma_bp,"ma_bp","ma_bp_me");$query$$.ma_bp={$in:$_rptform_bps_dts_phis_query_form$$}}$query$$.ma_phi&&($_rptform_bps_dts_phis_query_form$$=await getCodeChildren(global.getModel("dmphi"),$query$$.id_app,$query$$.ma_phi,"ma_phi","ma_phi_me"),$query$$.ma_phi={$in:$_rptform_bps_dts_phis_query_form$$});$query$$.ma_dt&&($_rptform_bps_dts_phis_query_form$$=await getCodeChildren(global.getModel("dmdt"),$query$$.id_app,$query$$.ma_dt,"ma_dt",
5
+ "ma_dt_me"),$query$$.ma_dt={$in:$_rptform_bps_dts_phis_query_form$$});$query$$.tu_ngay=moment(new Date($query$$.tu_ngay)).startOf("date").toDate();$query$$.den_ngay=moment(new Date($query$$.den_ngay)).endOf("date").toDate();$_rptform_bps_dts_phis_query_form$$={id_app:$query$$.id_app};$query$$.id_rptform?$_rptform_bps_dts_phis_query_form$$._id=$query$$.id_rptform:$_rptform_bps_dts_phis_query_form$$.form_code=$query$$.form_code;$_rptform_bps_dts_phis_query_form$$=await rptform.findOne($_rptform_bps_dts_phis_query_form$$).lean();
6
+ if(!$_rptform_bps_dts_phis_query_form$$)return $callback$$("M\u1eabu b\u00e1o c\u00e1o kh\u00f4ng t\u1ed3n t\u1ea1i");let $report$$=$_rptform_bps_dts_phis_query_form$$.report;$report$$&&$_rptform_bps_dts_phis_query_form$$.report.length!==0||($report$$=await kbmpttct.find({id_rptform:$_rptform_bps_dts_phis_query_form$$._id.toString()}).sort({stt:1}).lean());async.map($report$$,function($r$$,$c1$$){setImmediate(()=>{$r$$.stt_child=0;if($r$$.cach_tinh==="9")$r$$.cong_thuc="",utils.getInfoFromQuery($query$$,
7
+ $r$$.query,($e$$,$rs$$)=>{if($e$$)return $c1$$();_.isNumber($rs$$)?($r$$.so_kn=$rs$$,$r$$.so_kn_nt=$rs$$):$r$$.value_string=$rs$$;$c1$$()});else if($r$$.cach_tinh==="2")$r$$.cong_thuc="",async.parallel({ky_nay:function($callback$$){setImmediate(async()=>{let $condition$$={ngay_ct:{$gte:$query$$.tu_ngay,$lte:$query$$.den_ngay},id_app:$query$$.id_app};$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);$query$$.ma_bp&&($condition$$.ma_bp=$query$$.ma_bp);$query$$.ma_hd&&($condition$$.ma_hd=$query$$.ma_hd);
8
+ $query$$.ma_dt&&($condition$$.ma_dt=$query$$.ma_dt);$query$$.ma_sp&&($condition$$.ma_sp=$query$$.ma_sp);$query$$.ma_nv&&($condition$$.ma_nv=$query$$.ma_nv);$r$$.ma_phi&&($condition$$.ma_phi={$in:await getCodeChildren(global.getModel("dmphi"),$query$$.id_app,$r$$.ma_phi,"ma_phi","ma_phi_me")});var $tk_co_tk_no$$=getRegString($r$$.tk_no);$tk_co_tk_no$$&&($condition$$.tk_no=$r$$.giam_tru_no?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"});if($tk_co_tk_no$$=getRegString($r$$.tk_co))$condition$$.tk_co=
9
+ $r$$.giam_tru_co&&$tk_co_tk_no$$?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"};if($r$$.dieu_kien_khac)try{$r$$.dieu_kien_khac.indexOf("{")<0&&($r$$.dieu_kien_khac="{"+$r$$.dieu_kien_khac+"}");var $socai_str_func$$=$r$$.dieu_kien_khac;$socai_str_func$$.indexOf("return ")<0&&($socai_str_func$$=`return ${$socai_str_func$$}`);let $dieu_kien_khac$$=utils.evalute($socai_str_func$$,{moment,condition:$condition$$,row:$r$$});$condition$$={...$condition$$,...$dieu_kien_khac$$}}catch($e$$){$callback$$($e$$.toString())}$r$$.ma_kho?
10
+ ($condition$$.ma_kho=$r$$.ma_kho,$socai_str_func$$=global.getModel("socaitc")):$socai_str_func$$=global.getModel("socaitt");let $rs_socai$$=await groupByCondition($socai_str_func$$,$condition$$,["id_ct"],{sum:["tien","tien_nt"],max:["so_ct","ngay_ct","dien_giai","ma_ct"]});$r$$.so_kn=$rs_socai$$.csum("tien");$r$$.so_kn_nt=$rs_socai$$.csum("tien_nt");let $id_cts$$=$rs_socai$$.map($r$$=>$r$$.id_ct);async.parallel({vatra:$callback$$=>{groupByCondition(vatra,{id_app:$query$$.id_app,id_ct:{$in:$id_cts$$}},
11
+ ["id_ct"],{sum:["t_thue","t_thue_nt"]}).then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})},vatvao:$callback$$=>{groupByCondition(vatvao,{id_app:$query$$.id_app,id_ct:{$in:$id_cts$$}},["id_ct"],{sum:["t_thue","t_thue_nt"]}).then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})},sokho:$callback$$=>{groupByCondition(sokho,{id_app:$query$$.id_app,id_ct:{$in:$id_cts$$}},["id_ct","ma_vt"],{sum:"sl_nhap sl_xuat sl_nhap_qd sl_xuat_qd tien_nhap tien_xuat".split(" "),
12
+ max:["so_ct","ngay_ct","dien_giai","ma_ct"]}).then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})},socai:$callback$$=>{$callback$$(null,$rs_socai$$)}},($e$$,$rs$$)=>{$r$$.vatra=$rs$$.vatra.csum("t_thue");$r$$.vatvao=$rs$$.vatvao.csum("t_thue");$r$$.vatra_nt=$rs$$.vatra.csum("t_thue_nt");$r$$.vatvao_nt=$rs$$.vatvao.csum("t_thue_nt");$r$$.thue=$r$$.vatra+$r$$.vatvao;$r$$.thue_nt=$r$$.vatra_nt+$r$$.vatvao_nt;$r$$.sl_nhap=$rs$$.sokho.csum("sl_nhap");$r$$.sl_xuat=$rs$$.sokho.csum("sl_xuat");
13
+ $r$$.so_luong=$r$$.sl_nhap+$r$$.sl_xuat;$r$$.t_tt=$r$$.thue+$r$$.so_kn;$r$$.t_tt_nt=$r$$.thue_nt+$r$$.so_kn_nt;$r$$.sokho=$rs$$.sokho;$r$$.ct_socai&&($r$$.socai=$rs$$.socai,$r$$.socai.sort(($a$$,$b$$)=>(new Date($a$$.ngay_ct)).getTime()>(new Date($b$$.ngay_ct)).getTime()?1:(new Date($a$$.ngay_ct)).getTime()<(new Date($b$$.ngay_ct)).getTime()?-1:$a$$.so_ct>$b$$.so_ct?1:$a$$.so_ct<$b$$.so_ct?-1:0).forEach(($s$$,$index$$)=>{$s$$.thue=$rs$$.vatra.csum("t_thue",{id_ct:$s$$.id_ct})+$rs$$.vatvao.csum("t_thue",
14
+ {id_ct:$s$$.id_ct});$s$$.thue_nt=$rs$$.vatra.csum("t_thue_nt",{id_ct:$s$$.id_ct})+$rs$$.vatvao.csum("t_thue_nt",{id_ct:$s$$.id_ct});$s$$.so_luong=$rs$$.sokho.csum("sl_nhap",{id_ct:$s$$.id_ct})+$rs$$.sokho.csum("sl_xuat",{id_ct:$s$$.id_ct});$s$$.gia=$s$$.so_luong!==0?Math.roundBy($s$$.tien/$s$$.so_luong,0):0;$s$$.gia_nt=$s$$.so_luong!==0?Math.roundBy($s$$.tien_nt/$s$$.so_luong,2):0;$s$$.t_tt=$s$$.thue+$s$$.tien;$s$$.t_tt_nt=$s$$.thue_nt+$s$$.tien_nt;$s$$.stt=$r$$.stt;$r$$.stt_child=$index$$+1;$report$$.push($s$$)}));
15
+ $callback$$($e$$,$r$$)})})}},function($error$$,$results$$){$c1$$($error$$,$results$$)});else if($r$$.cach_tinh==="99"&&$r$$.script){$r$$.cong_thuc="";if($r$$.script.indexOf("async ")>=0)return $c1$$("async function is not allow");let $func_string$$=`return (async ()=>{
16
+ try{
17
+ ${$r$$.script}
18
+ }catch(e){
19
+ return {error:e}
20
+ }
21
+
22
+ })`;evalute($func_string$$,{row:$r$$,moment,condition:$query$$,user:$req$$.user,_,utils})().then($rs$$=>{if($rs$$&&$rs$$.error)return Logger.error($rs$$.error,$func_string$$),$c1$$($rs$$.error.message||$rs$$.error);$c1$$(null,$r$$)}).catch($e$$=>{Logger.error($e$$,$func_string$$);return $c1$$($e$$.message||$e$$)})}else $c1$$(null,$r$$)})},function($cbRow_error$$){if($cbRow_error$$)return $callback$$($cbRow_error$$);$cbRow_error$$=function($e$$,$r$$){$r$$.chi_tinh_cac_cot&&$r$$.chi_tinh_cac_cot.length>
23
+ 0&&("so_kn so_kn_nt vatra vatvao vatra_nt vatvao_nt thue thue_nt sl_nhap sl_xuat so_luong t_tt t_tt_nt".split(" ").forEach($c$$=>{$r$$.chi_tinh_cac_cot.indexOf($c$$)<0&&($r$$[$c$$]=0)}),$r$$.chi_tinh_cac_cot.indexOf("t_tt")<0&&($r$$.t_tt=$r$$.thue+$r$$.so_kn))};calcGrid($report$$,{so_kn:$cbRow_error$$,so_kn_nt:$cbRow_error$$,vatra:$cbRow_error$$,vatvao:$cbRow_error$$,vatra_nt:$cbRow_error$$,vatvao_nt:$cbRow_error$$,thue:$cbRow_error$$,thue_nt:$cbRow_error$$,sl_nhap:$cbRow_error$$,sl_xuat:$cbRow_error$$,
24
+ so_luong:$cbRow_error$$,t_tt:$cbRow_error$$,t_tt_nt:$cbRow_error$$},function($rs$$){$rs$$=$rs$$.sort(($a$$,$b$$)=>$a$$.stt>$b$$.stt?1:$a$$.stt<$b$$.stt?-1:$a$$.stt_child-$b$$.stt_child);$callback$$(null,$rs$$)})})})};
@@ -0,0 +1,8 @@
1
+ const async=require("async"),_=require("lodash"),so1=global.getModel("so1"),hd3=global.getModel("hd3"),dmkh=global.getModel("customer"),rptobject=global.getModel("rptobject"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"ptdonhang",function($req$$,$callback$$){const $condition$$=$req$$.query;if(!$condition$$.tu_ngay||!$condition$$.den_ngay||!$condition$$.bao_cao_theo)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1:tu_ngay,den_ngay,bao_cao_theo");const $query$$={id_app:$condition$$.id_app},$bao_cao_theo$$=$condition$$.bao_cao_theo;$query$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&
3
+ ($query$$.ma_dvcs={$regex:$condition$$.ma_dvcs,$options:"i"});$condition$$.ma_kho&&($query$$.ma_kho={$regex:$condition$$.ma_kho,$options:"i"});async.series({rptobject:function($callback$$){rptobject.findOne({code_rpt:"ptdonhang",ma_obj:$bao_cao_theo$$}).lean().exec(function($e$$,$rptobj$$){if($e$$)return $callback$$($e$$);if(!$rptobj$$)return $callback$$("Kh\u00f4ng th\u1ec3 b\u00e1o c\u00e1o theo \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y");$callback$$(null,$rptobj$$)})},dskhach:function($callback$$){$condition$$.nh_kh?
4
+ dmkh.find({id_app:$query$$.id_app,status:!0,nh_kh:$condition$$.nh_kh}).lean().exec(function($e$$,$dskh$$){if($e$$)return $callback$$($e$$);$callback$$(null,$dskh$$.map($k$$=>$k$$.ma_kh))}):$callback$$(null,null)}},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);const $rptobj$$=$rs$$.rptobject;$rs$$.dskhach&&($query$$.ma_kh={$in:$rs$$.dskhach});async.series({tralai:function($callback$$){const $q$$={id_app:$query$$.id_app,ngay_ct:$query$$.ngay_ct};$condition$$.ma_dvcs&&($q$$.ma_dvcs={$regex:$condition$$.ma_dvcs,
5
+ $options:"i"});$condition$$.ma_kho&&($q$$.ma_kho={$regex:$condition$$.ma_kho,$options:"i"});$rs$$.dskhach&&($q$$.ma_kh={$in:$rs$$.dskhach});hd3.find($q$$).lean().exec(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})},donhang:function($callback$$){so1.find($query$$).lean().exec(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})}},function($e$$,$rs$$){if($e$$)return Logger.info($e$$),$callback$$($e$$);$e$$=$rs$$.tralai;$rs$$=$rs$$.donhang;
6
+ $rs$$.forEach(function($r$$){$r$$.dat_hang=1;Number($r$$.trang_thai)>=3&&($r$$.da_phat=1);Number($r$$.trang_thai)==4&&($r$$.thanh_cong=1);Number($r$$.trang_thai)==5&&($r$$.huy=1)});$e$$.forEach(function($tl$$){$tl$$.tra_lai=1;$rs$$.push($tl$$)});$rs$$.groupBy($bao_cao_theo$$,[{name:"dat_hang",value:"dat_hang"},{name:"da_phat",value:"da_phat"},{name:"thanh_cong",value:"thanh_cong"},{name:"huy",value:"huy"},{name:"tra_lai",value:"tra_lai"}],function($error$$,$rs$$){if($error$$)return Logger.info($error$$),
7
+ $callback$$($error$$);const $report$$=_.sortBy($rs$$,function($r$$){return $r$$[$bao_cao_theo$$]});let $i$$=1;$report$$.forEach(function($r$$){$r$$.stt=$i$$;$r$$.bold=!1;$i$$++});$error$$=global.getModel(""+$rptobj$$.model_obj);$report$$.joinModel($condition$$.id_app,$error$$,[{akey:$bao_cao_theo$$,bkey:$rptobj$$.value_field,fields:[{name:"chi_tieu",value:$rptobj$$.header_field}]}],function(){$report$$.push({chi_tieu:"T\u1ed5ng c\u1ed9ng",dat_hang:$report$$.csum("dat_hang"),da_phat:$report$$.csum("da_phat"),
8
+ thanh_cong:$report$$.csum("thanh_cong"),huy:$report$$.csum("huy"),bold:!0});$callback$$(null,$report$$)})})})})})};
@@ -0,0 +1,52 @@
1
+ const cktk=require("../../libs/cktk"),dktk=require("../../libs/dktk"),rptform=global.getModel("rptform"),async=require("async"),_=require("lodash"),utils=require("../../libs/utils"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),numeral=require("numeral"),getRegString=function($arrayTk$$){if($arrayTk$$)return $arrayTk$$.reg()},{getCodeChildren,sumByCondition}=require("../../libs/utils");
2
+ module.exports=function($router$$){new controller($router$$,"pttct",async function($req$$,$callback$$){let $query$$=$req$$.query;if(!$query$$.den_ngay||!$query$$.tu_ngay||!$query$$.id_rptform&&!$query$$.form_code)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 t\u1eeb ng\u00e0y(tu_ngay), \u0111\u1ebfn ng\u00e0y(den_ngay), id m\u1eabu b\u00e1o c\u00e1o");if($query$$.id_rptform&&!global.mongoose.Types.ObjectId.isValid($query$$.id_rptform))return $callback$$("M\u1eabu b\u00e1o c\u00e1o n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb");
3
+ if($query$$.ma_bp){var $bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=await getCodeChildren(global.getModel("dmbp"),$query$$.id_app,$query$$.ma_bp,"ma_bp","ma_bp_me");$query$$.ma_bp={$in:$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$}}$query$$.ma_phi&&($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=await getCodeChildren(global.getModel("dmphi"),$query$$.id_app,
4
+ $query$$.ma_phi,"ma_phi","ma_phi_me"),$query$$.ma_phi={$in:$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$});$query$$.ma_dt&&($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=await getCodeChildren(global.getModel("dmdt"),$query$$.id_app,$query$$.ma_dt,"ma_dt","ma_dt_me"),$query$$.ma_dt={$in:$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$});$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=
5
+ {id_app:$query$$.id_app};$query$$.id_rptform?$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$._id=$query$$.id_rptform:$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.form_code=$query$$.form_code;const $_rptform$$=await rptform.findOne($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).lean();if(!$_rptform$$)return $callback$$("M\u1eabu b\u00e1o c\u00e1o kh\u00f4ng t\u1ed3n t\u1ea1i");
6
+ $query$$.tu_ngay=moment(new Date($query$$.tu_ngay)).startOf("date").toDate();$query$$.den_ngay=moment(new Date($query$$.den_ngay)).endOf("date").toDate();let $report$$=$_rptform$$.report;$report$$&&$_rptform$$.report.length!==0||($report$$=await global.getModel("kbmPttct").find({id_rptform:$_rptform$$._id.toString(),id_app:$query$$.id_app}).sort({stt:1}).lean());let $kys$$=[];switch($query$$.loai_ky){case "ngay":for($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=
7
+ moment($query$$.tu_ngay).startOf("date").toDate();$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getTime()<$query$$.den_ngay.getTime();){var $den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$=moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).endOf("date").toDate();$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$.getTime()>$query$$.den_ngay.getTime()&&
8
+ ($den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$=$query$$.den_ngay);$kys$$.push({field:`so_${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getDate()}-${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getMonth()+1}-${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,header:`${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getDate()}/${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getMonth()+
9
+ 1}/${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,datatype:"Number",ma_ky:`${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getDate()}-${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getMonth()+1}-${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,ten_ky:`${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getDate()}/${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getMonth()+
10
+ 1}/${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,tu_ngay:$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$,den_ngay:$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$});$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=moment($den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$).add(1,"days").startOf("date").toDate()}$kys$$.push({ma_ky:"tong_cong",
11
+ ten_ky:"T\u1ed5ng c\u1ed9ng",datatype:"Number",tu_ngay:moment($query$$.tu_ngay).startOf("date").toDate(),den_ngay:moment($query$$.den_ngay).endOf("date").toDate()});break;case "tuan":for($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=moment($query$$.tu_ngay).startOf("date").toDate();$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getTime()<$query$$.den_ngay.getTime();)$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$=
12
+ moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).endOf("week").toDate(),$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$.getTime()>$query$$.den_ngay.getTime()&&($den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$=$query$$.den_ngay),$kys$$.push({field:`so_${moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).get("weeks")}-${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,
13
+ header:`Tu\u1ea7n ${moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).get("weeks")}/${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,ma_ky:`${moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).get("weeks")}-${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,ten_ky:`Tu\u1ea7n ${moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).get("weeks")}/${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,
14
+ tu_ngay:$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$,den_ngay:$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$}),$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=moment($den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$).add(1,"days").startOf("date").toDate();$kys$$.push({ma_ky:"tong_cong",ten_ky:"T\u1ed5ng c\u1ed9ng",datatype:"Number",tu_ngay:moment($query$$.tu_ngay).startOf("date").toDate(),
15
+ den_ngay:moment($query$$.den_ngay).endOf("date").toDate()});break;case "thang":for($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=moment($query$$.tu_ngay).startOf("date").toDate();$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getTime()<$query$$.den_ngay.getTime();)$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$=moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).endOf("month").toDate(),
16
+ $den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$.getTime()>$query$$.den_ngay.getTime()&&($den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$=$query$$.den_ngay),$kys$$.push({field:`so_${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getMonth()+1}-${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,header:`Th\u00e1ng ${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getMonth()+
17
+ 1}/${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,datatype:"Number",ma_ky:`${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getMonth()+1}-${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,ten_ky:`Th\u00e1ng ${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getMonth()+1}/${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,
18
+ tu_ngay:$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$,den_ngay:$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$}),$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=moment($den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$).add(1,"days").startOf("date").toDate();$kys$$.push({ma_ky:"tong_cong",ten_ky:"T\u1ed5ng c\u1ed9ng",datatype:"Number",tu_ngay:moment($query$$.tu_ngay).startOf("date").toDate(),
19
+ den_ngay:moment($query$$.den_ngay).endOf("date").toDate()});break;case "quy":for($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=moment($query$$.tu_ngay).startOf("date").toDate();$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getTime()<$query$$.den_ngay.getTime();)$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$=moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).endOf("quarters").toDate(),
20
+ $den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$.getTime()>$query$$.den_ngay.getTime()&&($den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$=$query$$.den_ngay),$kys$$.push({field:`so_${moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).get("quarters")}-${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,header:`${moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).get("quarters")}/${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,
21
+ datatype:"Number",ma_ky:`${moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).get("quarters")}-${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,ten_ky:`${moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).get("quarters")}/${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,tu_ngay:$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$,
22
+ den_ngay:$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$}),$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=moment($den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$).add(1,"days").startOf("date").toDate();$kys$$.push({ma_ky:"tong_cong",ten_ky:"T\u1ed5ng c\u1ed9ng",datatype:"Number",tu_ngay:moment($query$$.tu_ngay).startOf("date").toDate(),den_ngay:moment($query$$.den_ngay).endOf("date").toDate()});break;
23
+ case "nam":for($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=moment($query$$.tu_ngay).startOf("date").toDate();$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getTime()<$query$$.den_ngay.getTime();)$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$=moment($bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$).endOf("year").toDate(),$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$.getTime()>
24
+ $query$$.den_ngay.getTime()&&($den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$=$query$$.den_ngay),$kys$$.push({field:`so_${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,header:`${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,ma_ky:`${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,ten_ky:`${$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$.getFullYear()}`,
25
+ tu_ngay:$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$,den_ngay:$den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$}),$bps_dts_phis_query_form_tu_ngay_tu_ngay$jscomp$1_tu_ngay$jscomp$2_tu_ngay$jscomp$3_tu_ngay$$=moment($den_ngay_den_ngay$jscomp$1_den_ngay$jscomp$2_den_ngay$jscomp$3_den_ngay$$).add(1,"days").startOf("date").toDate();$kys$$.push({ma_ky:"tong_cong",ten_ky:"T\u1ed5ng c\u1ed9ng",datatype:"Number",tu_ngay:moment($query$$.tu_ngay).startOf("date").toDate(),
26
+ den_ngay:moment($query$$.den_ngay).endOf("date").toDate()});break;case "kn":$kys$$=[{field:"so_kn",header:"Gi\u00e1 tr\u1ecb",datatype:"Number",ma_ky:"kn",ten_ky:"Gi\u00e1 tr\u1ecb",tu_ngay:$query$$.tu_ngay,den_ngay:$query$$.den_ngay}];break;default:$query$$.tu_ngay_kt=new Date($query$$.tu_ngay),$query$$.tu_ngay_kt.setYear($query$$.tu_ngay_kt.getFullYear()-1),$query$$.den_ngay_kt=new Date($query$$.den_ngay),$query$$.den_ngay_kt.setYear($query$$.den_ngay_kt.getFullYear()-1),$kys$$=[{field:"so_kt",
27
+ header:"K\u1ef3 tr\u01b0\u1edbc",datatype:"Number",ma_ky:"kt",ten_ky:"K\u1ef3 tr\u01b0\u1edbc",tu_ngay:$query$$.tu_ngay_kt,den_ngay:$query$$.den_ngay_kt},{field:"so_kn",header:"K\u1ef3 n\u00e0y",datatype:"Number",ma_ky:"kn",ten_ky:"K\u1ef3 n\u00e0y",tu_ngay:$query$$.tu_ngay,den_ngay:$query$$.den_ngay}]}async.map($report$$,($r$$,$c1$$)=>{setImmediate(()=>{switch($r$$.cach_tinh){case "9":$r$$.cong_thuc="";utils.getInfoFromQuery($query$$,$r$$.query,($e$$,$rs$$)=>{if($e$$)return $c1$$();_.isNumber($rs$$)?
28
+ ($r$$.so_kn=$rs$$,$r$$.so_kn_nt=$rs$$,$r$$.so_kt=$rs$$,$r$$.so_kt_nt=$rs$$):$r$$.value_string=$rs$$;$c1$$()});break;case "2":$r$$.cong_thuc="";async.map($kys$$,($ky$$,$callback$$)=>{setImmediate(async()=>{let $condition$$={ngay_ct:{$gte:$ky$$.tu_ngay,$lte:$ky$$.den_ngay},id_app:$query$$.id_app};$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);$query$$.ma_bp&&($condition$$.ma_bp=$query$$.ma_bp);$query$$.ma_hd&&($condition$$.ma_hd=$query$$.ma_hd);$query$$.ma_dt&&($condition$$.ma_dt=$query$$.ma_dt);
29
+ $query$$.ma_sp&&($condition$$.ma_sp=$query$$.ma_sp);$query$$.ma_nv&&($condition$$.ma_nv=$query$$.ma_nv);$r$$.ma_phi&&($condition$$.ma_phi={$in:await getCodeChildren(global.getModel("dmphi"),$query$$.id_app,$r$$.ma_phi,"ma_phi","ma_phi_me")});var $tk_co_tk_no$$=getRegString($r$$.tk_no);$tk_co_tk_no$$&&($condition$$.tk_no=$r$$.giam_tru_no?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"});if($tk_co_tk_no$$=getRegString($r$$.tk_co))$condition$$.tk_co=$r$$.giam_tru_co&&$tk_co_tk_no$$?
30
+ {$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"};if($r$$.dieu_kien_khac)try{$r$$.dieu_kien_khac.indexOf("{")<0&&($r$$.dieu_kien_khac="{"+$r$$.dieu_kien_khac+"}");var $socai_str_func$$=$r$$.dieu_kien_khac;$socai_str_func$$.indexOf("return ")<0&&($socai_str_func$$=`return ${$socai_str_func$$}`);let $dieu_kien_khac$$=utils.evalute($socai_str_func$$,{moment,condition:$condition$$,row:$r$$});$condition$$={...$condition$$,...$dieu_kien_khac$$}}catch($e$$){return $callback$$($e$$.toString())}$r$$.ma_kho?
31
+ ($condition$$.ma_kho=$r$$.ma_kho,$socai_str_func$$=global.getModel("socaitc")):$socai_str_func$$=global.getModel("socaitt");sumByCondition($socai_str_func$$,["tien","tien_nt"],$condition$$).then($dt$$=>{$r$$[`so_${$ky$$.ma_ky}`]=$dt$$.tien;$r$$[`so_${$ky$$.ma_ky}_nt`]=$dt$$.tien_nt}).catch($e$$=>{$callback$$($e$$)})})},($e$$,$rs$$)=>{$c1$$($e$$,$rs$$)});break;case "5":$r$$.cong_thuc="";async.map($kys$$,($ky$$,$callback$$)=>{let $condition$$={...$query$$};$condition$$.ngay=$ky$$.tu_ngay;$condition$$.bu_tru=
32
+ $r$$.bu_tru_cong_no;$condition$$.tk=$r$$.tk;delete $condition$$.tu_ngay;delete $condition$$.den_ngay;dktk($condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$r$$[`so_${$ky$$.ma_ky}`]=$result$$.csum("du_no00");$r$$[`so_${$ky$$.ma_ky}_nt`]=$result$$.csum("du_no_nt00");$r$$[`so_${$ky$$.ma_ky}`]<0&&$r$$.khong_am&&($r$$[`so_${$ky$$.ma_ky}`]=0);$r$$[`so_${$ky$$.ma_ky}_nt`]<0&&$r$$.khong_am&&($r$$[`so_${$ky$$.ma_ky}_nt`]=0);$callback$$(null,$r$$)})},($e$$,$rs$$)=>{$c1$$($e$$,
33
+ $rs$$)});break;case "6":$r$$.cong_thuc="";async.map($kys$$,($ky$$,$callback$$)=>{let $condition$$={...$query$$};$condition$$.ngay=$ky$$.tu_ngay;$condition$$.bu_tru=$r$$.bu_tru_cong_no;$condition$$.tk=$r$$.tk;delete $condition$$.tu_ngay;delete $condition$$.den_ngay;dktk($condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$r$$[`so_${$ky$$.ma_ky}`]=$result$$.csum("du_co00");$r$$[`so_${$ky$$.ma_ky}_nt`]=$result$$.csum("du_co_nt00");$r$$[`so_${$ky$$.ma_ky}`]<0&&$r$$.khong_am&&
34
+ ($r$$[`so_${$ky$$.ma_ky}`]=0);$r$$[`so_${$ky$$.ma_ky}_nt`]<0&&$r$$.khong_am&&($r$$[`so_${$ky$$.ma_ky}_nt`]=0);$callback$$(null,$r$$)})},($e$$,$rs$$)=>{$c1$$($e$$,$rs$$)});break;case "7":$r$$.cong_thuc="";async.map($kys$$,($ky$$,$callback$$)=>{let $condition$$={...$query$$};$condition$$.ngay=$ky$$.den_ngay;$condition$$.bu_tru=$r$$.bu_tru_cong_no;$condition$$.tk=$r$$.tk;delete $condition$$.tu_ngay;delete $condition$$.den_ngay;cktk($condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);
35
+ $r$$[`so_${$ky$$.ma_ky}`]=$result$$.csum("du_no00");$r$$[`so_${$ky$$.ma_ky}_nt`]=$result$$.csum("du_no_nt00");$r$$[`so_${$ky$$.ma_ky}`]<0&&$r$$.khong_am&&($r$$[`so_${$ky$$.ma_ky}`]=0);$r$$[`so_${$ky$$.ma_ky}_nt`]<0&&$r$$.khong_am&&($r$$[`so_${$ky$$.ma_ky}_nt`]=0);$callback$$(null,$r$$)})},($e$$,$rs$$)=>{$c1$$($e$$,$rs$$)});break;case "8":$r$$.cong_thuc="";async.map($kys$$,($ky$$,$callback$$)=>{let $condition$$={...$query$$};$condition$$.ngay=$ky$$.den_ngay;$condition$$.bu_tru=$r$$.bu_tru_cong_no;
36
+ $condition$$.tk=$r$$.tk;delete $condition$$.tu_ngay;delete $condition$$.den_ngay;cktk($condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$r$$[`so_${$ky$$.ma_ky}`]=$result$$.csum("du_co00");$r$$[`so_${$ky$$.ma_ky}_nt`]=$result$$.csum("du_co_nt00");$r$$[`so_${$ky$$.ma_ky}`]<0&&$r$$.khong_am&&($r$$[`so_${$ky$$.ma_ky}`]=0);$r$$[`so_${$ky$$.ma_ky}_nt`]<0&&$r$$.khong_am&&($r$$[`so_${$ky$$.ma_ky}_nt`]=0);$callback$$(null,$r$$)})},($e$$,$rs$$)=>{$c1$$($e$$,$rs$$)});break;case "99":if(!$r$$.script)return $c1$$(null,
37
+ $r$$);if($r$$.script.indexOf("async ")>=0)return $c1$$("async function is not allow");let $func_string$$=`return (async ()=>{
38
+ try{
39
+ ${$r$$.script}
40
+ }catch(e){
41
+ return {error:e}
42
+ }
43
+
44
+ })`;$r$$.cong_thuc="";utils.evalute($func_string$$,{row:$r$$,moment,condition:$query$$,user:$req$$.user,_,utils})().then($rs$$=>{if($rs$$&&$rs$$.error)return Logger.error($rs$$.error,$func_string$$),$c1$$($rs$$.error.message||$rs$$.error.error||$rs$$.error);$c1$$(null,$r$$)}).catch($e$$=>{Logger.error($e$$,$func_string$$);return $c1$$($e$$.message||$e$$.error||$e$$)});break;default:$c1$$(null,$r$$)}})},function($error$$){if($error$$)return $callback$$($error$$);$error$$=$kys$$.map($k$$=>`so_${$k$$.ma_ky},so_${$k$$.ma_ky}_nt`).join(",");
45
+ utils.calcGrid($report$$,$error$$,async function($data$$){if($_rptform$$.handle_data_expression_server){if($_rptform$$.handle_data_expression_server.indexOf("async ")>=0)return $callback$$("async function is not allow");let $func_string$$=`return (async ()=>{
46
+ try{
47
+ ${$_rptform$$.handle_data_expression_server}
48
+ }catch(e){
49
+ return {error:e}
50
+ }
51
+
52
+ })`;try{let $rs$$=await utils.evalute($func_string$$,{data:$data$$,moment,numeral,condition:$req$$.query})();if($rs$$){if($rs$$.error)return Logger.error($rs$$.error,$func_string$$),$callback$$($rs$$.error.message||$rs$$.error);$data$$=$rs$$}}catch($e$$){return Logger.error($e$$,$func_string$$),$callback$$($e$$.message||$e$$)}}$req$$.query.loai_ky?$callback$$(null,{data:$data$$.filter($r$$=>$r$$.print),columns:$kys$$}):$callback$$(null,$data$$.filter($r$$=>$r$$.print))})})})};
@@ -0,0 +1,32 @@
1
+ const rptobject=global.getModel("rptobject"),dmkh=global.getModel("customer"),utils=require("../../libs/utils"),kbmpttct=global.getModel("kbmPttct"),async=require("async"),_=require("lodash"),{calcGrid,evalute,sumByCondition}=require("../../libs/utils"),controller=require("../../controllers/controllerRPT"),rptform=global.getModel("rptform"),moment=require("moment"),numeral=require("numeral"),{getCodeChildren}=require("../../libs/utils"),getRegString=function($arrayTk$$){if($arrayTk$$)return $arrayTk$$.reg()};
2
+ module.exports=function($router$$){new controller($router$$,"pttctkho",async($req$$,$callback$$)=>{const $query$$=$req$$.query;if(!$query$$.den_ngay||!$query$$.tu_ngay||!$query$$.id_rptform&&!$query$$.form_code||!$query$$.bao_cao_theo)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 t\u1eeb ng\u00e0y(tu_ngay), \u0111\u1ebfn ng\u00e0y(den_ngay), m\u1eabu (id_rptform), \u0110\u1ed1i t\u01b0\u1ee3ng b\u00e1o c\u00e1o(bao_cao_theo)");if(!global.mongoose.Types.ObjectId.isValid($query$$.id_rptform))return $callback$$("M\u1eabu b\u00e1o c\u00e1o n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb");
3
+ if($query$$.ma_bp){var $bps_dts_phis_query_form$$=await getCodeChildren(global.getModel("dmbp"),$query$$.id_app,$query$$.ma_bp,"ma_bp","ma_bp_me");$query$$.ma_bp={$in:$bps_dts_phis_query_form$$}}$query$$.ma_phi&&($bps_dts_phis_query_form$$=await getCodeChildren(global.getModel("dmphi"),$query$$.id_app,$query$$.ma_phi,"ma_phi","ma_phi_me"),$query$$.ma_phi={$in:$bps_dts_phis_query_form$$});$query$$.ma_dt&&($bps_dts_phis_query_form$$=await getCodeChildren(global.getModel("dmdt"),$query$$.id_app,$query$$.ma_dt,
4
+ "ma_dt","ma_dt_me"),$query$$.ma_dt={$in:$bps_dts_phis_query_form$$});$bps_dts_phis_query_form$$={id_app:$query$$.id_app};$query$$.id_rptform?$bps_dts_phis_query_form$$._id=$query$$.id_rptform:$bps_dts_phis_query_form$$.form_code=$query$$.form_code;const $_rptform$$=await rptform.findOne($bps_dts_phis_query_form$$).lean();if(!$_rptform$$)return $callback$$("M\u1eabu b\u00e1o c\u00e1o n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb");$query$$.tu_ngay=moment(new Date($query$$.tu_ngay)).startOf("date").toDate();
5
+ $query$$.den_ngay=moment(new Date($query$$.den_ngay)).endOf("date").toDate();const $bao_cao_theo$$=$query$$.bao_cao_theo;let $report$$=$_rptform$$.report;$report$$&&$_rptform$$.report.length!==0||($report$$=await kbmpttct.find({id_rptform:$_rptform$$._id.toString(),id_app:$query$$.id_app}).sort({stt:1}).lean());async.parallel({dsobj:function($callback$$){if($bao_cao_theo$$=="thang_nam"){for(var $ds_quy_nam_ds_thang_nam$$=[],$currentDate_currentDate$$=new Date($query$$.tu_ngay);$currentDate_currentDate$$<=
6
+ $query$$.den_ngay;){var $current_quarter_tu_ngay$$=Math.max(moment($currentDate_currentDate$$).startOf("month").toDate(),$query$$.tu_ngay),$den_ngay_tu_ngay$$=Math.min(moment($currentDate_currentDate$$).endOf("month").toDate(),$query$$.den_ngay);$ds_quy_nam_ds_thang_nam$$.push({field:"ngay_ct",ten_obj:`Th\u00e1ng ${$currentDate_currentDate$$.getMonth()+1}/${$currentDate_currentDate$$.getFullYear()}`,ma_obj:{$gte:$current_quarter_tu_ngay$$,$lte:$den_ngay_tu_ngay$$}});$currentDate_currentDate$$.setMonth($currentDate_currentDate$$.getMonth()+
7
+ 1)}Logger.info($bao_cao_theo$$,$ds_quy_nam_ds_thang_nam$$);return $callback$$(null,$ds_quy_nam_ds_thang_nam$$)}if($bao_cao_theo$$=="quy_nam"){$ds_quy_nam_ds_thang_nam$$=[];for($currentDate_currentDate$$=new Date($query$$.tu_ngay);$currentDate_currentDate$$<=$query$$.den_ngay;){$current_quarter_tu_ngay$$=moment($currentDate_currentDate$$).quarter();$den_ngay_tu_ngay$$=Math.max(moment($currentDate_currentDate$$).startOf("quarter").toDate(),$query$$.tu_ngay);let $den_ngay$$=Math.min(moment($currentDate_currentDate$$).endOf("quarter").toDate(),
8
+ $query$$.den_ngay);$ds_quy_nam_ds_thang_nam$$.push({field:"ngay_ct",ten_obj:`Qu\u00fd ${$current_quarter_tu_ngay$$}/${$currentDate_currentDate$$.getFullYear()}`,ma_obj:{$gte:$den_ngay_tu_ngay$$,$lte:$den_ngay$$}});$currentDate_currentDate$$=moment($currentDate_currentDate$$).quarter($current_quarter_tu_ngay$$+1).toDate()}Logger.info($bao_cao_theo$$,$ds_quy_nam_ds_thang_nam$$);return $callback$$(null,$ds_quy_nam_ds_thang_nam$$)}rptobject.findOne({code_rpt:"pttctkho",ma_obj:$bao_cao_theo$$}).lean().then(async function($rptobj$$){if(!$rptobj$$)return $callback$$("Kh\u00f4ng th\u1ec3 b\u00e1o c\u00e1o theo \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y");
9
+ let $modelBaocaotheo$$=global.getModel(""+$rptobj$$.model_obj),$query_ds_bc_theo$$={id_app:$query$$.id_app,status:!0};$query$$[$bao_cao_theo$$]&&_.has($modelBaocaotheo$$.schema.paths,$bao_cao_theo$$)&&($query_ds_bc_theo$$[$bao_cao_theo$$]=$query$$[$bao_cao_theo$$]);$query$$.phu_trach&&_.has($modelBaocaotheo$$.schema.paths,"phu_trach")&&($query_ds_bc_theo$$.phu_trach=$query$$.phu_trach);if($query$$.nh_kh&&!$query$$.ma_kh&&$rptobj$$.model_obj=="customer"){let $dskh$$=(await dmkh.find({id_app:$query$$.id_app,
10
+ status:!0,nh_kh:$query$$.nh_kh},{ma_kh:1})).map($r$$=>$r$$.ma_kh);$query_ds_bc_theo$$.ma_kh={$in:$dskh$$}}$modelBaocaotheo$$.find($query_ds_bc_theo$$).lean().then($rs$$=>{$rs$$.forEach(function($r$$){$r$$.ma_obj=$r$$[$rptobj$$.value_field];$r$$.ten_obj=$r$$[$rptobj$$.header_field]});$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})}).catch($e$$=>{$callback$$($e$$)})}},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);let $ds_obj$$=$rs$$.dsobj;async.map($report$$,function($r$$,$c1$$){setImmediate(()=>
11
+ {if($r$$.cach_tinh==="9")$r$$.cong_thuc="",async.map($ds_obj$$,function($kho$$,$callback$$){utils.getInfoFromQuery($kho$$,$r$$.query,($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);_.isNumber($rs$$)?($r$$[$kho$$.ma_obj]=$rs$$,$r$$[$kho$$.ma_obj+"_nt"]=$rs$$):$r$$[$kho$$.ma_obj+"_string"]=$rs$$;$callback$$()})},$e$$=>{$c1$$($e$$,$r$$)});else if($r$$.cach_tinh==="2")$r$$.cong_thuc="",async.map($ds_obj$$,function($kho$$,$callback$$){setImmediate(async()=>{let $condition$$={ngay_ct:{$gte:$query$$.tu_ngay,
12
+ $lte:$query$$.den_ngay},id_app:$query$$.id_app};$bao_cao_theo$$.toLowerCase()==="ma_kh"?$condition$$.$or=[{ma_kh_co:$kho$$.ma_obj},{ma_kh_no:$kho$$.ma_obj}]:$condition$$[$kho$$.field||$bao_cao_theo$$]=$kho$$.ma_obj;$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);$bao_cao_theo$$!="ma_bp"&&$query$$.ma_bp&&($condition$$.ma_bp=$query$$.ma_bp);$query$$.ma_hd&&($condition$$.ma_hd=$query$$.ma_hd);$bao_cao_theo$$!="ma_dt"&&$query$$.ma_dt&&($condition$$.ma_dt=$query$$.ma_dt);$query$$.ma_sp&&($condition$$.ma_sp=
13
+ $query$$.ma_sp);$query$$.ma_nv&&($condition$$.ma_nv=$query$$.ma_nv);$bao_cao_theo$$!="ma_phi"&&$r$$.ma_phi&&($condition$$.ma_phi={$in:await getCodeChildren(global.getModel("dmphi"),$query$$.id_app,$r$$.ma_phi,"ma_phi","ma_phi_me")});var $tk_co_tk_no$$=getRegString($r$$.tk_no);$tk_co_tk_no$$&&($condition$$.tk_no=$r$$.giam_tru_no?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"});if($tk_co_tk_no$$=getRegString($r$$.tk_co))$condition$$.tk_co=$r$$.giam_tru_co&&$tk_co_tk_no$$?{$not:new RegExp($tk_co_tk_no$$)}:
14
+ {$regex:$tk_co_tk_no$$,$options:"i"};if($r$$.dieu_kien_khac)try{$r$$.dieu_kien_khac.indexOf("{")<0&&($r$$.dieu_kien_khac="{"+$r$$.dieu_kien_khac+"}");var $socai_str_func$$=$r$$.dieu_kien_khac;$socai_str_func$$.indexOf("return ")<0&&($socai_str_func$$=`return ${$socai_str_func$$}`);let $dieu_kien_khac$$=utils.evalute($socai_str_func$$,{moment,condition:$condition$$,row:$r$$});$condition$$={...$condition$$,...$dieu_kien_khac$$}}catch($e$$){$callback$$($e$$.toString())}$r$$.ma_kho?($condition$$.ma_kho=
15
+ $r$$.ma_kho,$socai_str_func$$=global.getModel("socaitc")):$socai_str_func$$=global.getModel("socaitt");sumByCondition($socai_str_func$$,["tien","tien_nt"],$condition$$).then($rs$$=>{let $t_tien$$=$rs$$.tien;$rs$$=$rs$$.tien_nt;if($t_tien$$||$rs$$)$r$$[$kho$$.ma_obj]=$t_tien$$,$r$$[$kho$$.ma_obj+"_nt"]=$rs$$,$kho$$.has_data=!0;$callback$$(null,$r$$)}).catch($e$$=>{$callback$$($e$$)})})},function($e$$){$c1$$($e$$)});else if($r$$.cach_tinh==="99"&&$r$$.script){$r$$.cong_thuc="";if($r$$.script.indexOf("async ")>=
16
+ 0)return $c1$$("async function is not allow");let $func_string$$=`return (async ()=>{
17
+ try{
18
+ ${$r$$.script}
19
+ }catch(e){
20
+ return {error:e}
21
+ }
22
+
23
+ })`;evalute($func_string$$,{row:$r$$,moment,condition:$query$$,user:$req$$.user,_,utils})().then($rs$$=>{if($rs$$&&$rs$$.error)return Logger.error($rs$$.error,$func_string$$),$c1$$($rs$$.error.message||$rs$$.error);$c1$$(null,$r$$)}).catch($e$$=>{Logger.error($e$$,$func_string$$);return $c1$$($e$$.message||$e$$)})}else $c1$$(null,$r$$)})},function($error$$){if($error$$)return $callback$$($error$$);let $kho_cols$$="";$ds_obj$$=$ds_obj$$.filter($o$$=>$o$$.has_data);$ds_obj$$.forEach(function($kho$$){$kho_cols$$=
24
+ $kho_cols$$?$kho_cols$$+","+$kho$$.ma_obj+","+$kho$$.ma_obj+"_nt":$kho$$.ma_obj+","+$kho$$.ma_obj+"_nt";$kho$$.field=$kho$$.ma_obj;$kho$$.header=$kho$$.ten_obj;$kho$$.datatype="Number"});calcGrid($report$$,$kho_cols$$,async function($rs$$){let $_ds_obj$$=[];$ds_obj$$.forEach(function($kho$$){let $v$$=0;$rs$$&&$rs$$.forEach(function($r$$){$v$$+=Math.abs($r$$[$kho$$.ma_obj]||0)});$v$$&&$_ds_obj$$.push($kho$$)});$rs$$.forEach(function($r$$){$r$$.khong_tinh_tong||($r$$.total=0,$r$$.total_nt=0,$ds_obj$$.forEach(function($kho$$){$r$$.total+=
25
+ $r$$[$kho$$.ma_obj]?$r$$[$kho$$.ma_obj]:0;$r$$.total_nt+=$r$$[$kho$$.ma_obj+"_nt"]?$r$$[$kho$$.ma_obj+"_nt"]:0}))});if($_rptform$$.handle_data_expression_server){if($_rptform$$.handle_data_expression_server.indexOf("async ")>=0)return $callback$$("async function is not allow");let $func_string$$=`return (async ()=>{
26
+ try{
27
+ ${$_rptform$$.handle_data_expression_server}
28
+ }catch(e){
29
+ return {error:e}
30
+ }
31
+
32
+ })`;try{if(($rs$$=await utils.evalute($func_string$$,{data:$rs$$,moment,numeral,condition:$req$$.query})())&&$rs$$.error)return Logger.error($rs$$.error,$func_string$$),$callback$$($rs$$.error.message||$rs$$.error)}catch($e$$){return Logger.error($e$$,$func_string$$),$callback$$($e$$.message||$e$$)}}$callback$$(null,{rows:$rs$$.filter($r$$=>$r$$.print!==!1),columns:$_ds_obj$$})})})})})};
@@ -0,0 +1,29 @@
1
+ const rptobject=global.getModel("rptobject"),dmkh=global.getModel("customer"),utils=require("../../libs/utils"),kbmpttct=global.getModel("kbmPttct"),async=require("async"),_=require("lodash"),{calcGrid,getCodeChildren,sumByCondition}=require("../../libs/utils"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),numeral=require("numeral"),rptform=global.getModel("rptform"),getRegString=function($arrayTk$$){if($arrayTk$$)return $arrayTk$$.reg()};
2
+ module.exports=function($router$$){new controller($router$$,"pttctkho2",async function($req$$,$callback$$){const $query$$=$req$$.query;if(!$query$$.den_ngay||!$query$$.tu_ngay||!$query$$.id_rptform&&!$query$$.form_code||!$query$$.bao_cao_theo)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 t\u1eeb ng\u00e0y(tu_ngay), \u0111\u1ebfn ng\u00e0y(den_ngay), m\u1eabu (id_rptform), \u0110\u1ed1i t\u01b0\u1ee3ng b\u00e1o c\u00e1o(bao_cao_theo)");if(!global.mongoose.Types.ObjectId.isValid($query$$.id_rptform))return $callback$$("M\u1eabu b\u00e1o c\u00e1o n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb");
3
+ if($query$$.ma_bp){var $bps_dts_phis_query_form$$=await getCodeChildren(global.getModel("dmbp"),$query$$.id_app,$query$$.ma_bp,"ma_bp","ma_bp_me");$query$$.ma_bp={$in:$bps_dts_phis_query_form$$}}$query$$.ma_phi&&($bps_dts_phis_query_form$$=await getCodeChildren(global.getModel("dmphi"),$query$$.id_app,$query$$.ma_phi,"ma_phi","ma_phi_me"),$query$$.ma_phi={$in:$bps_dts_phis_query_form$$});$query$$.ma_dt&&($bps_dts_phis_query_form$$=await getCodeChildren(global.getModel("dmdt"),$query$$.id_app,$query$$.ma_dt,
4
+ "ma_dt","ma_dt_me"),$query$$.ma_dt={$in:$bps_dts_phis_query_form$$});$bps_dts_phis_query_form$$={id_app:$query$$.id_app};$query$$.id_rptform?$bps_dts_phis_query_form$$._id=$query$$.id_rptform:$bps_dts_phis_query_form$$.form_code=$query$$.form_code;const $_rptform$$=await rptform.findOne($bps_dts_phis_query_form$$).lean();if(!$_rptform$$)return $callback$$("M\u1eabu b\u00e1o c\u00e1o kh\u00f4ng t\u1ed3n t\u1ea1i");$query$$.tu_ngay=moment(new Date($query$$.tu_ngay)).startOf("date").toDate();$query$$.den_ngay=
5
+ moment(new Date($query$$.den_ngay)).endOf("date").toDate();const $bao_cao_theo$$=$query$$.bao_cao_theo;let $kbm$$=$_rptform$$.report;$kbm$$&&$_rptform$$.report.length!==0||($kbm$$=await kbmpttct.find({id_rptform:$_rptform$$._id.toString(),id_app:$query$$.id_app}).lean().sort({stt:1}));async.parallel({dsobj:function($callback$$){rptobject.findOne({code_rpt:"pttctkho2",ma_obj:$bao_cao_theo$$}).lean().exec(async function($e_modelBaocaotheo$$,$rptobj$$){if($e_modelBaocaotheo$$)return $callback$$($e_modelBaocaotheo$$);
6
+ if(!$rptobj$$)return $callback$$("Kh\u00f4ng th\u1ec3 b\u00e1o c\u00e1o theo \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y");$e_modelBaocaotheo$$=global.getModel(""+$rptobj$$.model_obj);let $query_ds_bc_theo$$={id_app:$query$$.id_app,status:!0};$query$$[$bao_cao_theo$$]&&_.has($e_modelBaocaotheo$$.schema.paths,$bao_cao_theo$$)&&($query_ds_bc_theo$$[$bao_cao_theo$$]=$query$$[$bao_cao_theo$$]);$query$$.phu_trach&&_.has($e_modelBaocaotheo$$.schema.paths,"phu_trach")&&($query_ds_bc_theo$$.phu_trach=$query$$.phu_trach);
7
+ if($query$$.nh_kh&&!$query$$.ma_kh&&$rptobj$$.model_obj=="customer"){let $dskh$$=(await dmkh.find({id_app:$query$$.id_app,status:!0,nh_kh:$query$$.nh_kh},{ma_kh:1})).map($r$$=>$r$$.ma_kh);$query_ds_bc_theo$$.ma_kh={$in:$dskh$$}}$e_modelBaocaotheo$$.find($query_ds_bc_theo$$,{[$rptobj$$.value_field]:1,[$rptobj$$.header_field]:1}).lean().exec(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$.forEach(function($r$$){$r$$.ma_obj=$r$$[$rptobj$$.value_field];$r$$.ten_obj=$r$$[$rptobj$$.header_field];
8
+ let $_kbm$$=_.cloneDeep($kbm$$);$r$$.kbm=$_kbm$$});$callback$$(null,$rs$$)})})}},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);let $ds_obj$$=$rs$$.dsobj;async.map($ds_obj$$,($kho$$,$callback$$)=>{setImmediate(()=>{async.map($kho$$.kbm,function($r$$,$callback$$){$r$$.field=$r$$[`${$r$$.ma_so}_tien`];$r$$.header=$r$$.chi_tieu;$r$$.datatype="Number";setImmediate(()=>{async.parallel({tinh_theo_query:$callback$$=>{$r$$.cach_tinh==="9"&&$r$$.query?($r$$.cong_thuc="",utils.getInfoFromQuery($kho$$,
9
+ $r$$.query,($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);_.isNumber($rs$$)?($r$$.tien=$rs$$,$r$$.tien_nt=$rs$$):$r$$.value_string=$rs$$;$callback$$()})):$callback$$()},tinh_theo_socai:$callback$$=>{setImmediate(async()=>{if($r$$.cach_tinh==="2"){$r$$.cong_thuc="";let $condition$$={ngay_ct:{$gte:$query$$.tu_ngay,$lte:$query$$.den_ngay},id_app:$query$$.id_app};$bao_cao_theo$$.toLowerCase()==="ma_kh"?$condition$$.$or=[{ma_kh_co:$kho$$.ma_obj},{ma_kh_no:$kho$$.ma_obj}]:$condition$$[$bao_cao_theo$$]=
10
+ $kho$$.ma_obj;$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);$bao_cao_theo$$!="ma_bp"&&$query$$.ma_bp&&($condition$$.ma_bp=$query$$.ma_bp);$query$$.ma_hd&&($condition$$.ma_hd=$query$$.ma_hd);$query$$.ma_sp&&($condition$$.ma_sp=$query$$.ma_sp);$query$$.ma_nv&&($condition$$.ma_nv=$query$$.ma_nv);$bao_cao_theo$$!="ma_dt"&&$query$$.ma_dt&&($condition$$.ma_dt=$query$$.ma_dt);$bao_cao_theo$$!="ma_phi"&&$r$$.ma_phi&&($condition$$.ma_phi={$in:await getCodeChildren(global.getModel("dmphi"),$query$$.id_app,
11
+ $r$$.ma_phi,"ma_phi","ma_phi_me")});var $tk_co_tk_no$$=getRegString($r$$.tk_no);$tk_co_tk_no$$&&($condition$$.tk_no=$r$$.giam_tru_no?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"});if($tk_co_tk_no$$=getRegString($r$$.tk_co))$condition$$.tk_co=$r$$.giam_tru_co&&$tk_co_tk_no$$?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"};if($r$$.dieu_kien_khac)try{$r$$.dieu_kien_khac.indexOf("{")<0&&($r$$.dieu_kien_khac="{"+$r$$.dieu_kien_khac+"}");var $socai_str_func$$=
12
+ $r$$.dieu_kien_khac;$socai_str_func$$.indexOf("return ")<0&&($socai_str_func$$=`return ${$socai_str_func$$}`);let $dieu_kien_khac$$=utils.evalute($socai_str_func$$,{moment,condition:$condition$$,row:$r$$});$condition$$={...$condition$$,...$dieu_kien_khac$$}}catch($e$$){$callback$$($e$$.toString())}$r$$.ma_kho?($condition$$.ma_kho=$r$$.ma_kho,$socai_str_func$$=global.getModel("socaitc")):$socai_str_func$$=global.getModel("socaitt");sumByCondition($socai_str_func$$,["tien","tien_nt"],$condition$$).then($rs$$=>
13
+ {$r$$.tien=$rs$$.tien;$r$$.tien_nt=$rs$$.tien_nt;$callback$$(null,$r$$)}).catch($e$$=>{$callback$$($e$$)})}else $callback$$()})},calc_expression:$c1$$=>{if($r$$.cach_tinh==="99"&&$r$$.script){if($r$$.script.indexOf("async ")>=0)return $c1$$("async function is not allow");$r$$.cong_thuc="";let $func_string$$=`return (async ()=>{
14
+ try{
15
+ ${$r$$.script}
16
+ }catch(e){
17
+ return {error:e}
18
+ }
19
+
20
+ })`;utils.evalute($func_string$$,{row:$r$$,moment,condition:$query$$,user:$req$$.user,_,utils})().then($rs$$=>{if($rs$$&&$rs$$.error)return Logger.error($rs$$.error,$func_string$$),$c1$$($rs$$.error.message||$rs$$.error);$c1$$(null,$r$$)}).catch($e$$=>{Logger.error($e$$,$func_string$$);return $c1$$($e$$.message||$e$$)})}else $c1$$(null,$r$$)}},($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})})},$error$$=>{if($error$$)return $callback$$($error$$);calcGrid($kho$$.kbm,"tien,tien_nt",function($rs$$){$kho$$.kbm=
21
+ $rs$$;$callback$$(null,$rs$$)})})})},async $e$$=>{$ds_obj$$=$ds_obj$$.filter($obj$$=>($obj$$.kbm||[]).map($k$$=>Math.abs($k$$.tien||0)).reduce(($a$$,$b$$)=>$a$$+$b$$,0)!=0);$ds_obj$$.forEach($obj$$=>{$obj$$.kbm.forEach($k$$=>{$obj$$[`${$k$$.ma_so}_tien`]=$k$$.tien||0;$obj$$[`${$k$$.ma_so}_tien_nt`]=$k$$.tien_nt||0})});let $tong_cong$$={ten_obj:"T\u1ed5ng c\u1ed9ng",bold:!0,kbm:$kbm$$};$kbm$$.filter($k$$=>$k$$.khong_tinh_tong==0).forEach($k$$=>{let $tien$$=0,$tien_nt$$=0;$ds_obj$$.forEach($obj$$=>
22
+ {$tien$$+=$obj$$[`${$k$$.ma_so}_tien`];$tien_nt$$+=$obj$$[`${$k$$.ma_so}_tien_nt`]});$tong_cong$$[`${$k$$.ma_so}_tien`]=$tien$$;$tong_cong$$[`${$k$$.ma_so}_tien_nt`]=$tien_nt$$});$ds_obj$$.push($tong_cong$$);if($_rptform$$.handle_data_expression_server){if($_rptform$$.handle_data_expression_server.indexOf("async ")>=0)return $callback$$("async function is not allow");let $func_string$$=`return (async ()=>{
23
+ try{
24
+ ${$_rptform$$.handle_data_expression_server}
25
+ }catch(e){
26
+ return {error:e}
27
+ }
28
+
29
+ })`;try{let $rs$$=await utils.evalute($func_string$$,{data:$ds_obj$$,moment,numeral,condition:$req$$.query})();if($rs$$&&$rs$$.error)return Logger.error($rs$$.error,$func_string$$),$callback$$($rs$$.error.message||$rs$$.error);$ds_obj$$=$rs$$}catch($e$$){return Logger.error($e$$,$func_string$$),$callback$$($e$$.message||$e$$)}}$callback$$($e$$,{rows:$ds_obj$$,columns:$kbm$$.filter($r$$=>$r$$.print!==!1)})})})})};
@@ -0,0 +1,5 @@
1
+ const participant=global.getModel("participant"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"referredusers",async function($req$$,$callback$$){const $id_app$$=$req$$.query.id_app,$be_introduced_by$$=$req$$.query.by||$req$$.user.email;let $intro$$=await global.getModel("introducecode").findOne({user_created:$be_introduced_by$$,id_app:$id_app$$}).lean();if(!$intro$$)try{for($intro$$={user_created:$be_introduced_by$$,id_app:$id_app$$,so_lan_su_dung:0};;){var $code$$=global.getModel("introducecode").generateCode();if(!await global.getModel("introducecode").findOne({id_app:$id_app$$,
3
+ introduce_code:$code$$})){$intro$$.introduce_code=$code$$;break}}await global.getModel("introducecode").create($intro$$)}catch($e$$){return $callback$$("Kh\u00f4ng th\u1ec3 t\u1ea1o m\u00e3 gi\u1edbi thi\u1ec7u cho ng\u01b0\u1eddi s\u1eed d\u1ee5ng n\u00e0y")}$code$$=1;const $par$$=await global.getModel("usergroup").findOne({id_app:$id_app$$,email:$be_introduced_by$$}).lean();$par$$&&!$par$$.admin&&$par$$.group_id&&await global.getModel("usergroup").findOne({id_app:$id_app$$,_id:$par$$.group_id,is_agent_group:!0}).lean()&&
4
+ ($code$$=void 0);participant.referredUsers($id_app$$,$be_introduced_by$$,$code$$).then(async $report$$=>{await $report$$.asyncJoinModel2($id_app$$,participant,[{where:{user:"email"},fields:["name"]}]);if($req$$.query.group_by){let $rs$$={};if($req$$.query.group_by=="referral_code")$rs$$.referral_code=$intro$$.introduce_code,$rs$$.collaborators=$report$$;else{let $groups$$=[...(new Set($report$$.map($r$$=>$r$$[$req$$.query.group_by])))];for(let $g$$ of $groups$$)$rs$$[$req$$.query.group_by]=$g$$,$rs$$.collaborators=
5
+ $report$$.filter($r$$=>$r$$[$req$$.query.group_by]==$g$$)}return $callback$$(null,$rs$$)}$callback$$(null,$report$$)}).catch($e$$=>{$callback$$($e$$)})})};
@@ -0,0 +1,4 @@
1
+ const bangtinhluong=global.getModel("bangtinhluong"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),controller=require("../../controllers/controllerRPT"),async=require("async");
2
+ module.exports=function($router$$){new controller($router$$,"sctbhxh",async($req$$,$callback$$)=>{var $query_thang$$=Number($req$$.query.thang);let $nam$$=Number($req$$.query.nam),$id_app$$=$req$$.user.current_id_app;if(!$query_thang$$||!$nam$$)return $callback$$("T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u hai tham s\u1ed1 thang v\u00e0 nam");if($query_thang$$<1||$query_thang$$>12||$nam$$<1E3||$nam$$>3E3)return $callback$$("Tham s\u1ed1 thang ho\u1eb7c nam kh\u00f4ng ph\u00f9 h\u1ee3p");$query_thang$$=
3
+ {thang:$query_thang$$,nam:$nam$$,id_app:$id_app$$};$req$$.query.ma_nv&&($query_thang$$.ma_nv=$req$$.query.ma_nv);$req$$.query.ma_bp&&($query_thang$$.ma_bp=$req$$.query.ma_bp);let $items$$=await bangtinhluong.find($query_thang$$).lean();async.parallel({nv:async()=>{await $items$$.asyncJoinModel2($req$$.user.current_id_app,dmnv,[{where:{ma_nv:"ma_nv"},fields:["ten_nv","ttncn_mst"]}]);return null},bp:async()=>{await $items$$.asyncJoinModel2($req$$.user.current_id_app,dmbp,[{where:{ma_bp:"ma_bp"},fields:["ten_bp"]}]);
4
+ return null}},()=>{$items$$.forEach($item$$=>{$item$$.tong_bao_hiem=$item$$.tong_bao_hiem_nv+$item$$.tong_bao_hiem_cty;$item$$.chi_tiet_trich_theo_luong=$item$$.giam_tru;delete $item$$.giam_tru});$callback$$(null,$items$$.filter($item$$=>$item$$.ten_bp))})})};
@@ -0,0 +1,11 @@
1
+ const sctcnkh=require("../../libs/sctcnkh"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),Numeral=require("numeral");
2
+ module.exports=function($router$$){new controller($router$$,"sctcnkh",async function($req$$,$callback$$){const $condition$$=$req$$.query;$condition$$.ma_kh||($condition$$.ma_kh=$req$$.user.email);$condition$$.tk||($condition$$.tk="131");$condition$$.tu_ngay||($condition$$.tu_ngay=moment().startOf("month").toDate());$condition$$.den_ngay||($condition$$.den_ngay=moment().endOf("month").toDate());try{const $report$$=await sctcnkh($condition$$);if($req$$.query.rs_type==="HTML"){let $html$$="<tr><th>N\u1ed9i dung</th><th>Thu</th><th>Tr\u1ea3</th></tr>";
3
+ $report$$.forEach($r$$=>{$html$$=`${$html$$}
4
+ <tr style="font-weight:${$r$$.bold?"bold":"normal"}">
5
+ <td>
6
+ <div>${$r$$.dien_giai||""}</div>
7
+ <div><i><small>${$r$$.ngay_ct?moment($r$$.ngay_ct).format("DD/MM/YYYY"):""}</small></i></div>
8
+ </td>
9
+ <td style="text-align:right">${$r$$.ps_no?Numeral($r$$.ps_no).format():""}</td>
10
+ <td style="text-align:right">${$r$$.ps_co?Numeral($r$$.ps_co).format():""}</td>
11
+ </tr>`});$html$$="<table>"+$html$$+"</table>";return $callback$$(null,$html$$)}$callback$$(null,$report$$)}catch($e$$){$callback$$($e$$)}})};
@@ -0,0 +1,3 @@
1
+ const sctdiem=require("../../libs/ctdiem"),User=global.getModel("user"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),async=require("async");
2
+ module.exports=function($router$$){new controller($router$$,"sctdiem",function($query_req$$,$callback$$){$query_req$$=$query_req$$.query;if(!$query_req$$.tu_ngay||!$query_req$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay,email");sctdiem($query_req$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);async.parallel({u:$callback$$=>{$report$$.joinModel2(null,User,[{where:"email",fields:"name"}],function(){$callback$$()})}},
3
+ ()=>{$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.sysorder.toString()+($r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):"0")});$callback$$(null,$report$$)})})})};
@@ -0,0 +1,7 @@
1
+ const Vsocai=require("../../libs/vsocai"),dmkh=global.getModel("customer"),dkdt=require("../../libs/dkdt"),{getCodeChildren}=require("../../libs/utils"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"sctdt",async function($req$$,$callback$$){const $condition$$=$req$$.query;if(!($condition$$.ma_dt&&$condition$$.tk&&$condition$$.tu_ngay&&$condition$$.den_ngay))return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 ma_dt,tk,tu_ngay,den_ngay");$condition$$.ma_dvcs||($condition$$.ma_dvcs="");$condition$$.ma_dt={$in:await getCodeChildren(global.getModel("dmdt"),$condition$$.id_app,$condition$$.ma_dt,"ma_dt",
3
+ "ma_dt_me")};$condition$$.bu_tru=!0;async.parallel({dk:function($callback$$){const $query$$={};underscore.extend($query$$,$condition$$);$query$$.ngay=$condition$$.tu_ngay;dkdt($query$$,function($data_error$$,$result$$){if($data_error$$)return $callback$$($data_error$$);$data_error$$={systotal:1,sysorder:0,bold:!0,dien_giai:"\u0110\u1ea7u k\u1ef3",ps_no:$result$$.csum("du_no00"),ps_co:$result$$.csum("du_co00"),ps_no_nt:$result$$.csum("du_no_nt00"),ps_co_nt:$result$$.csum("du_co_nt00")};$callback$$(null,
4
+ $data_error$$)})},ps:function($callback$$){Vsocai.find({id_app:$condition$$.id_app,tk:{$regex:"^"+$condition$$.tk,$options:"i"},ma_dt:$condition$$.ma_dt,ma_dvcs:{$regex:$condition$$.ma_dvcs,$options:"i"},ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}},function($error$$,$result$$){if($error$$)return $callback$$($error$$);$result$$.forEach(function($r$$){$r$$.systotal=0;$r$$.sysorder=5;$r$$.bold=!1});$result$$.joinModel($condition$$.id_app,dmkh,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",
5
+ value:"ten_kh"}]}],function(){const $r_tong$$={systotal:1,sysorder:6,bold:!0,dien_giai:"T\u1ed5ng c\u1ed9ng ph\u00e1t sinh",ps_no:$result$$.csum("ps_no"),ps_co:$result$$.csum("ps_co"),ps_no_nt:$result$$.csum("ps_no_nt"),ps_co_nt:$result$$.csum("ps_co_nt")};$result$$.push($r_tong$$);$result$$.push({systotal:0,sysorder:2,bold:!0,dien_giai:"Ph\u00e1t sinh trong k\u1ef3",ps_no:0,ps_co:0,ps_no_nt:0,ps_co_nt:0});$callback$$(null,$result$$)})},{groupBy:!0,sortData:!0,model:$condition$$.model_socai})}},function($data$jscomp$1_error$$,
6
+ $results_so_ck$$){if($data$jscomp$1_error$$)return $callback$$($data$jscomp$1_error$$);$data$jscomp$1_error$$=$results_so_ck$$.ps;$data$jscomp$1_error$$.push($results_so_ck$$.dk);$results_so_ck$$=$data$jscomp$1_error$$.csum("ps_no",{systotal:1})-$data$jscomp$1_error$$.csum("ps_co",{systotal:1});const $so_ck_nt$$=$data$jscomp$1_error$$.csum("ps_no_nt",{systotal:1})-$data$jscomp$1_error$$.csum("ps_co",{systotal:1}),$dong_cuoi_ky$$={systotal:1,sysorder:9,bold:!0,dien_giai:"Cu\u1ed1i k\u1ef3",ps_no:0,
7
+ ps_co:0,ps_no_nt:0,ps_co_nt:0};$results_so_ck$$>0&&($dong_cuoi_ky$$.ps_no=$results_so_ck$$);$so_ck_nt$$>0&&($dong_cuoi_ky$$.ps_no_nt=$so_ck_nt$$);$results_so_ck$$<0&&($dong_cuoi_ky$$.ps_co=Math.abs($results_so_ck$$));$so_ck_nt$$<0&&($dong_cuoi_ky$$.ps_co_nt=Math.abs($so_ck_nt$$));$data$jscomp$1_error$$.push($dong_cuoi_ky$$);$data$jscomp$1_error$$=underscore.sortBy($data$jscomp$1_error$$,function($r$$){return $r$$.sysorder});$callback$$(null,$data$jscomp$1_error$$)})})};
@@ -0,0 +1,11 @@
1
+ const Vsocai=require("../../libs/vsocai"),dmphi=global.getModel("dmphi"),kehoachdtcp=global.getModel("kehoachdtcp"),dktk=require("../../libs/dktk"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
+ module.exports=function($router$$){new controller($router$$,"sctdtcp",($req$$,$callback$$)=>{const $condition$$=$req$$.query;if(!$condition$$.tk||!$condition$$.tu_ngay||!$condition$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 tk,tu_ngay,den_ngay");$condition$$.ma_dvcs||($condition$$.ma_dvcs="");let $baocaotheos$$={tuan:"Tu\u1ea7n",thang:"Th\u00e1ng",quy:"Qu\u00fd",nam:"N\u0103m"},$baocaotheo$$=[$condition$$.reportBy||"tuan","ma_phi","ten_phi"];
3
+ $condition$$.reportBy!=="nam"&&$baocaotheo$$.push("nam");$condition$$.bu_tru=!0;async.parallel({dk:$callback$$=>{const $query$$={};underscore.extend($query$$,$condition$$);$query$$.ngay=$condition$$.tu_ngay;dktk($query$$,($error$$,$dk$$)=>{if($error$$)return $callback$$($error$$);$dk$$.forEach($p$$=>{let $m_ngay_ct$$=moment($condition$$.tu_ngay);$p$$.thang=$m_ngay_ct$$.month()+1;$p$$.nam=$m_ngay_ct$$.year();$p$$.tuan=$m_ngay_ct$$.week();$p$$.quy=$m_ngay_ct$$.quarter();$p$$.ma_phi="#dk#";$p$$.ten_phi=
4
+ "\u0110\u1ea7u k\u1ef3"});$dk$$.groupBy($baocaotheo$$,["du_no00","du_co00","du_no_nt00","du_co_nt00"],($error$$,$rs$$)=>{if($error$$)return $callback$$($error$$);$rs$$.forEach(function($r$$){$r$$.systotal=1;$r$$.sysorder=1;$r$$.bold=!0;$r$$.tien=$r$$.du_no00-$r$$.du_co00;$r$$.tien_nt=$r$$.du_no_nt00-$r$$.du_co_nt00;$r$$.tien_kh=$r$$.du_no00-$r$$.du_co00;$r$$.tien_kh_nt=$r$$.du_no_nt00-$r$$.du_co_nt00;$r$$.loai="#dk#"});$callback$$(null,$rs$$)})})},kh:$callback$$=>{const $query$$={id_app:$condition$$.id_app,
5
+ tk:{$regex:"^"+$condition$$.tk,$options:"i"},ma_dvcs:{$regex:$condition$$.ma_dvcs,$options:"i"},kieu_ky:$condition$$.reportBy||"tuan"};$condition$$.ma_phi&&($query$$.ma_phi=$condition$$.ma_phi);kehoachdtcp.find($query$$).lean().exec(($e$$,$ps$$)=>{if($e$$)return $callback$$($e$$);$ps$$.forEach($p$$=>{$p$$.thang=$p$$.kieu_ky=="thang"?$p$$.ky:0;$p$$.tuan=$p$$.kieu_ky=="tuan"?$p$$.ky:0;$p$$.quy=$p$$.kieu_ky=="quy"?$p$$.ky:0;$p$$.tien=0;$p$$.tien_nt=0;$p$$.tien_kh=$p$$.chi_tieu;$p$$.tien_kh_nt=$p$$.chi_tieu;
6
+ $p$$.sysorder=$p$$.tien_nt>0?3:5;$p$$.loai=$p$$.tien_kh>0?"V":"R"});$ps$$.joinModel2($req$$.query.id_app,dmphi,{where:"ma_phi",fields:"ten_phi"},()=>{let $data_tc$$=JSON.parse(JSON.stringify($ps$$)).map($p$$=>{$p$$.ma_phi="#tc#";$p$$.ten_phi=$p$$.tien_nt>0?"D\u00f2ng ti\u1ec1n v\u00e0o":"D\u00f2ng ti\u1ec1n ra";return $p$$});$ps$$=$ps$$.concat($data_tc$$);$ps$$.groupBy($baocaotheo$$.concat(["loai"]),["tien","tien_nt","tien_kh","tien_kh_nt"],($error$$,$rs$$)=>{if($error$$)return $callback$$($error$$);
7
+ $rs$$.forEach(function($r$$){$r$$.bold=$r$$.ma_phi==="#tc#"?!0:!1;$r$$.sysorder=$r$$.tien_nt>0?3:5;$r$$.bold&&--$r$$.sysorder});$callback$$(null,$rs$$)})})})},ps:$callback$$=>{const $query$$={id_app:$condition$$.id_app,tk:{$regex:"^"+$condition$$.tk,$options:"i"},ma_dvcs:{$regex:$condition$$.ma_dvcs,$options:"i"},ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}};$condition$$.ma_phi&&($query$$.ma_phi=$condition$$.ma_phi);Vsocai.find($query$$,($error$$,$ps$$)=>{if($error$$)return $callback$$($error$$);
8
+ $ps$$.forEach($p$$=>{let $m_ngay_ct$$=moment($p$$.ngay_ct);$p$$.thang=$m_ngay_ct$$.month()+1;$p$$.nam=$m_ngay_ct$$.year();$p$$.tuan=$m_ngay_ct$$.week();$p$$.quy=$m_ngay_ct$$.quarter();$p$$.tien=$p$$.ps_no-$p$$.ps_co;$p$$.tien_nt=$p$$.ps_no_nt-$p$$.ps_co_nt;$p$$.tien_kh=0;$p$$.tien_kh_nt=0;$p$$.sysorder=$p$$.tien_nt>0?3:5;$p$$.loai=$p$$.tien_nt>0?"V":"R"});$ps$$.joinModel2($req$$.query.id_app,dmphi,{where:"ma_phi",fields:"ten_phi"},()=>{let $data_tc$$=JSON.parse(JSON.stringify($ps$$)).map($p$$=>{$p$$.ma_phi=
9
+ "#tc#";$p$$.ten_phi=$p$$.tien_nt>0?"D\u00f2ng ti\u1ec1n v\u00e0o":"D\u00f2ng ti\u1ec1n ra";return $p$$});$ps$$=$ps$$.concat($data_tc$$);$ps$$.groupBy($baocaotheo$$.concat(["loai"]),["tien","tien_nt","tien_kh","tien_kh_nt"],($error$$,$rs$$)=>{if($error$$)return $callback$$($error$$);$rs$$.forEach(function($r$$){$r$$.bold=$r$$.ma_phi==="#tc#"?!0:!1;$r$$.sysorder=$r$$.tien_nt>0?3:5;$r$$.bold&&--$r$$.sysorder});$callback$$(null,$rs$$)})})},{groupBy:!0,sortData:!0,model:$condition$$.model_socai})}},($error$$,
10
+ $results$$)=>{if($error$$)return $callback$$($error$$);let $data$$=$results$$.ps.concat($results$$.dk).concat($results$$.kh);$data$$.filter($d$$=>$d$$.ma_phi!=="#tc#").groupBy([$condition$$.reportBy||"tuan","nam"],["tien","tien_nt","tien_kh","tien_kh_nt"],($e$$,$ck$$)=>{$ck$$.forEach($r$$=>{$r$$.sysorder=9;$r$$.ten_phi="Cu\u1ed1i k\u1ef3";$r$$.ma_phi="#ck#";$r$$.systotal=1;$r$$.bold=!0;$r$$.loai="#ck#"});$data$$=$data$$.concat($ck$$).sort(($a$$,$b$$)=>$a$$[$condition$$.reportBy||"tuan"]*1E3+$a$$.nam-
11
+ ($b$$[$condition$$.reportBy||"tuan"]*1E3+$b$$.nam));$data$$.forEach($d$$=>{$d$$.pv_column=$baocaotheos$$[$condition$$.reportBy||"tuan"]+" "+$d$$[$condition$$.reportBy||"tuan"]+"/"+$d$$.nam});$data$$.pivot(["ma_phi","ten_phi","bold","sysorder"],"pv_column",["tien","tien_nt","tien_kh","tien_kh_nt"],($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})})})})};
@@ -0,0 +1,6 @@
1
+ const bangtinhluong=global.getModel("bangtinhluong"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),controller=require("../../controllers/controllerRPT"),async=require("async");
2
+ module.exports=function($router$$){new controller($router$$,"sctluong",async($req$$,$callback$$)=>{var $chiTietCacDotDaChi_thang$$=Number($req$$.query.thang);let $nam$$=Number($req$$.query.nam),$id_app$$=$req$$.user.current_id_app;if(!$chiTietCacDotDaChi_thang$$||!$nam$$)return $callback$$("T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u hai tham s\u1ed1 thang v\u00e0 nam");if($chiTietCacDotDaChi_thang$$<1||$chiTietCacDotDaChi_thang$$>12||$nam$$<1E3||$nam$$>3E3)return $callback$$("Tham s\u1ed1 thang ho\u1eb7c nam kh\u00f4ng ph\u00f9 h\u1ee3p");
3
+ var $dsNhanVien_query$$={thang:$chiTietCacDotDaChi_thang$$,nam:$nam$$,id_app:$id_app$$};$req$$.query.ma_nv&&($dsNhanVien_query$$.ma_nv=$req$$.query.ma_nv);$req$$.query.ma_bp&&($dsNhanVien_query$$.ma_bp=$req$$.query.ma_bp);let $bangLuong$$=await bangtinhluong.find($dsNhanVien_query$$).sort({nam:1,thang:1,ma_nv:1}).lean();$dsNhanVien_query$$=$bangLuong$$.map($i$$=>$i$$.ma_nv);$chiTietCacDotDaChi_thang$$=await global.getModel("pcl").find({id_app:$id_app$$,ky:$chiTietCacDotDaChi_thang$$,nam:$nam$$,"details.ma_nv":{$in:$dsNhanVien_query$$}}).lean();
4
+ const $dsDotChi$$=[...(new Set($chiTietCacDotDaChi_thang$$.map($d$$=>$d$$.dot)))].sort(($a$$,$b$$)=>$a$$-$b$$);let $mapChiTiet$$={};$chiTietCacDotDaChi_thang$$.forEach($phieu$$=>{let $fieldName$$=`chi_dot_${$phieu$$.dot}`;$phieu$$.details&&Array.isArray($phieu$$.details)&&$phieu$$.details.forEach($d$$=>{let $amount$$=$d$$.tien_nt||0;$mapChiTiet$$[$d$$.ma_nv]||($mapChiTiet$$[$d$$.ma_nv]={total_da_chi:0});$mapChiTiet$$[$d$$.ma_nv][$fieldName$$]||($mapChiTiet$$[$d$$.ma_nv][$fieldName$$]=0);$mapChiTiet$$[$d$$.ma_nv][$fieldName$$]+=
5
+ $amount$$;$mapChiTiet$$[$d$$.ma_nv].total_da_chi+=$amount$$})});$bangLuong$$.forEach($row$$=>{$dsDotChi$$.forEach($dot$$=>{$row$$[`chi_dot_${$dot$$}`]=0});let $tongDaChi$$=0;$mapChiTiet$$[$row$$.ma_nv]&&(Object.assign($row$$,$mapChiTiet$$[$row$$.ma_nv]),$tongDaChi$$=$mapChiTiet$$[$row$$.ma_nv].total_da_chi||0);$row$$.luong_con_lai=($row$$.tong_luong||0)-$tongDaChi$$});async.parallel({nv:async()=>{await $bangLuong$$.asyncJoinModel2($req$$.user.current_id_app,dmnv,[{where:{ma_nv:"ma_nv"},fields:["ten_nv",
6
+ "ttncn_mst"]}]);return null},bp:async()=>{await $bangLuong$$.asyncJoinModel2($req$$.user.current_id_app,dmbp,[{where:{ma_bp:"ma_bp"},fields:["ten_bp"]}]);return null}},()=>{$callback$$(null,{data:$bangLuong$$,columns:$dsDotChi$$})})})};
@@ -0,0 +1,4 @@
1
+ const bangtinhluong=global.getModel("bangtinhluong"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),controller=require("../../controllers/controllerRPT"),async=require("async");
2
+ module.exports=function($router$$){new controller($router$$,"sctthuetncn",async($req$$,$callback$$)=>{var $query_thang$$=Number($req$$.query.thang);let $nam$$=Number($req$$.query.nam),$id_app$$=$req$$.user.current_id_app;if(!$query_thang$$||!$nam$$)return $callback$$("T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u hai tham s\u1ed1 thang v\u00e0 nam");if($query_thang$$<1||$query_thang$$>12||$nam$$<1E3||$nam$$>3E3)return $callback$$("Tham s\u1ed1 thang ho\u1eb7c nam kh\u00f4ng ph\u00f9 h\u1ee3p");$query_thang$$=
3
+ {thang:$query_thang$$,nam:$nam$$,id_app:$id_app$$};$req$$.query.ma_nv&&($query_thang$$.ma_nv=$req$$.query.ma_nv);$req$$.query.ma_bp&&($query_thang$$.ma_bp=$req$$.query.ma_bp);let $items$$=await bangtinhluong.find($query_thang$$).lean();async.parallel({nv:async()=>{await $items$$.asyncJoinModel2($req$$.user.current_id_app,dmnv,[{where:{ma_nv:"ma_nv"},fields:["ten_nv","ttncn_mst"]}]);return null},bp:async()=>{await $items$$.asyncJoinModel2($req$$.user.current_id_app,dmbp,[{where:{ma_bp:"ma_bp"},fields:["ten_bp"]}]);
4
+ return null}},()=>{$callback$$(null,$items$$.filter($item$$=>$item$$.ten_bp))})})};