flexbiz-server 12.3.2 → 12.3.4

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 (166) hide show
  1. package/package.json +3 -3
  2. package/server/app.js +4 -4
  3. package/server/cluster.js +2 -2
  4. package/server/controllers/controller.js +109 -107
  5. package/server/data/account.js +479 -0
  6. package/server/data/ckgtluong.js +65 -0
  7. package/server/data/currency.js +4 -0
  8. package/server/data/dmdvt.js +54 -0
  9. package/server/data/dmkho.js +3 -0
  10. package/server/data/dvcs.js +3 -0
  11. package/server/data/kbm_bcdkt.js +4843 -0
  12. package/server/data/kbm_kqhdkd.js +655 -0
  13. package/server/data/kbm_lcttgt.js +2386 -0
  14. package/server/data/kbm_lctttt.js +934 -0
  15. package/server/data/kbm_tkgtgt.js +560 -0
  16. package/server/data/parameter.js +178 -0
  17. package/server/data/ptthanhtoan.js +3 -0
  18. package/server/data/rpt.js +123 -0
  19. package/server/data/rptobject.js +2 -0
  20. package/server/data/sys/labelinfo.js +2 -0
  21. package/server/data/sys/listinfo.js +225430 -0
  22. package/server/data/sys/menuinfo.js +1 -0
  23. package/server/data/sys/moduleinfo.js +523 -0
  24. package/server/data/sys/quanhuyen.js +9928 -0
  25. package/server/data/sys/reportinfo.js +14045 -0
  26. package/server/data/sys/tableinfo.js +5873 -0
  27. package/server/data/sys/templatestore.js +1988 -0
  28. package/server/data/sys/tinhthanh.js +821 -0
  29. package/server/data/sys/trangthai.js +12301 -0
  30. package/server/data/sys/user.js +21 -0
  31. package/server/data/sys/vietqrbanks.js +1 -0
  32. package/server/data/tc.js +5 -0
  33. package/server/data/usergroup.js +47 -0
  34. package/server/data/vat.js +115 -0
  35. package/server/global.js +1 -1
  36. package/server/libs/databanle.js +12 -9
  37. package/server/libs/databanletheongay.js +1 -1
  38. package/server/libs/docs.js +304 -0
  39. package/server/libs/dtbanletheosp.js +2 -2
  40. package/server/libs/getGiaban.js +57 -53
  41. package/server/libs/htmlReport.js +6 -6
  42. package/server/libs/mongooseDeletePost.js +4 -3
  43. package/server/libs/permission.js +25 -20
  44. package/server/libs/post-socai.js +6 -5
  45. package/server/libs/post-sokho.js +1 -1
  46. package/server/libs/tuoinophaithu.js +10 -10
  47. package/server/libs/tuoinophaitra.js +11 -9
  48. package/server/libs/utils.js +29 -5
  49. package/server/libs/validator.js +3 -2
  50. package/server/models/app.js +4 -3
  51. package/server/models/bds_area.js +2 -2
  52. package/server/models/bds_block.js +2 -2
  53. package/server/models/bds_building.js +3 -3
  54. package/server/models/bds_floor.js +2 -2
  55. package/server/models/bds_floordetail.js +3 -3
  56. package/server/models/bds_nhadat.js +6 -4
  57. package/server/models/bds_nhomnhadat.js +3 -0
  58. package/server/models/bds_phanloainhadat.js +2 -0
  59. package/server/models/customer.js +5 -5
  60. package/server/models/dh2.js +5 -5
  61. package/server/models/ecomproductlines.js +2 -0
  62. package/server/models/hd2.js +17 -15
  63. package/server/models/hd4.js +12 -0
  64. package/server/models/listinfo.js +12 -1
  65. package/server/models/moduleinfo.js +3 -3
  66. package/server/models/pn3.js +4 -4
  67. package/server/models/so9.js +7 -7
  68. package/server/models/tdttco.js +9 -8
  69. package/server/models/tdttco_tt.js +1 -1
  70. package/server/models/tdttno.js +9 -8
  71. package/server/models/tdttno_tt.js +2 -2
  72. package/server/models/user.js +7 -7
  73. package/server/models/vatra.js +5 -5
  74. package/server/models/vatvao.js +5 -5
  75. package/server/modules/lists/bg-cddiem.js +6 -7
  76. package/server/modules/lists/bg-cddt.js +7 -8
  77. package/server/modules/lists/bg-cdkh.js +11 -10
  78. package/server/modules/lists/bg-cdnphep.js +6 -7
  79. package/server/modules/lists/bg-cdtk.js +9 -9
  80. package/server/modules/lists/bg-cdvt.js +8 -9
  81. package/server/modules/lists/bg-cdvtnpp.js +7 -8
  82. package/server/modules/lists/ls-account.js +4 -4
  83. package/server/modules/lists/ls-afflink.js +2 -2
  84. package/server/modules/lists/ls-bds_area.js +4 -3
  85. package/server/modules/lists/ls-bds_block.js +1 -1
  86. package/server/modules/lists/ls-bds_building.js +2 -2
  87. package/server/modules/lists/ls-bds_floor.js +2 -2
  88. package/server/modules/lists/ls-bds_floordetail.js +18 -18
  89. package/server/modules/lists/ls-bds_nhadat.js +16 -7
  90. package/server/modules/lists/ls-bds_nhomnhadat.js +1 -0
  91. package/server/modules/lists/ls-bds_phanloainhadat.js +1 -0
  92. package/server/modules/lists/ls-currency.js +1 -1
  93. package/server/modules/lists/ls-dknphep.js +1 -1
  94. package/server/modules/lists/ls-dmban.js +3 -3
  95. package/server/modules/lists/ls-dmca.js +1 -1
  96. package/server/modules/lists/ls-dmchucvu.js +2 -1
  97. package/server/modules/lists/ls-dmcpmh.js +1 -1
  98. package/server/modules/lists/ls-dmdvt.js +1 -1
  99. package/server/modules/lists/ls-dmhoahonghd.js +2 -1
  100. package/server/modules/lists/ls-dmhoahongnpp.js +2 -1
  101. package/server/modules/lists/ls-dmkhuyenmai.js +4 -4
  102. package/server/modules/lists/ls-dmkhuyenmaihd.js +2 -2
  103. package/server/modules/lists/ls-dmletet.js +1 -1
  104. package/server/modules/lists/ls-dmloaicong.js +1 -1
  105. package/server/modules/lists/ls-dmloaits.js +1 -1
  106. package/server/modules/lists/ls-dmnckkm.js +5 -5
  107. package/server/modules/lists/ls-dmnghiepvu.js +1 -1
  108. package/server/modules/lists/ls-dmnguonvon.js +1 -1
  109. package/server/modules/lists/ls-dmnhnv.js +5 -5
  110. package/server/modules/lists/ls-dmnhtask.js +5 -5
  111. package/server/modules/lists/ls-dmnkh.js +5 -5
  112. package/server/modules/lists/ls-dmntt.js +5 -5
  113. package/server/modules/lists/ls-dmnvt.js +4 -4
  114. package/server/modules/lists/ls-dmqddvt.js +2 -2
  115. package/server/modules/lists/ls-dmtanggiamts.js +1 -1
  116. package/server/modules/lists/ls-dmvt.js +20 -19
  117. package/server/modules/lists/ls-dvcs.js +1 -1
  118. package/server/modules/lists/ls-fbpage.js +1 -1
  119. package/server/modules/lists/ls-hlink.js +1 -1
  120. package/server/modules/lists/ls-hlinkvalue.js +1 -1
  121. package/server/modules/lists/ls-hmcn.js +2 -2
  122. package/server/modules/lists/ls-kbm-bcdkt.js +1 -1
  123. package/server/modules/lists/ls-kbm-bcqt.js +4 -4
  124. package/server/modules/lists/ls-kbm-kqhdkd.js +1 -1
  125. package/server/modules/lists/ls-kbm-lcttgt.js +1 -1
  126. package/server/modules/lists/ls-kbm-lctttt.js +1 -1
  127. package/server/modules/lists/ls-kbm-pttct.js +2 -2
  128. package/server/modules/lists/ls-kbm-tkgtgt.js +2 -1
  129. package/server/modules/lists/ls-kbm-tmbctc.js +2 -2
  130. package/server/modules/lists/ls-label.js +1 -1
  131. package/server/modules/lists/ls-like-module.js +2 -2
  132. package/server/modules/lists/ls-newsfeed.js +3 -3
  133. package/server/modules/lists/ls-participant.js +3 -3
  134. package/server/modules/lists/ls-ptthanhtoan.js +2 -2
  135. package/server/modules/lists/ls-rpt.js +4 -4
  136. package/server/modules/lists/ls-rptform.js +4 -4
  137. package/server/modules/lists/ls-tc.js +1 -1
  138. package/server/modules/lists/ls-templaterpt.js +4 -3
  139. package/server/modules/lists/ls-templatevoucher.js +1 -1
  140. package/server/modules/lists/ls-vat.js +1 -1
  141. package/server/modules/lists/ls-vatra.js +5 -0
  142. package/server/modules/lists/ls-vatvao.js +5 -0
  143. package/server/modules/reports/calc-tinhgiatb.js +6 -6
  144. package/server/modules/reports/calc-tinhgiathanh.js +6 -7
  145. package/server/modules/reports/calc-tinhkhauhaots.js +3 -4
  146. package/server/modules/reports/calc-tinhluong.js +17 -17
  147. package/server/modules/reports/rp-congnophaithutheotuoino.js +2 -2
  148. package/server/modules/reports/rp-congnophaitratheotuoino.js +2 -2
  149. package/server/modules/reports/rp-congnosapthu.js +4 -0
  150. package/server/modules/reports/rp-congnosaptra.js +4 -0
  151. package/server/modules/reports/rp-congviectheotimeline.js +2 -1
  152. package/server/modules/reports/rp-dtbanletheoct.js +15 -15
  153. package/server/modules/reports/rp-dtbanletheokh.js +5 -5
  154. package/server/modules/reports/rp-dtbanletheokho.js +1 -1
  155. package/server/modules/reports/rp-dtbanletheonv.js +3 -3
  156. package/server/modules/reports/rp-kcsns.js +16 -16
  157. package/server/modules/reports/rp-tongquancongty.js +3 -0
  158. package/server/modules/systems/sys-ecomproductlines.js +1 -0
  159. package/server/modules/vouchers/vo-dh2.js +25 -24
  160. package/server/modules/vouchers/vo-hd1.js +18 -18
  161. package/server/modules/vouchers/vo-hd2.js +12 -6
  162. package/server/modules/vouchers/vo-hd3.js +37 -33
  163. package/server/modules/vouchers/vo-hd4.js +15 -0
  164. package/server/modules/vouchers/vo-pn3.js +5 -4
  165. package/server/modules/vouchers/vo-pn5.js +18 -13
  166. package/server/route.js +6 -4
@@ -1,6 +1,6 @@
1
1
  'use strict';const model=global.getModel("group"),controller=require("../../controllers/controller"),getSysorder=function($item$$,$callback$$){let $sysorder$$=$item$$._id.toString();$item$$.group_mother?model.findOne({_id:$item$$.group_mother}).lean().exec(function($e$$,$item_me$$){$item_me$$?getSysorder($item_me$$,function($rs$$){$sysorder$$=$rs$$+"---"+$sysorder$$;$callback$$($sysorder$$)}):$callback$$($sysorder$$)}):$callback$$($sysorder$$)},dmnhkh=function($contr_router$$){$contr_router$$=new controller($contr_router$$,
2
- model,"dmnhkh",{sort:{sysorder:1},findExact:{group_type:1},keyValues:{group_type:"CUSTOMER"},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{if($data$$.group_mother&&0<=(await model.getAllChildrenGroup($obj$$.id_app,$obj$$._id.toString())).indexOf($data$$.group_mother))return $next$$("Kh\u00f4ng th\u1ec3 ch\u1ecdn nh\u00f3m n\u00e0y l\u00e0m nh\u00f3m m\u1eb9");$next$$(null,$data$$,$obj$$)}});$contr_router$$.route();$contr_router$$.deleting=function($user$$,$obj$$,$next$$){if(0===$obj$$.loai_nh)return $next$$(Error("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p x\u00f3a nh\u00f3m m\u1eb9"));
3
- $next$$(null,$obj$$)};$contr_router$$.created=function($user$$,$obj$$,$next$$){getSysorder($obj$$,function($rs$$){$obj$$.sysorder=$rs$$;$obj$$.bac=$rs$$.split("---").length;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:1}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};$contr_router$$.updated=function($user$$,$obj$$,$next$$){getSysorder($obj$$,async function($loai_nh_rs$$){$obj$$.sysorder=$loai_nh_rs$$;$obj$$.bac=$loai_nh_rs$$.split("---").length;
4
- $loai_nh_rs$$=1;await model.findOne({group_mother:$obj$$._id.toString()})&&($loai_nh_rs$$=0);$obj$$.loai_nh=$loai_nh_rs$$;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:$loai_nh_rs$$}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};$contr_router$$.on("saved",function($obj$jscomp$0$$){const $group_mother$$=$obj$jscomp$0$$.group_mother;$group_mother$$&&model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,_id:$group_mother$$},{$set:{loai_nh:0}},
5
- function($error$$,$obj$$){$error$$?console.error($error$$):$obj$$?console.log("updated "+$obj$$._id):console.log("Not found mother account:"+$group_mother$$)})});$contr_router$$.on("deleted",function($obj$jscomp$0$$){$obj$jscomp$0$$.group_mother&&model.findOne({group_mother:$obj$jscomp$0$$.group_mother},function($error$jscomp$0$$,$acc$$){$error$jscomp$0$$||$acc$$||model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,_id:$obj$jscomp$0$$.group_mother},{$set:{loai_nh:1}},function($error$$,$obj$$){$error$$||
6
- $obj$$&&console.log("updated "+$obj$$._id)})})})};module.exports=dmnhkh;
2
+ model,"dmnhkh",{sort:{sysorder:1},findExact:{group_type:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,keyValues:{group_type:"CUSTOMER"},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{if($data$$.group_mother&&0<=(await model.getAllChildrenGroup($obj$$.id_app,$obj$$._id.toString())).indexOf($data$$.group_mother))return $next$$("Kh\u00f4ng th\u1ec3 ch\u1ecdn nh\u00f3m n\u00e0y l\u00e0m nh\u00f3m m\u1eb9");$next$$(null,$data$$,$obj$$)}});$contr_router$$.route();
3
+ $contr_router$$.deleting=function($user$$,$obj$$,$next$$){if(0===$obj$$.loai_nh)return $next$$(Error("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p x\u00f3a nh\u00f3m m\u1eb9"));$next$$(null,$obj$$)};$contr_router$$.created=function($user$$,$obj$$,$next$$){getSysorder($obj$$,function($rs$$){$obj$$.sysorder=$rs$$;$obj$$.bac=$rs$$.split("---").length;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:1}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};
4
+ $contr_router$$.updated=function($user$$,$obj$$,$next$$){getSysorder($obj$$,async function($loai_nh_rs$$){$obj$$.sysorder=$loai_nh_rs$$;$obj$$.bac=$loai_nh_rs$$.split("---").length;$loai_nh_rs$$=1;await model.findOne({group_mother:$obj$$._id.toString()})&&($loai_nh_rs$$=0);$obj$$.loai_nh=$loai_nh_rs$$;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:$loai_nh_rs$$}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};$contr_router$$.on("saved",
5
+ function($obj$jscomp$0$$){const $group_mother$$=$obj$jscomp$0$$.group_mother;$group_mother$$&&model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,_id:$group_mother$$},{$set:{loai_nh:0}},function($error$$,$obj$$){$error$$?console.error($error$$):$obj$$?console.log("updated "+$obj$$._id):console.log("Not found mother account:"+$group_mother$$)})});$contr_router$$.on("deleted",function($obj$jscomp$0$$){$obj$jscomp$0$$.group_mother&&model.findOne({group_mother:$obj$jscomp$0$$.group_mother},function($error$jscomp$0$$,
6
+ $acc$$){$error$jscomp$0$$||$acc$$||model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,_id:$obj$jscomp$0$$.group_mother},{$set:{loai_nh:1}},function($error$$,$obj$$){$error$$||$obj$$&&console.log("updated "+$obj$$._id)})})})};module.exports=dmnhkh;
@@ -1,6 +1,6 @@
1
1
  'use strict';const model=global.getModel("group"),controller=require("../../controllers/controller"),getSysorder=function($item$$,$callback$$){let $sysorder$$=$item$$._id.toString();$item$$.group_mother?model.findOne({_id:$item$$.group_mother}).lean().exec(function($e$$,$item_me$$){$item_me$$?getSysorder($item_me$$,function($rs$$){$sysorder$$=$rs$$+"---"+$sysorder$$;$callback$$($sysorder$$)}):$callback$$($sysorder$$)}):$callback$$($sysorder$$)},dmntt=function($contr_router$$){$contr_router$$=new controller($contr_router$$,
2
- model,"dmntt",{sort:{sysorder:1},findExact:{group_type:1},keyValues:{group_type:"PROPERTY"},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{if($data$$.group_mother&&0<=(await model.getAllChildrenGroup($obj$$.id_app,$obj$$._id.toString())).indexOf($data$$.group_mother))return $next$$("Kh\u00f4ng th\u1ec3 ch\u1ecdn nh\u00f3m n\u00e0y l\u00e0m nh\u00f3m m\u1eb9");$next$$(null,$data$$,$obj$$)}});$contr_router$$.route();$contr_router$$.deleting=function($user$$,$obj$$,$next$$){if(0===$obj$$.loai_nh)return $next$$(Error("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p x\u00f3a nh\u00f3m m\u1eb9"));
3
- $next$$(null,$obj$$)};$contr_router$$.created=function($user$$,$obj$$,$next$$){getSysorder($obj$$,function($rs$$){$obj$$.sysorder=$rs$$;$obj$$.bac=$rs$$.split("---").length;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:1}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};$contr_router$$.updated=function($user$$,$obj$$,$next$$){getSysorder($obj$$,async function($loai_nh_rs$$){$obj$$.sysorder=$loai_nh_rs$$;$obj$$.bac=$loai_nh_rs$$.split("---").length;
4
- $loai_nh_rs$$=1;await model.findOne({group_mother:$obj$$._id.toString()})&&($loai_nh_rs$$=0);$obj$$.loai_nh=$loai_nh_rs$$;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:$loai_nh_rs$$}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};$contr_router$$.on("saved",function($obj$jscomp$0$$){const $group_mother$$=$obj$jscomp$0$$.group_mother;$group_mother$$&&model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,_id:$group_mother$$},{$set:{loai_nh:0}},
5
- function($error$$,$obj$$){$error$$?console.error($error$$):$obj$$?console.log("updated "+$obj$$._id):console.log("Not found mother account:"+$group_mother$$)})});$contr_router$$.on("deleted",function($obj$jscomp$0$$){$obj$jscomp$0$$.group_mother&&model.findOne({group_mother:$obj$jscomp$0$$.group_mother},function($error$jscomp$0$$,$acc$$){$error$jscomp$0$$||$acc$$||model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,_id:$obj$jscomp$0$$.group_mother},{$set:{loai_nh:1}},function($error$$,$obj$$){$error$$||
6
- $obj$$&&console.log("updated "+$obj$$._id)})})})};module.exports=dmntt;
2
+ model,"dmntt",{sort:{sysorder:1},findExact:{group_type:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,keyValues:{group_type:"PROPERTY"},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{if($data$$.group_mother&&0<=(await model.getAllChildrenGroup($obj$$.id_app,$obj$$._id.toString())).indexOf($data$$.group_mother))return $next$$("Kh\u00f4ng th\u1ec3 ch\u1ecdn nh\u00f3m n\u00e0y l\u00e0m nh\u00f3m m\u1eb9");$next$$(null,$data$$,$obj$$)}});$contr_router$$.route();
3
+ $contr_router$$.deleting=function($user$$,$obj$$,$next$$){if(0===$obj$$.loai_nh)return $next$$(Error("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p x\u00f3a nh\u00f3m m\u1eb9"));$next$$(null,$obj$$)};$contr_router$$.created=function($user$$,$obj$$,$next$$){getSysorder($obj$$,function($rs$$){$obj$$.sysorder=$rs$$;$obj$$.bac=$rs$$.split("---").length;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:1}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};
4
+ $contr_router$$.updated=function($user$$,$obj$$,$next$$){getSysorder($obj$$,async function($loai_nh_rs$$){$obj$$.sysorder=$loai_nh_rs$$;$obj$$.bac=$loai_nh_rs$$.split("---").length;$loai_nh_rs$$=1;await model.findOne({group_mother:$obj$$._id.toString()})&&($loai_nh_rs$$=0);$obj$$.loai_nh=$loai_nh_rs$$;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:$loai_nh_rs$$}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};$contr_router$$.on("saved",
5
+ function($obj$jscomp$0$$){const $group_mother$$=$obj$jscomp$0$$.group_mother;$group_mother$$&&model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,_id:$group_mother$$},{$set:{loai_nh:0}},function($error$$,$obj$$){$error$$?console.error($error$$):$obj$$?console.log("updated "+$obj$$._id):console.log("Not found mother account:"+$group_mother$$)})});$contr_router$$.on("deleted",function($obj$jscomp$0$$){$obj$jscomp$0$$.group_mother&&model.findOne({group_mother:$obj$jscomp$0$$.group_mother},function($error$jscomp$0$$,
6
+ $acc$$){$error$jscomp$0$$||$acc$$||model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,_id:$obj$jscomp$0$$.group_mother},{$set:{loai_nh:1}},function($error$$,$obj$$){$error$$||$obj$$&&console.log("updated "+$obj$$._id)})})})};module.exports=dmntt;
@@ -1,8 +1,8 @@
1
1
  'use strict';const model=global.getModel("dmnvt"),controller=require("../../controllers/controller"),underscore=require("underscore");
2
- module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"dmnvt",{sort:{sysorder:1},onView:function($user$$,$items$$,$next$$){$items$$.filter($item$$=>$item$$.nh_me).joinModel2($user$$.current_id_app,model,[{where:{nh_me:"_id"},fields:[{name:"ten_nh_me",value:"ten_nvt"}]}],function(){$items$$=underscore.sortBy($items$$,function($item$$){return $item$$.sysorder});$items$$.forEach(async $item$$=>{!$item$$.ma_nganh_hang||$item$$.ds_nganh_hang&&0!=$item$$.ds_nganh_hang.length||
3
- ($item$$.ds_nganh_hang=[$item$$.ma_nganh_hang],await model.updateOne({_id:$item$$._id},{ds_nganh_hang:$item$$.ds_nganh_hang}))});$next$$(null,$items$$)})},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{if($data$$.nh_me&&0<=(await model.getAllChildrenGroup($obj$$.id_app,$obj$$._id.toString())).indexOf($data$$.nh_me))return $next$$("Kh\u00f4ng th\u1ec3 ch\u1ecdn nh\u00f3m n\u00e0y l\u00e0m nh\u00f3m m\u1eb9");$next$$(null,$data$$,$obj$$)}});const $getSysorder$$=function($item$$,$callback$$){let $sysorder$$=
4
- ($item$$.stt||"0")+$item$$._id.toString();$item$$.nh_me?model.findOne({_id:$item$$.nh_me}).lean().exec(function($e$$,$item_me$$){$item_me$$?$getSysorder$$($item_me$$,function($rs$$){$sysorder$$=$rs$$+"-"+$sysorder$$;$callback$$($sysorder$$)}):$callback$$($sysorder$$)}):$callback$$($sysorder$$)};$contr_router$$.route();$contr_router$$.deleting=function($user$$,$obj$$,$next$$){if(0===$obj$$.loai_nh)return $next$$(Error("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p x\u00f3a nh\u00f3m m\u1eb9"));$next$$(null,
5
- $obj$$)};$contr_router$$.created=function($user$$,$obj$$,$next$$){$getSysorder$$($obj$$,function($rs$$){$obj$$.sysorder=$rs$$;$obj$$.bac=$rs$$.split("-").length;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:1}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};$contr_router$$.updated=function($user$$,$obj$$,$next$$){$getSysorder$$($obj$$,async function($loai_nh_rs$$){$obj$$.sysorder=$loai_nh_rs$$;$obj$$.bac=$loai_nh_rs$$.split("-").length;
2
+ module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"dmnvt",{sort:{sysorder:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,onView:function($user$$,$items$$,$next$$){$items$$.filter($item$$=>$item$$.nh_me).joinModel2($user$$.current_id_app,model,[{where:{nh_me:"_id"},fields:[{name:"ten_nh_me",value:"ten_nvt"}]}],function(){$items$$=underscore.sortBy($items$$,function($item$$){return $item$$.sysorder});$items$$.forEach(async $item$$=>
3
+ {!$item$$.ma_nganh_hang||$item$$.ds_nganh_hang&&0!=$item$$.ds_nganh_hang.length||($item$$.ds_nganh_hang=[$item$$.ma_nganh_hang],await model.updateOne({_id:$item$$._id},{ds_nganh_hang:$item$$.ds_nganh_hang}))});$next$$(null,$items$$)})},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{if($data$$.nh_me&&0<=(await model.getAllChildrenGroup($obj$$.id_app,$obj$$._id.toString())).indexOf($data$$.nh_me))return $next$$("Kh\u00f4ng th\u1ec3 ch\u1ecdn nh\u00f3m n\u00e0y l\u00e0m nh\u00f3m m\u1eb9");$next$$(null,
4
+ $data$$,$obj$$)}});const $getSysorder$$=function($item$$,$callback$$){let $sysorder$$=($item$$.stt||"0")+$item$$._id.toString();$item$$.nh_me?model.findOne({_id:$item$$.nh_me}).lean().exec(function($e$$,$item_me$$){$item_me$$?$getSysorder$$($item_me$$,function($rs$$){$sysorder$$=$rs$$+"-"+$sysorder$$;$callback$$($sysorder$$)}):$callback$$($sysorder$$)}):$callback$$($sysorder$$)};$contr_router$$.route();$contr_router$$.deleting=function($user$$,$obj$$,$next$$){if(0===$obj$$.loai_nh)return $next$$(Error("Kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p x\u00f3a nh\u00f3m m\u1eb9"));
5
+ $next$$(null,$obj$$)};$contr_router$$.created=function($user$$,$obj$$,$next$$){$getSysorder$$($obj$$,function($rs$$){$obj$$.sysorder=$rs$$;$obj$$.bac=$rs$$.split("-").length;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:1}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};$contr_router$$.updated=function($user$$,$obj$$,$next$$){$getSysorder$$($obj$$,async function($loai_nh_rs$$){$obj$$.sysorder=$loai_nh_rs$$;$obj$$.bac=$loai_nh_rs$$.split("-").length;
6
6
  $loai_nh_rs$$=1;await model.findOne({nh_me:$obj$$._id.toString()})&&($loai_nh_rs$$=0);$obj$$.loai_nh=$loai_nh_rs$$;model.findOneAndUpdate({_id:$obj$$._id},{$set:{bac:$obj$$.bac,sysorder:$obj$$.sysorder,loai_nh:$loai_nh_rs$$}},function($e$$){$e$$&&console.log($e$$)});$next$$(null,$obj$$)})};$contr_router$$.on("saved",function($obj$jscomp$0$$){const $nh_me$$=$obj$jscomp$0$$.nh_me;$nh_me$$&&model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,_id:$nh_me$$},{$set:{loai_nh:0}},function($error$$,$obj$$){$error$$?
7
7
  console.error($error$$):$obj$$?console.log("updated "+$obj$$._id):console.log("Not found mother account:"+$nh_me$$)})});$contr_router$$.on("deleted",function($obj$jscomp$0$$){$obj$jscomp$0$$.nh_me&&model.findOne({nh_me:$obj$jscomp$0$$.nh_me,id_app:$obj$jscomp$0$$.id_app},function($error$jscomp$0$$,$acc$$){$error$jscomp$0$$||$acc$$||model.findOneAndUpdate({id_app:$obj$jscomp$0$$.id_app,_id:$obj$jscomp$0$$.nh_me},{$set:{loai_nh:1}},function($error$$,$obj$$){$error$$||$obj$$&&console.log("updated "+
8
8
  $obj$$._id)})})})};
@@ -1,3 +1,3 @@
1
1
  'use strict';const model=global.getModel("dmqddvt"),dmvt=global.getModel("dmvt"),dmdvt=global.getModel("dmdvt"),controller=require("../../controllers/controller");
2
- module.exports=function($router$$){(new controller($router$$,model,"dmqddvt",{sort:{ma_vt:1},unique:["ma_vt","ma_dvt"],onView:async($user$$,$items$$,$next$$)=>{await $items$$.asyncJoinModel2($user$$.current_id_app,dmvt,[{where:"ma_vt",fields:[{ten_vt:"ten_vt"},{ma_dvt_goc:"ma_dvt"}]}]);await $items$$.asyncJoinModel2($user$$.current_id_app,dmdvt,[{where:"ma_dvt",fields:[{ten_dvt:"ten_dvt"}]}]);$next$$(null,$items$$)},onCreating:($user$$,$data$$,$next$$)=>{$data$$.tu&&$data$$.mau&&($data$$.ty_le_qd=
3
- $data$$.tu/$data$$.mau);$next$$(null,$data$$)},onUpdating:($user$$,$data$$,$obj$$,$next$$)=>{$data$$.tu&&$data$$.mau&&($data$$.ty_le_qd=$data$$.tu/$data$$.mau);$next$$(null,$data$$,$obj$$)}})).route()};
2
+ module.exports=function($router$$){(new controller($router$$,model,"dmqddvt",{sort:{ma_vt:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,unique:["ma_vt","ma_dvt"],onView:async($user$$,$items$$,$next$$)=>{await $items$$.asyncJoinModel2($user$$.current_id_app,dmvt,[{where:"ma_vt",fields:[{ten_vt:"ten_vt"},{ma_dvt_goc:"ma_dvt"}]}]);await $items$$.asyncJoinModel2($user$$.current_id_app,dmdvt,[{where:"ma_dvt",fields:[{ten_dvt:"ten_dvt"}]}]);$next$$(null,$items$$)},
3
+ onCreating:($user$$,$data$$,$next$$)=>{$data$$.tu&&$data$$.mau&&($data$$.ty_le_qd=$data$$.tu/$data$$.mau);$next$$(null,$data$$)},onUpdating:($user$$,$data$$,$obj$$,$next$$)=>{$data$$.tu&&$data$$.mau&&($data$$.ty_le_qd=$data$$.tu/$data$$.mau);$next$$(null,$data$$,$obj$$)}})).route()};
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("dmtanggiamts"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"dmtanggiamts",{sort:{ma_tang_giam_ts:1},unique:["ma_tang_giam_ts"]})).route()};
1
+ 'use strict';const model=global.getModel("dmtanggiamts"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"dmtanggiamts",{sort:{ma_tang_giam_ts:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,unique:["ma_tang_giam_ts"]})).route()};
@@ -4,10 +4,10 @@ getAllEcomcategories($id_app$$,$nh$$))),$chil_ma_danh_muc_nh_vt_cons$$=$chil_ma_
4
4
  status:!0},{ma_danh_muc:1,danh_muc_me:1}).lean()).filter($n$$=>$n$$.ma_danh_muc!=$n$$.danh_muc_me).map($d$$=>$d$$.ma_danh_muc);0<$chil$jscomp$1_ma_danh_muc$jscomp$1_nh_vt_cons$$.length&&($chil$jscomp$1_ma_danh_muc$jscomp$1_nh_vt_cons$$=await Promise.all($chil$jscomp$1_ma_danh_muc$jscomp$1_nh_vt_cons$$.map($nh$$=>getAllEcomcategories_cty($id_app$$,$nh$$))),$chil$jscomp$1_ma_danh_muc$jscomp$1_nh_vt_cons$$=$chil$jscomp$1_ma_danh_muc$jscomp$1_nh_vt_cons$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]),$rs$$=
5
5
  [...$chil$jscomp$1_ma_danh_muc$jscomp$1_nh_vt_cons$$,...$rs$$]);return $rs$$},TinhGiaBan=($item$$,$callback$jscomp$0$$,$options$$,$user$$,$par$$={})=>{let $condition$$={ma_vt:$item$$.ma_vt,id_app:$item$$.id_app,vt:$item$$};$item$$.ma_tt?$condition$$[`ma_tt${$item$$.loai_tt||1}`]=$item$$.ma_tt:($options$$.req.query.ma_tt1&&($condition$$.ma_tt1=$options$$.req.query.ma_tt1),$options$$.req.query.ma_tt2&&($condition$$.ma_tt2=$options$$.req.query.ma_tt2),$options$$.req.query.ma_tt3&&($condition$$.ma_tt3=
6
6
  $options$$.req.query.ma_tt3));if($options$$&&$options$$.req&&$options$$.req.query){$options$$.req.query.id_cs_ck&&($condition$$.id_cs_ck=$options$$.req.query.id_cs_ck);$options$$.req.query.id_cs&&($condition$$.id_cs=$options$$.req.query.id_cs);$options$$.req.query.ma_kho&&($condition$$.ma_kho=$options$$.req.query.ma_kho);$options$$.req.query.ma_ban&&($condition$$.ma_ban=$options$$.req.query.ma_ban);$options$$.req.query.ma_kh&&($condition$$.ma_kh=$options$$.req.query.ma_kh);$options$$.req.query.nh_kh&&
7
- ($condition$$.nh_kh=$options$$.req.query.nh_kh);if($options$$.req.query.by_user||"public"===$user$$.email)$condition$$.user=$user$$;$options$$.req.query.online&&($condition$$.online=$options$$.req.query.online);$options$$.req.query.offline&&($condition$$.offline=$options$$.req.query.offline);$options$$.req.query.so_luong&&($condition$$.so_luong=$options$$.req.query.so_luong);if($options$$.req.query.t_so_luong||$options$$.req.query.t_sl)$condition$$.t_so_luong=$options$$.req.query.t_so_luong||$options$$.req.query.t_sl;
8
- if($options$$.req.query.t_so_luong_ntt||$options$$.req.query.t_sl_ntt)$condition$$.t_so_luong_ntt=$options$$.req.query.t_so_luong_ntt||$options$$.req.query.t_sl_ntt;$options$$.req.query.t_tien_ntt&&($condition$$.t_tien_ntt=$options$$.req.query.t_tien_ntt);$options$$.req.query.ma_dvt_sd&&($condition$$.ma_dvt_sd=$options$$.req.query.ma_dvt_sd);$options$$.req.query.ma_ct&&($condition$$.ma_ct=$options$$.req.query.ma_ct);$condition$$.get_promotion=$options$$.req.query.get_promotion;$condition$$.get_discount=
9
- $options$$.req.query.get_discount;$condition$$.get_price=$options$$.req.query.get_price}setImmediate(()=>{getGiaBan($condition$$,($e$$,$gia$$)=>{if($e$$)return console.error("error when get gia_ban on dmvt",$e$$,$condition$$),$callback$jscomp$0$$(null);$gia$$?(delete $gia$$._id,delete $gia$$.ma_vt,delete $gia$$.ten_vt,underscore.extend($item$$,$gia$$),$gia$$.promotion&&0<$gia$$.promotion.length?async.map($gia$$.promotion,($p$$,$callback$$)=>{($p$$.details_km||[]).joinModel2($item$$.id_app,model,{where:"ma_vt",
10
- fields:["ma_dvt","chieu_cao","chieu_rong","chieu_sau","trong_luong"]},function($rs$$){$p$$.details_km.forEach($r$$=>{$r$$.km_yn_for=`${$item$$.id_app}-${$item$$.ma_vt}`});$callback$$(null,$rs$$)})},()=>{$callback$jscomp$0$$(null)}):$callback$jscomp$0$$(null)):$callback$jscomp$0$$(null)},$par$$)})};
7
+ ($condition$$.nh_kh=$options$$.req.query.nh_kh);if($options$$.req.query.by_user||"public"===$user$$.email)$condition$$.user=$user$$;$options$$.req.query.online&&($condition$$.online=$options$$.req.query.online);$options$$.req.query.offline&&($condition$$.offline=$options$$.req.query.offline);$options$$.req.query.so_luong&&($condition$$.so_luong=$options$$.req.query.so_luong);$options$$.req.query.ma_dvt_sd&&($condition$$.ma_dvt_sd=$options$$.req.query.ma_dvt_sd);if($options$$.req.query.t_so_luong||
8
+ $options$$.req.query.t_sl)$condition$$.t_so_luong=$options$$.req.query.t_so_luong||$options$$.req.query.t_sl;if($options$$.req.query.t_so_luong_ntt||$options$$.req.query.t_sl_ntt)$condition$$.t_so_luong_ntt=$options$$.req.query.t_so_luong_ntt||$options$$.req.query.t_sl_ntt;$options$$.req.query.t_tien_ntt&&($condition$$.t_tien_ntt=$options$$.req.query.t_tien_ntt);$options$$.req.query.ma_ct&&($condition$$.ma_ct=$options$$.req.query.ma_ct);$condition$$.get_promotion=$options$$.req.query.get_promotion;
9
+ $condition$$.get_discount=$options$$.req.query.get_discount;$condition$$.get_price=$options$$.req.query.get_price}setImmediate(()=>{getGiaBan($condition$$,($e$$,$gia$$)=>{if($e$$)return console.error("error when get gia_ban on dmvt",$e$$,$condition$$),$callback$jscomp$0$$(null);$gia$$?(delete $gia$$._id,delete $gia$$.ma_vt,delete $gia$$.ten_vt,underscore.extend($item$$,$gia$$),$gia$$.promotion&&0<$gia$$.promotion.length?async.map($gia$$.promotion,($p$$,$callback$$)=>{($p$$.details_km||[]).joinModel2($item$$.id_app,
10
+ model,{where:"ma_vt",fields:["ma_dvt","chieu_cao","chieu_rong","chieu_sau","trong_luong"]},function($rs$$){$p$$.details_km.forEach($r$$=>{$r$$.km_yn_for=`${$item$$.id_app}-${$item$$.ma_vt}`});$callback$$(null,$rs$$)})},()=>{$callback$jscomp$0$$(null)}):$callback$jscomp$0$$(null)):$callback$jscomp$0$$(null)},$par$$)})};
11
11
  module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"dmvt",{sort:{ma_vt:1},unique:["ma_vt"],cache:!0,onFinding:async($user$$,$condition$$,$next$$,$options$$)=>{$options$$&&$options$$.req&&$options$$.req.sort&&$options$$.req.sort.gia_ban_le&&($options$$.req.sort.gia_ban_le0=$options$$.req.sort.gia_ban_le,delete $options$$.req.sort.gia_ban_le);$options$$.req.query.show_properties||($options$$.req.query.show_properties=$condition$$.show_properties);$options$$.req.query.by_user||
12
12
  ($options$$.req.query.by_user=$condition$$.by_user);$options$$.req.query.online||($options$$.req.query.online=$condition$$.online);$options$$.req.query.offline||($options$$.req.query.offline=$condition$$.offline);$options$$.req.query.id_cs_ck||($options$$.req.query.id_cs_ck=$condition$$.id_cs_ck);$options$$.req.query.id_cs||($options$$.req.query.id_cs=$condition$$.id_cs);void 0==$options$$.req.query.get_price&&($options$$.req.query.get_price=$condition$$.get_price);void 0==$options$$.req.query.get_promotion&&
13
13
  ($options$$.req.query.get_promotion=$condition$$.get_promotion);void 0==$options$$.req.query.get_discount&&($options$$.req.query.get_discount=$condition$$.get_discount);void 0==$options$$.req.query.get_properties&&($options$$.req.query.get_properties=$condition$$.get_properties);$options$$.req.query.show_quantity_in_stock||($options$$.req.query.show_quantity_in_stock=$condition$$.show_quantity_in_stock);$options$$.req.query.ma_kho||($options$$.req.query.ma_kho=$condition$$.ma_kho);$options$$.req.query.ma_dvt_sd||
@@ -40,27 +40,28 @@ $next$$(null,$obj$$)};$contr_router$$.updating=async function($check_arise_user$
40
40
  $data$$.ma_dvt!==$obj$$.ma_dvt)return $next$$("V\u1eadt t\u01b0 n\u00e0y \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u n\u00ean kh\u00f4ng th\u1ec3 thay \u0111\u1ed5i \u0111\u01a1n v\u1ecb t\u00ednh");$data$$.ma_vt=$data$$.ma_vt||$obj$$.ma_vt;if($data$$.ma_can&&$data$$.ma_can!==$obj$$.ma_can&&await model.findOne({ma_can:$data$$.ma_can,id_app:$obj$$.id_app},{_id:1}))return $next$$("M\u00e3 c\u00e2n \u0111\u00e3 t\u1ed3n t\u1ea1i");if($data$$.ma_vt2&&$data$$.ma_vt2!==$obj$$.ma_vt2&&await model.findOne({ma_vt2:$data$$.ma_vt2,
41
41
  id_app:$obj$$.id_app},{_id:1}))return $next$$("M\u00e3 v\u1eadt t\u01b0 2 \u0111\u00e3 t\u1ed3n t\u1ea1i");$next$$(null,$data$$,$obj$$)};$contr_router$$.view=function($user$$,$items$$,$fn$$,$options$$){$items$$.forEach($item$$=>{$item$$.ty_le_ck=0;$item$$.tien_ck=0});async.series([function($callback$$){$items$$.filter($i$$=>$i$$.ma_nvt).asyncJoinModel2(null,Dmnvt,[{where:{ma_nvt:"_id"},fields:["ten_nvt"]}]).then($rs$$=>{$callback$$(null,$rs$$)})},function($callback$$){$items$$.filter($i$$=>$i$$.ma_thue).joinModel2(null,
42
42
  "vat",[{akey:"ma_thue",bkey:"ma_thue",fields:[{name:"thue_suat",value:"thue_suat"}]}],function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){$options$$&&$options$$.req&&$options$$.req.query&&($options$$.req.query.wishlist||!$options$$.req.query.fields||0<=$options$$.req.query.fields.indexOf("wish"))?$items$$.filter($i$$=>$i$$.id_app).joinModel2(null,"ecomwishlist",[{where:$item$$=>({id_app:$item$$.id_app,user:$user$$.email,ma_vt:$item$$.ma_vt}),setFields:($item$$,$ref$$)=>{$item$$.wish=
43
- !0;$item$$.id_wish=$ref$$._id}}],function($rs$$){$callback$$(null,$rs$$)}):$callback$$()},function($callback$$){$items$$.filter($i$$=>$i$$.ma_ncc).joinModel2(null,Dmkh,[{where:{id_app:"id_app",ma_ncc:"ma_kh"},fields:[{name:"ten_ncc",value:"ten_kh"}]}],function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){Promise.all($items$$.filter($i$$=>$i$$.id_app&&$i$$.ma_dvt).map($item$$=>(async()=>{let $dvtqd$$=await Dmqddvt.findOne({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt});
43
+ $ref$$._id?!0:!1;$item$$.id_wish=$ref$$._id}}],function($rs$$){$callback$$(null,$rs$$)}):$callback$$()},function($callback$$){$items$$.filter($i$$=>$i$$.ma_ncc).joinModel2(null,Dmkh,[{where:{id_app:"id_app",ma_ncc:"ma_kh"},fields:[{name:"ten_ncc",value:"ten_kh"}]}],function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){Promise.all($items$$.filter($i$$=>$i$$.id_app&&$i$$.ma_dvt).map($item$$=>(async()=>{let $dvtqd$$=await Dmqddvt.findOne({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt});
44
44
  $dvtqd$$?$dvtqd$$.tu||$dvtqd$$.mau||($dvtqd$$.tu=1,$dvtqd$$.mau=1):$dvtqd$$=await Dmqddvt.create({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt,ty_le_qd:1,tu:1,mau:1});return $dvtqd$$})())).then(()=>{$callback$$(null,$items$$)}).catch($e$$=>{console.error("Error create qddvt",$e$$.message);$callback$$(null,$items$$)})},function($callback$$){if($options$$&&$options$$.req&&$options$$.req.query&&(!$options$$.req.query.fields||0<=$options$$.req.query.fields.indexOf("freeship")))try{let $freeshipModel$$=
45
45
  global.getModel("ecompromotion_freeships"),$tu_ngay$$=moment().startOf("date").toDate(),$hieu_luc_tu$$={$lte:moment().endOf("date").toDate()},$hieu_luc_den$$={$gte:$tu_ngay$$};Promise.all($items$$.filter($i$$=>$i$$.id_app).map($item$$=>(async()=>{let $freeship$$=await $freeshipModel$$.find({id_app:$item$$.id_app,hieu_luc_tu:$hieu_luc_tu$$,hieu_luc_den:$hieu_luc_den$$,shared:!0,trang_thai:"1",$or:[{"details.0":{$exists:!1}},{"details.ma_danh_muc":{$in:[$item$$.ma_danh_muc,null,void 0,""]},"details.ma_vt":{$in:[$item$$.ma_vt,
46
46
  "",null,void 0]}}]}).lean();$item$$.freeship=$freeship$$})())).then(()=>{$callback$$(null,$items$$)}).catch($e$$=>{console.error($e$$);$callback$$(null,$items$$)})}catch($e$$){console.error($e$$),$callback$$(null,$items$$)}else $callback$$(null,$items$$)},function($callback$$){if($options$$&&$options$$.req&&$options$$.req.query&&(!$options$$.req.query.fields||0<=$options$$.req.query.fields.indexOf("flashsales")))try{let $flashsale$$=global.getModel("ecompromotion_flashsales"),$tu_ngay$$=moment().startOf("date").toDate(),
47
47
  $hieu_luc_tu$$={$lte:moment().endOf("date").toDate()},$hieu_luc_den$$={$gte:$tu_ngay$$};Promise.all($items$$.filter($i$$=>$i$$.id_app).map($item$$=>(async()=>{let $fs$$=await $flashsale$$.find({id_app:$item$$.id_app,tu_ngay:$hieu_luc_tu$$,den_ngay:$hieu_luc_den$$,shared:!0,trang_thai:"1",$or:[{"details.0":{$exists:!1}},{"details.ma_danh_muc":{$in:[$item$$.ma_danh_muc,null,void 0,""]},"details.ma_vt":{$in:[$item$$.ma_vt,"",null,void 0]}}]}).lean();$item$$.flashsales=$fs$$})())).then(()=>{$callback$$(null,
48
48
  $items$$)}).catch($e$$=>{console.error($e$$);$callback$$(null,$items$$)})}catch($e$$){console.error($e$$),$callback$$(null,$items$$)}else $callback$$(null,$items$$)},function($callback$$){$options$$&&$options$$.req&&$options$$.req.query&&(1==$options$$.req.query.get_properties||$options$$.req.query.show_properties||$options$$.req.query.fields&&0<=$options$$.req.query.fields.indexOf("ds_thuoc_tinh"))?async.mapSeries($items$$,async $item$$=>{let $query_tt$$={id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,
49
49
  status:!0},$$or$$=[];$options$$.req.query.ma_tt1&&$$or$$.push({ma_tt:$options$$.req.query.ma_tt1,loai_tt:"1"});$options$$.req.query.ma_tt2&&$$or$$.push({ma_tt:$options$$.req.query.ma_tt2,loai_tt:"2"});$options$$.req.query.ma_tt3&&$$or$$.push({ma_tt:$options$$.req.query.ma_tt3,loai_tt:"3"});0<$$or$$.length&&($query_tt$$.$or=$$or$$);$item$$.ds_thuoc_tinh=await Dmtt.find($query_tt$$).lean();return $item$$},()=>{$callback$$()}):$callback$$()},function($callback$$){$items$$.forEach(function($r$$){$r$$.picture?
50
- $r$$.picture_thumb=$r$$.picture:$options$$&&$options$$.req&&$options$$.req.query&&(!$options$$.req.query.fields||0<=$options$$.req.query.fields.indexOf("picture"))&&($r$$.picture_thumb="/images/picture.png");$r$$.picture2&&($r$$.picture2_thumb=$r$$.picture2);$r$$.picture3&&($r$$.picture3_thumb=$r$$.picture3);$r$$.picture4&&($r$$.picture4_thumb=$r$$.picture4);$r$$.picture5&&($r$$.picture5_thumb=$r$$.picture5)});$items$$.filter($i$$=>$i$$.ma_dvt).joinModel2(null,Dmdvt,[{where:{id_app:"id_app",ma_dvt:"ma_dvt"},
51
- fields:[{name:"ten_dvt",value:"ten_dvt"}]}],function($rs$$){$callback$$(null,$rs$$)})}],async function(){let $result$$=$items$$.map($item$$=>{if($options$$&&$options$$.req&&$options$$.req.query&&$options$$.req.query.show_properties&&$item$$.ds_thuoc_tinh&&0<$item$$.ds_thuoc_tinh.length){let $_new_items$$=$item$$.ds_thuoc_tinh.map($tt$$=>{let $_new_item$$={...$item$$};$_new_item$$.ma_tt=$tt$$.ma_tt;$_new_item$$.ten_tt=$tt$$.ten_tt;$_new_item$$.loai_tt=$tt$$.loai_tt;$_new_item$$[`ma_tt${$tt$$.loai_tt}`]=
52
- $tt$$.ma_tt;$_new_item$$.nh_tt=$tt$$.nh_tt;$_new_item$$.ma_dvt=$tt$$.ma_dvt||$_new_item$$.ma_dvt;$_new_item$$.ma_can=$tt$$.ma_can||$_new_item$$.ma_can;$_new_item$$.ma_vt2=$tt$$.ma_tt2||$_new_item$$.ma_vt2;$_new_item$$.gia_ban_le=$tt$$.gia_ban_le||$_new_item$$.gia_ban_le;delete $_new_item$$.ds_thuoc_tinh;return $_new_item$$}).sort(($a$$,$b$$)=>$a$$.gia_ban_le-$b$$.gia_ban_le);if($options$$.req.query.online){let $ds_thuoc_tinh$$=_.cloneDeep($_new_items$$);$_new_items$$.forEach($r$$=>{$r$$.ds_thuoc_tinh=
53
- $ds_thuoc_tinh$$});return[$_new_items$$[0]]}return $_new_items$$}return[$item$$]}).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]),$co_tinh_gia_ban$$=$options$$&&$options$$.req&&$options$$.req.query&&(0!=$options$$.req.query.get_price||$options$$.req.query.get_promotion||$options$$.req.query.get_discount)&&(!$options$$.req.query.fields||0<=$options$$.req.query.fields.indexOf("gia_ban_le"));if($co_tinh_gia_ban$$){let $par$$=$user$$.par;$par$$||($par$$=await global.getModel("participant").getPar($user$$,
54
- $user$$.current_app_info));$user$$.par=$par$$;async.mapSeries($result$$,($item$$,$callback$jscomp$1$$)=>{$item$$.ty_le_ck=0;$item$$.tien_ck=0;$item$$.id_app?async.parallel({giaban:$callback$$=>{$co_tinh_gia_ban$$?TinhGiaBan($item$$,$callback$$,$options$$,$user$$,$par$$):$callback$$()},gia_ban_thuoc_tinh:$callback$jscomp$0$$=>{$co_tinh_gia_ban$$&&$item$$.ds_thuoc_tinh&&0<$item$$.ds_thuoc_tinh.length?async.mapSeries($item$$.ds_thuoc_tinh,($tt$$,$callback$$)=>{TinhGiaBan($tt$$,$callback$$,$options$$,
55
- $user$$,$par$$)},()=>{$callback$jscomp$0$$()}):$callback$jscomp$0$$()}},()=>{$callback$jscomp$1$$()}):$callback$jscomp$1$$(null)},()=>{$fn$$(null,$result$$)})}else $fn$$(null,$result$$)})};$contr_router$$.viewRequired=async($condition$jscomp$5_user$$,$items$$,$fn$$,$options$$)=>{let $get_ton_kho$$=$options$$&&$options$$.req&&$options$$.req.query&&($options$$.req.query.show_quantity_in_stock||!$options$$.req.query.fields||0<=$options$$.req.query.fields.indexOf("ton00")||0<=$options$$.req.query.fields.indexOf("ton_kho_online_hien_tai")),
56
- $tons$$;const $vts$$=$items$$.map($item$$=>$item$$.ma_vt);if($get_ton_kho$$&&$condition$jscomp$5_user$$.current_id_app){if($options$$.req.query.ma_kho)var $ds_kho_online_query_kho$$=[$options$$.req.query.ma_kho];else $ds_kho_online_query_kho$$={id_app:$condition$jscomp$5_user$$.current_id_app,status:!0},$ds_kho_online_query_kho$$=(await global.getModel("dmkho").find($ds_kho_online_query_kho$$,{ma_kho:1}).lean()).map($k$$=>$k$$.ma_kho);$condition$jscomp$5_user$$={ma_vt:{$in:$vts$$},id_app:$condition$jscomp$5_user$$.current_id_app};
57
- $options$$.req.query.ma_lo&&($condition$jscomp$5_user$$.ma_lo=$options$$.req.query.ma_lo);$options$$.req.query.ma_dvcs&&($condition$jscomp$5_user$$.ma_dvcs=$options$$.req.query.ma_dvcs);$condition$jscomp$5_user$$.ma_kho={$in:$ds_kho_online_query_kho$$};$condition$jscomp$5_user$$.groupBy="id_app ma_vt ma_kho ma_tt1 ma_tt2 ma_tt3".split(" ");$condition$jscomp$5_user$$.ngay=moment().endOf("date").toDate();$tons$$=await ckvt($condition$jscomp$5_user$$)}async.mapSeries($items$$,($item$jscomp$0$$,$callback$jscomp$1$$)=>
58
- {$item$jscomp$0$$.gia_ban_le0_qd=$item$jscomp$0$$.gia_ban_le0_qd||$item$jscomp$0$$.gia_ban_le0;$item$jscomp$0$$.gia_ban_buon0_qd=$item$jscomp$0$$.gia_ban_buon0_qd||$item$jscomp$0$$.gia_ban_buon0;$item$jscomp$0$$.ten_tt&&($item$jscomp$0$$.ten_vt_tt=`${$item$jscomp$0$$.ten_vt}-${$item$jscomp$0$$.ten_tt}`);$item$jscomp$0$$.id_app?async.series({ton_tt:$callback$jscomp$0$$=>{$get_ton_kho$$?setImmediate(async()=>{let $ton_vt$$=($tons$$||[]).filter($r$$=>$r$$.ma_vt==$item$jscomp$0$$.ma_vt&&0<$r$$.ton00),
59
- $ton_kho$$;$item$jscomp$0$$.ton00=$ton_vt$$.map($a$$=>$a$$.ton00).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$jscomp$0$$.ton_kho_online_hien_tai_dvt=$item$jscomp$0$$.ton_kho_online_hien_tai=$item$jscomp$0$$.ton00;$item$jscomp$0$$.ds_thuoc_tinh?async.mapSeries($item$jscomp$0$$.ds_thuoc_tinh.filter($thuoc_tinh$$=>$thuoc_tinh$$.ma_vt),($thuoc_tinh$$,$callback$$)=>{setImmediate(async()=>{if($item$jscomp$0$$.kg_kiem_tra_ton_kho_tt){if($thuoc_tinh$$.ton_kho_online_hien_tai=$item$jscomp$0$$.ton_kho_online_hien_tai,
60
- $ton_kho$$||($ton_kho$$=await $ton_vt$$.asyncGroupBy(["id_app","ma_vt","ma_kho"],"sl_nhap sl_xuat ton00 du00 ton00_capphat du00_capphat tien_nhap tien_xuat ton_kho_mac_dinh ton_toi_thieu ton_toi_da".split(" "))),$thuoc_tinh$$.ton_kho=$ton_kho$$,await $thuoc_tinh$$.ton_kho.asyncJoinModel2($item$jscomp$0$$.id_app,"dmkho",{where:"ma_kho",fields:"ten_kho"}),$thuoc_tinh$$.ma_dvt&&$thuoc_tinh$$.ton_kho_online_hien_tai)if($thuoc_tinh$$.ma_dvt==$item$jscomp$0$$.ma_dvt)$thuoc_tinh$$.ton_kho_online_hien_tai_dvt=
50
+ $r$$.picture_thumb=$r$$.picture:$options$$&&$options$$.req&&$options$$.req.query&&(!$options$$.req.query.fields||0<=$options$$.req.query.fields.indexOf("picture"))&&($r$$.picture_thumb="/images/picture.png");$r$$.picture2&&($r$$.picture2_thumb=$r$$.picture2);$r$$.picture3&&($r$$.picture3_thumb=$r$$.picture3);$r$$.picture4&&($r$$.picture4_thumb=$r$$.picture4);$r$$.picture5&&($r$$.picture5_thumb=$r$$.picture5)});$callback$$(null,$items$$)}],async function(){let $result$$=$items$$.map($item$$=>{if($options$$&&
51
+ $options$$.req&&$options$$.req.query&&$options$$.req.query.show_properties&&$item$$.ds_thuoc_tinh&&0<$item$$.ds_thuoc_tinh.length){let $_new_items$$=$item$$.ds_thuoc_tinh.map($tt$$=>{let $_new_item$$={...$item$$};$_new_item$$.ma_tt=$tt$$.ma_tt;$_new_item$$.ten_tt=$tt$$.ten_tt;$_new_item$$.loai_tt=$tt$$.loai_tt;$_new_item$$[`ma_tt${$tt$$.loai_tt}`]=$tt$$.ma_tt;$_new_item$$.nh_tt=$tt$$.nh_tt;$_new_item$$.ma_dvt=$tt$$.ma_dvt||$_new_item$$.ma_dvt;$_new_item$$.ma_can=$tt$$.ma_can||$_new_item$$.ma_can;
52
+ $_new_item$$.ma_vt2=$tt$$.ma_tt2||$_new_item$$.ma_vt2;$_new_item$$.gia_ban_le=$tt$$.gia_ban_le||$_new_item$$.gia_ban_le;delete $_new_item$$.ds_thuoc_tinh;return $_new_item$$}).sort(($a$$,$b$$)=>$a$$.gia_ban_le-$b$$.gia_ban_le);if($options$$.req.query.online){let $ds_thuoc_tinh$$=_.cloneDeep($_new_items$$);$_new_items$$.forEach($r$$=>{$r$$.ds_thuoc_tinh=$ds_thuoc_tinh$$});return[$_new_items$$[0]]}return $_new_items$$}return[$item$$]}).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$fn$$(null,$result$$)})};
53
+ $contr_router$$.viewRequired=async($user$$,$items$$,$fn$$,$options$$)=>{let $get_ton_kho$$=$options$$&&$options$$.req&&$options$$.req.query&&($options$$.req.query.show_quantity_in_stock||!$options$$.req.query.fields||0<=$options$$.req.query.fields.indexOf("ton00")||0<=$options$$.req.query.fields.indexOf("ton_kho_online_hien_tai")),$tons$$;var $condition$$=$items$$.map($item$$=>$item$$.ma_vt);if($get_ton_kho$$&&$user$$.current_id_app){if($options$$.req.query.ma_kho)var $ds_kho_online_query_kho$$=[$options$$.req.query.ma_kho];
54
+ else $ds_kho_online_query_kho$$={id_app:$user$$.current_id_app,status:!0},$ds_kho_online_query_kho$$=(await global.getModel("dmkho").find($ds_kho_online_query_kho$$,{ma_kho:1}).lean()).map($k$$=>$k$$.ma_kho);$condition$$={ma_vt:{$in:$condition$$},id_app:$user$$.current_id_app};$options$$.req.query.ma_lo&&($condition$$.ma_lo=$options$$.req.query.ma_lo);$options$$.req.query.ma_dvcs&&($condition$$.ma_dvcs=$options$$.req.query.ma_dvcs);$condition$$.ma_kho={$in:$ds_kho_online_query_kho$$};$condition$$.groupBy=
55
+ "id_app ma_vt ma_kho ma_tt1 ma_tt2 ma_tt3".split(" ");$condition$$.ngay=moment().endOf("date").toDate();$tons$$=await ckvt($condition$$)}let $co_tinh_gia_ban$$=$options$$&&$options$$.req&&$options$$.req.query&&(0!=$options$$.req.query.get_price||$options$$.req.query.get_promotion||$options$$.req.query.get_discount)&&(!$options$$.req.query.fields||0<=$options$$.req.query.fields.indexOf("gia_ban_le")),$par$$=$user$$.par;$co_tinh_gia_ban$$&&($par$$||($par$$=await global.getModel("participant").getPar($user$$,
56
+ $user$$.current_app_info)),$user$$.par=$par$$);async.mapSeries($items$$,($item$jscomp$0$$,$callback$jscomp$2$$)=>{$item$jscomp$0$$.ten_tt&&($item$jscomp$0$$.ten_vt_tt=`${$item$jscomp$0$$.ten_vt}-${$item$jscomp$0$$.ten_tt}`);$item$jscomp$0$$.id_app?async.series({tinh_gia_ban:$callback$jscomp$1$$=>{$co_tinh_gia_ban$$?($item$jscomp$0$$.ty_le_ck=0,$item$jscomp$0$$.tien_ck=0,$item$jscomp$0$$.id_app?async.parallel({giaban:$callback$$=>{$co_tinh_gia_ban$$?TinhGiaBan($item$jscomp$0$$,$callback$$,$options$$,
57
+ $user$$,$par$$):$callback$$()},gia_ban_thuoc_tinh:$callback$jscomp$0$$=>{$co_tinh_gia_ban$$&&$item$jscomp$0$$.ds_thuoc_tinh&&0<$item$jscomp$0$$.ds_thuoc_tinh.length?async.mapSeries($item$jscomp$0$$.ds_thuoc_tinh,($tt$$,$callback$$)=>{TinhGiaBan($tt$$,$callback$$,$options$$,$user$$,$par$$)},()=>{$callback$jscomp$0$$()}):$callback$jscomp$0$$()}},()=>{$callback$jscomp$1$$()}):$callback$jscomp$1$$(null)):$callback$jscomp$1$$(null)},ton_tt:$callback$jscomp$0$$=>{$get_ton_kho$$?setImmediate(async()=>{let $ton_vt$$=
58
+ ($tons$$||[]).filter($r$$=>$r$$.ma_vt==$item$jscomp$0$$.ma_vt&&0<$r$$.ton00),$ton_kho$$;$item$jscomp$0$$.ton00=$ton_vt$$.map($a$$=>$a$$.ton00).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$jscomp$0$$.ton_kho_online_hien_tai_dvt=$item$jscomp$0$$.ton_kho_online_hien_tai=$item$jscomp$0$$.ton00;$item$jscomp$0$$.ds_thuoc_tinh?async.mapSeries($item$jscomp$0$$.ds_thuoc_tinh.filter($thuoc_tinh$$=>$thuoc_tinh$$.ma_vt),($thuoc_tinh$$,$callback$$)=>{setImmediate(async()=>{if($item$jscomp$0$$.kg_kiem_tra_ton_kho_tt){if($thuoc_tinh$$.ton_kho_online_hien_tai=
59
+ $item$jscomp$0$$.ton_kho_online_hien_tai,$ton_kho$$||($ton_kho$$=await $ton_vt$$.asyncGroupBy(["id_app","ma_vt","ma_kho"],"sl_nhap sl_xuat ton00 du00 ton00_capphat du00_capphat tien_nhap tien_xuat ton_kho_mac_dinh ton_toi_thieu ton_toi_da".split(" "))),$thuoc_tinh$$.ton_kho=$ton_kho$$,await $thuoc_tinh$$.ton_kho.asyncJoinModel2($item$jscomp$0$$.id_app,"dmkho",{where:"ma_kho",fields:"ten_kho"}),$thuoc_tinh$$.ma_dvt&&$thuoc_tinh$$.ton_kho_online_hien_tai)if($thuoc_tinh$$.ma_dvt==$item$jscomp$0$$.ma_dvt)$thuoc_tinh$$.ton_kho_online_hien_tai_dvt=
61
60
  $item$jscomp$0$$.ton_kho_online_hien_tai_dvt;else{var $dvtqd$jscomp$1_dvtqd$$=await Dmqddvt.findOne({id_app:$item$jscomp$0$$.id_app,ma_vt:$thuoc_tinh$$.ma_vt,ma_dvt:$thuoc_tinh$$.ma_dvt}).lean();$dvtqd$jscomp$1_dvtqd$$&&($thuoc_tinh$$.ton_kho_online_hien_tai_dvt=$dvtqd$jscomp$1_dvtqd$$.tu&&$dvtqd$jscomp$1_dvtqd$$.mau?utils.round($thuoc_tinh$$.ton_kho_online_hien_tai*$dvtqd$jscomp$1_dvtqd$$.mau/$dvtqd$jscomp$1_dvtqd$$.tu,4):utils.round($thuoc_tinh$$.ton_kho_online_hien_tai/($dvtqd$jscomp$1_dvtqd$$.ty_le_qd||
62
61
  1),4))}}else{let $ma_tt$$=`ma_tt${$thuoc_tinh$$.loai_tt||1}`;$thuoc_tinh$$.ton_kho=$ton_vt$$.filter($item$$=>$item$$[$ma_tt$$]==$thuoc_tinh$$.ma_tt);await $thuoc_tinh$$.ton_kho.asyncJoinModel2($thuoc_tinh$$.id_app,"dmkho",{where:"ma_kho",fields:"ten_kho"});$thuoc_tinh$$.ton_kho_online_hien_tai=$thuoc_tinh$$.ton_kho.map($a$$=>$a$$.ton00).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$thuoc_tinh$$.ma_dvt&&$thuoc_tinh$$.ma_dvt!==$item$jscomp$0$$.ma_dvt&&$thuoc_tinh$$.ton_kho_online_hien_tai&&($dvtqd$jscomp$1_dvtqd$$=
63
62
  await Dmqddvt.findOne({id_app:$thuoc_tinh$$.id_app,ma_vt:$thuoc_tinh$$.ma_vt,ma_dvt:$thuoc_tinh$$.ma_dvt}).lean())&&($thuoc_tinh$$.ton_kho_online_hien_tai_dvt=$dvtqd$jscomp$1_dvtqd$$.tu&&$dvtqd$jscomp$1_dvtqd$$.mau?utils.round($thuoc_tinh$$.ton_kho_online_hien_tai*$dvtqd$jscomp$1_dvtqd$$.mau/$dvtqd$jscomp$1_dvtqd$$.tu,4):utils.round($thuoc_tinh$$.ton_kho_online_hien_tai/($dvtqd$jscomp$1_dvtqd$$.ty_le_qd||1),4))}$callback$$()})},()=>{$callback$jscomp$0$$()}):($item$jscomp$0$$.ton_kho=await $ton_vt$$.asyncGroupBy(["id_app",
64
- "ma_vt","ma_kho"],"sl_nhap sl_xuat ton00 du00 ton00_capphat du00_capphat tien_nhap tien_xuat ton_kho_mac_dinh ton_toi_thieu ton_toi_da".split(" ")),await $item$jscomp$0$$.ton_kho.asyncJoinModel2($item$jscomp$0$$.id_app,"dmkho",{where:"ma_kho",fields:"ten_kho"}),$callback$jscomp$0$$())}):$callback$jscomp$0$$()}},()=>{$callback$jscomp$1$$()}):$callback$jscomp$1$$(null)},()=>{$items$$.filter($item$$=>$item$$.gia_ban_le).forEach($item$$=>{$item$$.ty_le_ck=$item$$.ty_le_ck||0;var $thue_suat_tien_thue$$=
65
- $item$$.thue_suat||0;let $f_tien_nt$$="VND"!==$item$$.ma_nt?2:0,$gia_ban_le_ct$$=$item$$.gia_ban_le_ct||utils.round($item$$.gia_ban_le/(1+$thue_suat_tien_thue$$/100),$f_tien_nt$$),$tien_ck$$=utils.round($item$$.gia_ban_le_ct*$item$$.ty_le_ck/100,$f_tien_nt$$);$thue_suat_tien_thue$$=utils.round(($gia_ban_le_ct$$-$tien_ck$$)*$thue_suat_tien_thue$$/100,$f_tien_nt$$);$item$$.gia_ban_ck=$tien_ck$$;$item$$.gia_ban_thue=$thue_suat_tien_thue$$;$item$$.gia_ban_le_sau_ck=utils.round($item$$.gia_ban_le_ct-$item$$.gia_ban_ck+
66
- $item$$.gia_ban_thue,$f_tien_nt$$)});$fn$$(null,$items$$)})}};
63
+ "ma_vt","ma_kho"],"sl_nhap sl_xuat ton00 du00 ton00_capphat du00_capphat tien_nhap tien_xuat ton_kho_mac_dinh ton_toi_thieu ton_toi_da".split(" ")),await $item$jscomp$0$$.ton_kho.asyncJoinModel2($item$jscomp$0$$.id_app,"dmkho",{where:"ma_kho",fields:"ten_kho"}),$callback$jscomp$0$$())}):$callback$jscomp$0$$()}},()=>{$callback$jscomp$2$$()}):$callback$jscomp$2$$(null)},async()=>{for(var $item$jscomp$0$$ of $items$$){$item$jscomp$0$$.gia_ban_le0_qd=$item$jscomp$0$$.gia_ban_le0_qd||$item$jscomp$0$$.gia_ban_le0;
64
+ $item$jscomp$0$$.gia_ban_buon0_qd=$item$jscomp$0$$.gia_ban_buon0_qd||$item$jscomp$0$$.gia_ban_buon0;if($item$jscomp$0$$.gia_ban_le){$item$jscomp$0$$.ty_le_ck=$item$jscomp$0$$.ty_le_ck||0;var $thue_suat_tien_thue$$=$item$jscomp$0$$.thue_suat||0,$f_tien_nt_qddct$$="VND"!==$item$jscomp$0$$.ma_nt?2:0;$item$jscomp$0$$.gia_ban_le_ct=$item$jscomp$0$$.gia_ban_le_ct||utils.round($item$jscomp$0$$.gia_ban_le/(1+$thue_suat_tien_thue$$/100),$f_tien_nt_qddct$$);let $gia_ban_le_ct$$=$item$jscomp$0$$.gia_ban_le_ct;
65
+ var $he_so_qd_tien_ck$$=utils.round($item$jscomp$0$$.gia_ban_le_ct*$item$jscomp$0$$.ty_le_ck/100,$f_tien_nt_qddct$$);$thue_suat_tien_thue$$=utils.round(($gia_ban_le_ct$$-$he_so_qd_tien_ck$$)*$thue_suat_tien_thue$$/100,$f_tien_nt_qddct$$);$item$jscomp$0$$.gia_ban_ck=$he_so_qd_tien_ck$$;$item$jscomp$0$$.gia_ban_thue=$thue_suat_tien_thue$$;$item$jscomp$0$$.gia_ban_le_sau_ck=utils.round($item$jscomp$0$$.gia_ban_le_ct-$item$jscomp$0$$.gia_ban_ck+$item$jscomp$0$$.gia_ban_thue,$f_tien_nt_qddct$$)}!$item$jscomp$0$$.he_so_qd&&
66
+ $item$jscomp$0$$.ma_dvt&&($item$jscomp$0$$.he_so_qd=1)}if($options$$&&$options$$.req&&$options$$.req.query&&$options$$.req.query.ma_dvt_sd){$item$jscomp$0$$=$options$$.req.query.ma_dvt_sd;for(let $item$$ of $items$$)$item$$.ma_dvt!=$item$jscomp$0$$&&($f_tien_nt_qddct$$=await Dmqddvt.findOne({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,ma_dvt:$item$jscomp$0$$}).lean())&&($item$$.ma_dvt=$item$jscomp$0$$,$he_so_qd_tien_ck$$=$f_tien_nt_qddct$$.ty_le_qd||1,$f_tien_nt_qddct$$.mau&&$f_tien_nt_qddct$$.tu&&
67
+ ($he_so_qd_tien_ck$$=$f_tien_nt_qddct$$.tu/$f_tien_nt_qddct$$.mau),$item$$.he_so_qd=$he_so_qd_tien_ck$$)}await $items$$.filter($i$$=>$i$$.ma_dvt).asyncJoinModel2(null,Dmdvt,[{where:{id_app:"id_app",ma_dvt:"ma_dvt"},fields:[{name:"ten_dvt",value:"ten_dvt"}]}]);$fn$$(null,$items$$)})}};
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("dvcs"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"dvcs",{sort:{ten_dvcs:1},unique:["ma_dvcs"]})).route()};
1
+ 'use strict';const model=global.getModel("dvcs"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"dvcs",{sort:{ten_dvcs:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,unique:["ma_dvcs"]})).route()};
@@ -1,4 +1,4 @@
1
- 'use strict';const model=global.getModel("fbpage"),controller=require("../../controllers/controller"),axios=require("axios"),async=require("async"),fbpage=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"fbpage",{sort:{date_created:-1},unique:["page_id"],onCreating:($user$$,$data$$,$callback$$)=>{if(!$user$$.appAdmin)return $callback$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y");$callback$$(null,$data$$)},onUpdating:($user$$,
1
+ 'use strict';const model=global.getModel("fbpage"),controller=require("../../controllers/controller"),axios=require("axios"),async=require("async"),fbpage=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"fbpage",{sort:{date_created:-1},unique:["page_id"],notNeedRight:!0,onCreating:($user$$,$data$$,$callback$$)=>{if(!$user$$.appAdmin)return $callback$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y");$callback$$(null,$data$$)},onUpdating:($user$$,
2
2
  $data$$,$obj$$,$callback$$)=>{if(!$user$$.appAdmin)return $callback$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5 n\u00e0y");$callback$$(null,$data$$,$obj$$)},onView:($user$$,$items$$,$callback$$)=>{$user$$.appAdmin||$items$$.forEach($item$$=>{delete $item$$.page_access_token});$callback$$(null,$items$$)}});$contr_router$$.route();$contr_router$$.router.route($contr_router$$.route_name+"/message/webhook").get(async($challenge_req$$,$res$$)=>{var $appInfo_id_app$$=
3
3
  $challenge_req$$.params.id_app;$appInfo_id_app$$=await global.getModel("app").findOne({_id:$appInfo_id_app$$});if(!$appInfo_id_app$$)return $res$$.status(403).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y th\u00f4ng tin trang n\u00e0y"});let $mode$$=$challenge_req$$.query["hub.mode"],$token$$=$challenge_req$$.query["hub.verify_token"];$challenge_req$$=$challenge_req$$.query["hub.challenge"];$mode$$&&$token$$?"subscribe"===$mode$$&&$token$$===$appInfo_id_app$$.options.facebook_webhook_verify_token?(console.log("WEBHOOK_VERIFIED"),
4
4
  $res$$.status(200).send($challenge_req$$)):$res$$.status(403).send({error:"Forbidden"}):$res$$.status(403).send({error:"Forbidden"})});$contr_router$$.router.route($contr_router$$.route_name+"/message/webhook").post(async($req$$,$res$$)=>{let $body$$=$req$$.body;console.log("\ud83d\udfea Received webhook:");console.dir($body$$,{depth:null});if("page"==$body$$.object)try{const $id_app$$=$req$$.params.id_app,$page_id$$=$body$$.entry[0].id,$pageInfo$$=await model.findOne({id_app:$id_app$$,page_id:$page_id$$}).lean();
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("hlink"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"hlink",{sort:{date_created:-1}})).route()};
1
+ 'use strict';const model=global.getModel("hlink"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"hlink",{sort:{date_created:-1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1})).route()};
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("hlinkvalue"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"hlinkvalue",{sort:{date_created:-1}})).route()};
1
+ 'use strict';const model=global.getModel("hlinkvalue"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"hlinkvalue",{sort:{date_created:-1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1})).route()};
@@ -1,2 +1,2 @@
1
- 'use strict';const model=global.getModel("hmcn"),controller=require("../../controllers/controller"),customer=global.getModel("customer"),dmtk=global.getModel("account"),async=require("async"),hmcn=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"hmcn",{sort:{ma_kh:1,tk:1},unique:["tk","ma_kh"]});$contr_router$$.route();$contr_router$$.view=function($user$$,$result$$,$fn$$){const $id_app$$=$user$$.current_id_app;async.series({kh:function($callback$$){$result$$.joinModel2($id_app$$,
2
- customer,{where:"ma_kh",fields:{ten_kh:"ten_kh"}},function(){$callback$$()})},tk:function($callback$$){$result$$.joinModel2($id_app$$,dmtk,{where:"tk",fields:["ten_tk","ma_nt"]},function(){$callback$$()})}},function(){$fn$$(null,$result$$)})};$contr_router$$.creating=($user$$,$obj$$,$next$$)=>{$obj$$.hm_no&&($obj$$.hm_co=0);$next$$(null,$obj$$)};$contr_router$$.updating=($user$$,$data$$,$obj$$,$next$$)=>{$data$$.hm_no&&($data$$.hm_co=0);$next$$(null,$data$$,$obj$$)}};module.exports=hmcn;
1
+ 'use strict';const model=global.getModel("hmcn"),controller=require("../../controllers/controller"),customer=global.getModel("customer"),dmtk=global.getModel("account"),async=require("async"),hmcn=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"hmcn",{sort:{ma_kh:1,tk:1}});$contr_router$$.route();$contr_router$$.view=function($user$$,$result$$,$fn$$){const $id_app$$=$user$$.current_id_app;async.series({kh:function($callback$$){$result$$.joinModel2($id_app$$,customer,
2
+ {where:"ma_kh",fields:{ten_kh:"ten_kh"}},function(){$callback$$()})},tk:function($callback$$){$result$$.joinModel2($id_app$$,dmtk,{where:"tk",fields:["ten_tk","ma_nt"]},function(){$callback$$()})}},function(){$fn$$(null,$result$$)})};$contr_router$$.creating=($user$$,$obj$$,$next$$)=>{$obj$$.hm_no&&($obj$$.hm_co=0);$next$$(null,$obj$$)};$contr_router$$.updating=($user$$,$data$$,$obj$$,$next$$)=>{$data$$.hm_no&&($data$$.hm_co=0);$next$$(null,$data$$,$obj$$)}};module.exports=hmcn;
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("kbmbcdkt"),controller=require("../../controllers/controller");module.exports=$router$$=>{(new controller($router$$,model,"kbmbcdkt",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"]})).route()};
1
+ 'use strict';const model=global.getModel("kbmbcdkt"),controller=require("../../controllers/controller");module.exports=$router$$=>{(new controller($router$$,model,"kbmbcdkt",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"],notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1})).route()};
@@ -1,5 +1,5 @@
1
1
  'use strict';const model=global.getModel("kbmbcqt"),customer=global.getModel("customer"),dmkho=global.getModel("dmkho"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),dmdt=global.getModel("dmdt"),contract=global.getModel("contract"),controller=require("../../controllers/controller"),async=require("async");
2
- module.exports=$router$$=>{(new controller($router$$,model,"kbmbcqt",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"],onView:($user$$,$items$$,$next$$)=>{async.series({details_kh:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,customer,[{where:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_kho:function($callback$$){async.mapSeries($items$$,function($r$$,
3
- $callback1$$){$r$$.details.joinModel2($user$$.current_id_app,dmkho,[{where:"ma_kho",fields:[{name:"ten_kho",value:"ten_kho"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_bp:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,dmbp,[{where:"ma_bp",fields:["ten_bp"]}],function(){$callback1$$()})},function(){$callback$$()})},details_nv:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,
4
- dmnv,[{where:"ma_nv",fields:["ten_nv"]}],function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,dmdt,[{where:"ma_dt",fields:["ten_dt"]}],function(){$callback1$$()})},function(){$callback$$()})},details_hd:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,contract,[{where:{ma_hd:"so_hd"},fields:["ten_hd"]}],
5
- function(){$callback1$$()})},function(){$callback$$()})}},function(){$next$$(null,$items$$)})}})).route()};
2
+ module.exports=$router$$=>{(new controller($router$$,model,"kbmbcqt",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"],notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,onView:($user$$,$items$$,$next$$)=>{async.series({details_kh:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,customer,[{where:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){$callback1$$()})},function(){$callback$$()})},
3
+ details_kho:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,dmkho,[{where:"ma_kho",fields:[{name:"ten_kho",value:"ten_kho"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_bp:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,dmbp,[{where:"ma_bp",fields:["ten_bp"]}],function(){$callback1$$()})},function(){$callback$$()})},details_nv:function($callback$$){async.mapSeries($items$$,
4
+ function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,dmnv,[{where:"ma_nv",fields:["ten_nv"]}],function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,dmdt,[{where:"ma_dt",fields:["ten_dt"]}],function(){$callback1$$()})},function(){$callback$$()})},details_hd:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($user$$.current_id_app,
5
+ contract,[{where:{ma_hd:"so_hd"},fields:["ten_hd"]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){$next$$(null,$items$$)})}})).route()};
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("kbmkqhdkd"),controller=require("../../controllers/controller");module.exports=$router$$=>{(new controller($router$$,model,"kbmkqhdkd",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"]})).route()};
1
+ 'use strict';const model=global.getModel("kbmkqhdkd"),controller=require("../../controllers/controller");module.exports=$router$$=>{(new controller($router$$,model,"kbmkqhdkd",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"],notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1})).route()};
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("kbmlcttgt"),controller=require("../../controllers/controller");module.exports=$contr_router$$=>{$contr_router$$=new controller($contr_router$$,model,"kbmlcttgt",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"]});$contr_router$$.view=($user$$,$items$$,$fn$$)=>{$items$$.forEach($item$$=>{$item$$.phan_loai=$item$$.phan_loai.toString()});$fn$$(null,$items$$)};$contr_router$$.route()};
1
+ 'use strict';const model=global.getModel("kbmlcttgt"),controller=require("../../controllers/controller");module.exports=$contr_router$$=>{$contr_router$$=new controller($contr_router$$,model,"kbmlcttgt",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"],notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1});$contr_router$$.view=($user$$,$items$$,$fn$$)=>{$items$$.forEach($item$$=>{$item$$.phan_loai=$item$$.phan_loai.toString()});$fn$$(null,$items$$)};$contr_router$$.route()};
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("kbmlctttt"),controller=require("../../controllers/controller");module.exports=$contr_router$$=>{$contr_router$$=new controller($contr_router$$,model,"kbmlctttt",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"]});$contr_router$$.view=($user$$,$items$$,$fn$$)=>{$items$$.forEach($item$$=>{$item$$.phan_loai=$item$$.phan_loai.toString()});$fn$$(null,$items$$)};$contr_router$$.route()};
1
+ 'use strict';const model=global.getModel("kbmlctttt"),controller=require("../../controllers/controller");module.exports=$contr_router$$=>{$contr_router$$=new controller($contr_router$$,model,"kbmlctttt",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"],notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1});$contr_router$$.view=($user$$,$items$$,$fn$$)=>{$items$$.forEach($item$$=>{$item$$.phan_loai=$item$$.phan_loai.toString()});$fn$$(null,$items$$)};$contr_router$$.route()};
@@ -1,3 +1,3 @@
1
1
  'use strict';const model=global.getModel("kbmPttct"),dmphi=global.getModel("dmphi"),dmkho=global.getModel("dmkho"),controller=require("../../controllers/controller"),async=require("async");
2
- module.exports=$contr_router$$=>{$contr_router$$=new controller($contr_router$$,model,"kbmpttct",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"]});$contr_router$$.view=($user$$,$items$$,$fn$$)=>{const $id_app$$=$user$$.current_id_app;async.series([$callback$$=>{$items$$.joinModel2($id_app$$,dmphi,{where:"ma_phi",fields:"ten_phi"},$rs$$=>{$callback$$(null,$rs$$)})},$callback$$=>{$items$$.joinModel($id_app$$,dmkho,{where:"ma_kho",fields:"ten_kho"},$rs$$=>{$callback$$(null,$rs$$)})}],function($e$$){if($e$$)return $fn$$($e$$);
3
- $fn$$(null,$items$$)})};$contr_router$$.route()};
2
+ module.exports=$contr_router$$=>{$contr_router$$=new controller($contr_router$$,model,"kbmpttct",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"],notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1});$contr_router$$.view=($user$$,$items$$,$fn$$)=>{const $id_app$$=$user$$.current_id_app;async.series([$callback$$=>{$items$$.joinModel2($id_app$$,dmphi,{where:"ma_phi",fields:"ten_phi"},$rs$$=>{$callback$$(null,$rs$$)})},$callback$$=>{$items$$.joinModel($id_app$$,
3
+ dmkho,{where:"ma_kho",fields:"ten_kho"},$rs$$=>{$callback$$(null,$rs$$)})}],function($e$$){if($e$$)return $fn$$($e$$);$fn$$(null,$items$$)})};$contr_router$$.route()};
@@ -1,2 +1,3 @@
1
1
  'use strict';const model=global.getModel("kbmTkgtgt"),controller=require("../../controllers/controller");
2
- module.exports=$router$$=>{(new controller($router$$,model,"kbmtkgtgt",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"],onCreating:($user$$,$obj$$,$next$$)=>{"1"==$obj$$.cach_tinh?($obj$$.ma_thue=[],$obj$$.ma_tc=[],$obj$$.tk=""):$obj$$.cong_thuc="";$next$$(null,$obj$$)},onUpdating:($user$$,$data$$,$obj$$,$next$$)=>{"1"==$data$$.cach_tinh&&($data$$.ma_thue=[],$data$$.ma_tc=[],$data$$.tk="");"2"==$data$$.cach_tinh&&($data$$.cong_thuc="");$next$$(null,$data$$,$obj$$)}})).route()};
2
+ module.exports=$router$$=>{(new controller($router$$,model,"kbmtkgtgt",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"],notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,onCreating:($user$$,$obj$$,$next$$)=>{"1"==$obj$$.cach_tinh?($obj$$.ma_thue=[],$obj$$.ma_tc=[],$obj$$.tk=""):$obj$$.cong_thuc="";$next$$(null,$obj$$)},onUpdating:($user$$,$data$$,$obj$$,$next$$)=>{"1"==$data$$.cach_tinh&&($data$$.ma_thue=[],$data$$.ma_tc=[],$data$$.tk="");"2"==$data$$.cach_tinh&&
3
+ ($data$$.cong_thuc="");$next$$(null,$data$$,$obj$$)}})).route()};
@@ -1,3 +1,3 @@
1
1
  'use strict';const model=global.getModel("kbmtmbctc"),dmphi=global.getModel("dmphi"),dmkho=global.getModel("dmkho"),controller=require("../../controllers/controller"),async=require("async");
2
- module.exports=$contr_router$$=>{$contr_router$$=new controller($contr_router$$,model,"kbmtmbctc",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"]});$contr_router$$.view=($user$$,$items$$,$fn$$)=>{const $id_app$$=$user$$.current_id_app;async.series([$callback$$=>{$items$$.joinModel2($id_app$$,dmphi,{where:"ma_phi",fields:"ten_phi"},$rs$$=>{$callback$$(null,$rs$$)})},$callback$$=>{$items$$.joinModel($id_app$$,dmkho,{where:"ma_kho",fields:"ten_kho"},$rs$$=>{$callback$$(null,$rs$$)})}],function($e$$){if($e$$)return $fn$$($e$$);
3
- $fn$$(null,$items$$)})};$contr_router$$.route()};
2
+ module.exports=$contr_router$$=>{$contr_router$$=new controller($contr_router$$,model,"kbmtmbctc",{sort:{stt:1,ma_so:1},unique:["id_rptform","ma_so"],notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1});$contr_router$$.view=($user$$,$items$$,$fn$$)=>{const $id_app$$=$user$$.current_id_app;async.series([$callback$$=>{$items$$.joinModel2($id_app$$,dmphi,{where:"ma_phi",fields:"ten_phi"},$rs$$=>{$callback$$(null,$rs$$)})},$callback$$=>{$items$$.joinModel($id_app$$,
3
+ dmkho,{where:"ma_kho",fields:"ten_kho"},$rs$$=>{$callback$$(null,$rs$$)})}],function($e$$){if($e$$)return $fn$$($e$$);$fn$$(null,$items$$)})};$contr_router$$.route()};
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("label"),controller=require("../../controllers/controller"),label=function($router$$){(new controller($router$$,model,"label",{sort:{label_name:1},findExact:{label_type:1},unique:["label_name","label_type"]})).route()};module.exports=label;
1
+ 'use strict';const model=global.getModel("label"),controller=require("../../controllers/controller"),label=function($router$$){(new controller($router$$,model,"label",{sort:{label_name:1},findExact:{label_type:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,unique:["label_name","label_type"]})).route()};module.exports=label;
@@ -1,3 +1,3 @@
1
1
  'use strict';const model=global.getModel("like_module"),controller=require("../../controllers/controller"),underscore=require("underscore"),menu=require("../../menu");
2
- module.exports=function($router$$){(new controller($router$$,model,"like_module",{unique:["id_app","user_created","module"],replaceIfExists:!0,onFinding:function($user$$,$condition$$,$next$$){$condition$$.user_created=$user$$.email;$next$$(null,$condition$$)},onFound:function($user$$,$condition$$,$items$$,$next$$){const $ms$$=underscore.values(menu.getModules());$items$$.forEach(function($item$$){const $i$$=underscore.find($ms$$,function($m$$){return $m$$.path==$item$$.module});$i$$&&($item$$.module_obj=
3
- $i$$)});$next$$(null,$items$$)}})).route()};
2
+ module.exports=function($router$$){(new controller($router$$,model,"like_module",{unique:["id_app","user_created","module"],replaceIfExists:!0,notNeedRight:!0,onFinding:function($user$$,$condition$$,$next$$){$condition$$.user_created=$user$$.email;$next$$(null,$condition$$)},onFound:function($user$$,$condition$$,$items$$,$next$$){const $ms$$=underscore.values(menu.getModules());$items$$.forEach(function($item$$){const $i$$=underscore.find($ms$$,function($m$$){return $m$$.path==$item$$.module});$i$$&&
3
+ ($item$$.module_obj=$i$$)});$next$$(null,$items$$)}})).route()};
@@ -1,4 +1,4 @@
1
1
  'use strict';var model=global.getModel("newsfeed"),events=global.getModel("events"),news=global.getModel("news"),dmchietkhau=global.getModel("dmchietkhau"),dmkhuyenmai=global.getModel("dmkhuyenmai");const controller=require("../../controllers/controller"),async=require("async");
2
- module.exports=function($router$$){(new controller($router$$,model,"newsfeed",{sort:{date_created:-1},onFinding:($user$$,$condition$$,$next$$)=>{$condition$$.status=!0;$next$$(null,$condition$$)},onView:($user$$,$items$$,$next$$)=>{let $id_app$$=$user$$.current_id_app;async.series([function($callback$$){$items$$.filter($r$$=>"events"==$r$$.model_name).joinModel2($id_app$$,events,{where:{id:"_id"},fields:"title picture content date_from date_to address location".split(" ")},function($rs$$){$callback$$(null,
3
- $rs$$)})},function($callback$$){$items$$.filter($r$$=>"news"==$r$$.model_name).joinModel2($id_app$$,news,{where:{id:"_id"},fields:["title","picture","content"]},function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){$items$$.filter($r$$=>"dmchietkhau"==$r$$.model_name).joinModel2($id_app$$,dmchietkhau,{where:{id:"_id"},fields:[{title:"ten_chietkhau"},{content:"mieu_ta"},{picture:"picture"},{date_from:"hieu_luc_tu"},{date_to:"hieu_luc_den"}]},function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){$items$$.filter($r$$=>
4
- "dmkhuyenmai"==$r$$.model_name).joinModel2($id_app$$,dmkhuyenmai,{where:{id:"_id"},fields:[{title:"ten_khuyenmai"},{content:"mieu_ta"},{picture:"picture"},{date_from:"hieu_luc_tu"},{date_to:"hieu_luc_den"}]},function($rs$$){$callback$$(null,$rs$$)})}],function(){$next$$(null,$items$$)})}})).route()};
2
+ module.exports=function($router$$){(new controller($router$$,model,"newsfeed",{sort:{date_created:-1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,onFinding:($user$$,$condition$$,$next$$)=>{$condition$$.status=!0;$next$$(null,$condition$$)},onView:($user$$,$items$$,$next$$)=>{let $id_app$$=$user$$.current_id_app;async.series([function($callback$$){$items$$.filter($r$$=>"events"==$r$$.model_name).joinModel2($id_app$$,events,{where:{id:"_id"},fields:"title picture content date_from date_to address location".split(" ")},
3
+ function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){$items$$.filter($r$$=>"news"==$r$$.model_name).joinModel2($id_app$$,news,{where:{id:"_id"},fields:["title","picture","content"]},function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){$items$$.filter($r$$=>"dmchietkhau"==$r$$.model_name).joinModel2($id_app$$,dmchietkhau,{where:{id:"_id"},fields:[{title:"ten_chietkhau"},{content:"mieu_ta"},{picture:"picture"},{date_from:"hieu_luc_tu"},{date_to:"hieu_luc_den"}]},function($rs$$){$callback$$(null,
4
+ $rs$$)})},function($callback$$){$items$$.filter($r$$=>"dmkhuyenmai"==$r$$.model_name).joinModel2($id_app$$,dmkhuyenmai,{where:{id:"_id"},fields:[{title:"ten_khuyenmai"},{content:"mieu_ta"},{picture:"picture"},{date_from:"hieu_luc_tu"},{date_to:"hieu_luc_den"}]},function($rs$$){$callback$$(null,$rs$$)})}],function(){$next$$(null,$items$$)})}})).route()};
@@ -5,6 +5,6 @@ usergroup,[{where:{group_id:"_id"},fields:["group_name","is_customer_group","is_
5
5
  [{where:$item$$=>({ma_trang_thai:$item$$.trang_thai_xac_thuc,ma_ct:"ASSUSER_IDENTITY"}),fields:[{ten_trang_thai_xac_thuc:"ten_trang_thai"},"color"]}],function(){$callback$$()})}):$callback$$()}},()=>{$items$$.forEach($item$$=>{$item$$.real_name&&($item$$.name=$item$$.real_name);delete $item$$.password});$next$$(null,$items$$)})},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{if($data$$.phone){let $u$$=await global.getModel("user").findOne({$or:[{"local.phone":$data$$.phone},{email:$data$$.phone}]});
6
6
  if($u$$&&$u$$.email!==$obj$$.email)return $next$$("S\u1ed1 \u0111i\u1ec7n tho\u1ea1i "+$data$$.phone+" \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng")}delete $data$$.password;if($data$$.admin&&!$obj$$.admin&&!$user$$.appAdmin)return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1eb7t ng\u01b0\u1eddi n\u00e0y l\u00e0 ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb");$next$$(null,$data$$,$obj$$)},onUpdated:async($u$jscomp$1_user$$,$obj$$,$next$$)=>{$obj$$.phone&&($u$jscomp$1_user$$=await User.findOne({email:$obj$$.email}))&&
7
7
  ($u$jscomp$1_user$$.local=$u$jscomp$1_user$$.local||{},$u$jscomp$1_user$$.local.phone=$obj$$.phone,await $u$jscomp$1_user$$.save(),redisCache.set("user",$u$jscomp$1_user$$.toObject(),function($e$$){$e$$&&console.error($e$$)}));$next$$(null,$obj$$)},onCreating:async($u$jscomp$2_user$$,$data$$,$next$$)=>{if($data$$.auto_create_user&&$data$$.password&&$data$$.phone&&($u$jscomp$2_user$$=await global.getModel("user").findOne({$or:[{"local.phone":$data$$.phone},{email:$data$$.phone}]}))&&$u$jscomp$2_user$$.email!==
8
- $data$$.email)return $next$$("S\u1ed1 \u0111i\u1ec7n tho\u1ea1i "+$data$$.phone+" \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng");$next$$(null,$data$$)},onCreated:async($user$$,$obj$$,$next$$)=>{$obj$$.email||($obj$$=await model.findOne({_id:$obj$$._id}));$obj$$.auto_create_user&&$obj$$.password?User.findOne({email:$obj$$.email},async($e$jscomp$1$$,$rs$$)=>{if($e$jscomp$1$$||$rs$$)return $obj$$.password=$obj$$.generateHash($obj$$.email+$obj$$.password),await $obj$$.save(),$next$$(null,$obj$$),
9
- console.log($e$jscomp$1$$||`User ${$obj$$.email} \u0111\u00e3 t\u1ed3n t\u1ea1i`);$e$jscomp$1$$=new User;$e$jscomp$1$$.email=$obj$$.email;$e$jscomp$1$$.name=$obj$$.name;$e$jscomp$1$$.local={};$e$jscomp$1$$.local.email=$obj$$.email;$e$jscomp$1$$.local.name=$obj$$.name;$e$jscomp$1$$.local.phone=$obj$$.phone;$e$jscomp$1$$.local.password=$e$jscomp$1$$.generateHash($e$jscomp$1$$.email+$obj$$.password);$e$jscomp$1$$.save(($e$jscomp$0$$,$_user$$)=>{if($e$jscomp$0$$)return model.remove({_id:$obj$$._id}),
10
- $next$$(`Kh\u00f4ng th\u1ec3 t\u1ea1o ng\u01b0\u1eddi d\u00f9ng ${$obj$$.email}, L\u1ed7i: ${$e$jscomp$0$$.message}`);redisCache.set("user",$_user$$.toObject(),function($e$$){$e$$&&console.error($e$$)});$next$$(null,$obj$$)})}):$next$$(null,$obj$$)}})).route()};
8
+ $data$$.email)return $next$$("S\u1ed1 \u0111i\u1ec7n tho\u1ea1i "+$data$$.phone+" \u0111\u00e3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng");$next$$(null,$data$$)},onCreated:async($user$$,$_obj$$,$next$$)=>{const $obj$$=await model.findOne({_id:$_obj$$._id});$obj$$.auto_create_user&&$obj$$.password?User.findOne({email:$obj$$.email},async($e$jscomp$1$$,$rs$$)=>{if($e$jscomp$1$$||$rs$$)return console.log("user exists, update participant password..."),$obj$$.password=$obj$$.generateHash($obj$$.email+$obj$$.password),
9
+ await $obj$$.save(),$next$$(null,$_obj$$),console.log($e$jscomp$1$$||`User ${$obj$$.email} \u0111\u00e3 t\u1ed3n t\u1ea1i`);$e$jscomp$1$$=new User;$e$jscomp$1$$.email=$obj$$.email;$e$jscomp$1$$.name=$obj$$.name;$e$jscomp$1$$.local={};$e$jscomp$1$$.local.email=$obj$$.email;$e$jscomp$1$$.local.name=$obj$$.name;$e$jscomp$1$$.local.phone=$obj$$.phone;$e$jscomp$1$$.local.password=$e$jscomp$1$$.generateHash($e$jscomp$1$$.email+$obj$$.password);$e$jscomp$1$$.save(($e$jscomp$0$$,$_user$$)=>{if($e$jscomp$0$$)return model.remove({_id:$obj$$._id}),
10
+ $next$$(`Kh\u00f4ng th\u1ec3 t\u1ea1o ng\u01b0\u1eddi d\u00f9ng ${$obj$$.email}, L\u1ed7i: ${$e$jscomp$0$$.message}`);redisCache.set("user",$_user$$.toObject(),function($e$$){$e$$&&console.error($e$$)});$next$$(null,$_obj$$)})}):$next$$(null,$_obj$$)}})).route()};
@@ -1,3 +1,3 @@
1
1
  'use strict';const model=global.getModel("ptthanhtoan"),customer=global.getModel("customer"),async=require("async"),controller=require("../../controllers/controller");
2
- module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"ptthanhtoan",{sort:{stt:1,ten:1},onView:($user$$,$items$$,$next$$)=>{async.series({kh:$callback$$=>{$items$$.joinModel($user$$.current_id_app,customer,{where:{ma_kh:"ma_kh"},fields:{ten_kh:"ten_kh"}},function(){$callback$$()})},ad:$callback$$=>{$user$$.appAdmin||$items$$.forEach($data$$=>{delete $data$$.onepay_configs;delete $data$$.momo_configs});$callback$$()}},async $e$$=>{$next$$($e$$,$items$$)})}});
3
- $contr_router$$.route();$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){$user$$.appAdmin||(delete $data$$.onepay_configs,delete $data$$.momo_configs);$next$$(null,$data$$,$obj$$)}};
2
+ module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"ptthanhtoan",{sort:{stt:1,ten:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,onView:($user$$,$items$$,$next$$)=>{async.series({kh:$callback$$=>{$items$$.joinModel($user$$.current_id_app,customer,{where:{ma_kh:"ma_kh"},fields:{ten_kh:"ten_kh"}},function(){$callback$$()})},ad:$callback$$=>{$user$$.appAdmin||$items$$.forEach($data$$=>{delete $data$$.onepay_configs;
3
+ delete $data$$.momo_configs});$callback$$()}},async $e$$=>{$next$$($e$$,$items$$)})}});$contr_router$$.route();$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){$user$$.appAdmin||(delete $data$$.onepay_configs,delete $data$$.momo_configs);$next$$(null,$data$$,$obj$$)}};
@@ -1,5 +1,5 @@
1
1
  'use strict';const model=global.getModel("rpt"),file=global.getModel("file"),parameter=global.getModel("parameter"),controller=require("../../controllers/controller"),fs=require("fs"),path=require("path"),async=require("async");
2
- module.exports=function($router$$){(new controller($router$$,model,"rpt",{sort:{ma_cn:1},onFinding:($user$$,$condition$$,$next$$,$_condition_dir_root_templates_options$$={})=>{if($condition$$.ma_cn&&$_condition_dir_root_templates_options$$.req&&$_condition_dir_root_templates_options$$.req.query&&!$_condition_dir_root_templates_options$$.req.query.count){$_condition_dir_root_templates_options$$=configs.paths.templates||path.dirname(__dirname);let $p$$="/templates/excels/"+$condition$$.ma_cn.toLowerCase()+
3
- ".xlsx",$templatePath$$=path.dirname($_condition_dir_root_templates_options$$)+$p$$;fs.existsSync($templatePath$$)||($p$$="/templates/excels/reports/"+$condition$$.ma_cn.toLowerCase()+".xlsx",$templatePath$$=path.dirname($_condition_dir_root_templates_options$$)+$p$$);fs.existsSync($templatePath$$)?($_condition_dir_root_templates_options$$={id_app:$user$$.current_id_app,ma_cn:$condition$$.ma_cn.toUpperCase()},model.countDocuments($_condition_dir_root_templates_options$$,function($error$$,$count$$){if($error$$)return $next$$($error$$);
4
- 0===$count$$?model.create({id_app:$user$$.current_id_app,ma_cn:$condition$$.ma_cn,ten_mau_in:"M\u1eabu chu\u1ea9n",file_mau_in:$p$$},$e$$=>{$next$$($e$$,$condition$$)}):$next$$(null,$condition$$)})):$next$$(null,$condition$$)}else $next$$(null,$condition$$)},onView:($user$$,$items$$,$next$$)=>{async.mapSeries($items$$,async $item$$=>{$item$$.file_mau_in&&0<$item$$.file_mau_in.indexOf("/file/download")&&($_f_file_id_params$$=$item$$.file_mau_in.split("/").pop(),$_f_file_id_params$$=await file.findOne({_id:$_f_file_id_params$$}))&&
5
- ($item$$.file=$_f_file_id_params$$.file);if(!($item$$.parameters&&0<$item$$.parameters.length)){var $_f_file_id_params$$=await parameter.find({id_rpt:$item$$._id.toString()});$_f_file_id_params$$.forEach(($r$$,$i$$)=>{$r$$.line=$i$$});$item$$.parameters=$_f_file_id_params$$}},()=>{$next$$(null,$items$$)})}})).route()};
2
+ module.exports=function($router$$){(new controller($router$$,model,"rpt",{sort:{ma_cn:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,onFinding:($user$$,$condition$$,$next$$,$_condition_dir_root_templates_options$$={})=>{if($condition$$.ma_cn&&$_condition_dir_root_templates_options$$.req&&$_condition_dir_root_templates_options$$.req.query&&!$_condition_dir_root_templates_options$$.req.query.count){$_condition_dir_root_templates_options$$=configs.paths.templates||
3
+ path.dirname(__dirname);let $p$$="/templates/excels/"+$condition$$.ma_cn.toLowerCase()+".xlsx",$templatePath$$=path.dirname($_condition_dir_root_templates_options$$)+$p$$;fs.existsSync($templatePath$$)||($p$$="/templates/excels/reports/"+$condition$$.ma_cn.toLowerCase()+".xlsx",$templatePath$$=path.dirname($_condition_dir_root_templates_options$$)+$p$$);fs.existsSync($templatePath$$)?($_condition_dir_root_templates_options$$={id_app:$user$$.current_id_app,ma_cn:$condition$$.ma_cn.toUpperCase()},model.countDocuments($_condition_dir_root_templates_options$$,
4
+ function($error$$,$count$$){if($error$$)return $next$$($error$$);0===$count$$?model.create({id_app:$user$$.current_id_app,ma_cn:$condition$$.ma_cn,ten_mau_in:"M\u1eabu chu\u1ea9n",file_mau_in:$p$$},$e$$=>{$next$$($e$$,$condition$$)}):$next$$(null,$condition$$)})):$next$$(null,$condition$$)}else $next$$(null,$condition$$)},onView:($user$$,$items$$,$next$$)=>{async.mapSeries($items$$,async $item$$=>{$item$$.file_mau_in&&0<$item$$.file_mau_in.indexOf("/file/download")&&($_f_file_id_params$$=$item$$.file_mau_in.split("/").pop(),
5
+ $_f_file_id_params$$=await file.findOne({_id:$_f_file_id_params$$}))&&($item$$.file=$_f_file_id_params$$.file);if(!($item$$.parameters&&0<$item$$.parameters.length)){var $_f_file_id_params$$=await parameter.find({id_rpt:$item$$._id.toString()});$_f_file_id_params$$.forEach(($r$$,$i$$)=>{$r$$.line=$i$$});$item$$.parameters=$_f_file_id_params$$}},()=>{$next$$(null,$items$$)})}})).route()};
@@ -1,4 +1,4 @@
1
- 'use strict';const model=global.getModel("rptform"),controller=require("../../controllers/controller"),rptform=function($router$$){(new controller($router$$,model,"rptform",{sort:{rptform_name:1},onFinding:async($id_app_user$$,$condition$$,$next$$,$options$$)=>{if($condition$$.rptform_type&&$condition$$.form_kbm&&$options$$.req.user&&$options$$.req.user.current_id_app){$id_app_user$$=$options$$.req.user.current_id_app;try{let $form_kbm$$=global.getModel($condition$$.form_kbm);if($form_kbm$$&&await $form_kbm$$.findOne({id_app:$id_app_user$$,
2
- id_rptform:{$in:[null,void 0,""]}})){let $def$$=await model.create({id_app:$id_app_user$$,form_kbm:$condition$$.form_kbm,rptform_type:$condition$$.rptform_type,rptform_name:"M\u1eb7c \u0111\u1ecbnh"}),$rs_up$$=await $form_kbm$$.updateMany({id_app:$id_app_user$$,id_rptform:{$in:[null,void 0,""]}},{id_rptform:$def$$._id.toString()});console.log("result create form default",$rs_up$$,$def$$);$next$$(null,$condition$$)}else return $next$$(null,$condition$$)}catch($e$$){console.error($e$$),$next$$($e$$)}}else $next$$(null,
3
- $condition$$)},onCreated:async($user$$,$obj$$,$next$$)=>{if($obj$$.form_kbm&&$obj$$.exfields&&$obj$$.exfields[$obj$$.form_kbm])try{let $form_kbm$$=global.getModel($obj$$.form_kbm);$form_kbm$$&&($obj$$.exfields[$obj$$.form_kbm].forEach($r$$=>{delete $r$$._id;delete $r$$.__v;$r$$.id_rptform=$obj$$._id.toString();$r$$.id_app=$obj$$.id_app}),await $form_kbm$$.create($obj$$.exfields[$obj$$.form_kbm]),delete $obj$$.exfields[$obj$$.form_kbm],model.findOneAndUpdate({_id:$obj$$._id},{exfields:$obj$$.exfields}))}catch($e$$){console.error($e$$)}$next$$(null,
4
- $obj$$)}})).route()};module.exports=rptform;
1
+ 'use strict';const model=global.getModel("rptform"),controller=require("../../controllers/controller"),rptform=function($router$$){(new controller($router$$,model,"rptform",{sort:{rptform_name:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,onFinding:async($id_app_user$$,$condition$$,$next$$,$options$$)=>{if($condition$$.rptform_type&&$condition$$.form_kbm&&$options$$.req.user&&$options$$.req.user.current_id_app){$id_app_user$$=$options$$.req.user.current_id_app;
2
+ try{let $form_kbm$$=global.getModel($condition$$.form_kbm);if($form_kbm$$&&await $form_kbm$$.findOne({id_app:$id_app_user$$,id_rptform:{$in:[null,void 0,""]}})){let $def$$=await model.create({id_app:$id_app_user$$,form_kbm:$condition$$.form_kbm,rptform_type:$condition$$.rptform_type,rptform_name:"M\u1eb7c \u0111\u1ecbnh"}),$rs_up$$=await $form_kbm$$.updateMany({id_app:$id_app_user$$,id_rptform:{$in:[null,void 0,""]}},{id_rptform:$def$$._id.toString()});console.log("result create form default",$rs_up$$,
3
+ $def$$);$next$$(null,$condition$$)}else return $next$$(null,$condition$$)}catch($e$$){console.error($e$$),$next$$($e$$)}}else $next$$(null,$condition$$)},onCreated:async($user$$,$obj$$,$next$$)=>{if($obj$$.form_kbm&&$obj$$.exfields&&$obj$$.exfields[$obj$$.form_kbm])try{let $form_kbm$$=global.getModel($obj$$.form_kbm);$form_kbm$$&&($obj$$.exfields[$obj$$.form_kbm].forEach($r$$=>{delete $r$$._id;delete $r$$.__v;$r$$.id_rptform=$obj$$._id.toString();$r$$.id_app=$obj$$.id_app}),await $form_kbm$$.create($obj$$.exfields[$obj$$.form_kbm]),
4
+ delete $obj$$.exfields[$obj$$.form_kbm],model.findOneAndUpdate({_id:$obj$$._id},{exfields:$obj$$.exfields}))}catch($e$$){console.error($e$$)}$next$$(null,$obj$$)}})).route()};module.exports=rptform;
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("tc"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"tc",{sort:{ma_tc:1},unique:["ma_tc"]})).route()};
1
+ 'use strict';const model=global.getModel("tc"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"tc",{sort:{ma_tc:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,unique:["ma_tc"]})).route()};
@@ -1,4 +1,5 @@
1
1
  'use strict';const model=global.getModel("templaterpt"),options=global.getModel("options"),controller=require("../../controllers/controller"),fs=require("fs"),path=require("path");
2
- module.exports=function($router$$){(new controller($router$$,model,"templaterpt",{sort:{ma_cn:1},onFound:($user$$,$c$$,$obj4view$$,$callback$$)=>{$c$$.ma_cn&&0===$obj4view$$.length?(new Promise($resole$$=>{options.findOne({id_app:$user$$.current_id_app,id_func:{$regex:$c$$.ma_cn,$options:"i"}}).lean().exec(($e$$,$op$$)=>{let $templateDefault$$;$op$$&&$op$$.option&&$op$$.option.system&&$op$$.option.system.templateRpt&&($templateDefault$$=$op$$.option.system.templateRpt);$resole$$($templateDefault$$)})})).then($templateDefault$$=>
3
- new Promise($resole$$=>{if($templateDefault$$)return console.log("get default rpt from options"),$resole$$($templateDefault$$);let $df_file_tmp$$=`${path.dirname(path.dirname(__dirname))}/templates/rpts/${$c$$.ma_cn.toLowerCase()}.html`;if(!fs.existsSync($df_file_tmp$$)&&($df_file_tmp$$=`${path.dirname(path.dirname(__dirname))}/templates/rpts/reports/${$c$$.ma_cn.toLowerCase()}/templates/print.html`,!fs.existsSync($df_file_tmp$$)&&($df_file_tmp$$=`${path.dirname(path.dirname(__dirname))}/templates/rpts/vouchers/${$c$$.ma_cn.toLowerCase()}/templates/print.html`,
4
- !fs.existsSync($df_file_tmp$$))))return $resole$$(null);fs.readFile($df_file_tmp$$,"utf8",($err$$,$str$$)=>{console.log("get default rpt from file");$resole$$($str$$)})})).then($str$$=>{$str$$?(new model({ma_cn:$c$$.ma_cn,ten_mau_in:"M\u1eabu m\u1eb7c \u0111\u1ecbnh",id_app:$user$$.current_id_app,html_code:$str$$,options:{}})).save(($e$$,$rs$$)=>{$rs$$&&$obj4view$$.push($rs$$.toObject());$callback$$(null,$obj4view$$)}):$callback$$(null,$obj4view$$)}):$callback$$(null,$obj4view$$)}})).route()};
2
+ module.exports=function($router$$){(new controller($router$$,model,"templaterpt",{sort:{ma_cn:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,onFound:($user$$,$c$$,$obj4view$$,$callback$$)=>{$c$$.ma_cn&&0===$obj4view$$.length?(new Promise($resole$$=>{options.findOne({id_app:$user$$.current_id_app,id_func:{$regex:$c$$.ma_cn,$options:"i"}}).lean().exec(($e$$,$op$$)=>{let $templateDefault$$;$op$$&&$op$$.option&&$op$$.option.system&&$op$$.option.system.templateRpt&&
3
+ ($templateDefault$$=$op$$.option.system.templateRpt);$resole$$($templateDefault$$)})})).then($templateDefault$$=>new Promise($resole$$=>{if($templateDefault$$)return console.log("get default rpt from options"),$resole$$($templateDefault$$);let $df_file_tmp$$=`${path.dirname(path.dirname(__dirname))}/templates/rpts/${$c$$.ma_cn.toLowerCase()}.html`;if(!fs.existsSync($df_file_tmp$$)&&($df_file_tmp$$=`${path.dirname(path.dirname(__dirname))}/templates/rpts/reports/${$c$$.ma_cn.toLowerCase()}/templates/print.html`,
4
+ !fs.existsSync($df_file_tmp$$)&&($df_file_tmp$$=`${path.dirname(path.dirname(__dirname))}/templates/rpts/vouchers/${$c$$.ma_cn.toLowerCase()}/templates/print.html`,!fs.existsSync($df_file_tmp$$))))return $resole$$(null);fs.readFile($df_file_tmp$$,"utf8",($err$$,$str$$)=>{console.log("get default rpt from file");$resole$$($str$$)})})).then($str$$=>{$str$$?(new model({ma_cn:$c$$.ma_cn,ten_mau_in:"M\u1eabu m\u1eb7c \u0111\u1ecbnh",id_app:$user$$.current_id_app,html_code:$str$$,options:{}})).save(($e$$,
5
+ $rs$$)=>{$rs$$&&$obj4view$$.push($rs$$.toObject());$callback$$(null,$obj4view$$)}):$callback$$(null,$obj4view$$)}):$callback$$(null,$obj4view$$)}})).route()};
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("templatevoucher"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"templatevoucher",{sort:{voucher_code:1,code:1},unique:["voucher_code","code"]})).route()};
1
+ 'use strict';const model=global.getModel("templatevoucher"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"templatevoucher",{sort:{voucher_code:1,code:1},unique:["voucher_code","code"],notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1})).route()};
@@ -1 +1 @@
1
- 'use strict';const model=global.getModel("vat"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"vat",{sort:{ten_thue:1},unique:["ma_thue"]})).route()};
1
+ 'use strict';const model=global.getModel("vat"),controller=require("../../controllers/controller");module.exports=function($router$$){(new controller($router$$,model,"vat",{sort:{ten_thue:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,unique:["ma_thue"]})).route()};
@@ -0,0 +1,5 @@
1
+ 'use strict';const model=global.getModel("vatra"),controller=require("../../controllers/controller"),vatra=function($router$$){(new controller($router$$,model,"vatra",{sort:{ngay_hd:-1},onImport:async($id_app_user$$,$data_so_hd$$,$columns_new_data$$,$next$$)=>{$columns_new_data$$=[];$id_app_user$$=$id_app_user$$.current_id_app;try{for(let $row$$ of $data_so_hd$$)if($row$$.id&&$row$$.thttltsuat&&0<$row$$.thttltsuat.length){let $so_ct$$=$row$$.shdon,$id_ct$$=$row$$.id,$_curr$$=await model.findOne({id_ct:$id_ct$$,
2
+ id_app:$id_app_user$$}).lean();if(!$_curr$$||!$_curr$$.id_hd){let $ngay_ct$$=new Date($row$$.tdlap);$data_so_hd$$=$so_ct$$;let $ngay_hd$$=$ngay_ct$$,$ma_so_thue$$=$row$$.nmmst,$ma_kh$$=$ma_so_thue$$,$dien_thoai$$=$row$$.nbsdthoai,$ten_kh$$=$row$$.nmten,$dia_chi$$=$row$$.nmdchi;for(let $thue$$ of $row$$.thttltsuat){let $ma_thue$$=$thue$$.tsuat.split("%")[0],$thue_suat$$=Number($ma_thue$$);if(!$ma_thue$$||isNaN($thue_suat$$))return $next$$("D\u1eef li\u1ec7u kh\u00f4ng h\u1ee3p l\u1ec7");let $ty_gia$$=
3
+ $row$$.tgia||1,$t_tien$$=$thue$$.thtien*$ty_gia$$,$t_thue$$=$thue$$.tthue*$ty_gia$$,$new_row$$={ma_ct:"VATRA",id_ct:$id_ct$$,so_ct:$so_ct$$,ngay_ct:$ngay_ct$$,co_quan_thue:$row$$.cqt,ma_hoa_don:$row$$.khmshdon,ky_hieu_hoa_don:$row$$.khhdon,ma_tc:$row$$.tchat,so_hd:$data_so_hd$$,ngay_hd:$ngay_hd$$,ma_nt:$row$$.dvtte,ty_gia:$ty_gia$$,ma_kh:$ma_kh$$,ten_kh:$ten_kh$$,dia_chi:$dia_chi$$,ma_so_thue:$ma_so_thue$$,dien_giai:$row$$.gchu,ma_thue:$ma_thue$$,thue_suat:$thue_suat$$,t_tien_nt:$thue$$.thtien,t_tien:$t_tien$$,
4
+ t_thue_nt:$thue$$.tthue,t_thue:$t_thue$$,t_hd_nt:$thue$$.thtien=$thue$$.tthue,t_hd:$t_tien$$+$t_thue$$,hddt:$row$$};$columns_new_data$$=$columns_new_data$$.concat($new_row$$)}await model.deleteMany({id_app:$id_app_user$$,id_ct:$id_ct$$});await global.getModel("customer").findOne({id_app:$id_app_user$$,ma_kh:$ma_kh$$},{_id:1}).lean()||await global.getModel("customer").create({id_app:$id_app_user$$,ma_kh:$ma_kh$$,ten_kh:$ten_kh$$,dia_chi:$dia_chi$$,ma_so_thue:$ma_so_thue$$,dien_thoai:$dien_thoai$$})}}else $columns_new_data$$.push($row$$)}catch($e$$){return $next$$($e$$)}$next$$(null,
5
+ $columns_new_data$$)}})).route()};module.exports=vatra;
@@ -0,0 +1,5 @@
1
+ 'use strict';const model=global.getModel("vatvao"),controller=require("../../controllers/controller"),vatvao=function($router$$){(new controller($router$$,model,"vatvao",{sort:{ngay_hd:-1},onImport:async($id_app_user$$,$data_so_hd$$,$columns_new_data$$,$next$$)=>{$columns_new_data$$=[];$id_app_user$$=$id_app_user$$.current_id_app;try{for(let $row$$ of $data_so_hd$$)if($row$$.id&&$row$$.thttltsuat&&0<$row$$.thttltsuat.length){let $so_ct$$=$row$$.shdon,$id_ct$$=$row$$.id,$_curr$$=await model.findOne({id_ct:$id_ct$$,
2
+ id_app:$id_app_user$$}).lean();if(!$_curr$$||!$_curr$$.id_hd){let $ngay_ct$$=new Date($row$$.tdlap);$data_so_hd$$=$so_ct$$;let $ngay_hd$$=$ngay_ct$$,$ma_so_thue$$=$row$$.nbmst,$ma_kh$$=$ma_so_thue$$,$dien_thoai$$=$row$$.nbsdthoai,$ten_kh$$=$row$$.nbten,$dia_chi$$=$row$$.nbdchi;for(let $thue$$ of $row$$.thttltsuat){let $ma_thue$$=$thue$$.tsuat.split("%")[0],$thue_suat$$=Number($ma_thue$$);if(!$ma_thue$$||isNaN($thue_suat$$))return $next$$("D\u1eef li\u1ec7u kh\u00f4ng h\u1ee3p l\u1ec7");let $ty_gia$$=
3
+ $row$$.tgia||1,$t_tien$$=$thue$$.thtien*$ty_gia$$,$t_thue$$=$thue$$.tthue*$ty_gia$$,$new_row$$={ma_ct:"VATVAO",id_ct:$id_ct$$,so_ct:$so_ct$$,ngay_ct:$ngay_ct$$,co_quan_thue:$row$$.cqt,ma_hoa_don:$row$$.khmshdon,ky_hieu_hoa_don:$row$$.khhdon,ma_tc:$row$$.tchat,so_hd:$data_so_hd$$,ngay_hd:$ngay_hd$$,ma_nt:$row$$.dvtte,ty_gia:$ty_gia$$,ma_kh:$ma_kh$$,ten_kh:$ten_kh$$,dia_chi:$dia_chi$$,ma_so_thue:$ma_so_thue$$,dien_giai:$row$$.gchu,ma_thue:$ma_thue$$,thue_suat:$thue_suat$$,t_tien_nt:$thue$$.thtien,t_tien:$t_tien$$,
4
+ t_thue_nt:$thue$$.tthue,t_thue:$t_thue$$,t_hd_nt:$thue$$.thtien=$thue$$.tthue,t_hd:$t_tien$$+$t_thue$$,hddt:$row$$};$columns_new_data$$=$columns_new_data$$.concat($new_row$$)}await model.deleteMany({id_app:$id_app_user$$,id_ct:$id_ct$$});await global.getModel("customer").findOne({id_app:$id_app_user$$,ma_kh:$ma_kh$$},{_id:1}).lean()||await global.getModel("customer").create({id_app:$id_app_user$$,ma_kh:$ma_kh$$,ten_kh:$ten_kh$$,dia_chi:$dia_chi$$,ma_so_thue:$ma_so_thue$$,dien_thoai:$dien_thoai$$})}}else $columns_new_data$$.push($row$$)}catch($e$$){return $next$$($e$$)}$next$$(null,
5
+ $columns_new_data$$)}})).route()};module.exports=vatvao;
@@ -1,6 +1,6 @@
1
- 'use strict';const tinhgiatb=require("../../libs/tinhgiatb"),controller=require("../../controllers/controllerRPT"),_Notification=global.getModel("notification"),async=require("async");
2
- module.exports=function($router$$){new controller($router$$,"tinhgiatb",async function($req$$,$callback$jscomp$0$$){const $query$$=$req$$.query;if(!$query$$.nam||!$query$$.tu_thang||!$query$$.den_thang)return $callback$jscomp$0$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: nam,tu_thang,den_thang");var $ds_kho_moment_query_kho$$=require("moment"),$_app_ngay_ks$$=await global.getModel("app").findOne({_id:$req$$.user.current_id_app});if(!$_app_ngay_ks$$)return $callback$jscomp$0$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");
3
- $_app_ngay_ks$$=$ds_kho_moment_query_kho$$($_app_ngay_ks$$.ngay_ks).startOf("date").toDate();let $tu_ngay$$=$ds_kho_moment_query_kho$$([Number($query$$.nam),Number($query$$.tu_thang)-1,1]).startOf("month").toDate();if($_app_ngay_ks$$.getTime()>=$tu_ngay$$.getTime())return $callback$jscomp$0$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${$ds_kho_moment_query_kho$$($_app_ngay_ks$$).format("DD/MM/YYYY")}`);const $id_app$$=$query$$.id_app;$ds_kho_moment_query_kho$$=[];$query$$.tinh_theo_kho&&
4
- !$query$$.ma_kho?($ds_kho_moment_query_kho$$={id_app:$id_app$$,status:!0},$ds_kho_moment_query_kho$$=(await global.getModel("dmkho").find($ds_kho_moment_query_kho$$,{ma_kho:1}).sort({stt:1}).lean()).map($r$$=>$r$$.ma_kho)):$ds_kho_moment_query_kho$$=[$query$$.ma_kho];async.mapSeries($ds_kho_moment_query_kho$$,($ma_kho$$,$callback$$)=>{const $zquery$$=Object.assign({},$query$$);$zquery$$.ma_kho=$ma_kho$$;tinhgiatb($zquery$$,function($error$$){$error$$&&console.error("l\u1ed7i t\u00ednh gia trung b\u00ecnh:",
5
- $error$$,$zquery$$);$callback$$($error$$)})},$error$$=>{const $email$$=$req$$.user.email;$error$$?(console.error("L\u1ed7i khi t\u00ednh gi\u00e1 trung b\u00ecnh",$error$$),_Notification.createNotification($email$$,$email$$,$error$$.message||$error$$,$error$$.message||$error$$,null,{id_app:$id_app$$},!0,$req$$.access_token,!0)):(console.info("\u0110\u00e3 t\u00ednh xong gi\u00e1 trung b\u00ecnh. Th\u00f4ng b\u00e1o t\u1edbi",$email$$),_Notification.createNotification($email$$,$email$$,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 t\u00ednh gi\u00e1 trung b\u00ecnh xong",
6
- "Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 t\u00ednh gi\u00e1 trung b\u00ecnh xong",null,{id_app:$id_app$$},!0,$req$$.access_token,!0))});$callback$jscomp$0$$(null,[{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. B\u1ea1n c\u00f3 th\u1ec3 chuy\u1ec3n sang trang kh\u00e1c \u0111\u1ec3 l\u00e0m vi\u1ec7c. Khi ch\u01b0\u01a1ng tr\u00ecnh th\u1ef1c hi\u1ec7n xong s\u1ebd g\u1eedi th\u00f4ng b\u00e1o cho b\u1ea1n."}])},{stream:!1,cache:!1,queue:!0})};
1
+ 'use strict';const tinhgiatb=require("../../libs/tinhgiatb"),controller=require("../../controllers/controllerRPT"),_Notification=global.getModel("notification"),async=require("async"),utils=require("../../libs/utils");
2
+ module.exports=function($router$$){new controller($router$$,"tinhgiatb",async function($req$$,$callback$jscomp$0$$){const $query$$=$req$$.query;if(!$query$$.nam||!$query$$.tu_thang||!$query$$.den_thang)return $callback$jscomp$0$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: nam,tu_thang,den_thang");var $ds_kho_moment_query_kho$$=require("moment"),$ngay_ks_tu_ngay$$=$ds_kho_moment_query_kho$$([Number($query$$.nam),Number($query$$.tu_thang)-1,1]).startOf("month").toDate();
3
+ if($ngay_ks_tu_ngay$$=await utils.isBookLocked({id_app:$req$$.user.current_id_app,ngay_ct:$ngay_ks_tu_ngay$$}))return $callback$jscomp$0$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${$ds_kho_moment_query_kho$$($ngay_ks_tu_ngay$$).format("DD/MM/YYYY")}`);const $id_app$$=$query$$.id_app;$ds_kho_moment_query_kho$$=[];$query$$.tinh_theo_kho&&!$query$$.ma_kho?($ds_kho_moment_query_kho$$={id_app:$id_app$$,status:!0},$ds_kho_moment_query_kho$$=(await global.getModel("dmkho").find($ds_kho_moment_query_kho$$,
4
+ {ma_kho:1}).sort({stt:1}).lean()).map($r$$=>$r$$.ma_kho)):$ds_kho_moment_query_kho$$=[$query$$.ma_kho];async.mapSeries($ds_kho_moment_query_kho$$,($ma_kho$$,$callback$$)=>{const $zquery$$=Object.assign({},$query$$);$zquery$$.ma_kho=$ma_kho$$;tinhgiatb($zquery$$,function($error$$){$error$$&&console.error("l\u1ed7i t\u00ednh gia trung b\u00ecnh:",$error$$,$zquery$$);$callback$$($error$$)})},$error$$=>{const $email$$=$req$$.user.email;$error$$?(console.error("L\u1ed7i khi t\u00ednh gi\u00e1 trung b\u00ecnh",
5
+ $error$$),_Notification.createNotification($email$$,$email$$,$error$$.message||$error$$,$error$$.message||$error$$,null,{id_app:$id_app$$},!0,$req$$.access_token,!0)):(console.info("\u0110\u00e3 t\u00ednh xong gi\u00e1 trung b\u00ecnh. Th\u00f4ng b\u00e1o t\u1edbi",$email$$),_Notification.createNotification($email$$,$email$$,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 t\u00ednh gi\u00e1 trung b\u00ecnh xong","Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 t\u00ednh gi\u00e1 trung b\u00ecnh xong",null,{id_app:$id_app$$},
6
+ !0,$req$$.access_token,!0))});$callback$jscomp$0$$(null,[{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. B\u1ea1n c\u00f3 th\u1ec3 chuy\u1ec3n sang trang kh\u00e1c \u0111\u1ec3 l\u00e0m vi\u1ec7c. Khi ch\u01b0\u01a1ng tr\u00ecnh th\u1ef1c hi\u1ec7n xong s\u1ebd g\u1eedi th\u00f4ng b\u00e1o cho b\u1ea1n."}])},{stream:!1,cache:!1,queue:!0})};
@@ -1,7 +1,6 @@
1
- 'use strict';const _Notification=global.getModel("notification"),controller=require("../../controllers/controllerRPT"),tinhGt=require("../../libs/tinhGt"),async=require("async");
2
- module.exports=function($router$$){new controller($router$$,"tinhgiathanh",async function($req$$,$callback$jscomp$0$$){const $condition$$=$req$$.query;if(!$condition$$.nam||!$condition$$.thang)return $callback$jscomp$0$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: nam,thang");$condition$$.nam=Number($condition$$.nam);$condition$$.thang=Number($condition$$.thang);var $dsbp_moment_q$$=require("moment"),$_app_bpcon_ngay_ks$$=await global.getModel("app").findOne({_id:$req$$.user.current_id_app});
3
- if(!$_app_bpcon_ngay_ks$$)return $callback$jscomp$0$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");$_app_bpcon_ngay_ks$$=$dsbp_moment_q$$($_app_bpcon_ngay_ks$$.ngay_ks).startOf("date").toDate();let $tu_ngay$$=$dsbp_moment_q$$([Number($condition$$.nam),Number($condition$$.thang)-1,1]).startOf("month").toDate();if($_app_bpcon_ngay_ks$$.getTime()>=$tu_ngay$$.getTime())return $callback$jscomp$0$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${$dsbp_moment_q$$($_app_bpcon_ngay_ks$$).format("DD/MM/YYYY")}`);
4
- $dsbp_moment_q$$=[];$condition$$.tinh_theo_cong_doan?($dsbp_moment_q$$={id_app:$condition$$.id_app,la_cong_doan_sx:!0,status:!0},$condition$$.ma_bp&&($_app_bpcon_ngay_ks$$=await global.getModel("dmbp").getChilrenByMaBP($condition$$.id_app,$condition$$.ma_bp),$_app_bpcon_ngay_ks$$.push($condition$$.ma_bp),$dsbp_moment_q$$.ma_bp={$in:$_app_bpcon_ngay_ks$$}),$dsbp_moment_q$$=(await global.getModel("dmbp").find($dsbp_moment_q$$).sort({stt:1}).lean()).map($r$$=>$r$$.ma_bp)):$dsbp_moment_q$$=[$condition$$.ma_bp];
5
- $callback$jscomp$0$$(null,[{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. B\u1ea1n c\u00f3 th\u1ec3 chuy\u1ec3n sang trang kh\u00e1c \u0111\u1ec3 l\u00e0m vi\u1ec7c. Khi ch\u01b0\u01a1ng tr\u00ecnh th\u1ef1c hi\u1ec7n xong s\u1ebd g\u1eedi th\u00f4ng b\u00e1o cho b\u1ea1n."}]);async.mapSeries($dsbp_moment_q$$,($bp$$,$callback$$)=>{setImmediate(()=>{tinhGt({...$condition$$,ma_bp:$bp$$},($e$$,$ctgt$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$ctgt$$)})})},async $e$$=>
6
- {const $email$$=$req$$.user.email,$id_app$$=$condition$$.id_app;$e$$?(console.error("L\u1ed7i t\u00ednh gi\u00e1 th\u00e0nh:",$e$$),_Notification.createNotification($email$$,$email$$,$e$$.message||$e$$.error||$e$$,$e$$.message||$e$$.error||$e$$,null,{id_app:$id_app$$},!0,$req$$.access_token,!0)):(console.log("\u0110\u00e3 t\u00ednh xong gi\u00e1 gi\u00e1 th\u00e0nh, th\u00f4ng b\u00e1o t\u1edbi",$email$$),_Notification.createNotification($email$$,$email$$,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 t\u00ednh gi\u00e1 th\u00e0nh xong",
7
- "Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 t\u00ednh gi\u00e1 th\u00e0nh xong",null,{id_app:$id_app$$},!0,$req$$.access_token,!0))})},{stream:!1,cache:!1,queue:!0})};
1
+ 'use strict';const _Notification=global.getModel("notification"),controller=require("../../controllers/controllerRPT"),tinhGt=require("../../libs/tinhGt"),async=require("async"),utils=require("../../libs/utils");
2
+ module.exports=function($router$$){new controller($router$$,"tinhgiathanh",async function($req$$,$callback$jscomp$0$$){const $condition$$=$req$$.query;if(!$condition$$.nam||!$condition$$.thang)return $callback$jscomp$0$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: nam,thang");$condition$$.nam=Number($condition$$.nam);$condition$$.thang=Number($condition$$.thang);var $dsbp_moment_q$$=require("moment"),$bpcon_ngay_ks_tu_ngay$$=$dsbp_moment_q$$([Number($condition$$.nam),Number($condition$$.thang)-
3
+ 1,1]).startOf("month").toDate();if($bpcon_ngay_ks_tu_ngay$$=await utils.isBookLocked({id_app:$req$$.user.current_id_app,ngay_ct:$bpcon_ngay_ks_tu_ngay$$}))return $callback$jscomp$0$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${$dsbp_moment_q$$($bpcon_ngay_ks_tu_ngay$$).format("DD/MM/YYYY")}`);$dsbp_moment_q$$=[];$condition$$.tinh_theo_cong_doan?($dsbp_moment_q$$={id_app:$condition$$.id_app,la_cong_doan_sx:!0,status:!0},$condition$$.ma_bp&&($bpcon_ngay_ks_tu_ngay$$=await global.getModel("dmbp").getChilrenByMaBP($condition$$.id_app,
4
+ $condition$$.ma_bp),$bpcon_ngay_ks_tu_ngay$$.push($condition$$.ma_bp),$dsbp_moment_q$$.ma_bp={$in:$bpcon_ngay_ks_tu_ngay$$}),$dsbp_moment_q$$=(await global.getModel("dmbp").find($dsbp_moment_q$$).sort({stt:1}).lean()).map($r$$=>$r$$.ma_bp)):$dsbp_moment_q$$=[$condition$$.ma_bp];$callback$jscomp$0$$(null,[{message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111ang th\u1ef1c hi\u1ec7n. B\u1ea1n c\u00f3 th\u1ec3 chuy\u1ec3n sang trang kh\u00e1c \u0111\u1ec3 l\u00e0m vi\u1ec7c. Khi ch\u01b0\u01a1ng tr\u00ecnh th\u1ef1c hi\u1ec7n xong s\u1ebd g\u1eedi th\u00f4ng b\u00e1o cho b\u1ea1n."}]);
5
+ async.mapSeries($dsbp_moment_q$$,($bp$$,$callback$$)=>{setImmediate(()=>{tinhGt({...$condition$$,ma_bp:$bp$$},($e$$,$ctgt$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$ctgt$$)})})},async $e$$=>{const $email$$=$req$$.user.email,$id_app$$=$condition$$.id_app;$e$$?(console.error("L\u1ed7i t\u00ednh gi\u00e1 th\u00e0nh:",$e$$),_Notification.createNotification($email$$,$email$$,$e$$.message||$e$$.error||$e$$,$e$$.message||$e$$.error||$e$$,null,{id_app:$id_app$$},!0,$req$$.access_token,!0)):(console.log("\u0110\u00e3 t\u00ednh xong gi\u00e1 gi\u00e1 th\u00e0nh, th\u00f4ng b\u00e1o t\u1edbi",
6
+ $email$$),_Notification.createNotification($email$$,$email$$,"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 t\u00ednh gi\u00e1 th\u00e0nh xong","Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 t\u00ednh gi\u00e1 th\u00e0nh xong",null,{id_app:$id_app$$},!0,$req$$.access_token,!0))})},{stream:!1,cache:!1,queue:!0})};
@@ -1,4 +1,3 @@
1
- 'use strict';const tinhkhauhaots=require("../../libs/tinhkhauhaots"),qts=global.getModel("qts"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
2
- module.exports=function($router$$){new controller($router$$,"tinhkhauhaots",async function($condition_req$$,$callback$$){$condition_req$$=$condition_req$$.query;if(!$condition_req$$.nam||!$condition_req$$.thang)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: nam,thang");const $id_app$$=$condition_req$$.id_app;var $_app_ngay_ks$$=await global.getModel("app").findOne({_id:$id_app$$});if(!$_app_ngay_ks$$)return $callback$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");
3
- $_app_ngay_ks$$=moment($_app_ngay_ks$$.ngay_ks).startOf("date").toDate();let $tu_ngay$$=moment([Number($condition_req$$.nam),Number($condition_req$$.thang)-1,1]).startOf("month").toDate();if($_app_ngay_ks$$.getTime()>=$tu_ngay$$.getTime())return $callback$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${moment($_app_ngay_ks$$).format("DD/MM/YYYY")}`);tinhkhauhaots($condition_req$$,function($error$$,$results$$){if($error$$)return $callback$$($error$$);$results$$.joinModel($id_app$$,qts,
4
- [{akey:"id_ts",bkey:"_id",fields:[{name:"so_the_ts",value:"so_the_ts"},{name:"ten_ts",value:"ten_ts"}]}],function(){$callback$$(null,$results$$)})})},{stream:!1,cache:!1})};
1
+ 'use strict';const tinhkhauhaots=require("../../libs/tinhkhauhaots"),qts=global.getModel("qts"),controller=require("../../controllers/controllerRPT"),moment=require("moment"),utils=require("../../libs/utils");
2
+ module.exports=function($router$$){new controller($router$$,"tinhkhauhaots",async function($ngay_ks_req$$,$callback$$){const $condition$$=$ngay_ks_req$$.query;if(!$condition$$.nam||!$condition$$.thang)return $callback$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: nam,thang");const $id_app$$=$condition$$.id_app;let $tu_ngay$$=moment([Number($condition$$.nam),Number($condition$$.thang)-1,1]).startOf("month").toDate();if($ngay_ks_req$$=await utils.isBookLocked({id_app:$ngay_ks_req$$.user.current_id_app,
3
+ ngay_ct:$tu_ngay$$}))return $callback$$(`\u0110\u00e3 kh\u00f3a s\u1ed5 \u0111\u1ebfn ng\u00e0y ${moment($ngay_ks_req$$).format("DD/MM/YYYY")}`);tinhkhauhaots($condition$$,function($error$$,$results$$){if($error$$)return $callback$$($error$$);$results$$.joinModel($id_app$$,qts,[{akey:"id_ts",bkey:"_id",fields:[{name:"so_the_ts",value:"so_the_ts"},{name:"ten_ts",value:"ten_ts"}]}],function(){$callback$$(null,$results$$)})})},{stream:!1,cache:!1})};