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,6 @@
1
+ const task=global.getModel("task"),dmbp=global.getModel("dmbp"),customer=global.getModel("customer"),dmdt=global.getModel("dmdt"),user=global.getModel("user"),group=global.getModel("group"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
+ module.exports=function($router$$){new controller($router$$,"congviectheotimeline",async($req$$,$callback$$)=>{const $condition$$=$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");const $query$$={id_app:$condition$$.id_app};$condition$$.tu_ngay=moment(new Date($condition$$.tu_ngay)).startOf("date").toDate();$condition$$.den_ngay=moment(new Date($condition$$.den_ngay)).endOf("date").toDate();
3
+ $query$$.start_date={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};if($condition$$.id_bp)try{let $_ch$$=await dmbp.getChilren($condition$$.id_app,$condition$$.id_bp);$_ch$$.push($condition$$.id_bp);$query$$.id_bp={$in:$_ch$$}}catch($e$$){Logger.info($e$$)}$condition$$.id_kh&&($query$$.id_kh=$condition$$.id_kh);$condition$$.id_dt&&($query$$.id_dt=$condition$$.id_dt);$condition$$.id_bp&&($query$$.id_bp=$condition$$.id_bp);$condition$$.phu_trach&&($query$$.phu_trach=$condition$$.phu_trach);$condition$$.nh_cv&&
4
+ ($query$$.nh_cv=$condition$$.nh_cv);task.find($query$$).lean().exec(async($error$$,$report$$)=>{if($error$$)return Logger.info($error$$,$query$$),$callback$$($error$$);await $report$$.filter($item$$=>$item$$.id_bp).asyncJoinModel2($condition$$.id_app,dmbp,{where:{id_bp:"_id"},fields:["ma_bp","ten_bp"]});await $report$$.filter($item$$=>$item$$.id_dt).asyncJoinModel2($condition$$.id_app,dmdt,{where:{id_dt:"_id"},fields:["ma_dt","ten_dt"]});await $report$$.filter($item$$=>$item$$.id_kh).asyncJoinModel2($condition$$.id_app,
5
+ customer,{where:{id_kh:"_id"},fields:["ma_kh","ten_kh"]});await $report$$.filter($item$$=>$item$$.phu_trach).asyncJoinModel2(null,user,{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]});await $report$$.filter($item$$=>$item$$.nh_cv).asyncJoinModel2($condition$$.id_app,group,{where:{nh_cv:"_id"},fields:[{ten_nh_cv:"group_name"}]});for(let $t$$ of $report$$.filter($item$$=>$item$$.cv_phu_thuoc&&$item$$.cv_phu_thuoc.length>0))$t$$.cv_phu_thuoc=$t$$.cv_phu_thuoc.filter($c$$=>$report$$.find($r$$=>
6
+ $r$$._id==$c$$)&&$t$$._id!=$c$$);$callback$$(null,$report$$)})})};
@@ -0,0 +1,15 @@
1
+ const ptthanhtoan=global.getModel("ptthanhtoan"),pbl=global.getModel("pbl"),so1=global.getModel("so1"),hd2=global.getModel("hd2"),dmvt=global.getModel("dmvt"),dmtt=global.getModel("dmtt"),customer=global.getModel("customer"),group=global.getModel("group"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),dmbp=global.getModel("dmbp"),dmban=global.getModel("dmban"),dmhd=global.getModel("contract"),dmnv=global.getModel("dmnv"),User=
2
+ global.getModel("user"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),dtbanletheosp=require("../../libs/dtbanletheosp");
3
+ module.exports=function($router$$){new controller($router$$,"ctbanle",async function($req$$,$callback$$){const $condition$$=$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");let $rs$$=await dtbanletheosp($condition$$);$rs$$.forEach($r$$=>{$r$$.nxt==1?($r$$.tien_tl=0-$r$$.tien_hang_ct,$r$$.tien_tl_nt=0-$r$$.tien_hang_ct_nt,$r$$.tien_ck_tl=0-$r$$.tien_ck,$r$$.tien_ck_tl_nt=0-$r$$.tien_ck_nt,
4
+ $r$$.tien_thue_tl=0-$r$$.tien_thue,$r$$.tien_thue_tl_nt=0-$r$$.tien_thue_nt,$r$$.tien_tl_net=$r$$.tien_tl-$r$$.tien_ck_tl+$r$$.tien_thue_tl,$r$$.tien_tl_net_nt=$r$$.tien_tl_nt-$r$$.tien_ck_tl_nt+$r$$.tien_thue_tl_nt,$r$$.tien_hoa_hong_tl=0-$r$$.tien_hoa_hong,$r$$.tien_hoa_hong_gt_tl=0-$r$$.tien_hoa_hong_gt,$r$$.tien_hoa_hong_ctv_tl=0-$r$$.tien_hoa_hong_ctv,$r$$.tien_hoa_hong_ql_tl=0-$r$$.tien_hoa_hong_ql,$r$$.tien_hang_nt=0,$r$$.tien_hang=0,$r$$.tien_hang_ct_nt=0,$r$$.tien_hang_ct=0,$r$$.tien_ck=
5
+ 0,$r$$.tien_ck_nt=0,$r$$.tien=0,$r$$.tien_nt=0,$r$$.tien_thue=0,$r$$.tien_thue_nt=0,$r$$.tien_xuat_tmp=0,$r$$.sl_xuat=0,$r$$.tien_hoa_hong=0,$r$$.tien_hoa_hong_gt=0,$r$$.tien_hoa_hong_ctv=0,$r$$.tien_hoa_hong_ql=0):($r$$.tien_tl=0,$r$$.tien_tl_nt=0,$r$$.tien_ck_tl=0,$r$$.tien_ck_tl_nt=0,$r$$.tien_thue_tl=0,$r$$.tien_thue_tl_nt=0,$r$$.tien_tl_net=0,$r$$.tien_tl_net_nt=0,$r$$.tien_hoa_hong_tl=0,$r$$.tien_hoa_hong_gt_tl=0,$r$$.tien_hoa_hong_ctv_tl=0,$r$$.tien_hoa_hong_ql_tl=0);$r$$.von=($r$$.tien_xuat||
6
+ 0)-($r$$.tien_nhap||0);$r$$.lai=$r$$.tien_hang_ct-$r$$.tien_ck-($r$$.tien_tl-$r$$.tien_ck_tl)-$r$$.von});(new Promise(($resolve$$,$reject$$)=>{async.series({ten_vt:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,dmvt,{where:"ma_vt",fields:["ten_vt","ma_nvt","ma_lvt","ma_ncc","ma_vt2"]},()=>{$callback$$()})},tt1:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_tt1).joinModel2($condition$$.id_app,dmtt,{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:{barcode:"ma_tt2"}},()=>
7
+ {$callback$$()})},tt2:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_tt2).joinModel2($condition$$.id_app,dmtt,{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:{barcode:"ma_tt2"}},()=>{$callback$$()})},tt3:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_tt3).joinModel2($condition$$.id_app,dmtt,{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:{barcode:"ma_tt2"}},()=>{$callback$$()})},ban:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_ban).joinModel2($condition$$.id_app,
8
+ dmban,{where:"ma_ban",fields:["ten_ban","kenh_ban_hang","nh_ban","loai_ban"]},()=>{$callback$$()})},pbl:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_ct==="PBL").joinModel2($condition$$.id_app,pbl,{where:{id_ct:"_id"},fields:["pt_thanh_toan","pt_thanh_toan2"]},()=>{$callback$$()})},so1:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_ct==="SO1").joinModel2($condition$$.id_app,so1,{where:{id_ct:"_id"},fields:["pt_thanh_toan","pt_thanh_toan2"]},()=>{$callback$$()})},hd2:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_ct===
9
+ "HD2").joinModel2($condition$$.id_app,hd2,{where:{id_ct:"_id"},fields:["pt_thanh_toan"]},()=>{$callback$$()})},ten_kho:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,dmkho,{where:"ma_kho",fields:"ten_kho"},()=>{$callback$$()})},ten_kh:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_kh).joinModel2($condition$$.id_app,customer,{where:"ma_kh",fields:["ten_kh","nh_kh"]},()=>{$callback$$()})},dmdt:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_dt).joinModel2($condition$$.id_app,dmdt,{where:"ma_dt",fields:"ten_dt"},
10
+ ()=>{$callback$$()})},dmhd:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_hd).joinModel2($condition$$.id_app,dmhd,{where:{ma_hd:"so_hd"},fields:"ten_hd"},()=>{$callback$$()})},dmbp:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_bp).joinModel2($condition$$.id_app,dmbp,{where:"ma_bp",fields:"ten_bp"},()=>{$callback$$()})},dmphi:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_phi).joinModel2($condition$$.id_app,dmphi,{where:"ma_phi",fields:"ten_phi"},()=>{$callback$$()})},dmnv:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_nv).joinModel2($condition$$.id_app,
11
+ dmnv,{where:"ma_nv",fields:"ten_nv"},()=>{$callback$$()})},user:$callback$$=>{$rs$$.joinModel2(null,User,{where:{user_created:"email"},fields:[{user_name:"name"}]},()=>{$callback$$()})},cashier:$callback$$=>{$rs$$.filter($r$$=>$r$$.cashier).joinModel2(null,User,{where:{cashier:"email"},fields:[{cashier_name:"name"}]},()=>{$callback$$()})}},($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resolve$$($rs$$)})})).then(()=>new Promise(($resolve$$,$reject$$)=>{async.series({pt_thanh_toan:$callback$$=>{$rs$$.filter($r$$=>
12
+ $r$$.pt_thanh_toan).joinModel2($condition$$.id_app,ptthanhtoan,{where:{pt_thanh_toan:"_id"},fields:{ten_pt_thanh_toan:"ten"}},()=>{$callback$$()})},pt_thanh_toan2:$callback$$=>{$rs$$.filter($r$$=>$r$$.pt_thanh_toan2).joinModel2($condition$$.id_app,ptthanhtoan,{where:{pt_thanh_toan2:"_id"},fields:{ten_pt_thanh_toan2:"ten"}},()=>{$callback$$()})},nh_vt:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,dmnvt,{where:{ma_nvt:"_id"},fields:"ten_nvt"},()=>{$callback$$()})},nh_kh:$callback$$=>{$rs$$.filter($r$$=>
13
+ $r$$.nh_kh).joinModel2($condition$$.id_app,group,{where:{nh_kh:"_id"},fields:[{ten_nh_kh:"group_name"}]},()=>{$callback$$()})},nha_cc:$callback$$=>{$rs$$.filter($r$$=>$r$$.ma_ncc).joinModel2($condition$$.id_app,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$callback$$()})}},($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resolve$$($rs$$)})})).then(()=>{$rs$$.forEach(function($r$$){$r$$.barcode=$r$$.barcode||$r$$.ma_vt2;$r$$.lai=$r$$.tien-$r$$.tien_xuat-($r$$.tien_tl-$r$$.tien_nhap);
14
+ $r$$.bold=!1});const $report$$=underscore.sortBy($rs$$,function($r$$){return moment($r$$.ngay_ct).format("YYYY-MM-DD")+$r$$.so_ct+$r$$.ma_vt});$report$$.push({ten_vt:"T\u1ed5ng c\u1ed9ng",sl_xuat:$report$$.csum("sl_xuat"),sl_xuat_qd:$report$$.csum("sl_xuat_qd"),tien_xuat:$report$$.csum("tien_xuat"),tien_hang_ct:$report$$.csum("tien_hang_ct"),tien_ck:$report$$.csum("tien_ck"),tien_thue:$report$$.csum("tien_thue"),tien:$report$$.csum("tien"),sl_nhap:$report$$.csum("sl_nhap"),sl_nhap_qd:$report$$.csum("sl_nhap_qd"),
15
+ tien_nhap:$report$$.csum("tien_nhap"),tien_tl:$report$$.csum("tien_tl"),tien_ck_tl:$report$$.csum("tien_ck_tl"),tien_thue_tl:$report$$.csum("tien_thue_tl"),tien_tl_net:$report$$.csum("tien_tl_net"),von:$report$$.csum("von"),lai:$report$$.csum("lai"),bold:!0});$callback$$(null,$report$$)}).catch($e$$=>{$callback$$($e$$)})})};
@@ -0,0 +1,20 @@
1
+ const databanle=require("../../libs/databanle"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"ctbanle2",async function($req$$,$callback$$){const $condition$$=$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");const $query$$={id_app:$condition$$.id_app};$query$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_kho&&($query$$.ma_kho=
3
+ $condition$$.ma_kho);if($condition$$.ma_kh)$query$$.ma_kh=$condition$$.ma_kh;else{var $condition_kh_custs$$={};if($condition$$.nh_kh){var $nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh,{status:!0});$condition_kh_custs$$.nh_kh={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$}}$condition$$.nh_kh2&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh2,
4
+ {status:!0}),$condition_kh_custs$$.nh_kh2={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh3&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh3,{status:!0}),$condition_kh_custs$$.nh_kh3={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh4&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh4,{status:!0}),
5
+ $condition_kh_custs$$.nh_kh4={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh5&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh5,{status:!0}),$condition_kh_custs$$.nh_kh5={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});Object.keys($condition_kh_custs$$).length>0&&($condition_kh_custs$$.id_app=$condition$$.id_app,$condition_kh_custs$$=await global.getModel("customer").find($condition_kh_custs$$,
6
+ {ma_kh:1}).lean(),$query$$.ma_kh={$in:$condition_kh_custs$$.map($c$$=>$c$$.ma_kh)})}$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$condition$$.user_hoa_hong&&($query$$.$or=[{user_nv:$condition$$.user_hoa_hong},{user_ctv:$condition$$.user_hoa_hong},{user_ctv2:$condition$$.user_hoa_hong},{user_kho:$condition$$.user_hoa_hong},{user_gt:$condition$$.user_hoa_hong},{user_ql:$condition$$.user_hoa_hong},{"details.user_nv":$condition$$.user_hoa_hong},{"details.user_ctv":$condition$$.user_hoa_hong},
7
+ {"details.user_ctv2":$condition$$.user_hoa_hong},{"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},{"details.user_ql":$condition$$.user_hoa_hong}]);databanle($query$$,function($error$$,$data$$,$ptthanhtoans$$){if($error$$)return $callback$$($error$$);const $thanh_toan$$=$ptthanhtoans$$.map($pt$$=>({name:$pt$$.ma,value:$pt$$.ma,ma:$pt$$.ma,ten:$pt$$.ten}));async.map($data$$,function($r$$,$callback$$){$r$$.t_sl_xuat=$r$$.details.csum("sl_xuat");$r$$.t_tien_hang=
8
+ $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?0:$r$$.details.csum("tien_hoa_hong");$r$$.t_tien_hoa_hong_gt=$condition$$.user_hoa_hong&&
9
+ $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")-$r$$.details_tl.csum("tien_ck"),$r$$.t_tien_thue_tl=$r$$.details_tl.csum("tien_thue"),
10
+ $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$$,$b$$)=>($a$$||0)+($b$$||0),0),$r$$.t_tien_hoa_hong_ctv-=$r$$.details_tl.map($d$$=>
11
+ $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_tien_thue_tl=0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0);$r$$.tien_freeship=$r$$.tien_freeship||0;$r$$.tien_phi_vc=$r$$.tien_phi_vc||0;global.getModel("sokho").find({id_ct:$r$$._id}).lean().then($rs$$=>
12
+ {$r$$.t_sl_xuat_kho=$rs$$.map($r$$=>$r$$.sl_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$callback$$(null,$r$$)})},function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$condition$$.chi_hien_chua_post_sokho&&($rs$$=$rs$$.filter($r$$=>!$r$$.t_sl_xuat_kho));let $field_group_by$$=$req$$.query.group_by||["_id","so_ct","ngay_ct","ma_ct"];underscore.isString($field_group_by$$)&&($field_group_by$$=[$field_group_by$$]);$error$$=[{name:"t_sl_xuat",value:"t_sl_xuat"},{name:"t_sl_xuat_kho",value:"t_sl_xuat_kho"},
13
+ {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",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"},
14
+ {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"},{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"},...$thanh_toan$$];$rs$$.groupBy($field_group_by$$,
15
+ $error$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);$report$$=$report$$.sort(($a$$,$b$$)=>{for(let $i$$=0;$i$$<$field_group_by$$.length;$i$$++){let $field$$=$field_group_by$$[$i$$];if($a$$[$field$$]<$b$$[$field$$])return-1;if($a$$[$field$$]>$b$$[$field$$])return 1}return 0});$report$$.forEach(function($r$$,$i$$){$r$$.stt=$i$$+1;$r$$.bold=!1;$r$$.t_tien_paymentByPoints=$r$$.tien_paymentByPoints||0;$r$$.t_phai_thu=$r$$.t_tien_hang_ct-($r$$.t_tien_ck||0)+($r$$.t_thue||0)+($r$$.tien_phi_vc||
16
+ 0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0);$r$$.t_doanh_thu=$r$$.t_tien_hang_ct-$r$$.t_tien_ck+$r$$.tien_phi_vc-$r$$.tien_freeship-($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_doanh_thu_thuan=$r$$.t_doanh_thu-$r$$.t_tien_tl;$r$$.t_tien_thu=$thanh_toan$$.map($pt$$=>$r$$[$pt$$.name]||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_hoa_hong=$r$$.t_tien_hoa_hong+$r$$.t_tien_hoa_hong_gt+$r$$.t_tien_hoa_hong_ctv+
17
+ $r$$.t_tien_hoa_hong_ql});const $tong_cong$$={[$field_group_by$$[0]]:"T\u1ed5ng c\u1ed9ng",t_sl_xuat:$report$$.csum("t_sl_xuat"),t_sl_xuat_kho:$report$$.csum("t_sl_xuat_kho"),t_sl_nhap:$report$$.csum("t_sl_nhap"),t_tien_hang:$report$$.csum("t_tien_hang"),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"),
18
+ 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"),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"),
19
+ 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"),t_tien_hoa_hong_ql:$report$$.csum("t_tien_hoa_hong_ql"),t_hoa_hong:$report$$.csum("t_hoa_hong"),bold:!0};$thanh_toan$$.forEach($pt$$=>{$pt$$.tong_cong=$tong_cong$$[$pt$$.name]=$report$$.csum($pt$$.name)});$report$$.push($tong_cong$$);
20
+ $report$$.forEach($r$$=>{$r$$.t_tien_phai_tl=$r$$.t_tien_tl+$r$$.t_tien_thue_tl});$callback$$(null,{data:$report$$,thanh_toan:$thanh_toan$$.filter($t$$=>$t$$.tong_cong)})})})})})};
@@ -0,0 +1,20 @@
1
+ const databanle=require("../../libs/databanle"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"ctbanlectv",async function($req$$,$callback$$){const $condition$$=$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");const $query$$={id_app:$condition$$.id_app};$query$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_kho&&($query$$.ma_kho=
3
+ $condition$$.ma_kho);if($condition$$.ma_kh)$query$$.ma_kh=$condition$$.ma_kh;else{var $condition_kh_custs$$={};if($condition$$.nh_kh){var $nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh,{status:!0});$condition_kh_custs$$.nh_kh={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$}}$condition$$.nh_kh2&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh2,
4
+ {status:!0}),$condition_kh_custs$$.nh_kh2={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh3&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh3,{status:!0}),$condition_kh_custs$$.nh_kh3={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh4&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh4,{status:!0}),
5
+ $condition_kh_custs$$.nh_kh4={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh5&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh5,{status:!0}),$condition_kh_custs$$.nh_kh5={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});Object.keys($condition_kh_custs$$).length>0&&($condition_kh_custs$$.id_app=$condition$$.id_app,$condition_kh_custs$$=await global.getModel("customer").find($condition_kh_custs$$,
6
+ {ma_kh:1}).lean(),$query$$.ma_kh={$in:$condition_kh_custs$$.map($c$$=>$c$$.ma_kh)})}$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$query$$.$or=[{user_nv:$req$$.user.email},{user_ctv:$req$$.user.email},{user_ctv2:$req$$.user.email},{user_kho:$req$$.user.email},{user_gt:$req$$.user.email},{user_ql:$req$$.user.email},{"details.user_nv":$req$$.user.email},{"details.user_ctv":$req$$.user.email},{"details.user_ctv2":$req$$.user.email},{"details.user_kho":$req$$.user.email},{"details.user_gt":$req$$.user.email},
7
+ {"details.user_ql":$req$$.user.email}];databanle($query$$,function($error$$,$rs$$,$ptthanhtoans$$){if($error$$)return $callback$$($error$$);const $thanh_toan$$=$ptthanhtoans$$.map($pt$$=>({name:$pt$$.ma,value:$pt$$.ma,ma:$pt$$.ma,ten:$pt$$.ten}));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_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");
8
+ $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?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?
9
+ 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")-$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&&
10
+ $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$$,$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-=
11
+ $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||0;$r$$.tien_phi_vc=$r$$.tien_phi_vc||0;global.getModel("sokho").find({id_ct:$r$$._id}).lean().then($rs$$=>{$r$$.t_sl_xuat_kho=$rs$$.map($r$$=>$r$$.sl_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$callback$$(null,$r$$)})},function($error$$,$rs$$){if($error$$)return $callback$$($error$$);
12
+ $condition$$.chi_hien_chua_post_sokho&&($rs$$=$rs$$.filter($r$$=>!$r$$.t_sl_xuat_kho));let $field_group_by$$=$req$$.query.group_by||["_id","so_ct","ngay_ct","ma_ct"];underscore.isString($field_group_by$$)&&($field_group_by$$=[$field_group_by$$]);$error$$=[{name:"t_sl_xuat",value:"t_sl_xuat"},{name:"t_sl_xuat_kho",value:"t_sl_xuat_kho"},{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",
13
+ 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"},
14
+ {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"},...$thanh_toan$$];$rs$$.groupBy($field_group_by$$,$error$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);$report$$=$report$$.sort(($a$$,$b$$)=>{for(let $i$$=0;$i$$<$field_group_by$$.length;$i$$++){let $field$$=
15
+ $field_group_by$$[$i$$];if($a$$[$field$$]<$b$$[$field$$])return-1;if($a$$[$field$$]>$b$$[$field$$])return 1}return 0});$report$$.forEach(function($r$$,$i$$){$r$$.stt=$i$$+1;$r$$.bold=!1;$r$$.t_tien_paymentByPoints=$r$$.tien_paymentByPoints||0;$r$$.t_phai_thu=$r$$.t_tien_hang_ct-($r$$.t_tien_ck||0)+($r$$.t_thue||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0);$r$$.t_doanh_thu=$r$$.t_tien_hang_ct-$r$$.t_tien_ck+$r$$.tien_phi_vc-$r$$.tien_freeship-($r$$.tien_ck_hd||
16
+ 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_doanh_thu_thuan=$r$$.t_doanh_thu-$r$$.t_tien_tl;$r$$.t_tien_thu=$thanh_toan$$.map($pt$$=>$r$$[$pt$$.name]||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$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});const $tong_cong$$={[$field_group_by$$[0]]:"T\u1ed5ng c\u1ed9ng",t_sl_xuat:$report$$.csum("t_sl_xuat"),t_sl_xuat_kho:$report$$.csum("t_sl_xuat_kho"),
17
+ t_sl_nhap:$report$$.csum("t_sl_nhap"),t_tien_hang:$report$$.csum("t_tien_hang"),t_tien_hang_ct:$report$$.csum("t_tien_hang_ct"),t_thue:$report$$.csum("t_thue"),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"),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"),
18
+ t_tien_nhap:$report$$.csum("t_tien_nhap"),t_phai_thu:$report$$.csum("t_phai_thu"),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"),
19
+ t_tien_hoa_hong_gt:$report$$.csum("t_tien_hoa_hong_gt"),t_tien_hoa_hong_ctv:$report$$.csum("t_tien_hoa_hong_ctv"),t_tien_hoa_hong_ql:$report$$.csum("t_tien_hoa_hong_ql"),t_hoa_hong:$report$$.csum("t_hoa_hong"),bold:!0};$thanh_toan$$.forEach($pt$$=>{$pt$$.tong_cong=$tong_cong$$[$pt$$.name]=$report$$.csum($pt$$.name)});$report$$.push($tong_cong$$);$report$$.forEach($r$$=>{$r$$.t_tien_phai_tl=$r$$.t_tien_tl+$r$$.t_tien_thue_tl});$callback$$(null,{data:$report$$,thanh_toan:$thanh_toan$$.filter($t$$=>
20
+ $t$$.tong_cong)})})})})},{notNeedRight:!0})};
@@ -0,0 +1,24 @@
1
+ const databanle=require("../../libs/databanlenpp"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),permission=require("../../libs/permission");
2
+ module.exports=function($router$$){new controller($router$$,"ctbanlenpp",async function($req$$,$callback$$){const $condition$$=$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");const $query$$={id_app:$condition$$.id_app};$query$$.ngay_ct={$lte:$condition$$.den_ngay||new Date};$condition$$.tu_ngay&&($query$$.ngay_ct.$gte=$condition$$.tu_ngay);$condition$$.ma_dvcs&&($query$$.ma_dvcs=
3
+ $condition$$.ma_dvcs);$condition$$.user_nv&&($query$$.user_nv=$condition$$.user_nv);$condition$$.user_ctv&&($query$$.user_ctv=$condition$$.user_ctv);$condition$$.user&&($query$$.$or?$query$$.$and=[{$or:[{user_nv:$condition$$.user},{user_ctv:$condition$$.user}]}]:$query$$.$or=[{user_nv:$condition$$.user},{user_ctv:$condition$$.user}]);$condition$$.tinh_thanh&&($query$$.tinh_thanh=$condition$$.tinh_thanh);if($req$$.user.current_app_info.appAdmin)$condition$$.ma_kho&&($query$$.$and||($query$$.$and=[]),
4
+ $query$$.$and.push({$or:[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]}));else{var $condition_kh_custs_dk_user_hoa_hong_ma_khos$$=await new Promise($resolve$$=>{permission.getRightByItem($req$$.user.current_id_app,global.getModel("dmkho"),$req$$.user.email,async function($e_khos$$,$_condition$$,$admin$$){if($admin$$)return $resolve$$(null);$_condition$$.id_app=$condition$$.id_app;$condition$$.ma_kho&&($_condition$$.ma_kho=$condition$$.ma_kho);$e_khos$$=await global.getModel("dmkho").find($_condition$$,
5
+ {ma_kho:1}).lean();$resolve$$($e_khos$$.map($k$$=>$k$$.ma_kho))})});$condition_kh_custs_dk_user_hoa_hong_ma_khos$$&&($query$$.$and||($query$$.$and=[]),$query$$.$and.push({$or:[{ma_kho:{$in:$condition_kh_custs_dk_user_hoa_hong_ma_khos$$}},{"details.ma_kho":{$in:$condition_kh_custs_dk_user_hoa_hong_ma_khos$$}}]}))}if($condition$$.ma_kh)$query$$.ma_kh=$condition$$.ma_kh;else{$condition_kh_custs_dk_user_hoa_hong_ma_khos$$={};if($condition$$.nh_kh){var $nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,
6
+ $condition$$.nh_kh,{status:!0});$condition_kh_custs_dk_user_hoa_hong_ma_khos$$.nh_kh={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$}}$condition$$.nh_kh2&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh2,{status:!0}),$condition_kh_custs_dk_user_hoa_hong_ma_khos$$.nh_kh2={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh3&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,
7
+ $condition$$.nh_kh3,{status:!0}),$condition_kh_custs_dk_user_hoa_hong_ma_khos$$.nh_kh3={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh4&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh4,{status:!0}),$condition_kh_custs_dk_user_hoa_hong_ma_khos$$.nh_kh4={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh5&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,
8
+ $condition$$.nh_kh5,{status:!0}),$condition_kh_custs_dk_user_hoa_hong_ma_khos$$.nh_kh5={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});Object.keys($condition_kh_custs_dk_user_hoa_hong_ma_khos$$).length>0&&($condition_kh_custs_dk_user_hoa_hong_ma_khos$$.id_app=$condition$$.id_app,$condition_kh_custs_dk_user_hoa_hong_ma_khos$$=await global.getModel("customer").find($condition_kh_custs_dk_user_hoa_hong_ma_khos$$,{ma_kh:1}).lean(),$query$$.ma_kh={$in:$condition_kh_custs_dk_user_hoa_hong_ma_khos$$.map($c$$=>
9
+ $c$$.ma_kh)})}$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$condition$$.user_hoa_hong&&($condition_kh_custs_dk_user_hoa_hong_ma_khos$$=[{user_nv:$condition$$.user_hoa_hong},{user_ctv:$condition$$.user_hoa_hong},{user_ctv2:$condition$$.user_hoa_hong},{user_kho:$condition$$.user_hoa_hong},{user_gt:$condition$$.user_hoa_hong},{user_ql:$condition$$.user_hoa_hong},{"details.user_nv":$condition$$.user_hoa_hong},{"details.user_ctv":$condition$$.user_hoa_hong},{"details.user_ctv2":$condition$$.user_hoa_hong},
10
+ {"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},{"details.user_ql":$condition$$.user_hoa_hong}],$query$$.$and?$query$$.$and.push({$or:$condition_kh_custs_dk_user_hoa_hong_ma_khos$$}):$query$$.$or=$condition_kh_custs_dk_user_hoa_hong_ma_khos$$);databanle($query$$,function($error$$,$rs$$,$ptthanhtoans$$){if($error$$)return Logger.error(JSON.stringify($error$$)),$callback$$($error$$);const $thanh_toan$$=$ptthanhtoans$$.map($pt$$=>({name:$pt$$.ma,value:$pt$$.ma,
11
+ ma:$pt$$.ma,ten:$pt$$.ten}));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_hang_ct=$r$$.details.csum("tien_hang_ct");$r$$.t_tien_ck=$r$$.details.csum("tien_ck");$r$$.t_thue=$r$$.details.csum("t_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&&
12
+ $r$$.user_nv!==$condition$$.user_hoa_hong?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=
13
+ $r$$.details_tl.csum("tien_hang_ct")-$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?
14
+ 0:$d$$.tien_hoa_hong_gt).reduce(($a$$,$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=
15
+ 0);$r$$.tien_freeship=$r$$.tien_freeship||0;$r$$.tien_phi_vc=$r$$.tien_phi_vc||0;global.getModel("sokho").find({id_ct:$r$$._id}).lean().then($rs$$=>{$r$$.t_sl_xuat_kho=$rs$$.map($r$$=>$r$$.sl_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$callback$$(null,$r$$)})},function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$condition$$.chi_hien_chua_post_sokho&&($rs$$=$rs$$.filter($r$$=>!$r$$.t_sl_xuat_kho));let $field_group_by$$=$req$$.query.group_by||"_id so_ct ngay_ct ma_ct ma_kho user_ctv user_nv".split(" ");
16
+ underscore.isString($field_group_by$$)&&($field_group_by$$=[$field_group_by$$]);$error$$=[{name:"t_sl_xuat",value:"t_sl_xuat"},{name:"t_sl_xuat_kho",value:"t_sl_xuat_kho"},{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",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",
17
+ 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"},{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",
18
+ 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"},...$thanh_toan$$];$rs$$.groupBy($field_group_by$$,$error$$,async function($error$$,$report$$){if($error$$)return $callback$$($error$$);$report$$=$report$$.sort(($a$$,$b$$)=>{for(let $i$$=0;$i$$<$field_group_by$$.length;$i$$++){let $field$$=$field_group_by$$[$i$$];if($a$$[$field$$]<$b$$[$field$$])return-1;if($a$$[$field$$]>$b$$[$field$$])return 1}return 0});$report$$.forEach(function($r$$,
19
+ $i$$){$r$$.stt=$i$$+1;$r$$.bold=!1;$r$$.t_tien_paymentByPoints=$r$$.tien_paymentByPoints||0;$r$$.t_phai_thu=$r$$.t_tien_hang_ct-($r$$.t_tien_ck||0)+($r$$.t_thue||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0);$r$$.t_doanh_thu=$r$$.t_tien_hang_ct-$r$$.t_tien_ck+$r$$.tien_phi_vc-$r$$.tien_freeship-($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_doanh_thu_thuan=$r$$.t_doanh_thu-
20
+ $r$$.t_tien_tl;$r$$.t_tien_thu=$thanh_toan$$.map($pt$$=>$r$$[$pt$$.name]||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$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});await $report$$.filter($r$$=>$r$$.ma_kho).asyncJoinModel2($req$$.user.current_id_app,"dmkho",{where:"ma_kho",fields:["user_npp","ten_kho"]});await $report$$.filter($r$$=>$r$$.user_nv).asyncJoinModel2($req$$.user.current_id_app,"participant",{where:{user_nv:"email"},fields:[{name_user_nv:"name"}]});
21
+ await $report$$.filter($r$$=>$r$$.user_ctv).asyncJoinModel2($req$$.user.current_id_app,"participant",{where:{user_ctv:"email"},fields:[{name_user_ctv:"name"}]});await $report$$.filter($r$$=>$r$$.user_npp).asyncJoinModel2($req$$.user.current_id_app,"participant",{where:{user_npp:"email"},fields:[{name_user_npp:"name"}]});const $tong_cong$$={[$field_group_by$$[0]]:"T\u1ed5ng c\u1ed9ng",t_sl_xuat:$report$$.csum("t_sl_xuat"),t_sl_xuat_kho:$report$$.csum("t_sl_xuat_kho"),t_sl_nhap:$report$$.csum("t_sl_nhap"),
22
+ t_tien_hang:$report$$.csum("t_tien_hang"),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"),
23
+ t_phai_thu:$report$$.csum("t_phai_thu"),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"),
24
+ t_tien_hoa_hong_ctv:$report$$.csum("t_tien_hoa_hong_ctv"),t_tien_hoa_hong_ql:$report$$.csum("t_tien_hoa_hong_ql"),t_hoa_hong:$report$$.csum("t_hoa_hong"),bold:!0};$thanh_toan$$.forEach($pt$$=>{$pt$$.tong_cong=$tong_cong$$[$pt$$.name]=$report$$.csum($pt$$.name)});$report$$.push($tong_cong$$);$report$$.forEach($r$$=>{$r$$.t_tien_phai_tl=$r$$.t_tien_tl+$r$$.t_tien_thue_tl});$callback$$(null,{data:$report$$,thanh_toan:$thanh_toan$$.filter($t$$=>$t$$.tong_cong)})})})})})};
@@ -0,0 +1,8 @@
1
+ const dmnv=global.getModel("dmnv"),dmnhnv=global.getModel("dmnhnv"),group=global.getModel("group"),phieudanhgia=global.getModel("phieudanhgia"),dmbp=global.getModel("dmbp"),User=global.getModel("user"),dmdoi=global.getModel("dmdoi"),dmto=global.getModel("dmto"),dmdoituongdanhgia=global.getModel("dmdoituongdanhgia"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"ctdanhgianhanvien",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$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function($rs$$){$rs$$.forEach($r$$=>{$r$$.sysorder=0;$r$$.bold=!0});$callback$$(null,$rs$$)})})},doi:$callback$$=>{dmdoi.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(){$rs$$.forEach($r$$=>
4
+ {$r$$.sysorder=1;$r$$.bold=!0;$r$$.ten_nv=$r$$.ten_doi});$callback$$(null,$rs$$)})})},to:$callback$$=>{dmto.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(){$rs$$.forEach($r$$=>{$r$$.sysorder=2;$r$$.bold=!0;$r$$.ten_nv=$r$$.ten_to});$callback$$(null,$rs$$)})})},nhom:$callback$$=>{dmnhnv.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],
5
+ function(){$rs$$.forEach($r$$=>{$r$$.sysorder=3;$r$$.bold=!0;$r$$.ten_nv=$r$$.ten_nh_nv});$callback$$(null,$rs$$)})})},nhanvien:$callback$$=>{dmnv.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2($id_app$$,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(){$rs$$.forEach($r$$=>{$r$$.sysorder=9;$r$$.bold=!1});$callback$$(null,$rs$$)})})},doituongdanhgia:$callback$$=>{dmdoituongdanhgia.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$callback$$($e$$,
6
+ $rs$$)})},phieudanhgias:$callback$$=>{$phieudanhgias$$.joinModel2($id_app$$,dmnv,[{where:{ma_nv:"ma_nv"},fields:[{ten_nv:"ten_nv"},{chuc_vu:"chuc_vu"}]}],function(){$phieudanhgias$$.joinModel2($id_app$$,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(){$phieudanhgias$$.forEach($r$$=>{$r$$.sysorder=9;$r$$.bold=!1});$callback$$(null,$phieudanhgias$$)})})}},($chua_danh_gia_e$$,$rs$$)=>{if($chua_danh_gia_e$$)return $callback$$($chua_danh_gia_e$$);$chua_danh_gia_e$$=$rs$$.nhanvien.filter($n$$=>
7
+ !$rs$$.phieudanhgias.find($p$$=>$p$$.ma_nv==$n$$.ma_nv)).filter($n$$=>$n$$.ma_doi);$rs$$.phieudanhgias=$rs$$.phieudanhgias.concat($chua_danh_gia_e$$);$rs$$.nhom=$rs$$.nhom.filter($n$$=>$rs$$.phieudanhgias.find($p$$=>$p$$.ma_nh_nv==$n$$.ma_nh_nv&&$p$$.ma_to==$n$$.ma_to&&$p$$.ma_doi==$n$$.ma_doi));$rs$$.to=$rs$$.to.filter($n$$=>$rs$$.phieudanhgias.find($p$$=>$p$$.ma_to==$n$$.ma_to&&$p$$.ma_doi==$n$$.ma_doi));$rs$$.doi=$rs$$.doi.filter($n$$=>$rs$$.phieudanhgias.find($p$$=>$p$$.ma_doi==$n$$.ma_doi));
8
+ $rs$$.report=$rs$$.doi.concat($rs$$.to).concat($rs$$.nhom).concat($rs$$.phieudanhgias);$rs$$.report=underscore.sortBy($rs$$.report,$r$$=>($r$$.ma_doi||"")+($r$$.ma_to||"")+($r$$.ma_nh_nv||""));$callback$$(null,$rs$$)})})})};
@@ -0,0 +1,4 @@
1
+ const sokho=global.getModel("sokho"),dmvt=global.getModel("dmvt"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"cthangbanbitralai",function($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,nxt:1,ma_ct:{$in:["HD3","HD7"]}};$query_req$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query_req$$.ma_dvcs=
3
+ {$regex:$condition$$.ma_dvcs,$options:"i"});$condition$$.ma_vt&&($query_req$$.ma_vt=$condition$$.ma_vt);$condition$$.ma_kho&&($query_req$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_kh&&($query_req$$.ma_kh=$condition$$.ma_kh);sokho.find($query_req$$).lean().exec(function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$rs$$.joinModel($condition$$.id_app,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"}]}],function($report_rs$$){$report_rs$$.forEach(function($r$$){$r$$.doanh_thu=
4
+ $r$$.tien-$r$$.tien_ck;$r$$.lai=$r$$.doanh_thu-$r$$.tien_xuat;$r$$.bold=!1});$report_rs$$=underscore.sortBy($report_rs$$,function($r$$){return $r$$.ngay_ct.toString()+$r$$.so_ct+$r$$.ma_vt});$report_rs$$.push({ten_vt:"T\u1ed5ng c\u1ed9ng",sl_xuat:$report_rs$$.csum("sl_xuat"),tien_xuat:$report_rs$$.csum("tien_xuat"),tien:$report_rs$$.csum("tien"),tien_ck:$report_rs$$.csum("tien_ck"),doanh_thu:$report_rs$$.csum("doanh_thu"),lai:$report_rs$$.csum("lai"),bold:!0});$callback$$(null,$report_rs$$)})})})};
@@ -0,0 +1,7 @@
1
+ const sokho=global.getModel("sokho"),dmvt=global.getModel("dmvt"),customer=global.getModel("customer"),group=global.getModel("group"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),dmbp=global.getModel("dmbp"),dmhd=global.getModel("contract"),dmnv=global.getModel("dmnv"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
+ module.exports=function($router$$){new controller($router$$,"ctmuahang",function($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,ma_ct:{$in:["PN1","PN9"]}};$query_req$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query_req$$.ma_dvcs=$condition$$.ma_dvcs);
3
+ $condition$$.ma_vt&&($query_req$$.ma_vt=$condition$$.ma_vt.toUpperCase());$condition$$.ma_kho&&($query_req$$.ma_kho=$condition$$.ma_kho.toUpperCase());$condition$$.ma_kh&&($query_req$$.ma_kh=$condition$$.ma_kh);sokho.find($query_req$$).lean().exec(function($error$$,$rs$$){if($error$$)return $callback$$($error$$);(new Promise(($resolve$$,$reject$$)=>{async.series({ten_vt:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,dmvt,{where:"ma_vt",fields:["ten_vt","ma_nvt","ma_lvt"]},()=>{$callback$$()})},
4
+ ten_kho:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,dmkho,{where:"ma_kho",fields:"ten_kho"},()=>{$callback$$()})},ten_kh:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,customer,{where:"ma_kh",fields:["ten_kh","nh_kh"]},()=>{$callback$$()})},dmdt:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,dmdt,{where:"ma_dt",fields:"ten_dt"},()=>{$callback$$()})},dmhd:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,dmhd,{where:{ma_hd:"so_hd"},fields:"ten_hd"},()=>{$callback$$()})},dmbp:$callback$$=>
5
+ {$rs$$.joinModel2($condition$$.id_app,dmbp,{where:"ma_bp",fields:"ten_bp"},()=>{$callback$$()})},dmphi:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,dmphi,{where:"ma_phi",fields:"ten_phi"},()=>{$callback$$()})},dmnv:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,dmnv,{where:"ma_nv",fields:"ten_nv"},()=>{$callback$$()})}},($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resolve$$($rs$$)})})).then(()=>new Promise(($resolve$$,$reject$$)=>{async.series({nh_vt:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,
6
+ dmnvt,{where:{ma_nvt:"_id"},fields:"ten_nvt"},()=>{$callback$$()})},nh_kh:$callback$$=>{$rs$$.joinModel2($condition$$.id_app,group,{where:{nh_kh:"_id"},fields:[{ten_nh_kh:"group_name"}]},()=>{$callback$$()})}},($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resolve$$($rs$$)})})).then(()=>{$rs$$.forEach(function($r$$){$r$$.bold=!1});var $report$$=underscore.sortBy($rs$$,function($r$$){return moment($r$$.ngay_ct).format("YYYY-MM-DD")+$r$$.so_ct+$r$$.ma_vt});$report$$.push({ten_vt:"T\u1ed5ng c\u1ed9ng",
7
+ sl_nhap:$report$$.csum("sl_nhap"),tien_hang:$report$$.csum("tien_hang"),tien_phi:$report$$.csum("tien_phi"),tien_ck:$report$$.csum("tien_ck"),tien_nhap:$report$$.csum("tien_nhap"),tien_hang_nt:$report$$.csum("tien_hang_nt"),tien_phi_nt:$report$$.csum("tien_phi_nt"),tien_ck_nt:$report$$.csum("tien_ck_nt"),tien_nhap_nt:$report$$.csum("tien_nhap_nt"),bold:!0});$callback$$(null,$report$$)}).catch($e$$=>{$callback$$($e$$)})})})};
@@ -0,0 +1,4 @@
1
+ const sokho=global.getModel("sokho"),dmvt=global.getModel("dmvt"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"cttralaihang",function($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,ma_ct:{$in:["PN5"]}};$query_req$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query_req$$.ma_dvcs={$regex:$condition$$.ma_dvcs,
3
+ $options:"i"});$condition$$.ma_vt&&($query_req$$.ma_vt=$condition$$.ma_vt);$condition$$.ma_kho&&($query_req$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_kh&&($query_req$$.ma_kh=$condition$$.ma_kh);sokho.find($query_req$$).lean().exec(function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$rs$$.joinModel($condition$$.id_app,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"}]}],function($report_rs$$){$report_rs$$.forEach(function($r$$){$r$$.bold=!1});$report_rs$$=underscore.sortBy($report_rs$$,
4
+ function($r$$){return $r$$.ngay_ct.toString()+$r$$.so_ct+$r$$.ma_vt});$report_rs$$.push({ten_vt:"T\u1ed5ng c\u1ed9ng",sl_xuat:$report_rs$$.csum("sl_xuat"),tien_hang:$report_rs$$.csum("tien_hang"),tien_ck:$report_rs$$.csum("tien_ck"),tien_xuat:$report_rs$$.csum("tien_xuat"),bold:!0});$callback$$(null,$report_rs$$)})})})};
@@ -0,0 +1,10 @@
1
+ const databanle=require("../../libs/databanle"),async=require("async"),controller=require("../../controllers/controllerRPT"),underscore=require("underscore");
2
+ module.exports=function($router$$){new controller($router$$,"databanle",async function($condition_req$$,$callback$$){$condition_req$$=$condition_req$$.query;if(!$condition_req$$.tu_ngay||!$condition_req$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1:tu_ngay,den_ngay");const $query$$={id_app:$condition_req$$.id_app};$query$$.ngay_ct={$gte:$condition_req$$.tu_ngay,$lte:$condition_req$$.den_ngay};$condition_req$$.ma_dvcs&&($query$$.ma_dvcs=$condition_req$$.ma_dvcs);
3
+ $condition_req$$.ma_kho&&($query$$.ma_kho=$condition_req$$.ma_kho);if($condition_req$$.ma_kh)$query$$.ma_kh=$condition_req$$.ma_kh;else{var $condition_kh_custs$$={};if($condition_req$$.nh_kh){var $nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition_req$$.id_app,$condition_req$$.nh_kh,{status:!0});$condition_kh_custs$$.nh_kh={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$}}$condition_req$$.nh_kh2&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition_req$$.id_app,
4
+ $condition_req$$.nh_kh2,{status:!0}),$condition_kh_custs$$.nh_kh2={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition_req$$.nh_kh3&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition_req$$.id_app,$condition_req$$.nh_kh3,{status:!0}),$condition_kh_custs$$.nh_kh3={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition_req$$.nh_kh4&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition_req$$.id_app,
5
+ $condition_req$$.nh_kh4,{status:!0}),$condition_kh_custs$$.nh_kh4={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition_req$$.nh_kh5&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition_req$$.id_app,$condition_req$$.nh_kh5,{status:!0}),$condition_kh_custs$$.nh_kh5={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});Object.keys($condition_kh_custs$$).length>0&&($condition_kh_custs$$.id_app=$condition_req$$.id_app,$condition_kh_custs$$=await global.getModel("customer").find($condition_kh_custs$$,
6
+ {ma_kh:1}).lean(),$query$$.ma_kh={$in:$condition_kh_custs$$.map($c$$=>$c$$.ma_kh)})}$condition_req$$.ma_ct&&($query$$.ma_ct=$condition_req$$.ma_ct);databanle($query$$,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_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");
7
+ $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=$r$$.details.csum("tien_hoa_hong");$r$$.t_tien_hoa_hong_gt=$r$$.details.csum("tien_hoa_hong_gt");$r$$.t_tien_hoa_hong_ctv=$r$$.details.csum("tien_hoa_hong_ctv");$r$$.t_tien_hoa_hong_ql=$r$$.details.csum("tien_hoa_hong_ql");$r$$.details_tl?($r$$.t_tien_tl=$r$$.details_tl.csum("tien_hang_ct")-$r$$.details_tl.csum("tien_ck"),
8
+ $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.csum("tien_hoa_hong"),$r$$.t_tien_hoa_hong_gt-=$r$$.details_tl.csum("tien_hoa_hong_gt"),$r$$.t_tien_hoa_hong_ctv-=$r$$.details_tl.csum("tien_hoa_hong_ctv"),$r$$.t_tien_hoa_hong_ql-=$r$$.details_tl.csum("tien_hoa_hong_ql")):($r$$.t_tien_tl=0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0);$callback$$(null,$r$$)},function($error$$,
9
+ $rs$$){if($error$$)return $callback$$($error$$);$error$$=underscore.sortBy($rs$$,function($r$$){return $r$$.ngay_ct});$error$$.forEach(function($r$$){$r$$.t_phai_thu=$r$$.t_tien_hang_ct-($r$$.t_tien_ck||0)+($r$$.t_thue||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0);$r$$.t_doanh_thu=$r$$.t_tien_hang_ct-$r$$.t_tien_ck-($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_doanh_thu_thuan=
10
+ $r$$.t_doanh_thu-$r$$.t_tien_tl;$r$$.t_tien_thu=($r$$.tien_thu||0)+($r$$.tien_thu2||0);$r$$.t_tien_phai_tl=$r$$.t_tien_tl+$r$$.t_tien_thue_tl});$callback$$(null,$error$$)})})})};
@@ -0,0 +1,2 @@
1
+ const sodiemthuong=global.getModel("sodiemthuong"),customer=global.getModel("customer"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"diemthuong",async($balance_req$$,$callback$$)=>{let $cust$$=await customer.findOne({id_app:$balance_req$$.query.id_app,of_user:$balance_req$$.user.email});if(!$cust$$)return $callback$$(null,{diem_thuong:0,ma_kh:null});$balance_req$$=await sodiemthuong.getBalance($balance_req$$.query.id_app,$cust$$.ma_kh);$callback$$(null,{diem_thuong:$balance_req$$,ma_kh:$cust$$.ma_kh})})};
@@ -0,0 +1,3 @@
1
+ const bgcustaccs=require("../../libs/dkcn"),Account=global.getModel("account"),Customer=global.getModel("customer"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"dkcn",function($req$$,$callback$$){const $condition$$=$req$$.query;bgcustaccs($condition$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.tk});async.series([function($callback$$){$report$$.joinModel($condition$$.id_app,Account,[{akey:"tk",bkey:"tk",fields:[{name:"ten_tk",value:"ten_tk"}]}],function($results$$){$callback$$(null,$results$$)})},function($callback$$){$report$$.joinModel($condition$$.id_app,
3
+ Customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function($results$$){$callback$$(null,$results$$)})}],function($error$$){if($error$$)return $callback$$($error$$);$callback$$(null,$report$$)})})})};
@@ -0,0 +1,2 @@
1
+ const bgaccs=require("../../libs/dktk"),Account=global.getModel("account"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"dktk",function($bu_tru_req$$,$callback$$){const $condition$$=$bu_tru_req$$.query;($bu_tru_req$$=$condition$$.bu_tru)||($bu_tru_req$$=!1);$condition$$.ngay||($condition$$.ngay=new Date);bgaccs($condition$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);$report$$.joinModel($condition$$.id_app,Account,[{akey:"tk",bkey:"tk",fields:[{name:"ten_tk",value:"ten_tk"}]}],function($results$$){$callback$$(null,$results$$)})})})};
@@ -0,0 +1,9 @@
1
+ const dmnv=global.getModel("dmnv"),dmnhnv=global.getModel("dmnhnv"),group=global.getModel("group"),phieudanhgia=global.getModel("phieudanhgia"),dmbp=global.getModel("dmbp"),User=global.getModel("user"),dmdoi=global.getModel("dmdoi"),dmto=global.getModel("dmto"),dmdoituongdanhgia=global.getModel("dmdoituongdanhgia"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"dsnhanviencm",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$$,$phieudanhgias$$)=>
3
+ {if($e$$)return $callback$$($e$$);async.series({bophan:$callback$$=>{dmbp.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function($rs$$){$rs$$.forEach($r$$=>{$r$$.sysorder=0;$r$$.bold=!0});$callback$$(null,$rs$$)})})},doi:$callback$$=>{dmdoi.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(){$rs$$.forEach($r$$=>
4
+ {$r$$.sysorder=1;$r$$.bold=!0;$r$$.ten_nv=$r$$.ten_doi});$callback$$(null,$rs$$)})})},to:$callback$$=>{dmto.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(){$rs$$.forEach($r$$=>{$r$$.sysorder=2;$r$$.bold=!0;$r$$.ten_nv=$r$$.ten_to});$callback$$(null,$rs$$)})})},nhom:$callback$$=>{dmnhnv.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],
5
+ function(){$rs$$.forEach($r$$=>{$r$$.sysorder=3;$r$$.bold=!0;$r$$.ten_nv=$r$$.ten_nh_nv});$callback$$(null,$rs$$)})})},nhanvien:$callback$$=>{dmnv.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2($id_app$$,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(){$rs$$.forEach($r$$=>{$r$$.sysorder=9;$r$$.bold=!1});$callback$$(null,$rs$$)})})},doituongdanhgia:$callback$$=>{dmdoituongdanhgia.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$callback$$($e$$,
6
+ $rs$$)})},phieudanhgias:$callback$$=>{$phieudanhgias$$.joinModel2($id_app$$,dmnv,[{where:{ma_nv:"ma_nv"},fields:[{ten_nv:"ten_nv"},{chuc_vu:"chuc_vu"}]}],function(){$phieudanhgias$$.joinModel2($id_app$$,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(){$phieudanhgias$$.forEach($r$$=>{$r$$.sysorder=9;$r$$.bold=!1});$callback$$(null,$phieudanhgias$$)})})}},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$rs$$.phieudanhgias.forEach($p$$=>{let $cap_danh_gia_truc_tiep$$=$rs$$.doituongdanhgia.filter($d$$=>
7
+ $d$$.cap_danh_gia>1&&$d$$.cap_danh_gia<5);$cap_danh_gia_truc_tiep$$=underscore.sortBy($cap_danh_gia_truc_tiep$$,$c$$=>$c$$.cap_danh_gia);$p$$.ket_qua_diem=0;$p$$.ket_qua_xep_loai="";for(let $i$$=$cap_danh_gia_truc_tiep$$.length-1;$i$$>=0;$i$$--)if($p$$.exfields&&$p$$.exfields[$cap_danh_gia_truc_tiep$$[$i$$]._id+":tong_so_diem"]){$p$$.ket_qua_diem=$p$$.exfields[$cap_danh_gia_truc_tiep$$[$i$$]._id+":tong_so_diem"];$p$$.ket_qua_xep_loai=$p$$.exfields[$cap_danh_gia_truc_tiep$$[$i$$]._id+":xep_loai"];
8
+ break}});$rs$$.phieudanhgias=$rs$$.phieudanhgias.filter($p$$=>$p$$.ket_qua_xep_loai==="CM");$rs$$.nhom=$rs$$.nhom.filter($n$$=>$rs$$.phieudanhgias.find($p$$=>$p$$.ma_nh_nv==$n$$.ma_nh_nv&&$p$$.ma_to==$n$$.ma_to&&$p$$.ma_doi==$n$$.ma_doi));$rs$$.to=$rs$$.to.filter($n$$=>$rs$$.phieudanhgias.find($p$$=>$p$$.ma_to==$n$$.ma_to&&$p$$.ma_doi==$n$$.ma_doi));$rs$$.doi=$rs$$.doi.filter($n$$=>$rs$$.phieudanhgias.find($p$$=>$p$$.ma_doi==$n$$.ma_doi));$rs$$.report=$rs$$.doi.concat($rs$$.to).concat($rs$$.nhom).concat($rs$$.phieudanhgias);
9
+ $rs$$.report=underscore.sortBy($rs$$.report,$r$$=>($r$$.ma_doi||"")+($r$$.ma_to||"")+($r$$.ma_nh_nv||""));$callback$$(null,$rs$$)})})})};
@@ -0,0 +1,9 @@
1
+ const dmnv=global.getModel("dmnv"),dmnhnv=global.getModel("dmnhnv"),group=global.getModel("group"),phieudanhgia=global.getModel("phieudanhgia"),dmbp=global.getModel("dmbp"),User=global.getModel("user"),dmdoi=global.getModel("dmdoi"),dmto=global.getModel("dmto"),dmdoituongdanhgia=global.getModel("dmdoituongdanhgia"),underscore=require("underscore"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"dsnhanvientb",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$$,$phieudanhgias$$)=>
3
+ {if($e$$)return $callback$$($e$$);async.series({bophan:$callback$$=>{dmbp.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function($rs$$){$rs$$.forEach($r$$=>{$r$$.sysorder=0;$r$$.bold=!0});$callback$$(null,$rs$$)})})},doi:$callback$$=>{dmdoi.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(){$rs$$.forEach($r$$=>
4
+ {$r$$.sysorder=1;$r$$.bold=!0;$r$$.ten_nv=$r$$.ten_doi});$callback$$(null,$rs$$)})})},to:$callback$$=>{dmto.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],function(){$rs$$.forEach($r$$=>{$r$$.sysorder=2;$r$$.bold=!0;$r$$.ten_nv=$r$$.ten_to});$callback$$(null,$rs$$)})})},nhom:$callback$$=>{dmnhnv.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2(null,User,[{where:{phu_trach:"email"},fields:[{ten_phu_trach:"name"}]}],
5
+ function(){$rs$$.forEach($r$$=>{$r$$.sysorder=3;$r$$.bold=!0;$r$$.ten_nv=$r$$.ten_nh_nv});$callback$$(null,$rs$$)})})},nhanvien:$callback$$=>{dmnv.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$rs$$.joinModel2($id_app$$,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(){$rs$$.forEach($r$$=>{$r$$.sysorder=9;$r$$.bold=!1});$callback$$(null,$rs$$)})})},doituongdanhgia:$callback$$=>{dmdoituongdanhgia.find({id_app:$id_app$$}).lean().exec(($e$$,$rs$$)=>{$callback$$($e$$,
6
+ $rs$$)})},phieudanhgias:$callback$$=>{$phieudanhgias$$.joinModel2($id_app$$,dmnv,[{where:{ma_nv:"ma_nv"},fields:[{ten_nv:"ten_nv"},{chuc_vu:"chuc_vu"}]}],function(){$phieudanhgias$$.joinModel2($id_app$$,group,[{where:{chuc_vu:"_id"},fields:[{ten_chuc_vu:"group_name"}]}],function(){$phieudanhgias$$.forEach($r$$=>{$r$$.sysorder=9;$r$$.bold=!1});$callback$$(null,$phieudanhgias$$)})})}},($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$rs$$.phieudanhgias.forEach($p$$=>{let $cap_danh_gia_truc_tiep$$=underscore.sortBy($rs$$.doituongdanhgia.filter($d$$=>
7
+ $d$$.cap_danh_gia>1&&$d$$.cap_danh_gia<5),$d$$=>$d$$.cap_danh_gia);$p$$.ket_qua_diem=0;$p$$.ket_qua_xep_loai="";for(let $i$$=$cap_danh_gia_truc_tiep$$.length-1;$i$$>=0;$i$$--)if($p$$.exfields&&$p$$.exfields[$cap_danh_gia_truc_tiep$$[$i$$]._id+":tong_so_diem"]){$p$$.ket_qua_diem=$p$$.exfields[$cap_danh_gia_truc_tiep$$[$i$$]._id+":tong_so_diem"];$p$$.ket_qua_xep_loai=$p$$.exfields[$cap_danh_gia_truc_tiep$$[$i$$]._id+":xep_loai"];break}});$rs$$.phieudanhgias=$rs$$.phieudanhgias.filter($p$$=>$p$$.ket_qua_xep_loai===
8
+ "TB");$rs$$.nhom=$rs$$.nhom.filter($n$$=>$rs$$.phieudanhgias.find($p$$=>$p$$.ma_nh_nv==$n$$.ma_nh_nv&&$p$$.ma_to==$n$$.ma_to&&$p$$.ma_doi==$n$$.ma_doi));$rs$$.to=$rs$$.to.filter($n$$=>$rs$$.phieudanhgias.find($p$$=>$p$$.ma_to==$n$$.ma_to&&$p$$.ma_doi==$n$$.ma_doi));$rs$$.doi=$rs$$.doi.filter($n$$=>$rs$$.phieudanhgias.find($p$$=>$p$$.ma_doi==$n$$.ma_doi));$rs$$.report=$rs$$.doi.concat($rs$$.to).concat($rs$$.nhom).concat($rs$$.phieudanhgias);$rs$$.report=underscore.sortBy($rs$$.report,$r$$=>($r$$.ma_doi||
9
+ "")+($r$$.ma_to||"")+($r$$.ma_nh_nv||""));$callback$$(null,$rs$$)})})})};
@@ -0,0 +1,12 @@
1
+ const dtbanletheosp=require("../../libs/dtbanletheosp"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"dtbanlekempk",async function($req$$,$callback$$){const $condition$$=$req$$.query;try{$condition$$.den_ngay=$condition$$.den_gio||$condition$$.den_ngay;$condition$$.tu_ngay=$condition$$.tu_gio||$condition$$.tu_ngay;const $data$$=await dtbanletheosp($condition$$);await $data$$.asyncJoinModel2($condition$$.id_app,"dmvt",{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]});await $data$$.filter($r$$=>$r$$.ma_kh).asyncJoinModel2($condition$$.id_app,
3
+ "customer",{where:{ma_kh:"ma_kh"},fields:["nh_kh"]});let $group_by$$=$req$$.query.group_by,$report$$;$group_by$$?(typeof $group_by$$=="string"&&($group_by$$=[$group_by$$]),$report$$=await $data$$.asyncGroupBy($group_by$$,"sl_xuat sl_nhap sl_xuat_qd sl_nhap_qd sl_xuat_qd_bc sl_nhap_qd_bc tien_hang_nt tien_hang_ct_nt tien_hang tien_hang_ct tien_cp tien_cp_nt tien_ck_nt tien_ck tien_thue tien_thue_nt tien tien_nt tt tt_nt tien_xuat_tmp tien_xuat tien_nhap loi_nhuan_tmp loi_nhuan tien_hoa_hong tien_hoa_hong_gt tien_hoa_hong_ctv tien_hoa_hong_ql t_hoa_hong sl_vt_du gt_vt_du".split(" "))):
4
+ $report$$=$data$$;$group_by$$&&$condition$$.show_detail&&($report$$.forEach($r$$=>{$r$$.bold=!0;$r$$.sysorder=3}),$report$$=$report$$.concat($data$$));await $report$$.filter($r$$=>$r$$.ma_vt).asyncJoinModel2($condition$$.id_app,"dmvt",{where:"ma_vt",fields:"ten_vt ma_nvt ma_nvt2 ma_nvt3 ma_nvt4 kl_nl".split(" ")});await $report$$.filter($r$$=>$r$$.ma_nvt).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt:"_id"},fields:["ten_nvt"]});await $report$$.filter($r$$=>$r$$.ma_nvt2).asyncJoinModel2($condition$$.id_app,
5
+ "dmnvt",{where:{ma_nvt2:"_id"},fields:[{ten_nvt2:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_nvt3).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt3:"_id"},fields:[{ten_nvt3:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_nvt4).asyncJoinModel2($condition$$.id_app,"dmnvt",{where:{ma_nvt4:"_id"},fields:[{ten_nvt4:"ten_nvt"}]});await $report$$.filter($r$$=>$r$$.ma_kh).asyncJoinModel2($condition$$.id_app,"customer",{where:{ma_kh:"ma_kh"},fields:["ten_kh","nh_kh","dia_chi","dien_thoai"]});
6
+ await $report$$.filter($r$$=>$r$$.nh_kh).asyncJoinModel2($condition$$.id_app,"group",{where:{nh_kh:"_id"},fields:[{ten_nh_kh:"group_name"}]});await $report$$.filter($r$$=>$r$$.ma_bp).asyncJoinModel2($condition$$.id_app,"dmbp",{where:{ma_bp:"ma_bp"},fields:[{ten_bp:"ten_bp"}]});await $report$$.filter($r$$=>$r$$.ma_vt_du).asyncJoinModel2($condition$$.id_app,"dmvt",{where:{ma_vt_du:"ma_vt"},fields:[{ten_vt_du:"ten_vt"}]});await $report$$.filter($r$$=>$r$$.user_nv_giao_hang).asyncJoinModel2(null,"user",
7
+ {where:{user_nv_giao_hang:"email"},fields:[{ten_nv_giao_hang:"name"}]});$req$$.query.group_by&&$condition$$.show_detail&&($report$$=$report$$.sort(($a$$,$b$$)=>{var $date2Diff_dateDiff_groupByDiff_sysorderDiff$$=$a$$[$req$$.query.group_by].localeCompare($b$$[$req$$.query.group_by]);if($date2Diff_dateDiff_groupByDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_groupByDiff_sysorderDiff$$;$date2Diff_dateDiff_groupByDiff_sysorderDiff$$=$a$$.sysorder-$b$$.sysorder;if($date2Diff_dateDiff_groupByDiff_sysorderDiff$$!==
8
+ 0)return $date2Diff_dateDiff_groupByDiff_sysorderDiff$$;$date2Diff_dateDiff_groupByDiff_sysorderDiff$$=new Date($a$$.ngay_ct)-new Date($b$$.ngay_ct);if($date2Diff_dateDiff_groupByDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_groupByDiff_sysorderDiff$$;$date2Diff_dateDiff_groupByDiff_sysorderDiff$$=new Date($a$$.date_created)-new Date($b$$.date_created);if($date2Diff_dateDiff_groupByDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_groupByDiff_sysorderDiff$$;$a$$=$a$$.so_ct.localeCompare($b$$.so_ct);
9
+ return $a$$!==0?$a$$:0}));const $tong_cong$$={[$group_by$$?$group_by$$[0]:"ten_vt"]:"T\u1ed5ng c\u1ed9ng",sl_xuat:$report$$.csum("sl_xuat",{sysorder:5}),sl_nhap:$report$$.csum("sl_nhap",{sysorder:5}),sl_xuat_qd:$report$$.csum("sl_xuat_qd",{sysorder:5}),sl_nhap_qd:$report$$.csum("sl_nhap_qd",{sysorder:5}),sl_xuat_qd_bc:$report$$.csum("sl_xuat_qb_bc",{sysorder:5}),sl_nhap_qd_bc:$report$$.csum("sl_nhap_qd_bc",{sysorder:5}),tien_hang_nt:$report$$.csum("tien_hang_nt",{sysorder:5}),tien_hang_ct_nt:$report$$.csum("tien_hang_ct_nt",
10
+ {sysorder:5}),tien_hang:$report$$.csum("tien_hang",{sysorder:5}),tien_hang_ct:$report$$.csum("tien_hang_ct",{sysorder:5}),tien_cp:$report$$.csum("tien_cp",{sysorder:5}),tien_cp_nt:$report$$.csum("tien_cp_nt",{sysorder:5}),tien_ck_nt:$report$$.csum("tien_ck_nt",{sysorder:5}),tien_ck:$report$$.csum("tien_ck",{sysorder:5}),tien_thue:$report$$.csum("tien_thue",{sysorder:5}),tien_thue_nt:$report$$.csum("tien_thue_nt",{sysorder:5}),tien:$report$$.csum("tien",{sysorder:5}),tien_nt:$report$$.csum("tien_nt",
11
+ {sysorder:5}),tt:$report$$.csum("tt",{sysorder:5}),tt_nt:$report$$.csum("tt_nt",{sysorder:5}),tien_xuat_tmp:$report$$.csum("tien_xuat_tmp",{sysorder:5}),tien_xuat:$report$$.csum("tien_xuat",{sysorder:5}),tien_nhap:$report$$.csum("tien_nhap",{sysorder:5}),loi_nhuan_tmp:$report$$.csum("loi_nhuan_tmp",{sysorder:5}),loi_nhuan:$report$$.csum("loi_nhuan",{sysorder:5}),tien_hoa_hong:$report$$.csum("tien_hoa_hong",{sysorder:5}),tien_hoa_hong_gt:$report$$.csum("tien_hoa_hong_gt",{sysorder:5}),tien_hoa_hong_ctv:$report$$.csum("tien_hoa_hong_ctv",
12
+ {sysorder:5}),tien_hoa_hong_ql:$report$$.csum("tien_hoa_hong_ql",{sysorder:5}),t_hoa_hong:$report$$.csum("t_hoa_hong",{sysorder:5}),sl_vt_du:$report$$.csum("sl_vt_du",{sysorder:5}),gt_vt_du:$report$$.csum("gt_vt_du",{sysorder:5}),sysorder:9,bold:!0};$report$$.push($tong_cong$$);$callback$$(null,$report$$)}catch($e$$){$callback$$($e$$)}})};
@@ -0,0 +1,22 @@
1
+ const databanle=require("../../libs/databanle"),_=require("lodash"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"dtbanletheoct",async function($req$$,$callback$$){const $condition$$=$req$$.query;$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&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$condition$$.so_ct&&($query$$.so_ct=
3
+ $condition$$.so_ct);$condition$$.id_cs_ck_hd&&($query$$.id_cs_ck_hd=$condition$$.id_cs_ck_hd);$condition$$.ma_kho&&($query$$.$or=[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]);if($condition$$.ma_kh)$query$$.ma_kh=$condition$$.ma_kh;else{var $activeFields_custs_hhOr_noMap_recordIds_uHH$$=["nh_kh","nh_kh2","nh_kh3","nh_kh4","nh_kh5"].filter($f$$=>$condition$$[$f$$]);if($activeFields_custs_hhOr_noMap_recordIds_uHH$$.length>0){const $groupModel$$=global.getModel("group"),$nhResults$$=
4
+ await Promise.all($activeFields_custs_hhOr_noMap_recordIds_uHH$$.map($f$$=>$groupModel$$.getAllChildrenGroup($condition$$.id_app,$condition$$[$f$$],{status:!0}))),$condition_kh$$={id_app:$condition$$.id_app};$activeFields_custs_hhOr_noMap_recordIds_uHH$$.forEach(($f$$,$i$$)=>{$condition_kh$$[$f$$]={$in:$nhResults$$[$i$$]}});$activeFields_custs_hhOr_noMap_recordIds_uHH$$=await global.getModel("customer").find($condition_kh$$,{ma_kh:1}).lean();$query$$.ma_kh={$in:$activeFields_custs_hhOr_noMap_recordIds_uHH$$.map($c$$=>
5
+ $c$$.ma_kh)}}}$condition$$.user_hoa_hong&&($activeFields_custs_hhOr_noMap_recordIds_uHH$$=$condition$$.user_hoa_hong,$activeFields_custs_hhOr_noMap_recordIds_uHH$$=[{user_nv:$activeFields_custs_hhOr_noMap_recordIds_uHH$$},{user_ctv:$activeFields_custs_hhOr_noMap_recordIds_uHH$$},{user_ctv2:$activeFields_custs_hhOr_noMap_recordIds_uHH$$},{user_kho:$activeFields_custs_hhOr_noMap_recordIds_uHH$$},{user_gt:$activeFields_custs_hhOr_noMap_recordIds_uHH$$},{user_ql:$activeFields_custs_hhOr_noMap_recordIds_uHH$$},
6
+ {"details.user_nv":$activeFields_custs_hhOr_noMap_recordIds_uHH$$},{"details.user_ctv":$activeFields_custs_hhOr_noMap_recordIds_uHH$$},{"details.user_ctv2":$activeFields_custs_hhOr_noMap_recordIds_uHH$$},{"details.user_kho":$activeFields_custs_hhOr_noMap_recordIds_uHH$$},{"details.user_gt":$activeFields_custs_hhOr_noMap_recordIds_uHH$$},{"details.user_ql":$activeFields_custs_hhOr_noMap_recordIds_uHH$$}],$query$$.$or?$query$$.$and=[{$or:$activeFields_custs_hhOr_noMap_recordIds_uHH$$}]:$query$$.$or=
7
+ $activeFields_custs_hhOr_noMap_recordIds_uHH$$);const [$rs$$,$ptthanhtoans$$]=await new Promise(($resolve$$,$reject$$)=>{databanle($query$$,($err$$,$rs$$,$pt$$)=>$err$$?$reject$$($err$$):$resolve$$([$rs$$,$pt$$||[]]))}),$thanh_toan$$=$ptthanhtoans$$.map($pt$$=>({name:$pt$$.ma,value:$pt$$.ma,ma:$pt$$.ma,ten:$pt$$.ten}));$activeFields_custs_hhOr_noMap_recordIds_uHH$$=$rs$$.filter($r$$=>$r$$._id).map($r$$=>$r$$._id);const [$allNo$$,$allDaThu$$,$allSokho$$]=await Promise.all([global.getModel("tdttno").find({id_ct:{$in:$activeFields_custs_hhOr_noMap_recordIds_uHH$$}},
8
+ {id_ct:1,tien:1,tien_nt:1}).lean(),global.getModel("tdttno_tt").find({id_hd:{$in:$activeFields_custs_hhOr_noMap_recordIds_uHH$$}},{id_hd:1,tien:1,tien_nt:1}).lean(),global.getModel("sokho").find({id_ct:{$in:$activeFields_custs_hhOr_noMap_recordIds_uHH$$}},{id_ct:1,sl_xuat:1}).lean()]);$activeFields_custs_hhOr_noMap_recordIds_uHH$$=new Map($allNo$$.map($n$$=>[$n$$.id_ct.toString(),$n$$]));const $daThuMap$$=new Map;for(var $d_sokhoMap$$ of $allDaThu$$){var $da_thus_k_k$$=$d_sokhoMap$$.id_hd.toString();
9
+ $daThuMap$$.has($da_thus_k_k$$)||$daThuMap$$.set($da_thus_k_k$$,[]);$daThuMap$$.get($da_thus_k_k$$).push($d_sokhoMap$$)}$d_sokhoMap$$=new Map;for(var $idStr_s_tlTotals$$ of $allSokho$$)$da_thus_k_k$$=$idStr_s_tlTotals$$.id_ct.toString(),$d_sokhoMap$$.set($da_thus_k_k$$,($d_sokhoMap$$.get($da_thus_k_k$$)||0)+($idStr_s_tlTotals$$.sl_xuat||0));const $uHH$$=$condition$$.user_hoa_hong||null;for(const $r$$ of $rs$$){$r$$.t_sl_xuat=$r$$.details.csum("sl_xuat");$r$$.t_tien_hang=$r$$.details.csum("tien_hang");
10
+ $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$$.tien_freeship=$r$$.tien_freeship||0;$r$$.tien_phi_vc=$r$$.tien_phi_vc||0;$r$$.t_tien_hoa_hong=$uHH$$&&$r$$.user_nv!==$uHH$$?0:$r$$.details.csum("tien_hoa_hong");$r$$.t_tien_hoa_hong_gt=$uHH$$&&
11
+ $r$$.user_gt!==$uHH$$?0:$r$$.details.csum("tien_hoa_hong_gt");$r$$.t_tien_hoa_hong_ctv=$uHH$$&&$r$$.user_ctv!==$uHH$$?0:$r$$.details.csum("tien_hoa_hong_ctv");$r$$.t_tien_hoa_hong_ql=$uHH$$&&$r$$.user_ql!==$uHH$$?0:$r$$.details.csum("tien_hoa_hong_ql");$r$$.details_tl?($r$$.t_tien_tl=$r$$.details_tl.csum("tien_hang_ct")-$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"),
12
+ $idStr_s_tlTotals$$=$r$$.details_tl.reduce(($acc$$,$d$$)=>{$uHH$$&&$d$$.user_nv!==$uHH$$||($acc$$.hh+=$d$$.tien_hoa_hong||0);$uHH$$&&$d$$.user_gt!==$uHH$$||($acc$$.hh_gt+=$d$$.tien_hoa_hong_gt||0);$uHH$$&&$d$$.user_ctv!==$uHH$$||($acc$$.hh_ctv+=$d$$.tien_hoa_hong_ctv||0);$uHH$$&&$d$$.user_ql!==$uHH$$||($acc$$.hh_ql+=$d$$.tien_hoa_hong_ql||0);return $acc$$},{hh:0,hh_gt:0,hh_ctv:0,hh_ql:0}),$r$$.t_tien_hoa_hong-=$idStr_s_tlTotals$$.hh,$r$$.t_tien_hoa_hong_gt-=$idStr_s_tlTotals$$.hh_gt,$r$$.t_tien_hoa_hong_ctv-=
13
+ $idStr_s_tlTotals$$.hh_ctv,$r$$.t_tien_hoa_hong_ql-=$idStr_s_tlTotals$$.hh_ql):($r$$.t_tien_tl=0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0);$r$$.t_tien_no=0;$r$$.t_tien_no_nt=0;$r$$.t_tien_da_thu=0;$r$$.t_tien_da_thu_nt=0;if($r$$._id){$idStr_s_tlTotals$$=$r$$._id.toString();if($da_thus_k_k$$=$activeFields_custs_hhOr_noMap_recordIds_uHH$$.get($idStr_s_tlTotals$$))$r$$.t_tien_no=$da_thus_k_k$$.tien,$r$$.t_tien_no_nt=$da_thus_k_k$$.tien_nt,$da_thus_k_k$$=$daThuMap$$.get($idStr_s_tlTotals$$)||[],$r$$.t_tien_da_thu=
14
+ $da_thus_k_k$$.reduce(($s$$,$d$$)=>$s$$+($d$$.tien||0),0),$r$$.t_tien_da_thu_nt=$da_thus_k_k$$.reduce(($s$$,$d$$)=>$s$$+($d$$.tien_nt||0),0);$r$$.t_sl_xuat_kho=$d_sokhoMap$$.get($idStr_s_tlTotals$$)||0}$r$$.t_tien_con_no=$r$$.t_tien_no-$r$$.t_tien_da_thu;$r$$.t_tien_con_no_nt=$r$$.t_tien_no_nt-$r$$.t_tien_da_thu_nt}let $filteredRs$$=$condition$$.chi_hien_chua_post_sokho?$rs$$.filter($r$$=>!$r$$.t_sl_xuat_kho):$rs$$,$field_group_by$$=$req$$.query.group_by||["_id","so_ct","ngay_ct","ma_ct"];_.isString($field_group_by$$)&&
15
+ ($field_group_by$$=[$field_group_by$$]);const $total_fields$$=["t_sl_xuat","t_sl_xuat_kho","t_sl_nhap","t_tien_hang","t_tien_hang_ct","t_tien_cp","tien_freeship","tien_phi_vc","t_tien_ck","t_thue","t_tien","tien_ck_hd","tien_evoucher","tien_thu","tien_thu2","tien_paymentByPoints","t_tien_xuat","t_tien_tl","t_tien_thue_tl","t_tien_nhap","phai_tra","t_tien_hoa_hong","t_tien_hoa_hong_gt","t_tien_hoa_hong_ctv","t_tien_hoa_hong_ql","t_tien_no","t_tien_da_thu","t_tien_con_no",...$thanh_toan$$.map($pt$$=>
16
+ $pt$$.ma)].map($f$$=>typeof $f$$==="string"?{name:$f$$,value:$f$$}:$f$$);let $report$$=await new Promise(($resolve$$,$reject$$)=>{$filteredRs$$.groupBy($field_group_by$$,$total_fields$$,($err$$,$data$$)=>$err$$?$reject$$($err$$):$resolve$$($data$$))});$report$$.sort(($a$$,$b$$)=>{for(const $field$$ of $field_group_by$$){if($a$$[$field$$]<$b$$[$field$$])return-1;if($a$$[$field$$]>$b$$[$field$$])return 1}return 0});$report$$.forEach(($r$$,$i$$)=>{$r$$.stt=$i$$+1;$r$$.bold=!1;$r$$.t_tien_paymentByPoints=
17
+ $r$$.tien_paymentByPoints||0;$r$$.t_phai_thu=$r$$.t_tien_hang_ct-($r$$.t_tien_ck||0)+($r$$.t_thue||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0);$r$$.t_doanh_thu=$r$$.t_tien_hang_ct-($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_tien_thu=
18
+ $thanh_toan$$.reduce(($s$$,$pt$$)=>$s$$+($r$$[$pt$$.name]||0),0);$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_phai_tl=$r$$.t_tien_tl+$r$$.t_tien_thue_tl});const $tong_cong$$={[$field_group_by$$[0]]:"T\u1ed5ng c\u1ed9ng",bold:!0,t_sl_xuat:$report$$.csum("t_sl_xuat"),t_sl_xuat_kho:$report$$.csum("t_sl_xuat_kho"),t_sl_nhap:$report$$.csum("t_sl_nhap"),t_tien_hang:$report$$.csum("t_tien_hang"),t_tien_hang_ct:$report$$.csum("t_tien_hang_ct"),
19
+ 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"),t_doanh_thu:$report$$.csum("t_doanh_thu"),
20
+ 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"),
21
+ t_tien_hoa_hong_ql:$report$$.csum("t_tien_hoa_hong_ql"),t_hoa_hong:$report$$.csum("t_hoa_hong"),t_tien_no:$report$$.csum("t_tien_no"),t_tien_da_thu:$report$$.csum("t_tien_da_thu"),t_tien_con_no:$report$$.csum("t_tien_con_no")};$thanh_toan$$.forEach($pt$$=>{$pt$$.tong_cong=$tong_cong$$[$pt$$.name]=$report$$.csum($pt$$.name)});$report$$.push($tong_cong$$);$report$$.forEach($r$$=>{$r$$.t_tien_phai_tl=($r$$.t_tien_tl||0)+($r$$.t_tien_thue_tl||0)});$callback$$(null,{data:$report$$,thanh_toan:$thanh_toan$$.filter($t$$=>
22
+ $t$$.tong_cong)})})};
@@ -0,0 +1,25 @@
1
+ const databanle=require("../../libs/databanle"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"dtbanletheoctkempk",async function($req$$,$callback$$){const $condition$$=$req$$.query;$condition$$.den_ngay||($condition$$.den_ngay=new Date);const $id_app$$=$condition$$.id_app,$query$$={id_app:$id_app$$};$query$$.ngay_ct={$lte:$condition$$.den_ngay};$condition$$.tu_ngay&&($query$$.ngay_ct.$gte=$condition$$.tu_ngay);$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_nv&&($query$$.ma_nv=$condition$$.ma_nv);$condition$$.ma_kho&&
3
+ ($query$$.$or=[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]);if($condition$$.ma_kh)$query$$.ma_kh=$condition$$.ma_kh;else{var $condition_kh_custs$$={};if($condition$$.nh_kh){var $nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh,{status:!0});$condition_kh_custs$$.nh_kh={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$}}$condition$$.nh_kh2&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,
4
+ $condition$$.nh_kh2,{status:!0}),$condition_kh_custs$$.nh_kh2={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh3&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh3,{status:!0}),$condition_kh_custs$$.nh_kh3={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh4&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh4,
5
+ {status:!0}),$condition_kh_custs$$.nh_kh4={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh5&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh5,{status:!0}),$condition_kh_custs$$.nh_kh5={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});Object.keys($condition_kh_custs$$).length>0&&($condition_kh_custs$$.id_app=$condition$$.id_app,$condition_kh_custs$$=await global.getModel("customer").find($condition_kh_custs$$,
6
+ {ma_kh:1}).lean(),$query$$.ma_kh={$in:$condition_kh_custs$$.map($c$$=>$c$$.ma_kh)})}$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$condition$$.so_ct&&($query$$.so_ct=$condition$$.so_ct);$condition$$.user_hoa_hong&&($query$$.$or?$query$$.$and=[{$or:[{user_nv:$condition$$.user_hoa_hong},{user_ctv:$condition$$.user_hoa_hong},{user_ctv2:$condition$$.user_hoa_hong},{user_kho:$condition$$.user_hoa_hong},{user_gt:$condition$$.user_hoa_hong},{user_ql:$condition$$.user_hoa_hong},{"details.user_nv":$condition$$.user_hoa_hong},
7
+ {"details.user_ctv":$condition$$.user_hoa_hong},{"details.user_ctv2":$condition$$.user_hoa_hong},{"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},{"details.user_ql":$condition$$.user_hoa_hong}]}]:$query$$.$or=[{user_nv:$condition$$.user_hoa_hong},{user_ctv:$condition$$.user_hoa_hong},{user_ctv2:$condition$$.user_hoa_hong},{user_kho:$condition$$.user_hoa_hong},{user_gt:$condition$$.user_hoa_hong},{user_ql:$condition$$.user_hoa_hong},{"details.user_nv":$condition$$.user_hoa_hong},
8
+ {"details.user_ctv":$condition$$.user_hoa_hong},{"details.user_ctv2":$condition$$.user_hoa_hong},{"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},{"details.user_ql":$condition$$.user_hoa_hong}]);$condition$$.id_cs_ck_hd&&($query$$.id_cs_ck_hd=$condition$$.id_cs_ck_hd);databanle($query$$,function($error$$,$rs$$){if($error$$)return $callback$$($error$$);async.map($rs$$,function($r$$,$callback$$){setImmediate(async()=>{$r$$.t_sl_xuat=$r$$.details.csum("sl_xuat");
9
+ $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?0:$r$$.details.csum("tien_hoa_hong");$r$$.t_tien_hoa_hong_gt=
10
+ $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")-$r$$.details_tl.csum("tien_ck"),$r$$.t_tien_thue_tl=
11
+ $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$$,$b$$)=>($a$$||0)+($b$$||0),
12
+ 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||0;$r$$.tien_phi_vc=$r$$.tien_phi_vc||
13
+ 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$$.details||[]).map($d$$=>$d$$.sl_pk_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_tien_tdtt_no=0;$r$$.t_tien_tdtt_no_nt=
14
+ 0;$r$$.t_tien_tdtt_da_thu=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_query_da_tra$$=await global.getModel("tdttno").findOne({id_ct:$r$$._id,ma_kh:$r$$.ma_kh}).lean();$da_thus_no_query_da_tra$$&&($r$$.t_tien_tdtt_no_nt=$da_thus_no_query_da_tra$$.tien_nt,$r$$.t_tien_tdtt_no=$da_thus_no_query_da_tra$$.tien,$da_thus_no_query_da_tra$$={id_app:$id_app$$,id_hd:$r$$._id,ma_kh:$r$$.ma_kh},$condition$$.tt_den_ngay&&($da_thus_no_query_da_tra$$.ngay_ct=
15
+ {$lte:new Date($condition$$.tt_den_ngay)}),$da_thus_no_query_da_tra$$=await global.getModel("tdttno_tt").find($da_thus_no_query_da_tra$$).lean(),$r$$.t_tien_tdtt_da_thu=$da_thus_no_query_da_tra$$.map($d$$=>$d$$.tien).reduce(($a$$,$b$$)=>$a$$+$b$$,0),$r$$.t_tien_tdtt_da_thu_nt=$da_thus_no_query_da_tra$$.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;
16
+ $callback$$(null,$r$$)})},async function($error$$,$i_rs$$){if($error$$)return $callback$$($error$$);let $field_group_by$$=$req$$.query.group_by;underscore.isString($field_group_by$$)&&($field_group_by$$=[$field_group_by$$]);let $report$$;if($field_group_by$$){$error$$=[{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",value:"tien_freeship"},
17
+ {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"},{name:"t_tien_nhap",value:"t_tien_nhap"},
18
+ {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"},{name:"t_tien_tdtt_da_thu",value:"t_tien_tdtt_da_thu"},
19
+ {name:"t_tien_tdtt_con_no",value:"t_tien_tdtt_con_no"}];try{$report$$=await $i_rs$$.asyncGroupBy($field_group_by$$,$error$$)}catch($e$$){return $callback$$($e$$)}$report$$=$report$$.sort(($a$$,$b$$)=>{for(let $i$$=0;$i$$<$field_group_by$$.length;$i$$++){let $field$$=$field_group_by$$[$i$$];if($a$$[$field$$]<$b$$[$field$$])return-1;if($a$$[$field$$]>$b$$[$field$$])return 1}return 0})}else{const $sort_fields$$=["ngay_ct","so_ct"];$report$$=$i_rs$$.sort(($a$$,$b$$)=>{for(let $i$$=0;$i$$<$sort_fields$$.length;$i$$++){let $field$$=
20
+ $sort_fields$$[$i$$];if($a$$[$field$$]<$b$$[$field$$])return-1;if($a$$[$field$$]>$b$$[$field$$])return 1}return 0})}$i_rs$$=0;for(var $r$$ of $report$$)$r$$.stt=$i_rs$$+1,$i_rs$$++,$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-($r$$.t_gt_vt_du||0)-($r$$.t_tien_ck||
21
+ 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;$r$$={[$field_group_by$$?
22
+ $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"),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"),
23
+ 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"),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"),
24
+ 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"),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"),
25
+ 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"),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,17 @@
1
+ const databanle=require("../../libs/databanle"),dmkh=global.getModel("customer"),introducer=global.getModel("introducer"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
+ module.exports=function($router$$){new controller($router$$,"dtbanletheokh",async($activeNhFields_custs_hhOr_req_uHH$$,$callback$$)=>{const $condition$$=$activeNhFields_custs_hhOr_req_uHH$$.query;$condition$$.den_ngay||($condition$$.den_ngay=moment().endOf("date").toDate());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&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_ct&&
3
+ ($query$$.ma_ct=$condition$$.ma_ct);$condition$$.ma_kho&&($query$$.$or=[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]);$activeNhFields_custs_hhOr_req_uHH$$=["nh_kh","nh_kh2","nh_kh3","nh_kh4","nh_kh5"].filter($f$$=>$condition$$[$f$$]);const $hasKhFilter$$=!$condition$$.ma_kh&&($activeNhFields_custs_hhOr_req_uHH$$.length>0||$condition$$.tinh_thanh||$condition$$.quan_huyen||$condition$$.xa_phuong),$hasIntroducer$$=!!$condition$$.be_introduced_by,[$nhResults$$,$introducerUsers$$]=
4
+ await Promise.all([$hasKhFilter$$&&$activeNhFields_custs_hhOr_req_uHH$$.length>0?Promise.all($activeNhFields_custs_hhOr_req_uHH$$.map($f$$=>global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$[$f$$],{status:!0}))):Promise.resolve([]),$hasIntroducer$$?introducer.find({id_app:$condition$$.id_app,be_introduced_by:$condition$$.be_introduced_by},{be_introduced:1}).lean().then($us$$=>$us$$.map($u$$=>$u$$.be_introduced)):Promise.resolve(null)]);if($condition$$.ma_kh)$query$$.ma_kh=
5
+ $condition$$.ma_kh;else if($hasKhFilter$$){const $condition_kh$$={id_app:$condition$$.id_app};$activeNhFields_custs_hhOr_req_uHH$$.forEach(($f$$,$i$$)=>{$condition_kh$$[$f$$]={$in:$nhResults$$[$i$$]}});$condition$$.tinh_thanh&&($condition_kh$$.tinh_thanh=$condition$$.tinh_thanh);$condition$$.quan_huyen&&($condition_kh$$.quan_huyen=$condition$$.quan_huyen);$condition$$.xa_phuong&&($condition_kh$$.xa_phuong=$condition$$.xa_phuong);$activeNhFields_custs_hhOr_req_uHH$$=await global.getModel("customer").find($condition_kh$$,
6
+ {ma_kh:1}).lean();$query$$.ma_kh={$in:$activeNhFields_custs_hhOr_req_uHH$$.map($c$$=>$c$$.ma_kh)}}$introducerUsers$$&&($query$$.user_created={$in:$introducerUsers$$});$condition$$.user_hoa_hong&&($activeNhFields_custs_hhOr_req_uHH$$=$condition$$.user_hoa_hong,$activeNhFields_custs_hhOr_req_uHH$$=[{user_nv:$activeNhFields_custs_hhOr_req_uHH$$},{user_ctv:$activeNhFields_custs_hhOr_req_uHH$$},{user_ctv2:$activeNhFields_custs_hhOr_req_uHH$$},{user_kho:$activeNhFields_custs_hhOr_req_uHH$$},{user_gt:$activeNhFields_custs_hhOr_req_uHH$$},
7
+ {user_ql:$activeNhFields_custs_hhOr_req_uHH$$},{"details.user_nv":$activeNhFields_custs_hhOr_req_uHH$$},{"details.user_ctv":$activeNhFields_custs_hhOr_req_uHH$$},{"details.user_ctv2":$activeNhFields_custs_hhOr_req_uHH$$},{"details.user_kho":$activeNhFields_custs_hhOr_req_uHH$$},{"details.user_gt":$activeNhFields_custs_hhOr_req_uHH$$},{"details.user_ql":$activeNhFields_custs_hhOr_req_uHH$$}],$query$$.$or?$query$$.$and=[{$or:$activeNhFields_custs_hhOr_req_uHH$$}]:$query$$.$or=$activeNhFields_custs_hhOr_req_uHH$$);
8
+ const [$rs$$,$ptthanhtoans$$]=await new Promise(($resolve$$,$reject$$)=>{databanle($query$$,($err$$,$rs$$,$pt$$)=>$err$$?$reject$$($err$$):$resolve$$([$rs$$,$pt$$||[]]))}),$thanh_toan$$=$ptthanhtoans$$.map($pt$$=>({name:$pt$$.ma,value:$pt$$.ma,ma:$pt$$.ma,ten:$pt$$.ten}));for(const $r$$ of $rs$$)$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"),
9
+ $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$$.tien_freeship=$r$$.tien_freeship||0,$r$$.tien_phi_vc=$r$$.tien_phi_vc||0,$r$$.t_tien_hoa_hong=$r$$.details.csum("tien_hoa_hong"),$r$$.t_tien_hoa_hong_gt=$r$$.details.csum("tien_hoa_hong_gt"),$r$$.t_tien_hoa_hong_ctv=$r$$.details.csum("tien_hoa_hong_ctv"),$r$$.t_tien_hoa_hong_ql=$r$$.details.csum("tien_hoa_hong_ql"),$r$$.details_tl?
10
+ ($r$$.t_tien_tl=$r$$.details_tl.csum("tien_hang_ct")-$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.csum("tien_hoa_hong"),$r$$.t_tien_hoa_hong_gt-=$r$$.details_tl.csum("tien_hoa_hong_gt"),$r$$.t_tien_hoa_hong_ctv-=$r$$.details_tl.csum("tien_hoa_hong_ctv"),$r$$.t_tien_hoa_hong_ql-=$r$$.details_tl.csum("tien_hoa_hong_ql")):($r$$.t_tien_tl=
11
+ 0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0),$r$$.t_so_bill=$r$$.ma_ct!=="HD7"?1:0;const $total_fields$$=["t_so_bill","t_sl_xuat","t_tien_hang","t_tien_hang_ct","t_tien_cp","t_tien_ck","t_thue","t_tien","tien_ck_hd","tien_freeship","tien_phi_vc","tien_evoucher","tien_thu","tien_thu2","tien_paymentByPoints","t_tien_xuat","t_sl_nhap","t_tien_tl","t_tien_thue_tl","t_tien_nhap","phai_tra","t_tien_hoa_hong","t_tien_hoa_hong_gt","t_tien_hoa_hong_ctv","t_tien_hoa_hong_ql",...$thanh_toan$$.map($pt$$=>$pt$$.ma)].map($f$$=>
12
+ ({name:$f$$,value:$f$$}));let $report$$=await new Promise(($resolve$$,$reject$$)=>{$rs$$.groupBy("ma_kh",$total_fields$$,($err$$,$data$$)=>$err$$?$reject$$($err$$):$resolve$$($data$$))});$report$$.forEach(($r$$,$i$$)=>{$r$$.stt=$i$$+1;$r$$.bold=!1;$r$$.t_phai_thu=$r$$.t_tien_hang_ct-($r$$.t_tien_ck||0)+($r$$.t_thue||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0);$r$$.t_doanh_thu=$r$$.t_tien_hang_ct-($r$$.t_tien_ck||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||
13
+ 0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0);$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)-($r$$.t_tien_cp||0);$r$$.t_tien_thu=$thanh_toan$$.reduce(($s$$,$pt$$)=>$s$$+($r$$[$pt$$.ma]||0),0);$r$$.t_tien_paymentByPoints=$r$$.tien_paymentByPoints||0});await $report$$.asyncJoinModel2($condition$$.id_app,dmkh,[{where:"ma_kh",fields:"ten_kh dia_chi ngay_mua_dau_tien tinh_thanh quan_huyen xa_phuong phu_trach".split(" ")}]);
14
+ const $tong_cong$$={ten_kh:"T\u1ed5ng c\u1ed9ng",bold:!0,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_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_xuat:$report$$.csum("t_tien_xuat"),
15
+ t_phai_thu:$report$$.csum("t_phai_thu"),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_sl_nhap:$report$$.csum("t_sl_nhap"),t_tien_nhap:$report$$.csum("t_tien_nhap"),t_tien_tl:$report$$.csum("t_tien_tl"),
16
+ t_tien_thue_tl:$report$$.csum("t_tien_thue_tl"),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"),t_tien_hoa_hong_ql:$report$$.csum("t_tien_hoa_hong_ql")};$thanh_toan$$.forEach($pt$$=>{$pt$$.tong_cong=$tong_cong$$[$pt$$.ma]=$report$$.csum($pt$$.ma)});$report$$.push($tong_cong$$);$report$$.forEach($r$$=>{$r$$.t_tien_phai_tl=($r$$.t_tien_tl||0)+($r$$.t_tien_thue_tl||
17
+ 0)});$callback$$(null,{data:$report$$,thanh_toan:$thanh_toan$$.filter($t$$=>$t$$.tong_cong)})})};
@@ -0,0 +1,19 @@
1
+ const databanle=require("../../libs/databanlenpp"),async=require("async"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
+ module.exports=function($router$$){new controller($router$$,"dtbanletheokhnpp",async function($condition_kh_cust_custs_req$$,$callback$$){const $condition$$=$condition_kh_cust_custs_req$$.query;$condition$$.den_ngay||($condition$$.den_ngay=moment().endOf("date").toDate());const $query$$={id_app:$condition$$.id_app};($condition_kh_cust_custs_req$$=await global.getModel("customer").findOne({id_app:$condition$$.id_app,of_user:$condition_kh_cust_custs_req$$.user.email}).lean())&&$condition_kh_cust_custs_req$$.ma_kho_npp?
3
+ $query$$.$or=[{ma_kho:$condition_kh_cust_custs_req$$.ma_kho_npp},{"details.ma_kho":$condition_kh_cust_custs_req$$.ma_kho_npp}]:$condition$$.ma_kho&&($query$$.$or=[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]);$query$$.ngay_ct={$lte:$condition$$.den_ngay};$condition$$.tu_ngay&&($query$$.ngay_ct.$gte=$condition$$.tu_ngay);$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);if($condition$$.ma_kh)$query$$.ma_kh=$condition$$.ma_kh;else{$condition_kh_cust_custs_req$$={};
4
+ if($condition$$.nh_kh){var $nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh,{status:!0});$condition_kh_cust_custs_req$$.nh_kh={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$}}$condition$$.nh_kh2&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh2,{status:!0}),$condition_kh_cust_custs_req$$.nh_kh2={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});
5
+ $condition$$.nh_kh3&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh3,{status:!0}),$condition_kh_cust_custs_req$$.nh_kh3={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh4&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh4,{status:!0}),$condition_kh_cust_custs_req$$.nh_kh4={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});
6
+ $condition$$.nh_kh5&&($nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$=await global.getModel("group").getAllChildrenGroup($condition$$.id_app,$condition$$.nh_kh5,{status:!0}),$condition_kh_cust_custs_req$$.nh_kh5={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.tinh_thanh&&($condition_kh_cust_custs_req$$.tinh_thanh=$condition$$.tinh_thanh);$condition$$.quan_huyen&&($condition_kh_cust_custs_req$$.quan_huyen=$condition$$.quan_huyen);$condition$$.xa_phuong&&($condition_kh_cust_custs_req$$.xa_phuong=
7
+ $condition$$.xa_phuong);Object.keys($condition_kh_cust_custs_req$$).length>0&&($condition_kh_cust_custs_req$$.id_app=$condition$$.id_app,$condition_kh_cust_custs_req$$=await global.getModel("customer").find($condition_kh_cust_custs_req$$,{ma_kh:1}).lean(),$query$$.ma_kh={$in:$condition_kh_cust_custs_req$$.map($c$$=>$c$$.ma_kh)})}$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$condition$$.user_hoa_hong&&($query$$.$or?$query$$.$and=[{$or:[{user_nv:$condition$$.user_hoa_hong},{user_ctv:$condition$$.user_hoa_hong},
8
+ {user_ctv2:$condition$$.user_hoa_hong},{user_kho:$condition$$.user_hoa_hong},{user_gt:$condition$$.user_hoa_hong},{user_ql:$condition$$.user_hoa_hong},{"details.user_nv":$condition$$.user_hoa_hong},{"details.user_ctv":$condition$$.user_hoa_hong},{"details.user_ctv2":$condition$$.user_hoa_hong},{"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},{"details.user_ql":$condition$$.user_hoa_hong}]}]:$query$$.$or=[{user_nv:$condition$$.user_hoa_hong},{user_ctv:$condition$$.user_hoa_hong},
9
+ {user_ctv2:$condition$$.user_hoa_hong},{user_kho:$condition$$.user_hoa_hong},{user_gt:$condition$$.user_hoa_hong},{user_ql:$condition$$.user_hoa_hong},{"details.user_nv":$condition$$.user_hoa_hong},{"details.user_ctv":$condition$$.user_hoa_hong},{"details.user_ctv2":$condition$$.user_hoa_hong},{"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},{"details.user_ql":$condition$$.user_hoa_hong}]);databanle($query$$,function($error$$,$rs$$,$ptthanhtoans$$){if($error$$)return $callback$$($error$$);
10
+ const $thanh_toan$$=$ptthanhtoans$$.map($pt$$=>({name:$pt$$.ma,value:$pt$$.ma,ma:$pt$$.ma,ten:$pt$$.ten}));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_hang_ct=$r$$.details.csum("tien_hang_ct");$r$$.t_thue=$r$$.details.csum("tien_thue");$r$$.t_tien_ck=$r$$.details.csum("tien_ck");$r$$.t_tien_cp=$r$$.details.csum("tien_cp");$r$$.t_tien=$r$$.details.csum("tien");$r$$.tien_ck_hd=$r$$.tien_ck_hd||
11
+ 0;$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat");$r$$.t_tien_hoa_hong=$r$$.details.csum("tien_hoa_hong");$r$$.t_tien_hoa_hong_gt=$r$$.details.csum("tien_hoa_hong_gt");$r$$.t_tien_hoa_hong_ctv=$r$$.details.csum("tien_hoa_hong_ctv");$r$$.t_tien_hoa_hong_ql=$r$$.details.csum("tien_hoa_hong_ql");$r$$.tien_freeship=$r$$.tien_freeship||0;$r$$.tien_phi_vc=$r$$.tien_phi_vc||0;$r$$.details_tl?($r$$.t_tien_tl=$r$$.details_tl.csum("tien_hang_ct")-$r$$.details_tl.csum("tien_ck"),$r$$.t_tien_thue_tl=$r$$.details_tl.csum("tien_thue"),
12
+ $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.csum("tien_hoa_hong"),$r$$.t_tien_hoa_hong_gt-=$r$$.details_tl.csum("tien_hoa_hong_gt"),$r$$.t_tien_hoa_hong_ctv-=$r$$.details_tl.csum("tien_hoa_hong_ctv"),$r$$.t_tien_hoa_hong_ql-=$r$$.details_tl.csum("tien_hoa_hong_ql")):($r$$.t_tien_tl=0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0);$callback$$(null,$r$$)},function($error$$,$rs$$){if($error$$)return $callback$$($error$$);
13
+ $rs$$.groupBy("ma_kh",[{name:"t_sl_xuat",value:"t_sl_xuat"},{name:"t_tien_hang",value:"t_tien_hang"},{name:"t_tien_hang_ct",value:"t_tien_hang_ct"},{name:"t_thue",value:"t_thue"},{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:"tien_freeship",value:"tien_freeship"},{name:"tien_phi_vc",value:"tien_phi_vc"},{name:"tien_evoucher",value:"tien_evoucher"},{name:"tien_thu",value:"tien_thu"},{name:"tien_thu2",
14
+ value:"tien_thu2"},{name:"tien_paymentByPoints",value:"tien_paymentByPoints"},{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_thue_tl",value:"t_tien_thue_tl"},{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",
15
+ value:"t_tien_hoa_hong_ql"},...$thanh_toan$$],function($error$$,$report$$){if($error$$)return $callback$$($error$$);let $i$$=1;$report$$.forEach(function($r$$){$r$$.stt=$i$$;$r$$.bold=!1;$r$$.t_phai_thu=$r$$.t_tien_hang_ct-($r$$.t_tien_ck||0)+($r$$.t_thue||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0);$r$$.t_doanh_thu=$r$$.t_tien_hang_ct-($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_doanh_thu_thuan=
16
+ $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);$r$$.t_tien_thu=$thanh_toan$$.map($pt$$=>$r$$[$pt$$.ma]||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$r$$.t_tien_paymentByPoints=$r$$.tien_paymentByPoints||0;$i$$++});$report$$.joinModel2($condition$$.id_app,"customer",[{where:"ma_kh",fields:"ten_kh tinh_thanh quan_huyen xa_phuong dia_chi phu_trach".split(" ")}],function(){const $tong_cong$$={ten_kh:"T\u1ed5ng c\u1ed9ng",t_sl_xuat:$report$$.csum("t_sl_xuat"),
17
+ t_tien_hang:$report$$.csum("t_tien_hang"),t_tien_hang_ct:$report$$.csum("t_tien_hang_ct"),t_thue:$report$$.csum("t_thue"),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"),tien_phi_vc:$report$$.csum("tien_phi_vc"),tien_freeship:$report$$.csum("tien_freeship"),t_tien_xuat:$report$$.csum("t_tien_xuat"),t_phai_thu:$report$$.csum("t_phai_thu"),t_doanh_thu:$report$$.csum("t_doanh_thu"),t_sl_nhap:$report$$.csum("t_sl_nhap"),
18
+ t_tien_nhap:$report$$.csum("t_tien_nhap"),t_tien_tl:$report$$.csum("t_tien_tl"),t_tien_thue_tl:$report$$.csum("t_tien_thue_tl"),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"),
19
+ t_tien_hoa_hong_gt:$report$$.csum("t_tien_hoa_hong_gt"),t_tien_hoa_hong_ctv:$report$$.csum("t_tien_hoa_hong_ctv"),t_tien_hoa_hong_ql:$report$$.csum("t_tien_hoa_hong_ql"),bold:!0};$thanh_toan$$.forEach($pt$$=>{$pt$$.tong_cong=$tong_cong$$[$pt$$.ma]=$report$$.csum($pt$$.ma)});$report$$.push($tong_cong$$);$report$$.forEach($r$$=>{$r$$.t_tien_phai_tl=$r$$.t_tien_tl+$r$$.t_tien_thue_tl});$callback$$(null,{data:$report$$,thanh_toan:$thanh_toan$$.filter($t$$=>$t$$.tong_cong)})})})})})})};
@@ -0,0 +1,15 @@
1
+ const databanle=require("../../libs/databanle"),dmkho=global.getModel("dmkho"),controller=require("../../controllers/controllerRPT");
2
+ module.exports=function($router$$){new controller($router$$,"dtbanletheokho",async function($activeFields_custs_hhOr_req_uHH$$,$callback$$){const $condition$$=$activeFields_custs_hhOr_req_uHH$$.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");const $query$$={id_app:$condition$$.id_app,ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}};$condition$$.ma_dvcs&&($query$$.ma_dvcs=
3
+ $condition$$.ma_dvcs);$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);if($condition$$.ma_kh)$query$$.ma_kh=$condition$$.ma_kh;else if($activeFields_custs_hhOr_req_uHH$$=["nh_kh","nh_kh2","nh_kh3","nh_kh4","nh_kh5"].filter($f$$=>$condition$$[$f$$]),$activeFields_custs_hhOr_req_uHH$$.length>0){const $groupModel$$=global.getModel("group"),$nhResults$$=await Promise.all($activeFields_custs_hhOr_req_uHH$$.map($f$$=>$groupModel$$.getAllChildrenGroup($condition$$.id_app,$condition$$[$f$$],{status:!0}))),
4
+ $condition_kh$$={id_app:$condition$$.id_app};$activeFields_custs_hhOr_req_uHH$$.forEach(($f$$,$i$$)=>{$condition_kh$$[$f$$]={$in:$nhResults$$[$i$$]}});$activeFields_custs_hhOr_req_uHH$$=await global.getModel("customer").find($condition_kh$$,{ma_kh:1}).lean();$query$$.ma_kh={$in:$activeFields_custs_hhOr_req_uHH$$.map($c$$=>$c$$.ma_kh)}}$condition$$.ma_kho&&($condition$$.ma_kho.indexOf(",")>-1&&($condition$$.ma_kho=$condition$$.ma_kho.split(",")),$query$$.$or=[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]);
5
+ $condition$$.user_hoa_hong&&($activeFields_custs_hhOr_req_uHH$$=$condition$$.user_hoa_hong,$activeFields_custs_hhOr_req_uHH$$=[{user_nv:$activeFields_custs_hhOr_req_uHH$$},{user_ctv:$activeFields_custs_hhOr_req_uHH$$},{user_ctv2:$activeFields_custs_hhOr_req_uHH$$},{user_kho:$activeFields_custs_hhOr_req_uHH$$},{user_gt:$activeFields_custs_hhOr_req_uHH$$},{user_ql:$activeFields_custs_hhOr_req_uHH$$},{"details.user_nv":$activeFields_custs_hhOr_req_uHH$$},{"details.user_ctv":$activeFields_custs_hhOr_req_uHH$$},
6
+ {"details.user_ctv2":$activeFields_custs_hhOr_req_uHH$$},{"details.user_kho":$activeFields_custs_hhOr_req_uHH$$},{"details.user_gt":$activeFields_custs_hhOr_req_uHH$$},{"details.user_ql":$activeFields_custs_hhOr_req_uHH$$}],$query$$.$or?$query$$.$and=[{$or:$activeFields_custs_hhOr_req_uHH$$}]:$query$$.$or=$activeFields_custs_hhOr_req_uHH$$);const [$rs$$,$ptthanhtoans$$]=await new Promise(($resolve$$,$reject$$)=>{databanle($query$$,($err$$,$rs$$,$pt$$)=>$err$$?$reject$$($err$$):$resolve$$([$rs$$,$pt$$||
7
+ []]))}),$thanh_toan$$=$ptthanhtoans$$.map($pt$$=>({name:$pt$$.ma,value:$pt$$.ma,ma:$pt$$.ma,ten:$pt$$.ten}));for(const $r$$ of $rs$$)$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_tien_cp=$r$$.details.csum("tien_cp"),$r$$.t_thue=$r$$.details.csum("tien_thue"),$r$$.t_tien=$r$$.details.csum("tien"),$r$$.tien_ck_hd=$r$$.tien_ck_hd||0,$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat"),
8
+ $r$$.t_tien_hoa_hong=$r$$.details.csum("tien_hoa_hong"),$r$$.t_tien_hoa_hong_gt=$r$$.details.csum("tien_hoa_hong_gt"),$r$$.t_tien_hoa_hong_ctv=$r$$.details.csum("tien_hoa_hong_ctv"),$r$$.t_tien_hoa_hong_ql=$r$$.details.csum("tien_hoa_hong_ql"),$r$$.tien_freeship=$r$$.tien_freeship||0,$r$$.tien_phi_vc=$r$$.tien_phi_vc||0,$r$$.details_tl?($r$$.t_tien_tl=$r$$.details_tl.csum("tien_hang_ct")-$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"),
9
+ $r$$.t_sl_nhap=$r$$.details_tl.csum("sl_nhap"),$r$$.t_tien_hoa_hong-=$r$$.details_tl.csum("tien_hoa_hong"),$r$$.t_tien_hoa_hong_gt-=$r$$.details_tl.csum("tien_hoa_hong_gt"),$r$$.t_tien_hoa_hong_ctv-=$r$$.details_tl.csum("tien_hoa_hong_ctv"),$r$$.t_tien_hoa_hong_ql-=$r$$.details_tl.csum("tien_hoa_hong_ql")):($r$$.t_tien_tl=0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0);const $total_fields$$=["t_sl_xuat","t_tien_hang","t_tien_hang_ct","t_tien_cp","t_tien_ck","t_thue","t_tien","tien_ck_hd","tien_freeship","tien_phi_vc",
10
+ "tien_evoucher","tien_thu","tien_thu2","tien_paymentByPoints","t_tien_xuat","t_sl_nhap","t_tien_tl","t_tien_thue_tl","t_tien_nhap","phai_tra","t_tien_hoa_hong","t_tien_hoa_hong_gt","t_tien_hoa_hong_ctv","t_tien_hoa_hong_ql",...$thanh_toan$$.map($pt$$=>$pt$$.ma)].map($f$$=>({name:$f$$,value:$f$$}));let $report$$=await new Promise(($resolve$$,$reject$$)=>{$rs$$.groupBy("ma_kho",$total_fields$$,($err$$,$data$$)=>$err$$?$reject$$($err$$):$resolve$$($data$$))});$report$$.forEach(($r$$,$i$$)=>{$r$$.stt=
11
+ $i$$+1;$r$$.bold=!1;$r$$.t_phai_thu=$r$$.t_tien_hang_ct-($r$$.t_tien_ck||0)+($r$$.t_thue||0)+($r$$.tien_phi_vc||0)-($r$$.tien_freeship||0)-($r$$.tien_ck_hd||0)-($r$$.tien_evoucher||0);$r$$.t_doanh_thu=$r$$.t_tien_hang_ct-($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_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)-($r$$.t_tien_cp||0);$r$$.t_tien_thu=
12
+ $thanh_toan$$.reduce(($s$$,$pt$$)=>$s$$+($r$$[$pt$$.ma]||0),0);$r$$.t_tien_paymentByPoints=$r$$.tien_paymentByPoints||0});await $report$$.asyncJoinModel2($condition$$.id_app,dmkho,[{where:"ma_kho",fields:"ten_kho"}]);const $tong_cong$$={ten_kho:"T\u1ed5ng c\u1ed9ng",bold:!0,t_sl_xuat:$report$$.csum("t_sl_xuat"),t_tien_hang:$report$$.csum("t_tien_hang"),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"),
13
+ 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_xuat:$report$$.csum("t_tien_xuat"),t_phai_thu:$report$$.csum("t_phai_thu"),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_tien_thue_tl:$report$$.csum("t_tien_thue_tl"),
14
+ 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"),t_tien_hoa_hong_ql:$report$$.csum("t_tien_hoa_hong_ql")};
15
+ $thanh_toan$$.forEach($pt$$=>{$pt$$.tong_cong=$tong_cong$$[$pt$$.ma]=$report$$.csum($pt$$.ma)});$report$$.push($tong_cong$$);$report$$.forEach($r$$=>{$r$$.t_tien_phai_tl=($r$$.t_tien_tl||0)+($r$$.t_tien_thue_tl||0)});$callback$$(null,{data:$report$$,thanh_toan:$thanh_toan$$.filter($t$$=>$t$$.tong_cong)})})};
@@ -0,0 +1,3 @@
1
+ const databanletheongay=require("../../libs/databanletheongay"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
+ module.exports=function($router$$){new controller($router$$,"dtbanletheonam",async function($condition_req$$,$callback$$){$condition_req$$=$condition_req$$.query;if(!$condition_req$$.tu_nam||!$condition_req$$.den_nam)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1 t\u1eeb n\u0103m (tu_nam), \u0111\u1ebfn n\u0103m (den_nam)");$condition_req$$.group_by="nam";const $tu_ngay$$=moment(new Date(Number($condition_req$$.tu_nam),5,15)).startOf("year").toDate(),$den_ngay$$=moment(new Date(Number($condition_req$$.den_nam),
3
+ 5,15)).endOf("year").toDate();$condition_req$$.tu_ngay=$tu_ngay$$;$condition_req$$.den_ngay=$den_ngay$$;databanletheongay($condition_req$$,$callback$$)})};
@@ -0,0 +1 @@
1
+ const databanletheongay=require("../../libs/databanletheongay"),controller=require("../../controllers/controllerRPT");module.exports=function($router$$){new controller($router$$,"dtbanletheongay",async function($req$$,$callback$$){databanletheongay($req$$.query,$callback$$)})};