flexbiz-server 12.2.3 → 12.2.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 (108) hide show
  1. package/package.json +1 -1
  2. package/server/auths/local.js +27 -26
  3. package/server/controllers/controller.js +56 -55
  4. package/server/controllers/controllerRPT.js +18 -17
  5. package/server/libs/cdpstk.js +1 -1
  6. package/server/libs/databanle.js +13 -13
  7. package/server/libs/getGiaban.js +23 -22
  8. package/server/libs/post-book.js +9 -8
  9. package/server/libs/post-socai.js +9 -9
  10. package/server/libs/prototypes.js +4 -4
  11. package/server/libs/tinhGtPhanboSltp.js +5 -5
  12. package/server/libs/tinhGtPhanboYtcp.js +2 -2
  13. package/server/libs/tinhGtThcppstk.js +1 -1
  14. package/server/libs/tinhGtTrucTiep.js +8 -7
  15. package/server/libs/tinhgiatb.js +4 -4
  16. package/server/libs/tinhgiatb1vt.js +3 -3
  17. package/server/libs/tinhhoahong.js +32 -0
  18. package/server/libs/utils.js +4 -3
  19. package/server/models/app.js +9 -8
  20. package/server/models/approve.js +4 -4
  21. package/server/models/customer.js +8 -8
  22. package/server/models/dh2.js +10 -9
  23. package/server/models/dmgiaban.js +6 -6
  24. package/server/models/dmhoahonghd.js +6 -5
  25. package/server/models/fbconversation.js +9 -0
  26. package/server/models/fbmessage.js +2 -0
  27. package/server/models/fbpage.js +2 -0
  28. package/server/models/group.js +4 -2
  29. package/server/models/hd2.js +8 -8
  30. package/server/models/hd3.js +9 -9
  31. package/server/models/hd7.js +1 -1
  32. package/server/models/notification.js +3 -2
  33. package/server/models/participant.js +5 -5
  34. package/server/models/pbl.js +4 -4
  35. package/server/models/reportinfo.js +2 -2
  36. package/server/models/rptform.js +3 -2
  37. package/server/models/schedule.js +1 -1
  38. package/server/models/so1.js +7 -6
  39. package/server/models/socai.js +4 -4
  40. package/server/models/tdttco.js +8 -4
  41. package/server/models/tdttno.js +8 -4
  42. package/server/models/tokens.js +2 -2
  43. package/server/models/usergroup.js +5 -4
  44. package/server/models/vatra.js +2 -2
  45. package/server/models/vatvao.js +4 -4
  46. package/server/modules/lists/ls-assinvestment.js +1 -1
  47. package/server/modules/lists/ls-customer.js +13 -14
  48. package/server/modules/lists/ls-dmvt.js +48 -39
  49. package/server/modules/lists/ls-fbconversation.js +3 -0
  50. package/server/modules/lists/ls-fbmessage.js +3 -0
  51. package/server/modules/lists/ls-fbpage.js +10 -0
  52. package/server/modules/lists/ls-introducecode.js +1 -1
  53. package/server/modules/lists/ls-news.js +1 -1
  54. package/server/modules/lists/ls-opportunity.js +3 -3
  55. package/server/modules/lists/ls-session.js +1 -1
  56. package/server/modules/public/callin.js +6 -6
  57. package/server/modules/reports/rp-cdpstk.js +3 -3
  58. package/server/modules/reports/rp-chitiettaisan.js +9 -8
  59. package/server/modules/reports/rp-ckvt.js +9 -7
  60. package/server/modules/reports/rp-ctbanle.js +13 -12
  61. package/server/modules/reports/rp-databanle.js +8 -4
  62. package/server/modules/reports/rp-dtbanletheoct.js +16 -9
  63. package/server/modules/reports/rp-dtbanletheokh.js +12 -6
  64. package/server/modules/reports/rp-dtbanletheokho.js +14 -9
  65. package/server/modules/reports/rp-dtbanletheonam.js +15 -9
  66. package/server/modules/reports/rp-dtbanletheongay.js +13 -8
  67. package/server/modules/reports/rp-dtbanletheonv.js +15 -9
  68. package/server/modules/reports/rp-dtbanletheoquy.js +15 -9
  69. package/server/modules/reports/rp-dtbanletheothang.js +15 -9
  70. package/server/modules/reports/rp-getinvoice2pay.js +4 -6
  71. package/server/modules/reports/rp-getinvoice2receive.js +4 -6
  72. package/server/modules/reports/rp-hoahong.js +9 -0
  73. package/server/modules/reports/rp-kqhdkd.js +5 -4
  74. package/server/modules/reports/rp-ptcttct.js +7 -6
  75. package/server/modules/reports/rp-pttct.js +8 -8
  76. package/server/modules/reports/rp-pttctkho.js +3 -2
  77. package/server/modules/reports/rp-pttctkho2.js +3 -3
  78. package/server/modules/reports/rp-thnxt.js +8 -8
  79. package/server/modules/reports/rp-thnxt_sl.js +6 -6
  80. package/server/modules/reports/rp-thnxttt.js +6 -6
  81. package/server/modules/reports/rp-tmbctc.js +16 -16
  82. package/server/modules/systems/sys-app.js +25 -24
  83. package/server/modules/systems/sys-notification.js +2 -2
  84. package/server/modules/systems/sys-schedule.js +1 -1
  85. package/server/modules/systems/sys-user.js +8 -8
  86. package/server/modules/vouchers/vo-bc1.js +9 -8
  87. package/server/modules/vouchers/vo-bg2.js +9 -9
  88. package/server/modules/vouchers/vo-bn1.js +5 -4
  89. package/server/modules/vouchers/vo-dh2.js +15 -38
  90. package/server/modules/vouchers/vo-dnm.js +11 -12
  91. package/server/modules/vouchers/vo-hd2.js +63 -83
  92. package/server/modules/vouchers/vo-hd3.js +28 -22
  93. package/server/modules/vouchers/vo-hd7.js +37 -36
  94. package/server/modules/vouchers/vo-pbl.js +49 -49
  95. package/server/modules/vouchers/vo-pc1.js +9 -8
  96. package/server/modules/vouchers/vo-pn1.js +24 -22
  97. package/server/modules/vouchers/vo-pn5.js +1 -1
  98. package/server/modules/vouchers/vo-pn9.js +23 -23
  99. package/server/modules/vouchers/vo-pnc.js +8 -8
  100. package/server/modules/vouchers/vo-pnh.js +5 -5
  101. package/server/modules/vouchers/vo-pt1.js +17 -16
  102. package/server/modules/vouchers/vo-pxc.js +16 -16
  103. package/server/modules/vouchers/vo-pxh.js +12 -10
  104. package/server/modules/vouchers/vo-so1.js +94 -119
  105. package/server/modules/vouchers/vo-so4.js +1 -1
  106. package/server/modules/vouchers/vo-so5.js +2 -2
  107. package/server/workers/restoreApp.js +21 -12
  108. package/server/workers/runScript.js +3 -3
@@ -1,39 +1,40 @@
1
- 'use strict';const PostBook=require("../../libs/post-book"),PostSocai=require("../../libs/post-socai"),options=global.getModel("options"),Sokho=global.getModel("sokho"),Sokhott=global.getModel("sokhott"),Vatvao=global.getModel("vatvao"),Vatra=global.getModel("vatra"),dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),account=global.getModel("account"),customer=global.getModel("customer"),trangthai=global.getModel("trangthai"),dmdt=global.getModel("dmdt"),dmphi=
1
+ 'use strict';const PostBook=require("../../libs/post-book"),PostSocai=require("../../libs/post-socai"),Options=global.getModel("options"),Sokho=global.getModel("sokho"),Sokhott=global.getModel("sokhott"),Vatvao=global.getModel("vatvao"),Vatra=global.getModel("vatra"),dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),account=global.getModel("account"),customer=global.getModel("customer"),trangthai=global.getModel("trangthai"),dmdt=global.getModel("dmdt"),dmphi=
2
2
  global.getModel("dmphi"),contract=global.getModel("contract"),model=global.getModel("hd7"),controller=require("../../controllers/controller"),ptthanhtoan=global.getModel("ptthanhtoan"),async=require("async"),ma_ct="HD7";
3
3
  module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,sort:{ngay_ct:-1,so_ct:-1}});$contr_router$$.route();$contr_router$$.post=async function($_obj_details_details_doi$$,$fn$$){let $obj$$={...$_obj_details_details_doi$$};$fn$$||($fn$$=function(){});let $t_tien_tl$$=$obj$$.details.csum("tien_hang_nt")-$obj$$.details.csum("tien_ck_nt"),$t_tien_doi$$=$obj$$.details_doi.csum("tien_hang_nt")-$obj$$.details_doi.csum("tien_ck_nt");
4
4
  $_obj_details_details_doi$$=[...$obj$$.details];await $_obj_details_details_doi$$.asyncJoinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["combo"]});let $data_post_kho$$=$_obj_details_details_doi$$.map($detail$$=>$detail$$.combo&&0<$detail$$.combo.length?$detail$$.combo.map($item_combo$$=>{$item_combo$$=$item_combo$$.toObject?$item_combo$$.toObject():{...$item_combo$$};$item_combo$$.sl_nhap=$item_combo$$.sl_xuat;delete $item_combo$$.sl_xuat;delete $item_combo$$.tien_xuat;delete $item_combo$$.tien_xuat_nt;
5
- delete $item_combo$$.px_gia_dd;$item_combo$$.sl_nhap*=$detail$$.sl_nhap;$item_combo$$.tien_nhap=$item_combo$$.tien_nhap_nt=$item_combo$$.sl_nhap*$item_combo$$.gia_von_nt;$item_combo$$.tien_hang=$item_combo$$.tien_hang_nt=$item_combo$$.sl_nhap*$item_combo$$.gia_ban_nt;$item_combo$$.tien_ck=$item_combo$$.tien_ck_nt*=$item_combo$$.sl_nhap;$item_combo$$.tien=$item_combo$$.tien_nt=$item_combo$$.tien_hang_nt-$item_combo$$.tien_ck_nt;return $item_combo$$}):[$detail$$]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),
6
- []);$_obj_details_details_doi$$=[...$obj$$.details_doi];await $_obj_details_details_doi$$.asyncJoinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["combo"]});let $data_post_doi$$=$_obj_details_details_doi$$.map($detail$$=>$detail$$.combo&&0<$detail$$.combo.length?$detail$$.combo.map($item$$=>{$item$$=$item$$.toObject?$item$$.toObject():{...$item$$};$item$$.sl_xuat*=$detail$$.sl_xuat;$item$$.tien_xuat=$item$$.tien_xuat_nt=$item$$.sl_xuat*$item$$.gia_von_nt;$item$$.tien_hang=$item$$.tien_hang_nt=$item$$.sl_xuat*
7
- $item$$.gia_ban_nt;$item$$.tien_ck=$item$$.tien_ck_nt*=$item$$.sl_xuat;$item$$.tien=$item$$.tien_nt=$item$$.tien_hang_nt-$item$$.tien_ck_nt;return $item$$}):[$detail$$]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);async.series({post_sokho:function($callback$jscomp$0$$){(new PostBook($obj$$,$data_post_kho$$,Sokho,async function($detail$$,$callback$$){$detail$$.nxt=1;$detail$$.tk_co=$obj$$.tk_co;$t_tien_doi$$&&$t_tien_doi$$<=$t_tien_tl$$&&($detail$$.tien_hang_nt=0,$detail$$.tien_hang=0,$detail$$.tien_ck=
8
- 0,$detail$$.tien_ck_nt=0,$detail$$.tien_nt=0,$detail$$.tien=0);$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_sokhott:function($callback$jscomp$0$$){(new PostBook($obj$$,$data_post_kho$$,Sokhott,async function($detail$$,$callback$$){$detail$$.nxt=1;$detail$$.tk_co=$obj$$.tk_co;$t_tien_doi$$&&$t_tien_doi$$<=$t_tien_tl$$&&($detail$$.tien_hang_nt=0,$detail$$.tien_hang=0,$detail$$.tien_ck=0,$detail$$.tien_ck_nt=0,$detail$$.tien_nt=0,$detail$$.tien=0);$callback$$($detail$$)})).run(function($e$$,
9
- $rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_sokho_xuat:function($callback$jscomp$0$$){(new PostBook($obj$$,$data_post_doi$$,Sokho,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.tk_no=$obj$$.tk_co;$detail$$.tk_dt=$detail$$.tk_dt||$obj$$.tk_dt;$t_tien_doi$$&&$t_tien_doi$$<=$t_tien_tl$$?($detail$$.tien_hang_nt=0,$detail$$.tien_hang=0,$detail$$.tien_nt=0,$detail$$.tien=0,$detail$$.tien_ck=0,$detail$$.tien_ck_nt=0):($detail$$.tien_hang_nt=$detail$$.tien_hang_nt||$detail$$.tien_nt,
10
- $detail$$.tien_hang=$detail$$.tien_hang||$detail$$.tien,$detail$$.tien_nt=$detail$$.tien_hang_nt-$detail$$.tien_ck_nt,$detail$$.tien=$detail$$.tien_hang-$detail$$.tien_ck);$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_sokho_xuattt:function($callback$jscomp$0$$){(new PostBook($obj$$,$data_post_doi$$,Sokhott,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.tk_no=$obj$$.tk_co;$detail$$.tk_dt=$detail$$.tk_dt||$obj$$.tk_dt;$t_tien_doi$$&&$t_tien_doi$$<=
11
- $t_tien_tl$$?($detail$$.tien_hang_nt=0,$detail$$.tien_hang=0,$detail$$.tien_nt=0,$detail$$.tien=0,$detail$$.tien_ck=0,$detail$$.tien_ck_nt=0):($detail$$.tien_hang_nt=$detail$$.tien_hang_nt||$detail$$.tien_nt,$detail$$.tien_hang=$detail$$.tien_hang||$detail$$.tien,$detail$$.tien_nt=$detail$$.tien_hang_nt-$detail$$.tien_ck_nt,$detail$$.tien=$detail$$.tien_hang-$detail$$.tien_ck);$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_vatvao:function($callback$$){(new PostBook($obj$$,
12
- $obj$$.vatvaos,Vatvao)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_vatra:function($callback$$){(new PostBook($obj$$,$obj$$.vatras,Vatra)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_socai:function($callback$jscomp$0$$){async.series({options:$callback$$=>{options.findOne({id_app:$obj$$.id_app,id_func:ma_ct.toLowerCase()}).lean().exec(function($error$$,$rs$$){$callback$$(null,$rs$$||{})})},kho:$callback$$=>{dmkho.findOne({id_app:$obj$$.id_app,ma_kho:$obj$$.ma_kho}).lean().exec(($e$$,
13
- $kho$$)=>{$callback$$(null,$kho$$||{})})},tk:$callback$$=>{$obj$$.details.joinModel2($obj$$.id_app,dmvt,[{where:"ma_vt",fields:[{tk_vt_def:"tk_vt"},{tk_gv_def:"tk_gv"},{tk_tl_def:"tk_tl"},{tk_dt_def:"tk_dt"}]}],function(){$obj$$.details.forEach($d$$=>{$d$$.toObject&&delete $d$$.toObject});$callback$$()})},doi:$callback$$=>{$obj$$.details_doi.joinModel2($obj$$.id_app,dmvt,[{where:"ma_vt",fields:[{tk_vt_def:"tk_vt"},{tk_gv_def:"tk_gv"},{tk_tl_def:"tk_tl"},{tk_dt_def:"tk_dt"}]}],function(){$obj$$.details_doi.forEach($d$$=>
14
- {$d$$.toObject&&delete $d$$.toObject});$callback$$()})},ptthanhtoan:$callback$$=>{ptthanhtoan.findOne({id_app:$obj$$.id_app,_id:$obj$$.pt_thanh_toan}).lean().exec(($e$$,$pt$$)=>{$callback$$(null,$pt$$||{})})}},($e$jscomp$8_kho$$,$ma_kh_pt$jscomp$1_rs$$)=>{let $option$$=$ma_kh_pt$jscomp$1_rs$$.options;$e$jscomp$8_kho$$=$ma_kh_pt$jscomp$1_rs$$.kho;$ma_kh_pt$jscomp$1_rs$$=$ma_kh_pt$jscomp$1_rs$$.ptthanhtoan;$option$$.tk_tien=$ma_kh_pt$jscomp$1_rs$$.tk_tien||$e$jscomp$8_kho$$.tk_tien||$option$$.tk_tien;
15
- $option$$.tk_cn=$ma_kh_pt$jscomp$1_rs$$.tk_cn||$e$jscomp$8_kho$$.tk_cn||$option$$.tk_cn;$option$$.tk_dt=$ma_kh_pt$jscomp$1_rs$$.tk_dt||$e$jscomp$8_kho$$.tk_dt||$option$$.tk_dt;$option$$.tk_tl=$ma_kh_pt$jscomp$1_rs$$.tk_tl||$e$jscomp$8_kho$$.tk_tl||$option$$.tk_tl;$option$$.tk_ck=$ma_kh_pt$jscomp$1_rs$$.tk_ck||$e$jscomp$8_kho$$.tk_ck||$option$$.tk_ck;$option$$.tk_gv=$ma_kh_pt$jscomp$1_rs$$.tk_gv||$e$jscomp$8_kho$$.tk_gv||$option$$.tk_gv;$option$$.tk_vt=$ma_kh_pt$jscomp$1_rs$$.tk_vt||$e$jscomp$8_kho$$.tk_vt||
16
- $option$$.tk_vt;if($ma_kh_pt$jscomp$1_rs$$=$ma_kh_pt$jscomp$1_rs$$.ma_kh||$e$jscomp$8_kho$$.ma_kh)$option$$.ma_kh=$ma_kh_pt$jscomp$1_rs$$,$option$$.tk_tien=$option$$.tk_cn;const $details_sc$$=[];$obj$$.vatvaos.forEach(function($v_vatvao$$){$v_vatvao$$=Object.assign({},$v_vatvao$$);$v_vatvao$$.tk_no=$v_vatvao$$.tk_thue_no||$option$$.tk_tien;$v_vatvao$$.tk_co=$v_vatvao$$.tk_du_thue;$v_vatvao$$.tien_nt=$v_vatvao$$.t_thue_nt;$v_vatvao$$.tien=$v_vatvao$$.t_thue;$details_sc$$.push($v_vatvao$$)});$obj$$.vatras.forEach(function($v$$){$v$$=
17
- Object.assign({},$v$$);$v$$.tk_co=$v$$.tk_thue_co||$option$$.tk_tien;$v$$.tk_no=$v$$.tk_du_thue;$v$$.tien_nt=$v$$.t_thue_nt;$v$$.tien=$v$$.t_thue;$details_sc$$.push($v$$)});if(!$t_tien_doi$$||$t_tien_doi$$>$t_tien_tl$$)$obj$$.details.forEach(function($d$jscomp$2_detail$$){$d$jscomp$2_detail$$=Object.assign({},$d$jscomp$2_detail$$);$d$jscomp$2_detail$$.tk_no=$option$$.tk_tl||$d$jscomp$2_detail$$.tk_tl_def;$d$jscomp$2_detail$$.ma_kh||($d$jscomp$2_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$2_detail$$.tk_co=
18
- $obj$$.tk_co||$option$$.tk_tien;$d$jscomp$2_detail$$.tien_nt=$d$jscomp$2_detail$$.tien_hang_nt-$d$jscomp$2_detail$$.tien_ck_nt;$d$jscomp$2_detail$$.tien=$d$jscomp$2_detail$$.tien_hang-$d$jscomp$2_detail$$.tien_ck;$details_sc$$.push($d$jscomp$2_detail$$)}),$obj$$.details_doi.forEach(function($d$jscomp$3_detail$$){$d$jscomp$3_detail$$=Object.assign({},$d$jscomp$3_detail$$);$d$jscomp$3_detail$$.tk_co=$obj$$.tk_dt||$option$$.tk_dt||$d$jscomp$3_detail$$.tk_dt_def;$d$jscomp$3_detail$$.ma_kh||($d$jscomp$3_detail$$.ma_kh=
19
- $obj$$.ma_kh);$d$jscomp$3_detail$$.tk_no=$obj$$.tk_co||$option$$.tk_tien;$d$jscomp$3_detail$$.tien_nt=$d$jscomp$3_detail$$.tien_hang_nt-($d$jscomp$3_detail$$.tien_ck_nt||0);$d$jscomp$3_detail$$.tien=$d$jscomp$3_detail$$.tien_hang-($d$jscomp$3_detail$$.tien_ck||0);$details_sc$$.push($d$jscomp$3_detail$$)});$obj$$.details.forEach(function($d$jscomp$4_detail$$){$d$jscomp$4_detail$$=Object.assign({},$d$jscomp$4_detail$$);$d$jscomp$4_detail$$.tk_no=$option$$.tk_vt||$d$jscomp$4_detail$$.tk_vt_def;$d$jscomp$4_detail$$.ma_kh||
20
- ($d$jscomp$4_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$4_detail$$.tk_co=$option$$.tk_gv||$d$jscomp$4_detail$$.tk_gv_def;$d$jscomp$4_detail$$.tien_nt=$d$jscomp$4_detail$$.tien_nhap_nt;$d$jscomp$4_detail$$.tien=$d$jscomp$4_detail$$.tien_nhap;$details_sc$$.push($d$jscomp$4_detail$$)});$obj$$.details_doi.forEach(function($d$jscomp$5_detail$$){$d$jscomp$5_detail$$=Object.assign({},$d$jscomp$5_detail$$);$d$jscomp$5_detail$$.tk_no=$option$$.tk_gv||$d$jscomp$5_detail$$.tk_gv_def;$d$jscomp$5_detail$$.ma_kh||
21
- ($d$jscomp$5_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$5_detail$$.tk_co=$option$$.tk_vt||$d$jscomp$5_detail$$.tk_vt_def;$d$jscomp$5_detail$$.tien_nt=$d$jscomp$5_detail$$.tien_xuat_nt;$d$jscomp$5_detail$$.tien=$d$jscomp$5_detail$$.tien_xuat;$details_sc$$.push($d$jscomp$5_detail$$)});$option$$.ma_kh&&$details_sc$$.forEach($d$$=>{$d$$.ma_kh=$option$$.ma_kh});(new PostSocai($obj$$,$details_sc$$)).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};const $valid$$=
22
- function($i_i$jscomp$1_i$jscomp$2_i$$,$obj$$,$next$$){for($i_i$jscomp$1_i$jscomp$2_i$$=0;$i_i$jscomp$1_i$jscomp$2_i$$<$obj$$.details.length;$i_i$jscomp$1_i$jscomp$2_i$$++){var $detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$=$obj$$.details[$i_i$jscomp$1_i$jscomp$2_i$$];$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.line=$i_i$jscomp$1_i$jscomp$2_i$$;$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nt=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_hang_nt-
23
- $detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck_nt;$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_hang-$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck;"VND"==$obj$$.ma_nt&&($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nt||
24
- 0),$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck_nt||0),$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap_nt||0))}if($obj$$.details_doi)for($i_i$jscomp$1_i$jscomp$2_i$$=
25
- 0;$i_i$jscomp$1_i$jscomp$2_i$$<$obj$$.details_doi.length;$i_i$jscomp$1_i$jscomp$2_i$$++)$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$=$obj$$.details_doi[$i_i$jscomp$1_i$jscomp$2_i$$],$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.line=$i_i$jscomp$1_i$jscomp$2_i$$,"VND"==$obj$$.ma_nt&&($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nt),
26
- $detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.gia_ban=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.gia_ban_nt,$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck_nt),$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap_nt||
27
- 0));if($obj$$.vatvaos)for($i_i$jscomp$1_i$jscomp$2_i$$=0;$i_i$jscomp$1_i$jscomp$2_i$$<$obj$$.vatvaos.length;$i_i$jscomp$1_i$jscomp$2_i$$++)$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$=$obj$$.vatvaos[$i_i$jscomp$1_i$jscomp$2_i$$],$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.line=$i_i$jscomp$1_i$jscomp$2_i$$,"VND"==$obj$$.ma_nt&&($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue_nt||
28
- 0));if($obj$$.vatras)for($i_i$jscomp$1_i$jscomp$2_i$$=0;$i_i$jscomp$1_i$jscomp$2_i$$<$obj$$.vatras.length;$i_i$jscomp$1_i$jscomp$2_i$$++)$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$=$obj$$.vatras[$i_i$jscomp$1_i$jscomp$2_i$$],$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.line=$i_i$jscomp$1_i$jscomp$2_i$$,"VND"==$obj$$.ma_nt&&($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue_nt||
29
- 0));$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$valid$$($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=function($user$$,$data$$,$obj$$,$next$$){$valid$$($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.view=function($user$$,$items$$,$fn$$){const $id_app$$=$user$$.current_id_app;async.series({dv:function($callback$$){$items$$.filter($item$$=>
30
- $item$$.ma_dvcs).joinModel($id_app$$,dvcs,[{akey:"ma_dvcs",bkey:"_id",fields:[{name:"ten_dvcs",value:"ten_dvcs"}]}],function(){$callback$$()})},tk:function($callback$$){$items$$.filter($item$$=>$item$$.tk_co).joinModel($id_app$$,account,[{akey:"tk_co",bkey:"tk",fields:[{name:"ten_tk_co",value:"ten_tk"}]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai",
31
- "color"]}],function(){$callback$$()})},kh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel($id_app$$,customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"}]}],function(){$callback$$()})},dich_vu_giao_hang:function($callback$$){$items$$.filter($item$$=>$item$$.dich_vu_giao_hang).joinModel($id_app$$,customer,[{akey:"dich_vu_giao_hang",bkey:"ma_kh",fields:[{name:"ten_dich_vu_giao_hang",value:"ten_kh"}]}],function(){$callback$$()})},ptthanhtoan:function($callback$$){$items$$.filter($item$$=>
32
- $item$$.pt_thanh_toan).joinModel2($id_app$$,ptthanhtoan,[{where:{pt_thanh_toan:"_id"},fields:{ten_pt_thanh_toan:"ten"}}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.details_doi?($r$$.t_sl_doi=$r$$.details_doi.csum("sl_xuat"),$r$$.t_tien_doi_dt=$r$$.details_doi.csum("tien"),$r$$.t_tien_doi_dt_nt=$r$$.details_doi.csum("tien_nt"),$r$$.t_tien_doi_ck=$r$$.details_doi.csum("tien_ck"),$r$$.t_tien_doi_ck_nt=$r$$.details_doi.csum("tien_ck_nt"),$r$$.t_tien_doi=
33
- $r$$.t_tien_doi_dt-$r$$.t_tien_doi_ck,$r$$.t_tien_doi_nt=$r$$.t_tien_doi_dt_nt-$r$$.t_tien_doi_ck_nt,$r$$.t_tien_nhap_doi=$r$$.details_doi.csum("tien_nhap"),$r$$.t_tien_nhap_doi_nt=$r$$.details_doi.csum("tien_nhap_nt")):($r$$.t_tien_doi_dt=0,$r$$.t_tien_doi_dt_nt=0,$r$$.t_tien_doi_ck=0,$r$$.t_tien_doi_ck_nt=0,$r$$.t_tien_doi=0,$r$$.t_tien_doi_nt=0);$r$$.details?($r$$.t_sl=$r$$.details.csum("sl_nhap"),$r$$.t_tien_hang=$r$$.details.csum("tien_hang"),$r$$.t_tien_hang_nt=$r$$.details.csum("tien_hang_nt"),
34
- $r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.t_tt=$r$$.t_tien_hang-$r$$.t_ck,$r$$.t_tt_nt=$r$$.t_tien_hang_nt-$r$$.t_ck_nt,$r$$.t_tien_nhap=$r$$.details.csum("tien_nhap"),$r$$.t_tien_nhap_nt=$r$$.details.csum("tien_nhap_nt")):($r$$.t_tt=0,$r$$.t_tt_nt=0);$r$$.vatvaos?($r$$.t_thue_vao=$r$$.vatvaos.csum("t_thue"),$r$$.t_thue_vao_nt=$r$$.vatvaos.csum("t_thue_nt")):($r$$.t_thue_vao=0,$r$$.t_thue_vao_nt=0);$r$$.vatras?($r$$.t_thue_ra=$r$$.vatvaos.csum("t_thue"),
35
- $r$$.t_thue_ra_nt=$r$$.vatvaos.csum("t_thue_nt")):($r$$.t_thue_ra=0,$r$$.t_thue_ra_nt=0);$r$$.t_chenh_lech_nt=$r$$.t_tt_nt+$r$$.t_thue_vao_nt-$r$$.t_tien_doi_nt-$r$$.t_thue_ra_nt});$callback$$()},details_tk:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel($id_app$$,account,[{akey:"tk_vt",bkey:"tk",fields:[{name:"ten_tk_vt",value:"ten_tk"}]},{akey:"tk_gv",bkey:"tk",fields:[{name:"ten_tk_gv",value:"ten_tk"}]},{akey:"tk_tl",bkey:"tk",fields:[{name:"ten_tk_tl",
36
- value:"ten_tk"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_vt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||[]).joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ten_vt picture chieu_cao chieu_rong chieu_sau trong_luong".split(" ")}],function(){$callback1$$()})},function(){$callback$$()})},details_doi_vt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details_doi||[]).joinModel2($id_app$$,dmvt,[{where:"ma_vt",
37
- fields:"ten_vt picture chieu_cao chieu_rong chieu_sau trong_luong".split(" ")}],function(){$callback1$$()})},function(){$callback$$()})},details_kho:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_kho).joinModel($id_app$$,dmkho,[{akey:"ma_kho",bkey:"ma_kho",fields:[{name:"ten_kho",value:"ten_kho"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>
38
- $item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_contract:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_hd).joinModel($id_app$$,contract,[{akey:"ma_hd",bkey:"so_hd",fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_phi:function($callback$$){async.mapSeries($items$$,
39
- function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_phi).joinModel($id_app$$,dmphi,[{akey:"ma_phi",bkey:"ma_phi",fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){$fn$$(null,$items$$)})}};
5
+ delete $item_combo$$.px_gia_dd;$item_combo$$.sl_nhap*=$detail$$.sl_nhap;$item_combo$$.tien_nhap=$item_combo$$.tien_nhap_nt=$item_combo$$.sl_nhap*($item_combo$$.gia_von_nt||0);$item_combo$$.tien_hang=$item_combo$$.tien_hang_nt=$item_combo$$.sl_nhap*($item_combo$$.gia_ban_nt||0);$item_combo$$.tien_ck=$item_combo$$.tien_ck_nt=$item_combo$$.sl_nhap*($item_combo$$.tien_ck_nt||0);$item_combo$$.tien=$item_combo$$.tien_nt=$item_combo$$.tien_hang_nt-($item_combo$$.tien_ck_nt||0);return $item_combo$$}):[$detail$$]).reduce(($a$$,
6
+ $b$$)=>$a$$.concat($b$$),[]);$_obj_details_details_doi$$=[...$obj$$.details_doi];await $_obj_details_details_doi$$.asyncJoinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["combo"]});let $data_post_doi$$=$_obj_details_details_doi$$.map($detail$$=>$detail$$.combo&&0<$detail$$.combo.length?$detail$$.combo.map($item$$=>{$item$$=$item$$.toObject?$item$$.toObject():{...$item$$};$item$$.sl_xuat*=$detail$$.sl_xuat;$item$$.tien_xuat=$item$$.tien_xuat_nt=$item$$.sl_xuat*($item$$.gia_von_nt||0);$item$$.tien_hang=
7
+ $item$$.tien_hang_nt=$item$$.sl_xuat*($item$$.gia_ban_nt||0);$item$$.tien_ck=$item$$.tien_ck_nt=$item$$.sl_xuat*($item$$.tien_ck_nt||0);$item$$.tien=$item$$.tien_nt=$item$$.tien_hang_nt-($item$$.tien_ck_nt||0);return $item$$}):[$detail$$]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);async.series({post_sokho:function($callback$jscomp$0$$){(new PostBook($obj$$,$data_post_kho$$,Sokho,async function($detail$$,$callback$$){$detail$$.nxt=1;$detail$$.tk_co=$obj$$.tk_co;$t_tien_doi$$&&$t_tien_doi$$<=$t_tien_tl$$&&
8
+ ($detail$$.tien_hang_nt=0,$detail$$.tien_hang=0,$detail$$.tien_ck=0,$detail$$.tien_ck_nt=0,$detail$$.tien_nt=0,$detail$$.tien=0);$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_sokhott:function($callback$jscomp$0$$){(new PostBook($obj$$,$data_post_kho$$,Sokhott,async function($detail$$,$callback$$){$detail$$.nxt=1;$detail$$.tk_co=$obj$$.tk_co;$t_tien_doi$$&&$t_tien_doi$$<=$t_tien_tl$$&&($detail$$.tien_hang_nt=0,$detail$$.tien_hang=0,$detail$$.tien_ck=0,
9
+ $detail$$.tien_ck_nt=0,$detail$$.tien_nt=0,$detail$$.tien=0);$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_sokho_xuat:function($callback$jscomp$0$$){(new PostBook($obj$$,$data_post_doi$$,Sokho,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.tk_no=$obj$$.tk_co;$detail$$.tk_dt=$detail$$.tk_dt||$obj$$.tk_dt;$t_tien_doi$$&&$t_tien_doi$$<=$t_tien_tl$$?($detail$$.tien_hang_nt=0,$detail$$.tien_hang=0,$detail$$.tien_nt=0,$detail$$.tien=0,$detail$$.tien_ck=
10
+ 0,$detail$$.tien_ck_nt=0):($detail$$.tien_hang_nt=$detail$$.tien_hang_nt||$detail$$.tien_nt,$detail$$.tien_hang=$detail$$.tien_hang||$detail$$.tien,$detail$$.tien_nt=$detail$$.tien_hang_nt-$detail$$.tien_ck_nt,$detail$$.tien=$detail$$.tien_hang-$detail$$.tien_ck);$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_sokho_xuattt:function($callback$jscomp$0$$){(new PostBook($obj$$,$data_post_doi$$,Sokhott,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.tk_no=
11
+ $obj$$.tk_co;$detail$$.tk_dt=$detail$$.tk_dt||$obj$$.tk_dt;$t_tien_doi$$&&$t_tien_doi$$<=$t_tien_tl$$?($detail$$.tien_hang_nt=0,$detail$$.tien_hang=0,$detail$$.tien_nt=0,$detail$$.tien=0,$detail$$.tien_ck=0,$detail$$.tien_ck_nt=0):($detail$$.tien_hang_nt=$detail$$.tien_hang_nt||$detail$$.tien_nt,$detail$$.tien_hang=$detail$$.tien_hang||$detail$$.tien,$detail$$.tien_nt=$detail$$.tien_hang_nt-$detail$$.tien_ck_nt,$detail$$.tien=$detail$$.tien_hang-$detail$$.tien_ck);$callback$$($detail$$)})).run(function($e$$,
12
+ $rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},post_vatvao:function($callback$$){(new PostBook($obj$$,$obj$$.vatvaos,Vatvao)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_vatra:function($callback$$){(new PostBook($obj$$,$obj$$.vatras,Vatra)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})},post_socai:function($callback$jscomp$0$$){async.series({options:$callback$$=>{Options.findOne({id_app:$obj$$.id_app,id_func:ma_ct.toLowerCase()}).lean().exec(function($error$$,$rs$$){$callback$$(null,
13
+ $rs$$||{})})},kho:$callback$$=>{dmkho.findOne({id_app:$obj$$.id_app,ma_kho:$obj$$.ma_kho}).lean().exec(($e$$,$kho$$)=>{$callback$$(null,$kho$$||{})})},tk:$callback$$=>{$obj$$.details.joinModel2($obj$$.id_app,dmvt,[{where:"ma_vt",fields:[{tk_vt_def:"tk_vt"},{tk_gv_def:"tk_gv"},{tk_tl_def:"tk_tl"},{tk_dt_def:"tk_dt"}]}],function(){$obj$$.details.forEach($d$$=>{$d$$.toObject&&delete $d$$.toObject});$callback$$()})},doi:$callback$$=>{$obj$$.details_doi.joinModel2($obj$$.id_app,dmvt,[{where:"ma_vt",fields:[{tk_vt_def:"tk_vt"},
14
+ {tk_gv_def:"tk_gv"},{tk_tl_def:"tk_tl"},{tk_dt_def:"tk_dt"}]}],function(){$obj$$.details_doi.forEach($d$$=>{$d$$.toObject&&delete $d$$.toObject});$callback$$()})},ptthanhtoan:$callback$$=>{ptthanhtoan.findOne({id_app:$obj$$.id_app,_id:$obj$$.pt_thanh_toan}).lean().exec(($e$$,$pt$$)=>{$callback$$(null,$pt$$||{})})}},($e$jscomp$8_kho$$,$ma_kh_pt$jscomp$1_rs$$)=>{let $option$$=$ma_kh_pt$jscomp$1_rs$$.options;$e$jscomp$8_kho$$=$ma_kh_pt$jscomp$1_rs$$.kho;$ma_kh_pt$jscomp$1_rs$$=$ma_kh_pt$jscomp$1_rs$$.ptthanhtoan;
15
+ $option$$.tk_tien=$ma_kh_pt$jscomp$1_rs$$.tk_tien||$e$jscomp$8_kho$$.tk_tien||$option$$.tk_tien;$option$$.tk_cn=$ma_kh_pt$jscomp$1_rs$$.tk_cn||$e$jscomp$8_kho$$.tk_cn||$option$$.tk_cn;$option$$.tk_dt=$ma_kh_pt$jscomp$1_rs$$.tk_dt||$e$jscomp$8_kho$$.tk_dt||$option$$.tk_dt;$option$$.tk_tl=$ma_kh_pt$jscomp$1_rs$$.tk_tl||$e$jscomp$8_kho$$.tk_tl||$option$$.tk_tl;$option$$.tk_ck=$ma_kh_pt$jscomp$1_rs$$.tk_ck||$e$jscomp$8_kho$$.tk_ck||$option$$.tk_ck;$option$$.tk_gv=$ma_kh_pt$jscomp$1_rs$$.tk_gv||$e$jscomp$8_kho$$.tk_gv||
16
+ $option$$.tk_gv;$option$$.tk_vt=$ma_kh_pt$jscomp$1_rs$$.tk_vt||$e$jscomp$8_kho$$.tk_vt||$option$$.tk_vt;if($ma_kh_pt$jscomp$1_rs$$=$ma_kh_pt$jscomp$1_rs$$.ma_kh||$e$jscomp$8_kho$$.ma_kh)$option$$.ma_kh=$ma_kh_pt$jscomp$1_rs$$,$option$$.tk_tien=$option$$.tk_cn;const $details_sc$$=[];$obj$$.vatvaos.forEach(function($v_vatvao$$){$v_vatvao$$=Object.assign({},$v_vatvao$$);$v_vatvao$$.tk_no=$v_vatvao$$.tk_thue_no||$option$$.tk_tien;$v_vatvao$$.tk_co=$v_vatvao$$.tk_du_thue;$v_vatvao$$.tien_nt=$v_vatvao$$.t_thue_nt;
17
+ $v_vatvao$$.tien=$v_vatvao$$.t_thue;$details_sc$$.push($v_vatvao$$)});$obj$$.vatras.forEach(function($v$$){$v$$=Object.assign({},$v$$);$v$$.tk_co=$v$$.tk_thue_co||$option$$.tk_tien;$v$$.tk_no=$v$$.tk_du_thue;$v$$.tien_nt=$v$$.t_thue_nt;$v$$.tien=$v$$.t_thue;$details_sc$$.push($v$$)});if(!$t_tien_doi$$||$t_tien_doi$$>$t_tien_tl$$)$obj$$.details.forEach(function($d$jscomp$2_detail$$){$d$jscomp$2_detail$$=Object.assign({},$d$jscomp$2_detail$$);$d$jscomp$2_detail$$.tk_no=$option$$.tk_tl||$d$jscomp$2_detail$$.tk_tl_def;
18
+ $d$jscomp$2_detail$$.ma_kh||($d$jscomp$2_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$2_detail$$.tk_co=$obj$$.tk_co||$option$$.tk_tien;$d$jscomp$2_detail$$.tien_nt=$d$jscomp$2_detail$$.tien_hang_nt-$d$jscomp$2_detail$$.tien_ck_nt;$d$jscomp$2_detail$$.tien=$d$jscomp$2_detail$$.tien_hang-$d$jscomp$2_detail$$.tien_ck;$details_sc$$.push($d$jscomp$2_detail$$)}),$obj$$.details_doi.forEach(function($d$jscomp$3_detail$$){$d$jscomp$3_detail$$=Object.assign({},$d$jscomp$3_detail$$);$d$jscomp$3_detail$$.tk_co=$obj$$.tk_dt||
19
+ $option$$.tk_dt||$d$jscomp$3_detail$$.tk_dt_def;$d$jscomp$3_detail$$.ma_kh||($d$jscomp$3_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$3_detail$$.tk_no=$obj$$.tk_co||$option$$.tk_tien;$d$jscomp$3_detail$$.tien_nt=$d$jscomp$3_detail$$.tien_hang_nt-($d$jscomp$3_detail$$.tien_ck_nt||0);$d$jscomp$3_detail$$.tien=$d$jscomp$3_detail$$.tien_hang-($d$jscomp$3_detail$$.tien_ck||0);$details_sc$$.push($d$jscomp$3_detail$$)});$obj$$.details.forEach(function($d$jscomp$4_detail$$){$d$jscomp$4_detail$$=Object.assign({},
20
+ $d$jscomp$4_detail$$);$d$jscomp$4_detail$$.tk_no=$option$$.tk_vt||$d$jscomp$4_detail$$.tk_vt_def;$d$jscomp$4_detail$$.ma_kh||($d$jscomp$4_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$4_detail$$.tk_co=$option$$.tk_gv||$d$jscomp$4_detail$$.tk_gv_def;$d$jscomp$4_detail$$.tien_nt=$d$jscomp$4_detail$$.tien_nhap_nt;$d$jscomp$4_detail$$.tien=$d$jscomp$4_detail$$.tien_nhap;$details_sc$$.push($d$jscomp$4_detail$$)});$obj$$.details_doi.forEach(function($d$jscomp$5_detail$$){$d$jscomp$5_detail$$=Object.assign({},
21
+ $d$jscomp$5_detail$$);$d$jscomp$5_detail$$.tk_no=$option$$.tk_gv||$d$jscomp$5_detail$$.tk_gv_def;$d$jscomp$5_detail$$.ma_kh||($d$jscomp$5_detail$$.ma_kh=$obj$$.ma_kh);$d$jscomp$5_detail$$.tk_co=$option$$.tk_vt||$d$jscomp$5_detail$$.tk_vt_def;$d$jscomp$5_detail$$.tien_nt=$d$jscomp$5_detail$$.tien_xuat_nt;$d$jscomp$5_detail$$.tien=$d$jscomp$5_detail$$.tien_xuat;$details_sc$$.push($d$jscomp$5_detail$$)});$option$$.ma_kh&&$details_sc$$.forEach($d$$=>{$d$$.ma_kh=$option$$.ma_kh});(new PostSocai($obj$$,
22
+ $details_sc$$)).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};const $valid$$=function($i_i$jscomp$1_i$jscomp$2_i$$,$obj$$,$next$$){for($i_i$jscomp$1_i$jscomp$2_i$$=0;$i_i$jscomp$1_i$jscomp$2_i$$<$obj$$.details.length;$i_i$jscomp$1_i$jscomp$2_i$$++){var $detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$=$obj$$.details[$i_i$jscomp$1_i$jscomp$2_i$$];$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.line=$i_i$jscomp$1_i$jscomp$2_i$$;
23
+ $detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nt=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_hang_nt-$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck_nt;$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_hang-$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck;"VND"==$obj$$.ma_nt&&($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nt=
24
+ Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nt||0),$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck_nt||0),$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap_nt||
25
+ 0))}if($obj$$.details_doi)for($i_i$jscomp$1_i$jscomp$2_i$$=0;$i_i$jscomp$1_i$jscomp$2_i$$<$obj$$.details_doi.length;$i_i$jscomp$1_i$jscomp$2_i$$++)$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$=$obj$$.details_doi[$i_i$jscomp$1_i$jscomp$2_i$$],$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.line=$i_i$jscomp$1_i$jscomp$2_i$$,"VND"==$obj$$.ma_nt&&($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nt=
26
+ Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nt),$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.gia_ban=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.gia_ban_nt,$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_ck_nt),$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap=
27
+ $detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.tien_nhap_nt||0));if($obj$$.vatvaos)for($i_i$jscomp$1_i$jscomp$2_i$$=0;$i_i$jscomp$1_i$jscomp$2_i$$<$obj$$.vatvaos.length;$i_i$jscomp$1_i$jscomp$2_i$$++)$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$=$obj$$.vatvaos[$i_i$jscomp$1_i$jscomp$2_i$$],$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.line=$i_i$jscomp$1_i$jscomp$2_i$$,"VND"==
28
+ $obj$$.ma_nt&&($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue_nt||0));if($obj$$.vatras)for($i_i$jscomp$1_i$jscomp$2_i$$=0;$i_i$jscomp$1_i$jscomp$2_i$$<$obj$$.vatras.length;$i_i$jscomp$1_i$jscomp$2_i$$++)$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$=$obj$$.vatras[$i_i$jscomp$1_i$jscomp$2_i$$],$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.line=
29
+ $i_i$jscomp$1_i$jscomp$2_i$$,"VND"==$obj$$.ma_nt&&($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue=$detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue_nt=Math.roundBy($detail$jscomp$10_detail$jscomp$11_vatra$jscomp$1_vatvao$$.t_thue_nt||0));$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$valid$$($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=
30
+ function($user$$,$data$$,$obj$$,$next$$){$valid$$($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.view=function($user$$,$items$$,$fn$$){const $id_app$$=$user$$.current_id_app;async.series({dv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dvcs).joinModel($id_app$$,dvcs,[{akey:"ma_dvcs",bkey:"_id",fields:[{name:"ten_dvcs",value:"ten_dvcs"}]}],function(){$callback$$()})},tk:function($callback$$){$items$$.filter($item$$=>
31
+ $item$$.tk_co).joinModel($id_app$$,account,[{akey:"tk_co",bkey:"tk",fields:[{name:"ten_tk_co",value:"ten_tk"}]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},kh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel($id_app$$,customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",
32
+ value:"ten_kh"}]}],function(){$callback$$()})},dich_vu_giao_hang:function($callback$$){$items$$.filter($item$$=>$item$$.dich_vu_giao_hang).joinModel($id_app$$,customer,[{akey:"dich_vu_giao_hang",bkey:"ma_kh",fields:[{name:"ten_dich_vu_giao_hang",value:"ten_kh"}]}],function(){$callback$$()})},ptthanhtoan:function($callback$$){$items$$.filter($item$$=>$item$$.pt_thanh_toan).joinModel2($id_app$$,ptthanhtoan,[{where:{pt_thanh_toan:"_id"},fields:{ten_pt_thanh_toan:"ten"}}],function(){$callback$$()})},
33
+ t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.details_doi?($r$$.t_sl_doi=$r$$.details_doi.csum("sl_xuat"),$r$$.t_tien_doi_dt=$r$$.details_doi.csum("tien"),$r$$.t_tien_doi_dt_nt=$r$$.details_doi.csum("tien_nt"),$r$$.t_tien_doi_ck=$r$$.details_doi.csum("tien_ck"),$r$$.t_tien_doi_ck_nt=$r$$.details_doi.csum("tien_ck_nt"),$r$$.t_tien_doi=$r$$.t_tien_doi_dt-$r$$.t_tien_doi_ck,$r$$.t_tien_doi_nt=$r$$.t_tien_doi_dt_nt-$r$$.t_tien_doi_ck_nt,$r$$.t_tien_nhap_doi=$r$$.details_doi.csum("tien_nhap"),
34
+ $r$$.t_tien_nhap_doi_nt=$r$$.details_doi.csum("tien_nhap_nt")):($r$$.t_tien_doi_dt=0,$r$$.t_tien_doi_dt_nt=0,$r$$.t_tien_doi_ck=0,$r$$.t_tien_doi_ck_nt=0,$r$$.t_tien_doi=0,$r$$.t_tien_doi_nt=0);$r$$.details?($r$$.t_sl=$r$$.details.csum("sl_nhap"),$r$$.t_tien_hang=$r$$.details.csum("tien_hang"),$r$$.t_tien_hang_nt=$r$$.details.csum("tien_hang_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.t_tt=$r$$.t_tien_hang-$r$$.t_ck,$r$$.t_tt_nt=$r$$.t_tien_hang_nt-
35
+ $r$$.t_ck_nt,$r$$.t_tien_nhap=$r$$.details.csum("tien_nhap"),$r$$.t_tien_nhap_nt=$r$$.details.csum("tien_nhap_nt")):($r$$.t_tt=0,$r$$.t_tt_nt=0);$r$$.vatvaos?($r$$.t_thue_vao=$r$$.vatvaos.csum("t_thue"),$r$$.t_thue_vao_nt=$r$$.vatvaos.csum("t_thue_nt")):($r$$.t_thue_vao=0,$r$$.t_thue_vao_nt=0);$r$$.vatras?($r$$.t_thue_ra=$r$$.vatvaos.csum("t_thue"),$r$$.t_thue_ra_nt=$r$$.vatvaos.csum("t_thue_nt")):($r$$.t_thue_ra=0,$r$$.t_thue_ra_nt=0);$r$$.t_chenh_lech_nt=$r$$.t_tt_nt+$r$$.t_thue_vao_nt-$r$$.t_tien_doi_nt-
36
+ $r$$.t_thue_ra_nt});$callback$$()},details_tk:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel($id_app$$,account,[{akey:"tk_vt",bkey:"tk",fields:[{name:"ten_tk_vt",value:"ten_tk"}]},{akey:"tk_gv",bkey:"tk",fields:[{name:"ten_tk_gv",value:"ten_tk"}]},{akey:"tk_tl",bkey:"tk",fields:[{name:"ten_tk_tl",value:"ten_tk"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_vt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details||
37
+ []).joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ten_vt picture chieu_cao chieu_rong chieu_sau trong_luong".split(" ")}],function(){$callback1$$()})},function(){$callback$$()})},details_doi_vt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){($r$$.details_doi||[]).joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ten_vt picture chieu_cao chieu_rong chieu_sau trong_luong".split(" ")}],function(){$callback1$$()})},function(){$callback$$()})},details_kho:function($callback$$){async.mapSeries($items$$,
38
+ function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_kho).joinModel($id_app$$,dmkho,[{akey:"ma_kho",bkey:"ma_kho",fields:[{name:"ten_kho",value:"ten_kho"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},
39
+ details_contract:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_hd).joinModel($id_app$$,contract,[{akey:"ma_hd",bkey:"so_hd",fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_phi:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_phi).joinModel($id_app$$,dmphi,[{akey:"ma_phi",bkey:"ma_phi",fields:[{name:"ten_phi",
40
+ value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){$fn$$(null,$items$$)})}};
@@ -1,4 +1,4 @@
1
- 'use strict';const PostBook=require("../../libs/post-book"),options=global.getModel("options"),PostSocai=require("../../libs/post-socai"),Sokho=global.getModel("sokho"),Sokhott=global.getModel("sokhott"),Sokhokhongton=global.getModel("sokhokhongton"),App=global.getModel("app"),dvcs=global.getModel("dvcs"),dmkho=global.getModel("dmkho"),dmvt=global.getModel("dmvt"),customer=global.getModel("customer"),dmdt=global.getModel("dmdt"),dmtt=global.getModel("dmtt"),Dmban=global.getModel("dmban"),dmphi=global.getModel("dmphi"),
1
+ 'use strict';const PostBook=require("../../libs/post-book"),Options=global.getModel("options"),PostSocai=require("../../libs/post-socai"),Sokho=global.getModel("sokho"),Sokhott=global.getModel("sokhott"),Sokhokhongton=global.getModel("sokhokhongton"),App=global.getModel("app"),dvcs=global.getModel("dvcs"),dmkho=global.getModel("dmkho"),dmvt=global.getModel("dmvt"),customer=global.getModel("customer"),dmdt=global.getModel("dmdt"),dmtt=global.getModel("dmtt"),Dmban=global.getModel("dmban"),dmphi=global.getModel("dmphi"),
2
2
  contract=global.getModel("contract"),trangthai=global.getModel("trangthai"),model=global.getModel("pbl"),hd7=global.getModel("hd7"),ptthanhtoan=global.getModel("ptthanhtoan"),controller=require("../../controllers/controller"),async=require("async"),underscore=require("underscore"),ma_ct="PBL",transaction=global.getModel("transaction"),Evoucher=global.getModel("evoucher"),ckdiem=require("../../libs/ckdiem"),moment=require("moment"),numeral=require("numeral"),dmdiemthuong=global.getModel("dmdiemthuong"),
3
3
  currency=global.getModel("currency"),vat=global.getModel("vat"),Wallet=global.getModel("wallet"),dmchietkhauhd=global.getModel("dmchietkhauhd"),dmkhuyenmaihd=global.getModel("dmkhuyenmaihd"),khuyenmaihd=async $obj$$=>{if($obj$$.details){var $ckhds_query_t_tien_nt$$=$obj$$.details.csum("tien_hang_nt");if(0!==$ckhds_query_t_tien_nt$$){var $hieu_luc_tu_i_q_ma_kh_t_ck_nt_t_tt_nt$$=$obj$$.details.csum("tien_ck_nt");$hieu_luc_tu_i_q_ma_kh_t_ck_nt_t_tt_nt$$=$ckhds_query_t_tien_nt$$-$hieu_luc_tu_i_q_ma_kh_t_ck_nt_t_tt_nt$$;
4
4
  $obj$$.details=$obj$$.details.filter($d$$=>"khuyenmaihd"!=$d$$.km_yn_for);$ckhds_query_t_tien_nt$$={id_app:$obj$$.id_app,gt_tu:{$lte:$hieu_luc_tu_i_q_ma_kh_t_ck_nt_t_tt_nt$$},ma_kho:{$in:[void 0,null,"",$obj$$.ma_kho]}};$ckhds_query_t_tien_nt$$.$and=[{$or:[{gt_den:{$in:[0,void 0,null]}},{gt_den:{$gte:$hieu_luc_tu_i_q_ma_kh_t_ck_nt_t_tt_nt$$}}]}];var $ckhd_hieu_luc_den_q_nh_kh_tu_ngay$$=moment($obj$$.ngay_ct).startOf("date").toDate();$hieu_luc_tu_i_q_ma_kh_t_ck_nt_t_tt_nt$$={$lte:moment($obj$$.ngay_ct).endOf("date").toDate()};
@@ -16,7 +16,9 @@ hieu_luc_tu:-1}).lean();if(0<$ckhds$jscomp$1_query$jscomp$1_t_ck_nt$$.length)for
16
16
  0;let $sl_dap_ung$$=0;$kh$jscomp$1_lan_mua_thu$jscomp$3_sl_toi_thieu$$&&$ckhd$jscomp$1_hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$.vts&&0<$ckhd$jscomp$1_hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$.vts.length&&$ckhd$jscomp$1_hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$.vts.forEach($vt$$=>{var $ds$jscomp$1_tien$$=$obj$$.details.filter($d$$=>$d$$.ma_vt===$vt$$.ma_vt&&(!$vt$$.ma_tt1||$vt$$.ma_tt1===$d$$.ma_tt1)&&(!$vt$$.ma_tt2||$vt$$.ma_tt2===$d$$.ma_tt2)&&(!$vt$$.ma_tt3||$vt$$.ma_tt3===
17
17
  $d$$.ma_tt3));if(0!=$ds$jscomp$1_tien$$.length){var $so_luong$$=$ds$jscomp$1_tien$$.map($d$$=>$d$$.sl_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$ds$jscomp$1_tien$$=$ds$jscomp$1_tien$$.map($d$$=>($d$$.tien_hang_nt||0)-($d$$.tien_ck_nt||0)).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$vt$$.sl_tu&&$so_luong$$<$vt$$.sl_tu||$vt$$.sl_den&&$so_luong$$>$vt$$.sl_den||$vt$$.gt_tu&&$ds$jscomp$1_tien$$<$vt$$.gt_tu||$vt$$.gt_den&&$ds$jscomp$1_tien$$>$vt$$.gt_den||($sl_dap_ung$$+=1)}});if($kh$jscomp$1_lan_mua_thu$jscomp$3_sl_toi_thieu$$<=
18
18
  $sl_dap_ung$$){$ckhd$jscomp$1_hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$.tien_ck?($obj$$.tien_ck_hd=$ckhd$jscomp$1_hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$.tien_ck,$obj$$.ty_le_ck_hd=0):($obj$$.ty_le_ck_hd=$ckhd$jscomp$1_hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$.ty_le_ck,$obj$$.tien_ck_hd=Math.roundBy($t_tien_nt$jscomp$1_t_tt_nt$$*$ckhd$jscomp$1_hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$.ty_le_ck/100,0));$ckhd$jscomp$1_hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$.so_tien_max&&
19
- ($obj$$.tien_ck_hd=Math.min($ckhd$jscomp$1_hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$.so_tien_max,$obj$$.tien_ck_hd));break}}}},getPointBalance=async($id_app$$,$user$$)=>new Promise(($resolve$$,$reject$$)=>{ckdiem({id_app:$id_app$$,email:$user$$},($e$$,$rs$$)=>{if($e$$)return $reject$$(Error($e$$));$resolve$$(0===$rs$$.length?0:$rs$$[0].ton00)})}),createTransactionBonus=async function($obj$$){if("5"!==$obj$$.trang_thai)return await transaction.deleteTrans({id_ct:$obj$$._id.toString()+":bonus"},
19
+ ($obj$$.tien_ck_hd=Math.min($ckhd$jscomp$1_hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$.so_tien_max,$obj$$.tien_ck_hd));break}}}},tinhtienthue=($detail$$,$gia_ban_chua_thue$$)=>{$detail$$.ma_thue?($gia_ban_chua_thue$$?($detail$$.tien_ct=$detail$$.tien,$detail$$.tien_ct_nt=$detail$$.tien_nt,$detail$$.gia_ban_ct=$detail$$.gia_ban,$detail$$.gia_ban_ct_nt=$detail$$.gia_ban_nt):($detail$$.tien_ct=$detail$$.tien/(1+$detail$$.thue_suat/100),$detail$$.tien_ct_nt=$detail$$.tien_nt/(1+$detail$$.thue_suat/
20
+ 100),$detail$$.gia_ban_ct=Math.roundBy($detail$$.tien_ct/($detail$$.sl_xuat||1)),$detail$$.gia_ban_ct_nt=Math.roundBy($detail$$.tien_ct_nt/($detail$$.sl_xuat||1)),$detail$$.tien_ct=$detail$$.sl_xuat*$detail$$.gia_ban_ct,$detail$$.tien_ct_nt=$detail$$.sl_xuat*$detail$$.gia_ban_ct_nt),$detail$$.tien_thue=Math.roundBy($detail$$.tien_ct*$detail$$.thue_suat/100),$detail$$.tien_thue_nt=Math.roundBy($detail$$.tien_ct_nt*$detail$$.thue_suat/100)):($detail$$.tien_ck_ct_nt=$detail$$.tien_ck_nt,$detail$$.tien_ck_ct=
21
+ $detail$$.tien_ck,$detail$$.tien_thue=0,$detail$$.tien_thue_nt=0,$detail$$.tien_ct=$detail$$.tien,$detail$$.tien_ct_nt=$detail$$.tien_nt)},getPointBalance=async($id_app$$,$user$$)=>new Promise(($resolve$$,$reject$$)=>{ckdiem({id_app:$id_app$$,email:$user$$},($e$$,$rs$$)=>{if($e$$)return $reject$$(Error($e$$));$resolve$$(0===$rs$$.length?0:$rs$$[0].ton00)})}),createTransactionBonus=async function($obj$$){if("5"!==$obj$$.trang_thai)return await transaction.deleteTrans({id_ct:$obj$$._id.toString()+":bonus"},
20
22
  "Tr\u1ea3 l\u1ea1i \u0111i\u1ec3m th\u01b0\u1edfng \u0111\u1ec3 t\u00ednh l\u1ea1i"),null;let $kh$$=await customer.findOne({id_app:$obj$$.id_app,ma_kh:$obj$$.ma_kh});if(!$kh$$)return await transaction.deleteTrans({id_ct:$obj$$._id.toString()+":bonus"},"Tr\u1ea3 l\u1ea1i \u0111i\u1ec3m th\u01b0\u1edfng \u0111\u1ec3 t\u00ednh l\u1ea1i"),null;let $lan_mua$$=(await model.find({id_app:$obj$$.id_app,ma_kh:$obj$$.ma_kh,ngay_ct:{$lte:$obj$$.ngay_ct}})).length+1;let $now$$=moment(new Date).startOf("date").toDate();
21
23
  var $amount_calcDiemThuong$$=$obj$$.details.filter($d$$=>$d$$.tien_hang).map(async $d$$=>{var $amount$$=await dmvt.findOne({ma_vt:$d$$.ma_vt,id_app:$obj$$.id_app}),$ckdiemthuong_ty_le_diem_thuong$$=await dmdiemthuong.find({id_app:$obj$$.id_app,status:!0,ma_kh:{$in:[null,"",$kh$$.ma_kh]},ma_kho:{$in:[null,"",$obj$$.ma_kho]},nh_kh:{$in:[null,"",$kh$$.nh_kh]},hieu_luc_tu:{$lte:$now$$},hieu_luc_den:{$gte:$now$$},ap_dung_lan_mua_thu:{$in:[0,$lan_mua$$]},ma_vt:{$in:[null,"",void 0,$d$$.ma_vt]},ma_nvt:{$in:[null,
22
24
  "",void 0,$amount$$?$amount$$.ma_nvt:""]}}).sort({ma_vt:-1,ma_nvt:-1,hieu_luc_tu:-1}).limit(1);return 0<$ckdiemthuong_ty_le_diem_thuong$$.length?($amount$$=0,$ckdiemthuong_ty_le_diem_thuong$$[0].tien?($ckdiemthuong_ty_le_diem_thuong$$=$ckdiemthuong_ty_le_diem_thuong$$[0].diem/$ckdiemthuong_ty_le_diem_thuong$$[0].tien)||($amount$$=Math.roundBy(($d$$.tien_hang-($d$$.tien_ck||0))*$ckdiemthuong_ty_le_diem_thuong$$,0)):$amount$$=$ckdiemthuong_ty_le_diem_thuong$$[0].diem*($d$$.sl_xuat||1),$amount$$):0});
@@ -32,47 +34,44 @@ $b$$)=>$a$$+$b$$,0);$vt$$.sl_tu&&$so_luong$$<$vt$$.sl_tu||$vt$$.sl_den&&$so_luon
32
34
  ($cust_date_created_id_ct_so_tien_giam$$=Math.roundBy($gt_don_hang$$*$_e$$.ty_le/100));$_e$$.so_tien_max&&$cust_date_created_id_ct_so_tien_giam$$>$_e$$.so_tien_max&&($cust_date_created_id_ct_so_tien_giam$$=$_e$$.so_tien_max);if($ev$$.so_tien_giam!==$cust_date_created_id_ct_so_tien_giam$$)return $reject$$(Error(`S\u1ed1 ti\u1ec1n gi\u1ea3m cho th\u1ebb ${$ev$$.ma} kh\u00f4ng h\u1ee3p l\u1ec7`));$ev$$.so_tien_giam=$cust_date_created_id_ct_so_tien_giam$$;$resolve$$(!0)})()}))},updateEvoucher=async($id_app$jscomp$1_rs$$,
33
35
  $evoucher_code$$,$id_ct$$)=>{$id_ct$$=$id_ct$$.toString();var $e$$=await Evoucher.findOne({ma:$evoucher_code$$,id_app:$id_app$jscomp$1_rs$$});$e$$?($e$$=$e$$.id_ct_useds||[],$e$$.push($id_ct$$),$e$$=[...(new Set($e$$))],$id_app$jscomp$1_rs$$=await Evoucher.findOneAndUpdate({ma:$evoucher_code$$,id_app:$id_app$jscomp$1_rs$$},{id_ct_useds:$e$$}),console.log("update id_ct_useds",$evoucher_code$$,$e$$,$id_app$jscomp$1_rs$$)):console.error("can't find evoucher",$evoucher_code$$)},deleteEvoucher=async($id_app$jscomp$2_id_ct_useds$$,
34
36
  $evoucher_code$$,$id_ct$$)=>{if($evoucher_code$$){$id_ct$$=$id_ct$$.toString();var $e$jscomp$2_rs$$=await Evoucher.findOne({id_app:$id_app$jscomp$2_id_ct_useds$$,ma:$evoucher_code$$});$e$jscomp$2_rs$$&&($id_app$jscomp$2_id_ct_useds$$=($e$jscomp$2_rs$$.id_ct_useds||[]).filter($ct$$=>$ct$$!==$id_ct$$),$e$jscomp$2_rs$$=await Evoucher.findOneAndUpdate({_id:$e$jscomp$2_rs$$._id},{id_ct_useds:$id_app$jscomp$2_id_ct_useds$$}),console.log("update id_ct_useds",$evoucher_code$$,$id_app$jscomp$2_id_ct_useds$$,
35
- $e$jscomp$2_rs$$))}},valid=async function($_opt_detail$jscomp$3_t_tien_evoucher_user$$,$obj$$,$next$$,$pre_obj_tien_con_lai$$){$pre_obj_tien_con_lai$$&&($obj$$._id=$pre_obj_tien_con_lai$$._id,$obj$$.details=$obj$$.details||$pre_obj_tien_con_lai$$.details||[],$obj$$.evouchers=$obj$$.evouchers||$pre_obj_tien_con_lai$$.evouchers||[]);if($obj$$.signature&&!await Wallet.verifySignature($obj$$.id_app,$obj$$.sign_user,$obj$$.sign_data,$obj$$.signature))return $next$$("Signature is not valid");try{await Promise.all(($obj$$.details||
36
- []).map($detail$$=>(async()=>{if($detail$$.signature&&!await Wallet.verifySignature($obj$$.id_app,$detail$$.sign_user,$detail$$.sign_data,$detail$$.signature))throw"Signature is not valid";})()))}catch($e$$){return $next$$($e$$||$e$$.message)}await ($obj$$.details||[]).filter($d$$=>!$d$$.ma_dvt&&$d$$.ma_tt1).asyncJoinModel2($_opt_detail$jscomp$3_t_tien_evoucher_user$$.current_id_app,dmtt,{where:{ma_vt:"ma_vt",ma_tt1:"ma_tt"},fields:"ma_dvt"});await ($obj$$.details||[]).filter($d$$=>!$d$$.ma_dvt&&
37
- $d$$.ma_tt2).asyncJoinModel2($_opt_detail$jscomp$3_t_tien_evoucher_user$$.current_id_app,dmtt,{where:{ma_vt:"ma_vt",ma_tt2:"ma_tt"},fields:"ma_dvt"});await ($obj$$.details||[]).filter($d$$=>!$d$$.ma_dvt&&$d$$.ma_tt3).asyncJoinModel2($_opt_detail$jscomp$3_t_tien_evoucher_user$$.current_id_app,dmtt,{where:{ma_vt:"ma_vt",ma_tt3:"ma_tt"},fields:"ma_dvt"});try{const $_checkEvoucher$$=checkEvoucher($_opt_detail$jscomp$3_t_tien_evoucher_user$$,$obj$$,$pre_obj_tien_con_lai$$);await Promise.all($_checkEvoucher$$)}catch($e$$){return $next$$($e$$.message)}$_opt_detail$jscomp$3_t_tien_evoucher_user$$=
38
- $obj$$.evouchers.map($e$$=>$e$$.so_tien_giam||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$pre_obj_tien_con_lai$$=$obj$$.details.map($a$$=>($a$$.tien_hang_nt||0)-($a$$.tien_ck_nt||0)).reduce(($a$$,$b$$)=>$a$$+$b$$,0)-(($obj$$.tt_tien_thuong||0)+($obj$$.tien_ck_hd||0));$_opt_detail$jscomp$3_t_tien_evoucher_user$$>$pre_obj_tien_con_lai$$&&($_opt_detail$jscomp$3_t_tien_evoucher_user$$=$pre_obj_tien_con_lai$$);$obj$$.tien_evoucher=$_opt_detail$jscomp$3_t_tien_evoucher_user$$;if($obj$$.tien_evoucher&&($_opt_detail$jscomp$3_t_tien_evoucher_user$$=
39
- await options.findOne({id_app:$obj$$.id_app,id_func:$obj$$.ma_ct.toLowerCase()}).lean())&&$_opt_detail$jscomp$3_t_tien_evoucher_user$$.option&&$_opt_detail$jscomp$3_t_tien_evoucher_user$$.option.phan_bo_evoucher){let $tien_evoucher_da_phan_bo$$=0,$tien_evoucher$$=$obj$$.tien_evoucher,$tien_evoucher_con_lai$$=$tien_evoucher$$-$tien_evoucher_da_phan_bo$$;($obj$$.details||[]).forEach($detail$$=>{if(0<$tien_evoucher_con_lai$$){var $tien_evoucher_duoc_pb_tien_hang_con_lai$$=$detail$$.tien_hang_nt-($detail$$.tien_ck_nt||
40
- 0);$tien_evoucher_duoc_pb_tien_hang_con_lai$$=$tien_evoucher_con_lai$$>$tien_evoucher_duoc_pb_tien_hang_con_lai$$?$tien_evoucher_duoc_pb_tien_hang_con_lai$$:$tien_evoucher_con_lai$$;$detail$$.tien_evoucher_duoc_pb=$tien_evoucher_duoc_pb_tien_hang_con_lai$$;$tien_evoucher_da_phan_bo$$+=$tien_evoucher_duoc_pb_tien_hang_con_lai$$;$tien_evoucher_con_lai$$=$tien_evoucher$$-$tien_evoucher_da_phan_bo$$}else $tien_evoucher_con_lai$$=0})}if($obj$$.paymentByPoints)try{var $he_so_qd_i$$=await currency.getRate($obj$$.id_app,
41
- $obj$$.ma_nt);$obj$$.tien_paymentByPoints=$obj$$.paymentByPoints*$he_so_qd_i$$}catch($e$$){return $next$$($e$$.message)}for($he_so_qd_i$$=0;$he_so_qd_i$$<$obj$$.details.length;$he_so_qd_i$$++){$_opt_detail$jscomp$3_t_tien_evoucher_user$$=$obj$$.details[$he_so_qd_i$$];if(null==$_opt_detail$jscomp$3_t_tien_evoucher_user$$.line||void 0==$_opt_detail$jscomp$3_t_tien_evoucher_user$$.line)$_opt_detail$jscomp$3_t_tien_evoucher_user$$.line=(new Date).getTime();$_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_hang=
42
- $_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_hang_nt=Math.roundBy($_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_hang_nt);$_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_ck=$_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_ck_nt=Math.roundBy($_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_ck_nt);$_opt_detail$jscomp$3_t_tien_evoucher_user$$.gia_ban=$_opt_detail$jscomp$3_t_tien_evoucher_user$$.gia_ban_nt;$_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien=$_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_nt=
43
- $_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_hang-$_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_ck;$_opt_detail$jscomp$3_t_tien_evoucher_user$$.ma_kho?$obj$$.ma_kho||($obj$$.ma_kho=$_opt_detail$jscomp$3_t_tien_evoucher_user$$.ma_kho):$_opt_detail$jscomp$3_t_tien_evoucher_user$$.ma_kho=$obj$$.ma_kho;$_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_xuat=$_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_xuat_nt=Math.roundBy($_opt_detail$jscomp$3_t_tien_evoucher_user$$.tien_xuat_nt||0)}$next$$(null,
44
- $obj$$)};
45
- module.exports=function($router$$){const $contr$$=new controller($router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,sort:{ngay_ct:-1,so_ct:-1},users_receive_notification_default:[{send_tat_ca_nhan_vien:!0,send_admin:!0}]});$contr$$.route();$contr$$.post=async function($obj$$,$fn$$){$fn$$||($fn$$=function(){});await $obj$$.details.asyncJoinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["ma_thue","ten_vt","tk_vt","tg_tk"]});$obj$$.details.filter($d$$=>!$d$$.tg_tk).forEach($d$$=>{$d$$.tien_xuat=$d$$.tien_xuat_nt=
37
+ $e$jscomp$2_rs$$))}},valid=async function($_opt_t_tien_evoucher_user$$,$obj$$,$next$$,$detail$jscomp$0$$){$detail$jscomp$0$$&&($obj$$._id=$detail$jscomp$0$$._id,$obj$$.details=$obj$$.details||$detail$jscomp$0$$.details||[],$obj$$.evouchers=$obj$$.evouchers||$detail$jscomp$0$$.evouchers||[]);if($obj$$.signature&&!await Wallet.verifySignature($obj$$.id_app,$obj$$.sign_user,$obj$$.sign_data,$obj$$.signature))return $next$$("Signature is not valid");try{await Promise.all(($obj$$.details||[]).map($detail$$=>
38
+ (async()=>{if($detail$$.signature&&!await Wallet.verifySignature($obj$$.id_app,$detail$$.sign_user,$detail$$.sign_data,$detail$$.signature))throw"Signature is not valid";})()))}catch($e$$){return $next$$($e$$||$e$$.message)}await ($obj$$.details||[]).filter($d$$=>!$d$$.ma_dvt&&$d$$.ma_tt1).asyncJoinModel2($_opt_t_tien_evoucher_user$$.current_id_app,dmtt,{where:{ma_vt:"ma_vt",ma_tt1:"ma_tt"},fields:"ma_dvt"});await ($obj$$.details||[]).filter($d$$=>!$d$$.ma_dvt&&$d$$.ma_tt2).asyncJoinModel2($_opt_t_tien_evoucher_user$$.current_id_app,
39
+ dmtt,{where:{ma_vt:"ma_vt",ma_tt2:"ma_tt"},fields:"ma_dvt"});await ($obj$$.details||[]).filter($d$$=>!$d$$.ma_dvt&&$d$$.ma_tt3).asyncJoinModel2($_opt_t_tien_evoucher_user$$.current_id_app,dmtt,{where:{ma_vt:"ma_vt",ma_tt3:"ma_tt"},fields:"ma_dvt"});try{const $_checkEvoucher$$=checkEvoucher($_opt_t_tien_evoucher_user$$,$obj$$,$detail$jscomp$0$$);await Promise.all($_checkEvoucher$$)}catch($e$$){return $next$$($e$$.message)}$_opt_t_tien_evoucher_user$$=$obj$$.evouchers.map($e$$=>$e$$.so_tien_giam||0).reduce(($a$$,
40
+ $b$$)=>$a$$+$b$$,0);$detail$jscomp$0$$=$obj$$.details.map($a$$=>($a$$.tien_hang_nt||0)-($a$$.tien_ck_nt||0)).reduce(($a$$,$b$$)=>$a$$+$b$$,0)-(($obj$$.tt_tien_thuong||0)+($obj$$.tien_ck_hd||0));$_opt_t_tien_evoucher_user$$>$detail$jscomp$0$$&&($_opt_t_tien_evoucher_user$$=$detail$jscomp$0$$);$obj$$.tien_evoucher=$_opt_t_tien_evoucher_user$$;$_opt_t_tien_evoucher_user$$=await Options.findOne({id_app:$obj$$.id_app,id_func:$obj$$.ma_ct.toLowerCase()}).lean();$_opt_t_tien_evoucher_user$$=($_opt_t_tien_evoucher_user$$||
41
+ {}).option||{};if($obj$$.tien_evoucher&&$_opt_t_tien_evoucher_user$$.option.phan_bo_evoucher){let $tien_evoucher_da_phan_bo$$=0,$tien_evoucher$$=$obj$$.tien_evoucher,$tien_evoucher_con_lai$$=$tien_evoucher$$-$tien_evoucher_da_phan_bo$$;($obj$$.details||[]).forEach($detail$$=>{if(0<$tien_evoucher_con_lai$$){var $tien_evoucher_duoc_pb_tien_hang_con_lai$$=$detail$$.tien_hang_nt-($detail$$.tien_ck_nt||0);$tien_evoucher_duoc_pb_tien_hang_con_lai$$=$tien_evoucher_con_lai$$>$tien_evoucher_duoc_pb_tien_hang_con_lai$$?
42
+ $tien_evoucher_duoc_pb_tien_hang_con_lai$$:$tien_evoucher_con_lai$$;$detail$$.tien_evoucher_duoc_pb=$tien_evoucher_duoc_pb_tien_hang_con_lai$$;$tien_evoucher_da_phan_bo$$+=$tien_evoucher_duoc_pb_tien_hang_con_lai$$;$tien_evoucher_con_lai$$=$tien_evoucher$$-$tien_evoucher_da_phan_bo$$}else $tien_evoucher_con_lai$$=0})}if($obj$$.paymentByPoints)try{var $he_so_qd_i$$=await currency.getRate($obj$$.id_app,$obj$$.ma_nt);$obj$$.tien_paymentByPoints=$obj$$.paymentByPoints*$he_so_qd_i$$}catch($e$$){return $next$$($e$$.message)}await $obj$$.details.asyncJoinModel2($obj$$.id_app,
43
+ vat,{where:"ma_thue",fields:["thue_suat","tk_thue_co","tk_thue_co_treo"]});for($he_so_qd_i$$=0;$he_so_qd_i$$<$obj$$.details.length;$he_so_qd_i$$++){$detail$jscomp$0$$=$obj$$.details[$he_so_qd_i$$];if(null==$detail$jscomp$0$$.line||void 0==$detail$jscomp$0$$.line)$detail$jscomp$0$$.line=(new Date).getTime();$detail$jscomp$0$$.tien_hang=$detail$jscomp$0$$.tien_hang_nt=Math.roundBy($detail$jscomp$0$$.tien_hang_nt);$detail$jscomp$0$$.tien_ck=$detail$jscomp$0$$.tien_ck_nt=Math.roundBy($detail$jscomp$0$$.tien_ck_nt);
44
+ $detail$jscomp$0$$.gia_ban=$detail$jscomp$0$$.gia_ban_nt;$detail$jscomp$0$$.tien=$detail$jscomp$0$$.tien_nt=$detail$jscomp$0$$.tien_hang-$detail$jscomp$0$$.tien_ck;$detail$jscomp$0$$.ma_kho=$obj$$.ma_kho;$detail$jscomp$0$$.tien_xuat=$detail$jscomp$0$$.tien_xuat_nt=Math.roundBy($detail$jscomp$0$$.tien_xuat_nt||0);tinhtienthue($detail$jscomp$0$$,$_opt_t_tien_evoucher_user$$.gia_ban_chua_thue)}$next$$(null,$obj$$)};
45
+ module.exports=function($router$$){const $contr$$=new controller($router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,sort:{ngay_ct:-1,so_ct:-1},users_receive_notification_default:[{send_tat_ca_nhan_vien:!0,send_admin:!0}]});$contr$$.route();$contr$$.post=async function($obj$$,$fn$$){$fn$$||($fn$$=function(){});await $obj$$.details.asyncJoinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["ten_vt","tk_vt","tg_tk"]});$obj$$.details.filter($d$$=>!$d$$.tg_tk).forEach($d$$=>{$d$$.tien_xuat=$d$$.tien_xuat_nt=
46
46
  0;$d$$.gia_von_nt=$d$$.gia_von=0});$obj$$.t_tien=$obj$$.details.csum("tien_hang");$obj$$.t_tien_nt=$obj$$.details.csum("tien_hang_nt");$obj$$.t_ck=$obj$$.details.csum("tien_ck")+$obj$$.tien_ck_hd+($obj$$.tien_evoucher||0);$obj$$.t_ck_nt=$obj$$.details.csum("tien_ck_nt")+$obj$$.tien_ck_hd+($obj$$.tien_evoucher||0);$obj$$.t_tt=$obj$$.t_tien-$obj$$.t_ck;$obj$$.t_tt_nt=$obj$$.t_tien_nt-$obj$$.t_ck_nt;$obj$$.con_no=$obj$$.t_tt_nt-($obj$$.tien_paymentByPoints||0)-($obj$$.tien_thu||0)-($obj$$.tien_thu2||
47
47
  0);0>$obj$$.con_no&&($obj$$.con_no=0);let $product_details$$=[...$obj$$.details.map($d$$=>({...$d$$}))];$product_details$$.forEach($d$$=>{$d$$={...$d$$};$d$$.promotion&&$d$$.promotion.details_km&&$d$$.promotion.details_km.forEach($p$$=>{if($p$$.ma_vt&&$p$$.sl_km){let $_p$$={};underscore.extend($_p$$,$p$$,{sl_xuat:$p$$.sl_km});$product_details$$.push($_p$$)}});$d$$.combo&&0<$d$$.combo.length&&($product_details$$=[...$product_details$$,...$d$$.combo])});$obj$$.promotion&&$obj$$.promotion.forEach($p$$=>
48
- {$p$$={...$p$$};if($p$$.ma_vt&&$p$$.sl_km){let $_p$$={};underscore.extend($_p$$,$p$$,{sl_xuat:$p$$.sl_km});$product_details$$.push($_p$$)}});$product_details$$=$product_details$$.filter($d$$=>!$d$$.combo||0===$d$$.combo.length);async.series({post_sokho:function($callback$jscomp$1$$){async.series({tt:$callback$jscomp$0$$=>{(new PostBook($obj$$,$product_details$$,Sokho,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.ma_kho=$obj$$.ma_kho;$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,
49
- $rs$$)})},kt:$callback$jscomp$0$$=>{(new PostBook($obj$$,$product_details$$,Sokhott,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.ma_kho=$obj$$.ma_kho;$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},khongton:$callback$jscomp$0$$=>{(new PostBook($obj$$,$product_details$$,Sokhokhongton,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.ma_kho=$obj$$.ma_kho;$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,
50
- $rs$$)})}},($e$$,$rs$$)=>{$callback$jscomp$1$$($e$$,$rs$$)})},post_socai:function($callback$jscomp$0$$){options.findOne({id_app:$obj$$.id_app,id_func:ma_ct.toLowerCase()}).lean().exec(async($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$,$_opt$jscomp$1_tt_tt$$)=>{let $option$$;$option$$=$_opt$jscomp$1_tt_tt$$?$_opt$jscomp$1_tt_tt$$.option||{}:{};$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$=await dmkho.findOne({id_app:$obj$$.id_app,
51
- ma_kho:$obj$$.ma_kho}).lean()||{};let $pt$$;$obj$$.pt_thanh_toan&&global.mongoose.Types.ObjectId.isValid($obj$$.pt_thanh_toan)&&($pt$$=await ptthanhtoan.findOne({id_app:$obj$$.id_app,_id:$obj$$.pt_thanh_toan}).lean());$pt$$=$pt$$||{};$pt$$.tk_tien=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_tien||$pt$$.tk_tien;$pt$$.tk_cn=$pt$$.tk_cn||$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_cn;$pt$$.tk_dt=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_dt||
52
- $pt$$.tk_dt;$pt$$.tk_gv=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_gv||$pt$$.tk_gv;$pt$$.tk_ck=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_ck||$pt$$.tk_ck;$pt$$.ma_kh||($pt$$.ma_kh=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh);$pt$$.ma_kh&&($pt$$.tk_tien=$pt$$.tk_cn);$option$$.tk_tien=$pt$$.tk_tien||$option$$.tk_tien||"1111";$option$$.tk_cn=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_cn||
53
- $option$$.tk_cn||"131111";$option$$.tk_dt=$pt$$.tk_dt||$option$$.tk_dt||"51111";$option$$.tk_ck=$pt$$.tk_ck||$option$$.tk_ck||"52111";$option$$.tk_gv=$pt$$.tk_gv||$option$$.tk_gv||"6321";$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$=[...$obj$$.details.map($d$$=>({...$d$$}))];let $details_ht$$=[];await $details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.asyncJoinModel2($obj$$.id_app,vat,{where:"ma_thue",fields:["thue_suat",
54
- "tk_thue_co","tk_thue_co_treo"]});$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.forEach($detail$$=>{$detail$$.ma_thue&&$detail$$.tk_thue_co_treo?($detail$$.tien_ct=$detail$$.tien/(1+$detail$$.thue_suat/100),$detail$$.tien_ct_nt=$detail$$.tien_nt/(1+$detail$$.thue_suat/100),$detail$$.gia_ban_ct=Math.roundBy($detail$$.tien_ct/($detail$$.sl_xuat||1)),$detail$$.gia_ban_ct_nt=Math.roundBy($detail$$.tien_ct_nt/($detail$$.sl_xuat||1)),$detail$$.tien_ct=$detail$$.sl_xuat*
55
- $detail$$.gia_ban_ct,$detail$$.tien_ct_nt=$detail$$.sl_xuat*$detail$$.gia_ban_ct_nt,$detail$$.tien_thue=Math.roundBy($detail$$.tien_ct*$detail$$.thue_suat/100),$detail$$.tien_thue_nt=Math.roundBy($detail$$.tien_ct_nt*$detail$$.thue_suat/100)):($detail$$.tien_ck_ct_nt=$detail$$.tien_ck_nt,$detail$$.tien_ck_ct=$detail$$.tien_ck,$detail$$.tien_thue=0,$detail$$.tien_thue_nt=0,$detail$$.tien_ct=$detail$$.tien,$detail$$.tien_ct_nt=$detail$$.tien_nt)});$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.forEach($detail$$=>
56
- {$detail$$={...$detail$$};$detail$$.tk_no=$option$$.tk_tien;$detail$$.tk_co=$option$$.tk_dt;$detail$$.ma_kh||($detail$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh);$detail$$.tien_nt=$detail$$.tien_ct_nt;$detail$$.tien=$detail$$.tien_ct;$detail$$.flag="DT_"+($detail$$.ma_vt||"");$details_ht$$.push($detail$$)});$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.filter($d$$=>$d$$.tien_thue).forEach($detail$$=>{$detail$$={...$detail$$};$detail$$.tk_no=$option$$.tk_tien;$detail$$.tk_co=
57
- $detail$$.tk_thue_co_treo;$detail$$.ma_kh||($detail$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh);$detail$$.tien_nt=$detail$$.tien_thue_nt;$detail$$.tien=$detail$$.tien_thue;$detail$$.flag="THUE_"+($detail$$.ma_vt||"");$details_ht$$.push($detail$$)});if($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$=$obj$$.tien_evoucher||0)$_opt$jscomp$1_tt_tt$$={},$_opt$jscomp$1_tt_tt$$.tk_no=$obj$$.tk_no_evoucher||$option$$.tk_no_evoucher||$option$$.tk_ck,$_opt$jscomp$1_tt_tt$$.tk_co=
58
- $obj$$.tk_co_evoucher||$option$$.tk_co_evoucher||$option$$.tk_tien,$_opt$jscomp$1_tt_tt$$.tien_nt=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$,$_opt$jscomp$1_tt_tt$$.tien=$_opt$jscomp$1_tt_tt$$.tien_nt,$_opt$jscomp$1_tt_tt$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh,$_opt$jscomp$1_tt_tt$$.check_balance=!1,$details_ht$$.push($_opt$jscomp$1_tt_tt$$);$obj$$.tien_ck_hd&&($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$={},
59
- $details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$option$$.tk_ck,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=$option$$.tk_tien,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.tien_ck_hd||0,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt,
60
- $details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.check_balance=!1,$details_ht$$.push($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$));$obj$$.con_no&&($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$={},$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=
61
- $option$$.tk_cn,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=$option$$.tk_tien,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.con_no,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien=$obj$$.con_no,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh=$obj$$.ma_kh,$details_ht$$.push($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$));
62
- $obj$$.tien_thu&&$pt$$.tk_cn&&$pt$$.tk_cn!==$option$$.tk_tien&&($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$={},$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$pt$$.tk_cn,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=$option$$.tk_tien,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.tien_thu,
63
- $details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien=$obj$$.tien_thu,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh,$details_ht$$.push($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$));$obj$$.tien_thu2&&($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$=($obj$$.pt_thanh_toan2&&global.mongoose.Types.ObjectId.isValid($obj$$.pt_thanh_toan2)?
64
- await ptthanhtoan.findOne({_id:$obj$$.pt_thanh_toan2}).lean():null)||$pt$$,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_cn&&$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh!==$pt$$.ma_kh&&($_opt$jscomp$1_tt_tt$$={},$_opt$jscomp$1_tt_tt$$.tk_no=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_cn,$_opt$jscomp$1_tt_tt$$.tk_co=$option$$.tk_tien,$_opt$jscomp$1_tt_tt$$.tien_nt=
65
- $obj$$.tien_thu2,$_opt$jscomp$1_tt_tt$$.tien=$obj$$.tien_thu2,$_opt$jscomp$1_tt_tt$$.ma_kh_no=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh,$_opt$jscomp$1_tt_tt$$.ma_kh_co=$pt$$.ma_kh,$details_ht$$.push($_opt$jscomp$1_tt_tt$$)));let $details_tienvon$$=[];$product_details$$.forEach(function($detail$$){$detail$$={...$detail$$};$detail$$.tk_no=$option$$.tk_gv;$detail$$.ma_kh||($detail$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh);$detail$$.tk_co=$detail$$.tk_vt;
66
- $detail$$.tien_nt=$detail$$.tien_xuat_nt;$detail$$.tien=$detail$$.tien_xuat;$details_tienvon$$.push($detail$$)});async.series({xdtk:$callback$$=>{$details_tienvon$$.joinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["tk_vt","gia_mua","tk_gv","tg_tk"]},()=>{$details_tienvon$$.forEach($s$$=>{$s$$.tg_tk||($s$$.tien=$s$$.tien_nt=0);$s$$.tk_co||($s$$.tk_co=$s$$.tk_vt);$s$$.tk_no||($s$$.tk_no=$s$$.tk_gv)});$callback$$()})}},()=>{$details_ht$$=$details_ht$$.concat($details_tienvon$$);$details_ht$$.forEach($d$$=>
67
- {$d$$.ma_kho=$obj$$.ma_kho});(new PostSocai($obj$$,$details_ht$$)).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})})})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};$contr$$.saving=async($user$$,$obj$$)=>{await chietkhauhd($obj$$);await khuyenmaihd($obj$$)};$contr$$.creating=async function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);await $obj$$.details.asyncJoinModel2($user$$.current_id_app,dmvt,{where:"ma_vt",fields:["combo"]});$obj$$.details.forEach($detail$$=>{$detail$$.combo&&
68
- 0<$detail$$.combo.length&&($detail$$.combo=$detail$$.combo.map($item$$=>{$item$$=$item$$.toObject?$item$$.toObject():{...$item$$};$item$$.sl_xuat=($item$$.sl_xuat||0)*($detail$$.sl_xuat||0);$item$$.tien_xuat=$item$$.tien_xuat_nt=$item$$.sl_xuat*($item$$.gia_von_nt||0);$item$$.tien_hang=$item$$.tien_hang_nt=$item$$.sl_xuat*($item$$.gia_ban_nt||0);$item$$.tien_ck=$item$$.tien_ck_nt=$item$$.sl_xuat*($item$$.tien_ck_nt||0);$item$$.tien=$item$$.tien_nt=$item$$.tien_hang_nt-($item$$.tien_ck_nt||0);return $item$$}))});
69
- $obj$$.tien_thu=Math.roundBy($obj$$.tien_thu||0);$obj$$.tien_thu2=Math.roundBy($obj$$.tien_thu2||0);valid($user$$,$obj$$,async $error$$=>{if($error$$)return $next$$($error$$);if(!$obj$$.paymentByPoints)return $next$$(null,$obj$$);try{if(await getPointBalance($user$$.current_id_app,$user$$.email)<$obj$$.paymentByPoints)return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 \u0111\u1ee7 \u0111i\u1ec3m \u0111\u1ec3 th\u1ef1c hi\u1ec7n giao d\u1ecbch n\u00e0y.");$next$$(null,$obj$$)}catch($e$$){$next$$($e$$.message)}})};
70
- $contr$$.created=async function($user$$,$obj$$,$next$$){await createTransactionPayment($obj$$);await createTransactionBonus($obj$$);$obj$$.evouchers&&await Promise.all($obj$$.evouchers.map($e$$=>updateEvoucher($e$$.id_app,$e$$.ma,$obj$$._id)));"5"==$obj$$.trang_thai&&($obj$$.trang_thai="6",await model.findOneAndUpdate({_id:$obj$$._id},{trang_thai:"6"}));$next$$(null,$obj$$)};$contr$$.updating=async function($user$$,$data$$,$obj$$,$next$$){$data$$.details||($data$$.details=$obj$$.details||[]);$data$$.evouchers||
71
- ($data$$.evouchers=$obj$$.evouchers||[]);await $data$$.details.asyncJoinModel2($user$$.current_id_app,dmvt,{where:"ma_vt",fields:["combo"]});$data$$.details.forEach($detail$$=>{$detail$$.combo&&0<$detail$$.combo.length&&($detail$$.combo=$detail$$.combo.map($item$$=>{$item$$=$item$$.toObject?$item$$.toObject():{...$item$$};$item$$.sl_xuat=($item$$.sl_xuat||0)*($detail$$.sl_xuat||0);$item$$.tien_xuat=$item$$.tien_xuat_nt=$item$$.sl_xuat*($item$$.gia_von_nt||0);$item$$.tien_hang=$item$$.tien_hang_nt=
72
- $item$$.sl_xuat*($item$$.gia_ban_nt||0);$item$$.tien_ck=$item$$.tien_ck_nt=$item$$.sl_xuat*($item$$.tien_ck_nt||0);$item$$.tien=$item$$.tien_nt=$item$$.tien_hang_nt-($item$$.tien_ck_nt||0);return $item$$}))});$data$$.tien_thu=void 0==$data$$.tien_thu?$obj$$.tien_thu:$data$$.tien_thu;$data$$.tien_thu2=void 0==$data$$.tien_thu2?$obj$$.tien_thu2:$data$$.tien_thu2;$data$$.tien_thu=Math.roundBy($data$$.tien_thu||0);$data$$.tien_thu2=Math.roundBy($data$$.tien_thu2||0);$data$$.ma_ban&&$obj$$.ma_ban!==$data$$.ma_ban&&
73
- ($data$$.ma_ban0=$obj$$.ma_ban);$data$$.details.forEach(function($d$$){$obj$$.details.forEach(function($_d$$){if($_d$$.ma_vt===$d$$.ma_vt&&$_d$$.line===$d$$.line){if(void 0==$d$$.sl_order||null==$d$$.sl_order)$d$$.sl_order=$_d$$.sl_order;if(void 0==$d$$.sl_xuat||null==$d$$.sl_xuat)$d$$.sl_xuat=$_d$$.sl_xuat;$d$$.order_time=$d$$.order_time||$_d$$.order_time||new Date;$d$$.sl_order<=$d$$.sl_xuat?$d$$.finish_time&&$d$$.sl_xuat===$_d$$.sl_xuat||($d$$.finish_time=new Date):$d$$.finish_time=null;let $trang_thai$$=
74
- $data$$.trang_thai||$obj$$.trang_thai;$d$$.finish_time||"5"!==$trang_thai$$&&"6"!==$trang_thai$$&&"9"!==$trang_thai$$||($d$$.finish_time=new Date);$_d$$.het_hang&&($d$$.het_hang=!0)}})});valid($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);if($obj$$.paymentByPoints&&$obj$$.paymentByPoints!==($data$$.paymentByPoints||0))return $next$$("B\u1ea1n kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt s\u1ed1 \u0111i\u1ec3m thanh to\u00e1n.");$data$$.ma_ban&&$obj$$.ma_ban&&$data$$.ma_ban!==$obj$$.ma_ban&&
75
- App.emitEvent($obj$$.id_app,"pbl:delete",{_id:$obj$$._id,ma_ban:$obj$$.ma_ban,action:"DELETE",trang_thai:-1});$next$$(null,$data$$,$obj$$)},$obj$$)};$contr$$.updated=async function($evouchers_user$$,$obj$$,$next$$){await Evoucher.updateMany({id_ct_used:$obj$$._id.toString()},{id_ct_used:null});$evouchers_user$$=await Evoucher.find({id_ct_useds:$obj$$._id.toString()});await Promise.all($evouchers_user$$.map($e$$=>deleteEvoucher($e$$.id_app,$e$$.ma,$obj$$._id)));"9"===$obj$$.trang_thai?(await transaction.deleteTrans({id_ct:$obj$$._id.toString()}),
48
+ {$p$$={...$p$$};if($p$$.ma_vt&&$p$$.sl_km){let $_p$$={};underscore.extend($_p$$,$p$$,{sl_xuat:$p$$.sl_km});$product_details$$.push($_p$$)}});$product_details$$=$product_details$$.filter($d$$=>!$d$$.combo||0===$d$$.combo.length);async.series({post_sokho:function($callback$jscomp$1$$){async.series({khokt:$callback$jscomp$0$$=>{(new PostBook($obj$$,$product_details$$,Sokho,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.ma_kho=$obj$$.ma_kho;$callback$$($detail$$)})).run(function($e$$,
49
+ $rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},khott:$callback$jscomp$0$$=>{(new PostBook($obj$$,$product_details$$,Sokhott,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.ma_kho=$obj$$.ma_kho;$callback$$($detail$$)})).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})},khongton:$callback$jscomp$0$$=>{(new PostBook($obj$$,$product_details$$,Sokhokhongton,async function($detail$$,$callback$$){$detail$$.nxt=2;$detail$$.ma_kho=$obj$$.ma_kho;$callback$$($detail$$)})).run(function($e$$,
50
+ $rs$$){$callback$jscomp$0$$($e$$,$rs$$)})}},($e$$,$rs$$)=>{$callback$jscomp$1$$($e$$,$rs$$)})},post_socai:function($callback$jscomp$0$$){Options.findOne({id_app:$obj$$.id_app,id_func:ma_ct.toLowerCase()}).lean().exec(async($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$,$_opt$jscomp$1_tt_tt$$)=>{let $option$$;$option$$=$_opt$jscomp$1_tt_tt$$?$_opt$jscomp$1_tt_tt$$.option||{}:{};$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$=
51
+ await dmkho.findOne({id_app:$obj$$.id_app,ma_kho:$obj$$.ma_kho}).lean()||{};let $pt$$;$obj$$.pt_thanh_toan&&global.mongoose.Types.ObjectId.isValid($obj$$.pt_thanh_toan)&&($pt$$=await ptthanhtoan.findOne({id_app:$obj$$.id_app,_id:$obj$$.pt_thanh_toan}).lean());$pt$$=$pt$$||{};$pt$$.tk_tien=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_tien||$pt$$.tk_tien;$pt$$.tk_cn=$pt$$.tk_cn||$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_cn;
52
+ $pt$$.tk_dt=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_dt||$pt$$.tk_dt;$pt$$.tk_gv=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_gv||$pt$$.tk_gv;$pt$$.tk_ck=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_ck||$pt$$.tk_ck;$pt$$.ma_kh||($pt$$.ma_kh=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh);$pt$$.ma_kh&&
53
+ ($pt$$.tk_tien=$pt$$.tk_cn);$option$$.tk_tien=$pt$$.tk_tien||$option$$.tk_tien||"1111";$option$$.tk_cn=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_cn||$option$$.tk_cn||"131111";$option$$.tk_dt=$pt$$.tk_dt||$option$$.tk_dt||"51111";$option$$.tk_ck=$pt$$.tk_ck||$option$$.tk_ck||"52111";$option$$.tk_gv=$pt$$.tk_gv||$option$$.tk_gv||"6321";$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$=[...$obj$$.details.map($d$$=>
54
+ ({...$d$$}))];let $details_ht$$=[];$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.forEach($detail$$=>{$detail$$={...$detail$$};let $tien$$=$detail$$.tien_ct+($detail$$.tien-($detail$$.tien_ct+$detail$$.tien_thue)),$tien_nt$$=$detail$$.tien_ct_nt+($detail$$.tien_nt-($detail$$.tien_ct_nt+$detail$$.tien_thue_nt));$detail$$.tk_no=$option$$.tk_tien;$detail$$.tk_co=$option$$.tk_dt;$detail$$.ma_kh||($detail$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh);$detail$$.tien_nt=
55
+ $tien_nt$$;$detail$$.tien=$tien$$;$detail$$.flag="DT_"+($detail$$.ma_vt||"");$details_ht$$.push($detail$$)});$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.filter($d$$=>$d$$.tien_thue&&($d$$.tk_thue_co_treo||$d$$.tk_thue_co)).forEach($detail$$=>{$detail$$={...$detail$$};$detail$$.tk_no=$option$$.tk_tien;$detail$$.tk_co=$detail$$.tk_thue_co_treo||$detail$$.tk_thue_co;$detail$$.ma_kh||($detail$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh);$detail$$.tien_nt=$detail$$.tien_thue_nt;
56
+ $detail$$.tien=$detail$$.tien_thue;$detail$$.flag="THUE_"+($detail$$.ma_vt||"");$details_ht$$.push($detail$$)});if($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$=$obj$$.tien_evoucher||0)$_opt$jscomp$1_tt_tt$$={},$_opt$jscomp$1_tt_tt$$.tk_no=$obj$$.tk_no_evoucher||$option$$.tk_no_evoucher||$option$$.tk_ck,$_opt$jscomp$1_tt_tt$$.tk_co=$obj$$.tk_co_evoucher||$option$$.tk_co_evoucher||$option$$.tk_tien,$_opt$jscomp$1_tt_tt$$.tien_nt=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$,
57
+ $_opt$jscomp$1_tt_tt$$.tien=$_opt$jscomp$1_tt_tt$$.tien_nt,$_opt$jscomp$1_tt_tt$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh,$_opt$jscomp$1_tt_tt$$.check_balance=!1,$details_ht$$.push($_opt$jscomp$1_tt_tt$$);$obj$$.tien_ck_hd&&($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$={},$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$option$$.tk_ck,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=
58
+ $option$$.tk_tien,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.tien_ck_hd||0,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.check_balance=
59
+ !1,$details_ht$$.push($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$));$obj$$.con_no&&($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$={},$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$option$$.tk_cn,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=$option$$.tk_tien,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=
60
+ $obj$$.con_no,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien=$obj$$.con_no,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh=$obj$$.ma_kh,$details_ht$$.push($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$));$obj$$.tien_thu&&$pt$$.tk_cn&&$pt$$.tk_cn!==$option$$.tk_tien&&($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$=
61
+ {},$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_no=$pt$$.tk_cn,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_co=$option$$.tk_tien,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien_nt=$obj$$.tien_thu,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tien=$obj$$.tien_thu,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh=
62
+ $pt$$.ma_kh||$obj$$.ma_kh,$details_ht$$.push($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$));$obj$$.tien_thu2&&($details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$=($obj$$.pt_thanh_toan2&&global.mongoose.Types.ObjectId.isValid($obj$$.pt_thanh_toan2)?await ptthanhtoan.findOne({_id:$obj$$.pt_thanh_toan2}).lean():null)||$pt$$,$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_cn&&
63
+ $details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh!==$pt$$.ma_kh&&($_opt$jscomp$1_tt_tt$$={},$_opt$jscomp$1_tt_tt$$.tk_no=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.tk_cn,$_opt$jscomp$1_tt_tt$$.tk_co=$option$$.tk_tien,$_opt$jscomp$1_tt_tt$$.tien_nt=$obj$$.tien_thu2,$_opt$jscomp$1_tt_tt$$.tien=$obj$$.tien_thu2,$_opt$jscomp$1_tt_tt$$.ma_kh_no=$details_error$jscomp$1_kho_pt2_tien_evoucher_con_lai$jscomp$1_tt$jscomp$1_tt$jscomp$2_tt$$.ma_kh,
64
+ $_opt$jscomp$1_tt_tt$$.ma_kh_co=$pt$$.ma_kh,$details_ht$$.push($_opt$jscomp$1_tt_tt$$)));let $details_tienvon$$=[];$product_details$$.forEach(function($detail$$){$detail$$={...$detail$$};$detail$$.tk_no=$option$$.tk_gv;$detail$$.ma_kh||($detail$$.ma_kh=$pt$$.ma_kh||$obj$$.ma_kh);$detail$$.tk_co=$detail$$.tk_vt;$detail$$.tien_nt=$detail$$.tien_xuat_nt;$detail$$.tien=$detail$$.tien_xuat;$details_tienvon$$.push($detail$$)});async.series({xdtk:$callback$$=>{$details_tienvon$$.joinModel2($obj$$.id_app,
65
+ dmvt,{where:"ma_vt",fields:["tk_vt","gia_mua","tk_gv","tg_tk"]},()=>{$details_tienvon$$.forEach($s$$=>{$s$$.tg_tk||($s$$.tien=$s$$.tien_nt=0);$s$$.tk_co||($s$$.tk_co=$s$$.tk_vt);$s$$.tk_no||($s$$.tk_no=$s$$.tk_gv)});$callback$$()})}},()=>{$details_ht$$=$details_ht$$.concat($details_tienvon$$);$details_ht$$.forEach($d$$=>{$d$$.ma_kho=$obj$$.ma_kho});(new PostSocai($obj$$,$details_ht$$)).run(function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})})})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};$contr$$.saving=
66
+ async($user$$,$obj$$)=>{await chietkhauhd($obj$$);await khuyenmaihd($obj$$)};$contr$$.creating=async function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);await $obj$$.details.asyncJoinModel2($user$$.current_id_app,dmvt,{where:"ma_vt",fields:["combo","ma_thue"]});$obj$$.details.forEach($detail$$=>{$detail$$.combo&&0<$detail$$.combo.length&&($detail$$.combo=$detail$$.combo.map($item$$=>{$item$$=$item$$.toObject?$item$$.toObject():{...$item$$};$item$$.sl_xuat=($item$$.sl_xuat||0)*($detail$$.sl_xuat||
67
+ 0);$item$$.tien_xuat=$item$$.tien_xuat_nt=$item$$.sl_xuat*($item$$.gia_von_nt||0);$item$$.tien_hang=$item$$.tien_hang_nt=$item$$.sl_xuat*($item$$.gia_ban_nt||0);$item$$.tien_ck=$item$$.tien_ck_nt=$item$$.sl_xuat*($item$$.tien_ck_nt||0);$item$$.tien=$item$$.tien_nt=$item$$.tien_hang_nt-($item$$.tien_ck_nt||0);return $item$$}))});$obj$$.tien_thu=Math.roundBy($obj$$.tien_thu||0);$obj$$.tien_thu2=Math.roundBy($obj$$.tien_thu2||0);valid($user$$,$obj$$,async $error$$=>{if($error$$)return $next$$($error$$);
68
+ if(!$obj$$.paymentByPoints)return $next$$(null,$obj$$);try{if(await getPointBalance($user$$.current_id_app,$user$$.email)<$obj$$.paymentByPoints)return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 \u0111\u1ee7 \u0111i\u1ec3m \u0111\u1ec3 th\u1ef1c hi\u1ec7n giao d\u1ecbch n\u00e0y.");$next$$(null,$obj$$)}catch($e$$){$next$$($e$$.message)}})};$contr$$.created=async function($user$$,$obj$$,$next$$){await createTransactionPayment($obj$$);await createTransactionBonus($obj$$);$obj$$.evouchers&&await Promise.all($obj$$.evouchers.map($e$$=>
69
+ updateEvoucher($e$$.id_app,$e$$.ma,$obj$$._id)));"5"==$obj$$.trang_thai&&($obj$$.trang_thai="6",await model.findOneAndUpdate({_id:$obj$$._id},{trang_thai:"6"}));$next$$(null,$obj$$)};$contr$$.updating=async function($user$$,$data$$,$obj$$,$next$$){$data$$.details||($data$$.details=$obj$$.details||[]);$data$$.evouchers||($data$$.evouchers=$obj$$.evouchers||[]);await $data$$.details.asyncJoinModel2($user$$.current_id_app,dmvt,{where:"ma_vt",setFields:($item$$,$ref$$)=>{$item$$.combo=$ref$$.combo;$obj$$.details.find($d$$=>
70
+ $d$$.ma_vt===$item$$.ma_vt)?$item$$.ma_thue||($item$$.ma_thue=$ref$$.ma_thue):$item$$.ma_thue=$ref$$.ma_thue}});$data$$.details.forEach($detail$$=>{$detail$$.combo&&0<$detail$$.combo.length&&($detail$$.combo=$detail$$.combo.map($item$$=>{$item$$=$item$$.toObject?$item$$.toObject():{...$item$$};$item$$.sl_xuat=($item$$.sl_xuat||0)*($detail$$.sl_xuat||0);$item$$.tien_xuat=$item$$.tien_xuat_nt=$item$$.sl_xuat*($item$$.gia_von_nt||0);$item$$.tien_hang=$item$$.tien_hang_nt=$item$$.sl_xuat*($item$$.gia_ban_nt||
71
+ 0);$item$$.tien_ck=$item$$.tien_ck_nt=$item$$.sl_xuat*($item$$.tien_ck_nt||0);$item$$.tien=$item$$.tien_nt=$item$$.tien_hang_nt-($item$$.tien_ck_nt||0);return $item$$}))});$data$$.tien_thu=void 0==$data$$.tien_thu?$obj$$.tien_thu:$data$$.tien_thu;$data$$.tien_thu2=void 0==$data$$.tien_thu2?$obj$$.tien_thu2:$data$$.tien_thu2;$data$$.tien_thu=Math.roundBy($data$$.tien_thu||0);$data$$.tien_thu2=Math.roundBy($data$$.tien_thu2||0);$data$$.ma_ban&&$obj$$.ma_ban!==$data$$.ma_ban&&($data$$.ma_ban0=$obj$$.ma_ban);
72
+ $data$$.details.forEach(function($d$$){$obj$$.details.forEach(function($_d$$){if($_d$$.ma_vt===$d$$.ma_vt&&$_d$$.line===$d$$.line){if(void 0==$d$$.sl_order||null==$d$$.sl_order)$d$$.sl_order=$_d$$.sl_order;if(void 0==$d$$.sl_xuat||null==$d$$.sl_xuat)$d$$.sl_xuat=$_d$$.sl_xuat;$d$$.order_time=$d$$.order_time||$_d$$.order_time||new Date;$d$$.sl_order<=$d$$.sl_xuat?$d$$.finish_time&&$d$$.sl_xuat===$_d$$.sl_xuat||($d$$.finish_time=new Date):$d$$.finish_time=null;let $trang_thai$$=$data$$.trang_thai||
73
+ $obj$$.trang_thai;$d$$.finish_time||"5"!==$trang_thai$$&&"6"!==$trang_thai$$&&"9"!==$trang_thai$$||($d$$.finish_time=new Date);$_d$$.het_hang&&($d$$.het_hang=!0)}})});valid($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);if($obj$$.paymentByPoints&&$obj$$.paymentByPoints!==($data$$.paymentByPoints||0))return $next$$("B\u1ea1n kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt s\u1ed1 \u0111i\u1ec3m thanh to\u00e1n.");$data$$.ma_ban&&$obj$$.ma_ban&&$data$$.ma_ban!==$obj$$.ma_ban&&App.emitEvent($obj$$.id_app,
74
+ "pbl:delete",{_id:$obj$$._id,ma_ban:$obj$$.ma_ban,action:"DELETE",trang_thai:-1});$next$$(null,$data$$,$obj$$)},$obj$$)};$contr$$.updated=async function($evouchers_user$$,$obj$$,$next$$){await Evoucher.updateMany({id_ct_used:$obj$$._id.toString()},{id_ct_used:null});$evouchers_user$$=await Evoucher.find({id_ct_useds:$obj$$._id.toString()});await Promise.all($evouchers_user$$.map($e$$=>deleteEvoucher($e$$.id_app,$e$$.ma,$obj$$._id)));"9"===$obj$$.trang_thai?(await transaction.deleteTrans({id_ct:$obj$$._id.toString()}),
76
75
  await transaction.deleteTrans({id_ct:$obj$$._id.toString()+":bonus"},"Tr\u1ea3 l\u1ea1i \u0111i\u1ec3m th\u01b0\u1edfng")):(createTransactionBonus($obj$$),$obj$$.evouchers&&await Promise.all($obj$$.evouchers.map($e$$=>updateEvoucher($e$$.id_app,$e$$.ma,$obj$$._id))));"5"==$obj$$.trang_thai&&($obj$$.trang_thai="6",await model.findOneAndUpdate({_id:$obj$$._id},{trang_thai:"6"}));$next$$(null,$obj$$)};$contr$$.deleting=function($user$$,$obj$$,$next$$){$next$$(null,$obj$$)};$contr$$.deleted=async function($user$$,
77
76
  $obj$$,$callback$$){await transaction.deleteTrans({id_ct:$obj$$._id.toString()});await transaction.deleteTrans({id_ct:$obj$$._id.toString()+":bonus"},"Tr\u1ea3 l\u1ea1i \u0111i\u1ec3m th\u01b0\u1edfng");$obj$$.evouchers&&await Promise.all($obj$$.evouchers.map($e$$=>deleteEvoucher($e$$.id_app,$e$$.ma,$obj$$._id)));$callback$$(null,$obj$$)};$contr$$.find=function($user$$,$condition$$,$next$$){$next$$(null,$condition$$)};$contr$$.view=function($user$$,$items$$,$fn$$){let $id_app$$=$user$$.current_id_app;
78
77
  $items$$.forEach($item$$=>{$item$$.trang_thai=$item$$.trang_thai.toString();$item$$.evouchers&&($item$$.evouchers_string=$item$$.evouchers.map($e$$=>$e$$.ma).join(","))});async.series({dv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dvcs).joinModel2($id_app$$,dvcs,[{where:{ma_dvcs:"_id"},fields:[{ten_dvcs:"ten_dvcs"}]}],function(){$callback$$()})},kh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,[{where:{ma_kh:"ma_kh"},fields:[{ten_kh:"ten_kh"},
@@ -80,11 +79,12 @@ $items$$.forEach($item$$=>{$item$$.trang_thai=$item$$.trang_thai.toString();$ite
80
79
  $item$$.ma_kho).joinModel2($id_app$$,dmkho,[{where:{ma_kho:"ma_kho"},fields:[{ten_kho:"ten_kho"}],setFields:($a$$,$b$$)=>{$b$$&&$b$$.exfields&&($a$$.dia_chi_kho=$b$$.exfields.dia_chi,$a$$.dien_thoai_kho=$b$$.exfields.dien_thoai)}}],function(){$callback$$()})},hd7:function($callback$$){$items$$.joinModel2($id_app$$,hd7,[{where:{_id:"id_pbl"},fields:[{id_hd7:"_id"},{so_ct_hd7:"so_ct"},{ngay_ct_hd7:"ngay_ct"}]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,
81
80
  trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},ptthanhtoan:function($callback$$){$items$$.filter($item$$=>$item$$.pt_thanh_toan).joinModel2($id_app$$,ptthanhtoan,[{where:{pt_thanh_toan:"_id"},fields:{ten_pt_thanh_toan:"ten"}}],function(){$callback$$()})},ptthanhtoan2:function($callback$$){$items$$.filter($item$$=>$item$$.pt_thanh_toan2).joinModel2($id_app$$,ptthanhtoan,[{where:{pt_thanh_toan2:"_id"},fields:{ten_pt_thanh_toan2:"ten"}}],
82
81
  function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.details&&($r$$.details.forEach($d$$=>{$d$$.sl_order=$d$$.sl_order||$d$$.sl_xuat;$d$$.sl_order<=$d$$.sl_xuat?$d$$.finish_time||($d$$.finish_time=new Date):$d$$.finish_time=null}),$r$$.t_sl_order=$r$$.details.csum("sl_order"),$r$$.t_sl=$r$$.details.csum("sl_xuat"),$r$$.t_tien=$r$$.details.csum("tien_hang"),$r$$.t_tien_nt=$r$$.details.csum("tien_hang_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck")+$r$$.tien_ck_hd+
83
- ($r$$.tien_evoucher||0),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt")+$r$$.tien_ck_hd+($r$$.tien_evoucher||0),$r$$.t_tt=$r$$.t_tien-$r$$.t_ck,$r$$.t_tt_nt=$r$$.t_tien_nt-$r$$.t_ck_nt,$r$$.con_no=$r$$.t_tt-($r$$.tien_thu||0)-($r$$.tien_thu2||0)-($r$$.tien_paymentByPoints||0),0>$r$$.con_no&&($r$$.con_no=0),$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat"),$r$$.t_tien_xuat_nt=$r$$.details.csum("tien_xuat_nt"))});$callback$$()},details_vt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>
84
- $item$$.ma_vt).joinModel2($id_app$$,dmvt,[{where:{ma_vt:"ma_vt"},fields:[{ten_vt:"ten_vt"},{picture:"picture"},{sp_yeu_cau_che_bien:"sp_yeu_cau_che_bien",sp_yeu_cau_pha_che:"sp_yeu_cau_pha_che"},{gia_ban_le_goc:"gia_ban_le"},{barcode:"ma_vt2",ma_can:"ma_can"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_dt).joinModel2($id_app$$,dmdt,[{where:{ma_dt:"ma_dt"},fields:[{name:"ten_dt",
85
- value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_contract:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_hd).joinModel2($id_app$$,contract,[{where:{ma_hd:"so_hd"},fields:[{ten_hd:"ten_hd"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_phi:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_phi).joinModel2($id_app$$,
86
- dmphi,[{where:{ma_phi:"ma_phi"},fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_tt1).joinModel2($id_app$$,dmtt,[{where:{ma_vt:"ma_vt",ma_tt1:"ma_tt"},setFields:($item$$,$ref$$)=>{$item$$.ten_vt=$item$$.ten_vt+" - "+$ref$$.ten_tt;$item$$.barcode=$ref$$.ma_tt2||$item$$.barcode;$item$$.ma_can=$ref$$.ma_can||$item$$.ma_can}}],function(){$callback1$$()})},
87
- function(){$fn$$(null,$items$$)})})};$contr$$.createRoute("payment/:id",async($req$$,$next$$)=>{var $id_obj$$=$req$$.params.id;if(!global.mongoose.Types.ObjectId.isValid($id_obj$$))return $next$$("Bill kh\u00f4ng t\u1ed3n t\u1ea1i");$id_obj$$=await model.findOne({_id:$id_obj$$});if(!$id_obj$$)return $next$$("Bill kh\u00f4ng t\u1ed3n t\u1ea1i");var $t_tien$$=$id_obj$$.details.map($r$$=>$r$$.tien_hang||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);let $t_ck$$=$id_obj$$.details.map($r$$=>$r$$.tien_ck||0).reduce(($a$$,
88
- $b$$)=>$a$$+$b$$,0)+($id_obj$$.tien_ck_hd||0)+($id_obj$$.tien_evoucher||0);$t_tien$$=$t_tien$$-$t_ck$$-($id_obj$$.tien_paymentByPoints||0)-($id_obj$$.tien_thu||0)-($id_obj$$.tien_thu2||0);if("5"===$id_obj$$.trang_thai||"6"===$id_obj$$.trang_thai||!$t_tien$$)return $next$$("Bill n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n");try{var $he_so_qd$$=await currency.getRate($id_obj$$.id_app,$id_obj$$.ma_nt);if(!$he_so_qd$$)return $next$$("Ch\u01b0a khai bao h\u1ec7 s\u1ed1 quy \u0111\u1ed5i v\u1edbi lo\u1ea1i ti\u1ec1n "+
89
- $id_obj$$.ma_nt);$he_so_qd$$=$t_tien$$/$he_so_qd$$;if(await getPointBalance($req$$.user.current_id_app,$req$$.user.email)<$he_so_qd$$)return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 \u0111\u1ee7 \u0111i\u1ec3m \u0111\u1ec3 th\u1ef1c hi\u1ec7n giao d\u1ecbch n\u00e0y.");$id_obj$$.paymentByPoints=$he_so_qd$$;$id_obj$$.tien_paymentByPoints=$t_tien$$;await createTransactionPayment($id_obj$$,$req$$.user.email);$id_obj$$.con_no=0;$id_obj$$.trang_thai="6";await $id_obj$$.save();const $obj_updated$$=await model.findOne({_id:$id_obj$$._id}).lean();
90
- controller.postData($id_obj$$,$contr$$,async function($e$$){if($e$$)return $next$$($e$$);$e$$=await $contr$$.asyncView($req$$.user,[$obj_updated$$],{req:$req$$});controller.pushNotification($contr$$,$e$$[0],"update");controller.pushNotification($contr$$,$e$$[0],"payment",null,!1,{title:`Bill ${$obj_updated$$.so_ct} \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n`});$next$$(null,{rs:"B\u1ea1n \u0111\u00e3 thanh to\u00e1n th\u00e0nh c\u00f4ng"})})}catch($e$$){$next$$($e$$.message)}},{method:"GET"})};
82
+ ($r$$.tien_evoucher||0),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt")+$r$$.tien_ck_hd+($r$$.tien_evoucher||0),$r$$.t_tien_ct_nt=$r$$.details.csum("tien_ct_nt"),$r$$.t_tien_ct=$r$$.details.csum("tien_ct"),$r$$.t_thue_nt=$r$$.details.csum("tien_thue_nt"),$r$$.t_thue=$r$$.details.csum("tien_thue"),$r$$.t_tt=$r$$.t_tt_nt=$r$$.t_tien_ct_nt+$r$$.t_thue_nt-$r$$.tien_ck_hd-($r$$.tien_evoucher||0),$r$$.con_no=$r$$.t_tt-($r$$.tien_thu||0)-($r$$.tien_thu2||0)-($r$$.tien_paymentByPoints||0),0>$r$$.con_no&&($r$$.con_no=
83
+ 0),$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat"),$r$$.t_tien_xuat_nt=$r$$.details.csum("tien_xuat_nt"))});$callback$$()},details_vt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_vt).joinModel2($id_app$$,dmvt,[{where:{ma_vt:"ma_vt"},fields:[{ten_vt:"ten_vt"},{picture:"picture"},{sp_yeu_cau_che_bien:"sp_yeu_cau_che_bien",sp_yeu_cau_pha_che:"sp_yeu_cau_pha_che"},{gia_ban_le_goc:"gia_ban_le"},{barcode:"ma_vt2",ma_can:"ma_can"}]}],
84
+ function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_dt).joinModel2($id_app$$,dmdt,[{where:{ma_dt:"ma_dt"},fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_contract:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_hd).joinModel2($id_app$$,contract,
85
+ [{where:{ma_hd:"so_hd"},fields:[{ten_hd:"ten_hd"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_phi:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_phi).joinModel2($id_app$$,dmphi,[{where:{ma_phi:"ma_phi"},fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_tt1).joinModel2($id_app$$,
86
+ dmtt,[{where:{ma_vt:"ma_vt",ma_tt1:"ma_tt"},setFields:($item$$,$ref$$)=>{$item$$.ten_vt=$item$$.ten_vt+" - "+$ref$$.ten_tt;$item$$.barcode=$ref$$.ma_tt2||$item$$.barcode;$item$$.ma_can=$ref$$.ma_can||$item$$.ma_can}}],function(){$callback1$$()})},function(){$fn$$(null,$items$$)})})};$contr$$.createRoute("payment/:id",async($req$$,$next$$)=>{var $id_obj$$=$req$$.params.id;if(!global.mongoose.Types.ObjectId.isValid($id_obj$$))return $next$$("Bill kh\u00f4ng t\u1ed3n t\u1ea1i");$id_obj$$=await model.findOne({_id:$id_obj$$});
87
+ if(!$id_obj$$)return $next$$("Bill kh\u00f4ng t\u1ed3n t\u1ea1i");var $t_tien$$=$id_obj$$.details.map($r$$=>$r$$.tien_hang||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);let $t_ck$$=$id_obj$$.details.map($r$$=>$r$$.tien_ck||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($id_obj$$.tien_ck_hd||0)+($id_obj$$.tien_evoucher||0);$t_tien$$=$t_tien$$-$t_ck$$-($id_obj$$.tien_paymentByPoints||0)-($id_obj$$.tien_thu||0)-($id_obj$$.tien_thu2||0);if("5"===$id_obj$$.trang_thai||"6"===$id_obj$$.trang_thai||!$t_tien$$)return $next$$("Bill n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n");
88
+ try{var $he_so_qd$$=await currency.getRate($id_obj$$.id_app,$id_obj$$.ma_nt);if(!$he_so_qd$$)return $next$$("Ch\u01b0a khai bao h\u1ec7 s\u1ed1 quy \u0111\u1ed5i v\u1edbi lo\u1ea1i ti\u1ec1n "+$id_obj$$.ma_nt);$he_so_qd$$=$t_tien$$/$he_so_qd$$;if(await getPointBalance($req$$.user.current_id_app,$req$$.user.email)<$he_so_qd$$)return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 \u0111\u1ee7 \u0111i\u1ec3m \u0111\u1ec3 th\u1ef1c hi\u1ec7n giao d\u1ecbch n\u00e0y.");$id_obj$$.paymentByPoints=$he_so_qd$$;$id_obj$$.tien_paymentByPoints=
89
+ $t_tien$$;await createTransactionPayment($id_obj$$,$req$$.user.email);$id_obj$$.con_no=0;$id_obj$$.trang_thai="6";await $id_obj$$.save();const $obj_updated$$=await model.findOne({_id:$id_obj$$._id}).lean();controller.postData($id_obj$$,$contr$$,async function($e$$){if($e$$)return $next$$($e$$);$e$$=await $contr$$.asyncView($req$$.user,[$obj_updated$$],{req:$req$$});controller.pushNotification($contr$$,$e$$[0],"update");controller.pushNotification($contr$$,$e$$[0],"payment",null,!1,{title:`Bill ${$obj_updated$$.so_ct} \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n`});
90
+ $next$$(null,{rs:"B\u1ea1n \u0111\u00e3 thanh to\u00e1n th\u00e0nh c\u00f4ng"})})}catch($e$$){$next$$($e$$.message)}},{method:"GET"})};
@@ -1,16 +1,17 @@
1
1
  'use strict';const PostBook=require("../../libs/post-book"),PostSocai=require("../../libs/post-socai"),Vatvao=global.getModel("vatvao"),Tdttco_tt=global.getModel("tdttco_tt"),Tdttco=global.getModel("tdttco"),dvcs=global.getModel("dvcs"),account=global.getModel("account"),dmdt=global.getModel("dmdt"),customer=global.getModel("customer"),dmnv=global.getModel("dmnv"),contract=global.getModel("contract"),dmphi=global.getModel("dmphi"),model=global.getModel("pc1"),pc0=global.getModel("pc0"),pn6=global.getModel("pn6"),
2
2
  trangthai=global.getModel("trangthai"),controller=require("../../controllers/controller"),{round}=require("../../libs/utils"),async=require("async"),ma_ct="PC1",valid_detail=function($i_i$jscomp$1_i$$,$obj$$,$fn$$){for($i_i$jscomp$1_i$$=0;$i_i$jscomp$1_i$$<$obj$$.details.length;$i_i$jscomp$1_i$$++){var $detail_tdttco_vatvao$$=$obj$$.details[$i_i$jscomp$1_i$$];$detail_tdttco_vatvao$$.line=$i_i$jscomp$1_i$$;"VND"===$obj$$.ma_nt&&($detail_tdttco_vatvao$$.tien=$detail_tdttco_vatvao$$.tien_nt)}if($obj$$.vatvaos)for($i_i$jscomp$1_i$$=
3
3
  0;$i_i$jscomp$1_i$$<$obj$$.vatvaos.length;$i_i$jscomp$1_i$$++)$detail_tdttco_vatvao$$=$obj$$.vatvaos[$i_i$jscomp$1_i$$],$detail_tdttco_vatvao$$.line=$i_i$jscomp$1_i$$,"VND"===$obj$$.ma_nt&&($detail_tdttco_vatvao$$.t_thue=$detail_tdttco_vatvao$$.t_thue_nt);if($obj$$.tdttcos)for($i_i$jscomp$1_i$$=0;$i_i$jscomp$1_i$$<$obj$$.tdttcos.length;$i_i$jscomp$1_i$$++)$detail_tdttco_vatvao$$=$obj$$.tdttcos[$i_i$jscomp$1_i$$],$detail_tdttco_vatvao$$.line=$i_i$jscomp$1_i$$,"VND"===$obj$$.ma_nt&&($detail_tdttco_vatvao$$.tien=
4
- $detail_tdttco_vatvao$$.tien_nt),$detail_tdttco_vatvao$$.thanh_toan_qd=round($detail_tdttco_vatvao$$.tien/$detail_tdttco_vatvao$$.ty_gia_hd,2);$fn$$(null,$obj$$)};
4
+ $detail_tdttco_vatvao$$.tien_nt),$detail_tdttco_vatvao$$.thanh_toan_qd=$detail_tdttco_vatvao$$.ma_nt_hd==$obj$$.ma_nt?$detail_tdttco_vatvao$$.tien_nt:round($detail_tdttco_vatvao$$.tien/$detail_tdttco_vatvao$$.ty_gia_hd,2);$fn$$(null,$obj$$)};
5
5
  module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,sort:{ngay_ct:-1,so_ct:-1},keyValues:{ma_ct},onExport:function($user$$,$obj$$,$next$$){$obj$$.tdttcos&&0<$obj$$.tdttcos.length&&($obj$$.details=$obj$$.tdttcos);$next$$()}});$contr_router$$.route();$contr_router$$.post=function($obj$$,$fn$$){$fn$$||($fn$$=function(){});async.series({post_vatvao:function($callback$$){(new PostBook($obj$$,$obj$$.vatvaos,Vatvao)).run(function($e$$,
6
6
  $rs$$){$callback$$($e$$,$rs$$)})},post_tdttco:function($callback$jscomp$0$$){(new PostBook($obj$$,$obj$$.tdttcos,Tdttco_tt,function($tdttco$$,$callback$$){$tdttco$$.tk_co=$obj$$.tk_co;$callback$$($tdttco$$)})).run(function($e$jscomp$0$$,$details$$){if($e$jscomp$0$$)return $callback$jscomp$0$$($e$jscomp$0$$);async.mapSeries($details$$,($detail$$,$callback$$)=>{$detail$$.con_lai_nt<=$detail$$.thanh_toan_qd?Tdttco.findOneAndUpdate({_id:$detail$$.id_tdtt.toString()},{$set:{tat_toan:!0}},function($error$$,
7
- $result$$){$callback$$($error$$,$result$$)}):$callback$$(null,$detail$$)},function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})})},post_socai:function($callback$$){const $details_sc$$=[];$obj$$.vatvaos.forEach(function($v_vatvao$$){$v_vatvao$$={...$v_vatvao$$};$v_vatvao$$.tk_no=$v_vatvao$$.tk_thue_no;$v_vatvao$$.tk_co=$v_vatvao$$.tk_du_thue;$v_vatvao$$.tien_nt=$v_vatvao$$.t_thue_nt;$v_vatvao$$.tien=$v_vatvao$$.t_thue;$details_sc$$.push($v_vatvao$$)});$obj$$.details.forEach(function($d_detail$$){$d_detail$$=
8
- {...$d_detail$$};$d_detail$$.tk_co=$obj$$.tk_co;$d_detail$$.ma_kh||($d_detail$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($d_detail$$)});$obj$$.tdttcos.forEach(function($t_tdttco$$){$t_tdttco$$={...$t_tdttco$$};$t_tdttco$$.tk_co=$obj$$.tk_co;$t_tdttco$$.ma_kh||($t_tdttco$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($t_tdttco$$)});(new PostSocai($obj$$,$details_sc$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};$contr_router$$.creating=async function($user$$,
9
- $obj$$,$next$$){if($user$$.current_app_info.options.phieu_chi_phai_co_phieu_de_nghi&&!$obj$$.id_pc0&&!$obj$$.id_pn6)return $next$$("Ch\u01b0a c\u00f3 phi\u1ebfu \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n");$obj$$.details||($obj$$.details=[]);if($obj$$.id_pc0&&global.mongoose.Types.ObjectId.isValid($obj$$.id_pc0)){if(await model.findOne({id_pc0:$obj$$.id_pc0}))return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c chi");var $dntt_t_tien_dn$$=await pc0.findOne({_id:$obj$$.id_pc0,
10
- id_app:$user$$.current_id_app});if(!$dntt_t_tien_dn$$)return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n kh\u00f4ng t\u1ed3n t\u1ea1i");$dntt_t_tien_dn$$=($dntt_t_tien_dn$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt_t_tien_dn$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt_t_tien_dn$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);let $t_tien_tt$$=($obj$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,
11
- $b$$)=>$a$$+$b$$,0)+($obj$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($obj$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);if($dntt_t_tien_dn$$!==$t_tien_tt$$)return $next$$("T\u1ed5ng s\u1ed1 ti\u1ec1n thanh to\u00e1n ph\u1ea3i b\u1eb1ng v\u1edbi s\u1ed1 ti\u1ec1n trong \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t")}if($obj$$.tdttcos&&0<$obj$$.tdttcos.length&&(await $obj$$.tdttcos.asyncJoinModel2($user$$.current_id_app,
12
- Tdttco,{where:{id_tdtt:"_id"},fields:["tat_toan",{tien_hd_nt:"tien_nt"}]}),0<(await Promise.all($obj$$.tdttcos.map($hd$$=>(async()=>{if(!global.mongoose.Types.ObjectId.isValid($hd$$.id_tdtt))return{error:"Ho\u00e1 \u0111\u01a1n kh\u00f4ng h\u1ee3p l\u1ec7",invoice:$hd$$};let $ds_da_thanh_toan$$=await Tdttco_tt.find({id_app:$obj$$.id_app,id_tdtt:$hd$$.id_tdtt}).lean(),$da_thanh_toan$$=$ds_da_thanh_toan$$.map($t$$=>$t$$.thanh_toan_qd||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0),$con_lai$$=$hd$$.tien_hd_nt-
13
- $da_thanh_toan$$;return $con_lai$$<$hd$$.thanh_toan_qd?{error:"S\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i nh\u1ecf h\u01a1n s\u1ed1 ti\u1ec1n thanh to\u00e1n",invoice:$hd$$,da_thanh_toan:$da_thanh_toan$$,con_lai:$con_lai$$,ds_da_thanh_toan:$ds_da_thanh_toan$$}:{invoice:$hd$$,da_thanh_toan:$da_thanh_toan$$,con_lai:$con_lai$$,ds_da_thanh_toan:$ds_da_thanh_toan$$}})()))).filter($hd$$=>$hd$$.error).length))return $next$$("S\u1ed1 ti\u1ec1n thanh to\u00e1n kh\u00f4ng \u0111\u01b0\u1ee3c l\u1edbn h\u01a1n s\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i c\u1ee7a ho\u00e1 \u0111\u01a1n");
7
+ $result$$){$callback$$($error$$,$result$$)}):$callback$$(null,$detail$$)},function($e$$,$rs$$){$callback$jscomp$0$$($e$$,$rs$$)})})},post_socai:function($callback$$){setImmediate(async()=>{const $details_sc$$=[];$obj$$.vatvaos.forEach(function($v_vatvao$$){$v_vatvao$$={...$v_vatvao$$};$v_vatvao$$.tk_no=$v_vatvao$$.tk_thue_no;$v_vatvao$$.tk_co=$v_vatvao$$.tk_du_thue;$v_vatvao$$.tien_nt=$v_vatvao$$.t_thue_nt;$v_vatvao$$.tien=$v_vatvao$$.t_thue;$details_sc$$.push($v_vatvao$$)});$obj$$.details.forEach(function($d_detail$$){$d_detail$$=
8
+ {...$d_detail$$};$d_detail$$.tk_co=$obj$$.tk_co;$d_detail$$.ma_kh||($d_detail$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($d_detail$$)});$obj$$.tdttcos.forEach(function($t_tdttco$$){$t_tdttco$$={...$t_tdttco$$};$t_tdttco$$.tk_co=$obj$$.tk_co;$t_tdttco$$.ma_kh||($t_tdttco$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($t_tdttco$$)});const $tdttcos_cl$$=$obj$$.tdttcos.filter($t$$=>$t$$.ty_gia_hd!=$obj$$.ty_gia);await $tdttcos_cl$$.asyncJoinModel2($obj$$.id_app,"currency",{where:{ma_nt_hd:"ma_nt"},fields:["tk_cl_no",
9
+ "tk_cl_co"]});$tdttcos_cl$$.forEach($t$$=>{let $chenh_lech$$=Math.roundBy($obj$$.ty_gia*$t$$.tien_nt-$t$$.ty_gia_hd*$t$$.thanh_toan_qd,0);if(0!=$chenh_lech$$){const $ht$$={...$t$$,ma_nt:"VND",ty_gia:1};$ht$$.tien_nt=$ht$$.tien=Math.abs($chenh_lech$$);0>$chenh_lech$$?$ht$$.tk_co=$t$$.tk_cl_co:($ht$$.tk_co=$t$$.tk_no,$ht$$.tk_no=$t$$.tk_cl_no);$ht$$.ma_kh||($ht$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($ht$$)}});(new PostSocai($obj$$,$details_sc$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})})}},
10
+ function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};$contr_router$$.creating=async function($user$$,$obj$$,$next$$){if($user$$.current_app_info.options.phieu_chi_phai_co_phieu_de_nghi&&!$obj$$.id_pc0&&!$obj$$.id_pn6)return $next$$("Ch\u01b0a c\u00f3 phi\u1ebfu \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n");$obj$$.details||($obj$$.details=[]);if($obj$$.id_pc0&&global.mongoose.Types.ObjectId.isValid($obj$$.id_pc0)){if(await model.findOne({id_pc0:$obj$$.id_pc0}))return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c chi");
11
+ var $dntt_t_tien_dn$$=await pc0.findOne({_id:$obj$$.id_pc0,id_app:$user$$.current_id_app});if(!$dntt_t_tien_dn$$)return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n kh\u00f4ng t\u1ed3n t\u1ea1i");$dntt_t_tien_dn$$=($dntt_t_tien_dn$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt_t_tien_dn$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt_t_tien_dn$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);let $t_tien_tt$$=
12
+ ($obj$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($obj$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($obj$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);if($dntt_t_tien_dn$$!==$t_tien_tt$$)return $next$$("T\u1ed5ng s\u1ed1 ti\u1ec1n thanh to\u00e1n ph\u1ea3i b\u1eb1ng v\u1edbi s\u1ed1 ti\u1ec1n trong \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t")}if($obj$$.tdttcos&&0<$obj$$.tdttcos.length&&
13
+ (await $obj$$.tdttcos.asyncJoinModel2($user$$.current_id_app,Tdttco,{where:{id_tdtt:"_id"},fields:["tat_toan",{tien_hd_nt:"tien_nt"}]}),0<(await Promise.all($obj$$.tdttcos.map($hd$$=>(async()=>{if(!global.mongoose.Types.ObjectId.isValid($hd$$.id_tdtt))return{error:"Ho\u00e1 \u0111\u01a1n kh\u00f4ng h\u1ee3p l\u1ec7",invoice:$hd$$};let $ds_da_thanh_toan$$=await Tdttco_tt.find({id_app:$obj$$.id_app,id_tdtt:$hd$$.id_tdtt}).lean(),$da_thanh_toan$$=$ds_da_thanh_toan$$.map($t$$=>$t$$.thanh_toan_qd||0).reduce(($a$$,
14
+ $b$$)=>$a$$+$b$$,0),$con_lai$$=$hd$$.tien_hd_nt-$da_thanh_toan$$;return $con_lai$$<$hd$$.thanh_toan_qd?{error:"S\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i nh\u1ecf h\u01a1n s\u1ed1 ti\u1ec1n thanh to\u00e1n",invoice:$hd$$,da_thanh_toan:$da_thanh_toan$$,con_lai:$con_lai$$,ds_da_thanh_toan:$ds_da_thanh_toan$$}:{invoice:$hd$$,da_thanh_toan:$da_thanh_toan$$,con_lai:$con_lai$$,ds_da_thanh_toan:$ds_da_thanh_toan$$}})()))).filter($hd$$=>$hd$$.error).length))return $next$$("S\u1ed1 ti\u1ec1n thanh to\u00e1n kh\u00f4ng \u0111\u01b0\u1ee3c l\u1edbn h\u01a1n s\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i c\u1ee7a ho\u00e1 \u0111\u01a1n");
14
15
  valid_detail($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=async function($user$$,$data$$,$obj$$,$next$$){if($data$$.id_pc0||$obj$$.id_pc0){var $dntt$jscomp$1_id_pc0_t_tien_dn$$=$data$$.id_pc0||$obj$$.id_pc0,$ex$jscomp$1_t_tien_tt$$=await model.findOne({id_pc0:$dntt$jscomp$1_id_pc0_t_tien_dn$$}).lean();if($ex$jscomp$1_t_tien_tt$$&&$ex$jscomp$1_t_tien_tt$$._id.toString()!==$obj$$._id.toString())return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c chi");
15
16
  $dntt$jscomp$1_id_pc0_t_tien_dn$$=await pc0.findOne({_id:$dntt$jscomp$1_id_pc0_t_tien_dn$$,id_app:$user$$.current_id_app});if(!$dntt$jscomp$1_id_pc0_t_tien_dn$$)return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n kh\u00f4ng t\u1ed3n t\u1ea1i");$dntt$jscomp$1_id_pc0_t_tien_dn$$=($dntt$jscomp$1_id_pc0_t_tien_dn$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt$jscomp$1_id_pc0_t_tien_dn$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt$jscomp$1_id_pc0_t_tien_dn$$.vatvaos||
16
17
  []).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$ex$jscomp$1_t_tien_tt$$=($data$$.details||$obj$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($data$$.tdttcos||$obj$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($data$$.vatvaos||$obj$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);if($dntt$jscomp$1_id_pc0_t_tien_dn$$!==$ex$jscomp$1_t_tien_tt$$)return $next$$("T\u1ed5ng s\u1ed1 ti\u1ec1n thanh to\u00e1n ph\u1ea3i b\u1eb1ng v\u1edbi s\u1ed1 ti\u1ec1n trong \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t")}if($obj$$.tdttcos&&