flexbiz-server 12.6.13 → 12.6.16

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 (129) hide show
  1. package/README.md +439 -4
  2. package/package.json +4 -3
  3. package/server/agents/agents.js +1 -0
  4. package/server/agents/ai_memory_manager.js +6 -0
  5. package/server/agents/ceoAgent.js +43 -0
  6. package/server/agents/chatController.js +6 -0
  7. package/server/agents/cskhAgent.js +43 -0
  8. package/server/agents/flowAgent.js +43 -0
  9. package/server/agents/prompts/ceo.js +2 -0
  10. package/server/agents/prompts/flow.js +2 -0
  11. package/server/agents/staffAgent.js +44 -0
  12. package/server/agents/tools/financeTools.js +57 -0
  13. package/server/agents/tools/flowTools.js +36 -0
  14. package/server/agents/tools/kpiTools.js +104 -0
  15. package/server/agents/tools/masterDataTools.js +74 -0
  16. package/server/agents/tools/okrTools.js +21 -0
  17. package/server/agents/tools/ragTools.js +21 -0
  18. package/server/agents/tools/reportTools.js +43 -0
  19. package/server/agents/tools/staffTools.js +13 -0
  20. package/server/agents/tools/stockTools.js +41 -0
  21. package/server/agents/tools/systemTools.js +52 -0
  22. package/server/agents/tools/taskTools.js +23 -0
  23. package/server/agents/tools/utils.js +57 -0
  24. package/server/app.js +7 -7
  25. package/server/controllers/controller.js +31 -29
  26. package/server/controllers/controllerRPT.js +31 -29
  27. package/server/controllers/findHandler.js +22 -21
  28. package/server/controllers/importFromExcelHandler.js +17 -14
  29. package/server/controllers/importHandler.js +26 -41
  30. package/server/controllers/importHandler_old.js +41 -0
  31. package/server/controllers/rptHandler.js +14 -11
  32. package/server/controllers/viewHandler.js +7 -7
  33. package/server/flow/FlowEngine.js +49 -45
  34. package/server/flow/WebhookManager.js +1 -1
  35. package/server/flow/handlers.js +2 -2
  36. package/server/flow/nodes/userform.js +28 -0
  37. package/server/flow/utils.js +12 -4
  38. package/server/global.js +4 -3
  39. package/server/libs/cdpstk.js +1 -1
  40. package/server/libs/ckvt.js +12 -11
  41. package/server/libs/ckvtcapphat.js +5 -5
  42. package/server/libs/ckvtnpp.js +8 -8
  43. package/server/libs/ckvttt.js +6 -5
  44. package/server/libs/ctvt.js +7 -6
  45. package/server/libs/ctvtnpp.js +7 -6
  46. package/server/libs/ctvttt.js +6 -6
  47. package/server/libs/databanle.js +17 -18
  48. package/server/libs/databanle_old.js +18 -0
  49. package/server/libs/databanletheongay.js +25 -29
  50. package/server/libs/dktk.js +3 -3
  51. package/server/libs/dkvt.js +11 -11
  52. package/server/libs/dkvtnpp.js +7 -6
  53. package/server/libs/dkvttt.js +7 -6
  54. package/server/libs/docs.js +72 -36
  55. package/server/libs/dtbanletheosp.js +16 -19
  56. package/server/libs/fifo_dk.js +8 -0
  57. package/server/libs/fifo_group.js +4 -0
  58. package/server/libs/fifo_trace_query.js +12 -0
  59. package/server/libs/getGiaban.js +59 -70
  60. package/server/libs/getGiaban_old.js +70 -0
  61. package/server/libs/joinData.js +3 -3
  62. package/server/libs/joinData_bk.js +44 -0
  63. package/server/libs/kpistatus.js +24 -17
  64. package/server/libs/permission.js +54 -56
  65. package/server/libs/permission_old.js +58 -0
  66. package/server/libs/post-book.js +1 -1
  67. package/server/libs/post-socai.js +2 -1
  68. package/server/libs/post-sokho.js +11 -11
  69. package/server/libs/prototypes.js +13 -12
  70. package/server/libs/queryBuilding.js +11 -10
  71. package/server/libs/redis-cache.js +22 -10
  72. package/server/libs/sctcnkh.js +19 -17
  73. package/server/libs/socaitk.js +1 -1
  74. package/server/libs/thnxt.js +17 -14
  75. package/server/libs/thnxtnpp.js +8 -8
  76. package/server/libs/thnxttt.js +8 -7
  77. package/server/libs/tinhgia1vt_fifo.js +22 -0
  78. package/server/libs/tinhgiafifo.js +28 -0
  79. package/server/libs/utils.js +37 -19
  80. package/server/models/app.js +1 -1
  81. package/server/models/approve.js +8 -8
  82. package/server/models/cacheDataReport.js +2 -2
  83. package/server/models/cacheSessionReport.js +5 -1
  84. package/server/models/cdvt.js +2 -2
  85. package/server/models/checkin.js +2 -2
  86. package/server/models/chitietluongds.js +1 -1
  87. package/server/models/contract.js +1 -1
  88. package/server/models/csluongtheods.js +2 -2
  89. package/server/models/ctds2.js +7 -6
  90. package/server/models/custom_report.js +1 -0
  91. package/server/models/dmdt.js +2 -2
  92. package/server/models/dmkho.js +5 -4
  93. package/server/models/dmnvt.js +5 -4
  94. package/server/models/fifo_dk.js +2 -0
  95. package/server/models/fifo_lot.js +3 -0
  96. package/server/models/fifo_trace.js +4 -0
  97. package/server/models/flowpending.js +2 -0
  98. package/server/models/group.js +3 -5
  99. package/server/models/listinfo.js +61 -33
  100. package/server/models/schedule.js +4 -3
  101. package/server/models/task.js +1 -1
  102. package/server/models/trangthai.js +2 -2
  103. package/server/modules/lists/bg-fifo_dk.js +8 -0
  104. package/server/modules/lists/ls-checkin.js +1 -1
  105. package/server/modules/lists/ls-customer.js +23 -26
  106. package/server/modules/lists/ls-dmbp.js +5 -5
  107. package/server/modules/lists/ls-dmkho.js +7 -1
  108. package/server/modules/lists/ls-dmnhtask.js +1 -1
  109. package/server/modules/lists/ls-dmvt.js +52 -70
  110. package/server/modules/lists/ls-flowpending.js +3 -0
  111. package/server/modules/lists/ls-participant.js +6 -4
  112. package/server/modules/lists/ls-task.js +6 -6
  113. package/server/modules/reports/calc-tinhgiafifo.js +8 -0
  114. package/server/modules/reports/calc-tinhluong.js +17 -16
  115. package/server/modules/reports/rp-baoCaoFifoKy.js +1 -0
  116. package/server/modules/reports/rp-congviectheobp.js +4 -4
  117. package/server/modules/reports/rp-congviectheodt.js +1 -1
  118. package/server/modules/reports/rp-congviectheokh.js +1 -1
  119. package/server/modules/reports/rp-congviectheonv.js +1 -1
  120. package/server/modules/reports/rp-dtbanletheoct.js +22 -23
  121. package/server/modules/reports/rp-dtbanletheokh.js +17 -20
  122. package/server/modules/reports/rp-dtbanletheokho.js +15 -18
  123. package/server/modules/reports/rp-hoahong.js +1 -1
  124. package/server/modules/reports/rp-sctvt.js +1 -1
  125. package/server/modules/reports/rp-sosanhkhvatt2.js +1 -1
  126. package/server/modules/reports/rp-thnxt.js +8 -8
  127. package/server/modules/reports/rp-tongquannvbh.js +1 -1
  128. package/server/modules/systems/sys-app.js +5 -5
  129. package/server/modules/vouchers/vo-so1.js +14 -14
@@ -1,7 +1,7 @@
1
1
  const task=global.getModel("task"),dmdt=global.getModel("dmdt"),async=require("async"),underscore=require("underscore"),dmloaitask=global.getModel("dmloaitask"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
2
  module.exports=function($router$$){new controller($router$$,"congviectheodt",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};$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
3
  $query$$.start_date={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$query$$.id_dt=$condition$$.id_dt?$condition$$.id_dt:{$ne:""};$condition$$.phu_trach&&($query$$.phu_trach=$condition$$.phu_trach);$condition$$.id_bp&&($query$$.id_bp=$condition$$.id_bp);$condition$$.id_kh&&($query$$.id_kh=$condition$$.id_kh);$condition$$.nh_cv&&($query$$.nh_cv=$condition$$.nh_cv);const $now$$=new Date;task.find($query$$).lean().exec(async function($error$$,$rs$$){if($error$$)return Logger.info($error$$,$query$$),
4
- $callback$$($error$$);await $rs$$.filter($item$$=>$item$$.ma_loai_cv).asyncJoinModel2($req$$.user.current_id_app,dmloaitask,{where:"ma_loai_cv",fields:["ten_loai_cv","he_so"]});async.mapLimit($rs$$,20,function($r$$,$callback$$){$r$$.t_so_luong=1;$r$$.chua_thuc_hien=$r$$.progress===0?1:0;$r$$.dang_thuc_hien=$r$$.progress===1?1:0;$r$$.kiem_tra=$r$$.progress===2?1:0;$r$$.hoan_thanh=$r$$.progress===3?1:0;$r$$.tam_dung=$r$$.progress===4?1:0;$r$$.cho=$r$$.progress===5?1:0;$r$$.cham_tien_do=0;$r$$.diem=
4
+ $callback$$($error$$);await $rs$$.filter($item$$=>$item$$.ma_loai_cv).asyncJoinModel2($req$$.user.current_id_app,dmloaitask,{where:"ma_loai_cv",fields:["ten_loai_cv","he_so"]});async.mapLimit($rs$$,20,function($r$$,$callback$$){$r$$.t_so_luong=1;$r$$.chua_thuc_hien=$r$$.progress=="0"?1:0;$r$$.dang_thuc_hien=$r$$.progress=="1"?1:0;$r$$.kiem_tra=$r$$.progress=="2"?1:0;$r$$.hoan_thanh=$r$$.progress=="3"?1:0;$r$$.tam_dung=$r$$.progress=="4"?1:0;$r$$.cho=$r$$.progress=="5"?1:0;$r$$.cham_tien_do=0;$r$$.diem=
5
5
  0;$r$$.complete_hour=task.calcCompleteHours($r$$);$r$$.he_so=$r$$.he_so===void 0?1:$r$$.he_so;$r$$.ngay=moment($r$$.start_date).date();$r$$.thang=(new Date($r$$.start_date)).getMonth()+1;$r$$.quy=moment($r$$.start_date).quarter();$r$$.nam=(new Date($r$$.start_date)).getFullYear();$r$$.due_date&&($r$$.finished_date?$r$$.finished_date.getTime()>$r$$.due_date.getTime()&&($r$$.cham_tien_do=1):$now$$.getTime()>$r$$.due_date.getTime()&&($r$$.cham_tien_do=1));$r$$.diem=($r$$.diem_du_tinh||0)*$r$$.he_so*
6
6
  ($r$$.percent||0)/100;$callback$$(null,$r$$)},function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$error$$=["id_dt"];$condition$$.groupby&&($error$$=[...(new Set([...$error$$,...$condition$$.groupby.split(",")]))]);$rs$$.groupBy($error$$,[{name:"t_so_luong",value:"t_so_luong"},{name:"chua_thuc_hien",value:"chua_thuc_hien"},{name:"kiem_tra",value:"kiem_tra"},{name:"dang_thuc_hien",value:"dang_thuc_hien"},{name:"hoan_thanh",value:"hoan_thanh"},{name:"tam_dung",value:"tam_dung"},{name:"cho",
7
7
  value:"cho"},{name:"cham_tien_do",value:"cham_tien_do"},{name:"diem",value:"diem"},{name:"complete_hour",value:"complete_hour"}],function($error$$,$rs$$){if($error$$)return $callback$$($error$$);const $report$$=underscore.sortBy($rs$$,function($r$$){return $r$$.id_dt});$report$$.forEach(function($r$$,$i$$){$r$$.stt=$i$$+1;$r$$.bold=!1});$report$$.joinModel2($condition$$.id_app,dmdt,{where:{id_dt:"_id"},fields:["ma_dt","ten_dt"]},function(){$report$$.push({ten_dt:"T\u1ed5ng c\u1ed9ng",t_so_luong:$report$$.csum("t_so_luong"),
@@ -1,7 +1,7 @@
1
1
  const task=global.getModel("task"),customer=global.getModel("customer"),async=require("async"),underscore=require("underscore"),dmloaitask=global.getModel("dmloaitask"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
2
  module.exports=function($router$$){new controller($router$$,"congviectheokh",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};$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
3
  $query$$.start_date={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$query$$.id_kh=$condition$$.id_kh?$condition$$.id_kh:{$ne:""};$condition$$.phu_trach&&($query$$.phu_trach=$condition$$.phu_trach);$condition$$.id_bp&&($query$$.id_bp=$condition$$.id_bp);$condition$$.id_dt&&($query$$.id_dt=$condition$$.id_dt);$condition$$.nh_cv&&($query$$.nh_cv=$condition$$.nh_cv);const $now$$=new Date;task.find($query$$).lean().exec(async function($error$$,$rs$$){if($error$$)return Logger.info($error$$,$query$$),
4
- $callback$$($error$$);await $rs$$.filter($item$$=>$item$$.ma_loai_cv).asyncJoinModel2($req$$.user.current_id_app,dmloaitask,{where:"ma_loai_cv",fields:["ten_loai_cv","he_so"]});async.mapLimit($rs$$,20,function($r$$,$callback$$){$r$$.t_so_luong=1;$r$$.chua_thuc_hien=$r$$.progress===0?1:0;$r$$.dang_thuc_hien=$r$$.progress===1?1:0;$r$$.kiem_tra=$r$$.progress===2?1:0;$r$$.hoan_thanh=$r$$.progress===3?1:0;$r$$.tam_dung=$r$$.progress===4?1:0;$r$$.cho=$r$$.progress===5?1:0;$r$$.cham_tien_do=0;$r$$.diem=
4
+ $callback$$($error$$);await $rs$$.filter($item$$=>$item$$.ma_loai_cv).asyncJoinModel2($req$$.user.current_id_app,dmloaitask,{where:"ma_loai_cv",fields:["ten_loai_cv","he_so"]});async.mapLimit($rs$$,20,function($r$$,$callback$$){$r$$.t_so_luong=1;$r$$.chua_thuc_hien=$r$$.progress=="0"?1:0;$r$$.dang_thuc_hien=$r$$.progress=="1"?1:0;$r$$.kiem_tra=$r$$.progress=="2"?1:0;$r$$.hoan_thanh=$r$$.progress=="3"?1:0;$r$$.tam_dung=$r$$.progress=="4"?1:0;$r$$.cho=$r$$.progress=="5"?1:0;$r$$.cham_tien_do=0;$r$$.diem=
5
5
  0;$r$$.complete_hour=task.calcCompleteHours($r$$);$r$$.he_so=$r$$.he_so===void 0?1:$r$$.he_so;$r$$.ngay=moment($r$$.start_date).date();$r$$.thang=(new Date($r$$.start_date)).getMonth()+1;$r$$.quy=moment($r$$.start_date).quarter();$r$$.nam=(new Date($r$$.start_date)).getFullYear();$r$$.due_date&&($r$$.finished_date?$r$$.finished_date.getTime()>$r$$.due_date.getTime()&&($r$$.cham_tien_do=1):$now$$.getTime()>$r$$.due_date.getTime()&&($r$$.cham_tien_do=1));$r$$.diem=($r$$.diem_du_tinh||0)*$r$$.he_so*
6
6
  ($r$$.percent||0)/100;$callback$$(null,$r$$)},function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$error$$=["id_kh"];$condition$$.groupby&&($error$$=[...(new Set([...$error$$,...$condition$$.groupby.split(",")]))]);$rs$$.groupBy($error$$,[{name:"t_so_luong",value:"t_so_luong"},{name:"chua_thuc_hien",value:"chua_thuc_hien"},{name:"dang_thuc_hien",value:"dang_thuc_hien"},{name:"kiem_tra",value:"kiem_tra"},{name:"hoan_thanh",value:"hoan_thanh"},{name:"tam_dung",value:"tam_dung"},{name:"cho",
7
7
  value:"cho"},{name:"cham_tien_do",value:"cham_tien_do"},{name:"diem",value:"diem"},{name:"complete_hour",value:"complete_hour"}],function($error$$,$rs$$){if($error$$)return $callback$$($error$$);const $report$$=underscore.sortBy($rs$$,function($r$$){return $r$$.id_kh});let $i$$=1;$report$$.forEach(function($r$$){$r$$.stt=$i$$;$r$$.bold=!1;$i$$++});$report$$.joinModel2($condition$$.id_app,customer,{where:{id_kh:"_id"},fields:["ma_kh","ten_kh"]},function(){$report$$.push({ten_kh:"T\u1ed5ng c\u1ed9ng",
@@ -1,7 +1,7 @@
1
1
  const task=global.getModel("task"),Participant=global.getModel("participant"),dmloaitask=global.getModel("dmloaitask"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
2
  module.exports=function($router$$){new controller($router$$,"congviectheonv",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");$condition$$.tu_ngay=moment(new Date($condition$$.tu_ngay)).startOf("date").toDate();$condition$$.den_ngay=moment(new Date($condition$$.den_ngay)).endOf("date").toDate();const $query$$={id_app:$condition$$.id_app};
3
3
  $query$$.start_date={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.id_bp&&($query$$.id_bp=$condition$$.id_bp);$condition$$.id_dt&&($query$$.id_dt=$condition$$.id_dt);$condition$$.id_kh&&($query$$.id_kh=$condition$$.id_kh);$condition$$.nh_cv&&($query$$.nh_cv=$condition$$.nh_cv);const $now$$=new Date;task.find($query$$).lean().exec(async function($error$$,$rs$$){if($error$$)return $callback$$($error$$);await $rs$$.filter($item$$=>$item$$.ma_loai_cv).asyncJoinModel2($req$$.user.current_id_app,
4
- dmloaitask,{where:"ma_loai_cv",fields:["ten_loai_cv","he_so"]});async.mapLimit($rs$$,20,function($r$$,$callback$$){$r$$.t_so_luong=1;$r$$.chua_thuc_hien=$r$$.progress===0?1:0;$r$$.dang_thuc_hien=$r$$.progress===1?1:0;$r$$.kiem_tra=$r$$.progress===2?1:0;$r$$.hoan_thanh=$r$$.progress===3?1:0;$r$$.tam_dung=$r$$.progress===4?1:0;$r$$.cho=$r$$.progress===5?1:0;$r$$.cham_tien_do=0;$r$$.diem=0;$r$$.complete_hour=task.calcCompleteHours($r$$);$r$$.he_so=$r$$.he_so===void 0?1:$r$$.he_so;$r$$.ngay=moment($r$$.start_date).date();
4
+ dmloaitask,{where:"ma_loai_cv",fields:["ten_loai_cv","he_so"]});async.mapLimit($rs$$,20,function($r$$,$callback$$){$r$$.t_so_luong=1;$r$$.chua_thuc_hien=$r$$.progress=="0"?1:0;$r$$.dang_thuc_hien=$r$$.progress=="1"?1:0;$r$$.kiem_tra=$r$$.progress=="2"?1:0;$r$$.hoan_thanh=$r$$.progress=="3"?1:0;$r$$.tam_dung=$r$$.progress=="4"?1:0;$r$$.cho=$r$$.progress=="5"?1:0;$r$$.cham_tien_do=0;$r$$.diem=0;$r$$.complete_hour=task.calcCompleteHours($r$$);$r$$.he_so=$r$$.he_so===void 0?1:$r$$.he_so;$r$$.ngay=moment($r$$.start_date).date();
5
5
  $r$$.thang=(new Date($r$$.start_date)).getMonth()+1;$r$$.quy=moment($r$$.start_date).quarter();$r$$.nam=(new Date($r$$.start_date)).getFullYear();$r$$.due_date&&($r$$.finished_date?$r$$.finished_date.getTime()>$r$$.due_date.getTime()&&($r$$.cham_tien_do=1):$now$$.getTime()>$r$$.due_date.getTime()&&($r$$.cham_tien_do=1));$r$$.diem=($r$$.diem_du_tinh||0)*$r$$.he_so*($r$$.percent||0)/100;$callback$$(null,$r$$)},function($error$$,$_rs$$){if($error$$)return $callback$$($error$$);$_rs$$.filter($r$$=>$r$$.attends&&
6
6
  $r$$.attends.length>0&&$r$$.chia_diem&&$r$$.he_so_chia_diem.length>0).forEach($r$$=>{const $tong_diem$$=$r$$.diem,$tong_he_so$$=$r$$.he_so_chia_diem.map($u$$=>$u$$.he_so).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$tong_he_so$$&&($r$$.diem=0,$r$$.he_so_chia_diem.forEach($u$$=>{const $diem$$=$u$$.he_so/$tong_he_so$$*$tong_diem$$;$u$$.user===$r$$.phu_trach?$r$$.diem=$diem$$:$rs$$.push({...$r$$,phu_trach:$u$$.user,diem:$diem$$})}))});$condition$$.phu_trach&&($rs$$=$rs$$.filter($r$$=>$r$$.phu_trach===$condition$$.phu_trach));
7
7
  $error$$=["phu_trach"];$condition$$.groupby&&($error$$=[...(new Set([...$error$$,...$condition$$.groupby.split(",")]))]);$rs$$.groupBy($error$$,[{name:"t_so_luong",value:"t_so_luong"},{name:"chua_thuc_hien",value:"chua_thuc_hien"},{name:"dang_thuc_hien",value:"dang_thuc_hien"},{name:"kiem_tra",value:"kiem_tra"},{name:"hoan_thanh",value:"hoan_thanh"},{name:"tam_dung",value:"tam_dung"},{name:"cho",value:"cho"},{name:"cham_tien_do",value:"cham_tien_do"},{name:"diem",value:"diem"},{name:"complete_hour",
@@ -1,23 +1,22 @@
1
- const databanle=require("../../libs/databanle"),async=require("async"),underscore=require("underscore"),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_kho&&($query$$.$or=[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]);
3
- 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,{status:!0}),
4
- $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}),$condition_kh_custs$$.nh_kh4=
5
- {$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$$,{ma_kh:1}).lean(),$query$$.ma_kh=
6
- {$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},{"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}]}]:$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},
8
- {"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$$,$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$$,
9
- 20,function($r$$,$callback$$){setImmediate(async()=>{$r$$.t_sl_xuat=$r$$.details.csum("sl_xuat");$r$$.t_tien_hang=$r$$.details.csum("tien_hang");$r$$.t_tien_hang_ct=$r$$.details.csum("tien_hang_ct");$r$$.t_tien_ck=$r$$.details.csum("tien_ck");$r$$.t_thue=$r$$.details.csum("tien_thue");$r$$.t_tien=$r$$.details.csum("tien");$r$$.t_tien_cp=$r$$.details.csum("tien_cp");$r$$.tien_ck_hd=$r$$.tien_ck_hd||0;$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat");$r$$.t_tien_hoa_hong=$condition$$.user_hoa_hong&&$r$$.user_nv!==
10
- $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=
11
- $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?
12
- 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=
13
- 0);$r$$.tien_freeship=$r$$.tien_freeship||0;$r$$.tien_phi_vc=$r$$.tien_phi_vc||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;$r$$.t_tien_con_no=0;$r$$.t_tien_con_no_nt=0;if($r$$._id){var $da_thus_no$$=await global.getModel("tdttno").findOne({id_ct:$r$$._id}).lean();$da_thus_no$$&&($r$$.t_tien_no_nt=$da_thus_no$$.tien_nt,$r$$.t_tien_no=$da_thus_no$$.tien,$da_thus_no$$=await global.getModel("tdttno_tt").find({id_hd:$r$$._id}).lean(),$r$$.t_tien_da_thu=$da_thus_no$$.map($d$$=>
14
- $d$$.tien).reduce(($a$$,$b$$)=>$a$$+$b$$,0),$r$$.t_tien_da_thu_nt=$da_thus_no$$.map($d$$=>$d$$.tien_nt).reduce(($a$$,$b$$)=>$a$$+$b$$,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}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&&
15
- ($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",value:"tien_freeship"},
16
- {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"},
17
- {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_tien_no",value:"t_tien_no"},{name:"t_tien_da_thu",value:"t_tien_da_thu"},{name:"t_tien_con_no",value:"t_tien_con_no"},...$thanh_toan$$];$rs$$.groupBy($field_group_by$$,$error$$,async($error$$,$report$$)=>{if($error$$)return $callback$$($error$$);
18
- $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});$error$$=0;for(let $r$$ of $report$$)$r$$.stt=$error$$+1,$error$$++,$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)-
19
- ($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=$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+
20
- $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"),
21
- 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"),
22
- 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"),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"),
23
- 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)})})})})})};
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)})})};
@@ -1,20 +1,17 @@
1
- const databanle=require("../../libs/databanle"),dmkh=global.getModel("customer"),introducer=global.getModel("introducer"),async=require("async"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
- module.exports=function($router$$){new controller($router$$,"dtbanletheokh",async($query_req$$,$callback$$)=>{const $condition$$=$query_req$$.query;$condition$$.den_ngay||($condition$$.den_ngay=moment().endOf("date").toDate());$query_req$$={id_app:$condition$$.id_app};$query_req$$.ngay_ct={$lte:$condition$$.den_ngay};$condition$$.tu_ngay&&($query_req$$.ngay_ct.$gte=$condition$$.tu_ngay);$condition$$.ma_dvcs&&($query_req$$.ma_dvcs=$condition$$.ma_dvcs);if($condition$$.ma_kh)$query_req$$.ma_kh=$condition$$.ma_kh;
3
- else{var $condition_kh_custs_users$$={};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_users$$.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_users$$.nh_kh2={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});
4
- $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_users$$.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_users$$.nh_kh4={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});
5
- $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_users$$.nh_kh5={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.tinh_thanh&&($condition_kh_custs_users$$.tinh_thanh=$condition$$.tinh_thanh);$condition$$.quan_huyen&&($condition_kh_custs_users$$.quan_huyen=$condition$$.quan_huyen);$condition$$.xa_phuong&&($condition_kh_custs_users$$.xa_phuong=$condition$$.xa_phuong);
6
- Object.keys($condition_kh_custs_users$$).length>0&&($condition_kh_custs_users$$.id_app=$condition$$.id_app,$condition_kh_custs_users$$=await global.getModel("customer").find($condition_kh_custs_users$$,{ma_kh:1}).lean(),$query_req$$.ma_kh={$in:$condition_kh_custs_users$$.map($c$$=>$c$$.ma_kh)})}$condition$$.ma_kho&&($query_req$$.$or=[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]);$condition$$.ma_ct&&($query_req$$.ma_ct=$condition$$.ma_ct);$condition$$.be_introduced_by&&($condition_kh_custs_users$$=
7
- (await introducer.find({id_app:$condition$$.id_app,be_introduced_by:$condition$$.be_introduced_by},{be_introduced:1})).map($u$$=>$u$$.be_introduced),$query_req$$.user_created={$in:$condition_kh_custs_users$$});$condition$$.ma_ct&&($query_req$$.ma_ct=$condition$$.ma_ct);$condition$$.user_hoa_hong&&($query_req$$.$or?$query_req$$.$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},
8
- {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_req$$.$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},
9
- {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_req$$,function($error$$,$rs$$,$ptthanhtoans$$){if($error$$)return $callback$$($error$$);let $thanh_toan$$=[];$ptthanhtoans$$&&($thanh_toan$$=$ptthanhtoans$$.map($pt$$=>
10
- ({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");$r$$.t_tien=$r$$.details.csum("tien");$r$$.t_tien_cp=$r$$.details.csum("tien_cp");$r$$.tien_ck_hd=$r$$.tien_ck_hd?$r$$.tien_ck_hd:0;$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat");
11
- $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?($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"),
12
- $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);$r$$.t_so_bill=$r$$.so_ct!=="HD7"?1:0;$callback$$(null,$r$$)},function($error$$,$rs$$){if($error$$)return $callback$$($error$$);$rs$$.groupBy("ma_kh",
13
- [{name:"t_so_bill",value:"t_so_bill"},{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_tien_cp",value:"t_tien_cp"},{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_freeship",value:"tien_freeship"},{name:"tien_phi_vc",value:"tien_phi_vc"},{name:"tien_evoucher",value:"tien_evoucher"},{name:"tien_thu",value:"tien_thu"},
14
- {name:"tien_thu2",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$$],async($error$$,$report$$)=>{if($error$$)return $callback$$($error$$);$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||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_cp||0);$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});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(" ")}]);const $tong_cong$$={ten_kh:"T\u1ed5ng c\u1ed9ng",
17
- 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"),t_phai_thu:$report$$.csum("t_phai_thu"),
18
- 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"),t_tien_thue_tl:$report$$.csum("t_tien_thue_tl"),
19
- 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"),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$$=>
20
- $t$$.tong_cong)})})})})})};
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)})})};
@@ -1,18 +1,15 @@
1
- const databanle=require("../../libs/databanle"),dmkho=global.getModel("dmkho"),async=require("async"),controller=require("../../controllers/controllerRPT");
2
- module.exports=function($router$$){new controller($router$$,"dtbanletheokho",async 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};$query_req$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query_req$$.ma_dvcs=$condition$$.ma_dvcs);if($condition$$.ma_kh)$query_req$$.ma_kh=
3
- $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,{status:!0}),$condition_kh_custs$$.nh_kh2={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});
4
- $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}),$condition_kh_custs$$.nh_kh4={$in:$nh_khs_nh_khs2_nh_khs3_nh_khs4_nh_khs5$$});$condition$$.nh_kh5&&
5
- ($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$$,{ma_kh:1}).lean(),$query_req$$.ma_kh={$in:$condition_kh_custs$$.map($c$$=>$c$$.ma_kh)})}$condition$$.ma_kho&&
6
- ($condition$$.ma_kho.indexOf(",")&&($condition$$.ma_kho=$condition$$.ma_kho.split(",")),$query_req$$.$or=[{ma_kho:$condition$$.ma_kho},{"details.ma_kho":$condition$$.ma_kho}]);$condition$$.ma_ct&&($query_req$$.ma_ct=$condition$$.ma_ct);$condition$$.user_hoa_hong&&($query_req$$.$or?$query_req$$.$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},
7
- {"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_req$$.$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},
8
- {"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_req$$,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$$,
9
- 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_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");$r$$.t_tien_hoa_hong=$r$$.details.csum("tien_hoa_hong");$r$$.t_tien_hoa_hong_gt=
10
- $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"),$r$$.t_sl_nhap=$r$$.details_tl.csum("sl_nhap"),$r$$.t_tien_hoa_hong-=
11
- $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$$);$rs$$.groupBy("ma_kho",[{name:"t_sl_xuat",value:"t_sl_xuat"},{name:"t_tien_hang",value:"t_tien_hang"},{name:"t_tien_hang_ct",
12
- value:"t_tien_hang_ct"},{name:"t_tien_cp",value:"t_tien_cp"},{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_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",value:"tien_thu2"},{name:"tien_paymentByPoints",value:"tien_paymentByPoints"},{name:"t_tien_xuat",value:"t_tien_xuat"},
13
- {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",value:"t_tien_hoa_hong_ql"},...$thanh_toan$$],function($error$$,$report$$){if($error$$)return $callback$$($error$$);
14
- 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=$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)-
15
- ($r$$.t_tien_cp||0);$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,dmkho,[{where:"ma_kho",fields:"ten_kho"}],function(){const $tong_cong$$={ten_kho:"T\u1ed5ng c\u1ed9ng",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"),
16
- 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"),t_phai_thu:$report$$.csum("t_phai_thu"),t_doanh_thu:$report$$.csum("t_doanh_thu"),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"),t_doanh_thu_thuan:$report$$.csum("t_doanh_thu_thuan"),
17
- 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"),
18
- 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)})})})})})})};
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)})})};
@@ -1,4 +1,4 @@
1
- const databanle=require("../../libs/databanle"),databanlenpp=require("../../libs/databanlenpp"),async=require("async"),moment=require("moment"),kpistatus=require("../../libs/kpistatus"),controller=require("../../controllers/controllerRPT"),_=require("lodash");
1
+ const databanle=require("../../libs/databanle"),databanlenpp=require("../../libs/databanlenpp"),async=require("async"),moment=require("moment"),{kpistatus}=require("../../libs/kpistatus"),controller=require("../../controllers/controllerRPT"),_=require("lodash");
2
2
  module.exports=function($router$$){new controller($router$$,"hoahong",async function($m_m$$,$callback$$){const $condition$$=$m_m$$.query;$condition$$.tu_ngay||($m_m$$=moment(),$condition$$.nam&&$m_m$$.set("year",Number($condition$$.nam)),$condition$$.thang?($m_m$$.set("month",Number($condition$$.thang)-1),$condition$$.tu_ngay=$m_m$$.startOf("month").toDate()):$condition$$.tu_ngay=$m_m$$.startOf("year").toDate());$condition$$.den_ngay||($m_m$$=moment(),$condition$$.nam&&$m_m$$.set("year",Number($condition$$.nam)),
3
3
  $condition$$.thang?($m_m$$.set("month",Number($condition$$.thang)-1),$condition$$.den_ngay=$m_m$$.endOf("month").toDate()):$condition$$.den_ngay=$m_m$$.endOf("year").toDate());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=$condition$$.ma_kho);$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$condition$$.user_hoa_hong&&($query$$.$or=
4
4
  [{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},{"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},{"details.user_ql":$condition$$.user_hoa_hong}]);
@@ -2,4 +2,4 @@ const sctvt=require("../../libs/ctvt"),dmvt=global.getModel("dmvt"),dmnvt=global
2
2
  module.exports=function($router$$){new controller($router$$,"sctvt",function($query_req$$,$callback$$){$query_req$$=$query_req$$.query;if(!$query_req$$.tu_ngay||!$query_req$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay,ma_vt");const $id_app$$=$query_req$$.id_app;sctvt($query_req$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);async.parallel({vt:$callback$$=>{$report$$.joinModel2($id_app$$,dmvt,[{where:"ma_vt",
3
3
  fields:["ten_vt","ma_ncc","ma_nvt","ma_dvt"]}],function(){$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:[{ten_nvt:"ten_nvt"}]},()=>{$callback$$()})})})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),
4
4
  fields:[{barcode1:"ma_tt2"},{ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),
5
- fields:[{barcode3:"ma_tt2"},{ten_tt3:"ten_tt"}]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:"ten_kho"}],function(){$callback$$()})}},()=>{$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.sysorder.toString()+($r$$.ngay_ct?moment($r$$.ngay_ct).format("YYYYMMDD"):"0")});$callback$$(null,$report$$)})})})};
5
+ fields:[{barcode3:"ma_tt2"},{ten_tt3:"ten_tt"}]},()=>{$callback$$()})},kho:$callback$$=>{$report$$.joinModel2($id_app$$,dmkho,[{where:"ma_kho",fields:"ten_kho"}],function(){$callback$$()})}},()=>{$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.sysorder.toString()+($r$$.ngay_ct_full?moment($r$$.ngay_ct_full).format("YYYYMMDD-HH:MM:SS"):"0")});$callback$$(null,$report$$)})})})};
@@ -1,4 +1,4 @@
1
- const async=require("async"),_=require("lodash"),controller=require("../../controllers/controllerRPT"),kpistatus=require("../../libs/kpistatus"),dmkho=global.getModel("dmkho"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi");
1
+ const async=require("async"),_=require("lodash"),controller=require("../../controllers/controllerRPT"),{kpistatus}=require("../../libs/kpistatus"),dmkho=global.getModel("dmkho"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi");
2
2
  module.exports=function($router$$){new controller($router$$,"sosanhkhvatt2",async function($req$$,$callback$$){let $condition$$=$req$$.query;if(!$condition$$.nam)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 nam");$condition$$.ct_theo||($condition$$.ct_theo="thang");kpistatus($condition$$).then($rs$$=>{let $report$$=$rs$$.rows,$columns$$=$rs$$.columns;async.parallel({kho:$callback$$=>{$report$$.filter($d$$=>$d$$.ma_kho).joinModel2($condition$$.id_app,dmkho,
3
3
  {where:"ma_kho",fields:{ten_kho:"ten_kho"}},()=>{$callback$$()})},nv:$callback$$=>{$report$$.filter($d$$=>$d$$.ma_nv).joinModel2($condition$$.id_app,dmnv,{where:"ma_nv",fields:{ten_nv:"ten_nv"}},()=>{$callback$$()})},ma_bp:$callback$$=>{$report$$.filter($d$$=>$d$$.ma_bp).joinModel2($condition$$.id_app,dmbp,{where:"ma_bp",fields:{ten_bp:"ten_bp"}},()=>{$callback$$()})},ma_dt:$callback$$=>{$report$$.filter($d$$=>$d$$.ma_dt).joinModel2($condition$$.id_app,dmdt,{where:"ma_dt",fields:{ten_dt:"ten_dt"}},
4
4
  ()=>{$callback$$()})},ma_phi:$callback$$=>{$report$$.filter($d$$=>$d$$.ma_phi).joinModel2($condition$$.id_app,dmphi,{where:"ma_phi",fields:{ten_phi:"ten_phi"}},()=>{$callback$$()})},group:function($callback$$){$report$$.filter($r$$=>$r$$.group_id).joinModel2($condition$$.id_app,global.getModel("group"),{where:{group_id:"_id"},fields:{group_name:"group_name"}},function(){$callback$$()})}},()=>{if($condition$$.groupby){let $fields$$=$columns$$.map($c$$=>$c$$.value_field);$report$$.groupBy($condition$$.groupby,
@@ -1,11 +1,11 @@
1
1
  const thnxt=require("../../libs/thnxt"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),customer=global.getModel("customer"),controller=require("../../controllers/controllerRPT"),async=require("async"),crypto=require("crypto");
2
2
  module.exports=function($router$$){new controller($router$$,"thnxt",function($req$$,$callback$$){const $query$$=$req$$.query,$id_app$$=$req$$.query.id_app;if(!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay");$callback$$(null,null,"begin");const $uniqueId$$=crypto.randomUUID();console.time("[thnxt] ch\u1ea1y b\u00e1o c\u00e1o "+$uniqueId$$.toString());(new Promise(($resolve$$,$reject$$)=>{if($query$$.ma_vt&&
3
3
  $query$$.ma_vt.length!=0||!($query$$.ma_ncc||$query$$.ma_nvt||$query$$.ma_nvt2||$query$$.ma_nvt3||$query$$.ma_nvt4||$query$$.ma_lvt))$resolve$$($query$$.ma_vt);else{const $_query$$={id_app:$id_app$$,tg_tk:!0};$query$$.ma_ncc&&($_query$$.ma_ncc=$query$$.ma_ncc);$query$$.ma_nvt&&$query$$.ma_nvt.length>0&&($_query$$.ma_nvt=$query$$.ma_nvt);$query$$.ma_nvt2&&$query$$.ma_nvt2.length>0&&($_query$$.ma_nvt2=$query$$.ma_nvt2);$query$$.ma_nvt3&&$query$$.ma_nvt3.length>0&&($_query$$.ma_nvt3=$query$$.ma_nvt3);
4
- $query$$.ma_nvt4&&$query$$.ma_nvt4.length>0&&($_query$$.ma_nvt4=$query$$.ma_nvt4);$query$$.ma_lvt&&($_query$$.ma_lvt=$query$$.ma_lvt);$callback$$(null,null,"running");dmvt.find($_query$$,{ma_vt:1}).lean().exec(($err$$,$rs$$)=>{if($err$$)return $reject$$($err$$);$callback$$(null,null,"running");Logger.info("[thnxt] l\u1ea5y danh s\u00e1ch c\u00e1c s\u1ea3n ph\u1ea9m c\u1ea7n b\u00e1o c\u00e1o",$_query$$,$rs$$);$resolve$$($rs$$.map($r$$=>$r$$.ma_vt))})}})).then($ma_vt$$=>{$ma_vt$$&&$ma_vt$$.length>
5
- 0?$query$$.ma_vt=$ma_vt$$:delete $query$$.ma_vt;$callback$$(null,null,"running");thnxt($query$$,function($error$$,$report$$,$groupBy$$){if($error$$)return $callback$$($error$$);$callback$$(null,null,"running");console.time("[thnxt] chu\u1ea9n b\u1ecb d\u1eef li\u1ec7u tr\u01b0\u1edbc khi tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 "+$uniqueId$$.toString());async.parallel({vt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt).joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:"ten_vt tg_tk ma_ncc ma_dvt ma_nvt ma_vt2 picture ma_pk_xuat".split(" ")},
6
- ()=>{$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:["ten_nvt"]},()=>{$callback$$()})})})},kho:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:["ten_kho"]},()=>{$callback$$()})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),
7
- {where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:[{barcode1:"ma_tt2"},{ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),
8
- {where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:[{barcode3:"ma_tt2"},{ten_tt3:"ten_tt"}]},()=>{$callback$$()})}},async()=>{$callback$$(null,null,"running");$report$$=$report$$.filter($r$$=>!$r$$.ma_vt||$r$$.tg_tk);const $xulytungvattu$$=async $row$$=>{if($row$$.picture){var $p_sp_full$$=$row$$.picture.split(".");$row$$.picture_thumb=$row$$.picture+".thumb."+$p_sp_full$$[$p_sp_full$$.length-1]}else $row$$.picture="/getfile/others/noimage.png",$row$$.picture_thumb="/getfile/others/noimage.png";
9
- $row$$.barcode=$row$$.barcode1||$row$$.barcode2||$row$$.barcode3||$row$$.ma_vt2;$row$$.ma_vt_full=(await global.getModel("dmvt").find({id_app:$id_app$$,ma_pk_xuat:$row$$.ma_vt},{ma_vt:1}).lean()).map($r$$=>$r$$.ma_vt);if($row$$.ma_vt_full.length>0){let $_c$$={...$query$$,ma_vt:$row$$.ma_vt_full};$p_sp_full$$=await new Promise(($res$$,$rej$$)=>{thnxt($_c$$,($e$$,$rs$$)=>{if($e$$)return $rej$$($e$$);$res$$($rs$$)})});$row$$.ton_cuoi_full=$p_sp_full$$.map($a$$=>$a$$.ton_cuoi||0).reduce(($a$$,$b$$)=>
10
- $a$$+$b$$,0);$row$$.ton_cuoi_empty=$row$$.ton_cuoi-$row$$.ton_cuoi_full}};await Promise.all($report$$.filter($r$$=>$r$$.ma_vt).map($row$$=>$xulytungvattu$$($row$$)));const $total$$={[$groupBy$$[0]]:"T\u1ed5ng c\u1ed9ng",ton_dau:$report$$.csum("ton_dau"),du_dau:$report$$.csum("du_dau"),sl_nhap:$report$$.csum("sl_nhap"),tien_nhap:$report$$.csum("tien_nhap"),sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),ton_cuoi:$report$$.csum("ton_cuoi"),du_cuoi:$report$$.csum("du_cuoi"),systotal:1,
11
- bold:!0};$report$$.push($total$$);$callback$$(null,$report$$,"data");$callback$$(null,null,"end");console.timeEnd("[thnxt] chu\u1ea9n b\u1ecb d\u1eef li\u1ec7u tr\u01b0\u1edbc khi tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 "+$uniqueId$$.toString());console.timeEnd("[thnxt] ch\u1ea1y b\u00e1o c\u00e1o "+$uniqueId$$.toString())})},$log$$=>{$callback$$(null,null,"running");Logger.info($log$$)})}).catch($e$$=>{$callback$$($e$$)})},{stream:!0})};
4
+ $query$$.ma_nvt4&&$query$$.ma_nvt4.length>0&&($_query$$.ma_nvt4=$query$$.ma_nvt4);$query$$.ma_lvt&&($_query$$.ma_lvt=$query$$.ma_lvt);$callback$$(null,null,"running");dmvt.find($_query$$,{ma_vt:1}).lean().exec(($err$$,$rs$$)=>{if($err$$)return $reject$$($err$$);$callback$$(null,null,"running");$resolve$$($rs$$.map($r$$=>$r$$.ma_vt))})}})).then($ma_vt$$=>{$ma_vt$$&&$ma_vt$$.length>0?$query$$.ma_vt=$ma_vt$$:delete $query$$.ma_vt;$callback$$(null,null,"running");thnxt($query$$,function($error$$,$report$$,
5
+ $groupBy$$){if($error$$)return $callback$$($error$$);$callback$$(null,null,"running");console.time("[thnxt] chu\u1ea9n b\u1ecb d\u1eef li\u1ec7u tr\u01b0\u1edbc khi tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 "+$uniqueId$$.toString());async.parallel({vt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt).joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:"ten_vt tg_tk ma_ncc ma_dvt ma_nvt ma_vt2 picture ma_pk_xuat".split(" ")},()=>{$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},
6
+ fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:["ten_nvt"]},()=>{$callback$$()})})})},kho:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:["ten_kho"]},()=>{$callback$$()})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:[{barcode1:"ma_tt2"},
7
+ {ten_tt1:"ten_tt"}]},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:[{barcode2:"ma_tt2"},{ten_tt2:"ten_tt"}]},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:[{barcode3:"ma_tt2"},
8
+ {ten_tt3:"ten_tt"}]},()=>{$callback$$()})}},async()=>{$callback$$(null,null,"running");$report$$=$report$$.filter($r$$=>!$r$$.ma_vt||$r$$.tg_tk);const $xulytungvattu$$=async $row$$=>{if($row$$.picture){var $p_sp_full$$=$row$$.picture.split(".");$row$$.picture_thumb=$row$$.picture+".thumb."+$p_sp_full$$[$p_sp_full$$.length-1]}else $row$$.picture="/getfile/others/noimage.png",$row$$.picture_thumb="/getfile/others/noimage.png";$row$$.barcode=$row$$.barcode1||$row$$.barcode2||$row$$.barcode3||$row$$.ma_vt2;
9
+ $row$$.ma_vt_full=(await global.getModel("dmvt").find({id_app:$id_app$$,ma_pk_xuat:$row$$.ma_vt},{ma_vt:1}).lean()).map($r$$=>$r$$.ma_vt);if($row$$.ma_vt_full.length>0){let $_c$$={...$query$$,ma_vt:$row$$.ma_vt_full};$p_sp_full$$=await new Promise(($res$$,$rej$$)=>{thnxt($_c$$,($e$$,$rs$$)=>{if($e$$)return $rej$$($e$$);$res$$($rs$$)})});$row$$.ton_cuoi_full=$p_sp_full$$.map($a$$=>$a$$.ton_cuoi||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$row$$.ton_cuoi_empty=$row$$.ton_cuoi-$row$$.ton_cuoi_full}};await Promise.all($report$$.filter($r$$=>
10
+ $r$$.ma_vt).map($row$$=>$xulytungvattu$$($row$$)));const $total$$={[$groupBy$$[0]]:"T\u1ed5ng c\u1ed9ng",ton_dau:$report$$.csum("ton_dau"),du_dau:$report$$.csum("du_dau"),sl_nhap:$report$$.csum("sl_nhap"),tien_nhap:$report$$.csum("tien_nhap"),sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),ton_cuoi:$report$$.csum("ton_cuoi"),du_cuoi:$report$$.csum("du_cuoi"),systotal:1,bold:!0};$report$$.push($total$$);$callback$$(null,$report$$,"data");$callback$$(null,null,"end");console.timeEnd("[thnxt] chu\u1ea9n b\u1ecb d\u1eef li\u1ec7u tr\u01b0\u1edbc khi tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 "+
11
+ $uniqueId$$.toString());console.timeEnd("[thnxt] ch\u1ea1y b\u00e1o c\u00e1o "+$uniqueId$$.toString())})},$log$$=>{$callback$$(null,null,"running");Logger.info($log$$)})}).catch($e$$=>{$callback$$($e$$)})},{stream:!0})};
@@ -1,4 +1,4 @@
1
- const databanle=require("../../libs/databanle"),async=require("async"),moment=require("moment"),kpistatus=require("../../libs/kpistatus"),controller=require("../../controllers/controllerRPT"),_=require("lodash");
1
+ const databanle=require("../../libs/databanle"),async=require("async"),moment=require("moment"),{kpistatus}=require("../../libs/kpistatus"),controller=require("../../controllers/controllerRPT"),_=require("lodash");
2
2
  module.exports=function($router$$){new controller($router$$,"tongquannvbh",async function($m_m$$,$callback$$){const $condition$$=$m_m$$.query;$condition$$.tu_ngay||($m_m$$=moment(),$condition$$.nam&&$m_m$$.set("year",Number($condition$$.nam)),$condition$$.thang?($m_m$$.set("month",Number($condition$$.thang)-1),$condition$$.tu_ngay=$m_m$$.startOf("month").toDate()):$condition$$.tu_ngay=$m_m$$.startOf("year").toDate());$condition$$.den_ngay||($m_m$$=moment(),$condition$$.nam&&$m_m$$.set("year",Number($condition$$.nam)),
3
3
  $condition$$.thang?($m_m$$.set("month",Number($condition$$.thang)-1),$condition$$.den_ngay=$m_m$$.endOf("month").toDate()):$condition$$.den_ngay=$m_m$$.endOf("year").toDate());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=$condition$$.ma_kho);$condition$$.ma_ct&&($query$$.ma_ct=$condition$$.ma_ct);$condition$$.user_hoa_hong&&($query$$.$and||
4
4
  ($query$$.$and=[]),$query$$.$and.push({$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},{"details.user_ctv2":$condition$$.user_hoa_hong},{"details.user_kho":$condition$$.user_hoa_hong},{"details.user_gt":$condition$$.user_hoa_hong},
@@ -12,11 +12,11 @@ $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp c\u00f4ng ty n\u00
12
12
  {$or:$or2$$}]:$condition$$.$or=$_appsOfUser_or1$$;$condition$$.working||(isSupperAdmin($user$$.email.toLowerCase())?delete $user_created_condition$$.user_created:underscore.contains(configs.admins,$user$$.email)&&($user_created_condition$$.user_created={$nin:["invncur@gmail.com","admin"]}));delete $condition$$.working;$user$$.token_id_app&&($condition$$._id=$user$$.token_id_app);$user$$.token_id_apps&&$user$$.token_id_apps.length>0&&($condition$$._id={$in:$user$$.token_id_apps});$next$$(null,$condition$$)}catch($e$$){Logger.error("[sys-app] finding:",
13
13
  $e$$),$next$$($e$$.message||$e$$.error||$e$$)}};$contr_router$$.creating=async function($user$$,$obj$$,$next$$){if($user$$.token_id_app||$user$$.token_id_apps&&$user$$.token_id_apps.length>0)return $next$$({error:"Kh\u00f4ng th\u1ec3 t\u1ea1o c\u00f4ng ty m\u1edbi v\u1edbi m\u1eadt kh\u1ea9u b\u1ea1n \u0111ang s\u1eed d\u1ee5ng. H\u00e3y \u0111\u0103ng nh\u1eadp b\u1eb1ng m\u1eadt kh\u1ea9u ch\u00ednh c\u1ee7a b\u1ea1n \u0111\u1ec3 t\u1ea1o c\u00f4ng ty m\u1edbi"});if(!$user$$.admin){var $now_sl_da_tao$$=
14
14
  await model.countDocuments({user_created:$user$$.email});$user$$=await global.getModel("user").findOne({email:$user$$.email}).lean();if($now_sl_da_tao$$>=($user$$?.so_luong_db||1))return $next$$("S\u1ed1 l\u01b0\u1ee3ng c\u00f4ng ty b\u1ea1n c\u00f3 th\u1ec3 kh\u1edfi t\u1ea1o \u0111\u00e3 h\u1ebft.");delete $obj$$.allow_modules;delete $obj$$.trang_thai;delete $obj$$.sale_online}if(!$obj$$.ngay_dn)return $next$$(Error("Ng\u00e0y \u0111\u1ea7u n\u0103m t\u00e0i ch\u00ednh kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng"));
15
- $obj$$.ngay_ks||($obj$$.ngay_ks=new Date("2000-01-01"));$obj$$.ngay_ky1||($obj$$.ngay_ky1=new Date);$now_sl_da_tao$$=new Date;$now_sl_da_tao$$.setMonth($now_sl_da_tao$$.getMonth()+1);$obj$$.expire_date=new Date($now_sl_da_tao$$);$obj$$.nam_bd=$obj$$.ngay_ky1.getFullYear();$obj$$.options=$obj$$.options||{};$obj$$.openapi_key&&!$obj$$.openapi_key.startsWith("flexbiz::")&&($obj$$.openapi_key="flexbiz::"+encrypt($obj$$.openapi_key));$next$$(null,$obj$$)};$contr_router$$.created=function($user$$,$obj$$,
16
- $next$$){Logger.warn("\ud83d\udd25[app][created] Kh\u1edfi t\u1ea1o d\u1eef li\u1ec7u cho c\u00f4ng ty m\u1edbi...");require("../../libs/initDatabase").init($obj$$._id,async $error$$=>{if($error$$)return Logger.error("[app][created] Kh\u00f4ng th\u1ec3 kh\u1edfi t\u1ea1o d\u1eef li\u1ec7u cho c\u00f4ng ty m\u1edbi. L\u1ed7i:"+$error$$),$next$$(`Kh\u00f4ng th\u1ec3 kh\u1edfi t\u1ea1o d\u1eef li\u1ec7u cho c\u00f4ng ty m\u1edbi. L\u1ed7i: ${$error$$.message||$error$$.error||$error$$}`);Logger.warn("\u2705 [app][created] \u0111\u00e3 kh\u1edfi t\u1ea1o xong d\u1eef li\u1ec7u cho c\u00f4ng ty m\u1edbi");
17
- createUserOwner($obj$$,$e$$=>{if($e$$)return Logger.error("[app][created] Kh\u00f4ng th\u1ec3 kh\u1edfi t\u1ea1o ng\u01b0\u1eddi d\u00f9ng cho c\u00f4ng ty m\u1edbi. L\u1ed7i:",$e$$),$next$$(`Kh\u00f4ng th\u1ec3 kh\u1edfi t\u1ea1o ng\u01b0\u1eddi d\u00f9ng cho c\u00f4ng ty m\u1edbi. L\u1ed7i: ${$e$$.message||$e$$.error||$e$$}`);Logger.warn("\u2705 [app][created] \u0111\u00e3 t\u1ea1o xong c\u00f4ng ty m\u1edbi");$next$$(null,$obj$$)})})};$contr_router$$.updating=async function($user$$,$data$$,$obj$$,
18
- $next$$){delete $data$$.ngay_ks;$user$$.admin||(delete $data$$.allow_modules,delete $data$$.expire_date,delete $data$$.trang_thai,delete $data$$.sale_online,delete $data$$.menu_code,delete $data$$.openapi_key);$data$$.openapi_key&&!$data$$.openapi_key.startsWith("flexbiz::")&&($data$$.openapi_key="flexbiz::"+encrypt($data$$.openapi_key));permission.isAdmin($obj$$._id,$user$$.email,function($e$$,$admin$$){if(!$admin$$&&!$user$$.admin)return $next$$($user$$.email+" have not permission");$data$$.ngay_ky1&&
19
- ($data$$.nam_bd=(new Date($data$$.ngay_ky1)).getFullYear());$data$$.options&&Object.keys($data$$.options).length===0&&delete $data$$.options;$data$$.options=$data$$.options?{...$obj$$.options,...$data$$.options}:$obj$$.options||{};$next$$(null,$data$$,$obj$$)})};$contr_router$$.updated=function($user$$,$obj$$,$next$$){createUserOwner($obj$$,$e$$=>{$e$$&&Logger.error($e$$);$next$$(null,$obj$$)})};$contr_router$$.deleting=function($user$$,$obj$$,$next$$){if($user$$.email!=$obj$$.user_created&&!$user$$.admin)return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n x\u00f3a c\u00f4ng ty n\u00e0y");
15
+ $obj$$.ngay_ks||($obj$$.ngay_ks=new Date("2000-01-01"));$obj$$.ngay_ky1||($obj$$.ngay_ky1=new Date);$now_sl_da_tao$$=new Date;$now_sl_da_tao$$.setMonth($now_sl_da_tao$$.getMonth()+1);$obj$$.expire_date=new Date($now_sl_da_tao$$);$obj$$.nam_bd=$obj$$.ngay_ky1.getFullYear();$obj$$.options=$obj$$.options||{};$obj$$.ai_api_key&&!$obj$$.ai_api_key.startsWith("flexbiz::")&&($obj$$.ai_api_key="flexbiz::"+encrypt($obj$$.ai_api_key));$next$$(null,$obj$$)};$contr_router$$.created=function($user$$,$obj$$,$next$$){Logger.warn("\ud83d\udd25[app][created] Kh\u1edfi t\u1ea1o d\u1eef li\u1ec7u cho c\u00f4ng ty m\u1edbi...");
16
+ require("../../libs/initDatabase").init($obj$$._id,async $error$$=>{if($error$$)return Logger.error("[app][created] Kh\u00f4ng th\u1ec3 kh\u1edfi t\u1ea1o d\u1eef li\u1ec7u cho c\u00f4ng ty m\u1edbi. L\u1ed7i:"+$error$$),$next$$(`Kh\u00f4ng th\u1ec3 kh\u1edfi t\u1ea1o d\u1eef li\u1ec7u cho c\u00f4ng ty m\u1edbi. L\u1ed7i: ${$error$$.message||$error$$.error||$error$$}`);Logger.warn("\u2705 [app][created] \u0111\u00e3 kh\u1edfi t\u1ea1o xong d\u1eef li\u1ec7u cho c\u00f4ng ty m\u1edbi");createUserOwner($obj$$,
17
+ $e$$=>{if($e$$)return Logger.error("[app][created] Kh\u00f4ng th\u1ec3 kh\u1edfi t\u1ea1o ng\u01b0\u1eddi d\u00f9ng cho c\u00f4ng ty m\u1edbi. L\u1ed7i:",$e$$),$next$$(`Kh\u00f4ng th\u1ec3 kh\u1edfi t\u1ea1o ng\u01b0\u1eddi d\u00f9ng cho c\u00f4ng ty m\u1edbi. L\u1ed7i: ${$e$$.message||$e$$.error||$e$$}`);Logger.warn("\u2705 [app][created] \u0111\u00e3 t\u1ea1o xong c\u00f4ng ty m\u1edbi");$next$$(null,$obj$$)})})};$contr_router$$.updating=async function($user$$,$data$$,$obj$$,$next$$){delete $data$$.ngay_ks;
18
+ $user$$.admin||(delete $data$$.allow_modules,delete $data$$.expire_date,delete $data$$.trang_thai,delete $data$$.sale_online,delete $data$$.menu_code,delete $data$$.ai_api_key);$data$$.ai_api_key&&!$data$$.ai_api_key.startsWith("flexbiz::")&&($data$$.ai_api_key="flexbiz::"+encrypt($data$$.ai_api_key));permission.isAdmin($obj$$._id,$user$$.email,function($e$$,$admin$$){if(!$admin$$&&!$user$$.admin)return $next$$($user$$.email+" have not permission");$data$$.ngay_ky1&&($data$$.nam_bd=(new Date($data$$.ngay_ky1)).getFullYear());
19
+ $data$$.options&&Object.keys($data$$.options).length===0&&delete $data$$.options;$data$$.options=$data$$.options?{...$obj$$.options,...$data$$.options}:$obj$$.options||{};$next$$(null,$data$$,$obj$$)})};$contr_router$$.updated=function($user$$,$obj$$,$next$$){createUserOwner($obj$$,$e$$=>{$e$$&&Logger.error($e$$);$next$$(null,$obj$$)})};$contr_router$$.deleting=function($user$$,$obj$$,$next$$){if($user$$.email!=$obj$$.user_created&&!$user$$.admin)return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n x\u00f3a c\u00f4ng ty n\u00e0y");
20
20
  $next$$(null,$obj$$)};$contr_router$$.deleted=function($user$$,$obj$$,$next$$){async.mapLimit(fs.readdirSync(path.dirname(path.dirname(__dirname))+"/models").filter($f$$=>$f$$.indexOf(".js")>0),20,($file$$,$callback$$)=>{try{let $_model$$=global.getModel(""+$file$$);underscore.has($_model$$.schema.paths,"id_app")?$_model$$.deleteMany({id_app:$obj$$._id},()=>{Logger.info("Deleted ",$file$$,"id_app",$obj$$._id);$callback$$()}):$callback$$()}catch($e$$){Logger.error("Can't delete mode",$file$$,"error:",
21
21
  $e$$.message),$callback$$()}},()=>{$next$$(null,$obj$$)})};$contr_router$$.router.route($contr_router$$.route_name+"/backup/:id").get(function($req$$,$res$$){let $email$$=$req$$.user.email,$id_app$$=$req$$.params.id;permission.isAdmin($id_app$$,$email$$,function($backupWorkerFile_e$$,$admin$$){if(!$admin$$)return $res$$.status(400).send({error:"Ch\u1ec9 admin m\u1edbi c\u00f3 quy\u1ec1n backup d\u1eef li\u1ec7u c\u1ee7a c\u00f4ng ty"});global.backupPool||($backupWorkerFile_e$$=path.dirname(path.dirname(__dirname))+
22
22
  "/workers/backupApp.js",global.backupPool=new StaticPool($backupWorkerFile_e$$,0,1,18E5));global.getModel("log").create({id_app:$id_app$$,id_func:"app",action:"BACKUP",data:{dateFrom:$req$$.query.dateFrom,dateTo:$req$$.query.dateTo,backup_app_info:$req$$.query.backup_app_info}},$req$$.user.email,$req$$.user_agent,$req$$);global.backupPool.exec({id:$id_app$$,user:$email$$,dateFrom:$req$$.query.dateFrom,dateTo:$req$$.query.dateTo,backup_app_info:$req$$.query.backup_app_info,configs:{database:global.configs.database}},
@@ -56,18 +56,18 @@ module.exports=function($contr_router$$){$contr_router$$=new controller($contr_r
56
56
  $user$$.email);$obj$$.details.forEach($d$$=>{$d$$.tien_xuat_tmp=$d$$.sl_xuat*($d$$.gia_mua||0)});await chietkhauhd($obj$$);await khuyenmaihd($obj$$);$obj$$.details.forEach($d$$=>{$d$$.sl_xuat=utils.round($d$$.sl_xuat,4);$d$$.tt_nt=($d$$.tien_han_ct_nt||0)-($d$$.tien_ck_nt||0);$d$$.tt=($d$$.tien_hang_ct||0)-($d$$.tien_ck||0)});await tinhhoahong($obj$$,$user$$)};$contr_router$$.handleAfterPayment=async $obj$$=>{Logger.info("[so1][handleAfterPayment]",$obj$$);$obj$$.trang_thai_tt="5";$obj$$.trang_thai=
57
57
  "1";await model.updateOne({_id:$obj$$._id},{details:$obj$$.details,trang_thai_tt:"5",trang_thai:"1"});let $ctrlSO1$$=global.controllers.SO1;$ctrlSO1$$&&(await controller.asyncPostData($obj$$,$ctrlSO1$$),controller.pushNotification($ctrlSO1$$,$obj$$));return null};$contr_router$$.post=async function($obj$$,$fn$$,$_options$$={}){$fn$$||=function(){};let $he_so_qd$$=await currency.getRate($obj$$.id_app,$obj$$.ma_nt)||1;const $appInfo$$=await global.getModel("app").findOne({_id:$obj$$.id_app}).lean();
58
58
  await $obj$$.details.filter($d$$=>!$d$$.ma_thue).asyncJoinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["ma_thue","gia_mua"]});await $obj$$.details.filter($d$$=>$d$$.ma_thue).asyncJoinModel2($obj$$.id_app,global.getModel("vat"),{where:"ma_thue",fields:["thue_suat","tk_thue_co","tk_thue_co_treo"]});let $product_details$$=$obj$$.details.map($detail$$=>$detail$$.combo&&$detail$$.combo.length>0?$detail$$.combo.map($item$$=>{$item$$=$item$$.toObject?$item$$.toObject():{...$item$$};delete $item$$.px_gia_dd;
59
- $item$$.ma_kho=$detail$$.ma_kho;return $item$$}):[$detail$$]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]),$ket_qua_post_sokho$$;async.series({post_sokho:function($callback$$){const $details$$=[];$obj$$.details.forEach($d$$=>{$details$$.push({...$d$$})});(new PostSokho($obj$$,$product_details$$,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.ngay_ct=$obj$$.ngay_giao_hang||$obj$$.ngay_ct;$detail$$.ma_kho=$detail$$.ma_kho||$obj$$.ma_kho;$callback$$($detail$$)})).run(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);
60
- $ket_qua_post_sokho$$=$rs$$.rs_sokho;$callback$$(null,$rs$$)})},post_socai:function($callback$$){options.findOne({id_app:$obj$$.id_app,id_func:ma_ct.toLowerCase()}).lean().exec(async($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$,$rs$jscomp$3_tien_paymentByPoints_tt$$)=>{let $option$$;$option$$=$rs$jscomp$3_tien_paymentByPoints_tt$$?$rs$jscomp$3_tien_paymentByPoints_tt$$.option||{}:{};let $kho$$=await dmkho.findOne({id_app:$obj$$.id_app,ma_kho:$obj$$.ma_kho}).lean();$kho$$||={};let $pt$$;
61
- $obj$$.pt_thanh_toan&&global.mongoose.Types.ObjectId.isValid($obj$$.pt_thanh_toan)&&($pt$$=await ptthanhtoan.findOne({id_app:$obj$$.id_app,_id:$obj$$.pt_thanh_toan}).lean());$pt$$=$pt$$||{};$pt$$.tk_tien=$pt$$.tk_cn;$pt$$.tk_cn=$pt$$.tk_cn||$kho$$.tk_cn;$pt$$.tk_dt=$kho$$.tk_dt||$pt$$.tk_dt;$pt$$.tk_gv=$kho$$.tk_gv||$pt$$.tk_gv;$pt$$.tk_ck=$kho$$.tk_ck||$pt$$.tk_ck;$pt$$.tk_cp_gh=$kho$$.tk_cp_gh||$pt$$.tk_cp_gh;$pt$$.tk_cp_bh=$kho$$.tk_cp_bh||$pt$$.tk_cp_bh;$pt$$.tk_cp_ctv=$kho$$.tk_cp_ctv||$pt$$.tk_cp_ctv;
62
- $pt$$.tk_cn_ctv=$kho$$.tk_cn_ctv||$pt$$.tk_cn_ctv;$option$$.tk_tien=$pt$$.tk_tien||$kho$$.tk_tien||$option$$.tk_tien||"1111";$option$$.tk_cn=$pt$$.tk_cn||$option$$.tk_cn||"131111";$option$$.tk_dt=$pt$$.tk_dt||$option$$.tk_dt||"51111";$option$$.tk_tl=$pt$$.tk_tl||$option$$.tk_tl||"52131";$option$$.tk_ck=$pt$$.tk_ck||$option$$.tk_ck||"52111";$option$$.tk_gv=$pt$$.tk_gv||$option$$.tk_gv||"6321";$option$$.tk_cp_gh=$pt$$.tk_cp_gh||$option$$.tk_cp_gh||"6418";$option$$.tk_cp_bh=$pt$$.tk_cp_bh||$option$$.tk_cp_bh||
63
- $option$$.tk_ck;$option$$.tk_cp_ctv=$pt$$.tk_cp_ctv||$option$$.tk_cp_ctv;$option$$.tk_cn_ctv=$pt$$.tk_cn_ctv||$option$$.tk_cn_ctv;$pt$$.ten&&$pt$$.ten.indexOf("COD")>=0?$option$$.ma_kh=$obj$$.nhan_vien_giao_hang||$obj$$.don_vi_vc||$pt$$.ma_kh||$obj$$.ma_kh:$option$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh;const $details$$=[];$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$=$obj$$.details.map($a$$=>($a$$.tien_hang_nt||0)-($a$$.tien_ck_nt||0)).reduce(($a$$,$b$$)=>$a$$+$b$$,0)-(($obj$$.tt_tien_thuong||
64
- 0)+($obj$$.tien_ck_hd||0)+($obj$$.tien_evoucher||0));$rs$jscomp$3_tien_paymentByPoints_tt$$=$obj$$.tien_paymentByPoints||0;const $hoachtoandtvathue$$=($tk_tien$$,$ty_le$$)=>{$obj$$.details.forEach(function($d$jscomp$26_detail$$){$d$jscomp$26_detail$$={...$d$jscomp$26_detail$$};let $tien_nt$$;$tien_nt$$=$d$jscomp$26_detail$$.tien_hang_ct_nt;$d$jscomp$26_detail$$.tk_co=$option$$.tk_dt;$d$jscomp$26_detail$$.tk_no=$tk_tien$$;$d$jscomp$26_detail$$.ma_kh_co=$obj$$.ma_kh;$d$jscomp$26_detail$$.ma_kh_no=$option$$.ma_kh;
65
- $d$jscomp$26_detail$$.ngay_ct=$obj$$.ngay_giao_hang||$obj$$.ngay_ct;$d$jscomp$26_detail$$.tien=$d$jscomp$26_detail$$.tien_nt=Math.roundBy($tien_nt$$*$ty_le$$);$d$jscomp$26_detail$$.flag="DT_"+($d$jscomp$26_detail$$.ma_vt||"");$details$$.push($d$jscomp$26_detail$$)});$obj$$.details.filter($d$$=>$d$$.tien_thue).forEach($detail$$=>{$detail$$={...$detail$$};$detail$$.tk_no=$tk_tien$$;$detail$$.tk_co=$detail$$.tk_thue_co_treo||$detail$$.tk_thue_co;$detail$$.ma_kh||($detail$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh);
66
- $detail$$.tien=$detail$$.tien_nt=Math.roundBy($detail$$.tien_thue_nt*$ty_le$$);$detail$$.flag="THUE_"+($detail$$.ma_vt||"");$details$$.push($detail$$)})};$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$&&($hoachtoandtvathue$$($option$$.tk_cn,$rs$jscomp$3_tien_paymentByPoints_tt$$/$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$),$hoachtoandtvathue$$($option$$.tk_tien,($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$-$rs$jscomp$3_tien_paymentByPoints_tt$$)/
67
- $error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$));$obj$$.details.filter($d$$=>$d$$.diem_thuong&&$d$$.tk_km_no&&$d$$.tk_km_co).forEach(function($d$$){let $detail$$={...$d$$};$detail$$.tk_co=$option$$.tk_km_co||$d$$.tk_km_co;$detail$$.tk_no=$option$$.tk_km_no||$d$$.tk_km_no;$detail$$.ma_kh=$obj$$.ma_kh;$detail$$.tien=$detail$$.tien_nt=$detail$$.diem_thuong*$he_so_qd$$;$details$$.push($detail$$)});$obj$$.ctcpbhs&&$obj$$.ctcpbhs.forEach(function($d$jscomp$30_detail$$){$d$jscomp$30_detail$$=
68
- {...$d$jscomp$30_detail$$};$d$jscomp$30_detail$$.tk_co=$option$$.tk_dt;$d$jscomp$30_detail$$.tk_no=$option$$.tk_cn;$d$jscomp$30_detail$$.ma_kh_co=$obj$$.ma_kh;$d$jscomp$30_detail$$.ma_kh_no=$option$$.ma_kh;$d$jscomp$30_detail$$.ngay_ct=$obj$$.ngay_giao_hang||$obj$$.ngay_ct;$d$jscomp$30_detail$$.tien_nt=$d$jscomp$30_detail$$.tien_cp_nt;$d$jscomp$30_detail$$.tien=$d$jscomp$30_detail$$.tien_cp;$details$$.push($d$jscomp$30_detail$$)});$obj$$.tien_phi_vc&&$option$$.tk_phi_vc&&($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$=
69
- {},$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=$option$$.tk_phi_vc,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$option$$.tk_cn,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.tien_phi_vc||0,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien=$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh_co=$obj$$.ma_kh,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh_no=
70
- $obj$$.nhan_vien_giao_hang||$obj$$.don_vi_vc,$details$$.push($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$));$obj$$.tien_freeship&&($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$={},$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$option$$.tk_cp_gh,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=$option$$.tk_cn,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.tien_freeship||0,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien=
59
+ $item$$.ma_kho=$detail$$.ma_kho;return $item$$}):[$detail$$]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]),$ket_qua_post_sokho$$;async.series({post_sokho:function($callback$$){(new PostSokho($obj$$,$product_details$$,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.ngay_ct=$obj$$.ngay_giao_hang||$obj$$.ngay_ct;$detail$$.ma_kho=$detail$$.ma_kho||$obj$$.ma_kho;$callback$$($detail$$)})).run(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$ket_qua_post_sokho$$=$rs$$.rs_sokho;$callback$$(null,
60
+ $rs$$)})},post_socai:function($callback$$){options.findOne({id_app:$obj$$.id_app,id_func:ma_ct.toLowerCase()}).lean().exec(async($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$,$rs$jscomp$3_tien_paymentByPoints_tt$$)=>{let $option$$;$option$$=$rs$jscomp$3_tien_paymentByPoints_tt$$?$rs$jscomp$3_tien_paymentByPoints_tt$$.option||{}:{};let $kho$$=await dmkho.findOne({id_app:$obj$$.id_app,ma_kho:$obj$$.ma_kho}).lean();$kho$$||={};let $pt$$;$obj$$.pt_thanh_toan&&global.mongoose.Types.ObjectId.isValid($obj$$.pt_thanh_toan)&&
61
+ ($pt$$=await ptthanhtoan.findOne({id_app:$obj$$.id_app,_id:$obj$$.pt_thanh_toan}).lean());$pt$$=$pt$$||{};$pt$$.tk_tien=$pt$$.tk_cn;$pt$$.tk_cn=$pt$$.tk_cn||$kho$$.tk_cn;$pt$$.tk_dt=$kho$$.tk_dt||$pt$$.tk_dt;$pt$$.tk_gv=$kho$$.tk_gv||$pt$$.tk_gv;$pt$$.tk_ck=$kho$$.tk_ck||$pt$$.tk_ck;$pt$$.tk_cp_gh=$kho$$.tk_cp_gh||$pt$$.tk_cp_gh;$pt$$.tk_cp_bh=$kho$$.tk_cp_bh||$pt$$.tk_cp_bh;$pt$$.tk_cp_ctv=$kho$$.tk_cp_ctv||$pt$$.tk_cp_ctv;$pt$$.tk_cn_ctv=$kho$$.tk_cn_ctv||$pt$$.tk_cn_ctv;$option$$.tk_tien=$pt$$.tk_tien||
62
+ $kho$$.tk_tien||$option$$.tk_tien||"1111";$option$$.tk_cn=$pt$$.tk_cn||$option$$.tk_cn||"131111";$option$$.tk_dt=$pt$$.tk_dt||$option$$.tk_dt||"51111";$option$$.tk_tl=$pt$$.tk_tl||$option$$.tk_tl||"52131";$option$$.tk_ck=$pt$$.tk_ck||$option$$.tk_ck||"52111";$option$$.tk_gv=$pt$$.tk_gv||$option$$.tk_gv||"6321";$option$$.tk_cp_gh=$pt$$.tk_cp_gh||$option$$.tk_cp_gh||"6418";$option$$.tk_cp_bh=$pt$$.tk_cp_bh||$option$$.tk_cp_bh||$option$$.tk_ck;$option$$.tk_cp_ctv=$pt$$.tk_cp_ctv||$option$$.tk_cp_ctv;
63
+ $option$$.tk_cn_ctv=$pt$$.tk_cn_ctv||$option$$.tk_cn_ctv;$pt$$.ten&&$pt$$.ten.indexOf("COD")>=0?$option$$.ma_kh=$obj$$.nhan_vien_giao_hang||$obj$$.don_vi_vc||$pt$$.ma_kh||$obj$$.ma_kh:$option$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh;const $details$$=[];$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$=$obj$$.details.map($a$$=>($a$$.tien_hang_nt||0)-($a$$.tien_ck_nt||0)).reduce(($a$$,$b$$)=>$a$$+$b$$,0)-(($obj$$.tt_tien_thuong||0)+($obj$$.tien_ck_hd||0)+($obj$$.tien_evoucher||0));$rs$jscomp$3_tien_paymentByPoints_tt$$=
64
+ $obj$$.tien_paymentByPoints||0;const $hoachtoandtvathue$$=($tk_tien$$,$ty_le$$)=>{$obj$$.details.forEach(function($d$jscomp$25_detail$$){$d$jscomp$25_detail$$={...$d$jscomp$25_detail$$};let $tien_nt$$;$tien_nt$$=$d$jscomp$25_detail$$.tien_hang_ct_nt;$d$jscomp$25_detail$$.tk_co=$option$$.tk_dt;$d$jscomp$25_detail$$.tk_no=$tk_tien$$;$d$jscomp$25_detail$$.ma_kh_co=$obj$$.ma_kh;$d$jscomp$25_detail$$.ma_kh_no=$option$$.ma_kh;$d$jscomp$25_detail$$.ngay_ct=$obj$$.ngay_giao_hang||$obj$$.ngay_ct;$d$jscomp$25_detail$$.tien=
65
+ $d$jscomp$25_detail$$.tien_nt=Math.roundBy($tien_nt$$*$ty_le$$);$d$jscomp$25_detail$$.flag="DT_"+($d$jscomp$25_detail$$.ma_vt||"");$details$$.push($d$jscomp$25_detail$$)});$obj$$.details.filter($d$$=>$d$$.tien_thue).forEach($detail$$=>{$detail$$={...$detail$$};$detail$$.tk_no=$tk_tien$$;$detail$$.tk_co=$detail$$.tk_thue_co_treo||$detail$$.tk_thue_co;$detail$$.ma_kh||($detail$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh);$detail$$.tien=$detail$$.tien_nt=Math.roundBy($detail$$.tien_thue_nt*$ty_le$$);$detail$$.flag=
66
+ "THUE_"+($detail$$.ma_vt||"");$details$$.push($detail$$)})};$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$&&($hoachtoandtvathue$$($option$$.tk_cn,$rs$jscomp$3_tien_paymentByPoints_tt$$/$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$),$hoachtoandtvathue$$($option$$.tk_tien,($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$-$rs$jscomp$3_tien_paymentByPoints_tt$$)/$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$));$obj$$.details.filter($d$$=>
67
+ $d$$.diem_thuong&&$d$$.tk_km_no&&$d$$.tk_km_co).forEach(function($d$$){let $detail$$={...$d$$};$detail$$.tk_co=$option$$.tk_km_co||$d$$.tk_km_co;$detail$$.tk_no=$option$$.tk_km_no||$d$$.tk_km_no;$detail$$.ma_kh=$obj$$.ma_kh;$detail$$.tien=$detail$$.tien_nt=$detail$$.diem_thuong*$he_so_qd$$;$details$$.push($detail$$)});$obj$$.ctcpbhs&&$obj$$.ctcpbhs.forEach(function($d$jscomp$29_detail$$){$d$jscomp$29_detail$$={...$d$jscomp$29_detail$$};$d$jscomp$29_detail$$.tk_co=$option$$.tk_dt;$d$jscomp$29_detail$$.tk_no=
68
+ $option$$.tk_cn;$d$jscomp$29_detail$$.ma_kh_co=$obj$$.ma_kh;$d$jscomp$29_detail$$.ma_kh_no=$option$$.ma_kh;$d$jscomp$29_detail$$.ngay_ct=$obj$$.ngay_giao_hang||$obj$$.ngay_ct;$d$jscomp$29_detail$$.tien_nt=$d$jscomp$29_detail$$.tien_cp_nt;$d$jscomp$29_detail$$.tien=$d$jscomp$29_detail$$.tien_cp;$details$$.push($d$jscomp$29_detail$$)});$obj$$.tien_phi_vc&&$option$$.tk_phi_vc&&($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$={},$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=
69
+ $option$$.tk_phi_vc,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$option$$.tk_cn,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.tien_phi_vc||0,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien=$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh_co=$obj$$.ma_kh,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh_no=$obj$$.nhan_vien_giao_hang||
70
+ $obj$$.don_vi_vc,$details$$.push($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$));$obj$$.tien_freeship&&($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$={},$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$option$$.tk_cp_gh,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=$option$$.tk_cn,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.tien_freeship||0,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien=
71
71
  $error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh_no=$obj$$.ma_kh,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh_co=$option$$.ma_kh,$details$$.push($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$));$obj$$.tt_tien_thuong&&($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$={},$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$option$$.tk_cp_bh,
72
72
  $error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=$option$$.tk_cn,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.tt_tien_thuong||0,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien=$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh_no=$obj$$.ma_kh,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh_co=$option$$.ma_kh,$details$$.push($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$));
73
73
  $obj$$.tien_evoucher&&($error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$={},$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$obj$$.tk_no_evoucher||$option$$.tk_no_evoucher||$option$$.tk_ck,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=$obj$$.tk_co_evoucher||$option$$.tk_co_evoucher||$option$$.tk_cn,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.tien_evoucher||0,$error$jscomp$3_t_tt_tien_ck_hd_tt_tt$jscomp$1_tt$jscomp$2_tt$$.tien=
@@ -78,8 +78,8 @@ options.tk_co_hoa_hong}),(await $obj$$.details.filter($r$$=>$r$$.tien_hoa_hong_c
78
78
  $r$$.tk_no_hoa_hong||$obj$$.tk_no_hoa_hong||$kho$$.tk_no_hoa_hong||options.tk_no_hoa_hong;$r$$.tk_co_hoa_hong=$r$$.tk_co_hoa_hong||$obj$$.tk_co_hoa_hong||$kho$$.tk_co_hoa_hong||options.tk_co_hoa_hong}),(await $obj$$.details.filter($r$$=>$r$$.tien_hoa_hong).asyncGroupBy(["tk_no_hoa_hong","tk_co_hoa_hong"],["tien_hoa_hong"])).forEach($r$$=>{let $tt$$={};$tt$$.tk_no=$r$$.tk_no_hoa_hong;$tt$$.tk_co=$r$$.tk_co_hoa_hong;$tt$$.tien=$tt$$.tien_nt=$r$$.tien_hoa_hong;$tt$$.tien=$tt$$.tien_nt*($obj$$.ty_gia||
79
79
  1);$tt$$.ma_kh=$obj$$.ma_kh_hoa_hong;$tt$$.ma_nv=$obj$$.ma_nv;$tt$$.check_balance=!1;$tt$$.ma_nt="VND";$tt$$.ty_gia=1;$tt$$.tk_no&&$tt$$.tk_co&&$details$$.push($tt$$)}));$obj$$.tien_hoa_hong_gt&&$obj$$.ma_kh_hoa_hong_gt&&($obj$$.details.filter($r$$=>$r$$.tien_hoa_hong_gt).forEach($r$$=>{$r$$.tk_no_hoa_hong_gt=$r$$.tk_no_hoa_hong_gt||$obj$$.tk_no_hoa_hong_gt||$kho$$.tk_no_hoa_hong_gt||options.tk_no_hoa_hong_gt||$obj$$.tk_no_hoa_hong||$kho$$.tk_no_hoa_hong||options.tk_no_hoa_hong;$r$$.tk_co_hoa_hong_gt=
80
80
  $r$$.tk_co_hoa_hong_gt||$obj$$.tk_co_hoa_hong_gt||$kho$$.tk_co_hoa_hong_gt||options.tk_co_hoa_hong_gt||$obj$$.tk_co_hoa_hong||$kho$$.tk_co_hoa_hong||options.tk_co_hoa_hong}),(await $obj$$.details.filter($r$$=>$r$$.tien_hoa_hong_gt).asyncGroupBy(["tk_no_hoa_hong_gt","tk_co_hoa_hong_gt"],["tien_hoa_hong_gt"])).forEach($r$$=>{let $tt$$={};$tt$$.tk_no=$r$$.tk_no_hoa_hong_gt;$tt$$.tk_co=$r$$.tk_co_hoa_hong_gt;$tt$$.tien_nt=$r$$.tien_hoa_hong_gt;$tt$$.tien=$tt$$.tien_nt*($obj$$.ty_gia||1);$tt$$.ma_kh=$obj$$.ma_kh_hoa_hong_gt;
81
- $tt$$.ma_nv=$obj$$.ma_nv;$tt$$.check_balance=!1;$tt$$.ma_nt="VND";$tt$$.ty_gia=1;$tt$$.tk_no&&$tt$$.tk_co&&$details$$.push($tt$$)}));let $details_tienvon$$=[...($ket_qua_post_sokho$$||[])];$details_tienvon$$.joinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["tk_vt","gia_mua","tk_gv","tg_tk"]},()=>{$details_tienvon$$.forEach(function($d$jscomp$32_detail$$){$d$jscomp$32_detail$$={...$d$jscomp$32_detail$$};$d$jscomp$32_detail$$.tk_no=$option$$.tk_gv;$d$jscomp$32_detail$$.ma_kh=$obj$$.ma_kh;$d$jscomp$32_detail$$.ngay_ct=
82
- $obj$$.ngay_giao_hang||$obj$$.ngay_ct;$d$jscomp$32_detail$$.tk_co=$d$jscomp$32_detail$$.tk_vt||"1561";$d$jscomp$32_detail$$.tien_nt=$d$jscomp$32_detail$$.tien_xuat_nt;$d$jscomp$32_detail$$.tien=$d$jscomp$32_detail$$.tien_xuat;$d$jscomp$32_detail$$.tg_tk||($d$jscomp$32_detail$$.tien=$d$jscomp$32_detail$$.tien_nt=0);$d$jscomp$32_detail$$.ma_nt="VND";$d$jscomp$32_detail$$.ty_gia=1;$details$$.push($d$jscomp$32_detail$$)});(new PostSocai($obj$$,$details$$,null,Socai,$_options$$)).run(function($e$$,$rs$$){$callback$$($e$$,
81
+ $tt$$.ma_nv=$obj$$.ma_nv;$tt$$.check_balance=!1;$tt$$.ma_nt="VND";$tt$$.ty_gia=1;$tt$$.tk_no&&$tt$$.tk_co&&$details$$.push($tt$$)}));let $details_tienvon$$=[...($ket_qua_post_sokho$$||[])];$details_tienvon$$.joinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["tk_vt","gia_mua","tk_gv","tg_tk"]},()=>{$details_tienvon$$.forEach(function($d$jscomp$31_detail$$){$d$jscomp$31_detail$$={...$d$jscomp$31_detail$$};$d$jscomp$31_detail$$.tk_no=$option$$.tk_gv;$d$jscomp$31_detail$$.ma_kh=$obj$$.ma_kh;$d$jscomp$31_detail$$.ngay_ct=
82
+ $obj$$.ngay_giao_hang||$obj$$.ngay_ct;$d$jscomp$31_detail$$.tk_co=$d$jscomp$31_detail$$.tk_vt||"1561";$d$jscomp$31_detail$$.tien_nt=$d$jscomp$31_detail$$.tien_xuat_nt;$d$jscomp$31_detail$$.tien=$d$jscomp$31_detail$$.tien_xuat;$d$jscomp$31_detail$$.tg_tk||($d$jscomp$31_detail$$.tien=$d$jscomp$31_detail$$.tien_nt=0);$d$jscomp$31_detail$$.ma_nt="VND";$d$jscomp$31_detail$$.ty_gia=1;$details$$.push($d$jscomp$31_detail$$)});(new PostSocai($obj$$,$details$$,null,Socai,$_options$$)).run(function($e$$,$rs$$){$callback$$($e$$,
83
83
  $rs$$)})})})},thanhtoanhoahongnv:$callback$$=>{if($obj$$.da_chuyen_hoa_hong||!$obj$$.tien_hoa_hong||!$obj$$.user_nv||!$obj$$.chuyen_ngay)return $callback$$();setImmediate(async()=>{try{if($appInfo$$.wallet_address&&$appInfo$$.wallet_token&&$appInfo$$.tang_gioi_thieu_denom){let $wallet_nhan_vien$$=await global.getModel("asskey").findOne({id_app:$appInfo$$._id.toString(),username:$obj$$.user_nv,wallet_type:8});$wallet_nhan_vien$$||=await global.getModel("asskey").createWallet($appInfo$$._id.toString(),
84
84
  $obj$$.user_nv,"T\u00e0i kho\u1ea3n nh\u1eadn th\u01b0\u1edfng",8);let $amount$$=$obj$$.tien_hoa_hong,$denom$$=$appInfo$$.tang_gioi_thieu_denom,$memo$$=`Hoa h\u1ed3ng cho \u0111\u01a1n h\u00e0ng s\u1ed1 ${$obj$$.so_ct}: ${numeral($amount$$).format()} ${$denom$$.toUpperCase()}`;await spend($appInfo$$,$obj$$.be_introduced,$wallet_nhan_vien$$.address,$amount$$,$denom$$,$memo$$,"","2");$obj$$.da_chuyen_hoa_hong=!0;await model.updateOne({_id:$obj$$._id},{da_chuyen_hoa_hong:!0})}}catch($e$$){Logger.error("Kh\u00f4ng th\u1ec3 thanh to\u00e1n ti\u1ec1n hoa h\u1ed3ng",
85
85
  $e$$)}$callback$$()})},thanhtoanhoahonggt:$callback$$=>{if($obj$$.da_chuyen_hoa_hong_gt||!$obj$$.tien_hoa_hong_gt||!$obj$$.user_gt||!$obj$$.chuyen_ngay_gt)return $callback$$();setImmediate(async()=>{try{if($appInfo$$.wallet_address&&$appInfo$$.wallet_token&&$appInfo$$.tang_gioi_thieu_denom){let $wallet_gt$$=await global.getModel("asskey").findOne({id_app:$appInfo$$._id.toString(),username:$obj$$.user_gt,wallet_type:8});$wallet_gt$$||=await global.getModel("asskey").createWallet($appInfo$$._id.toString(),