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
- 'use strict';const ngcompile=require("ng-node-compile"),ejs=require("ejs"),rpt=global.getModel("rpt"),{evalute,prepareParameters}=require("../libs/utils"),moment=require("moment"),numeral=require("numeral");
2
- module.exports=async function($html_template_page$$,$_data_data$$){var $key_for_find_rptConfig$$;$_data_data$$={...$_data_data$$};if(global.mongoose.Types.ObjectId.isValid($html_template_page$$)&&($key_for_find_rptConfig$$=await rpt.findOne({_id:$html_template_page$$}))){if(($html_template_page$$=$key_for_find_rptConfig$$.html_template)&&$key_for_find_rptConfig$$.handle_data_expression&&0>$key_for_find_rptConfig$$.handle_data_expression.indexOf("async ")){var $func_string_str_row_vt_cell_1$$=`return (async ()=>${$key_for_find_rptConfig$$.handle_data_expression})`;
3
- try{await evalute($func_string_str_row_vt_cell_1$$,{data:$_data_data$$,moment,numeral})()}catch($e$$){console.error($e$$,$func_string_str_row_vt_cell_1$$)}}$html_template_page$$&&$key_for_find_rptConfig$$.parameters&&await prepareParameters($key_for_find_rptConfig$$.parameters,$_data_data$$,$_data_data$$)}if(!$html_template_page$$)return"";for(let $field$$ in $_data_data$$)if(Array.isArray($_data_data$$[$field$$])){$key_for_find_rptConfig$$=`{{tb:${$field$$}.`;$func_string_str_row_vt_cell_1$$=$html_template_page$$.indexOf($key_for_find_rptConfig$$);
4
- if(0<$func_string_str_row_vt_cell_1$$){$func_string_str_row_vt_cell_1$$=$html_template_page$$.substring(0,$func_string_str_row_vt_cell_1$$);var $new_str_row_trs$$=$func_string_str_row_vt_cell_1$$.split("<tr");0<$new_str_row_trs$$.length&&($new_str_row_trs$$[$new_str_row_trs$$.length-1]=` ng-repeat='_${$field$$} in ${$field$$}'${$new_str_row_trs$$[$new_str_row_trs$$.length-1]}`,$new_str_row_trs$$=$new_str_row_trs$$.join("<tr"),$html_template_page$$=$html_template_page$$.replace($func_string_str_row_vt_cell_1$$,
5
- $new_str_row_trs$$))}$html_template_page$$=$html_template_page$$.split($key_for_find_rptConfig$$).join(`{{_${$field$$}.`)}0>$html_template_page$$.indexOf("print-content")&&($html_template_page$$=`<div id="print-content">${$html_template_page$$}</div>`);$html_template_page$$=unescape($html_template_page$$);if(0<=$html_template_page$$.indexOf("ng-")||0<=$html_template_page$$.indexOf("{{"))try{$html_template_page$$=(new ngcompile([])).$compile($html_template_page$$)($_data_data$$)}catch($e$$){console.error($e$$)}if(0<=
6
- $html_template_page$$.indexOf("&lt;%")||0<=$html_template_page$$.indexOf("%&gt;")||0<=$html_template_page$$.indexOf("<%")||0<=$html_template_page$$.indexOf("%>"))try{$html_template_page$$=ejs.render($html_template_page$$,$_data_data$$)}catch($e$$){console.error($e$$)}return $html_template_page$$};
1
+ 'use strict';const ngcompile=require("ng-node-compile"),ejs=require("ejs"),rpt=global.getModel("rpt"),{evalute,prepareParameters}=require("../libs/utils"),utils=require("../libs/utils"),moment=require("moment"),numeral=require("numeral");
2
+ module.exports=async function($html_template_page$$,$_data_data$$){var $key_for_find_rptConfig$$;$_data_data$$={...$_data_data$$};if(global.mongoose.Types.ObjectId.isValid($html_template_page$$)&&($key_for_find_rptConfig$$=await rpt.findOne({_id:$html_template_page$$}).lean())){if(($html_template_page$$=$key_for_find_rptConfig$$.html_template)&&$key_for_find_rptConfig$$.handle_data_expression&&0>$key_for_find_rptConfig$$.handle_data_expression.indexOf("async ")){$_data_data$$.details&&($_data_data$$.details=
3
+ $_data_data$$.details.map($d$$=>$d$$.toObject?$d$$.toObject():{...$d$$}));var $func_string_str_row_vt_cell_1$$=`return (async ()=>${$key_for_find_rptConfig$$.handle_data_expression})`;try{await evalute($func_string_str_row_vt_cell_1$$,{data:$_data_data$$,moment,numeral,utils})()}catch($e$$){console.error($e$$,$func_string_str_row_vt_cell_1$$)}}$html_template_page$$&&$key_for_find_rptConfig$$.parameters&&await prepareParameters($key_for_find_rptConfig$$.parameters,$_data_data$$,$_data_data$$)}if(!$html_template_page$$)return"";
4
+ for(let $field$$ in $_data_data$$)if(Array.isArray($_data_data$$[$field$$])){$key_for_find_rptConfig$$=`{{tb:${$field$$}.`;$func_string_str_row_vt_cell_1$$=$html_template_page$$.indexOf($key_for_find_rptConfig$$);if(0<$func_string_str_row_vt_cell_1$$){$func_string_str_row_vt_cell_1$$=$html_template_page$$.substring(0,$func_string_str_row_vt_cell_1$$);var $new_str_row_trs$$=$func_string_str_row_vt_cell_1$$.split("<tr");0<$new_str_row_trs$$.length&&($new_str_row_trs$$[$new_str_row_trs$$.length-1]=` ng-repeat='_${$field$$} in ${$field$$}'${$new_str_row_trs$$[$new_str_row_trs$$.length-
5
+ 1]}`,$new_str_row_trs$$=$new_str_row_trs$$.join("<tr"),$html_template_page$$=$html_template_page$$.replace($func_string_str_row_vt_cell_1$$,$new_str_row_trs$$))}$html_template_page$$=$html_template_page$$.split($key_for_find_rptConfig$$).join(`{{_${$field$$}.`)}0>$html_template_page$$.indexOf("print-content")&&($html_template_page$$=`<div id="print-content">${$html_template_page$$}</div>`);$html_template_page$$=unescape($html_template_page$$);if(0<=$html_template_page$$.indexOf("ng-")||0<=$html_template_page$$.indexOf("{{"))try{$html_template_page$$=
6
+ (new ngcompile([])).$compile($html_template_page$$)($_data_data$$)}catch($e$$){console.error($e$$)}if(0<=$html_template_page$$.indexOf("&lt;%")||0<=$html_template_page$$.indexOf("%&gt;")||0<=$html_template_page$$.indexOf("<%")||0<=$html_template_page$$.indexOf("%>"))try{$html_template_page$$=ejs.render($html_template_page$$,$_data_data$$)}catch($e$$){console.error($e$$)}return $html_template_page$$};
@@ -1,5 +1,6 @@
1
1
  'use strict';const {isBookLocked}=require("./utils");module.exports=function($schema$$){$schema$$.pre("deleteOne",preDelete);$schema$$.pre("deleteMany",preDelete);$schema$$.post("deleteOne",deletePost);$schema$$.post("deleteMany",deletePost);$schema$$.post("remove",deletePost);$schema$$.post("findByIdAndRemove",deletePost)};
2
2
  function deletePost($modelName_res_rs$$){$modelName_res_rs$$&&$modelName_res_rs$$.deletedCount&&(!($modelName_res_rs$$=(this.mongooseCollection||{}).modelName)||0<=global.model_books.indexOf($modelName_res_rs$$)||($modelName_res_rs$$=this._conditions)&&(Array.isArray($modelName_res_rs$$)?$modelName_res_rs$$.forEach($v$$=>{deleteBooks($v$$)}):deleteBooks($modelName_res_rs$$)))}
3
- function deleteBooks($obj$$){if($obj$$._id){var $id_ct$$=$obj$$._id.toString();global.model_books.forEach($r$$=>{global.getModel($r$$).deleteMany({id_ct:$id_ct$$})})}}
4
- async function preDelete($next$$){var $deletedData_model_modelName$$=(this.mongooseCollection||{}).modelName;if($deletedData_model_modelName$$&&!(0>global.model_books.indexOf($deletedData_model_modelName$$))){$deletedData_model_modelName$$=global.getModel($deletedData_model_modelName$$);if($deletedData_model_modelName$$.schema.paths.ngay_ct&&$deletedData_model_modelName$$.schema.paths.id_app){$deletedData_model_modelName$$=await $deletedData_model_modelName$$.findOne(this._conditions).lean();if(!$deletedData_model_modelName$$)return $next$$();
5
- if(await isBookLocked($deletedData_model_modelName$$))return $next$$(Error("Kh\u00f4ng th\u1ec3 xo\u00e1 s\u1ed5 c\u00e1i. Data \u0111\u00e3 \u0111\u01b0\u1ee3c kho\u00e1"))}$next$$()}};
3
+ async function deleteBooks($query$$){const $id_ct$$=$query$$._id;$id_ct$$&&global.model_books.forEach($r$$=>{global.getModel($r$$).deleteMany({id_ct:$id_ct$$})})}
4
+ async function preDelete($next$$){const $modelName$$=(this.mongooseCollection||{}).modelName;if(!$modelName$$)return $next$$();let $model$$=global.getModel($modelName$$),$deletedData$$;if($model$$.schema.paths.ngay_ct&&$model$$.schema.paths.id_app&&0<=global.model_books.indexOf($modelName$$)){$deletedData$$=await $model$$.findOne(this._conditions).lean();if(!$deletedData$$)return $next$$();if(await isBookLocked($deletedData$$))return $next$$(Error(`Kh\u00f4ng th\u1ec3 xo\u00e1 s\u1ed5 ${$modelName$$}. Data \u0111\u00e3 \u0111\u01b0\u1ee3c kho\u00e1`))}if($modelName$$&&
5
+ 0<=$modelName$$.indexOf("tdttno_tt")){$deletedData$$||($deletedData$$=await $model$$.findOne(this._conditions).lean());if(!$deletedData$$)return $next$$();$deletedData$$.id_tdtt&&await global.getModel("tdttno").updateOne({_id:$deletedData$$.id_tdtt},{tat_toan:!1})}if($modelName$$&&0<=$modelName$$.indexOf("tdttco_tt")){$deletedData$$||($deletedData$$=await $model$$.findOne(this._conditions).lean());if(!$deletedData$$)return $next$$();$deletedData$$.id_tdtt&&await global.getModel("tdttco").updateOne({_id:$deletedData$$.id_tdtt},
6
+ {tat_toan:!1})}$next$$()};
@@ -8,32 +8,37 @@ exports.isAdmin=function($current_id_app$$,$email$$,$callback$$){if(!$current_id
8
8
  $app$$.expire_date&&(new Date($app$$.expire_date)).getTime()<(new Date).getTime())return $callback$$({error:"C\u00f4ng ty n\u00e0y \u0111\u00e3 h\u1ebft h\u1ea1n s\u1eed d\u1ee5ng",code:-8},!1);$error$$=await Participant.findOne({id_app:$current_id_app$$,email:$email$$}).lean();if(!$error$$)return $callback$$({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp c\u00f4ng ty n\u00e0y",code:-2},!1);if(!$error$$.admin&&!$error$$.active&&"public"!==$email$$)return $callback$$({error:"T\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n \u0111ang ch\u1edd \u0111\u01b0\u1ee3c x\u00e1c nh\u1eadn",
9
9
  code:-1},!1);$callback$$(null,$error$$.admin,$app$$,$error$$)})};
10
10
  exports.hasRight=async function($current_id_app$$,$email$$,$module$$,$action$$,$callbackMain$$,$options$$={}){if(!$current_id_app$$||$options$$.notNeedRight)return $callbackMain$$(null,!0);const $model$$=global.controllers[$module$$]?global.controllers[$module$$].model:void 0;if($model$$&&$model$$.schema&&!underscore.has($model$$.schema.paths,"id_app"))return $callbackMain$$(null,!0);$options$$.data&&($options$$.data.trang_thai||0==$options$$.data.trang_thai)&&($options$$.data.trang_thai=$options$$.data.trang_thai.toString());
11
- $options$$.obj&&($options$$.obj.trang_thai||0==$options$$.obj.trang_thai)&&($options$$.obj.trang_thai=$options$$.obj.trang_thai.toString());$action$$=$action$$.toLowerCase();var $data$$=$options$$.data||$options$$.obj||{};const $ma_ct$$=$model$$&&underscore.has($model$$.schema.paths,"ma_ct")&&(($options$$.obj||{}).ma_ct||($options$$.data||{}).ma_ct||"").toString().toUpperCase();let $ma_trang_thai$$=($data$$.trang_thai||$data$$.progress||"").toString().toUpperCase();!$ma_trang_thai$$&&$options$$.obj&&
11
+ $options$$.obj&&($options$$.obj.trang_thai||0==$options$$.obj.trang_thai)&&($options$$.obj.trang_thai=$options$$.obj.trang_thai.toString());$action$$=($action$$||"").toLowerCase();var $data$$=$options$$.data||$options$$.obj||{};const $ma_ct$$=$model$$&&underscore.has($model$$.schema.paths,"ma_ct")&&(($options$$.obj||{}).ma_ct||($options$$.data||{}).ma_ct||"").toString().toUpperCase();let $ma_trang_thai$$=($data$$.trang_thai||$data$$.progress||"").toString().toUpperCase();!$ma_trang_thai$$&&$options$$.obj&&
12
12
  ($ma_trang_thai$$=($options$$.obj.trang_thai||$options$$.obj.progress||"").toString().toUpperCase());if($ma_ct$$&&$ma_trang_thai$$)if($data$$=await trangthai.findOne({ma_trang_thai:$ma_trang_thai$$,ma_ct:$ma_ct$$}).lean()){if($data$$.not_need_right)return $callbackMain$$(null,!0)}else console.log("Khong tim thay trang thai cho chuc nang nay",{ma_ct:$ma_ct$$,ma_trang_thai:$ma_trang_thai$$,trang_thai:$data$$,action:$action$$});exports.isAdmin($current_id_app$$,$email$$,async($e_key_right_ms_q$$,$admin$$,
13
13
  $app$$,$participant$$)=>{if($e_key_right_ms_q$$)return $callbackMain$$($e_key_right_ms_q$$,!1);if($app$$&&$app$$.allow_modules&&0<$app$$.allow_modules.length&&($e_key_right_ms_q$$={"items.code":{$regex:"^"+$module$$+"$",$options:"i"},active_require:!0},$app$$.menu_code&&($e_key_right_ms_q$$.app=$app$$.menu_code),$e_key_right_ms_q$$=await global.getModel("moduleinfo").find($e_key_right_ms_q$$).lean(),0<$e_key_right_ms_q$$.length&&0==$e_key_right_ms_q$$.filter($m$$=>0<=$app$$.allow_modules.indexOf($m$$.code)&&
14
14
  (!$m$$.not_for_companies||0>$m$$.not_for_companies.indexOf($app$$._id.toString()))&&(!$m$$.only_for_companies||0<=$m$$.only_for_companies.indexOf($app$$._id.toString()))).length))return $callbackMain$$('API "'+$module$$+'" ch\u01b0a \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t cho c\u00f4ng ty n\u00e0y (trong module '+$e_key_right_ms_q$$[0].app+"/"+$e_key_right_ms_q$$[0].title+")",!1);if($options$$.data&&$options$$.data.id_app){if($options$$.data.id_app!=$current_id_app$$)return $callbackMain$$("B\u1ea1n kh\u00f4ng th\u1ec3 truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",
15
15
  !1);if($options$$.obj&&$options$$.data.id_app!=$options$$.obj.id_app)return $callbackMain$$("B\u1ea1n kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1)}if($options$$.obj&&$options$$.obj.id_app&&$options$$.obj.id_app!=$current_id_app$$)return $callbackMain$$("B\u1ea1n kh\u00f4ng th\u1ec3 truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);if($options$$.notNeedRight)return $callbackMain$$(null,!0,$app$$);if($options$$.obj&&!$admin$$)if(2===$options$$.obj.visible_to){if(!underscore.contains($options$$.obj.visible_to_users,
16
16
  $email$$)&&$options$$.obj.of_user!==$email$$.toLowerCase()&&$options$$.obj.user_created&&$options$$.obj.user_created.toLowerCase()!==$email$$.toLowerCase())return $callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1)}else if(1===$options$$.obj.visible_to&&$options$$.obj.of_user!==$email$$.toLowerCase()&&$options$$.obj.user_created&&$options$$.obj.user_created.toLowerCase()!==$email$$.toLowerCase()&&$options$$.obj.phu_trach!=$email$$.toLowerCase()&&
17
17
  0>($options$$.obj.attends||[]).indexOf($email$$)&&0>(await exports.dsDangPhuTrach($options$$.obj.id_app,$email$$.toLowerCase())).indexOf($options$$.obj.user_created))return $callbackMain$$("Ch\u1ec9 ng\u01b0\u1eddi t\u1ea1o, ph\u1ee5 tr\u00e1ch, h\u1ed7 tr\u1ee3 v\u00e0 admin m\u1edbi c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);$e_key_right_ms_q$$=$email$$;$participant$$&&$participant$$.group_id&&($e_key_right_ms_q$$=$participant$$.group_id.toLowerCase());right.findOne({id_app:$current_id_app$$,
18
- email:$e_key_right_ms_q$$,module:$module$$.toLowerCase()},async function($_right_trang_thai_error$$,$_right$$){if($_right_trang_thai_error$$)return $callbackMain$$($_right_trang_thai_error$$,!1);if(!$admin$$){if(!$_right$$)return"view"===$action$$||"add"===$action$$&&"group"===$module$$.toLowerCase()?($_right_trang_thai_error$$={"items.code":$module$$.toLowerCase()},$app$$&&$app$$.menu_code&&($_right_trang_thai_error$$.app=$app$$.menu_code),await global.getModel("moduleinfo").findOne($_right_trang_thai_error$$,
19
- {app:1}).lean()?$callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",!1):$callbackMain$$(null,!0,$app$$)):$callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",!1);if(!$_right$$[$action$$])return $callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",!1);if($options$$.obj&&$_right$$&&!$_right$$.viewOfOther&&$options$$.obj.user_created.toLowerCase()!==
20
- $email$$&&(2!==$options$$.obj.visible_to||!underscore.contains($options$$.obj.visible_to_users,$email$$))&&$options$$.obj.phu_trach!==$email$$&&0>($options$$.obj.attends||[]).indexOf($email$$)&&0>(await exports.dsDangPhuTrach($options$$.obj.id_app,$email$$.toLowerCase())).indexOf($options$$.obj.user_created))return $callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",!1);if($ma_trang_thai$$&&($_right_trang_thai_error$$=$_right$$[`${$action$$}_trang_thai`])&&
21
- !$_right_trang_thai_error$$[$ma_trang_thai$$]&&void 0!=$_right_trang_thai_error$$[$ma_trang_thai$$])return $callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y",!1)}$options$$.obj?async.series({trangthai:$callback$$=>{$options$$.obj&&("update"===$action$$||"delete"===$action$$)&&$model$$&&underscore.has($model$$.schema.paths,"ma_ct")&&$options$$.obj.ma_ct?trangthai.findOne({ma_ct:$options$$.obj.ma_ct.toUpperCase(),ma_trang_thai:$options$$.obj.trang_thai},
22
- function($e$$,$trang_thai$$){if($e$$)return $callback$$($e$$);if($trang_thai$$){if("update"===$action$$){if(0==$trang_thai$$.allow_update)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p s\u1eeda");if(1==$trang_thai$$.lock_data)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c kho\u00e1")}if("delete"===$action$$&&($trang_thai$$.lock_data||0==$trang_thai$$.allow_delete))return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p xo\u00e1")}return $callback$$()}):
23
- $callback$$()}},$action_right_e$$=>{if($action_right_e$$)$callbackMain$$($action_right_e$$,!1);else{$action_right_e$$=`${$action$$}_right`;if(!$admin$$&&$options$$.obj&&$options$$.obj[$action_right_e$$]&&0<$options$$.obj[$action_right_e$$].length&&0>$options$$.obj[$action_right_e$$].indexOf($email$$.toLowerCase()))return $callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",!1);$callbackMain$$(null,!0,$app$$)}}):$callbackMain$$(null,!0,$app$$)})},
24
- $options$$)};
25
- exports.getRightByItem=function($id_app$$,$model$$,$email$$,$next$$,$module$$,$options$$={}){$module$$||($module$$=$model$$&&$model$$.collection&&$model$$.collection.name&&1<$model$$.collection.name.length?$model$$.collection.name.substr(0,$model$$.collection.name.length-1).toLowerCase():"");let $key_cache$$=$module$$?`RightByItem::${$id_app$$}::${$email$$}::${$module$$}::${JSON.stringify($options$$)}`:"",$time_cache$$="public"===$email$$?10080:1;if($key_cache$$&&global.cacheDatas[$key_cache$$]&&moment().diff(moment(global.cacheDatas[$key_cache$$].time),
26
- "minutes")<$time_cache$$)return $next$$(null,global.cacheDatas[$key_cache$$].data,!1);exports.isAdmin($id_app$$,$email$$,async function($e$jscomp$3_key_right$$,$admin$$,$app$$,$participant$$){if($e$jscomp$3_key_right$$)return $next$$($e$jscomp$3_key_right$$);let $condition$$={};if($admin$$||$options$$.notNeedRight||!underscore.has($model$$.schema.paths,"id_app"))$next$$(null,$condition$$,$admin$$);else{let $allUsers$$,$selUsers$$,$selGroups$$,$visible$$=[],$allow_trang_thai$$;$e$jscomp$3_key_right$$=
27
- $email$$;$participant$$&&$participant$$.group_id&&($e$jscomp$3_key_right$$=$participant$$.group_id.toLowerCase());right.findOne({id_app:$id_app$$,email:$e$jscomp$3_key_right$$,module:$module$$.toLowerCase()},async function($ds_dang_phu_trach_error$$,$_right$jscomp$1_users$$){if($_right$jscomp$1_users$$&&$_right$jscomp$1_users$$.view_all)return $key_cache$$&&(global.cacheDatas[$key_cache$$]={time:new Date,data:_.cloneDeep($condition$$)}),$next$$(null,$condition$$,!1);$ds_dang_phu_trach_error$$=await exports.dsDangPhuTrach($id_app$$,
28
- $email$$);$ds_dang_phu_trach_error$$.push($email$$);$_right$jscomp$1_users$$&&$_right$jscomp$1_users$$.view_empty_phu_trach&&($ds_dang_phu_trach_error$$.push(""),$ds_dang_phu_trach_error$$.push(null));if($_right$jscomp$1_users$$&&$_right$jscomp$1_users$$.view){var $_right_trang_thai$$={visible_to:null};underscore.has($model$$.schema.paths,"visible_to")&&($condition$$.$and||($condition$$.$and=[]),$allUsers$$={visible_to:0},$selUsers$$={visible_to:2,visible_to_users:$email$$},$selGroups$$=underscore.has($model$$.schema.paths,
29
- "visible_to_usergroups")?{visible_to:5,visible_to_usergroups:($participant$$||{}).group_id}:{visible_to:5,visible_to_users:($participant$$||{}).group_id},$visible$$.push($allUsers$$),$visible$$.push($selUsers$$),$visible$$.push($selGroups$$),$visible$$.push($_right_trang_thai$$));if(!1===$_right$jscomp$1_users$$.viewOfOther){if(underscore.has($model$$.schema.paths,"ma_kh")){var $allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$=await exports.dsKhDangPhuTrach($id_app$$,{$in:$ds_dang_phu_trach_error$$});
30
- 0<$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$.length&&$visible$$.push({ma_kh:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}})}$allUsers$$?$allUsers$$.user_created={$in:$ds_dang_phu_trach_error$$}:$visible$$.push({user_created:{$in:$ds_dang_phu_trach_error$$}})}else{if(!0===underscore.has($model$$.schema.paths,"trang_thai")){if($_right_trang_thai$$=$_right$jscomp$1_users$$.view_trang_thai){$allow_trang_thai$$=[void 0,null,""];for($t_viewOfOther_right_trang_thai$$ in $_right_trang_thai$$)$_right_trang_thai$$[$t_viewOfOther_right_trang_thai$$]&&
31
- $allow_trang_thai$$.push($t_viewOfOther_right_trang_thai$$);$condition$$.trang_thai={$in:$allow_trang_thai$$}}var $t_viewOfOther_right_trang_thai$$=$_right$jscomp$1_users$$.viewOfOther_trang_thai;if($t_viewOfOther_right_trang_thai$$){$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$=[void 0,null,""];for(let $t$$ in $t_viewOfOther_right_trang_thai$$)!$t_viewOfOther_right_trang_thai$$[$t$$]||$_right_trang_thai$$&&!$_right_trang_thai$$[$t$$]||$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$.push($t$$)}}$_right$jscomp$1_users$$.viewOfOther_user_groups&&
32
- 0<$_right$jscomp$1_users$$.viewOfOther_user_groups.length?($_right$jscomp$1_users$$=await Participant.find({id_app:$id_app$$,group_id:{$in:$_right$jscomp$1_users$$.viewOfOther_user_groups}},{email:1}).lean(),$ds_dang_phu_trach_error$$.push(...$_right$jscomp$1_users$$.map($u$$=>$u$$.email)),$allUsers$$?$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$?$allUsers$$.$or=[{user_created:{$in:$ds_dang_phu_trach_error$$.filter($e$$=>$e$$!=$email$$)},trang_thai:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}},
33
- {user_created:$email$$}]:$allUsers$$.user_created={$in:$ds_dang_phu_trach_error$$}:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$?($visible$$.push({user_created:{$in:$ds_dang_phu_trach_error$$},trang_thai:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}}),$visible$$.push({$or:[{user_created:{$in:$ds_dang_phu_trach_error$$.filter($e$$=>$e$$!=$email$$)},trang_thai:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}},{user_created:$email$$}]})):$visible$$.push({user_created:{$in:$ds_dang_phu_trach_error$$}})):
34
- $allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$&&($allUsers$$?$allUsers$$.$or=[{user_created:{$ne:$email$$},trang_thai:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}},{user_created:$email$$}]:$visible$$.push({$or:[{user_created:{$ne:$email$$},trang_thai:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}},{user_created:$email$$}]}))}$selUsers$$&&(underscore.has($model$$.schema.paths,"of_user")&&$visible$$.push({of_user:$email$$}),underscore.has($model$$.schema.paths,"phu_trach")&&
35
- $visible$$.push({phu_trach:{$in:$ds_dang_phu_trach_error$$}}),underscore.has($model$$.schema.paths,"attends")&&$visible$$.push({attends:{$in:$ds_dang_phu_trach_error$$}}))}else 0>not_need_right_models.indexOf($module$$)&&!$module$$.startsWith("kbm")&&($visible$$.push({user_created:$email$$}),underscore.has($model$$.schema.paths,"of_user")&&$visible$$.push({of_user:$email$$}),underscore.has($model$$.schema.paths,"phu_trach")&&$visible$$.push({phu_trach:{$in:$ds_dang_phu_trach_error$$}}),underscore.has($model$$.schema.paths,
36
- "attends")&&$visible$$.push({attends:$email$$}));0<$visible$$.length&&($condition$$.$and||($condition$$.$and=[]),$condition$$.$and.push({$or:$visible$$}));$condition$$.$and&&0===$condition$$.$and.length&&delete $condition$$.$and;$condition$$.$or&&0===$condition$$.$or.length&&delete $condition$$.$or;$key_cache$$&&(global.cacheDatas[$key_cache$$]={time:new Date,data:_.cloneDeep($condition$$)});$next$$(null,$condition$$,!1)})}},$options$$)};
18
+ email:$e_key_right_ms_q$$,module:$module$$.toLowerCase()},async function($_right_trang_thai_controler_error$$,$_right_model$$){if($_right_trang_thai_controler_error$$)return $callbackMain$$($_right_trang_thai_controler_error$$,!1);if(!$admin$$){if(!$_right_model$$)return $_right_trang_thai_controler_error$$=global.controllers[$module$$.toUpperCase()],$_right_model$$=(($_right_trang_thai_controler_error$$||{}).model_name||$module$$).toLowerCase(),"customer"==$_right_model$$||0<=$_right_model$$.indexOf("socai")||
19
+ 0<=$_right_model$$.indexOf("sokho")||0<=$_right_model$$.indexOf("vatvao")||0<=$_right_model$$.indexOf("vatra")||0<=$_right_model$$.indexOf("tdttno")||0<=$_right_model$$.indexOf("tdttco")||$_right_trang_thai_controler_error$$&&($_right_trang_thai_controler_error$$.options||{}).isVoucher||"view"!==$action$$&&("add"!==$action$$||"group"!==$module$$.toLowerCase())?$callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",!1):($_right_trang_thai_controler_error$$=
20
+ {"items.code":$module$$.toLowerCase()},$app$$&&$app$$.menu_code&&($_right_trang_thai_controler_error$$.app=$app$$.menu_code),await global.getModel("moduleinfo").findOne($_right_trang_thai_controler_error$$,{app:1}).lean()?$callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",!1):$callbackMain$$(null,!0,$app$$));if(!$_right_model$$[$action$$])return $callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",
21
+ !1);if($options$$.obj&&$_right_model$$&&!$_right_model$$.viewOfOther&&$options$$.obj.user_created.toLowerCase()!==$email$$&&(2!==$options$$.obj.visible_to||!underscore.contains($options$$.obj.visible_to_users,$email$$))&&$options$$.obj.phu_trach!==$email$$&&0>($options$$.obj.attends||[]).indexOf($email$$)&&0>(await exports.dsDangPhuTrach($options$$.obj.id_app,$email$$.toLowerCase())).indexOf($options$$.obj.user_created))return $callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n truy c\u1eadp \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y",
22
+ !1);if($ma_trang_thai$$&&($_right_trang_thai_controler_error$$=$_right_model$$[`${$action$$}_trang_thai`])&&!$_right_trang_thai_controler_error$$[$ma_trang_thai$$]&&void 0!=$_right_trang_thai_controler_error$$[$ma_trang_thai$$])return $callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y",!1)}$options$$.obj?async.series({trangthai:$callback$$=>{$options$$.obj&&("update"===$action$$||"delete"===$action$$)&&$model$$&&underscore.has($model$$.schema.paths,
23
+ "ma_ct")&&$options$$.obj.ma_ct?trangthai.findOne({ma_ct:$options$$.obj.ma_ct.toUpperCase(),ma_trang_thai:$options$$.obj.trang_thai},function($e$$,$trang_thai$$){if($e$$)return $callback$$($e$$);if($trang_thai$$){if("update"===$action$$){if(0==$trang_thai$$.allow_update)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p s\u1eeda");if(1==$trang_thai$$.lock_data)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c kho\u00e1")}if("delete"===
24
+ $action$$&&($trang_thai$$.lock_data||0==$trang_thai$$.allow_delete))return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p xo\u00e1")}return $callback$$()}):$callback$$()}},$action_right_e$$=>{if($action_right_e$$)$callbackMain$$($action_right_e$$,!1);else{$action_right_e$$=`${$action$$}_right`;if(!$admin$$&&$options$$.obj&&$options$$.obj[$action_right_e$$]&&0<$options$$.obj[$action_right_e$$].length&&0>$options$$.obj[$action_right_e$$].indexOf($email$$.toLowerCase()))return $callbackMain$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1ed1i v\u1edbi t\u00ednh n\u0103ng n\u00e0y",
25
+ !1);$callbackMain$$(null,!0,$app$$)}}):$callbackMain$$(null,!0,$app$$)})},$options$$)};
26
+ exports.getRightByItem=function($id_app$$,$model$$,$email$$,$next$$,$module$$,$options$$={}){$module$$||($module$$=$model$$&&$model$$.collection&&$model$$.collection.name&&1<$model$$.collection.name.length?$model$$.collection.name.substr(0,$model$$.collection.name.length-1).toLowerCase():"");let $key_cache$$=$module$$?`RightByItem::${$id_app$$}::${$email$$}::${$module$$}::${JSON.stringify($options$$)}`:"",$time_cache$$="public"===$email$$?10080:1;if($key_cache$$&&global.cacheDatas[$key_cache$$]&&
27
+ moment().diff(moment(global.cacheDatas[$key_cache$$].time),"minutes")<$time_cache$$)return $next$$(null,global.cacheDatas[$key_cache$$].data,!1);exports.isAdmin($id_app$$,$email$$,async function($e$jscomp$3_key_right$$,$admin$$,$app$$,$participant$$){if($e$jscomp$3_key_right$$)return $next$$($e$jscomp$3_key_right$$);let $condition$$={};if($admin$$||$options$$.notNeedRight||!underscore.has($model$$.schema.paths,"id_app"))$next$$(null,$condition$$,$admin$$);else{let $allUsers$$,$selUsers$$,$selGroups$$,
28
+ $visible$$=[],$allow_trang_thai$$;$e$jscomp$3_key_right$$=$email$$;$participant$$&&$participant$$.group_id&&($e$jscomp$3_key_right$$=$participant$$.group_id.toLowerCase());right.findOne({id_app:$id_app$$,email:$e$jscomp$3_key_right$$,module:$module$$.toLowerCase()},async function($ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$,$_right$jscomp$1_users$$){if($_right$jscomp$1_users$$&&$_right$jscomp$1_users$$.view_all)return $key_cache$$&&(global.cacheDatas[$key_cache$$]={time:new Date,
29
+ data:_.cloneDeep($condition$$)}),$next$$(null,$condition$$,!1);$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$=await exports.dsDangPhuTrach($id_app$$,$email$$);$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$.push($email$$);$_right$jscomp$1_users$$&&$_right$jscomp$1_users$$.view_empty_phu_trach&&($ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$.push(""),$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$.push(null));if($_right$jscomp$1_users$$&&
30
+ $_right$jscomp$1_users$$.view){var $_right_trang_thai$$={visible_to:null};underscore.has($model$$.schema.paths,"visible_to")&&($condition$$.$and||($condition$$.$and=[]),$allUsers$$={visible_to:0},$selUsers$$={visible_to:2,visible_to_users:$email$$},$selGroups$$=underscore.has($model$$.schema.paths,"visible_to_usergroups")?{visible_to:5,visible_to_usergroups:($participant$$||{}).group_id}:{visible_to:5,visible_to_users:($participant$$||{}).group_id},$visible$$.push($allUsers$$),$visible$$.push($selUsers$$),
31
+ $visible$$.push($selGroups$$),$visible$$.push($_right_trang_thai$$));if(!1===$_right$jscomp$1_users$$.viewOfOther){if(underscore.has($model$$.schema.paths,"ma_kh")){var $allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$=await exports.dsKhDangPhuTrach($id_app$$,{$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$});0<$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$.length&&$visible$$.push({ma_kh:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}})}$allUsers$$?$allUsers$$.user_created=
32
+ {$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$}:$visible$$.push({user_created:{$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$}})}else{if(!0===underscore.has($model$$.schema.paths,"trang_thai")){if($_right_trang_thai$$=$_right$jscomp$1_users$$.view_trang_thai){$allow_trang_thai$$=[void 0,null,""];for($t_viewOfOther_right_trang_thai$$ in $_right_trang_thai$$)$_right_trang_thai$$[$t_viewOfOther_right_trang_thai$$]&&$allow_trang_thai$$.push($t_viewOfOther_right_trang_thai$$);
33
+ $condition$$.trang_thai={$in:$allow_trang_thai$$}}var $t_viewOfOther_right_trang_thai$$=$_right$jscomp$1_users$$.viewOfOther_trang_thai;if($t_viewOfOther_right_trang_thai$$){$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$=[void 0,null,""];for(let $t$$ in $t_viewOfOther_right_trang_thai$$)!$t_viewOfOther_right_trang_thai$$[$t$$]||$_right_trang_thai$$&&!$_right_trang_thai$$[$t$$]||$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$.push($t$$)}}$_right$jscomp$1_users$$.viewOfOther_user_groups&&
34
+ 0<$_right$jscomp$1_users$$.viewOfOther_user_groups.length?($_right$jscomp$1_users$$=await Participant.find({id_app:$id_app$$,group_id:{$in:$_right$jscomp$1_users$$.viewOfOther_user_groups}},{email:1}).lean(),$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$.push(...$_right$jscomp$1_users$$.map($u$$=>$u$$.email)),$allUsers$$?$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$?$allUsers$$.$or=[{user_created:{$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$.filter($e$$=>
35
+ $e$$!=$email$$)},trang_thai:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}},{user_created:$email$$}]:$allUsers$$.user_created={$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$}:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$?($visible$$.push({user_created:{$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$},trang_thai:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}}),$visible$$.push({$or:[{user_created:{$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$.filter($e$$=>
36
+ $e$$!=$email$$)},trang_thai:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}},{user_created:$email$$}]})):$visible$$.push({user_created:{$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$}})):$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$&&($allUsers$$?$allUsers$$.$or=[{user_created:{$ne:$email$$},trang_thai:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}},{user_created:$email$$}]:$visible$$.push({$or:[{user_created:{$ne:$email$$},trang_thai:{$in:$allow_viewOfOther_trang_thai_ds_kh_dang_phu_trach$$}},
37
+ {user_created:$email$$}]}))}$selUsers$$&&(underscore.has($model$$.schema.paths,"of_user")&&$visible$$.push({of_user:$email$$}),underscore.has($model$$.schema.paths,"phu_trach")&&$visible$$.push({phu_trach:{$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$}}),underscore.has($model$$.schema.paths,"attends")&&$visible$$.push({attends:{$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$}}))}else 0>not_need_right_models.indexOf($module$$)&&($visible$$.push({user_created:$email$$}),
38
+ underscore.has($model$$.schema.paths,"of_user")&&$visible$$.push({of_user:$email$$}),underscore.has($model$$.schema.paths,"phu_trach")&&$visible$$.push({phu_trach:{$in:$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$}}),underscore.has($model$$.schema.paths,"attends")&&$visible$$.push({attends:$email$$})),$ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$={"items.code":$module$$.toLowerCase()},$app$$&&$app$$.menu_code&&($ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$.app=
39
+ $app$$.menu_code),await global.getModel("moduleinfo").findOne($ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$,{app:1}).lean()||($ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$={visible_to:null},underscore.has($model$$.schema.paths,"visible_to")&&($condition$$.$and||($condition$$.$and=[]),$allUsers$$={visible_to:0},$selUsers$$={visible_to:2,visible_to_users:$email$$},$selGroups$$=underscore.has($model$$.schema.paths,"visible_to_usergroups")?{visible_to:5,visible_to_usergroups:($participant$$||
40
+ {}).group_id}:{visible_to:5,visible_to_users:($participant$$||{}).group_id},$visible$$.push($allUsers$$),$visible$$.push($selUsers$$),$visible$$.push($selGroups$$),$visible$$.push($ds_dang_phu_trach_error$jscomp$3_query$jscomp$1_visible_to_null$$)));0<$visible$$.length&&($condition$$.$and||($condition$$.$and=[]),$condition$$.$and.push({$or:$visible$$}));$condition$$.$and&&0===$condition$$.$and.length&&delete $condition$$.$and;$condition$$.$or&&0===$condition$$.$or.length&&delete $condition$$.$or;
41
+ $key_cache$$&&(global.cacheDatas[$key_cache$$]={time:new Date,data:_.cloneDeep($condition$$)});$next$$(null,$condition$$,!1)})}},$options$$)};
37
42
  exports.getRightDataView=function($id_app$$,$model$$,$email$$,$next$$){exports.isAdmin($id_app$$,$email$$,function($condition$jscomp$1_e$$,$admin$$){if($condition$jscomp$1_e$$)return $next$$($condition$jscomp$1_e$$);$condition$jscomp$1_e$$={};if(!$admin$$&&!0===underscore.has($model$$.schema.paths,"dataview_to_users")){$condition$jscomp$1_e$$.$and||($condition$jscomp$1_e$$.$and=[]);let $dataview$$=[{dataview_to:null}];$dataview$$.push({dataview_to:0});$dataview$$.push({dataview_to:1,user_created:$email$$});
38
43
  $dataview$$.push({dataview_to:2,dataview_to_users:$email$$});$condition$jscomp$1_e$$.$and.push({$or:$dataview$$})}$next$$(null,$condition$jscomp$1_e$$,$admin$$)})};
39
44
  exports.getFieldNotRight=async($_fields_id_app$$,$_p_email$jscomp$5_group_id$$,$ma_ct$$)=>{if(!$_fields_id_app$$)return[];$_p_email$jscomp$5_group_id$$=await Participant.ofApp($_fields_id_app$$,$_p_email$jscomp$5_group_id$$);if(0<$_p_email$jscomp$5_group_id$$.length){$_p_email$jscomp$5_group_id$$=$_p_email$jscomp$5_group_id$$[0].group_id;let $field_not_right$$;try{$field_not_right$$=await right.getInfo($_fields_id_app$$,{email:$_p_email$jscomp$5_group_id$$,module:$ma_ct$$.toLowerCase()},"field_not_right")}catch($e$$){return[]}$_fields_id_app$$=
@@ -1,13 +1,14 @@
1
1
  'use strict';const SocaiModel=global.getModel("socai"),dmtk=global.getModel("account"),async=require("async"),cktk=require("./cktk"),ckcn=require("./ckcn"),moment=require("moment"),numeral=require("numeral"),asyncCkcn=async $condition$$=>new Promise(($resolve$$,$reject$$)=>{ckcn($condition$$,($du_e$$,$rs$$)=>{if($du_e$$)return $reject$$($du_e$$);$du_e$$=$rs$$.map($r$$=>$r$$.du_no00-$r$$.du_co00).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$resolve$$($du_e$$)})}),asyncCheckHMCN=async($hmcnct_id_app$$,$obj$$,
2
- $tk$$,$ma_kh$$,$tien$$)=>{var $acc_hm$$=await dmtk.findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,loai_tk:1}).lean();if(!$acc_hm$$)throw"Kh\u00f4ng t\u1ed3n t\u1ea1i t\u00e0i kho\u1ea3n "+$tk$$;if($acc_hm$$.tk_cn&&($acc_hm$$=await global.getModel("hmcn").findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,ma_kh:$ma_kh$$}).lean())&&($acc_hm$$.hm_no||$acc_hm$$.hm_co)){let $du_ck$$=await asyncCkcn({id_app:$hmcnct_id_app$$,tk:$tk$$,ma_kh:$ma_kh$$,bu_tru:!0,ngay:moment($obj$$.ngay_ct).endOf("year").toDate()});if($acc_hm$$.hm_no){if($du_ck$$+
3
- $tien$$>$acc_hm$$.hm_no)throw`Kh\u00e1ch h\u00e0ng n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm$$.hm_no).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck$$).format()} VND, ph\u00e1t sinh ${numeral(Math.abs($tien$$)).format()} VND`;}else if(0-$du_ck$$-$tien$$>$acc_hm$$.hm_co)throw`Nh\u00e0 cung c\u1ea5p n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm$$.hm_co).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck$$).format()} VND, ph\u00e1t sinh ${numeral(Math.abs($tien$$)).format()} VND`;
2
+ $tk$$,$ma_kh$$,$tien$$)=>{var $acc_hm$$=await dmtk.findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,loai_tk:1}).lean();if(!$acc_hm$$)throw"Kh\u00f4ng t\u1ed3n t\u1ea1i t\u00e0i kho\u1ea3n "+$tk$$;if($acc_hm$$.tk_cn&&(($acc_hm$$=await global.getModel("hmcn").findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,ma_kh:$ma_kh$$,status:!0}).lean())||($acc_hm$$=await global.getModel("hmcn").findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,status:!0,ma_kh:{$in:[null,""]}}).lean()),$acc_hm$$)){let $du_ck$$=await asyncCkcn({id_app:$hmcnct_id_app$$,
3
+ tk:$tk$$,ma_kh:$ma_kh$$,bu_tru:!0,ngay:moment($obj$$.ngay_ct).endOf("year").toDate()});if(0>$tien$$)if(0==$acc_hm$$.hm_co){if(0-$du_ck$$>$acc_hm$$.hm_co)throw`Nh\u00e0 cung c\u1ea5p n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm$$.hm_co).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck$$).format()} VND, ph\u00e1t sinh ${numeral(Math.abs($tien$$)).format()} VND`;}else{if(0-$du_ck$$+$tien$$>$acc_hm$$.hm_co)throw`Nh\u00e0 cung c\u1ea5p n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm$$.hm_co).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck$$).format()} VND, ph\u00e1t sinh ${numeral(Math.abs($tien$$)).format()} VND`;
4
+ }else if(0==$acc_hm$$.hm_no){if($du_ck$$>$acc_hm$$.hm_no)throw`Kh\u00e1ch h\u00e0ng n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm$$.hm_no).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck$$).format()} VND, ph\u00e1t sinh ${numeral(Math.abs($tien$$)).format()} VND`;}else if($du_ck$$+$tien$$>$acc_hm$$.hm_no)throw`Kh\u00e1ch h\u00e0ng n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm$$.hm_no).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck$$).format()} VND, ph\u00e1t sinh ${numeral(Math.abs($tien$$)).format()} VND`;
4
5
  $hmcnct_id_app$$=await global.getModel("hmcnct").findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,ma_kh:$ma_kh$$,id_ct:$obj$$._id.toString()}).lean();$hmcnct_id_app$$||($hmcnct_id_app$$={...$acc_hm$$},$hmcnct_id_app$$.id_ct=$obj$$._id.toString(),delete $hmcnct_id_app$$._id,await global.getModel("hmcnct").create($hmcnct_id_app$$))}},checkAcc=function($id_app$$,$data$$,$tk$$,$ma_kh$$,$callback$$){dmtk.findOne({id_app:$id_app$$,tk:$tk$$,loai_tk:1}).lean().exec(async($e$$,$acc$$)=>{if($e$$||!$acc$$)return $callback$$($e$$||
5
6
  `T\u00e0i kho\u1ea3n ${$tk$$} kh\u00f4ng t\u1ed3n t\u1ea1i ho\u1eb7c kh\u00f4ng ph\u1ea3i l\u00e0 t\u00e0i kho\u1ea3n chi ti\u1ebft.`);if($acc$$.tk_cn&&!$ma_kh$$)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp kh\u00e1ch h\u00e0ng`);if($acc$$.tk_cp_yn&&!$data$$.ma_phi)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp doanh thu/chi ph\u00ed`);if($acc$$.tk_kho_yn&&!$data$$.ma_kho)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp kho/c\u1eeda h\u00e0ng`);
6
7
  if($acc$$.tk_bp_yn&&!$data$$.ma_bp)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp b\u1ed9 ph\u1eadn`);if($acc$$.tk_dt_yn&&!$data$$.ma_dt)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp v\u1ee5 vi\u1ec7c, d\u1ef1 \u00e1n`);if($acc$$.tk_hd_yn&&!$data$$.ma_hd)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp h\u1ee3p \u0111\u1ed3ng`);if($acc$$.tk_nv_yn&&!$data$$.ma_nv)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp nh\u00e2n vi\u00ean`);
7
8
  if($acc$$.tk_td1_yn&&!$data$$.ma_td1)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp ma_td1`);if($acc$$.tk_td2_yn&&!$data$$.ma_td2)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp ma_td2`);if($acc$$.tk_td3_yn&&!$data$$.ma_td3)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp ma_td3`);$callback$$(null,$acc$$)})},checkData=function($id_app$$,$ngay_ct$$,$_data$$,$callback$jscomp$0$$){async.series({tk_no:$callback$$=>
8
- {checkAcc($id_app$$,$_data$$,$_data$$.tk_no,$_data$$.ma_kh_no,($e$$,$acc$$)=>{if($e$$)return $callback$$($e$$);$acc$$.not_du_no_yn&&0!=$_data$$.check_balance?cktk({id_app:$id_app$$,tk:$_data$$.tk_no,bu_tru:!0,ngay:moment($ngay_ct$$).endOf("year").toDate()},($du_no$jscomp$1_e$$,$rs$$)=>{if($du_no$jscomp$1_e$$)return $callback$$($du_no$jscomp$1_e$$);$du_no$jscomp$1_e$$=$rs$$.map($r$$=>$r$$.du_no00-$r$$.du_co00).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+$_data$$.tien;0<$du_no$jscomp$1_e$$?$callback$$(`T\u00e0i kho\u1ea3n ${$_data$$.tk_no} kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 s\u1ed1 d\u01b0 b\u00ean n\u1ee3 : ${$du_no$jscomp$1_e$$}`):
9
- $callback$$()}):$callback$$()})},tk_co:$callback$$=>{checkAcc($id_app$$,$_data$$,$_data$$.tk_co,$_data$$.ma_kh_co,($e$$,$acc$$)=>{if($e$$)return $callback$$($e$$);$acc$$.not_du_co_yn&&0!=$_data$$.check_balance?cktk({id_app:$id_app$$,tk:$_data$$.tk_co,bu_tru:!0,ngay:moment($ngay_ct$$).endOf("year").toDate()},($du_co$jscomp$1_e$$,$rs$$)=>{if($du_co$jscomp$1_e$$)return $callback$$($du_co$jscomp$1_e$$);$du_co$jscomp$1_e$$=$rs$$.map($r$$=>$r$$.du_co00-$r$$.du_no00).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+$_data$$.tien;
10
- 0<$du_co$jscomp$1_e$$?$callback$$(`T\u00e0i kho\u1ea3n ${$_data$$.tk_co} kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 s\u1ed1 d\u01b0 b\u00ean c\u00f3: ${$du_co$jscomp$1_e$$}`):$callback$$()}):$callback$$()})}},$e$$=>{$callback$jscomp$0$$($e$$,$_data$$)})},post=function($master$$,$details$$,$prepare$$,$model$$=SocaiModel){$details$$&&(this.master={...$master$$},this.details=$details$$.map($detail$$=>({...$detail$$})),this.model=$model$$,this.prepare=$prepare$$)};
9
+ {checkAcc($id_app$$,$_data$$,$_data$$.tk_no,$_data$$.ma_kh_no,($e$$,$acc$$)=>{if($e$$)return $callback$$($e$$);$acc$$.not_du_no_yn&&0!=$_data$$.check_balance?cktk({id_app:$id_app$$,tk:$_data$$.tk_no,bu_tru:!0,ngay:moment($ngay_ct$$).endOf("year").toDate()},($du_no$jscomp$2_e$$,$rs$$)=>{if($du_no$jscomp$2_e$$)return $callback$$($du_no$jscomp$2_e$$);$du_no$jscomp$2_e$$=$rs$$.map($r$$=>$r$$.du_no00-$r$$.du_co00).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+$_data$$.tien;0<$du_no$jscomp$2_e$$?$callback$$(`T\u00e0i kho\u1ea3n ${$_data$$.tk_no} kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 s\u1ed1 d\u01b0 b\u00ean n\u1ee3 : ${$du_no$jscomp$2_e$$}`):
10
+ $callback$$()}):$callback$$()})},tk_co:$callback$$=>{checkAcc($id_app$$,$_data$$,$_data$$.tk_co,$_data$$.ma_kh_co,($e$$,$acc$$)=>{if($e$$)return $callback$$($e$$);$acc$$.not_du_co_yn&&0!=$_data$$.check_balance?cktk({id_app:$id_app$$,tk:$_data$$.tk_co,bu_tru:!0,ngay:moment($ngay_ct$$).endOf("year").toDate()},($du_co$jscomp$2_e$$,$rs$$)=>{if($du_co$jscomp$2_e$$)return $callback$$($du_co$jscomp$2_e$$);$du_co$jscomp$2_e$$=$rs$$.map($r$$=>$r$$.du_co00-$r$$.du_no00).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+$_data$$.tien;
11
+ 0<$du_co$jscomp$2_e$$?$callback$$(`T\u00e0i kho\u1ea3n ${$_data$$.tk_co} kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 s\u1ed1 d\u01b0 b\u00ean c\u00f3: ${$du_co$jscomp$2_e$$}`):$callback$$()}):$callback$$()})}},$e$$=>{$callback$jscomp$0$$($e$$,$_data$$)})},post=function($master$$,$details$$,$prepare$$,$model$$=SocaiModel){$details$$&&(this.master={...$master$$},this.details=$details$$.map($detail$$=>({...$detail$$})),this.model=$model$$,this.prepare=$prepare$$)};
11
12
  post.prototype.runPrepare=async($prepare$$,$details$jscomp$0$$)=>{$details$jscomp$0$$=$details$jscomp$0$$.map($d$$=>{$d$$.toObject&&($d$$=$d$$.toObject());return{...$d$$}});return new Promise($resolve$$=>{$prepare$$?async.mapSeries($details$jscomp$0$$,($detail$jscomp$0$$,$callback$$)=>{setImmediate(()=>{$detail$jscomp$0$$.toObject=function(){return Object.assign({},$detail$jscomp$0$$)};$prepare$$($detail$jscomp$0$$,$detail$$=>{$detail$$.toObject=function(){return Object.assign({},$detail$$)};$callback$$(null,
12
13
  $detail$$)})})},($e$$,$details$$)=>{$resolve$$($details$$)}):$resolve$$($details$jscomp$0$$)})};
13
14
  post.prototype.run=async function($callback$jscomp$0$$=()=>{}){if(!this.details)return $callback$jscomp$0$$(null,null);const $Socai$$=this.model||SocaiModel;let $master$$=this.master,$details$jscomp$0$$=await this.runPrepare(this.prepare,this.details);$details$jscomp$0$$.forEach($d$$=>{$d$$.tk_no=$d$$.tk_no||$master$$.tk_no;$d$$.tk_co=$d$$.tk_co||$master$$.tk_co;$d$$.ma_ct=$master$$.ma_ct;$d$$.so_ct=$master$$.so_ct;$d$$.ngay_ct=$master$$.ngay_ct});$details$jscomp$0$$=$details$jscomp$0$$.filter($d$$=>
@@ -8,7 +8,7 @@ $detail$$)};$callback$$(null,$detail$$)})})},($e$$,$details$$)=>{$resolve$$($det
8
8
  post.prototype.remove=function($callback$jscomp$0$$=()=>{}){let $master$$=this.master;$master$$&&$master$$.toObject&&($master$$=$master$$.toObject());if(!$master$$._id)return $callback$jscomp$0$$();let $model_book$$=this.model_book;async.series({sks:$callback$$=>{setImmediate(()=>{"sokho"===$model_book$$.modelName.toLowerCase()?global.getModel("sokho").find({id_ct:$master$$._id.toString()}).lean().exec(function($e$$,$sks$$){if($e$$)return $callback$$($e$$);$callback$$(null,$sks$$)}):$callback$$(null,
9
9
  [])})}},($e$jscomp$0$$,$rs$$)=>{if($e$jscomp$0$$)return $callback$jscomp$0$$($e$jscomp$0$$);$model_book$$.deleteMany({id_ct:$master$$._id.toString()},function($error$$){if($error$$)return $callback$jscomp$0$$($error$$);0<$rs$$.sks.length?tontucthoi.tinhTonTucThoi($rs$$.sks,($e$$,$rs$$)=>{$callback$jscomp$0$$($e$$,$rs$$)}):$callback$jscomp$0$$($error$$)})})};
10
10
  post.prototype.run=async function($callback$jscomp$0$$=()=>{}){if(!this.details)return console.error("details not exists"),$callback$jscomp$0$$(null);if(!this.master||!this.master._id)return console.error("masters not exists",this.master),$callback$jscomp$0$$(null);let $master$$=this.master;$master$$.toObject&&($master$$=$master$$.toObject());let $details$$=await this.runPrepare(this.prepare,this.details),$model_book$$=this.model_book;await $details$$.asyncJoinModel2($master$$.id_app,Dmvt,{where:"ma_vt",
11
- setFields:($item$$,$ref$$)=>{$item$$.tk_vt||($item$$.tk_vt=$ref$$.tk_vt);$item$$.tk_gv||($item$$.tk_vt=$ref$$.tk_gv);$item$$.tg_tk=$ref$$.tg_tk;$item$$.xk_nvl=$ref$$.xk_nvl}});var $ps_kg_dm_sp_co_dm_sp_xk_nvl$$=$details$$.filter($p$$=>$p$$.xk_nvl&&2==$p$$.nxt);for(var $i$jscomp$1_i$$=0;$i$jscomp$1_i$$<$ps_kg_dm_sp_co_dm_sp_xk_nvl$$.length;$i$jscomp$1_i$$++)$ps_kg_dm_sp_co_dm_sp_xk_nvl$$[$i$jscomp$1_i$$].dinh_muc_nvl=await dinhmucsx($master$$.id_app,$ps_kg_dm_sp_co_dm_sp_xk_nvl$$[$i$jscomp$1_i$$].ma_vt,
11
+ setFields:($item$$,$ref$$)=>{$item$$.tk_vt||($item$$.tk_vt=$ref$$.tk_vt);$item$$.tk_gv||($item$$.tk_gv=$ref$$.tk_gv);$item$$.tg_tk=$ref$$.tg_tk;$item$$.xk_nvl=$ref$$.xk_nvl}});var $ps_kg_dm_sp_co_dm_sp_xk_nvl$$=$details$$.filter($p$$=>$p$$.xk_nvl&&2==$p$$.nxt);for(var $i$jscomp$1_i$$=0;$i$jscomp$1_i$$<$ps_kg_dm_sp_co_dm_sp_xk_nvl$$.length;$i$jscomp$1_i$$++)$ps_kg_dm_sp_co_dm_sp_xk_nvl$$[$i$jscomp$1_i$$].dinh_muc_nvl=await dinhmucsx($master$$.id_app,$ps_kg_dm_sp_co_dm_sp_xk_nvl$$[$i$jscomp$1_i$$].ma_vt,
12
12
  $ps_kg_dm_sp_co_dm_sp_xk_nvl$$[$i$jscomp$1_i$$].ma_tt1,$ps_kg_dm_sp_co_dm_sp_xk_nvl$$[$i$jscomp$1_i$$].sl_xuat,$ps_kg_dm_sp_co_dm_sp_xk_nvl$$[$i$jscomp$1_i$$].ma_dvt);if("sokhokhongton"===$model_book$$.modelName.toLowerCase())$details$$=$details$$.filter($d$$=>0==$d$$.tg_tk);else{$details$$=$details$$.filter($d$$=>$d$$.tg_tk||$d$$.dinh_muc_nvl&&0<$d$$.dinh_muc_nvl.length);$ps_kg_dm_sp_co_dm_sp_xk_nvl$$=$details$$.filter($p$$=>$p$$.xk_nvl&&$p$$.dinh_muc_nvl&&0<$p$$.dinh_muc_nvl.length);for($i$jscomp$1_i$$=
13
13
  0;$i$jscomp$1_i$$<$ps_kg_dm_sp_co_dm_sp_xk_nvl$$.length;$i$jscomp$1_i$$++){const $p$jscomp$0$$=$ps_kg_dm_sp_co_dm_sp_xk_nvl$$[$i$jscomp$1_i$$];let $he_so_qd$$=1,$qd$$=await global.getModel("dmqddvt").findOne({id_app:$master$$.id_app,ma_vt:$p$jscomp$0$$.ma_vt,ma_dvt:$p$jscomp$0$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);let $sl_sp$$=$p$jscomp$0$$.sl_xuat*$he_so_qd$$;$p$jscomp$0$$.dinh_muc_nvl=$p$jscomp$0$$.dinh_muc_nvl.map($d$$=>{$d$$.nxt=$p$jscomp$0$$.nxt;$d$$.ma_sp=
14
14
  $p$jscomp$0$$.ma_vt;$d$$.sl_sp=$sl_sp$$;$d$$.ma_tt1_sp=$p$jscomp$0$$.ma_tt1;$d$$.ma_tt2_sp=$p$jscomp$0$$.ma_tt2;$d$$.ma_tt3_sp=$p$jscomp$0$$.ma_tt3;$d$$.ma_kho=$p$jscomp$0$$.ma_kho;return $d$$});$p$jscomp$0$$.dinh_muc_nvl=$p$jscomp$0$$.dinh_muc_nvl.filter($p$$=>$p$$.tg_tk)}$ps_kg_dm_sp_co_dm_sp_xk_nvl$$=$details$$.filter($p$$=>!$p$$.xk_nvl||!$p$$.dinh_muc_nvl||0===$p$$.dinh_muc_nvl.length);$i$jscomp$1_i$$=$details$$.filter($p$$=>$p$$.xk_nvl&&$p$$.dinh_muc_nvl&&0<$p$$.dinh_muc_nvl.length).map($p$$=>
@@ -1,10 +1,10 @@
1
- 'use strict';const tdttno=global.getModel("tdttno"),tdttno_tt=global.getModel("tdttno_tt"),async=require("async"),moment=require("moment");
2
- let func=function($condition$$){return new Promise(($resolve$$,$reject$$)=>{if(!$condition$$.id_app)return $reject$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: id_app");$condition$$.den_ngay||($condition$$.den_ngay=moment().endOf("date").toDate());async.series({invoices:function($callback$$){setImmediate(async()=>{const $query$$={id_app:$condition$$.id_app};$query$$.ngay_ct={$lte:$condition$$.den_ngay};$condition$$.tu_ngay&&($query$$.ngay_ct.$gte=$condition$$.tu_ngay);$condition$$.ma_dvcs&&
3
- ($query$$.ma_dvcs=$condition$$.ma_dvcs);if(!$condition$$.ma_kh&&($condition$$.nh_kh||$condition$$.phu_trach)){let $_q$$={};$condition$$.nh_kh&&($_q$$.nh_kh=$condition$$.nh_kh);$condition$$.phu_trach&&($_q$$.phu_trach=$condition$$.phu_trach);$condition$$.ma_kh=await global.getModel("customer").getList($condition$$.id_app,$_q$$,"ma_kh")}$condition$$.ma_kh&&($query$$.ma_kh=$condition$$.ma_kh);$condition$$.so_ct&&($query$$.so_ct=$condition$$.so_ct);$condition$$.so_hd&&($query$$.so_hd=$condition$$.so_hd);
4
- void 0!==$condition$$.tat_toan&&($query$$.tat_toan=$condition$$.tat_toan);tdttno.find($query$$).lean().exec(function($error$$,$results$$){if($error$$)return $callback$$($error$$);$error$$=[];for(let $i$$=0;$i$$<$results$$.length;$i$$++){const $invoice$$=$results$$[$i$$];$invoice$$.line=$i$$;$error$$.push($invoice$$)}$callback$$(null,$error$$)})})}},($error$jscomp$2_invoices$$,$results$jscomp$0$$)=>{if($error$jscomp$2_invoices$$)return $reject$$($error$jscomp$2_invoices$$);$error$jscomp$2_invoices$$=
5
- $results$jscomp$0$$.invoices;let $report$$=[];const $now$$=new Date;$now$$.setHours(0);$now$$.setMinutes(0);$now$$.setSeconds(0);$now$$.setMilliseconds(0);async.map($error$jscomp$2_invoices$$,function($invoice$$,$callback$$){setImmediate(()=>{const $t_invoice$$={sysorder:1,bold:!1,tat_toan:$invoice$$.tat_toan,id_ct:$invoice$$.id_ct,ma_ct:$invoice$$.ma_ct,id_hd:$invoice$$.id_ct,so_ct:$invoice$$.so_ct,ngay_ct:$invoice$$.ngay_ct,so_hd:$invoice$$.so_hd,ngay_hd:$invoice$$.ngay_hd,tien_hd_nt:$invoice$$.tien_nt};
6
- $t_invoice$$.ma_nt_hd=$invoice$$.ma_nt;$t_invoice$$.ty_gia_hd=$invoice$$.ty_gia;$t_invoice$$.ma_kh=$invoice$$.ma_kh;$t_invoice$$.ma_dt=$invoice$$.ma_dt;$t_invoice$$.ma_nv=$invoice$$.ma_nv;$t_invoice$$.dien_giai=$invoice$$.dien_giai;$t_invoice$$.tien_nt=0;$t_invoice$$.tien=0;$t_invoice$$.da_thanh_toan_nt=0;$t_invoice$$.con_lai_nt=0;$t_invoice$$.thanh_toan_qd=0;$t_invoice$$.tk_co=$invoice$$.tk_no;$t_invoice$$.han_tt=$invoice$$.han_tt?$invoice$$.han_tt:0;$report$$.push($t_invoice$$);tdttno_tt.find({id_tdtt:$invoice$$._id}).sort({ngay_ct:1}).lean().exec(function($error$$,
7
- $results$$){let $da_thanh_toan_nt$$=0;$results$$.forEach(function($invoice_tt$$){$da_thanh_toan_nt$$+=$invoice_tt$$.thanh_toan_qd});$t_invoice$$.da_thanh_toan_nt=$da_thanh_toan_nt$$;$t_invoice$$.con_lai_nt=$t_invoice$$.tien_hd_nt-$t_invoice$$.da_thanh_toan_nt;$t_invoice$$.tat_toan&&($t_invoice$$.con_lai_nt=0);0!==$t_invoice$$.con_lai_nt&&($t_invoice$$.ngay_hd.setHours(0),$t_invoice$$.ngay_hd.setMinutes(0),$t_invoice$$.ngay_hd.setSeconds(0),$t_invoice$$.ngay_hd.setMilliseconds(0),$t_invoice$$.tuoi_no=
8
- Math.roundBy(($now$$.getTime()-$t_invoice$$.ngay_hd.getTime())/864E5,0),$t_invoice$$.so_ngay_trong_han=Math.max(0,$t_invoice$$.han_tt-$t_invoice$$.tuoi_no),$t_invoice$$.so_ngay_qua_han=Math.max(0,$t_invoice$$.tuoi_no-$t_invoice$$.han_tt),0<$t_invoice$$.so_ngay_qua_han&&30>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han1=$t_invoice$$.con_lai_nt),30<$t_invoice$$.so_ngay_qua_han&&60>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han2=$t_invoice$$.con_lai_nt),60<$t_invoice$$.so_ngay_qua_han&&90>=
9
- $t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han3=$t_invoice$$.con_lai_nt),90<$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han4=$t_invoice$$.con_lai_nt));$callback$$(null,$t_invoice$$)})})},$error$$=>{if($error$$)return $reject$$($error$$);$report$$=$report$$.filter($r$$=>0<$r$$.tien_hd_nt);$condition$$.tuoi_no&&($report$$=$report$$.filter($r$$=>$r$$.tuoi_no>=$condition$$.tuoi_no));$resolve$$($report$$)})})})};
10
- module.exports=($condition$$,$callback$$)=>{if(!$callback$$)return func($condition$$);func($condition$$).then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})};
1
+ 'use strict';const tdttno=global.getModel("tdttno"),tdttno_tt=global.getModel("tdttno_tt"),async=require("async"),moment=require("moment"),func=async $condition$$=>{let $objs$$=await tdttno.find({id_app:$condition$$.id_app,ngay_tt:{$exists:!1}});for(let $obj$$ of $objs$$)console.log("update ngay_tt",$obj$$.ngay_hd),$obj$$.ngay_tt=moment($obj$$.ngay_hd).add($obj$$.han_tt||0,"days").toDate(),await $obj$$.save();await tdttno.updateMany({id_app:$condition$$.id_app,ngay_tt:{$exists:!1}},{date_updated:new Date});
2
+ return new Promise(($resolve$$,$reject$$)=>{if(!$condition$$.id_app)return $reject$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: id_app");$condition$$.den_ngay||($condition$$.den_ngay=moment().endOf("date").toDate());$condition$$.tuoi_no&&($condition$$.tuoi_no=Number($condition$$.tuoi_no),0<$condition$$.tuoi_no&&($condition$$.tuoi_no_min=$condition$$.tuoi_no));let $ngay_tt_min$$,$ngay_tt_max$$;$condition$$.tuoi_no_min&&($ngay_tt_min$$=moment().add($condition$$.tuoi_no_min,"days").toDate());
3
+ $condition$$.tuoi_no_max&&($ngay_tt_max$$=moment().add($condition$$.tuoi_no_max,"days").toDate());async.series({invoices:function($callback$$){setImmediate(async()=>{const $query$$={id_app:$condition$$.id_app};$query$$.ngay_ct={$lte:$condition$$.den_ngay};$condition$$.tu_ngay&&($query$$.ngay_ct.$gte=$condition$$.tu_ngay);$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);if(!$condition$$.ma_kh&&($condition$$.nh_kh||$condition$$.phu_trach)){let $_q$$={};$condition$$.nh_kh&&($_q$$.nh_kh=
4
+ $condition$$.nh_kh);$condition$$.phu_trach&&($_q$$.phu_trach=$condition$$.phu_trach);$condition$$.ma_kh=await global.getModel("customer").getList($condition$$.id_app,$_q$$,"ma_kh")}$condition$$.ma_kh&&($query$$.ma_kh=$condition$$.ma_kh);$condition$$.so_ct&&($query$$.so_ct=$condition$$.so_ct);$condition$$.so_hd&&($query$$.so_hd=$condition$$.so_hd);void 0!==$condition$$.tat_toan&&($query$$.tat_toan=$condition$$.tat_toan);$ngay_tt_min$$&&($query$$.ngay_tt={$gte:$ngay_tt_min$$});$ngay_tt_max$$&&($query$$.ngay_tt?
5
+ $query$$.ngay_tt.$lte=$ngay_tt_max$$:$query$$.ngay_tt={$lte:$ngay_tt_max$$});tdttno.find($query$$).lean().exec(function($error$$,$results$$){if($error$$)return $callback$$($error$$);$error$$=[];for(let $i$$=0;$i$$<$results$$.length;$i$$++){const $invoice$$=$results$$[$i$$];$invoice$$.line=$i$$;$error$$.push($invoice$$)}$callback$$(null,$error$$)})})}},($error$jscomp$2_invoices$$,$now_results$$)=>{if($error$jscomp$2_invoices$$)return $reject$$($error$jscomp$2_invoices$$);$error$jscomp$2_invoices$$=
6
+ $now_results$$.invoices;let $report$$=[];$now_results$$=new Date;$now_results$$.setHours(0);$now_results$$.setMinutes(0);$now_results$$.setSeconds(0);$now_results$$.setMilliseconds(0);async.map($error$jscomp$2_invoices$$,function($invoice$$,$callback$$){setImmediate(()=>{const $t_invoice$$={sysorder:1,bold:!1,tat_toan:$invoice$$.tat_toan,id_ct:$invoice$$.id_ct,ma_ct:$invoice$$.ma_ct,id_hd:$invoice$$.id_ct,so_ct:$invoice$$.so_ct,ngay_ct:$invoice$$.ngay_ct,so_hd:$invoice$$.so_hd,ngay_hd:$invoice$$.ngay_hd,
7
+ tien_hd_nt:$invoice$$.tien_nt};$t_invoice$$.ma_nt_hd=$invoice$$.ma_nt;$t_invoice$$.ty_gia_hd=$invoice$$.ty_gia;$t_invoice$$.ma_kh=$invoice$$.ma_kh;$t_invoice$$.ma_dt=$invoice$$.ma_dt;$t_invoice$$.ma_nv=$invoice$$.ma_nv;$t_invoice$$.dien_giai=$invoice$$.dien_giai;$t_invoice$$.tien_nt=0;$t_invoice$$.tien=0;$t_invoice$$.da_thanh_toan_nt=0;$t_invoice$$.con_lai_nt=0;$t_invoice$$.thanh_toan_qd=0;$t_invoice$$.tk_co=$invoice$$.tk_no;$t_invoice$$.han_tt=$invoice$$.han_tt?$invoice$$.han_tt:0;$report$$.push($t_invoice$$);
8
+ tdttno_tt.find({id_tdtt:$invoice$$._id}).sort({ngay_ct:1}).lean().exec(function($error$$,$results$$){let $da_thanh_toan_nt$$=0;$results$$.forEach(function($invoice_tt$$){$da_thanh_toan_nt$$+=$invoice_tt$$.thanh_toan_qd});$t_invoice$$.da_thanh_toan_nt=$da_thanh_toan_nt$$;$t_invoice$$.con_lai_nt=$t_invoice$$.tien_hd_nt-$t_invoice$$.da_thanh_toan_nt;$t_invoice$$.tat_toan&&($t_invoice$$.con_lai_nt=0);0!==$t_invoice$$.con_lai_nt?($t_invoice$$.tuoi_no=moment().diff(moment($t_invoice$$.ngay_hd),"days"),
9
+ $t_invoice$$.so_ngay_trong_han=Math.max(0,$t_invoice$$.han_tt-$t_invoice$$.tuoi_no),$t_invoice$$.so_ngay_qua_han=Math.max(0,$t_invoice$$.tuoi_no-$t_invoice$$.han_tt),0<$t_invoice$$.so_ngay_qua_han&&30>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han1=$t_invoice$$.con_lai_nt),30<$t_invoice$$.so_ngay_qua_han&&60>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han2=$t_invoice$$.con_lai_nt),60<$t_invoice$$.so_ngay_qua_han&&90>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han3=$t_invoice$$.con_lai_nt),
10
+ 90<$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han4=$t_invoice$$.con_lai_nt)):($t_invoice$$.tuoi_no=0,$t_invoice$$.so_ngay_trong_han=0,$t_invoice$$.so_ngay_qua_han=0);$callback$$(null,$t_invoice$$)})})},$error$$=>{if($error$$)return $reject$$($error$$);$report$$=$report$$.filter($r$$=>0<$r$$.tien_hd_nt);$resolve$$($report$$)})})})};module.exports=($condition$$,$callback$$)=>{if(!$callback$$)return func($condition$$);func($condition$$).then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})};
@@ -1,9 +1,11 @@
1
- 'use strict';const async=require("async"),tdttco=global.getModel("tdttco"),tdttco_tt=global.getModel("tdttco_tt"),moment=require("moment"),func=function($condition$$){return new Promise(($resolve$$,$reject$$)=>{if(!$condition$$.id_app)return $reject$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: id_app");$condition$$.den_ngay||($condition$$.den_ngay=moment().endOf("date").toDate());async.series({invoices:function($callback$$){setImmediate(async()=>{const $query$$={id_app:$condition$$.id_app};
2
- $query$$.ngay_ct={$lte:$condition$$.den_ngay};$condition$$.tu_ngay&&($query$$.ngay_ct.$gte=$condition$$.tu_ngay);$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);if(!$condition$$.ma_kh&&($condition$$.nh_kh||$condition$$.phu_trach)){let $_q$$={};$condition$$.nh_kh&&($_q$$.nh_kh=$condition$$.nh_kh);$condition$$.phu_trach&&($_q$$.phu_trach=$condition$$.phu_trach);$condition$$.ma_kh=await global.getModel("customer").getList($condition$$.id_app,$_q$$,"ma_kh")}$condition$$.ma_kh&&($query$$.ma_kh=
3
- $condition$$.ma_kh);$condition$$.so_ct&&($query$$.so_ct=$condition$$.so_ct);$condition$$.so_hd&&($query$$.so_hd=$condition$$.so_hd);void 0!==$condition$$.tat_toan&&($query$$.tat_toan=$condition$$.tat_toan);tdttco.find($query$$).lean().exec(function($error$$,$results$$){if($error$$)return $callback$$($error$$);$error$$=[];for(let $i$$=0;$i$$<$results$$.length;$i$$++){var $invoice$$=$results$$[$i$$];$invoice$$.line=$i$$;$error$$.push($invoice$$)}$callback$$(null,$error$$)})})}},($error$jscomp$2_invoices$$,
4
- $results$jscomp$0$$)=>{if($error$jscomp$2_invoices$$)return $reject$$($error$jscomp$2_invoices$$);$error$jscomp$2_invoices$$=$results$jscomp$0$$.invoices;let $report$$=[];const $now$$=new Date;$now$$.setHours(0);$now$$.setMinutes(0);$now$$.setSeconds(0);$now$$.setMilliseconds(0);async.map($error$jscomp$2_invoices$$,function($invoice$$,$callback$$){const $t_invoice$$={sysorder:1,bold:!1,tat_toan:$invoice$$.tat_toan,id_ct:$invoice$$.id_ct,ma_ct:$invoice$$.ma_ct,id_hd:$invoice$$.id_ct,so_ct:$invoice$$.so_ct,
5
- ngay_ct:$invoice$$.ngay_ct,so_hd:$invoice$$.so_hd,ngay_hd:$invoice$$.ngay_hd,tien_hd_nt:$invoice$$.tien_nt};$t_invoice$$.ma_nt_hd=$invoice$$.ma_nt;$t_invoice$$.ty_gia_hd=$invoice$$.ty_gia;$t_invoice$$.ma_kh=$invoice$$.ma_kh;$t_invoice$$.ma_dt=$invoice$$.ma_dt;$t_invoice$$.ma_nv=$invoice$$.ma_nv;$t_invoice$$.dien_giai=$invoice$$.dien_giai;$t_invoice$$.tien_nt=0;$t_invoice$$.tien=0;$t_invoice$$.da_thanh_toan_nt=0;$t_invoice$$.con_lai_nt=0;$t_invoice$$.thanh_toan_qd=0;$t_invoice$$.tk_co=$invoice$$.tk_no;
6
- $t_invoice$$.han_tt=$invoice$$.han_tt?$invoice$$.han_tt:0;$report$$.push($t_invoice$$);tdttco_tt.find({id_tdtt:$invoice$$._id}).sort({ngay_ct:1}).lean().exec(function($error$$,$results$$){let $da_thanh_toan_nt$$=0;$results$$.forEach(function($invoice_tt$$){$da_thanh_toan_nt$$+=$invoice_tt$$.thanh_toan_qd});$t_invoice$$.da_thanh_toan_nt=$da_thanh_toan_nt$$;$t_invoice$$.con_lai_nt=$t_invoice$$.tien_hd_nt-$t_invoice$$.da_thanh_toan_nt;$t_invoice$$.tat_toan&&($t_invoice$$.con_lai_nt=0);0!==$t_invoice$$.con_lai_nt&&
7
- ($t_invoice$$.ngay_hd.setHours(0),$t_invoice$$.ngay_hd.setMinutes(0),$t_invoice$$.ngay_hd.setSeconds(0),$t_invoice$$.ngay_hd.setMilliseconds(0),$t_invoice$$.tuoi_no=Math.roundBy(($now$$.getTime()-$t_invoice$$.ngay_hd.getTime())/864E5,0),$t_invoice$$.so_ngay_trong_han=Math.max(0,$t_invoice$$.han_tt-$t_invoice$$.tuoi_no),$t_invoice$$.so_ngay_qua_han=Math.max(0,$t_invoice$$.tuoi_no-$t_invoice$$.han_tt),0<$t_invoice$$.so_ngay_qua_han&&30>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han1=$t_invoice$$.con_lai_nt),
8
- 30<$t_invoice$$.so_ngay_qua_han&&60>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han2=$t_invoice$$.con_lai_nt),60<$t_invoice$$.so_ngay_qua_han&&90>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han3=$t_invoice$$.con_lai_nt),90<$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han4=$t_invoice$$.con_lai_nt));$callback$$(null,$t_invoice$$)})},$error$$=>{if($error$$)return $reject$$($error$$);$report$$=$report$$.filter($r$$=>0<$r$$.tien_hd_nt);$condition$$.tuoi_no&&($report$$=$report$$.filter($r$$=>
9
- $r$$.tuoi_no>=$condition$$.tuoi_no));$resolve$$($report$$)})})})};module.exports=($condition$$,$callback$$)=>{if(!$callback$$)return func($condition$$);func($condition$$).then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})};
1
+ 'use strict';const async=require("async"),tdttco=global.getModel("tdttco"),tdttco_tt=global.getModel("tdttco_tt"),moment=require("moment"),func=async $condition$$=>{let $objs$$=await tdttco.find({id_app:$condition$$.id_app,ngay_tt:{$exists:!1}});for(let $obj$$ of $objs$$)console.log("update ngay_tt",$obj$$.ngay_hd),$obj$$.ngay_tt=moment($obj$$.ngay_hd).add($obj$$.han_tt||0,"days").toDate(),await $obj$$.save();return new Promise(($resolve$$,$reject$$)=>{if(!$condition$$.id_app)return $reject$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: id_app");
2
+ $condition$$.den_ngay||($condition$$.den_ngay=moment().endOf("date").toDate());$condition$$.tuoi_no&&($condition$$.tuoi_no=Number($condition$$.tuoi_no),0<$condition$$.tuoi_no&&($condition$$.tuoi_no_min=$condition$$.tuoi_no));let $ngay_tt_min$$,$ngay_tt_max$$;$condition$$.tuoi_no_min&&($ngay_tt_min$$=moment().add($condition$$.tuoi_no_min,"days").toDate());$condition$$.tuoi_no_max&&($ngay_tt_max$$=moment().add($condition$$.tuoi_no_max,"days").toDate());async.series({invoices:function($callback$$){setImmediate(async()=>
3
+ {const $query$$={id_app:$condition$$.id_app};$query$$.ngay_ct={$lte:$condition$$.den_ngay};$condition$$.tu_ngay&&($query$$.ngay_ct.$gte=$condition$$.tu_ngay);$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);if(!$condition$$.ma_kh&&($condition$$.nh_kh||$condition$$.phu_trach)){let $_q$$={};$condition$$.nh_kh&&($_q$$.nh_kh=$condition$$.nh_kh);$condition$$.phu_trach&&($_q$$.phu_trach=$condition$$.phu_trach);$condition$$.ma_kh=await global.getModel("customer").getList($condition$$.id_app,
4
+ $_q$$,"ma_kh")}$condition$$.ma_kh&&($query$$.ma_kh=$condition$$.ma_kh);$condition$$.so_ct&&($query$$.so_ct=$condition$$.so_ct);$condition$$.so_hd&&($query$$.so_hd=$condition$$.so_hd);void 0!==$condition$$.tat_toan&&($query$$.tat_toan=$condition$$.tat_toan);$ngay_tt_min$$&&($query$$.ngay_tt={$gte:$ngay_tt_min$$});$ngay_tt_max$$&&($query$$.ngay_tt?$query$$.ngay_tt.$lte=$ngay_tt_max$$:$query$$.ngay_tt={$lte:$ngay_tt_max$$});tdttco.find($query$$).lean().exec(function($error$$,$results$$){if($error$$)return $callback$$($error$$);
5
+ $error$$=[];for(let $i$$=0;$i$$<$results$$.length;$i$$++){var $invoice$$=$results$$[$i$$];$invoice$$.line=$i$$;$error$$.push($invoice$$)}$callback$$(null,$error$$)})})}},($error$jscomp$2_invoices$$,$now_results$$)=>{if($error$jscomp$2_invoices$$)return $reject$$($error$jscomp$2_invoices$$);$error$jscomp$2_invoices$$=$now_results$$.invoices;let $report$$=[];$now_results$$=new Date;$now_results$$.setHours(0);$now_results$$.setMinutes(0);$now_results$$.setSeconds(0);$now_results$$.setMilliseconds(0);
6
+ async.map($error$jscomp$2_invoices$$,function($invoice$$,$callback$$){const $t_invoice$$={sysorder:1,bold:!1,tat_toan:$invoice$$.tat_toan,id_ct:$invoice$$.id_ct,ma_ct:$invoice$$.ma_ct,id_hd:$invoice$$.id_ct,so_ct:$invoice$$.so_ct,ngay_ct:$invoice$$.ngay_ct,so_hd:$invoice$$.so_hd,ngay_hd:$invoice$$.ngay_hd,tien_hd_nt:$invoice$$.tien_nt};$t_invoice$$.ma_nt_hd=$invoice$$.ma_nt;$t_invoice$$.ty_gia_hd=$invoice$$.ty_gia;$t_invoice$$.ma_kh=$invoice$$.ma_kh;$t_invoice$$.ma_dt=$invoice$$.ma_dt;$t_invoice$$.ma_nv=
7
+ $invoice$$.ma_nv;$t_invoice$$.dien_giai=$invoice$$.dien_giai;$t_invoice$$.tien_nt=0;$t_invoice$$.tien=0;$t_invoice$$.da_thanh_toan_nt=0;$t_invoice$$.con_lai_nt=0;$t_invoice$$.thanh_toan_qd=0;$t_invoice$$.tk_co=$invoice$$.tk_no;$t_invoice$$.han_tt=$invoice$$.han_tt?$invoice$$.han_tt:0;$report$$.push($t_invoice$$);tdttco_tt.find({id_tdtt:$invoice$$._id}).sort({ngay_ct:1}).lean().exec(function($error$$,$results$$){let $da_thanh_toan_nt$$=0;$results$$.forEach(function($invoice_tt$$){$da_thanh_toan_nt$$+=
8
+ $invoice_tt$$.thanh_toan_qd});$t_invoice$$.da_thanh_toan_nt=$da_thanh_toan_nt$$;$t_invoice$$.con_lai_nt=$t_invoice$$.tien_hd_nt-$t_invoice$$.da_thanh_toan_nt;$t_invoice$$.tat_toan&&($t_invoice$$.con_lai_nt=0);0!==$t_invoice$$.con_lai_nt?($t_invoice$$.tuoi_no=moment().diff(moment($t_invoice$$.ngay_hd),"days"),$t_invoice$$.so_ngay_trong_han=Math.max(0,$t_invoice$$.han_tt-$t_invoice$$.tuoi_no),$t_invoice$$.so_ngay_qua_han=Math.max(0,$t_invoice$$.tuoi_no-$t_invoice$$.han_tt),0<$t_invoice$$.so_ngay_qua_han&&
9
+ 30>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han1=$t_invoice$$.con_lai_nt),30<$t_invoice$$.so_ngay_qua_han&&60>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han2=$t_invoice$$.con_lai_nt),60<$t_invoice$$.so_ngay_qua_han&&90>=$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han3=$t_invoice$$.con_lai_nt),90<$t_invoice$$.so_ngay_qua_han&&($t_invoice$$.qua_han4=$t_invoice$$.con_lai_nt)):($t_invoice$$.tuoi_no=0,$t_invoice$$.so_ngay_trong_han=0,$t_invoice$$.so_ngay_qua_han=0);$callback$$(null,$t_invoice$$)})},
10
+ $error$$=>{if($error$$)return $reject$$($error$$);$report$$=$report$$.filter($r$$=>0<$r$$.tien_hd_nt);$condition$$.tuoi_no&&($report$$=$report$$.filter($r$$=>$r$$.tuoi_no>=$condition$$.tuoi_no));$condition$$.tuoi_no_min&&($report$$=$report$$.filter($r$$=>$r$$.tuoi_no>=$condition$$.tuoi_no_min));$condition$$.tuoi_no_max&&($report$$=$report$$.filter($r$$=>$r$$.tuoi_no<=$condition$$.tuoi_no_max));$resolve$$($report$$)})})})};
11
+ module.exports=($condition$$,$callback$$)=>{if(!$callback$$)return func($condition$$);func($condition$$).then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})};
@@ -38,8 +38,32 @@ $model_name$jscomp$2_rs$$.forEach($r$$=>{delete $r$$.mnemonic;delete $r$$.privat
38
38
  !$app$jscomp$1_data$$.viettel_password)throw"Ch\u01b0a khai b\u00e1o th\u00f4ng tin k\u1ebft n\u1ed1i viettel invoice";if(!$app$jscomp$1_data$$.ma_so_thue)throw"Ch\u01b0a khai b\u00e1o m\u00e3 s\u1ed1 thu\u1ebf c\u00f4ng ty";var $auth_url$$={username:$app$jscomp$1_data$$.viettel_user.trim(),password:$app$jscomp$1_data$$.viettel_password.trim()};try{var $headers_viettel_token$$=(await axios({method:"post",url:`${$app$jscomp$1_data$$.viettel_url_service.trim()}/auth/login`,data:$auth_url$$})).data.access_token}catch($e$$){throw console.error("error when get token viettel"),
39
39
  "Th\u00f4ng tin truy c\u1eadp Viettel invoice kh\u00f4ng \u0111\u00fang";}$auth_url$$=`${$app$jscomp$1_data$$.viettel_url_service.trim()}/services/einvoiceapplication/api/InvoiceAPI/InvoiceWS/searchInvoiceByTransactionUuid`;$headers_viettel_token$$={Cookie:`"access_token":"${$headers_viettel_token$$}"; access_token=${$headers_viettel_token$$}; session_token=${$headers_viettel_token$$}`,"Content-Type":"application/x-www-form-urlencoded"};$app$jscomp$1_data$$={supplierTaxCode:$app$jscomp$1_data$$.ma_so_thue,
40
40
  transactionUuid:$transactionUuid$$};try{let $rs$$=await axios.post($auth_url$$,querystring.stringify($app$jscomp$1_data$$),{headers:$headers_viettel_token$$});console.log("invoice info",$rs$$.data);let $invoice$$=$rs$$.data;$invoice$$.result&&1==$invoice$$.result.length&&($invoice$$.result=$invoice$$.result[0]);return $invoice$$}catch($e$$){if("NOT_FOUND_DATA"===(($e$$.response||{}).data||{}).message)return null;console.error("error get invoice",($e$$.response||{}).data,", data:",$app$jscomp$1_data$$);
41
- throw(($e$$.response||{}).data||{}).data||"Kh\u00f4ng th\u1ec3 l\u1ea5y th\u00f4ng tin ho\u00e1 \u0111\u01a1n n\u00e0y c\u1ee7a transactionUuid "+$transactionUuid$$;}},updateInvoice=async($contr$$,$ct$$)=>{let $result_export_einvoice$$=$ct$$.result_export_einvoice||{};$ct$$.so_hd=($result_export_einvoice$$.result||{}).invoiceNo;await $contr$$.model.updateOne({_id:$ct$$._id},{so_hd:$ct$$.so_hd,result_export_einvoice:$ct$$.result_export_einvoice});$ct$$.so_hd&&await global.getModel("tdttno").updateMany({id_ct:$ct$$._id.toString()},
42
- {so_hd:$ct$$.so_hd});$ct$$.so_hd&&await global.getModel("tdttno_tt").updateMany({id_hd:$ct$$._id.toString()},{so_hd:$ct$$.so_hd});$ct$$.so_hd&&await global.getModel("vatra").updateMany({id_ct:$ct$$._id.toString()},{so_hd:$ct$$.so_hd});$contr$$.postData($ct$$,$e$$=>{if($e$$)return console.error($e$$);$contr$$.pushNotification($ct$$)});console.log("da cap nhat hoa don",$ct$$.result_export_einvoice);return $result_export_einvoice$$},isMobilePhone=($str$$,$locale$$)=>$str$$?validator.isMobilePhone($str$$,
43
- $locale$$):!1,generatePasswordHash=function($password$$){return crypto.createHash("sha256").update($password$$+":STP").digest("hex")};
44
- async function isBookLocked($ngay_ct_obj$$){if(!$ngay_ct_obj$$.ngay_ct||!$ngay_ct_obj$$.id_app)return!1;var $_app_ngay_ks$$=await global.getModel("app").findOne({_id:$ngay_ct_obj$$.id_app});if(!$_app_ngay_ks$$)return!1;$_app_ngay_ks$$=moment($_app_ngay_ks$$.ngay_ks).startOf("date").toDate();$ngay_ct_obj$$=moment($ngay_ct_obj$$.ngay_ct).startOf("month").toDate();return $_app_ngay_ks$$.getTime()>=$ngay_ct_obj$$.getTime()?!0:!1}
45
- module.exports={isBookLocked,generatePasswordHash,evalute,JSONParser,getParameterData,prepareParameters,advMapSeries,numberToWord,round,getInfoFromQuery,stripHtmlTags:strip_html_tags,unescapeHtml,compileHtml,isSupperAdmin,calcGrid,getInvoice,updateInvoice,query,find:query,count,groupBy,joinModel2,getLib,aggregate,getCodeChildren,isMobilePhone};
41
+ throw(($e$$.response||{}).data||{}).data||"Kh\u00f4ng th\u1ec3 l\u1ea5y th\u00f4ng tin ho\u00e1 \u0111\u01a1n n\u00e0y c\u1ee7a transactionUuid "+$transactionUuid$$;}},xml2js=require("xml2js"),xml2json=$string$$=>new Promise(($res$$,$rej$$)=>{xml2js.parseString($string$$,($e$$,$rs$$)=>{if($e$$)return $rej$$($e$$);$res$$($rs$$)})}),base64toJSON=$b$$=>{$b$$=Buffer.from($b$$,"base64");return xml2json($b$$.toString("utf8"))},getInvoices=async($app$jscomp$2_str$$,$condition$jscomp$6_data$$={})=>{if(!$app$jscomp$2_str$$)throw"Thi\u1ebfu th\u00f4ng tin c\u00f4ng ty";
42
+ if(!$app$jscomp$2_str$$.vnpt_url_service||!$app$jscomp$2_str$$.vnpt_user||!$app$jscomp$2_str$$.vnpt_password)throw"Ch\u01b0a khai b\u00e1o th\u00f4ng tin k\u1ebft n\u1ed1i VNPT invoice";if(!$app$jscomp$2_str$$.ma_so_thue)throw"Ch\u01b0a khai b\u00e1o m\u00e3 s\u1ed1 thu\u1ebf c\u00f4ng ty";if(!$app$jscomp$2_str$$.ky_hieu_hoa_don)throw"Ch\u01b0a khai b\u00e1o m\u1eabu ho\u00e1 \u0111\u01a1n";if(!$app$jscomp$2_str$$.so_serial)throw"Ch\u01b0a khai b\u00e1o k\u00ed hi\u1ec7u ho\u00e1 \u0111\u01a1n";if(!$condition$jscomp$6_data$$.tu_ngay)throw"\u0110i\u1ec1u ki\u1ec7n thi\u1ebfu t\u1eeb ng\u00e0y (tu_ngay)";
43
+ if(!$condition$jscomp$6_data$$.den_ngay)throw"\u0110i\u1ec1u ki\u1ec7n thi\u1ebfu t\u1eeb ng\u00e0y (den_ngay)";const $ERRORS$$={"ERR:1":"T\u00e0i kho\u1ea3n \u0111\u0103ng nh\u1eadp sai ho\u1eb7c kh\u00f4ng c\u00f3 quy\u1ec1n ServiceRole","ERR:2":"Kh\u00f4ng t\u00ecm th\u1ea5y h\u00f3a \u0111\u01a1n","ERR:3":"Sai \u0111\u1ecbnh d\u1ea1ng ng\u00e0y th\u00e1ng","ERR:4":"Kh\u00f4ng l\u1ea5y \u0111\u01b0\u1ee3c b\u1ea3ng h\u00f3a \u0111\u01a1n (sai m\u1eabu s\u1ed1)","ERR:6":"V\u01b0\u1ee3t qu\u00e1 gi\u1edbi h\u1ea1n s\u1ed1 l\u01b0\u1ee3ng h\u00f3a \u0111\u01a1n \u0111\u01b0\u1ee3c ph\u00e9p l\u1ea5y (500 h\u00f3a \u0111\u01a1n)",
44
+ "ERR:5":"C\u00f3 l\u1ed7i x\u1ea3y ra","ERR:7":"V\u01b0\u1ee3t qu\u00e1 gi\u1edbi h\u1ea1n 7 ng\u00e0y"};$condition$jscomp$6_data$$=`<?xml version="1.0" encoding="utf-8"?>
45
+ <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
46
+ <soap:Body>
47
+ <GetInvViewByDate xmlns="http://tempuri.org/">
48
+ <userName>${$app$jscomp$2_str$$.vnpt_user}</userName>
49
+ <userPass>${$app$jscomp$2_str$$.vnpt_password}</userPass>
50
+ <pattern>${$app$jscomp$2_str$$.ky_hieu_hoa_don}</pattern>
51
+ <serial>${$app$jscomp$2_str$$.so_serial}</serial>
52
+ <fromDate>${moment($condition$jscomp$6_data$$.tu_ngay).format("DD/MM/YYYY")}</fromDate>
53
+ <toDate>${moment($condition$jscomp$6_data$$.den_ngay).format("DD/MM/YYYY")}</toDate>
54
+ </GetInvViewByDate>
55
+ </soap:Body>
56
+ </soap:Envelope>`;$app$jscomp$2_str$$=(await axios.request({method:"post",maxBodyLength:Infinity,url:$app$jscomp$2_str$$.vnpt_url_service,headers:{SOAPAction:"http://tempuri.org/GetInvViewByDate","Content-Type":"text/xml; charset=utf-8"},data:$condition$jscomp$6_data$$})).data;let $rs$jscomp$0$$=await xml2json($app$jscomp$2_str$$);return new Promise(($resolve$$,$reject$$)=>{try{let $GetInvViewByDateResult$$=($rs$jscomp$0$$["soap:Envelope"]||{})["soap:Body"][0].GetInvViewByDateResponse[0].GetInvViewByDateResult;
57
+ if(0<=$GetInvViewByDateResult$$.length&&0<=$GetInvViewByDateResult$$[0].indexOf("ERR:"))return $reject$$($ERRORS$$[$GetInvViewByDateResult$$[0]]);async.map($GetInvViewByDateResult$$,($d$jscomp$0$$,$cb$$)=>{setImmediate(async()=>{try{var $bufferObj$jscomp$1_rs$$=Buffer.from($d$jscomp$0$$,"base64"),$hinh_thuc_tt_invs$$=(await xml2json($bufferObj$jscomp$1_rs$$.toString("utf8"))).DSHDon.HDon;$bufferObj$jscomp$1_rs$$=[];for(let $inv$$ of $hinh_thuc_tt_invs$$){let $dl$$=$inv$$.DLieu[0];$dl$$=(await base64toJSON($dl$$)).HDon.DLHDon[0];
58
+ $dl$$.Fkey=$inv$$.Fkey[0];$dl$$.TTChung=$dl$$.TTChung[0];$dl$$.NDHDon=$dl$$.NDHDon[0];$dl$$.NDHDon.NBan=$dl$$.NDHDon.NBan[0];$dl$$.NDHDon.NMua=$dl$$.NDHDon.NMua[0];$dl$$.NDHDon.TToan=$dl$$.NDHDon.TToan[0];delete $dl$$.$;$hinh_thuc_tt_invs$$="";$dl$$.TTChung.TTKhac&&0<$dl$$.TTChung.TTKhac.length&&$dl$$.TTChung.TTKhac[0].TTin&&0<$dl$$.TTChung.TTKhac[0].TTin.length&&"HTTToan"==$dl$$.TTChung.TTKhac[0].TTin[0].TTruong[0]&&($hinh_thuc_tt_invs$$=$dl$$.TTChung.TTKhac[0].TTin[0].DLieu[0]);let $fdata$$={id_invoice:$inv$$.Fkey[0],
59
+ so_ct:$dl$$.TTChung.SHDon[0],ngay_ct:new Date($dl$$.TTChung.NLap[0]),so_hd:$dl$$.TTChung.SHDon[0],ngay_hd:new Date($dl$$.TTChung.NLap[0]),ky_hieu_hoa_don:$dl$$.TTChung.KHMSHDon[0],so_serial:$dl$$.TTChung.KHHDon[0],hinh_thuc_tt:$hinh_thuc_tt_invs$$,ma_nt:"VND",ty_gia:1,ten_kh:$dl$$.NDHDon.NMua.Ten[0],ma_so_thue:$dl$$.NDHDon.NMua.MST?$dl$$.NDHDon.NMua.MST[0]:void 0,dia_chi:$dl$$.NDHDon.NMua.DChi?$dl$$.NDHDon.NMua.DChi[0]:void 0,dien_thoai:$dl$$.NDHDon.NMua.SDThoai?$dl$$.NDHDon.NMua.SDThoai[0]:void 0,
60
+ details:[]};for(let $dv$$ of $dl$$.NDHDon.DSHHDVu)for(let $hd$$ of $dv$$.HHDVu){let $detail$$={ma_tc:$hd$$.TChat[0],ma_vt:$hd$$.MHHDVu[0],ten_vt:$hd$$.THHDVu[0],ma_dvt:$hd$$.DVTinh[0]||"",sl_xuat:Number($hd$$.SLuong[0]||0),gia_ban_ct:Number($hd$$.DGia[0]||0),gia_ban_ct_nt:Number($hd$$.DGia[0]||0),ty_le_ck:Number($hd$$.TLCKhau[0]||0),tien_ck:Number($hd$$.STCKhau[0]||0),tien_ck_nt:Number($hd$$.STCKhau[0]||0),ma_thue:($hd$$.TSuat[0]||"").replace("%","")};$detail$$.tien_ct=$detail$$.tien_ct_nt=Number($hd$$.ThTien[0]||
61
+ 0);$detail$$.thue_suat=Number($detail$$.ma_thue||0);$detail$$.tien_thue_nt=$detail$$.tien_thue=Math.round($detail$$.thue_suat*$detail$$.tien_ct_nt/100);$detail$$.tien=$detail$$.tien_nt=$detail$$.tien_ct_nt-$detail$$.tien_ck_nt+$detail$$.tien_thue_nt;$fdata$$.details.push($detail$$)}$fdata$$.t_tien_nt=$fdata$$.t_tien=$fdata$$.details.map($d$$=>$d$$.tien_ct_nt).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$fdata$$.t_thue_nt=$fdata$$.t_thue=$fdata$$.details.map($d$$=>$d$$.tien_thue_nt).reduce(($a$$,$b$$)=>$a$$+
62
+ $b$$,0);$bufferObj$jscomp$1_rs$$.push($fdata$$)}$cb$$(null,$bufferObj$jscomp$1_rs$$)}catch($e$$){$cb$$($e$$)}})},($e$jscomp$15_invs$$,$rs$$)=>{if($e$jscomp$15_invs$$)return $reject$$($e$jscomp$15_invs$$);$e$jscomp$15_invs$$=$rs$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$resolve$$($e$jscomp$15_invs$$)})}catch($e$$){$reject$$($e$$)}})},updateInvoice=async($contr$$,$ct$$)=>{let $result_export_einvoice$$=$ct$$.result_export_einvoice||{};$ct$$.so_hd=($result_export_einvoice$$.result||{}).invoiceNo;await $contr$$.model.updateOne({_id:$ct$$._id},
63
+ {so_hd:$ct$$.so_hd,result_export_einvoice:$ct$$.result_export_einvoice});$ct$$.so_hd&&await global.getModel("tdttno").updateMany({id_ct:$ct$$._id.toString()},{so_hd:$ct$$.so_hd});$ct$$.so_hd&&await global.getModel("tdttno_tt").updateMany({id_hd:$ct$$._id.toString()},{so_hd:$ct$$.so_hd});$ct$$.so_hd&&await global.getModel("vatra").updateMany({id_ct:$ct$$._id.toString()},{so_hd:$ct$$.so_hd});$contr$$.postData($ct$$,$e$$=>{if($e$$)return console.error($e$$);$contr$$.pushNotification($ct$$)});console.log("da cap nhat hoa don",
64
+ $ct$$.result_export_einvoice);return $result_export_einvoice$$},isMobilePhone=($str$$,$locale$$)=>$str$$?validator.isMobilePhone($str$$,$locale$$):!1,generatePasswordHash=function($password$$){return crypto.createHash("sha256").update($password$$+":STP").digest("hex")};
65
+ async function isBookLocked($ngay_ct_obj$$){if(!$ngay_ct_obj$$.ngay_ct||!$ngay_ct_obj$$.id_app&&!$ngay_ct_obj$$.ngay_ks)return!1;var $_app_ngay_ks$$=$ngay_ct_obj$$.ngay_ks;if(!$_app_ngay_ks$$){$_app_ngay_ks$$=await global.getModel("app").findOne({_id:$ngay_ct_obj$$.id_app});if(!$_app_ngay_ks$$)return!1;$_app_ngay_ks$$=moment($_app_ngay_ks$$.ngay_ks).endOf("date").toDate()}$ngay_ct_obj$$=moment($ngay_ct_obj$$.ngay_ct).startOf("date").toDate();return $_app_ngay_ks$$.getTime()>$ngay_ct_obj$$.getTime()?
66
+ $_app_ngay_ks$$:!1}
67
+ async function getLocationByAddress($address$$,$address2$$){try{let $url$jscomp$0$$=`https://api.geoapify.com/v1/geocode/search?text=${encodeURIComponent($address$$)}&apiKey=69ba27248ee845ecae90e5acac5b1de0`,$data$jscomp$0$$=(await axios.get($url$jscomp$0$$)).data.features||[];if(0<$data$jscomp$0$$.length){let $lc$$=$data$jscomp$0$$[0].properties||{};return{latitude:$lc$$.lat,longitude:$lc$$.lon}}if($address2$$){let $url$$=`https://api.geoapify.com/v1/geocode/search?text=${encodeURIComponent($address2$$)}&apiKey=69ba27248ee845ecae90e5acac5b1de0`,$data$$=
68
+ (await axios.get($url$$)).data.features||[];if(0<$data$$.length){let $lc$$=$data$$[0].properties||{};return{latitude:$lc$$.lat,longitude:$lc$$.lon}}console.log("Kh\u00f4ng th\u1ec3 t\u00ecm th\u1ea5y v\u1ecb tr\u00ed c\u1ee7a \u0111\u1ecba ch\u1ec9 2:",{address2:$address2$$,url:$url$$})}else console.log("Kh\u00f4ng th\u1ec3 t\u00ecm th\u1ea5y v\u1ecb tr\u00ed c\u1ee7a \u0111\u1ecba ch\u1ec9:",{address:$address$$,url:$url$jscomp$0$$})}catch($e$$){console.error("Kh\u00f4ng th\u1ec3 x\u00e1c \u0111\u1ecbnh v\u00ed tr\u00ed c\u1ee7a \u0111\u1ecba ch\u1ec9:",
69
+ $address$$,"L\u1ed7i: ",($e$$.response||{}).data||$e$$)}return null}module.exports={isBookLocked,generatePasswordHash,evalute,JSONParser,getParameterData,prepareParameters,advMapSeries,numberToWord,round,getInfoFromQuery,stripHtmlTags:strip_html_tags,unescapeHtml,compileHtml,isSupperAdmin,calcGrid,getInvoice,updateInvoice,getInvoices,query,find:query,count,groupBy,joinModel2,getLib,aggregate,getCodeChildren,isMobilePhone,getLocationByAddress};
@@ -1,5 +1,6 @@
1
- 'use strict';exports.unlockBook=[async function($id_app$$,$ngay_ct$$,$callback$$,$options$$={}){if(!$ngay_ct$$)return $callback$$(!0);global.getModel("app").findOne({_id:$id_app$$},{ngay_ks:1,_id:0},function($error$$,$r$$){if($error$$||!$r$$||$r$$.ngay_ks.getTime()>=$ngay_ct$$.getTime()||$options$$.ngay_ks&&(new Date($options$$.ngay_ks)).getTime()>=$ngay_ct$$.getTime())return $callback$$(!1);$callback$$(!0)})},"\u0110\u00e3 kh\u00f3a s\u1ed5"];
2
- exports.existsKh=[function($id_app$$,$kh$$,$callback$$){if(!$kh$$)return $callback$$(!0);global.getModel("customer").findOne({id_app:$id_app$$,ma_kh:$kh$$},{ma_kh:1},function($error$$,$cust$$){return $error$$||!$cust$$?$callback$$(!1):$callback$$(!0)})},"M\u00e3 kh\u00e1ch ({PATH}) {VALUE} kh\u00f4ng t\u1ed3n t\u1ea1i"];
1
+ 'use strict';const utils=require("./utils"),moment=require("moment");
2
+ exports.unlockBook=[async function($id_app_ngay_ks$$,$_ngay_ct_ngay_ct$$,$callback$$,$options$$={}){if(!$_ngay_ct_ngay_ct$$)return $callback$$(!0);if($id_app_ngay_ks$$=await utils.isBookLocked({id_app:$id_app_ngay_ks$$,ngay_ct:$_ngay_ct_ngay_ct$$}))$callback$$(!1);else{if($options$$.ngay_ks&&($_ngay_ct_ngay_ct$$=moment($_ngay_ct_ngay_ct$$).startOf("date").toDate(),$id_app_ngay_ks$$=moment($options$$.ngay_ks).endOf("date").toDate(),$id_app_ngay_ks$$.getTime()>$_ngay_ct_ngay_ct$$.getTime()))return $callback$$(!1);
3
+ $callback$$(!0)}},"\u0110\u00e3 kh\u00f3a s\u1ed5"];exports.existsKh=[function($id_app$$,$kh$$,$callback$$){if(!$kh$$)return $callback$$(!0);global.getModel("customer").findOne({id_app:$id_app$$,ma_kh:$kh$$},{ma_kh:1},function($error$$,$cust$$){return $error$$||!$cust$$?$callback$$(!1):$callback$$(!0)})},"M\u00e3 kh\u00e1ch ({PATH}) {VALUE} kh\u00f4ng t\u1ed3n t\u1ea1i"];
3
4
  exports.existsDvcs=[function($id_app$$,$ma_dvcs$$,$callback$$){if(!$ma_dvcs$$)return $callback$$(!0);global.getModel("dvcs").findOne({id_app:$id_app$$,_id:$ma_dvcs$$},function($error$$,$dvcs$$){return $error$$||!$dvcs$$?$callback$$(!1):$callback$$(!0)})},"M\u00e3 \u0111\u01a1n v\u1ecb c\u01a1 s\u1edf ({PATH}) {VALUE} kh\u00f4ng t\u1ed3n t\u1ea1i"];
4
5
  exports.existsNt=[function($id_app$$,$ma_nt$$,$callback$$){$ma_nt$$?global.getModel("currency").findOne({id_app:$id_app$$,ma_nt:$ma_nt$$},function($error$$,$nt$$){return $error$$||!$nt$$?$callback$$(!1):$callback$$(!0)}):$callback$$(!0)},"M\u00e3 ngo\u1ea1i t\u1ec7 ({PATH}) {VALUE} kh\u00f4ng t\u1ed3n t\u1ea1i"];
5
6
  exports.existsDvt=[function($id_app$$,$ma_dvt$$,$callback$$){$ma_dvt$$?global.getModel("dmdvt").findOne({id_app:$id_app$$,ma_dvt:$ma_dvt$$},function($error$$,$dvt$$){return $error$$||!$dvt$$?$callback$$(!1):$callback$$(!0)}):$callback$$(!0)},"M\u00e3 \u0111\u01a1n v\u1ecb t\u00ednh ({PATH}) {VALUE} kh\u00f4ng t\u1ed3n t\u1ea1i"];
@@ -3,9 +3,10 @@ maxlength:1024},city:{type:String,maxlength:1024},province:{type:String,maxlengt
3
3
  dieu_khoan_kygui:{type:String},dieu_khoan_kygui_en:{type:String},dieu_khoan_congtacvien:{type:String},dieu_khoan_congtacvien_en:{type:String},chinh_sach_dau_tu:{type:String},chinh_sach_dau_tu_en:{type:String},gioi_thieu:{type:String},nganh_nghe:{type:String},keywords:{type:String},site_name:{type:String},ngay_dn:{type:Date,required:!0},ngay_ks:{type:Date,required:!0},nam_bd:{type:Number,required:!0},ngay_ky1:{type:Date,required:!0},ma_so_thue:{type:String,maxlength:1024},dia_chi_xuat_hoa_don:String,
4
4
  nguoi_nop_thue:{type:String,maxlength:1024},giam_doc:{type:String,maxlength:1024},ke_toan_truong:{type:String,maxlength:1024},wallet_address:{type:String,maxlength:2024},wallet_token:{type:String,maxlength:2024},exchange_fee:Number,wallet_network:{type:String,maxlength:2024},tang_duoc_gioi_thieu:Number,tang_gioi_thieu:Number,ty_le_hoa_hong:Number,tang_gioi_thieu_denom:String,ten_chu_tai_khoan:String,tai_khoan_ngan_hang:String,ten_ngan_hang:String,chi_nhanh_ngan_hang:String,so_bin:String,so_ngay_lam_mot_thang:{type:Number,
5
5
  default:24},logo:{type:String,maxlength:1024},logo_watermark:{type:String,maxlength:1024},account_types_accept:[],options:{},allow_modules:[String],partner:String,server:String,owner:String,default_password:String,email_host:String,email_port:Number,email_secure:{type:Boolean,default:!0},email_authMethod:{type:String,default:"LOGIN"},email_user:String,email_pass:String,email_name:String,viettel_version:{type:String,maxlength:1024},viettel_user:{type:String,maxlength:1024},viettel_password:{type:String,
6
- maxlength:1024},viettel_token:{type:String},viettel_url_service:{type:String,maxlength:1024},viettel_direct_issue:Boolean,ma_hoa_don:String,ky_hieu_hoa_don:String,sip_uri:String,sip_password:String,sip_websocket:String,voiip_access_token:String,voiip_webhook:String,zalo_app_id:String,zalo_secret_key:String,zalo_code:String,zalo_oa_id:String,zalo_code_verifier:String,zalo_code_challenge:String,zalo_access_token:String,zalo_refresh_token:String,zalo_expires_in:Number,zalo_updated:Date,zalo_otp_template_id:String,
7
- exfields:global.Schema.Types.Mixed,domain:String,ssl_key:String,ssl_cert:String,ssl_ca:String,expire_date:Date,trang_thai:{type:String,default:"0"},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});appScheam.index({app_code:1},{unique:!0});appScheam.index({name:1,province:1});appScheam.index({menu_code:1});appScheam.index({trang_thai:1});appScheam.index({sale_online:1});
8
- appScheam.index({date_created:1});appScheam.index({date_updated:1});appScheam.index({user_created:"text"},{name:"app_index_created"});appScheam.index({name:"text",province:"text",name_en:"text",address:"text",phone:"text",email:"text",ma_so_thue:"text"},{name:"app_index"});const App=global.mongoose.models.app||global.mongoose.model("app",appScheam);
6
+ maxlength:1024},viettel_token:{type:String},viettel_url_service:{type:String,maxlength:1024},viettel_direct_issue:Boolean,vnpt_user:{type:String,maxlength:1024},vnpt_password:{type:String,maxlength:1024},vnpt_url_service:{type:String,maxlength:1024},ma_hoa_don:String,ky_hieu_hoa_don:String,so_serial:String,sip_uri:String,sip_password:String,sip_websocket:String,voiip_access_token:String,voiip_webhook:String,zalo_app_id:String,zalo_secret_key:String,zalo_code:String,zalo_oa_id:String,zalo_code_verifier:String,
7
+ zalo_code_challenge:String,zalo_access_token:String,zalo_refresh_token:String,zalo_expires_in:Number,zalo_updated:Date,zalo_otp_template_id:String,exfields:global.Schema.Types.Mixed,domain:String,ssl_key:String,ssl_cert:String,ssl_ca:String,expire_date:Date,trang_thai:{type:String,default:"0"},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
8
+ appScheam.index({app_code:1},{unique:!0});appScheam.index({name:1,province:1});appScheam.index({menu_code:1});appScheam.index({trang_thai:1});appScheam.index({sale_online:1});appScheam.index({date_created:1});appScheam.index({date_updated:1});appScheam.index({user_created:"text"},{name:"app_index_created"});appScheam.index({name:"text",province:"text",name_en:"text",address:"text",phone:"text",email:"text",ma_so_thue:"text"},{name:"app_index"});
9
+ const App=global.mongoose.models.app||global.mongoose.model("app",appScheam);
9
10
  App.participants=async $app$$=>{_.isString($app$$)&&($app$$=await App.getInfo($app$$));let $participants$$=await Participant.find({id_app:$app$$._id});if($app$$.user_created&&!$participants$$.find($p$$=>$p$$.email===$app$$.user_created)){let $_p$$={email:$app$$.user_created,name:$app$$.user_created.split("@")[0],admin:!0,active:!0,cancel:!1,id_app:$app$$._id};$participants$$.push($_p$$);Participant.createParticipant($_p$$,$e$$=>{$e$$&&console.error("create participant for user owner",$e$$)})}return $participants$$};
10
11
  App.getInfo=async function($id_app$$,$field$$){return new Promise(($resolve$$,$reject$$)=>{App.findOne({_id:$id_app$$}).lean().exec(($e$$,$rs$$)=>{if($e$$||!$rs$$)return $reject$$(Error($e$$?$e$$.message:"App is not exists"));$resolve$$($field$$?$rs$$[$field$$]:$rs$$)})})};
11
12
  App.emitEvent=function($id_app$$,$event$$,$_data$$,$c_token$$=null,$users$$=null,$_createNotify$$=!1,$_push$$=!0){App.findOne({_id:$id_app$$}).lean().exec(async($e$jscomp$0$$,$app$$)=>{$app$$&&($_data$$.company=$app$$.name,$_data$$.app_info=$app$$,$_data$$.id_app=$id_app$$,$users$$?$users$$=$users$$.map($u$$=>({email:$u$$,name:$u$$})):($users$$=await App.participants($app$$),$users$$.find($u$$=>$app$$.user_created===$u$$.email)||$users$$.push({email:$app$$.user_created,name:$app$$.user_created})),
@@ -1,4 +1,4 @@
1
1
  'use strict';const areaSchema=new Schema({id_app:{type:String,required:!0},area_type:{type:String,uppercase:!0,maxlength:32,trim:!0},area_code:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},area_name:{type:String,required:!0,maxlength:1024},stt:{type:Number,default:0},ma_kho:{type:String,maxlength:32,trim:!0},color:{type:String,maxlength:32},picture:{type:String,maxlength:1024},short_description:{type:String,maxlength:1024},description:{type:String},tinh_thanh:{type:String,maxlength:1024},
2
2
  quan_huyen:{type:String,maxlength:1024},address:{type:String,required:!0,maxlength:1024},phone:{type:String,maxlength:1024},email:{type:String,maxlength:1024},active:{type:Boolean,default:!0},location:Schema.Types.Mixed,exfields:Schema.Types.Mixed,coWorking:{type:Boolean},coLiving:{type:Boolean},id_company:String,shared:Boolean,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,
3
- default:""},visible_to:{type:Number,default:0},visible_to_users:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String],update_right:[String],delete_right:[String]});areaSchema.index({id_app:1,area_type:1,area_name:1,area_code:1,address:1});areaSchema.index({area_name:"text",area_code:"text",address:"text"},{name:"area_index"});areaSchema.index({status:1});areaSchema.index({date_created:1});areaSchema.index({date_updated:1});areaSchema.index({user_created:1,visible_to:1,visible_to_users:1});
4
- const model=mongoose.models.area||mongoose.model("area",areaSchema);module.exports=model;
3
+ default:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String],update_right:[String],delete_right:[String]});areaSchema.index({id_app:1,area_type:1,area_name:1,area_code:1,address:1});areaSchema.index({area_name:"text",area_code:"text",address:"text"},{name:"area_index"});areaSchema.index({status:1});areaSchema.index({date_created:1});areaSchema.index({date_updated:1});
4
+ areaSchema.index({user_created:1,visible_to:1,visible_to_users:1});areaSchema.index({visible_to_usergroups:1});const model=mongoose.models.area||mongoose.model("area",areaSchema);module.exports=model;
@@ -1,3 +1,3 @@
1
1
  'use strict';const blockSchema=new Schema({id_app:{type:String,required:!0},area_code:{type:String,required:!0,maxlength:32},block_type:{type:String,uppercase:!0,maxlength:32},block_code:{type:String,required:!0,uppercase:!0,maxlength:32},block_name:{type:String,required:!0,maxlength:1024},stt:{type:Number,default:0},ma_kho:{type:String,maxlength:32},color:{type:String,maxlength:32},picture:{type:String,maxlength:1024},short_description:{type:String,maxlength:1024},description:String,exfields:Schema.Types.Mixed,
2
- status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});blockSchema.index({id_app:1,area_code:1,block_type:1,block_name:1,block_code:1});
3
- blockSchema.index({area_code:"text",block_name:"text",block_code:"text"},{name:"block_index"});blockSchema.index({status:1});blockSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.block||mongoose.model("block",blockSchema);module.exports=model;
2
+ status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});blockSchema.index({id_app:1,area_code:1,block_type:1,block_name:1,block_code:1});
3
+ blockSchema.index({area_code:"text",block_name:"text",block_code:"text"},{name:"block_index"});blockSchema.index({status:1});blockSchema.index({visible_to_usergroups:1});blockSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.block||mongoose.model("block",blockSchema);module.exports=model;
@@ -1,4 +1,4 @@
1
1
  'use strict';const buildingSchema=new Schema({id_app:{type:String,required:!0},ma_dt:{type:String,required:!0,uppercase:!0,maxlength:32},ten_dt:String,building_type:{type:String,uppercase:!0,maxlength:32},building_code:{type:String,required:!0,uppercase:!0,maxlength:32},building_name:{type:String,required:!0,maxlength:1024},building_name_en:{type:String,maxlength:1024},stt:{type:Number,default:0},picture:{type:String,maxlength:1024},short_description:{type:String,maxlength:1024},description:String,
2
- phone:{type:String,maxlength:1024},email:{type:String,maxlength:1024},active:{type:Boolean,default:!0},trang_thai:{type:String,maxlength:32},location:Schema.Types.Mixed,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,
3
- default:0},dataview_to_users:[String]});buildingSchema.index({id_app:1,building_type:1,building_name:1,building_code:1,ma_dt:1});buildingSchema.index({building_name:"text",building_code:"text",ma_dt:"text",ten_dt:"text"},{name:"building_index"});buildingSchema.index({trang_thai:1});buildingSchema.index({status:1});buildingSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.building||mongoose.model("building",buildingSchema);
4
- model.referenceKeys={building_code:[{model:"nhadat",where:function($obj$$){return{ma_dt:$obj$$.ma_dt,building_code:$obj$$.building_code}},error:"Block n\u00e0y \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
2
+ phone:{type:String,maxlength:1024},email:{type:String,maxlength:1024},active:{type:Boolean,default:!0},trang_thai:{type:String,maxlength:32},location:Schema.Types.Mixed,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],update_right:[String],
3
+ delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});buildingSchema.index({id_app:1,building_type:1,building_name:1,building_code:1,ma_dt:1});buildingSchema.index({building_name:"text",building_code:"text",ma_dt:"text",ten_dt:"text"},{name:"building_index"});buildingSchema.index({trang_thai:1});buildingSchema.index({status:1});buildingSchema.index({visible_to_usergroups:1});buildingSchema.index({user_created:1,visible_to:1,visible_to_users:1});
4
+ const model=mongoose.models.building||mongoose.model("building",buildingSchema);model.referenceKeys={building_code:[{model:"nhadat",where:function($obj$$){return{ma_dt:$obj$$.ma_dt,building_code:$obj$$.building_code}},error:"Block n\u00e0y \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
@@ -1,3 +1,3 @@
1
1
  'use strict';const floorSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},floor_code:{type:String,required:!0,uppercase:!0,maxlength:32},floor_name:{type:String,required:!0,maxlength:1024},floor_name_en:{type:String,maxlength:1024},floor_type:String,floor_type_en:String,stt:{type:Number,default:0},picture:{type:String,maxlength:1024},short_description:String,description:String,exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
2
- default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});floorSchema.index({id_app:1,floor_code:1});floorSchema.index({floor_code:"text",floor_name:"text"});floorSchema.index({status:1});floorSchema.index({user_created:1,visible_to:1,visible_to_users:1});
3
- const model=mongoose.models.floor||mongoose.model("floor",floorSchema);module.exports=model;
2
+ default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});floorSchema.index({id_app:1,floor_code:1});floorSchema.index({floor_code:"text",floor_name:"text"});floorSchema.index({status:1});floorSchema.index({visible_to_usergroups:1});
3
+ floorSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.floor||mongoose.model("floor",floorSchema);module.exports=model;
@@ -2,7 +2,7 @@
2
2
  bao_phi_quan_ly:Boolean,co_noi_that:String,co_noi_that_en:String,vao_o_ngay:Boolean,dich_vu_tang_kem:String,dich_vu_tang_kem_en:String,noi_that_yn:Boolean}),chusohuuSchema=new Schema({line:Number,name:String,phone:String,email:String,zalo:String,whatsapp:String,facebook:String,status:Boolean,username:String}),floordetailSchema=new Schema({id_app:{type:String,required:!0},floor_code:{type:String,required:!0,uppercase:!0},so_ct:String,ma_dt:{type:String},building_code:{type:String},ma_nd:{type:String,
3
3
  required:!1,uppercase:!0},nh_nd:{type:String},mieu_ta_goc:{type:String},mieu_ta_goc_en:{type:String},mieu_ta:{type:String},mieu_ta_en:{type:String},phan_loai:String,can_ho_so:{type:String},so_phong:Number,so_wc:Number,noi_that:String,noi_that_en:String,dien_tich_phong_thuy:Number,dien_tich_tim_tuong:Number,huong_ban_cong:String,huong_ban_cong_en:String,huong_cua_chinh:String,huong_cua_chinh_en:String,nh_nd_goc:{type:String},so_phong_goc:Number,so_wc_goc:Number,noi_that_goc:String,noi_that_goc_en:String,
4
4
  dien_tich_phong_thuy_goc:Number,dien_tich_tim_tuong_goc:Number,huong_ban_cong_goc:String,huong_ban_cong_goc_en:String,huong_cua_chinh_goc:String,huong_cua_chinh_goc_en:String,ban:banSchema,thue:thueSchema,chusohuu:[chusohuuSchema],stt:{type:Number,default:0},picture:{type:String},dia_chi:String,ky_gui:Boolean,kieu_bds_ky_gui:{type:String,enum:["DU_AN","RIENG_LE"]},hinh_thuc_ky_gui:String,anh_cmnd:String,anh_chu_so_huu:String,chap_nhan_dieu_khoan:{type:Boolean},duyet:Boolean,location:Schema.Types.Mixed,
5
- mieu_ta_vi_tri:String,mieu_ta_vi_tri_en:String,short_description:String,description:String,note:String,featured_content:String,featured_content_en:String,exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],dataview_to:{type:Number,default:0},
6
- dataview_to_users:[String],shared:Boolean});floordetailSchema.index({id_app:1,ma_dt:1,building_code:1,floor_code:1});floordetailSchema.index({ma_dt:"text",building_code:"text",floor_code:"text"},{name:"floordetail_index_text"});floordetailSchema.index({"chusohuu.name":1});floordetailSchema.index({"chusohuu.phone":1});floordetailSchema.index({"chusohuu.email":1});floordetailSchema.index({"chusohuu.zalo":1});floordetailSchema.index({"chusohuu.whatsapp":1});floordetailSchema.index({"chusohuu.facebook":1});
5
+ mieu_ta_vi_tri:String,mieu_ta_vi_tri_en:String,short_description:String,description:String,note:String,featured_content:String,featured_content_en:String,exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],
6
+ dataview_to:{type:Number,default:0},dataview_to_users:[String],shared:Boolean});floordetailSchema.index({id_app:1,ma_dt:1,building_code:1,floor_code:1});floordetailSchema.index({ma_dt:"text",building_code:"text",floor_code:"text"},{name:"floordetail_index_text"});floordetailSchema.index({"chusohuu.name":1});floordetailSchema.index({"chusohuu.phone":1});floordetailSchema.index({"chusohuu.email":1});floordetailSchema.index({"chusohuu.zalo":1});floordetailSchema.index({"chusohuu.whatsapp":1});floordetailSchema.index({"chusohuu.facebook":1});
7
7
  floordetailSchema.index({"ban.gia_ban":1});floordetailSchema.index({"ban.da_co_so":1});floordetailSchema.index({"ban.bao_phi_chuyen_nhuong":1});floordetailSchema.index({"ban.tra_lai_tien_chua_dong_so":1});floordetailSchema.index({"ban.dang_hop_dong_thue":1});floordetailSchema.index({"ban.co_the_thanh_ly":1});floordetailSchema.index({"ban.tang_noi_that":1});floordetailSchema.index({"ban.tang_noi_that_en":1});floordetailSchema.index({"ban.ty_le_da_tt_cdt":1});floordetailSchema.index({"ban.noi_that_yn":1});
8
- floordetailSchema.index({phan_loai:1});floordetailSchema.index({status:1});floordetailSchema.index({user_created:1,visible_to:1,visible_to_users:1});floordetailSchema.index({trang_thai:1});const model=mongoose.models.floordetail||mongoose.model("floordetail",floordetailSchema);module.exports=model;
8
+ floordetailSchema.index({phan_loai:1});floordetailSchema.index({status:1});floordetailSchema.index({visible_to_usergroups:1});floordetailSchema.index({user_created:1,visible_to:1,visible_to_users:1});floordetailSchema.index({trang_thai:1});const model=mongoose.models.floordetail||mongoose.model("floordetail",floordetailSchema);module.exports=model;
@@ -1,7 +1,9 @@
1
1
  'use strict';const validator=require("../libs/validator"),nhadatSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:{type:Number,default:0},ma_nd:{type:String,required:!0,uppercase:!0},ten_nd:{type:String,required:!0},ten_nd_en:{type:String},nh_nd:{type:String},phan_loai:String,ma_dt:{type:String,uppercase:!0},building_code:{type:String,uppercase:!0},dia_chi:{type:String},dia_chi_en:{type:String},xa_phuong:{type:String},quan_huyen:{type:String},tinh_thanh:{type:String},so_to:{type:String},
2
2
  so_thua:{type:String},location:Schema.Types.Mixed,chieu_ngang:{type:Number,default:0},chieu_dai:{type:Number,default:0},dien_tich:{type:Number,default:0},gia_ban:{type:Number,default:0},gia_ban_m2:{type:Number,default:0},so_phong:Number,so_wc:Number,noi_that:String,noi_that_en:String,can_ho_so:String,dien_tich_phong_thuy:Number,dien_tich_tim_tuong:Number,huong_ban_cong:String,huong_ban_cong_en:String,huong_cua_chinh:String,huong_cua_chinh_en:String,mieu_ta:String,mieu_ta_en:String,picture:String,
3
3
  ky_gui:Boolean,ten_chu_so_huu:String,dien_thoai_chu_so_huu:String,dia_chi_chu_so_huu:String,anh_cmnd:String,anh_giay_to:String,chap_nhan_dieu_khoan:{type:Boolean},so_ct:String,id_kh:{type:String},exfields:Schema.Types.Mixed,phu_trach:{type:String,lowercase:!0},ngay_cap_nhat:{type:Date,default:Date.now},progress:{type:Number,default:0},trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,
4
- default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],shared:Boolean});nhadatSchema.validate={ma_nt:validator.existsNt};nhadatSchema.index({id_app:1});nhadatSchema.index({ma_nd:1});nhadatSchema.index({phan_loai:1});nhadatSchema.index({building_code:1});nhadatSchema.index({ma_dt:1});nhadatSchema.index({ten_nd:1});nhadatSchema.index({nh_nd:1});nhadatSchema.index({dia_chi:1});nhadatSchema.index({dia_chi_en:1});
5
- nhadatSchema.index({xa_phuong:1});nhadatSchema.index({quan_huyen:1});nhadatSchema.index({tinh_thanh:1});nhadatSchema.index({location:1});nhadatSchema.index({mieu_ta:1});nhadatSchema.index({mieu_ta_en:1});nhadatSchema.index({so_to:1});nhadatSchema.index({so_thua:1});nhadatSchema.index({so_phong:1});nhadatSchema.index({so_wc:1});nhadatSchema.index({noi_that:1});nhadatSchema.index({noi_that_en:1});nhadatSchema.index({can_ho_so:1});nhadatSchema.index({dien_tich_phong_thuy:1});nhadatSchema.index({dien_tich_tim_tuong:1});
6
- nhadatSchema.index({huong_ban_cong:1});nhadatSchema.index({huong_ban_cong_en:1});nhadatSchema.index({huong_cua_chinh:1});nhadatSchema.index({huong_cua_chinh_en:1});nhadatSchema.index({chieu_ngang:1});nhadatSchema.index({chieu_dai:1});nhadatSchema.index({gia_ban:1});nhadatSchema.index({dien_tich:1});nhadatSchema.index({gia_ban_m2:1});nhadatSchema.index({phu_trach:1});nhadatSchema.index({ma_nd:"text",ten_nd:"text",phu_trach:"text"});nhadatSchema.index({status:1});
7
- nhadatSchema.index({user_created:1,visible_to:1,visible_to_users:1});nhadatSchema.index({trang_thai:1});const model=mongoose.models.nhadat||mongoose.model("nhadat",nhadatSchema);module.exports=model;
4
+ default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],update_right:[String],delete_right:[String],shared:Boolean});nhadatSchema.validate={ma_nt:validator.existsNt};nhadatSchema.index({id_app:1});nhadatSchema.index({ma_nd:1});nhadatSchema.index({phan_loai:1});nhadatSchema.index({building_code:1});nhadatSchema.index({ma_dt:1});nhadatSchema.index({ten_nd:1});nhadatSchema.index({nh_nd:1});nhadatSchema.index({dia_chi:1});
5
+ nhadatSchema.index({dia_chi_en:1});nhadatSchema.index({xa_phuong:1});nhadatSchema.index({quan_huyen:1});nhadatSchema.index({tinh_thanh:1});nhadatSchema.index({location:1});nhadatSchema.index({mieu_ta:1});nhadatSchema.index({mieu_ta_en:1});nhadatSchema.index({so_to:1});nhadatSchema.index({so_thua:1});nhadatSchema.index({so_phong:1});nhadatSchema.index({so_wc:1});nhadatSchema.index({noi_that:1});nhadatSchema.index({noi_that_en:1});nhadatSchema.index({can_ho_so:1});nhadatSchema.index({dien_tich_phong_thuy:1});
6
+ nhadatSchema.index({dien_tich_tim_tuong:1});nhadatSchema.index({huong_ban_cong:1});nhadatSchema.index({huong_ban_cong_en:1});nhadatSchema.index({huong_cua_chinh:1});nhadatSchema.index({huong_cua_chinh_en:1});nhadatSchema.index({chieu_ngang:1});nhadatSchema.index({chieu_dai:1});nhadatSchema.index({gia_ban:1});nhadatSchema.index({dien_tich:1});nhadatSchema.index({gia_ban_m2:1});nhadatSchema.index({phu_trach:1});nhadatSchema.index({ma_nd:"text",ten_nd:"text",phu_trach:"text"});nhadatSchema.index({status:1});
7
+ nhadatSchema.index({visible_to_usergroups:1});nhadatSchema.index({user_created:1,visible_to:1,visible_to_users:1});nhadatSchema.index({trang_thai:1});const model=mongoose.models.nhadat||mongoose.model("nhadat",nhadatSchema);
8
+ model.createCode=function($id_app$$,$ma_nd$$,$lanthu$$,$callback$$){$ma_nd$$=$ma_nd$$.replace(/[^\w\s]/gi,"").split(" ").join("").toUpperCase();model.findOne({ma_nd:$ma_nd$$,id_app:$id_app$$},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);if($rs$$)$lanthu$$+=1,$ma_nd$$=$ma_nd$$.substring(0,$ma_nd$$.length-$lanthu$$.toString().length)+$lanthu$$.toString(),model.createCode($id_app$$,$ma_nd$$,$lanthu$$,$callback$$);else return $callback$$(null,$ma_nd$$)})};
9
+ model.asyncCreateCode=async($id_app$$,$ma_nd$$,$lanthu$$)=>{$lanthu$$||($lanthu$$=0);32<$ma_nd$$.length&&($ma_nd$$=$ma_nd$$.substring(0,32));return new Promise($resolve$$=>{model.createCode($id_app$$,$ma_nd$$,$lanthu$$,($e$$,$rs$$)=>{$resolve$$($rs$$||"")})})};module.exports=model;
@@ -0,0 +1,3 @@
1
+ 'use strict';const nhomnhadatSchema=new Schema({id_app:{type:String,required:!0},stt:Number,ma_nhom:{type:String,required:!0,maxlength:1024},ten_nhom:{type:String,required:!0,maxlength:1024},public:Boolean,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],dataview_to:{type:Number,
2
+ default:0},dataview_to_users:[String],update_right:[String],delete_right:[String]});nhomnhadatSchema.index({id_app:1,ma_nhom:1});nhomnhadatSchema.index({public:1});nhomnhadatSchema.index({stt:1});nhomnhadatSchema.index({ten_nhom:"text"},{ten_nhom:"nhomnhadat_index"});nhomnhadatSchema.index({status:1});nhomnhadatSchema.index({date_created:1});nhomnhadatSchema.index({date_updated:1});nhomnhadatSchema.index({visible_to_usergroups:1});nhomnhadatSchema.index({user_created:1,visible_to:1,visible_to_users:1});
3
+ const model=mongoose.models.nhomnhadat||mongoose.model("nhomnhadat",nhomnhadatSchema);module.exports=model;
@@ -0,0 +1,2 @@
1
+ 'use strict';const phanloainhadatSchema=new Schema({id_app:{type:String,required:!0},stt:Number,ten_phan_loai:{type:String,required:!0,maxlength:1024},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String],update_right:[String],
2
+ delete_right:[String]});phanloainhadatSchema.index({ten_phan_loai:"text"},{name:"phanloainhadat_index"});phanloainhadatSchema.index({status:1});phanloainhadatSchema.index({date_created:1});phanloainhadatSchema.index({date_updated:1});phanloainhadatSchema.index({visible_to_usergroups:1});phanloainhadatSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.phanloainhadat||mongoose.model("phanloainhadat",phanloainhadatSchema);module.exports=model;