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,9 @@
1
+ const Vsocai=require("../../libs/vsocai"),Customer=global.getModel("customer"),dktk=require("../../libs/dktk"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"scttk",function($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$$.bu_tru=!0;async.parallel({dk:function($callback$$){const $query$$={};underscore.extend($query$$,$condition$$);$query$$.ngay=$condition$$.tu_ngay;dktk($query$$,function($data_error$$,$result$$){if($data_error$$)return $callback$$($data_error$$);
3
+ $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,$data_error$$)})},ps:function($callback$$){const $query$$={id_app:$condition$$.id_app,tk:{$regex:"^"+$condition$$.tk,$options:"i"},ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}};$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);Vsocai.find($query$$,
4
+ function($error$$,$result$$){if($error$$)return $callback$$($error$$);$result$$.forEach(function($r$$){$r$$.systotal=0;$r$$.sysorder=5;$r$$.bold=!1});$error$$={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($error$$);$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,
5
+ ps_co_nt:0});$callback$$(null,$result$$)},{groupBy:!0,sortData:!0,model:$condition$$.model_socai||"socai"})}},async function($error$$,$results$$){if($error$$)return $callback$$($error$$);const $data$$=$results$$.ps;$data$$.push($results$$.dk);await $data$$.asyncJoinModel2($req$$.query.id_app,"dmbp",[{where:"ma_bp",fields:["ten_bp"]}]);await $data$$.asyncJoinModel2($req$$.query.id_app,"dmdt",[{where:"ma_dt",fields:["ten_dt"]}]);await $data$$.asyncJoinModel2($req$$.query.id_app,"dmphi",[{where:"ma_phi",
6
+ fields:["ten_phi"]}]);$data$$.joinModel2($req$$.query.id_app,Customer,[{where:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){var $report_so_ck_nt$$=$data$$.csum("ps_no_nt",{systotal:1})-$data$$.csum("ps_co_nt",{systotal:1});const $so_ck$$=$data$$.csum("ps_no",{systotal:1})-$data$$.csum("ps_co",{systotal:1}),$dong_cuoi_ky$$={systotal:1,sysorder:9,bold:!0,dien_giai:"Cu\u1ed1i k\u1ef3",ps_no:0,ps_co:0,ps_no_nt:0,ps_co_nt:0};$report_so_ck_nt$$>0&&($dong_cuoi_ky$$.ps_no_nt=$report_so_ck_nt$$);
7
+ $so_ck$$>0&&($dong_cuoi_ky$$.ps_no=$so_ck$$);$report_so_ck_nt$$<0&&($dong_cuoi_ky$$.ps_co_nt=Math.abs($report_so_ck_nt$$));$so_ck$$<0&&($dong_cuoi_ky$$.ps_co=Math.abs($so_ck$$));$data$$.push($dong_cuoi_ky$$);$report_so_ck_nt$$=$data$$.sort(($a$$,$b$$)=>{var $date2Diff_dateDiff_soCtDiff_sysorderDiff$$=$a$$.sysorder-$b$$.sysorder;if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=new Date($a$$.ngay_ct_full)-
8
+ new Date($b$$.ngay_ct_full);if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=new Date($a$$.date_created)-new Date($b$$.date_created);if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=$a$$.so_ct.localeCompare($b$$.so_ct);return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0?$date2Diff_dateDiff_soCtDiff_sysorderDiff$$:
9
+ ($b$$.ps_no>0)-($a$$.ps_no>0)});$callback$$(null,$report_so_ck_nt$$)})})})};
@@ -0,0 +1,5 @@
1
+ const sctvt=require("../../libs/ctvt"),dmvt=global.getModel("dmvt"),dmnvt=global.getModel("dmnvt"),dmkho=global.getModel("dmkho"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),async=require("async"),customer=global.getModel("customer");
2
+ module.exports=function($router$$){new controller($router$$,"sctvt",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,ma_vt");const $id_app$$=$query_req$$.id_app;sctvt($query_req$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);async.parallel({vt:$callback$$=>{$report$$.joinModel2($id_app$$,dmvt,[{where:"ma_vt",
3
+ fields:["ten_vt","ma_ncc","ma_nvt","ma_dvt"]}],function(){$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:[{ten_nvt:"ten_nvt"}]},()=>{$callback$$()})})})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),
4
+ fields:[{barcode1:"ma_tt2"},{ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),
5
+ fields:[{barcode3:"ma_tt2"},{ten_tt3:"ten_tt"}]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:"ten_kho"}],function(){$callback$$()})}},()=>{$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.sysorder.toString()+($r$$.ngay_ct_full?moment($r$$.ngay_ct_full).format("YYYYMMDD-HH:MM:SS"):"0")});$callback$$(null,$report$$)})})})};
@@ -0,0 +1,5 @@
1
+ const sctvt=require("../../libs/ctvt"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),async=require("async"),customer=global.getModel("customer");
2
+ module.exports=function($router$$){new controller($router$$,"sctvt_sl",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,ma_vt");const $id_app$$=$query_req$$.id_app;sctvt($query_req$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);async.parallel({vt:$callback$$=>{$report$$.joinModel2($id_app$$,dmvt,[{where:"ma_vt",
3
+ fields:["ten_vt","ma_ncc","ma_nvt","ma_dvt"]}],function(){$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:[{ten_nvt:"ten_nvt"}]},()=>{$callback$$()})})})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),
4
+ fields:[{barcode1:"ma_tt2"},{ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),
5
+ fields:[{barcode3:"ma_tt2"},{ten_tt3:"ten_tt"}]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:["ten_kho"]}],function(){$callback$$()})}},()=>{$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,6 @@
1
+ const sctvt=require("../../libs/ctvtnpp"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),async=require("async"),customer=global.getModel("customer");
2
+ module.exports=function($router$$){new controller($router$$,"sctvtnpp",async function($cust_req$$,$callback$$){const $query$$=$cust_req$$.query;if(!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay,ma_vt");($cust_req$$=await global.getModel("customer").findOne({id_app:$query$$.id_app,of_user:$cust_req$$.user.email}).lean())&&$cust_req$$.ma_kho_npp&&($query$$.ma_kho=$cust_req$$.ma_kho_npp);const $id_app$$=$query$$.id_app;
3
+ sctvt($query$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);async.parallel({vt:$callback$$=>{$report$$.joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:["ten_vt","ma_ncc"]}],function(){$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:[{ten_nvt:"ten_nvt"}]},()=>{$callback$$()})})})},tt1:$callback$$=>{$report$$.filter($r$$=>
4
+ $r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:[{barcode1:"ma_tt2"},{ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>
5
+ $r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:[{barcode3:"ma_tt2"},{ten_tt3:"ten_tt"}]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:"ten_kho"}],function(){$callback$$()})},kh:$callback$$=>{$report$$.joinModel2($id_app$$,"customer",[{where:"ma_kh",fields:"ten_kh"}],function(){$callback$$()})}},()=>{$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.sysorder.toString()+
6
+ ($r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):"0")});$callback$$(null,$report$$)})})})};
@@ -0,0 +1,5 @@
1
+ const sctvt=require("../../libs/ctvttt"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),async=require("async"),customer=global.getModel("customer");
2
+ module.exports=function($router$$){new controller($router$$,"sctvttt",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,ma_vt");const $id_app$$=$query_req$$.id_app;sctvt($query_req$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);async.parallel({vt:$callback$$=>{$report$$.joinModel2($id_app$$,dmvt,[{where:"ma_vt",
3
+ fields:["ten_vt","ma_ncc"]}],function(){$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:[{ten_nvt:"ten_nvt"}]},()=>{$callback$$()})})})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:[{barcode1:"ma_tt2"},
4
+ {ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:[{barcode3:"ma_tt2"},
5
+ {ten_tt3:"ten_tt"}]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:"ten_kho"}],function(){$callback$$()})}},()=>{$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,4 @@
1
+ const async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"search",function($req$$,$callback$$){if(!$req$$.query.collections)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: collections,value");const $report$$=[],$collections$$=JSON.parse("{"+$req$$.query.collections+"}"),$cols$$=underscore.keys($collections$$);async.mapLimit($cols$$,20,function($collection$$,$callback$$){var $collection_goc_model$$=$collection$$;$collection$$=="dmkh"&&($collection_goc_model$$=
3
+ "customer");$collection$$=="dmtk"&&($collection_goc_model$$="account");$collection$$=="dmnt"&&($collection_goc_model$$="currency");$collection_goc_model$$=global.getModel(""+$collection_goc_model$$);const $query$$={id_app:$req$$.query.id_app,$or:[]};$collections$$[$collection$$].split(",").forEach(function($field$$){const $q$$={};$q$$[$field$$]={$regex:$req$$.query.value,$options:"i"};$query$$.$or.push($q$$)});$collection_goc_model$$.find($query$$).lean().exec(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);
4
+ let $field_title$$;$rs$$.forEach(function($r$$){if(!$field_title$$)for(let $k$$ in $r$$)if($k$$=="title"||$k$$.indexOf("ten_")===0){$field_title$$=$k$$;break}$r$$.collection_name=$collection$$;$r$$.title=$r$$[$field_title$$];$report$$.push($r$$)});$callback$$(null)})},function($e$$){if($e$$)return $callback$$($e$$);$callback$$(null,$report$$)})})};
@@ -0,0 +1,6 @@
1
+ const socai=global.getModel("socai"),dmvt=global.getModel("dmvt"),dmtk=global.getModel("account"),dmkho=global.getModel("dmkho"),dmbp=global.getModel("dmbp"),dmphi=global.getModel("dmphi"),customer=global.getModel("customer"),dmnv=global.getModel("dmnv"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),async=require("async");
2
+ module.exports=function($router$$){new controller($router$$,"socai",function($query_req$$,$callback$$){$query_req$$=$query_req$$.query;const $id_app$$=$query_req$$.id_app,$condition$$={id_app:$id_app$$};$query_req$$.tu_ngay&&($condition$$.ngay_ct={$gte:$query_req$$.tu_ngay});$query_req$$.id_ct&&($condition$$.id_ct=$query_req$$.id_ct);$query_req$$.den_ngay&&($condition$$.ngay_ct?$condition$$.ngay_ct.$lte=$query_req$$.den_ngay:$condition$$.ngay_ct={$lte:$query_req$$.tu_ngay});$query_req$$.ma_vt&&($condition$$.ma_vt=
3
+ $query_req$$.ma_vt);$query_req$$.tk_no&&($condition$$.tk_no={$regex:"^"+$query_req$$.tk_no,$options:"i"});$query_req$$.tk_co&&($condition$$.tk_co={$regex:"^"+$query_req$$.tk_co,$options:"i"});$query_req$$.tk&&($condition$$.tk_no={$regex:"^"+$query_req$$.tk,$options:"i"},$condition$$.tk_co={$regex:"^"+$query_req$$.tk,$options:"i"});$query_req$$.ma_ct&&($condition$$.ma_ct=$query_req$$.ma_ct.toUpperCase());$query_req$$.ma_kho&&($condition$$.ma_kho=$query_req$$.ma_kho);$query_req$$.ma_kh&&($condition$$.ma_kh=
4
+ $query_req$$.ma_kh);$query_req$$.ma_nv&&($condition$$.ma_nv=$query_req$$.ma_nv);socai.find($condition$$).lean().exec(($error$$,$report$$)=>{if($error$$)return $callback$$($error$$);async.series({vt:$callback$$=>{$report$$.joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ten_vt"}],function(){$callback$$()})},kho:$callback$$=>{$report$$.joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:"ten_kho"}],function(){$callback$$()})},kh:$callback$$=>{$report$$.joinModel2($id_app$$,customer,[{where:"ma_kh",
5
+ fields:"ten_kh"}],function(){$callback$$()})},nv:$callback$$=>{$report$$.joinModel2($id_app$$,dmnv,[{where:"ma_nv",fields:"ten_nv"}],function(){$callback$$()})},bp:$callback$$=>{$report$$.joinModel2($id_app$$,dmbp,[{where:"ma_bp",fields:"ten_bp"}],function(){$callback$$()})},phi:$callback$$=>{$report$$.joinModel2($id_app$$,dmphi,[{where:"ma_phi",fields:"ten_phi"}],function(){$callback$$()})},tk_no:$callback$$=>{$report$$.joinModel2($id_app$$,dmtk,[{where:{tk_no:"tk"},fields:{ten_tk_no:"ten_tk"}}],
6
+ function(){$callback$$()})},tk_co:$callback$$=>{$report$$.joinModel2($id_app$$,dmtk,[{where:{tk_co:"tk"},fields:{ten_tk_co:"ten_tk"}}],function(){$callback$$()})}},()=>{$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):"0"});$callback$$(null,$report$$)})})})};
@@ -0,0 +1 @@
1
+ const socaitk=require("../../libs/socaitk"),controller=require("../../controllers/controllerRPT");module.exports=function($router$$){new controller($router$$,"socaitk",async function($condition_req$$,$callback$$){$condition_req$$=$condition_req$$.query;try{const $report$$=await socaitk($condition_req$$);$callback$$(null,$report$$)}catch($e$$){$callback$$($e$$)}})};
@@ -0,0 +1,7 @@
1
+ const Vsocai=require("../../libs/vsocai"),Account=global.getModel("account"),dktk=require("../../libs/dktk"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"sochut",function($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="");$condition$$.bu_tru=!0;async.parallel({dk:function($callback$$){const $query$$={};underscore.extend($query$$,$condition$$);$query$$.ngay=$condition$$.tu_ngay;
3
+ dktk($query$$,function($data_error$$,$result$$){if($data_error$$)return $callback$$($data_error$$);$data_error$$={systotal:1,sysorder:0,bold:!0,ten_tk_du:"\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,$data_error$$)})},ps:function($callback$$){Vsocai.find({id_app:$condition$$.id_app,tk:{$regex:"^"+$condition$$.tk,$options:"i"},ma_dvcs:{$regex:$condition$$.ma_dvcs,
4
+ $options:"i"},ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}},function($error$$,$data$$){if($error$$)return $callback$$($error$$);$data$$.groupBy("tk_du",["ps_no","ps_co","ps_no_nt","ps_co_nt"],function($e$$,$result$$){if($e$$)return $callback$$($error$$);$result$$.forEach(function($r$$){$r$$.systotal=0;$r$$.sysorder=5;$r$$.bold=!1});$result$$.joinModel2($condition$$.id_app,Account,[{where:{tk_du:"tk"},fields:[{name:"ten_tk_du",value:"ten_tk"}]}],function(){const $r_tong$$={systotal:1,
5
+ sysorder:6,bold:!0,ten_tk_du:"Ph\u00e1t sinh trong k\u1ef3",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$$);$callback$$(null,$result$$)})})},{model:"socaitt"})}},function($data$jscomp$2_error$$,$results_so_ck_nt$$){if($data$jscomp$2_error$$)return $callback$$($data$jscomp$2_error$$);$data$jscomp$2_error$$=$results_so_ck_nt$$.ps;$data$jscomp$2_error$$.push($results_so_ck_nt$$.dk);$results_so_ck_nt$$=
6
+ $data$jscomp$2_error$$.csum("ps_no_nt",{systotal:1})-$data$jscomp$2_error$$.csum("ps_co_nt",{systotal:1});const $so_ck$$=$data$jscomp$2_error$$.csum("ps_no",{systotal:1})-$data$jscomp$2_error$$.csum("ps_co",{systotal:1}),$dong_cuoi_ky$$={systotal:1,sysorder:9,bold:!0,ten_tk_du:"Cu\u1ed1i k\u1ef3",ps_no:0,ps_co:0,ps_no_nt:0,ps_co_nt:0};$results_so_ck_nt$$>0&&($dong_cuoi_ky$$.ps_no_nt=$results_so_ck_nt$$);$so_ck$$>0&&($dong_cuoi_ky$$.ps_no=$so_ck$$);$results_so_ck_nt$$<0&&($dong_cuoi_ky$$.ps_co_nt=
7
+ Math.abs($results_so_ck_nt$$));$so_ck$$<0&&($dong_cuoi_ky$$.ps_co=Math.abs($so_ck$$));$data$jscomp$2_error$$.push($dong_cuoi_ky$$);$data$jscomp$2_error$$=underscore.sortBy($data$jscomp$2_error$$,function($r$$){return $r$$.sysorder});$callback$$(null,$data$jscomp$2_error$$)})})};
@@ -0,0 +1,7 @@
1
+ const sokho=global.getModel("sokho"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),customer=global.getModel("customer"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),dmphi=global.getModel("dmphi"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),async=require("async");
2
+ module.exports=function($router$$){new controller($router$$,"sokho",async function($condition_req$$,$callback$$){let $query$$=$condition_req$$.query,$id_app$$=$query$$.id_app;$condition_req$$={id_app:$id_app$$};$query$$.id_ct&&($condition_req$$.id_ct=$query$$.id_ct);$query$$.tu_ngay&&($condition_req$$.ngay_ct={$gte:$query$$.tu_ngay});$query$$.den_ngay&&($condition_req$$.ngay_ct?$condition_req$$.ngay_ct.$lte=$query$$.den_ngay:$condition_req$$.ngay_ct={$lte:$query$$.tu_ngay});$query$$.ma_ct&&($condition_req$$.ma_ct=
3
+ $query$$.ma_ct.toUpperCase());$query$$.ma_kho&&($condition_req$$.ma_kho=$query$$.ma_kho);$query$$.ma_kh&&($condition_req$$.ma_kh=$query$$.ma_kh);$query$$.ma_nv&&($condition_req$$.ma_nv=$query$$.ma_nv);$query$$.tk_vt&&($condition_req$$.tk_vt={$regex:"^"+$query$$.tk_vt,$options:"i"});$query$$.tk_gv&&($condition_req$$.tk_gv={$regex:"^"+$query$$.tk_gv,$options:"i"});$query$$.tk_dt&&($condition_req$$.tk_dt={$regex:"^"+$query$$.tk_dt,$options:"i"});$query$$.nxt&&($condition_req$$.nxt=Number($query$$.nxt));
4
+ let $vts$$=await new Promise(($resolve$$,$reject$$)=>{if(!$query$$.ma_vt&&($query$$.ma_ncc||$query$$.ma_kh||$query$$.ma_nvt||$query$$.ma_nvt2||$query$$.ma_nvt3||$query$$.ma_nvt4||$query$$.ma_lvt)){const $_query$$={id_app:$id_app$$,tg_tk:!0};$query$$.ma_ncc&&($_query$$.ma_ncc=$query$$.ma_ncc);$query$$.ma_nvt&&$query$$.ma_nvt.length>0&&($_query$$.ma_nvt=$query$$.ma_nvt);$query$$.ma_nvt2&&$query$$.ma_nvt2.length>0&&($_query$$.ma_nvt2=$query$$.ma_nvt2);$query$$.ma_nvt3&&$query$$.ma_nvt3.length>0&&($_query$$.ma_nvt3=
5
+ $query$$.ma_nvt3);$query$$.ma_nvt4&&$query$$.ma_nvt4.length>0&&($_query$$.ma_nvt4=$query$$.ma_nvt4);$query$$.ma_lvt&&($_query$$.ma_lvt=$query$$.ma_lvt);dmvt.find($_query$$,{ma_vt:1}).lean().exec(($err$$,$rs$$)=>{if($err$$)return $reject$$($err$$);$resolve$$($rs$$.map($r$$=>$r$$.ma_vt))})}else $resolve$$($query$$.ma_vt)});$vts$$&&(Array.isArray($vts$$)?$condition_req$$.ma_vt={$in:$vts$$}:$condition_req$$.ma_vt=$vts$$);sokho.find($condition_req$$).sort({ngay_ct:1,so_ct:1}).lean().exec(($error$$,$report$$)=>
6
+ {if($error$$)return $callback$$($error$$);async.parallel({vt:$callback$$=>{$report$$.joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ten_vt"}],function(){$callback$$()})},kho:$callback$$=>{$report$$.joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:"ten_kho"}],function(){$callback$$()})},kh:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kh).joinModel2($id_app$$,customer,[{where:"ma_kh",fields:"ten_kh"}],function(){$callback$$()})},nv:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_nv).joinModel2($id_app$$,
7
+ dmnv,[{where:"ma_nv",fields:"ten_nv"}],function(){$callback$$()})},bp:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_bp).joinModel2($id_app$$,dmbp,[{where:"ma_bp",fields:"ten_bp"}],function(){$callback$$()})},phi:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_phi).joinModel2($id_app$$,dmphi,[{where:"ma_phi",fields:"ten_phi"}],function(){$callback$$()})}},()=>{$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):"0"});$callback$$(null,$report$$)})})})};
@@ -0,0 +1,5 @@
1
+ const sokho=global.getModel("sokhott"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),customer=global.getModel("customer"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),dmphi=global.getModel("dmphi"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),async=require("async");
2
+ module.exports=function($router$$){new controller($router$$,"sokhott",function($query_req$$,$callback$$){$query_req$$=$query_req$$.query;let $id_app$$=$query_req$$.id_app,$condition$$={id_app:$id_app$$};$query_req$$.id_ct&&($condition$$.id_ct=$query_req$$.id_ct);$query_req$$.tu_ngay&&($condition$$.ngay_ct={$gte:$query_req$$.tu_ngay});$query_req$$.den_ngay&&($condition$$.ngay_ct?$condition$$.ngay_ct.$lte=$query_req$$.den_ngay:$condition$$.ngay_ct={$lte:$query_req$$.tu_ngay});$query_req$$.ma_vt&&($condition$$.ma_vt=
3
+ $query_req$$.ma_vt);$query_req$$.ma_ct&&($condition$$.ma_ct=$query_req$$.ma_ct.toUpperCase());$query_req$$.ma_kho&&($condition$$.ma_kho=$query_req$$.ma_kho);$query_req$$.ma_kh&&($condition$$.ma_kh=$query_req$$.ma_kh);$query_req$$.ma_nv&&($condition$$.ma_nv=$query_req$$.ma_nv);$query_req$$.tk_vt&&($condition$$.tk_vt={$regex:"^"+$query_req$$.tk_vt,$options:"i"});$query_req$$.tk_gv&&($condition$$.tk_gv={$regex:"^"+$query_req$$.tk_gv,$options:"i"});$query_req$$.tk_dt&&($condition$$.tk_dt={$regex:"^"+
4
+ $query_req$$.tk_dt,$options:"i"});sokho.find($condition$$).sort({ngay_ct:1,so_ct:1}).lean().exec(($error$$,$report$$)=>{if($error$$)return $callback$$($error$$);async.series({vt:$callback$$=>{$report$$.joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ten_vt"}],function(){$callback$$()})},kho:$callback$$=>{$report$$.joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:"ten_kho"}],function(){$callback$$()})},kh:$callback$$=>{$report$$.joinModel2($id_app$$,customer,[{where:"ma_kh",fields:"ten_kh"}],function(){$callback$$()})},
5
+ nv:$callback$$=>{$report$$.joinModel2($id_app$$,dmnv,[{where:"ma_nv",fields:"ten_nv"}],function(){$callback$$()})},bp:$callback$$=>{$report$$.joinModel2($id_app$$,dmbp,[{where:"ma_bp",fields:"ten_bp"}],function(){$callback$$()})},phi:$callback$$=>{$report$$.joinModel2($id_app$$,dmphi,[{where:"ma_phi",fields:"ten_phi"}],function(){$callback$$()})}},()=>{$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):"0"});$callback$$(null,$report$$)})})})};
@@ -0,0 +1,5 @@
1
+ const Account=global.getModel("account"),Customer=global.getModel("customer"),Socai=global.getModel("socai"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"sonkbh",function($req$$,$callback$$){const $query$$={};$query$$.id_app=$req$$.query.id_app;if($req$$.query.q){const $q$$=JSON.parse($req$$.query.q);underscore.extend($query$$,$q$$)}else $query$$.ngay_ct={$gte:$req$$.query.tu_ngay,$lte:$req$$.query.den_ngay},$req$$.query.dien_giai&&($query$$.dien_giai={$regex:$req$$.query.dien_giai,$options:"i"}),$req$$.query.tk_no&&($query$$.tk_no={$regex:$req$$.query.tk_no.split(",").reg(),$options:"i"}),
3
+ $req$$.query.tk_co&&($query$$.tk_co={$regex:$req$$.query.tk_co.split(",").reg(),$options:"i"}),$req$$.query.ma_dvcs&&($query$$.ma_dvcs={$regex:$req$$.query.ma_dvcs,$options:"i"});Socai.find($query$$).lean().exec(function($error$$,$rp$$){if($error$$)return $callback$$($error$$);$rp$$.forEach(function($r$$){$r$$.systotal=0});async.series([function($callback$$){$rp$$.joinModel($req$$.query.id_app,Account,[{akey:"tk_no",bkey:"tk",fields:[{name:"ten_tk_no",value:"ten_tk"}]},{akey:"tk_co",bkey:"tk",fields:[{name:"ten_tk_co",
4
+ value:"ten_tk"}]}],function(){$callback$$()})},function($callback$$){$rp$$.joinModel($req$$.query.id_app,Customer,[{akey:"ma_kh_no",bkey:"ma_kh",fields:[{name:"ten_kh_no",value:"ten_kh"}]},{akey:"ma_kh_co",bkey:"ma_kh",fields:[{name:"ten_kh_co",value:"ten_kh"}]}],function(){$callback$$()})}],function($error$$){const $rt$$={dien_giai:"T\u1ed5ng c\u1ed9ng",tien:$rp$$.csum("tien"),tien_nt:$rp$$.csum("tien_nt"),systotal:1,bold:!0};$rp$$.push($rt$$);$rp$$=underscore.sortBy($rp$$,function($r$$){return $r$$.ngay_ct+
5
+ $r$$.ma_ct+$r$$.so_ct});$callback$$($error$$,$rp$$)})})})};
@@ -0,0 +1,6 @@
1
+ const Account=global.getModel("account"),Customer=global.getModel("customer"),vsocai=require("../../libs/vsocai"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
+ module.exports=function($router$$){new controller($router$$,"sonkc",function($req$$,$callback$$){let $groupBy$$=$req$$.query.groupby,$fieldmaxs$$=$req$$.query.fieldmax;const $query$$={};$query$$.id_app=$req$$.query.id_app;if($req$$.query.q){var $q_tks$$=JSON.parse($req$$.query.q);underscore.extend($query$$,$q_tks$$)}else $query$$.ngay_ct={$gte:$req$$.query.tu_ngay,$lte:$req$$.query.den_ngay},$req$$.query.dien_giai&&($query$$.dien_giai={$regex:$req$$.query.dien_giai,$options:"i"}),$req$$.query.so_ct&&
3
+ ($query$$.so_ct={$regex:$req$$.query.so_ct,$options:"i"}),$req$$.query.tk&&($q_tks$$=$req$$.query.tk,underscore.isArray($q_tks$$)||($q_tks$$=[$q_tks$$]),$query$$.tk={$regex:$q_tks$$.reg(),$options:"i"}),$req$$.query.ma_dvcs&&($query$$.ma_dvcs={$regex:$req$$.query.ma_dvcs,$options:"i"});vsocai.find($query$$,function($error$$,$rp$$){if($error$$)return $callback$$($error$$);$rp$$.forEach(function($r$$){$r$$.systotal=0;$r$$.sysorder=5;$r$$.bold=!1;$r$$.thang=$r$$.ngay_ct.getMonth()+1;$r$$.nam=$r$$.ngay_ct.getFullYear();
4
+ $r$$.tk_bac1=$r$$.tk.length<=3?$r$$.tk:$r$$.tk.substring(0,3)});async.series([function($callback$$){$rp$$.joinModel2($req$$.query.id_app,Account,[{where:"tk",fields:"ten_tk"},{where:{tk_bac1:"tk"},fields:{ten_tk_bac1:"ten_tk"}}],function(){$callback$$()})},function($callback$$){$rp$$.joinModel($req$$.query.id_app,Customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){$callback$$()})}],function($error$$){const $rt$$={dien_giai:"T\u1ed5ng c\u1ed9ng",ps_no:$rp$$.csum("ps_no"),
5
+ ps_co:$rp$$.csum("ps_co"),ps_no_nt:$rp$$.csum("ps_no_nt"),ps_co_nt:$rp$$.csum("ps_co_nt"),systotal:1,sysorder:9,bold:!0};$groupBy$$?($fieldmaxs$$||=["so_ct","ngay_ct","ma_ct"],$rp$$.groupBy($groupBy$$,["ps_no","ps_co","ps_no_nt","ps_co_nt"],function($e$$,$rs$$){$req$$.query.grouponly?$rp$$=$rs$$:$rs$$.forEach(function($r$$){$r$$.systotal=1;$r$$.sysorder=3;$r$$.bold=!0;$r$$.dien_giai="C\u1ed9ng";$rp$$.push($r$$)});$rp$$.push($rt$$);$rp$$=underscore.sortBy($rp$$,function($r$$){return($r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):
6
+ "0")+$r$$.ma_ct+$r$$.so_ct+$r$$.id_ct+$r$$.sysorder+$r$$.nh_dk+$r$$.ps_co});$callback$$($error$$,$rp$$)},{fieldmaxs:$fieldmaxs$$})):($rp$$.push($rt$$),$rp$$=underscore.sortBy($rp$$,function($r$$){return($r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):"0")+$r$$.ma_ct+$r$$.so_ct+$r$$.id_ct+$r$$.sysorder+$r$$.nh_dk+$r$$.ps_co}),$callback$$($error$$,$rp$$))})},{groupBy:!0,sortData:!0})})};
@@ -0,0 +1,5 @@
1
+ const Account=global.getModel("account"),Customer=global.getModel("customer"),Socai=global.getModel("socai"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"sonkct",function($req$$,$callback$$){const $query$$={};$query$$.id_app=$req$$.query.id_app;if($req$$.query.q){const $q$$=JSON.parse($req$$.query.q);underscore.extend($query$$,$q$$)}else $query$$.ngay_ct={$gte:$req$$.query.tu_ngay,$lte:$req$$.query.den_ngay},$req$$.query.dien_giai&&($query$$.dien_giai={$regex:$req$$.query.dien_giai,$options:"i"}),$req$$.query.tk_no&&($query$$.tk_no={$regex:$req$$.query.tk_no.split(",").reg(),$options:"i"}),
3
+ $req$$.query.tk_co&&($query$$.tk_co={$regex:$req$$.query.tk_co.split(",").reg(),$options:"i"}),$req$$.query.ma_dvcs&&($query$$.ma_dvcs={$regex:$req$$.query.ma_dvcs,$options:"i"});Socai.find($query$$).lean().exec(function($error$$,$rp$$){if($error$$)return $callback$$($error$$);$rp$$.forEach(function($r$$){$r$$.systotal=0});async.series([function($callback$$){$rp$$.joinModel($req$$.query.id_app,Account,[{akey:"tk_no",bkey:"tk",fields:[{name:"ten_tk_no",value:"ten_tk"}]},{akey:"tk_co",bkey:"tk",fields:[{name:"ten_tk_co",
4
+ value:"ten_tk"}]}],function(){$callback$$()})},function($callback$$){$rp$$.joinModel($req$$.query.id_app,Customer,[{akey:"ma_kh_no",bkey:"ma_kh",fields:[{name:"ten_kh_no",value:"ten_kh"}]},{akey:"ma_kh_co",bkey:"ma_kh",fields:[{name:"ten_kh_co",value:"ten_kh"}]}],function(){$callback$$()})}],function($error$$){const $rt$$={dien_giai:"T\u1ed5ng c\u1ed9ng",tien:$rp$$.csum("tien"),tien_nt:$rp$$.csum("tien_nt"),systotal:1,bold:!0};$rp$$.push($rt$$);$rp$$=underscore.sortBy($rp$$,function($r$$){return $r$$.ngay_ct+
5
+ $r$$.ma_ct+$r$$.so_ct});$callback$$($error$$,$rp$$)})})})};
@@ -0,0 +1,5 @@
1
+ const Account=global.getModel("account"),Customer=global.getModel("customer"),Socai=global.getModel("socai"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"sonkmh",function($req$$,$callback$$){const $query$$={};$query$$.id_app=$req$$.query.id_app;if($req$$.query.q){const $q$$=JSON.parse($req$$.query.q);underscore.extend($query$$,$q$$)}else $query$$.ngay_ct={$gte:$req$$.query.tu_ngay,$lte:$req$$.query.den_ngay},$req$$.query.dien_giai&&($query$$.dien_giai={$regex:$req$$.query.dien_giai,$options:"i"}),$req$$.query.tk_no&&($query$$.tk_no={$regex:$req$$.query.tk_no.split(",").reg(),$options:"i"}),
3
+ $req$$.query.tk_co&&($query$$.tk_co={$regex:$req$$.query.tk_co.split(",").reg(),$options:"i"}),$req$$.query.ma_dvcs&&($query$$.ma_dvcs={$regex:$req$$.query.ma_dvcs,$options:"i"});Socai.find($query$$).lean().exec(function($error$$,$rp$$){if($error$$)return $callback$$($error$$);$rp$$.forEach(function($r$$){$r$$.systotal=0});async.series([function($callback$$){$rp$$.joinModel($req$$.query.id_app,Account,[{akey:"tk_no",bkey:"tk",fields:[{name:"ten_tk_no",value:"ten_tk"}]},{akey:"tk_co",bkey:"tk",fields:[{name:"ten_tk_co",
4
+ value:"ten_tk"}]}],function(){$callback$$()})},function($callback$$){$rp$$.joinModel($req$$.query.id_app,Customer,[{akey:"ma_kh_no",bkey:"ma_kh",fields:[{name:"ten_kh_no",value:"ten_kh"}]},{akey:"ma_kh_co",bkey:"ma_kh",fields:[{name:"ten_kh_co",value:"ten_kh"}]}],function(){$callback$$()})}],function($error$$){const $rt$$={dien_giai:"T\u1ed5ng c\u1ed9ng",tien:$rp$$.csum("tien"),tien_nt:$rp$$.csum("tien_nt"),systotal:1,bold:!0};$rp$$.push($rt$$);$rp$$=underscore.sortBy($rp$$,function($r$$){return $r$$.ngay_ct+
5
+ $r$$.ma_ct+$r$$.so_ct});$callback$$($error$$,$rp$$)})})})};
@@ -0,0 +1,5 @@
1
+ const Account=global.getModel("account"),Customer=global.getModel("customer"),Socai=global.getModel("socai"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"sonktt",function($req$$,$callback$$){const $query$$={};$query$$.id_app=$req$$.query.id_app;if($req$$.query.q){const $q$$=JSON.parse($req$$.query.q);underscore.extend($query$$,$q$$)}else $query$$.ngay_ct={$gte:$req$$.query.tu_ngay,$lte:$req$$.query.den_ngay},$req$$.query.dien_giai&&($query$$.dien_giai={$regex:$req$$.query.dien_giai,$options:"i"}),$req$$.query.tk_no&&($query$$.tk_no={$regex:$req$$.query.tk_no.split(",").reg(),$options:"i"}),
3
+ $req$$.query.tk_co&&($query$$.tk_co={$regex:$req$$.query.tk_co.split(",").reg(),$options:"i"}),$req$$.query.ma_dvcs&&($query$$.ma_dvcs={$regex:$req$$.query.ma_dvcs,$options:"i"});Socai.find($query$$).lean().exec(function($error$$,$rp$$){if($error$$)return $callback$$($error$$);$rp$$.forEach(function($r$$){$r$$.systotal=0});async.series([function($callback$$){$rp$$.joinModel($req$$.query.id_app,Account,[{akey:"tk_no",bkey:"tk",fields:[{name:"ten_tk_no",value:"ten_tk"}]},{akey:"tk_co",bkey:"tk",fields:[{name:"ten_tk_co",
4
+ value:"ten_tk"}]}],function(){$callback$$()})},function($callback$$){$rp$$.joinModel($req$$.query.id_app,Customer,[{akey:"ma_kh_no",bkey:"ma_kh",fields:[{name:"ten_kh_no",value:"ten_kh"}]},{akey:"ma_kh_co",bkey:"ma_kh",fields:[{name:"ten_kh_co",value:"ten_kh"}]}],function(){$callback$$()})}],function($error$$){const $rt$$={dien_giai:"T\u1ed5ng c\u1ed9ng",tien:$rp$$.csum("tien"),tien_nt:$rp$$.csum("tien_nt"),systotal:1,bold:!0};$rp$$.push($rt$$);$rp$$=underscore.sortBy($rp$$,function($r$$){return $r$$.ngay_ct+
5
+ $r$$.ma_ct+$r$$.so_ct});$callback$$($error$$,$rp$$)})})})};
@@ -0,0 +1,11 @@
1
+ const Vsocai=require("../../libs/vsocai"),Customer=global.getModel("customer"),dktk=require("../../libs/dktk"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"soquy",function($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$$.bu_tru=!0;async.parallel({dk:function($callback$$){let $query$$={};underscore.extend($query$$,$condition$$);$query$$.ngay=$condition$$.tu_ngay;dktk($query$$,function($data_error$$,$result$$){if($data_error$$)return $callback$$($data_error$$);
3
+ $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,$data_error$$)},{queryByDateHour:!0})},ps:function($callback$$){let $query$$={id_app:$condition$$.id_app,tk:{$regex:"^"+$condition$$.tk,$options:"i"},ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}};$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);
4
+ $condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);Vsocai.find($query$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$result$$.forEach(function($r$$){$r$$.systotal=0;$r$$.sysorder=5;$r$$.bold=!1});$callback$$(null,$result$$)},{sortData:!0,model:$condition$$.model_socai,queryByDateHour:!0})}},function($error$$,$results$$){if($error$$)return $callback$$($error$$);let $data$$=$results$$.ps;$data$$.push($results$$.dk);$data$$.joinModel2($req$$.query.id_app,Customer,[{where:"ma_kh",
5
+ fields:["ten_kh","dia_chi","dien_thoai"]}],function(){var $finalReport_groupedById_report$$=$data$$.reduce(($acc$$,$row$$)=>{if($row$$.sysorder===5&&$row$$.id_ct){var $group_groupKey$$=`${$row$$.id_ct}-${$row$$.tk||""}-${$row$$.ma_kh||""}_${$row$$.dien_giai||""}`;$acc$$[$group_groupKey$$]||($acc$$[$group_groupKey$$]={...$row$$,ps_no:0,ps_co:0,tk_du:new Set});$group_groupKey$$=$acc$$[$group_groupKey$$];$group_groupKey$$.ps_no+=$row$$.ps_no;$group_groupKey$$.ps_co+=$row$$.ps_co;$row$$.tk_du&&$group_groupKey$$.tk_du.add($row$$.tk_du)}return $acc$$},
6
+ {}),$groupedRows_r_tong_so_ck_nt$$=Object.values($finalReport_groupedById_report$$).map($group$$=>{$group$$.tk_du=Array.from($group$$.tk_du).join(", ");const $diff$$=$group$$.ps_no-$group$$.ps_co,$diff_nt$$=$group$$.ps_no_nt-$group$$.ps_co_nt;$diff$$>0?($group$$.ps_no=$diff$$,$group$$.ps_co=0):($group$$.ps_no=0,$group$$.ps_co=Math.abs($diff$$));$diff_nt$$>0?($group$$.ps_no_nt=$diff_nt$$,$group$$.ps_co_nt=0):($group$$.ps_no_nt=0,$group$$.ps_co_nt=Math.abs($diff_nt$$));return $group$$});$finalReport_groupedById_report$$=
7
+ [...$data$$.filter($row$$=>$row$$.sysorder!==5),...$groupedRows_r_tong_so_ck_nt$$];$groupedRows_r_tong_so_ck_nt$$={systotal:1,sysorder:6,bold:!0,dien_giai:"T\u1ed5ng c\u1ed9ng ph\u00e1t sinh",ps_no:$groupedRows_r_tong_so_ck_nt$$.csum("ps_no"),ps_co:$groupedRows_r_tong_so_ck_nt$$.csum("ps_co"),ps_no_nt:$groupedRows_r_tong_so_ck_nt$$.csum("ps_no_nt"),ps_co_nt:$groupedRows_r_tong_so_ck_nt$$.csum("ps_co_nt")};$finalReport_groupedById_report$$.push($groupedRows_r_tong_so_ck_nt$$);$finalReport_groupedById_report$$.push({systotal:0,
8
+ 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});$groupedRows_r_tong_so_ck_nt$$=$finalReport_groupedById_report$$.csum("ps_no_nt",{systotal:1})-$finalReport_groupedById_report$$.csum("ps_co_nt",{systotal:1});let $so_ck$$=$finalReport_groupedById_report$$.csum("ps_no",{systotal:1})-$finalReport_groupedById_report$$.csum("ps_co",{systotal:1}),$dong_cuoi_ky$$={systotal:1,sysorder:9,bold:!0,dien_giai:"Cu\u1ed1i k\u1ef3",ps_no:0,ps_co:0,ps_no_nt:0,ps_co_nt:0};
9
+ $groupedRows_r_tong_so_ck_nt$$>0&&($dong_cuoi_ky$$.ps_no_nt=$groupedRows_r_tong_so_ck_nt$$);$so_ck$$>0&&($dong_cuoi_ky$$.ps_no=$so_ck$$);$groupedRows_r_tong_so_ck_nt$$<0&&($dong_cuoi_ky$$.ps_co_nt=Math.abs($groupedRows_r_tong_so_ck_nt$$));$so_ck$$<0&&($dong_cuoi_ky$$.ps_co=Math.abs($so_ck$$));$finalReport_groupedById_report$$.push($dong_cuoi_ky$$);$finalReport_groupedById_report$$=$finalReport_groupedById_report$$.sort(($a$$,$b$$)=>{var $date2Diff_dateDiff_soCtDiff_sysorderDiff$$=$a$$.sysorder-$b$$.sysorder;
10
+ if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=new Date($a$$.ngay_ct_full)-new Date($b$$.ngay_ct_full);if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=new Date($a$$.date_created)-new Date($b$$.date_created);if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;
11
+ $date2Diff_dateDiff_soCtDiff_sysorderDiff$$=$a$$.so_ct.localeCompare($b$$.so_ct);return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0?$date2Diff_dateDiff_soCtDiff_sysorderDiff$$:($b$$.ps_no>0)-($a$$.ps_no>0)});let $t_ps_no$$=0,$t_ps_co$$=0;$finalReport_groupedById_report$$.forEach(function($r$$){$t_ps_no$$+=$r$$.ps_no;$t_ps_co$$+=$r$$.ps_co;$r$$.bold||($r$$.du=$t_ps_no$$-$t_ps_co$$)});$callback$$(null,$finalReport_groupedById_report$$)})})})};
@@ -0,0 +1,13 @@
1
+ const socai=global.getModel("socai"),ctds=global.getModel("ctds"),dmkho=global.getModel("dmkho"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),{getCodeChildren}=require("../../libs/utils");
2
+ module.exports=function($router$$){new controller($router$$,"sosanhkhvatt",async function($query_req$$,$callback$$){let $condition$$=$query_req$$.query;if(!$condition$$.nam||!$condition$$.tu_thang||!$condition$$.den_thang)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 nam,tu_thang,den_thang");$query_req$$={id_app:$condition$$.id_app,tu_nam_thang:{$gte:Number($condition$$.nam)*12+Number($condition$$.tu_thang)},den_nam_thang:{$lte:Number($condition$$.nam)*12+
3
+ Number($condition$$.den_thang)}};$condition$$.ma_dvcs&&($query_req$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_kho&&($query_req$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_nv&&($query_req$$.ma_nv=$condition$$.ma_nv);if($condition$$.ma_bp){var $bps_dts_phis$$=await getCodeChildren(dmbp,$condition$$.id_app,$condition$$.ma_bp,"ma_bp","ma_bp_me");$query_req$$.ma_bp={$in:$bps_dts_phis$$}}$condition$$.ma_phi&&($bps_dts_phis$$=await getCodeChildren(dmphi,$condition$$.id_app,$condition$$.ma_phi,"ma_phi",
4
+ "ma_phi_me"),$query_req$$.ma_phi={$in:$bps_dts_phis$$});$condition$$.ma_dt&&($bps_dts_phis$$=await getCodeChildren(dmdt,$condition$$.id_app,$condition$$.ma_dt,"ma_dt","ma_dt_me"),$query_req$$.ma_dt={$in:$bps_dts_phis$$});$condition$$.group_id&&($query_req$$.group_id=$condition$$.group_id);ctds.find($query_req$$).lean().exec(($e$$,$cts$$)=>{if($e$$)return $callback$$($e$$);async.mapLimit($cts$$,20,($ct$$,$callback$$)=>{setImmediate(async()=>{let $query$$={id_app:$ct$$.id_app,ma_dvcs:$ct$$.ma_dvcs};
5
+ $ct$$.ma_kho&&($query$$.ma_kho=$ct$$.ma_kho);$ct$$.ma_nv&&($query$$.ma_nv=$ct$$.ma_nv);if($ct$$.ma_bp){var $bps$jscomp$1_dts$jscomp$1_phis$$=await getCodeChildren(dmbp,$condition$$.id_app,$ct$$.ma_bp,"ma_bp","ma_bp_me");$query$$.ma_bp={$in:$bps$jscomp$1_dts$jscomp$1_phis$$}}$ct$$.ma_dt&&($bps$jscomp$1_dts$jscomp$1_phis$$=await getCodeChildren(dmdt,$condition$$.id_app,$ct$$.ma_dt,"ma_dt","ma_dt_me"),$query$$.ma_dt={$in:$bps$jscomp$1_dts$jscomp$1_phis$$});$ct$$.ma_phi&&($bps$jscomp$1_dts$jscomp$1_phis$$=
6
+ await getCodeChildren(dmphi,$condition$$.id_app,$ct$$.ma_phi,"ma_phi","ma_phi_me"),$query$$.ma_phi={$in:$bps$jscomp$1_dts$jscomp$1_phis$$});$bps$jscomp$1_dts$jscomp$1_phis$$=moment().year($ct$$.nam).month($ct$$.tu_thang-1);let $den_ngay$$=moment().year($ct$$.nam).month($ct$$.den_thang-1);$query$$.ngay_ct={$gte:$bps$jscomp$1_dts$jscomp$1_phis$$.startOf("month").toDate(),$lte:$den_ngay$$.endOf("month").toDate()};async.parallel({dt:$callback$$=>{let $_query$$=Object.assign({},$query$$);var $tks_co_tks_no$$=
7
+ $ct$$.tk_no;$tks_co_tks_no$$&&!$ct$$.tk_no_gt&&(underscore.isArray($tks_co_tks_no$$)||($tks_co_tks_no$$=[$tks_co_tks_no$$]),$tks_co_tks_no$$.length>0&&($_query$$.tk_no={$regex:$tks_co_tks_no$$.reg(),$options:"i"}));($tks_co_tks_no$$=$ct$$.tk_co)&&!$ct$$.tk_co_gt&&(underscore.isArray($tks_co_tks_no$$)||($tks_co_tks_no$$=[$tks_co_tks_no$$]),$tks_co_tks_no$$.length>0&&($_query$$.tk_co={$regex:$tks_co_tks_no$$.reg(),$options:"i"}));socai.find($_query$$).lean().exec(($e$$,$rs$$)=>{if($e$$)return Logger.info("error get data phat sinh",
8
+ $e$$),$callback$$($e$$);$callback$$(null,$rs$$)})},gt:$callback$$=>{if($ct$$.tk_no&&$ct$$.tk_no.length>0&&$ct$$.tk_no_gt||$ct$$.tk_co&&$ct$$.tk_co.length>0&&$ct$$.tk_co_gt){let $_query$$=Object.assign({},$query$$);var $tks_co$jscomp$1_tks_no$$=$ct$$.tk_no;$tks_co$jscomp$1_tks_no$$&&$ct$$.tk_no_gt&&(underscore.isArray($tks_co$jscomp$1_tks_no$$)||($tks_co$jscomp$1_tks_no$$=[$tks_co$jscomp$1_tks_no$$]),$tks_co$jscomp$1_tks_no$$.length>0&&($_query$$.tk_no={$regex:$tks_co$jscomp$1_tks_no$$.reg(),$options:"i"}));
9
+ ($tks_co$jscomp$1_tks_no$$=$ct$$.tk_co)&&$ct$$.tk_co_gt&&(underscore.isArray($tks_co$jscomp$1_tks_no$$)||($tks_co$jscomp$1_tks_no$$=[$tks_co$jscomp$1_tks_no$$]),$tks_co$jscomp$1_tks_no$$.length>0&&($_query$$.tk_co={$regex:$tks_co$jscomp$1_tks_no$$.reg(),$options:"i"}));socai.find($_query$$).lean().exec(($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})}else $callback$$(null,[])}},($e$$,$rs$$)=>{if($e$$)return Logger.info("error get data giam tru",$e$$),$callback$$($e$$);$ct$$.ps=
10
+ $rs$$.dt.csum("tien")-$rs$$.gt.csum("tien");$ct$$.ps_nt=$rs$$.dt.csum("tien_nt")-$rs$$.gt.csum("tien_nt");$ct$$.cl=$ct$$.chi_tieu-$ct$$.ps;$ct$$.bold=!1;$ct$$.sysorder=0;$callback$$(null,$ct$$)})})},$e$$=>{if($e$$)return Logger.info("error get data",$e$$),$callback$$($e$$);async.parallel({kho:$callback$$=>{$cts$$.filter($d$$=>$d$$.ma_kho).joinModel2($condition$$.id_app,dmkho,{where:"ma_kho",fields:{ten_kho:"ten_kho"}},()=>{$callback$$()})},nv:$callback$$=>{$cts$$.filter($d$$=>$d$$.ma_nv).joinModel2($condition$$.id_app,
11
+ dmnv,{where:"ma_nv",fields:{ten_nv:"ten_nv"}},()=>{$callback$$()})},ma_bp:$callback$$=>{$cts$$.filter($d$$=>$d$$.ma_bp).joinModel2($condition$$.id_app,dmbp,{where:"ma_bp",fields:{ten_bp:"ten_bp"}},()=>{$callback$$()})},ma_dt:$callback$$=>{$cts$$.filter($d$$=>$d$$.ma_dt).joinModel2($condition$$.id_app,dmdt,{where:"ma_dt",fields:{ten_dt:"ten_dt"}},()=>{$callback$$()})},ma_phi:$callback$$=>{$cts$$.filter($d$$=>$d$$.ma_phi).joinModel2($condition$$.id_app,dmphi,{where:"ma_phi",fields:{ten_phi:"ten_phi"}},
12
+ ()=>{$callback$$()})},group:function($callback$$){$cts$$.filter($r$$=>$r$$.group_id).joinModel2($condition$$.id_app,global.getModel("group"),{where:{group_id:"_id"},fields:{group_name:"group_name"}},function(){$callback$$()})}},()=>{if($condition$$.groupby)$cts$$.groupBy($condition$$.groupby,["chi_tieu","ps","ps_nt","cl"],($e$$,$rs$$)=>{$callback$$(null,$rs$$)});else{const $total$$={bold:!0,sysorder:5,group_name:"T\u1ed5ng c\u1ed9ng",chi_tieu:$cts$$.csum("chi_tieu"),ps:$cts$$.csum("ps"),ps_nt:$cts$$.csum("ps_nt"),
13
+ cl:$cts$$.csum("cl"),nam:0,thang:0};$cts$$.push($total$$);$cts$$=underscore.sortBy($cts$$,$ct$$=>$ct$$.sysorder+"-"+$ct$$.year+"-"+$ct$$.thang);$callback$$(null,$cts$$)}})})})})};
@@ -0,0 +1,5 @@
1
+ const async=require("async"),_=require("lodash"),controller=require("../../controllers/controllerRPT"),{kpistatus}=require("../../libs/kpistatus"),dmkho=global.getModel("dmkho"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi");
2
+ module.exports=function($router$$){new controller($router$$,"sosanhkhvatt2",async function($req$$,$callback$$){let $condition$$=$req$$.query;if(!$condition$$.nam)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 nam");$condition$$.ct_theo||($condition$$.ct_theo="thang");kpistatus($condition$$).then($rs$$=>{let $report$$=$rs$$.rows,$columns$$=$rs$$.columns;async.parallel({kho:$callback$$=>{$report$$.filter($d$$=>$d$$.ma_kho).joinModel2($condition$$.id_app,dmkho,
3
+ {where:"ma_kho",fields:{ten_kho:"ten_kho"}},()=>{$callback$$()})},nv:$callback$$=>{$report$$.filter($d$$=>$d$$.ma_nv).joinModel2($condition$$.id_app,dmnv,{where:"ma_nv",fields:{ten_nv:"ten_nv"}},()=>{$callback$$()})},ma_bp:$callback$$=>{$report$$.filter($d$$=>$d$$.ma_bp).joinModel2($condition$$.id_app,dmbp,{where:"ma_bp",fields:{ten_bp:"ten_bp"}},()=>{$callback$$()})},ma_dt:$callback$$=>{$report$$.filter($d$$=>$d$$.ma_dt).joinModel2($condition$$.id_app,dmdt,{where:"ma_dt",fields:{ten_dt:"ten_dt"}},
4
+ ()=>{$callback$$()})},ma_phi:$callback$$=>{$report$$.filter($d$$=>$d$$.ma_phi).joinModel2($condition$$.id_app,dmphi,{where:"ma_phi",fields:{ten_phi:"ten_phi"}},()=>{$callback$$()})},group:function($callback$$){$report$$.filter($r$$=>$r$$.group_id).joinModel2($condition$$.id_app,global.getModel("group"),{where:{group_id:"_id"},fields:{group_name:"group_name"}},function(){$callback$$()})}},()=>{if($condition$$.groupby){let $fields$$=$columns$$.map($c$$=>$c$$.value_field);$report$$.groupBy($condition$$.groupby,
5
+ $fields$$,($e$$,$rs$$)=>{$callback$$(null,{rows:$rs$$,columns:$columns$$})})}else{$report$$=_.sortBy($report$$,$ct$$=>$ct$$.sysorder+"-"+$ct$$.year+"-"+$ct$$.thang);const $total$$={bold:!0,sysorder:5,group_name:"T\u1ed5ng c\u1ed9ng",nam:0,thang:0};$columns$$.forEach($c$$=>{$total$$[$c$$.value_field]=$report$$.csum($c$$.value_field)});$report$$.push($total$$);$callback$$(null,{rows:$report$$,columns:$columns$$})}})}).catch($e$$=>{$callback$$($e$$)})},{cache:!1})};
@@ -0,0 +1,13 @@
1
+ const async=require("async"),qts=global.getModel("qts"),qts_dieuchinh=global.getModel("qts_dieuchinh"),sotinhkh=global.getModel("sotinhkh"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
+ module.exports=function($router$$){new controller($router$$,"sotaisan",function($req$$,$callback$$){const $condition$$=$req$$.query;$condition$$.nam=$condition$$.nam?Number($condition$$.nam):(new Date).getFullYear();const $id_app$$=$condition$$.id_app;let $ngay_cuoi_thang$$,$ngay_dau_nam$$,$toi_ky$$;$ngay_cuoi_thang$$=$condition$$.den_ngay?moment($condition$$.den_ngay).endOf("date").toDate():moment(new Date($condition$$.nam+"-12-15")).endOf("year").toDate();$toi_ky$$=$ngay_cuoi_thang$$.getMonth()+
3
+ 1;$ngay_dau_nam$$=moment(new Date($condition$$.nam+"-12-15")).startOf("year").toDate();async.series({id_tss:function($callback$$){let $q_ts$$={id_app:$id_app$$};$q_ts$$.ngay_tang={$lte:$ngay_cuoi_thang$$};$q_ts$$.$or=[{ngay_giam:null}];if($condition$$.tu_ngay){let $tu_ngay$$=moment($condition$$.tu_ngay).startOf("date").toDate();$q_ts$$.ngay_tang.$gte=$tu_ngay$$;$q_ts$$.$or.ngay_giam={$gte:$tu_ngay$$}}else $q_ts$$.$or.ngay_giam={$gte:$ngay_dau_nam$$};$condition$$.ma_nv&&($q_ts$$.ma_bp=$condition$$.ma_nv);
4
+ $condition$$.ma_loai_ts&&($q_ts$$.ma_loai_ts=$condition$$.ma_loai_ts);$condition$$.ma_kho&&($q_ts$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_gd&&($q_ts$$.ma_gd=$condition$$.ma_gd);$condition$$.so_the_ts&&($q_ts$$.so_the_ts=$condition$$.so_the_ts);$condition$$.so_hieu&&($q_ts$$.so_hieu=$condition$$.so_hieu);$condition$$.id_ts&&($q_ts$$.id_ts=$condition$$.id_ts);qts.find($q_ts$$).sort({ngay_tang:1,so_ct:1}).lean().exec(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$)})}},
5
+ function($e$$,$rs$$){if($e$$)return $callback$$($e$$);let $ts$$=$rs$$.id_tss,$dsts$$=[];$ts$$.forEach(function($r$$){$dsts$$.push($r$$._id.toString())});async.series({khauhao_nt:function($callback$$){let $q$$={id_app:$id_app$$,nam:$condition$$.nam-1};$q$$.id_ts={$in:$dsts$$};sotinhkh.find($q$$).lean().exec(async function($e$$,$kh$$){if($e$$)return $callback$$($e$$);await $kh$$.filter($r$$=>$r$$.ma_tang_giam_ts).asyncJoinModel2($condition$$.id_app,"dmtanggiamts",{where:"ma_tang_giam_ts",fields:{kieu_dc:"kieu"}});
6
+ $kh$$.forEach($r$$=>{$r$$.kieu_dc=="2"&&($r$$.nguyen_gia=0-$r$$.nguyen_gia,$r$$.gia_tri_da_kh=0-$r$$.gia_tri_da_kh,$r$$.gia_tri_con_lai=0-$r$$.gia_tri_con_lai,$r$$.gia_tri_kh_ky=0-$r$$.gia_tri_kh_ky)});$kh$$.groupBy("id_ts",["gia_tri_kh_ky"],function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$||=[];$callback$$(null,$rs$$)})})},khauhao_nn:function($callback$$){let $q$$={id_app:$id_app$$,nam:$condition$$.nam,thang:{$lte:$toi_ky$$}};$q$$.id_ts={$in:$dsts$$};sotinhkh.find($q$$).lean().exec(async function($e$$,
7
+ $kh$$){if($e$$)return $callback$$($e$$);await $kh$$.filter($r$$=>$r$$.ma_tang_giam_ts).asyncJoinModel2($condition$$.id_app,"dmtanggiamts",{where:"ma_tang_giam_ts",fields:{kieu_dc:"kieu"}});$kh$$.forEach($r$$=>{$r$$.kieu_dc=="2"&&($r$$.nguyen_gia=0-$r$$.nguyen_gia,$r$$.gia_tri_da_kh=0-$r$$.gia_tri_da_kh,$r$$.gia_tri_con_lai=0-$r$$.gia_tri_con_lai,$r$$.gia_tri_kh_ky=0-$r$$.gia_tri_kh_ky)});$kh$$.groupBy("id_ts",["gia_tri_kh_ky"],function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$rs$$||=[];$callback$$(null,
8
+ $rs$$)})})},nguyengia:function($callback$$){const $q$$={id_ts:{$in:$dsts$$},id_app:$id_app$$};$q$$.$or=[{nam:{$lt:$condition$$.nam}},{nam:$condition$$.nam,ky:{$lte:$toi_ky$$}}];qts_dieuchinh.find($q$$).lean().exec(async function($e$$,$rs$$){if($e$$)return $callback$$($e$$);await $rs$$.asyncJoinModel2($id_app$$,"dmtanggiamts",{where:"ma_tang_giam_ts",fields:{kieu_dc:"kieu"}});$ts$$.forEach(function($ts$$){let $nguyen_gia_dc$$=$rs$$.filter($r$$=>$r$$.id_ts==$ts$$._id.toString()).map($r$$=>$r$$.kieu_dc==
9
+ "2"?0-$r$$.nguyen_gia:$r$$.nguyen_gia).reduce(($a$$,$b$$)=>$a$$+$b$$,0),$gia_tri_da_kh_dc$$=$rs$$.filter($r$$=>$r$$.id_ts==$ts$$._id.toString()).map($r$$=>$r$$.kieu_dc=="2"?0-$r$$.gia_tri_da_kh:$r$$.gia_tri_da_kh).reduce(($a$$,$b$$)=>$a$$+$b$$,0),$gia_tri_con_lai_dc$$=$rs$$.filter($r$$=>$r$$.id_ts==$ts$$._id.toString()).map($r$$=>$r$$.kieu_dc=="2"?0-$r$$.gia_tri_con_lai:$r$$.gia_tri_con_lai).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$ts$$.nguyen_gia=$ts$$.details.csum("nguyen_gia")+$nguyen_gia_dc$$;$ts$$.gia_tri_da_kh=
10
+ $ts$$.details.csum("gia_tri_da_kh")+$gia_tri_da_kh_dc$$;$ts$$.gia_tri_con_lai=$ts$$.details.csum("gia_tri_con_lai")+$gia_tri_con_lai_dc$$});$callback$$(null,$ts$$)})}},async function($e$$,$rs$$){if($e$$)return $callback$$($e$$);let $stt$$=1;$ts$$.forEach(function($r$$){$r$$.gia_tri_kh_nam=$rs$$.khauhao_nn.csum("gia_tri_kh_ky",{id_ts:$r$$._id.toString()});$r$$.gia_tri_kh_truoc=$r$$.gia_tri_da_kh+$rs$$.khauhao_nt.csum("gia_tri_kh_ky",{id_ts:$r$$._id.toString()});$r$$.gia_tri_kh_luy_ke=$r$$.gia_tri_kh_nam+
11
+ $r$$.gia_tri_kh_truoc;$r$$.gia_tri_con_lai=$r$$.nguyen_gia-$r$$.gia_tri_kh_luy_ke;$r$$.ty_le_kh=Math.roundBy($r$$.so_ky_kh/12,2);$r$$.muc_kh=$r$$.ty_le_kh!==0?Math.roundBy($r$$.nguyen_gia/$r$$.ty_le_kh,2):0;$r$$.ngay_giam&&$r$$.ngay_giam.getFullYear()>Number($condition$$.nam)&&($r$$.ngay_giam=null,$r$$.ly_do_giam="",$r$$.so_ct_giam="");$r$$.stt=$stt$$;$stt$$+=1});async.map($ts$$,($t$$,$callback$$)=>{setImmediate(async()=>{let $bpsd$$;try{$bpsd$$=await qts.bophansudung($condition$$.id_app,$t$$._id.toString(),
12
+ $ngay_cuoi_thang$$)}catch($e$$){$bpsd$$=[{ma_bp:$t$$.ma_bp,so_luong:$t$$.so_luong||1}]}$bpsd$$=$bpsd$$.map($bp$$=>{let $he_so$$=$bp$$.so_luong/($t$$.so_luong||1);$bp$$={...$t$$,...$bp$$};$bp$$.nguyen_gia*=$he_so$$;$bp$$.gia_tri_kh_nam_nay*=$he_so$$;$bp$$.gia_tri_kh_nam_truoc*=$he_so$$;$bp$$.gia_tri_da_kh*=$he_so$$;$bp$$.gia_tri_kh_luy_ke*=$he_so$$;$bp$$.gia_tri_con_lai*=$he_so$$;return $bp$$});$callback$$(null,$bpsd$$)})},async($e$$,$rs$$)=>{$e$$=$rs$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$condition$$.ma_bp&&
13
+ ($e$$=$e$$.filter($r$$=>$r$$.ma_bp.toUpperCase()==$condition$$.ma_bp.toUpperCase()));await $e$$.filter($t$$=>$t$$.ma_bp).asyncJoinModel2($condition$$.id_app,"dmbp",{where:"ma_bp",fields:"ten_bp"});await $e$$.filter($t$$=>$t$$.ma_nv).asyncJoinModel2($condition$$.id_app,"dmnv",{where:"ma_nv",fields:"ten_nv"});$callback$$(null,$e$$)})})})})};
@@ -0,0 +1,7 @@
1
+ const Vsocai=require("../../libs/vsocai"),Customer=global.getModel("customer"),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$$,"sotiengui",function($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="");$condition$$.bu_tru=!0;async.series({dk:function($callback$$){let $query$$={};underscore.extend($query$$,$condition$$);$query$$.ngay=$condition$$.tu_ngay;
3
+ dktk($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,$data_error$$)})},ps:function($callback$$){let $query$$={id_app:$condition$$.id_app,tk:{$regex:"^"+$condition$$.tk,$options:"i"},ma_dvcs:{$regex:$condition$$.ma_dvcs,
4
+ $options:"i"},ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}};$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);Vsocai.find($query$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$result$$.forEach(function($r$$){$r$$.systotal=0;$r$$.sysorder=5;$r$$.bold=!1});$error$$={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")};
5
+ $result$$.push($error$$);$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})}},function($error$$,$results$$){if($error$$)return $callback$$($error$$);let $data$$=$results$$.ps;$data$$.push($results$$.dk);$data$$.joinModel($req$$.query.id_app,Customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){var $report_so_ck_nt$$=$data$$.csum("ps_no_nt",
6
+ {systotal:1})-$data$$.csum("ps_co_nt",{systotal:1});let $so_ck$$=$data$$.csum("ps_no",{systotal:1})-$data$$.csum("ps_co",{systotal:1}),$dong_cuoi_ky$$={systotal:1,sysorder:9,bold:!0,dien_giai:"Cu\u1ed1i k\u1ef3",ps_no:0,ps_co:0,ps_no_nt:0,ps_co_nt:0};$report_so_ck_nt$$>0&&($dong_cuoi_ky$$.ps_no_nt=$report_so_ck_nt$$);$so_ck$$>0&&($dong_cuoi_ky$$.ps_no=$so_ck$$);$report_so_ck_nt$$<0&&($dong_cuoi_ky$$.ps_co_nt=Math.abs($report_so_ck_nt$$));$so_ck$$<0&&($dong_cuoi_ky$$.ps_co=Math.abs($so_ck$$));$data$$.push($dong_cuoi_ky$$);
7
+ $report_so_ck_nt$$=underscore.sortBy($data$$,function($r$$){return $r$$.sysorder+($r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):"0")+($r$$.ps_no>0?0:1)});let $t_ps_no$$=0,$t_ps_co$$=0;$report_so_ck_nt$$.forEach(function($r$$){$t_ps_no$$+=$r$$.ps_no;$t_ps_co$$+=$r$$.ps_co;$r$$.bold||($r$$.du=$t_ps_no$$-$t_ps_co$$)});$callback$$(null,$report_so_ck_nt$$)})})})};
@@ -0,0 +1,5 @@
1
+ const dkhoc=global.getModel("dkhoc"),dinhmucsx=global.getModel("dinhmucsx"),dmvt=global.getModel("dmvt"),dmdvt=global.getModel("dmdvt"),dmdt=global.getModel("dmdt"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"taodinhmuctudkhoc",async($condition_req$$,$callback$$)=>{$condition_req$$=$condition_req$$.query;if(!$condition_req$$.id_dinhmucsx)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1:id_dinhmucsx");if(!global.mongoose.Types.ObjectId.isValid($condition_req$$.id_dinhmucsx))return $callback$$("Id \u0111\u1ecbnh m\u1ee9c kh\u00f4ng h\u1ee3p l\u1ec7");const $dinhmuc$$=await dinhmucsx.findOne({_id:$condition_req$$.id_dinhmucsx}).lean();
3
+ if(!$dinhmuc$$)return $callback$$("\u0110\u1ecbnh m\u1ee9c kh\u00f4ng t\u1ed3n t\u1ea1i");var $query_vts$$={id_app:$condition_req$$.id_app,ma_vt:$dinhmuc$$.ma_sp};$condition_req$$.ma_dt&&($query_vts$$.ma_dt=$condition_req$$.ma_dt);$condition_req$$.ma_kho&&($query_vts$$.ma_kho=$condition_req$$.ma_kho);$query_vts$$=(await dkhoc.find($query_vts$$).lean()).map($dk$$=>$dinhmuc$$.details.map($detail$$=>{$detail$$.sl_dinh_muc/=$dinhmuc$$.so_luong||1;$detail$$.sl_xuat=$detail$$.sl_dinh_muc*1;$detail$$.gia_von=
4
+ $detail$$.gia_von_nt=0;$detail$$.tien_xuat=$detail$$.tien_xuat_nt=0;$detail$$.ma_dt=$dk$$.ma_dt;$detail$$.ma_kh="";$detail$$.ma_sp=$dinhmuc$$.ma_sp;return $detail$$})).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$query_vts$$=await $query_vts$$.asyncGroupBy(["ma_vt","ma_dvt","ma_dt","ma_kh","ma_sp"],["sl_xuat","tien_xuat","tien_xuat_nt"]);await $query_vts$$.asyncJoinModel2($condition_req$$.id_app,dmvt,{where:"ma_vt",fields:["ten_vt","tk_vt",{tk_du:"tk_gv"}]});await $query_vts$$.asyncJoinModel2($condition_req$$.id_app,
5
+ dmvt,{where:{ma_sp:"ma_vt"},fields:{ten_sp:"ten_vt"}});await $query_vts$$.asyncJoinModel2($condition_req$$.id_app,dmdvt,{where:"ma_dvt",fields:"ten_dvt"});await $query_vts$$.asyncJoinModel2($condition_req$$.id_app,dmdt,{where:"ma_dt",fields:"ten_dt"});$callback$$(null,$query_vts$$)})};
@@ -0,0 +1,28 @@
1
+ const databanle=require("../../libs/databanle"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"thbanhangkempk",async function($i_req_total_fields$$,$callback$$){const $condition$$=$i_req_total_fields$$.query;var $data_query_nhan_vien_da_nop_tien_nhan_vien_da_nop_tk_cn_nv$$=$condition$$.tk_cn_nv||"1388";$condition$$.den_ngay||($condition$$.den_ngay=new Date);const $query$$={id_app:$condition$$.id_app};$query$$.ngay_ct={$lte:$condition$$.den_ngay};$condition$$.tu_ngay&&($query$$.ngay_ct.$gte=$condition$$.tu_ngay);$condition$$.ma_dvcs&&
3
+ ($query$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_kho&&($query$$.$or=[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]);$condition$$.ma_nv&&($query$$.ma_nv=$condition$$.ma_nv);if($condition$$.ma_kh)$query$$.ma_kh=$condition$$.ma_kh;else{var $condition_kh_custs_doanhthu$$={};if($condition$$.nh_kh){var $nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh,{status:!0});
4
+ $condition_kh_custs_doanhthu$$.nh_kh={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$}}$condition$$.nh_kh2&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh2,{status:!0}),$condition_kh_custs_doanhthu$$.nh_kh2={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$});$condition$$.nh_kh3&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$=
5
+ await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh3,{status:!0}),$condition_kh_custs_doanhthu$$.nh_kh3={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$});$condition$$.nh_kh4&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh4,{status:!0}),$condition_kh_custs_doanhthu$$.nh_kh4={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$});
6
+ $condition$$.nh_kh5&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh5,{status:!0}),$condition_kh_custs_doanhthu$$.nh_kh5={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$});Object.keys($condition_kh_custs_doanhthu$$).length>0&&($condition_kh_custs_doanhthu$$.id_app=$condition$$.id_app,$condition_kh_custs_doanhthu$$=await global.getModel("customer").find($condition_kh_custs_doanhthu$$,
7
+ {ma_kh:1}).lean(),$query$$.ma_kh={$in:$condition_kh_custs_doanhthu$$.map($c$$=>$c$$.ma_kh)})}$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$condition$$.so_ct&&($query$$.so_ct=$condition$$.so_ct);$condition$$.id_cs_ck_hd&&($query$$.id_cs_ck_hd=$condition$$.id_cs_ck_hd);$condition_kh_custs_doanhthu$$=await new Promise(($resolve$$,$reject$$)=>{databanle($query$$,function($error$$,$rs$$){if($error$$)return $reject$$($error$$);async.map($rs$$,function($r$$,$callback$$){setImmediate(async()=>
8
+ {$r$$.so_don=1;$r$$.t_sl_xuat=$r$$.details.csum("sl_xuat");$r$$.t_tien_hang=$r$$.details.csum("tien_hang");$r$$.t_tien_hang_ct=$r$$.details.csum("tien_hang_ct");$r$$.t_tien_ck=$r$$.details.csum("tien_ck");$r$$.t_thue=$r$$.details.csum("tien_thue");$r$$.t_tien=$r$$.details.csum("tien");$r$$.t_tien_cp=$r$$.details.csum("tien_cp");$r$$.tien_ck_hd=$r$$.tien_ck_hd||0;$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat");$r$$.t_tien_hoa_hong=$condition$$.user_hoa_hong&&$r$$.user_nv!==$condition$$.user_hoa_hong?
9
+ 0:$r$$.details.csum("tien_hoa_hong");$r$$.t_tien_hoa_hong_gt=$condition$$.user_hoa_hong&&$r$$.user_gt!==$condition$$.user_hoa_hong?0:$r$$.details.csum("tien_hoa_hong_gt");$r$$.t_tien_hoa_hong_ctv=$condition$$.user_hoa_hong&&$r$$.user_ctv!==$condition$$.user_hoa_hong?0:$r$$.details.csum("tien_hoa_hong_ctv");$r$$.t_tien_hoa_hong_ql=$condition$$.user_hoa_hong&&$r$$.user_ql!==$condition$$.user_hoa_hong?0:$r$$.details.csum("tien_hoa_hong_ql");$r$$.details_tl?($r$$.t_tien_tl=$r$$.details_tl.csum("tien_hang_ct")-
10
+ $r$$.details_tl.csum("tien_ck"),$r$$.t_tien_thue_tl=$r$$.details_tl.csum("tien_thue"),$r$$.t_tien_nhap=$r$$.details_tl.csum("tien_nhap"),$r$$.t_sl_nhap=$r$$.details_tl.csum("sl_nhap"),$r$$.t_tien_hoa_hong-=$r$$.details_tl.map($d$$=>$condition$$.user_hoa_hong&&$d$$.user_nv!==$condition$$.user_hoa_hong?0:$d$$.tien_hoa_hong).reduce(($a$$,$b$$)=>($a$$||0)+($b$$||0),0),$r$$.t_tien_hoa_hong_gt-=$r$$.details_tl.map($d$$=>$condition$$.user_hoa_hong&&$d$$.user_gt!==$condition$$.user_hoa_hong?0:$d$$.tien_hoa_hong_gt).reduce(($a$$,
11
+ $b$$)=>($a$$||0)+($b$$||0),0),$r$$.t_tien_hoa_hong_ctv-=$r$$.details_tl.map($d$$=>$condition$$.user_hoa_hong&&$d$$.user_ctv!==$condition$$.user_hoa_hong?0:$d$$.tien_hoa_hong_ctv).reduce(($a$$,$b$$)=>($a$$||0)+($b$$||0),0),$r$$.t_tien_hoa_hong_ql-=$r$$.details_tl.map($d$$=>$condition$$.user_hoa_hong&&$d$$.user_ql!==$condition$$.user_hoa_hong?0:$d$$.tien_hoa_hong_ql).reduce(($a$$,$b$$)=>($a$$||0)+($b$$||0),0)):($r$$.t_tien_tl=0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0);$r$$.tien_freeship=$r$$.tien_freeship||
12
+ 0;$r$$.tien_phi_vc=$r$$.tien_phi_vc||0;$r$$.t_sl_vt_du=($r$$.details||[]).map($r$$=>$r$$.sl_vt_du||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_gt_vt_du=($r$$.details||[]).map($r$$=>$r$$.gt_vt_du||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_sl_pk_nhap=($r$$.ds_pk_nhap||[]).map($d$$=>$d$$.sl_pk_nhap).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_sl_pk_xuat=($r$$.ds_pk_xuat||[]).map($d$$=>$d$$.sl_pk_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_tien_tdtt_no=0;$r$$.t_tien_tdtt_no_nt=0;$r$$.t_tien_tdtt_da_thu=
13
+ 0;$r$$.t_tien_tdtt_da_thu_nt=0;$r$$.t_tien_tdtt_con_no=0;$r$$.t_tien_tdtt_con_no_nt=0;var $da_thus_no$$=await global.getModel("tdttno").findOne({id_ct:$r$$._id,ma_kh:$r$$.ma_kh,id_app:$r$$.id_app}).lean();$da_thus_no$$&&($r$$.t_tien_tdtt_no_nt=$da_thus_no$$.tien_nt,$r$$.t_tien_tdtt_no=$da_thus_no$$.tien,$da_thus_no$$=await global.getModel("tdttno_tt").find({id_hd:$r$$._id,ma_kh:$r$$.ma_kh,id_app:$r$$.id_app}).lean(),$r$$.t_tien_tdtt_da_thu=$da_thus_no$$.map($d$$=>$d$$.tien).reduce(($a$$,$b$$)=>$a$$+
14
+ $b$$,0),$r$$.t_tien_tdtt_da_thu_nt=$da_thus_no$$.map($d$$=>$d$$.tien_nt).reduce(($a$$,$b$$)=>$a$$+$b$$,0));$r$$.t_tien_tdtt_con_no=$r$$.t_tien_tdtt_no-$r$$.t_tien_tdtt_da_thu;$r$$.t_tien_tdtt_con_no_nt=$r$$.t_tien_tdtt_no_nt-$r$$.t_tien_tdtt_da_thu_nt;$callback$$(null,$r$$)})},async function($error$$,$rs$$){if($error$$)return $reject$$($error$$);$resolve$$($rs$$)})})});$condition_kh_custs_doanhthu$$.forEach($r$$=>{$r$$.ma_kh_no&&$r$$.ma_kh_no!==$r$$.ma_kh&&($r$$.tien_nhan_vien_giu=$r$$.t_tien_hang_ct-
15
+ $r$$.t_gt_vt_du-($r$$.t_tien_ck||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0))});const $ma_nvs$$=$condition_kh_custs_doanhthu$$.map($r$$=>$r$$.ma_nv).filter($r$$=>$r$$);$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$={id_app:$query$$.id_app,ngay_ct:$query$$.ngay_ct,tk_no:$data_query_nhan_vien_da_nop_tien_nhan_vien_da_nop_tk_cn_nv$$,tk_co:{$regex:"^131"},ma_kho:{$nin:["",null]},ma_nv:{$in:$ma_nvs$$}};$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$=
16
+ await global.getModel("socai").find($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$).lean();$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$.forEach($r$$=>{$r$$.tien_nhan_vien_giu=$r$$.tien;delete $r$$.tien_nt;delete $r$$.tien});$data_query_nhan_vien_da_nop_tien_nhan_vien_da_nop_tk_cn_nv$$={id_app:$query$$.id_app,ngay_ct:$query$$.ngay_ct,tk_co:$data_query_nhan_vien_da_nop_tien_nhan_vien_da_nop_tk_cn_nv$$,tk_no:{$regex:"^111|^112"},ma_kho:{$nin:["",
17
+ null]},ma_nv:{$in:$ma_nvs$$}};$data_query_nhan_vien_da_nop_tien_nhan_vien_da_nop_tk_cn_nv$$=await global.getModel("socai").find($data_query_nhan_vien_da_nop_tien_nhan_vien_da_nop_tk_cn_nv$$).lean();$data_query_nhan_vien_da_nop_tien_nhan_vien_da_nop_tk_cn_nv$$.forEach($r$$=>{$r$$.tien_nhan_vien_da_nop=$r$$.tien;delete $r$$.tien_nt;delete $r$$.tien});$data_query_nhan_vien_da_nop_tien_nhan_vien_da_nop_tk_cn_nv$$=[...$condition_kh_custs_doanhthu$$,...$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5_query_nhan_vien_tien_nhan_vien_giua$$,
18
+ ...$data_query_nhan_vien_da_nop_tien_nhan_vien_da_nop_tk_cn_nv$$];let $field_group_by$$=$i_req_total_fields$$.query.group_by||["ma_kho","ma_nv"];underscore.isString($field_group_by$$)&&($field_group_by$$=[$field_group_by$$]);let $report$$;$i_req_total_fields$$=[{name:"so_don",value:"so_don"},{name:"t_sl_xuat",value:"t_sl_xuat"},{name:"t_sl_nhap",value:"t_sl_nhap"},{name:"t_tien_hang",value:"t_tien_hang"},{name:"t_tien_hang_ct",value:"t_tien_hang_ct"},{name:"t_tien_cp",value:"t_tien_cp"},{name:"tien_freeship",
19
+ value:"tien_freeship"},{name:"tien_phi_vc",value:"tien_phi_vc"},{name:"t_tien_ck",value:"t_tien_ck"},{name:"t_thue",value:"t_thue"},{name:"t_tien",value:"t_tien"},{name:"tien_ck_hd",value:"tien_ck_hd"},{name:"tien_evoucher",value:"tien_evoucher"},{name:"tien_thu",value:"tien_thu"},{name:"tien_thu2",value:"tien_thu2"},{name:"tien_paymentByPoints",value:"tien_paymentByPoints"},{name:"t_tien_xuat",value:"t_tien_xuat"},{name:"t_tien_tl",value:"t_tien_tl"},{name:"t_tien_thue_tl",value:"t_tien_thue_tl"},
20
+ {name:"t_tien_nhap",value:"t_tien_nhap"},{name:"phai_tra",value:"phai_tra"},{name:"t_tien_hoa_hong",value:"t_tien_hoa_hong"},{name:"t_tien_hoa_hong_gt",value:"t_tien_hoa_hong_gt"},{name:"t_tien_hoa_hong_ctv",value:"t_tien_hoa_hong_ctv"},{name:"t_tien_hoa_hong_ql",value:"t_tien_hoa_hong_ql"},{name:"t_sl_vt_du",value:"t_sl_vt_du"},{name:"t_gt_vt_du",value:"t_gt_vt_du"},{name:"t_sl_pk_nhap",value:"t_sl_pk_nhap"},{name:"t_sl_pk_xuat",value:"t_sl_pk_xuat"},{name:"t_tien_tdtt_no",value:"t_tien_tdtt_no"},
21
+ {name:"t_tien_tdtt_da_thu",value:"t_tien_tdtt_da_thu"},{name:"t_tien_tdtt_con_no",value:"t_tien_tdtt_con_no"},{name:"tien_nhan_vien_giu",value:"tien_nhan_vien_giu"},{name:"tien_nhan_vien_da_nop",value:"tien_nhan_vien_da_nop"}];try{$report$$=await $data_query_nhan_vien_da_nop_tien_nhan_vien_da_nop_tk_cn_nv$$.asyncGroupBy($field_group_by$$,$i_req_total_fields$$)}catch($e$$){return $callback$$($e$$)}$report$$=$report$$.sort(($a$$,$b$$)=>{for(let $i$$=0;$i$$<$field_group_by$$.length;$i$$++){let $field$$=
22
+ $field_group_by$$[$i$$];if($a$$[$field$$]<$b$$[$field$$])return-1;if($a$$[$field$$]>$b$$[$field$$])return 1}return 0});$i_req_total_fields$$=0;for(var $r$$ of $report$$)$r$$.stt=$i_req_total_fields$$+1,$i_req_total_fields$$++,$r$$.bold=!1,$r$$.t_tien_paymentByPoints=$r$$.tien_paymentByPoints||0,$r$$.t_phai_thu=$r$$.t_tien_hang_ct-($r$$.t_gt_vt_du||0)-($r$$.t_tien_ck||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0)+($r$$.t_thue||0),$r$$.t_doanh_thu=$r$$.t_tien_hang_ct-
23
+ ($r$$.t_gt_vt_du||0)-($r$$.t_tien_ck||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0),$r$$.t_lai=$r$$.t_doanh_thu-$r$$.t_tien_xuat-($r$$.t_tien_tl-$r$$.t_tien_nhap)-($r$$.t_tien_cp||0),$r$$.t_doanh_thu_thuan=$r$$.t_doanh_thu-$r$$.t_tien_tl,$r$$.t_hoa_hong=$r$$.t_tien_hoa_hong+$r$$.t_tien_hoa_hong_gt+$r$$.t_tien_hoa_hong_ctv+$r$$.t_tien_hoa_hong_ql,$r$$.t_tien_con_no=$r$$.t_tien_tdtt_no-$r$$.t_tien_tdtt_da_thu,$r$$.t_tien_da_thu=$r$$.t_doanh_thu-$r$$.t_tien_con_no,
24
+ $r$$.tien_nhan_vien_con_giu=$r$$.tien_nhan_vien_giu-$r$$.tien_nhan_vien_da_nop;await $report$$.filter($r$$=>$r$$.ma_kho).asyncJoinModel2($condition$$.id_app,"dmkho",{where:"ma_kho",fields:"ten_kho"});await $report$$.filter($r$$=>$r$$.ma_nv).asyncJoinModel2($condition$$.id_app,"dmnv",{where:"ma_nv",fields:"ten_nv"});$r$$={[$field_group_by$$?$field_group_by$$[0]:"S\u1ed1 ch\u1ee9ng t\u1eeb"]:"T\u1ed5ng c\u1ed9ng",t_sl_xuat:$report$$.csum("t_sl_xuat"),t_sl_nhap:$report$$.csum("t_sl_nhap"),t_tien_hang:$report$$.csum("t_tien_hang"),
25
+ t_tien_hang_ct:$report$$.csum("t_tien_hang_ct"),t_tien_cp:$report$$.csum("t_tien_cp"),t_tien_ck:$report$$.csum("t_tien_ck"),t_thue:$report$$.csum("t_thue"),t_tien:$report$$.csum("t_tien"),tien_ck_hd:$report$$.csum("tien_ck_hd"),tien_phi_vc:$report$$.csum("tien_phi_vc"),tien_freeship:$report$$.csum("tien_freeship"),t_tien_tl:$report$$.csum("t_tien_tl"),t_tien_thue_tl:$report$$.csum("t_tien_thue_tl"),t_tien_xuat:$report$$.csum("t_tien_xuat"),t_tien_nhap:$report$$.csum("t_tien_nhap"),t_phai_thu:$report$$.csum("t_phai_thu"),
26
+ t_doanh_thu:$report$$.csum("t_doanh_thu"),t_doanh_thu_thuan:$report$$.csum("t_doanh_thu_thuan"),tien_evoucher:$report$$.csum("tien_evoucher"),tien_thu:$report$$.csum("tien_thu"),tien_thu2:$report$$.csum("tien_thu2"),t_tien_thu:$report$$.csum("t_tien_thu"),phai_tra:$report$$.csum("phai_tra"),t_tien_paymentByPoints:$report$$.csum("tien_paymentByPoints"),t_lai:$report$$.csum("t_lai"),t_tien_hoa_hong:$report$$.csum("t_tien_hoa_hong"),t_tien_hoa_hong_gt:$report$$.csum("t_tien_hoa_hong_gt"),t_tien_hoa_hong_ctv:$report$$.csum("t_tien_hoa_hong_ctv"),
27
+ t_tien_hoa_hong_ql:$report$$.csum("t_tien_hoa_hong_ql"),t_hoa_hong:$report$$.csum("t_hoa_hong"),t_sl_vt_du:$report$$.csum("t_sl_vt_du"),t_gt_vt_du:$report$$.csum("t_gt_vt_du"),t_sl_pk_nhap:$report$$.csum("t_sl_pk_nhap"),t_sl_pk_xuat:$report$$.csum("t_sl_pk_xuat"),t_tien_tdtt_no:$report$$.csum("t_tien_tdtt_no"),t_tien_tdtt_da_thu:$report$$.csum("t_tien_tdtt_da_thu"),t_tien_tdtt_con_no:$report$$.csum("t_tien_tdtt_con_no"),t_tien_da_thu:$report$$.csum("t_tien_da_thu"),t_tien_con_no:$report$$.csum("t_tien_con_no"),
28
+ tien_nhan_vien_giu:$report$$.csum("tien_nhan_vien_giu"),tien_nhan_vien_da_nop:$report$$.csum("tien_nhan_vien_da_nop"),tien_nhan_vien_con_giu:$report$$.csum("tien_nhan_vien_con_giu"),bold:!0};$report$$.push($r$$);$report$$.forEach($r$$=>{$r$$.t_tien_phai_tl=$r$$.t_tien_tl+$r$$.t_tien_thue_tl});$callback$$(null,{data:$report$$})})};
@@ -0,0 +1,9 @@
1
+ const dmnv=global.getModel("dmnv"),dmnhnv=global.getModel("dmnhnv"),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$$,"thdanhgianhanvien",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_bp&&($query$$.ma_bp=$req$$.query.ma_bp);$req$$.query.ma_doi&&($query$$.ma_doi=$req$$.query.ma_doi);$req$$.query.ma_to&&($query$$.ma_to=$req$$.query.ma_to);phieudanhgia.find($query$$).lean().exec(($e$$,
3
+ $phieudanhgias$$)=>{if($e$$)return $callback$$($e$$);async.series({bophan:$callback$$=>{dmbp.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})},doi:$callback$$=>{dmdoi.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})},to:$callback$$=>{dmto.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})},nhom:$callback$$=>{dmnhnv.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})},nhanvien:$callback$$=>
4
+ {dmnv.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})},doituongdanhgia:$callback$$=>{dmdoituongdanhgia.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})}},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$rs$$.bophan.forEach($bp$$=>{$bp$$.so_nhan_su=$rs$$.nhanvien.filter($nv$$=>$nv$$.ma_bp===$bp$$.ma_bp).length;$bp$$.doituongdanhgia=$rs$$.doituongdanhgia.map($_dtdt$$=>{let $dtdg$$=JSON.parse(JSON.stringify($_dtdt$$));$dtdg$$.CM=$phieudanhgias$$.filter($p$$=>
5
+ $p$$.ma_bp===$bp$$.ma_bp&&$p$$.exfields[$dtdg$$._id.toString()+":xep_loai"]==="CM").length;$dtdg$$.TB=$phieudanhgias$$.filter($p$$=>$p$$.ma_bp===$bp$$.ma_bp&&$p$$.exfields[$dtdg$$._id.toString()+":xep_loai"]==="TB").length;return $dtdg$$});$bp$$.details=$rs$$.doi.filter($d$$=>$d$$.ma_bp===$bp$$.ma_bp)});$rs$$.doi.forEach($d$$=>{$d$$.so_nhan_su=$rs$$.nhanvien.filter($nv$$=>$nv$$.ma_doi===$d$$.ma_doi).length;$d$$.doituongdanhgia=$rs$$.doituongdanhgia.map($_dtdg$$=>{let $dtdg$$=JSON.parse(JSON.stringify($_dtdg$$));
6
+ $dtdg$$.CM=$phieudanhgias$$.filter($p$$=>$p$$.ma_bp===$d$$.ma_bp&&$p$$.ma_doi===$d$$.ma_doi&&$p$$.exfields[$dtdg$$._id.toString()+":xep_loai"]==="CM").length;$dtdg$$.TB=$phieudanhgias$$.filter($p$$=>$p$$.ma_bp===$d$$.ma_bp&&$p$$.ma_doi===$d$$.ma_doi&&$p$$.exfields[$dtdg$$._id.toString()+":xep_loai"]==="TB").length;return $dtdg$$});$d$$.details=$rs$$.to.filter($t$$=>$d$$.ma_bp===$t$$.ma_bp&&$d$$.ma_doi===$t$$.ma_doi)});$rs$$.to.forEach($d$$=>{$d$$.so_nhan_su=$rs$$.nhanvien.filter($nv$$=>$nv$$.ma_to===
7
+ $d$$.ma_to).length;$d$$.doituongdanhgia=$rs$$.doituongdanhgia.map($_dtdg$$=>{let $dtdg$$=JSON.parse(JSON.stringify($_dtdg$$));$dtdg$$.CM=$phieudanhgias$$.filter($p$$=>$p$$.ma_bp===$d$$.ma_bp&&$p$$.ma_doi===$d$$.ma_doi&&$p$$.ma_to===$d$$.ma_to&&$p$$.exfields[$dtdg$$._id.toString()+":xep_loai"]==="CM").length;$dtdg$$.TB=$phieudanhgias$$.filter($p$$=>$p$$.ma_bp===$d$$.ma_bp&&$p$$.ma_doi===$d$$.ma_doi&&$p$$.ma_to===$d$$.ma_to&&$p$$.exfields[$dtdg$$._id.toString()+":xep_loai"]==="TB").length;return $dtdg$$});
8
+ $d$$.details=$rs$$.nhom.filter($t$$=>$d$$.ma_bp===$t$$.ma_bp&&$d$$.ma_doi===$t$$.ma_doi&&$d$$.ma_to===$t$$.ma_to)});$rs$$.nhom.forEach($d$$=>{$d$$.so_nhan_su=$rs$$.nhanvien.filter($nv$$=>$nv$$.ma_nh_nv===$d$$.ma_nh_nv).length;$d$$.doituongdanhgia=$rs$$.doituongdanhgia.map($_dtdg$$=>{let $dtdg$$=JSON.parse(JSON.stringify($_dtdg$$));$dtdg$$.CM=$phieudanhgias$$.filter($p$$=>$p$$.ma_bp===$d$$.ma_bp&&$p$$.ma_doi===$d$$.ma_doi&&$p$$.ma_to===$d$$.ma_to&&$p$$.ma_nh_nv===$d$$.ma_nh_nv&&$p$$.exfields[$dtdg$$._id.toString()+
9
+ ":xep_loai"]==="CM").length;$dtdg$$.TB=$phieudanhgias$$.filter($p$$=>$p$$.ma_bp===$d$$.ma_bp&&$p$$.ma_doi===$d$$.ma_doi&&$p$$.ma_to===$d$$.ma_to&&$p$$.ma_nh_nv===$d$$.ma_nh_nv&&$p$$.exfields[$dtdg$$._id.toString()+":xep_loai"]==="TB").length;return $dtdg$$})});$callback$$(null,$rs$$)})})})};
@@ -0,0 +1,6 @@
1
+ const gt_ctgt=global.getModel("gt_ctgt"),dmvt=global.getModel("dmvt"),controller=require("../../controllers/controllerRPT"),async=require("async"),underscore=require("underscore");
2
+ module.exports=function($router$$){new controller($router$$,"thgt",function($req$$,$callback$$){const $condition$$=$req$$.query;if(!$condition$$.nam||!$condition$$.thang)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: nam,thang");$condition$$.nam=Number($condition$$.nam);$condition$$.thang=Number($condition$$.thang);(new Promise(($resolve$$,$reject$$)=>{let $cond$$={id_app:$condition$$.id_app,nam:$condition$$.nam,thang:$condition$$.thang,yt_trung_gian:{$ne:!0}};
3
+ $condition$$.ma_bp&&($cond$$.ma_bp=$condition$$.ma_bp.toUpperCase());$condition$$.id_lenhsx&&mongoose.Types.ObjectId.isValid($condition$$.id_lenhsx)&&($cond$$.id_lenhsx=$condition$$.id_lenhsx);gt_ctgt.find($cond$$).lean().exec(($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$rs$$.forEach($r$$=>{$r$$.cong_tru=="2"&&($r$$.gt=-$r$$.gt,$r$$.gt_nt=-$r$$.gt_nt,$r$$.t_gt=-$r$$.t_gt,$r$$.t_gt_nt=-$r$$.t_gt_nt)});$resolve$$($rs$$)})})).then($ctgt$$=>new Promise(($resolve$$,$reject$$)=>{async.series({dsyt:$callback$$=>
4
+ {$ctgt$$.groupBy(["ma_yt"],["gt"],($e$$,$yts$$)=>{$callback$$(null,$yts$$)})},thgt:$callback$$=>{$ctgt$$.groupBy(["ma_sp","ma_bp","id_lenhsx"],["gt","gt_nt","t_gt","t_gt_nt"],($e$$,$rs$$)=>{$callback$$(null,$rs$$)},{fieldmaxs:["sl_dd_dk","sl_nk_tk","sl_sx_tk","sl_dd_ck"]})}},($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);const $report$$=$rs$$.thgt;$ctgt$$.forEach($ytgt$$=>{const $r$$=underscore.find($report$$,$re$$=>$re$$.ma_sp==$ytgt$$.ma_sp&&$re$$.ma_bp==$ytgt$$.ma_bp&&$re$$.id_lenhsx==$ytgt$$.id_lenhsx);
5
+ $r$$&&($r$$[$ytgt$$.ma_yt]=$ytgt$$.t_gt,$r$$[$ytgt$$.ma_yt+"_nt"]=$ytgt$$.t_gt_nt)});$resolve$$({report:$report$$,dsyt:$rs$$.dsyt})})})).then(async $rs$$=>{await $rs$$.report.filter($r$$=>$r$$.id_lenhsx).asyncJoinModel2($condition$$.id_app,"lenhsx",[{where:{id_lenhsx:"_id"},fields:[{name:"so_lenhsx",value:"so_ct"}]}]);$rs$$.report.joinModel2($condition$$.id_app,dmvt,[{where:{ma_sp:"ma_vt"},fields:[{name:"ten_sp",value:"ten_vt"}]}],()=>{const $sum$$="sl_dd_dk sl_sx_tk sl_nk_tk sl_dd_ck t_gt t_gt_nt".split(" ");
6
+ $rs$$.dsyt.forEach($yt$$=>{$sum$$.push($yt$$.ma_yt)});$rs$$.report.groupBy([],$sum$$,($e$$,$tc$$)=>{$tc$$.forEach($r$$=>{$r$$.bold=!0;$r$$.ten_sp="T\u1ed5ng c\u1ed9ng";$rs$$.report.push($r$$)})});$callback$$(null,$rs$$)})}).catch($e$$=>{Logger.info("error",$e$$);$callback$$($e$$)})})};
@@ -0,0 +1,11 @@
1
+ const thnxt=require("../../libs/thnxt"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),customer=global.getModel("customer"),controller=require("../../controllers/controllerRPT"),async=require("async"),crypto=require("crypto");
2
+ module.exports=function($router$$){new controller($router$$,"thnxt",function($req$$,$callback$$){const $query$$=$req$$.query,$id_app$$=$req$$.query.id_app;if(!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay");$callback$$(null,null,"begin");const $uniqueId$$=crypto.randomUUID();console.time("[thnxt] ch\u1ea1y b\u00e1o c\u00e1o "+$uniqueId$$.toString());(new Promise(($resolve$$,$reject$$)=>{if($query$$.ma_vt&&
3
+ $query$$.ma_vt.length!=0||!($query$$.ma_ncc||$query$$.ma_nvt||$query$$.ma_nvt2||$query$$.ma_nvt3||$query$$.ma_nvt4||$query$$.ma_lvt))$resolve$$($query$$.ma_vt);else{const $_query$$={id_app:$id_app$$,tg_tk:!0};$query$$.ma_ncc&&($_query$$.ma_ncc=$query$$.ma_ncc);$query$$.ma_nvt&&$query$$.ma_nvt.length>0&&($_query$$.ma_nvt=$query$$.ma_nvt);$query$$.ma_nvt2&&$query$$.ma_nvt2.length>0&&($_query$$.ma_nvt2=$query$$.ma_nvt2);$query$$.ma_nvt3&&$query$$.ma_nvt3.length>0&&($_query$$.ma_nvt3=$query$$.ma_nvt3);
4
+ $query$$.ma_nvt4&&$query$$.ma_nvt4.length>0&&($_query$$.ma_nvt4=$query$$.ma_nvt4);$query$$.ma_lvt&&($_query$$.ma_lvt=$query$$.ma_lvt);$callback$$(null,null,"running");dmvt.find($_query$$,{ma_vt:1}).lean().exec(($err$$,$rs$$)=>{if($err$$)return $reject$$($err$$);$callback$$(null,null,"running");$resolve$$($rs$$.map($r$$=>$r$$.ma_vt))})}})).then($ma_vt$$=>{$ma_vt$$&&$ma_vt$$.length>0?$query$$.ma_vt=$ma_vt$$:delete $query$$.ma_vt;$callback$$(null,null,"running");thnxt($query$$,function($error$$,$report$$,
5
+ $groupBy$$){if($error$$)return $callback$$($error$$);$callback$$(null,null,"running");console.time("[thnxt] chu\u1ea9n b\u1ecb d\u1eef li\u1ec7u tr\u01b0\u1edbc khi tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 "+$uniqueId$$.toString());async.parallel({vt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt).joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:"ten_vt tg_tk ma_ncc ma_dvt ma_nvt ma_vt2 picture ma_pk_xuat".split(" ")},()=>{$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},
6
+ fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:["ten_nvt"]},()=>{$callback$$()})})})},kho:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:["ten_kho"]},()=>{$callback$$()})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:[{barcode1:"ma_tt2"},
7
+ {ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:[{barcode3:"ma_tt2"},
8
+ {ten_tt3:"ten_tt"}]},()=>{$callback$$()})}},async()=>{$callback$$(null,null,"running");$report$$=$report$$.filter($r$$=>!$r$$.ma_vt||$r$$.tg_tk);const $xulytungvattu$$=async $row$$=>{if($row$$.picture){var $p_sp_full$$=$row$$.picture.split(".");$row$$.picture_thumb=$row$$.picture+".thumb."+$p_sp_full$$[$p_sp_full$$.length-1]}else $row$$.picture="/getfile/others/noimage.png",$row$$.picture_thumb="/getfile/others/noimage.png";$row$$.barcode=$row$$.barcode1||$row$$.barcode2||$row$$.barcode3||$row$$.ma_vt2;
9
+ $row$$.ma_vt_full=(await global.getModel("dmvt").find({id_app:$id_app$$,ma_pk_xuat:$row$$.ma_vt},{ma_vt:1}).lean()).map($r$$=>$r$$.ma_vt);if($row$$.ma_vt_full.length>0){let $_c$$={...$query$$,ma_vt:$row$$.ma_vt_full};$p_sp_full$$=await new Promise(($res$$,$rej$$)=>{thnxt($_c$$,($e$$,$rs$$)=>{if($e$$)return $rej$$($e$$);$res$$($rs$$)})});$row$$.ton_cuoi_full=$p_sp_full$$.map($a$$=>$a$$.ton_cuoi||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$row$$.ton_cuoi_empty=$row$$.ton_cuoi-$row$$.ton_cuoi_full}};await Promise.all($report$$.filter($r$$=>
10
+ $r$$.ma_vt).map($row$$=>$xulytungvattu$$($row$$)));const $total$$={[$groupBy$$[0]]:"T\u1ed5ng c\u1ed9ng",ton_dau:$report$$.csum("ton_dau"),du_dau:$report$$.csum("du_dau"),sl_nhap:$report$$.csum("sl_nhap"),tien_nhap:$report$$.csum("tien_nhap"),sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),ton_cuoi:$report$$.csum("ton_cuoi"),du_cuoi:$report$$.csum("du_cuoi"),systotal:1,bold:!0};$report$$.push($total$$);$callback$$(null,$report$$,"data");$callback$$(null,null,"end");console.timeEnd("[thnxt] chu\u1ea9n b\u1ecb d\u1eef li\u1ec7u tr\u01b0\u1edbc khi tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 "+
11
+ $uniqueId$$.toString());console.timeEnd("[thnxt] ch\u1ea1y b\u00e1o c\u00e1o "+$uniqueId$$.toString())})},$log$$=>{$callback$$(null,null,"running");Logger.info($log$$)})}).catch($e$$=>{$callback$$($e$$)})},{stream:!0})};
@@ -0,0 +1,9 @@
1
+ const thnxt=require("../../libs/thnxt"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),customer=global.getModel("customer"),controller=require("../../controllers/controllerRPT"),async=require("async");
2
+ module.exports=function($router$$){new controller($router$$,"thnxt_sl",function($req$$,$callback$$){const $query$$=$req$$.query,$id_app$$=$req$$.query.id_app;if(!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay");$callback$$(null,null,"begin");(new Promise(($resolve$$,$reject$$)=>{if(!$query$$.ma_vt&&($query$$.ma_ncc||$query$$.ma_nvt||$query$$.ma_nvt2||$query$$.ma_nvt3||$query$$.ma_nvt4||$query$$.ma_lvt)){const $_query$$=
3
+ {id_app:$id_app$$,tg_tk:!0};$query$$.ma_ncc&&($_query$$.ma_ncc=$query$$.ma_ncc);$query$$.ma_nvt&&$query$$.ma_nvt.length>0&&($_query$$.ma_nvt=$query$$.ma_nvt);$query$$.ma_nvt2&&$query$$.ma_nvt2.length>0&&($_query$$.ma_nvt2=$query$$.ma_nvt2);$query$$.ma_nvt3&&$query$$.ma_nvt3.length>0&&($_query$$.ma_nvt3=$query$$.ma_nvt3);$query$$.ma_nvt4&&$query$$.ma_nvt4.length>0&&($_query$$.ma_nvt4=$query$$.ma_nvt4);$query$$.ma_lvt&&($_query$$.ma_lvt=$query$$.ma_lvt);$callback$$(null,null,"running");dmvt.find($_query$$,
4
+ {ma_vt:1}).lean().exec(($err$$,$rs$$)=>{if($err$$)return $reject$$($err$$);$callback$$(null,null,"running");$resolve$$($rs$$.map($r$$=>$r$$.ma_vt))})}else $resolve$$($query$$.ma_vt)})).then($ma_vt$$=>{$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$callback$$(null,null,"running");thnxt($query$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);$callback$$(null,null,"running");async.parallel({vt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt).joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:["ten_vt",
5
+ "tg_tk","ma_ncc","ma_dvt","ma_nvt"],setFields:($a$$,$b$$)=>{if($b$$.picture){let $p$$=$b$$.picture.split(".");$a$$.picture_thumb=$b$$.picture+".thumb."+$p$$[$p$$.length-1]}else $a$$.picture="/getfile/others/noimage.png",$a$$.picture_thumb="/getfile/others/noimage.png"}},()=>{$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:["ten_nvt"]},
6
+ ()=>{$callback$$()})})})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:[{barcode1:"ma_tt2"},{ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},
7
+ ()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:[{barcode3:"ma_tt2"},{ten_tt3:"ten_tt"}]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:["ten_kho"]},()=>{$callback$$()})}},()=>{$callback$$(null,null,"running");$report$$=$report$$.filter($r$$=>!$r$$.ma_vt||$r$$.tg_tk);const $total$$=
8
+ {ma_vt:"",ten_vt:"T\u1ed5ng c\u1ed9ng",ton_dau:$report$$.csum("ton_dau"),du_dau:$report$$.csum("du_dau"),sl_nhap:$report$$.csum("sl_nhap"),tien_nhap:$report$$.csum("tien_nhap"),sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),ton_cuoi:$report$$.csum("ton_cuoi"),du_cuoi:$report$$.csum("du_cuoi"),systotal:1,bold:!0};$report$$.push($total$$);$callback$$(null,$report$$,"data");$callback$$(null,null,"end")})},$log$$=>{$callback$$(null,null,"running");Logger.info($log$$)})}).catch($e$$=>
9
+ {$callback$$($e$$)})},{stream:!0})};
@@ -0,0 +1,10 @@
1
+ const thnxt=require("../../libs/thnxtnpp"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),customer=global.getModel("customer"),controller=require("../../controllers/controllerRPT"),async=require("async"),permission=require("../../libs/permission");
2
+ module.exports=function($router$$){new controller($router$$,"thnxtnpp",async function($req$$,$callback$$){const $query$$=$req$$.query,$id_app$$=$req$$.query.id_app;if(!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay");if($req$$.user.current_app_info.appAdmin)$query$$.ma_kho&&($query$$.$and||($query$$.$and=[]),$query$$.$and=[{$or:[{ma_kho:$query$$.ma_kho},{"details.ma_kho":$query$$.ma_kho}]}]);else{let $ma_khos$$=
3
+ await new Promise($rs$$=>{permission.getRightByItem($req$$.user.current_id_app,global.getModel("dmkho"),$req$$.user.email,async function($e_khos$$,$_condition$$,$admin$$){if($admin$$)return $rs$$(null);$_condition$$.id_app=$query$$.id_app;$query$$.ma_kho&&($_condition$$.ma_kho=$query$$.ma_kho);$e_khos$$=await global.getModel("dmkho").find($_condition$$,{ma_kho:1}).lean();$rs$$($e_khos$$.map($k$$=>$k$$.ma_kho))})});$query$$.$and||($query$$.$and=[]);$query$$.$and=[{$or:[{ma_kho:{$in:$ma_khos$$}},{"details.ma_kho":{$in:$ma_khos$$}}]}]}$callback$$(null,
4
+ null,"begin");(new Promise(($resolve$$,$reject$$)=>{if(!$query$$.ma_vt&&($query$$.ma_ncc||$query$$.ma_nvt||$query$$.ma_nvt2||$query$$.ma_nvt3||$query$$.ma_nvt4||$query$$.ma_lvt)){const $_query$$={id_app:$id_app$$,tg_tk:!0};$query$$.ma_ncc&&($_query$$.ma_ncc=$query$$.ma_ncc);$query$$.ma_nvt&&$query$$.ma_nvt.length>0&&($_query$$.ma_nvt=$query$$.ma_nvt);$query$$.ma_nvt2&&$query$$.ma_nvt2.length>0&&($_query$$.ma_nvt2=$query$$.ma_nvt2);$query$$.ma_nvt3&&$query$$.ma_nvt3.length>0&&($_query$$.ma_nvt3=$query$$.ma_nvt3);
5
+ $query$$.ma_nvt4&&$query$$.ma_nvt4.length>0&&($_query$$.ma_nvt4=$query$$.ma_nvt4);$query$$.ma_lvt&&($_query$$.ma_lvt=$query$$.ma_lvt);$callback$$(null,null,"running");dmvt.find($_query$$,{ma_vt:1}).lean().exec(($err$$,$rs$$)=>{if($err$$)return $reject$$($err$$);$callback$$(null,null,"running");$resolve$$($rs$$.map($r$$=>$r$$.ma_vt))})}else $resolve$$($query$$.ma_vt)})).then($ma_vt$$=>{$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$callback$$(null,null,"running");thnxt($query$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);
6
+ $callback$$(null,null,"running");async.series({vt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt).joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:["ten_vt","tg_tk","ma_ncc","ma_dvt","ma_nvt"],setFields:($a$$,$b$$)=>{if($b$$.picture){let $p$$=$b$$.picture.split(".");$a$$.picture_thumb=$b$$.picture+".thumb."+$p$$[$p$$.length-1]}else $a$$.picture="/getfile/others/noimage.png",$a$$.picture_thumb="/getfile/others/noimage.png"}},()=>{$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},
7
+ fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:["ten_nvt"]},()=>{$callback$$()})})})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:[{barcode1:"ma_tt2"},{ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,
8
+ global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:[{barcode3:"ma_tt2"},{ten_tt3:"ten_tt"}]},()=>{$callback$$()})},kh:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kh).joinModel2($id_app$$,"customer",
9
+ {where:"ma_kh",fields:["ten_kh","dia_chi","dien_thoai","dien_thoai2","email"]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:["ten_kho"]},()=>{$callback$$()})}},()=>{$callback$$(null,null,"running");$report$$=$report$$.filter($r$$=>!$r$$.ma_vt||$r$$.tg_tk);const $total$$={ma_vt:"",ten_vt:"T\u1ed5ng c\u1ed9ng",ton_dau:$report$$.csum("ton_dau"),du_dau:$report$$.csum("du_dau"),sl_nhap:$report$$.csum("sl_nhap"),tien_nhap:$report$$.csum("tien_nhap"),
10
+ sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),ton_cuoi:$report$$.csum("ton_cuoi"),du_cuoi:$report$$.csum("du_cuoi"),systotal:1,bold:!0};$report$$.push($total$$);$callback$$(null,$report$$,"data");$callback$$(null,null,"end")})},$log$$=>{$callback$$(null,null,"running");Logger.info($log$$)})}).catch($e$$=>{$callback$$($e$$)})},{stream:!0})};
@@ -0,0 +1,9 @@
1
+ const thnxt=require("../../libs/thnxttt"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),customer=global.getModel("customer"),controller=require("../../controllers/controllerRPT"),async=require("async");
2
+ module.exports=function($router$$){new controller($router$$,"thnxttt",function($req$$,$callback$$){const $query$$=$req$$.query,$id_app$$=$req$$.query.id_app;if(!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay");$callback$$(null,null,"begin");(new Promise(($resolve$$,$reject$$)=>{if(!$query$$.ma_vt&&($query$$.ma_ncc||$query$$.ma_nvt||$query$$.ma_nvt2||$query$$.ma_nvt3||$query$$.ma_nvt4||$query$$.ma_lvt)){const $_query$$=
3
+ {id_app:$id_app$$,tg_tk:!0};$query$$.ma_ncc&&($_query$$.ma_ncc=$query$$.ma_ncc);$query$$.ma_nvt&&$query$$.ma_nvt.length>0&&($_query$$.ma_nvt=$query$$.ma_nvt);$query$$.ma_nvt2&&$query$$.ma_nvt2.length>0&&($_query$$.ma_nvt2=$query$$.ma_nvt2);$query$$.ma_nvt3&&$query$$.ma_nvt3.length>0&&($_query$$.ma_nvt3=$query$$.ma_nvt3);$query$$.ma_nvt4&&$query$$.ma_nvt4.length>0&&($_query$$.ma_nvt4=$query$$.ma_nvt4);$query$$.ma_lvt&&($_query$$.ma_lvt=$query$$.ma_lvt);$callback$$(null,null,"running");dmvt.find($_query$$,
4
+ {ma_vt:1}).lean().exec(($err$$,$rs$$)=>{if($err$$)return $reject$$($err$$);$callback$$(null,null,"running");$resolve$$($rs$$.map($r$$=>$r$$.ma_vt))})}else $resolve$$($query$$.ma_vt)})).then($ma_vt$$=>{$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$callback$$(null,null,"running");thnxt($query$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);$callback$$(null,null,"running");async.parallel({vt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt).joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:["ten_vt",
5
+ "tg_tk","ma_ncc","ma_dvt","ma_nvt"],setFields:($a$$,$b$$)=>{if($b$$.picture){let $p$$=$b$$.picture.split(".");$a$$.picture_thumb=$b$$.picture+".thumb."+$p$$[$p$$.length-1]}else $a$$.picture="/getfile/others/noimage.png",$a$$.picture_thumb="/getfile/others/noimage.png"}},()=>{$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:["ten_nvt"]},
6
+ ()=>{$callback$$()})})})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:[{barcode1:"ma_tt2"},{ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},
7
+ ()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:[{barcode3:"ma_tt2"},{ten_tt3:"ten_tt"}]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:["ten_kho"]},()=>{$callback$$()})}},()=>{$callback$$(null,null,"running");$report$$=$report$$.filter($r$$=>!$r$$.ma_vt||
8
+ $r$$.tg_tk);const $total$$={ma_vt:"",ten_vt:"T\u1ed5ng c\u1ed9ng",ton_dau:$report$$.csum("ton_dau"),du_dau:$report$$.csum("du_dau"),sl_nhap:$report$$.csum("sl_nhap"),tien_nhap:$report$$.csum("tien_nhap"),sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),ton_cuoi:$report$$.csum("ton_cuoi"),du_cuoi:$report$$.csum("du_cuoi"),systotal:1,bold:!0};$report$$.push($total$$);$callback$$(null,$report$$,"data");$callback$$(null,null,"end")})},$log$$=>{$callback$$(null,null,"running");Logger.info($log$$)})}).catch($e$$=>
9
+ {$callback$$($e$$)})},{stream:!0})};
@@ -0,0 +1,9 @@
1
+ const databanle=require("../../libs/databanle"),dmkh=global.getModel("customer"),introducer=global.getModel("introducer"),user=global.getModel("user"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"tkbanhangtheogioithieu",async($query_req$$,$callback$$)=>{const $condition$$=$query_req$$.query;if(!$condition$$.tu_ngay||!$condition$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1:tu_ngay,den_ngay");$query_req$$={id_app:$condition$$.id_app};$query_req$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query_req$$.ma_dvcs=$condition$$.ma_dvcs);var $_query_intro_customers$$=
3
+ {id_app:$condition$$.id_app};$condition$$.introducer&&($_query_intro_customers$$.be_introduced_by=$condition$$.introducer);$condition$$.ma_kh&&($_query_intro_customers$$.be_introduced=$condition$$.ma_kh.toLowerCase());$_query_intro_customers$$=(await introducer.find($_query_intro_customers$$,{be_introduced:1,be_introduced_by:1})).filter($r$$=>$r$$.be_introduced!==$r$$.be_introduced_by).map($u$$=>$u$$.be_introduced.toUpperCase());$query_req$$.ma_kh={$in:$_query_intro_customers$$};$condition$$.ma_kho&&
4
+ ($query_req$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_ct&&($query_req$$.ma_ct=$condition$$.ma_ct);$query_req$$.show_bonus_points=!0;databanle($query_req$$,function($error$$,$rs$$){if($error$$)return $callback$$($error$$);async.mapLimit($rs$$,20,function($r$$,$callback$$){$r$$.t_sl_xuat=$r$$.details.csum("sl_xuat");$r$$.t_tien_hang=$r$$.details.csum("tien_hang");$r$$.t_tien_ck=$r$$.details.csum("tien_ck");$r$$.t_tien=$r$$.details.csum("tien");$r$$.t_tien_cp=$r$$.details.csum("tien_cp");$r$$.tien_ck_hd=
5
+ $r$$.tien_ck_hd?$r$$.tien_ck_hd:0;$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat");$r$$.details_tl?($r$$.t_tien_tl=$r$$.details_tl.csum("tien"),$r$$.t_tien_nhap=$r$$.details_tl.csum("tien_nhap"),$r$$.t_sl_nhap=$r$$.details_tl.csum("sl_nhap")):($r$$.t_tien_tl=0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0);$r$$.t_so_bill=$r$$.so_ct!=="HD7"?1:0;$callback$$(null,$r$$)},function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$rs$$.groupBy("ma_kh",[{name:"t_so_bill",value:"t_so_bill"},{name:"t_sl_xuat",
6
+ value:"t_sl_xuat"},{name:"t_tien_hang",value:"t_tien_hang"},{name:"t_tien_cp",value:"t_tien_cp"},{name:"t_tien_ck",value:"t_tien_ck"},{name:"t_tien",value:"t_tien"},{name:"tien_ck_hd",value:"tien_ck_hd"},{name:"t_tien_xuat",value:"t_tien_xuat"},{name:"t_sl_nhap",value:"t_sl_nhap"},{name:"t_tien_tl",value:"t_tien_tl"},{name:"t_tien_nhap",value:"t_tien_nhap"},{name:"t_bonus_points",value:"bonus_points"},{name:"t_used_points",value:"used_points"}],async($error$$,$report$$)=>{if($error$$)return $callback$$($error$$);
7
+ $report$$.forEach(($r$$,$i$$)=>{$r$$.stt=$i$$+1;$r$$.bold=!1;$r$$.t_doanh_thu=$r$$.t_tien-$r$$.tien_ck_hd;$r$$.t_doanh_thu_thuan=$r$$.t_doanh_thu-$r$$.t_tien_tl;$r$$.t_lai=$r$$.t_doanh_thu-$r$$.t_tien_xuat-($r$$.t_tien_tl-$r$$.t_tien_nhap)});await $report$$.asyncJoinModel2($condition$$.id_app,dmkh,[{where:"ma_kh",fields:["ten_kh","dia_chi"]}]);await $report$$.asyncJoinModel2($condition$$.id_app,introducer,[{where:$row$$=>({be_introduced:$row$$.ma_kh.toLowerCase()}),fields:{introducer:"be_introduced_by"}}]);
8
+ await $report$$.asyncJoinModel2(null,user,[{where:{introducer:"email"},fields:{introducer_name:"name"}}]);$report$$=$report$$.filter($r$$=>$r$$.introducer_name);$report$$.push({ten_kh:"T\u1ed5ng c\u1ed9ng",t_so_bill:$report$$.csum("t_so_bill"),t_sl_xuat:$report$$.csum("t_sl_xuat"),t_tien_hang:$report$$.csum("t_tien_hang"),t_tien_cp:$report$$.csum("t_tien_cp"),t_tien_ck:$report$$.csum("t_tien_ck"),t_tien:$report$$.csum("t_tien"),tien_ck_hd:$report$$.csum("tien_ck_hd"),t_tien_xuat:$report$$.csum("t_tien_xuat"),
9
+ t_doanh_thu:$report$$.csum("t_doanh_thu"),t_doanh_thu_thuan:$report$$.csum("t_doanh_thu_thuan"),t_sl_nhap:$report$$.csum("t_sl_nhap"),t_tien_nhap:$report$$.csum("t_tien_nhap"),t_tien_tl:$report$$.csum("t_tien_tl"),t_lai:$report$$.csum("t_lai"),t_bonus_points:$report$$.csum("t_bonus_points"),t_used_points:$report$$.csum("t_used_points"),bold:!0});$callback$$(null,$report$$)})})})})};
@@ -0,0 +1,4 @@
1
+ const introducer=global.getModel("introducer"),user=global.getModel("user"),moment=require("moment"),controller=require("../../controllers/controllerRPT"),databanle=require("../../libs/databanle"),asyncDatabanle=async $query$$=>new Promise(($resove$$,$reject$$)=>{databanle($query$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resove$$($rs$$)})});
2
+ module.exports=function($router$$){new controller($router$$,"tkgioithieukh",function($req$$,$callback$$){let $tu_ngay$$=moment($req$$.query.tu_ngay).startOf("date").toDate(),$den_ngay$$=moment($req$$.query.den_ngay).endOf("date").toDate(),$id_app$$=$req$$.query.id_app,$query$$={id_app:$id_app$$,date_created:{$gte:$tu_ngay$$,$lte:$den_ngay$$}};$req$$.query.introducer&&($query$$.be_introduced_by=$req$$.query.introducer);introducer.find($query$$).lean().exec(async($e$jscomp$1_rs$$,$introdueds$$)=>{if($e$jscomp$1_rs$$)return $callback$$($e$jscomp$1_rs$$.message);
3
+ $e$jscomp$1_rs$$=await (await Promise.all($introdueds$$.filter($r$$=>$r$$.be_introduced!==$r$$.be_introduced_by).map(async $intro$$=>{var $query_banle_so_lan_mua_hang$$={id_app:$id_app$$,ma_kh:$intro$$.be_introduced};$query_banle_so_lan_mua_hang$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};$query_banle_so_lan_mua_hang$$=(await asyncDatabanle($query_banle_so_lan_mua_hang$$)).map($r$$=>$r$$.so_ct!=="HD7"?1:0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$intro$$.downloaded=1;$intro$$.so_lan_mua_hang=$query_banle_so_lan_mua_hang$$;
4
+ $intro$$.mua_1_lan=$intro$$.so_lan_mua_hang===1?1:0;$intro$$.mua_hon_1_lan=$intro$$.so_lan_mua_hang>1?1:0;$intro$$.chua_mua=$intro$$.so_lan_mua_hang===0?1:0;$intro$$.introducer=$intro$$.be_introduced_by;return $intro$$}))).asyncGroupBy(["introducer"],["downloaded","chua_mua","mua_1_lan","mua_hon_1_lan"]);await $e$jscomp$1_rs$$.asyncJoinModel2(null,user,{where:{introducer:"email"},fields:{introducer_name:"name"}});$callback$$(null,$e$jscomp$1_rs$$.filter($r$$=>$r$$.introducer_name))})})};