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,6 +1,6 @@
1
1
  'use strict';const model=global.getModel("schedule"),controller=require("../../controllers/controller"),underscore=require("underscore"),permission=require("../../libs/permission");
2
2
  module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"schedule",{require_id_app:!1,sort:{trang_thai:1,time_run:1}});$contr_router$$.deleting=function($user$$,$obj$$,$fn$$){const $adminUsers$$=configs.admins.concat(configs.subAdmins||[]);underscore.contains($adminUsers$$,$user$$.email)?$fn$$(null,$obj$$):$fn$$("B\u1ea1n kh\u00f4ng th\u1ec3 x\u00f3a n\u1ed9i dung n\u00e0y")};$contr_router$$.deleted=async function($user$$,$obj$$,$next$$){try{let $schedules$$=
3
- await model.loadFromRedis();$schedules$$=$schedules$$.filter($s$$=>$s$$._id.toString()!==$obj$$._id.toString());await model.saveToRedis($schedules$$)}catch($e$$){console.error("error remove schedule",$e$$)}$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$data$$,$fn$$){const $adminUsers$$=configs.admins.concat(configs.subAdmins||[]);underscore.contains($adminUsers$$,$user$$.email)?($data$$.next_run=null,console.log("data",$data$$),$fn$$(null,$data$$)):$fn$$("B\u1ea1n kh\u00f4ng th\u1ec3 t\u1ea1o n\u1ed9i dung n\u00e0y")};
3
+ await model.loadFromRedis();$schedules$$=$schedules$$.filter($s$$=>$s$$._id.toString()!==$obj$$._id.toString());await model.saveToRedis($schedules$$)}catch($e$$){console.error("error remove schedule",$e$$)}$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$data$$,$fn$$){const $adminUsers$$=configs.admins.concat(configs.subAdmins||[]);underscore.contains($adminUsers$$,$user$$.email)?($data$$.next_run=null,$fn$$(null,$data$$)):$fn$$("B\u1ea1n kh\u00f4ng th\u1ec3 t\u1ea1o n\u1ed9i dung n\u00e0y")};
4
4
  $contr_router$$.created=async function($user$$,$schedule$$,$next$$){try{$schedule$$.toObject&&($schedule$$=$schedule$$.toObject());const $schedules$$=await model.loadFromRedis();$schedules$$.push($schedule$$);await model.saveToRedis($schedules$$);console.log("added a schedule, time state at",$schedule$$.time_run);$next$$(null,$schedule$$)}catch($e$$){$next$$($e$$)}};$contr_router$$.updating=function($user$$,$data$$,$obj$$,$fn$$){const $adminUsers$$=configs.admins.concat(configs.subAdmins||[]);underscore.contains($adminUsers$$,
5
5
  $user$$.email)?$fn$$(null,$data$$,$obj$$):$fn$$("B\u1ea1n kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt n\u1ed9i dung n\u00e0y")};$contr_router$$.updated=async function($user$$,$schedule$$,$next$$){try{$schedule$$.toObject&&($schedule$$=$schedule$$.toObject());let $schedules$$=await model.loadFromRedis();$schedules$$=$schedules$$.filter($s$$=>$s$$._id.toString()!==$schedule$$._id.toString());$schedules$$.push($schedule$$);await model.saveToRedis($schedules$$);console.log("updated a schedule, time state at",
6
6
  $schedule$$.time_run);$next$$(null,$schedule$$)}catch($e$$){$next$$($e$$)}};$contr_router$$.createRoute("add/notify",async($req_sche$$,$next$$)=>{let $obj$$=$req_sche$$.body;if(!$obj$$._id)return $next$$("D\u1eef li\u1ec7u thi\u1ebfu th\u00f4ng tin _id c\u1ee7a \u0111\u1ed1i t\u01b0\u1ee3ng li\u00ean k\u1ebft (_id)");if(!$obj$$.code)return $next$$("D\u1eef li\u1ec7u thi\u1ebfu th\u00f4ng tin m\u00e3 \u0111\u1ed1i t\u01b0\u1ee3ng li\u00ean k\u1ebft (code)");if(!$obj$$.time_run)return $next$$("D\u1eef li\u1ec7u thi\u1ebfu th\u1eddi gian b\u1eaft \u0111\u1ea7u ch\u1ea1y (time_run)");
@@ -1,10 +1,10 @@
1
1
  'use strict';const User=global.getModel("user"),log=global.getModel("log"),Customer=global.getModel("customer"),Endpoint=global.getModel("endpoint"),getNotifies=require("../../libs/getNotifies"),redisCache=require("../../libs/redis-cache"),underscore=require("underscore"),async=require("async"),fs=require("fs"),{isSupperAdmin}=require("../../libs/utils"),permission=require("../../libs/permission"),validator=require("validator"),path=require("path"),Token=global.getModel("token"),sharp=require("sharp"),
2
2
  request=require("request"),findByToken=User.findByToken;
3
3
  module.exports=function($router$$){$router$$.route("/user").get(function($req$$,$res$$){const $usersAdmin$$=configs.admins,$access_token$$=$req$$.query.access_token;findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,function($e$$,$user$$){if($e$$)return $res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$});$user$$?($user$$.local=$user$$.local||{},$user$$.address=$user$$.local.address?$user$$.local.address:"",$user$$.phone=$user$$.local.phone?
4
- $user$$.local.phone:"",$user$$.has_pin=$user$$.local.pin?!0:!1,$user$$.token=$access_token$$,$user$$.admin=underscore.contains($usersAdmin$$,$user$$.email)||isSupperAdmin($user$$.email.toLowerCase()),!$user$$.picture&&$user$$.local.picture&&($user$$.picture=$user$$.local.picture),console.log(JSON.stringify($user$$)),delete $user$$.tokens,delete $user$$.facebook,delete $user$$.google,delete $user$$.password,delete $user$$.pin,delete $user$$.local.pin,delete $user$$.local.rePassword,delete $user$$.local.password,
5
- $res$$.send($user$$)):$res$$.status(404).send({error:"Token kh\u00f4ng t\u1ed3n t\u1ea1i"})})});$router$$.route("/profile").get(function($req$$,$res$$){const $email$$=$req$$.query.email,$query$$={};async.parallel({e:function($callback$$){$email$$?($query$$.email=$email$$,User.findOne($query$$).lean().exec(function($error$$,$user$$){if($error$$)return $callback$$($error$$);$callback$$(null,$user$$)})):$callback$$()},t:function($callback$$){$email$$?$callback$$():findByToken($req$$.query.access_token,
6
- $req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,($e$$,$user$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$user$$)})}},function($e$jscomp$0$$,$dk$$){if($e$jscomp$0$$)return $res$$.state(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$});let $user$$=$dk$$.e||$dk$$.t;$user$$?(delete $user$$.local.password,delete $user$$.local.rspassword,delete $user$$.local.pin,delete $user$$.tokens,$user$$.local._id=$user$$._id,$user$$.local.invited=
7
- [],$user$$.local.email2=$user$$.email2,$user$$.local.picture||($user$$.local.picture="/images/avatar.jpg"),delete $user$$.token,User.find({partner:$user$$._id},{local:1}).lean().exec(async($e$$,$p$$)=>{$p$$&&$p$$.forEach(function($u$$){delete $u$$.local.password;delete $u$$.local.rspassword;delete $u$$.tokens;delete $u$$.token;delete $u$$.local.pin;$user$$.local.invited.push($u$$.local)});$user$$.local.isOnline=await User.isOnline($user$$.email);$res$$.send($user$$.local)})):$res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y th\u00f4ng tin c\u1ee7a t\u00e0i kho\u1ea3n n\u00e0y"})})});
4
+ $user$$.local.phone:"",$user$$.has_pin=$user$$.local.pin?!0:!1,$user$$.token=$access_token$$,$user$$.admin=underscore.contains($usersAdmin$$,$user$$.email)||isSupperAdmin($user$$.email.toLowerCase()),!$user$$.picture&&$user$$.local.picture&&($user$$.picture=$user$$.local.picture),delete $user$$.tokens,delete $user$$.facebook,delete $user$$.google,delete $user$$.password,delete $user$$.pin,delete $user$$.local.pin,delete $user$$.local.rePassword,delete $user$$.local.password,$res$$.send($user$$)):
5
+ $res$$.status(404).send({error:"Token kh\u00f4ng t\u1ed3n t\u1ea1i"})})});$router$$.route("/profile").get(function($req$$,$res$$){const $email$$=$req$$.query.email,$query$$={};async.parallel({e:function($callback$$){$email$$?($query$$.email=$email$$,User.findOne($query$$).lean().exec(function($error$$,$user$$){if($error$$)return $callback$$($error$$);$callback$$(null,$user$$)})):$callback$$()},t:function($callback$$){$email$$?$callback$$():findByToken($req$$.query.access_token,$req$$.ip||$req$$.headers["x-forwarded-for"]||
6
+ $req$$.connection.remoteAddress,($e$$,$user$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$user$$)})}},function($e$jscomp$0$$,$dk$$){if($e$jscomp$0$$)return $res$$.state(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$});let $user$$=$dk$$.e||$dk$$.t;$user$$?(delete $user$$.local.password,delete $user$$.local.rspassword,delete $user$$.local.pin,delete $user$$.tokens,$user$$.local._id=$user$$._id,$user$$.local.invited=[],$user$$.local.email2=$user$$.email2,$user$$.local.picture||
7
+ ($user$$.local.picture="/images/avatar.jpg"),delete $user$$.token,User.find({partner:$user$$._id},{local:1}).lean().exec(async($e$$,$p$$)=>{$p$$&&$p$$.forEach(function($u$$){delete $u$$.local.password;delete $u$$.local.rspassword;delete $u$$.tokens;delete $u$$.token;delete $u$$.local.pin;$user$$.local.invited.push($u$$.local)});$user$$.local.isOnline=await User.isOnline($user$$.email);$res$$.send($user$$.local)})):$res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y th\u00f4ng tin c\u1ee7a t\u00e0i kho\u1ea3n n\u00e0y"})})});
8
8
  $router$$.route("/avatar").get(function($req$$,$res$$){var $email$$=$req$$.query.email,$query$$={};async.parallel({e:function($callback$$){$email$$&&($query$$.email=$email$$);$callback$$()},t:function($callback$$){$email$$?$callback$$():Token.findOne({token:$req$$.query.access_token},function($e$$,$t$$){if($e$$)return $callback$$($e$$);$t$$&&($query$$.email=$t$$.email);$callback$$()})}},function($e$$){if($e$$)return $res$$.status(400).send({error:$e$$});let $size$$=Number($req$$.query.size)||240;
9
9
  $query$$.email||($query$$.tokens=$req$$.query.access_token);User.findOne($query$$,{picture:1}).lean().exec(async function($error$$,$_gm_imgPath_user$$){if($error$$)return $res$$.status(400).send($error$$);$error$$=configs.paths.images||path.join(path.dirname(path.dirname(__dirname)),"images");$_gm_imgPath_user$$&&$_gm_imgPath_user$$.picture?0===$_gm_imgPath_user$$.picture.indexOf("/getfile/")?($_gm_imgPath_user$$=$_gm_imgPath_user$$.picture.replace(/\/getfile\//g,""),$_gm_imgPath_user$$=path.join($error$$,
10
10
  $_gm_imgPath_user$$),fs.existsSync($_gm_imgPath_user$$)?($_gm_imgPath_user$$=sharp($_gm_imgPath_user$$,{failOnError:!1}),($error$$=await $_gm_imgPath_user$$.metadata())&&$size$$&&$size$$<$error$$.width&&$size$$<$error$$.height&&($_gm_imgPath_user$$=$_gm_imgPath_user$$.resize({width:$size$$})),$error$$&&"webp"!=$error$$.format&&($_gm_imgPath_user$$=$_gm_imgPath_user$$.webp({lossless:!1})),$_gm_imgPath_user$$.pipe($res$$)):$res$$.sendFile(path.join($error$$,"avatar.jpg"))):0===$_gm_imgPath_user$$.picture.indexOf("http://")||
@@ -41,10 +41,10 @@ $res$$.send({ok:!0,message:"T\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n \u0111\u00e3 \
41
41
  $error$jscomp$0$$.error||$error$jscomp$0$$});if($_user$$){let $user$$=await User.findOne({email:$_user$$.email});if(!$user$$)return $res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi d\u00f9ng "+$_user$$.email});$error$jscomp$0$$=$req$$.body;if(!(await Token.findOne({token:$access_token$$})||{}).once){let $otp_id$$=$error$jscomp$0$$["otp-id"]||$req$$.query["otp-id"],$otp_code$$=$error$jscomp$0$$["otp-code"]||$req$$.query["otp-code"];if($otp_id$$&&$otp_code$$){try{await permission.verifyOTP($_user$$.email,
42
42
  $otp_id$$,$otp_code$$)}catch($e$$){return console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$,code:4001})}if($user$$.local.password&&$error$jscomp$0$$.oldPassword&&!$user$$.validPassword($error$jscomp$0$$.oldPassword))return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u hi\u1ec7n t\u1ea1i kh\u00f4ng ch\u00ednh x\u00e1c"})}else if($user$$.local.password){if(!$error$jscomp$0$$.oldPassword)return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp m\u1eadt kh\u1ea9u hi\u1ec7n t\u1ea1i"});
43
43
  if(!$user$$.validPassword($error$jscomp$0$$.oldPassword))return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u hi\u1ec7n t\u1ea1i kh\u00f4ng ch\u00ednh x\u00e1c"})}}if($error$jscomp$0$$.newPassword){if($error$jscomp$0$$.reNewPassword!==$error$jscomp$0$$.newPassword)return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c"});if(!User.teststrengthPassword($error$jscomp$0$$.newPassword))return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u ph\u1ea3i c\u00f3 \u00edt nh\u1ea5t 6 k\u00fd t\u1ef1 v\u00e0 bao g\u1ed3m \u00edt nh\u1ea5t m\u1ed9t ch\u1eef s\u1ed1, m\u1ed9t ch\u1eef hoa v\u00e0 m\u1ed9t ch\u1eef th\u01b0\u1eddng"})}else return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp m\u1eadt kh\u1ea9u m\u1edbi"});
44
- $user$$.local.password=$user$$.generateHash($user$$.email+$error$jscomp$0$$.newPassword);$user$$.local.rspassword=null;$user$$.save(function($error$$){if($error$$)return $res$$.status(400).send($error$$);Token.deleteMany({email:$user$$.email,token:{$ne:$access_token$$},ip:{$in:["",null,void 0]}},$e$$=>{$e$$&&console.error("error when remove old tokens",$e$$)});log.create({id_app:"CHANGEPASSWORD",id_func:"CHANGEPASSWORD",action:"CHANGEPASSWORD"},$user$$.email,$req$$.header("user-agent"),$req$$);redisCache.set("user",
45
- $user$$.toObject(),function($e$$){$e$$?console.error($e$$):console.log("cache user infomation to redis")});$res$$.send({message:"\u0110\u00e3 c\u1eadp nh\u1eadt th\u00e0nh c\u00f4ng"})})}else return $res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi d\u00f9ng n\u00e0y"})})});$router$$.route("/changepin").post(function($req$$,$res$$){let $access_token$$=$req$$.query.access_token;findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,
46
- async function($error$jscomp$19_passwords$$,$_user$jscomp$4_token$$){if($error$jscomp$19_passwords$$)return $res$$.status(400).send({error:$error$jscomp$19_passwords$$.message||$error$jscomp$19_passwords$$.error||$error$jscomp$19_passwords$$});if($_user$jscomp$4_token$$){let $user$$=await User.findOne({email:$_user$jscomp$4_token$$.email});if(!$user$$)return $res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi d\u00f9ng "+$_user$jscomp$4_token$$.email});$error$jscomp$19_passwords$$=
47
- $req$$.body;$_user$jscomp$4_token$$=await Token.findOne({token:$access_token$$})||{};if($user$$.local.password&&!$_user$jscomp$4_token$$.once){if(!$error$jscomp$19_passwords$$.oldPassword)return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp m\u1eadt kh\u1ea9u"});if(!$user$$.validPassword($error$jscomp$19_passwords$$.oldPassword))return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u kh\u00f4ng ch\u00ednh x\u00e1c"})}if($error$jscomp$19_passwords$$.newPin){if($error$jscomp$19_passwords$$.reNewPin!==
44
+ $user$$.local.password=$user$$.generateHash($user$$.email+$error$jscomp$0$$.newPassword);$user$$.local.rspassword=null;$user$$.save(function($error$$){if($error$$)return $res$$.status(400).send($error$$);Token.deleteMany({email:$user$$.email,token:{$ne:$access_token$$},ip:{$in:["",null,void 0]},note:{$in:["",null,void 0]}},$e$$=>{$e$$&&console.error("error when remove old tokens",$e$$)});log.create({id_app:"CHANGEPASSWORD",id_func:"CHANGEPASSWORD",action:"CHANGEPASSWORD"},$user$$.email,$req$$.header("user-agent"),
45
+ $req$$);redisCache.set("user",$user$$.toObject(),function($e$$){$e$$?console.error($e$$):console.log("cache user infomation to redis")});$res$$.send({message:"\u0110\u00e3 c\u1eadp nh\u1eadt th\u00e0nh c\u00f4ng"})})}else return $res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi d\u00f9ng n\u00e0y"})})});$router$$.route("/changepin").post(function($req$$,$res$$){let $access_token$$=$req$$.query.access_token;findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||
46
+ $req$$.connection.remoteAddress,async function($error$jscomp$19_passwords$$,$_user$jscomp$4_token$$){if($error$jscomp$19_passwords$$)return $res$$.status(400).send({error:$error$jscomp$19_passwords$$.message||$error$jscomp$19_passwords$$.error||$error$jscomp$19_passwords$$});if($_user$jscomp$4_token$$){let $user$$=await User.findOne({email:$_user$jscomp$4_token$$.email});if(!$user$$)return $res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi d\u00f9ng "+$_user$jscomp$4_token$$.email});
47
+ $error$jscomp$19_passwords$$=$req$$.body;$_user$jscomp$4_token$$=await Token.findOne({token:$access_token$$})||{};if($user$$.local.password&&!$_user$jscomp$4_token$$.once){if(!$error$jscomp$19_passwords$$.oldPassword)return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp m\u1eadt kh\u1ea9u"});if(!$user$$.validPassword($error$jscomp$19_passwords$$.oldPassword))return $res$$.status(400).send({error:"M\u1eadt kh\u1ea9u kh\u00f4ng ch\u00ednh x\u00e1c"})}if($error$jscomp$19_passwords$$.newPin){if($error$jscomp$19_passwords$$.reNewPin!==
48
48
  $error$jscomp$19_passwords$$.newPin)return $res$$.status(400).send({error:"S\u1ed1 PIN x\u00e1c nh\u1eadn kh\u00f4ng ch\u00ednh x\u00e1c"});if(!User.teststrengthPin($error$jscomp$19_passwords$$.newPin))return $res$$.status(400).send({error:"S\u1ed1 Pin kh\u00f4ng h\u1ee3p l\u1ec7"})}else return $res$$.status(400).send({error:"B\u1ea1n ch\u01b0a nh\u1eadp s\u1ed1 PIN"});$user$$.local.pin=$user$$.generateHash($user$$.email+$error$jscomp$19_passwords$$.newPin);$user$$.save(function($error$$){if($error$$)return $res$$.status(400).send($error$$);
49
49
  log.create({id_app:"CHANGEPIN",id_func:"CHANGEPIN",action:"CHANGEPIN"},$user$$.email,$req$$.header("user-agent"),$req$$);redisCache.set("user",$user$$.toObject(),function($e$$){$e$$?console.error($e$$):console.log("cache user infomation to redis")});$res$$.send({message:"\u0110\u00e3 c\u1eadp nh\u1eadt th\u00e0nh c\u00f4ng"})})}else return $res$$.status(404).send({error:"Kh\u00f4ng t\u00ecm th\u1ea5y ng\u01b0\u1eddi d\u00f9ng n\u00e0y"})})});$router$$.route("/user/logout").get(function($req$$,$res$$){var $access_token$$=
50
50
  $req$$.query.access_token;findByToken($access_token$$,$req$$.ip||$req$$.headers["x-forwarded-for"]||$req$$.connection.remoteAddress,function($error$$,$user$$){if($error$$)return $res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$});Token.deleteMany({token:$access_token$$},async function($clientIO_error$$){if($clientIO_error$$)return $res$$.status(400).send($clientIO_error$$);if(global.socketContainer.socketIO){var $client_sockets$$=[...(await global.socketContainer.socketIO.in($user$$.email).allSockets())];
@@ -1,21 +1,22 @@
1
1
  'use strict';const PostBook=require("../../libs/post-book"),PostSocai=require("../../libs/post-socai"),Tdttno_tt=global.getModel("tdttno_tt"),Tdttno=global.getModel("tdttno"),dvcs=global.getModel("dvcs"),account=global.getModel("account"),dmphi=global.getModel("dmphi"),customer=global.getModel("customer"),dmnv=global.getModel("dmnv"),dmdt=global.getModel("dmdt"),App=global.getModel("app"),assinvestment=global.getModel("assinvestment"),so5=global.getModel("so5"),contract=global.getModel("contract"),
2
2
  model=global.getModel("pt1"),pn6=global.getModel("pn6"),controller=require("../../controllers/controller"),trangthai=global.getModel("trangthai"),async=require("async"),ma_ct="BC1",{round}=require("../../libs/utils"),blockchainconnect=require("../../libs/blockchainconnect"),valid_detail=function($user$$,$obj$$,$fn$$){setImmediate(()=>{for(var $i_i$$=0;$i_i$$<$obj$$.details.length;$i_i$$++){var $detail_tdttno$$=$obj$$.details[$i_i$$];$detail_tdttno$$.line=$i_i$$;"VND"==$obj$$.ma_nt&&($detail_tdttno$$.tien=
3
- Math.roundBy($detail_tdttno$$.tien_nt,0))}if($obj$$.tdttnos)for($i_i$$=0;$i_i$$<$obj$$.tdttnos.length;$i_i$$++)$detail_tdttno$$=$obj$$.tdttnos[$i_i$$],$detail_tdttno$$.line=$i_i$$,"VND"===$obj$$.ma_nt&&($detail_tdttno$$.tien=$detail_tdttno$$.tien_nt),$detail_tdttno$$.thanh_toan_qd=round($detail_tdttno$$.tien/$detail_tdttno$$.ty_gia_hd,2);$fn$$(null,$obj$$)})};
4
- 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$$.tdttnos&&0<$obj$$.tdttnos.length&&($obj$$.details=$obj$$.tdttnos);$next$$()}});$contr_router$$.route();$contr_router$$.post=function($obj$$,$fn$$,$options$$={}){$fn$$||($fn$$=function(){});async.series({post_socai:function($callback$$){setImmediate(()=>{const $details_sc$$=[];$obj$$.details.forEach(function($d_detail$$){$d_detail$$=
5
- {...$d_detail$$};$d_detail$$.tk_no=$obj$$.tk_no;$d_detail$$.ma_kh||($d_detail$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($d_detail$$)});$obj$$.tdttnos.forEach($t_tdttno$$=>{$t_tdttno$$={...$t_tdttno$$};$t_tdttno$$.tk_no=$obj$$.tk_no;$t_tdttno$$.ma_kh||($t_tdttno$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($t_tdttno$$)});(new PostSocai($obj$$,$details_sc$$)).run(($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})})},post_tdttno:function($callback$jscomp$0$$){(new PostBook($obj$$,$obj$$.tdttnos,Tdttno_tt,function($tdttno$$,
6
- $callback$$){$tdttno$$.tk_no=$obj$$.tk_no;$callback$$($tdttno$$)})).run(function($e$jscomp$0$$,$details$$){if($e$jscomp$0$$)return $callback$jscomp$0$$($e$jscomp$0$$);async.mapSeries($details$$,($detail$$,$callback$$)=>{setImmediate(()=>{$detail$$.con_lai_nt<=$detail$$.thanh_toan_qd?Tdttno.findOneAndUpdate({_id:$detail$$.id_tdtt.toString()},{$set:{tat_toan:!0}},($error$$,$result$$)=>{$callback$$($error$$,$result$$)}):$callback$$(null,$detail$$)})},($e$$,$rs$$)=>{$callback$jscomp$0$$($e$$,$rs$$)})})},
7
- nap_tien_vao_vi:$callback$$=>{(async()=>{if(!$obj$$.id_so5)return $callback$$();try{let $inv$$=await so5.findOne({id_app:$obj$$.id_app,_id:$obj$$.id_so5});if(!$inv$$)return $callback$$("Phi\u1ebfu n\u1ea1p ti\u1ec1n kh\u00f4ng t\u1ed3n t\u1ea1i");if("5"==$inv$$.trang_thai)return $callback$$();if("9"==$inv$$.trang_thai)return $callback$$("Phi\u1ebfu n\u1ea1p ti\u1ec1n n\u00e0y \u0111\u00e3 b\u1ecb hu\u1ef7");if("0"==$inv$$.trang_thai||"2"==$inv$$.trang_thai){let $tg_hien_tai$$=(new Date).getTime(),
8
- $tg_tao$$=(new Date($inv$$.date_created)).getTime();if(1<($tg_hien_tai$$-$tg_tao$$)/864E5)return $inv$$.trang_thai="9",await $inv$$.save(),$fn$$("Phi\u1ebfu n\u1ea1p ti\u1ec1n n\u00e0y \u0111\u00e3 h\u1ebft h\u1ea1n thanh to\u00e1n")}if($obj$$.da_chuyen_token)console.log("da chuyen token",$obj$$);else{let $app$$=await App.findById($obj$$.id_app);if(!($app$$.wallet_address&&$app$$.wallet_token&&$obj$$.details))return $callback$$("Kh\u00f4ng th\u1ec3 th\u1ef1c hi\u1ec7n l\u00fac n\u00e0y. Hay th\u1eed l\u1ea1i sau");
3
+ Math.roundBy($detail_tdttno$$.tien_nt,0))}if($obj$$.tdttnos)for($i_i$$=0;$i_i$$<$obj$$.tdttnos.length;$i_i$$++)$detail_tdttno$$=$obj$$.tdttnos[$i_i$$],$detail_tdttno$$.line=$i_i$$,"VND"===$obj$$.ma_nt&&($detail_tdttno$$.tien=$detail_tdttno$$.tien_nt),$detail_tdttno$$.thanh_toan_qd=$detail_tdttno$$.ma_nt_hd==$obj$$.ma_nt?$detail_tdttno$$.tien_nt:round($detail_tdttno$$.tien/$detail_tdttno$$.ty_gia_hd,2);$fn$$(null,$obj$$)})};
4
+ 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$$.tdttnos&&0<$obj$$.tdttnos.length&&($obj$$.details=$obj$$.tdttnos);$next$$()}});$contr_router$$.route();$contr_router$$.post=function($obj$$,$fn$$,$options$$={}){$fn$$||($fn$$=function(){});async.series({post_tdttno:function($callback$jscomp$0$$){(new PostBook($obj$$,$obj$$.tdttnos,
5
+ Tdttno_tt,function($tdttno$$,$callback$$){$tdttno$$.tk_no=$obj$$.tk_no;$callback$$($tdttno$$)})).run(function($e$$,$details$$){if($e$$)return $callback$jscomp$0$$($e$$);async.mapSeries($details$$,($detail$$,$callback$$)=>{setImmediate(()=>{$detail$$.con_lai_nt<=$detail$$.thanh_toan_qd?Tdttno.findOneAndUpdate({_id:$detail$$.id_tdtt.toString()},{$set:{tat_toan:!0}},($error$$,$result$$)=>{$callback$$($error$$,$result$$)}):$callback$$(null,$detail$$)})},($e$$,$rs$$)=>{$callback$jscomp$0$$($e$$,$rs$$)})})},
6
+ post_socai:function($callback$$){setImmediate(async()=>{const $details_sc$$=[];$obj$$.details.forEach(function($d_detail$$){$d_detail$$={...$d_detail$$};$d_detail$$.tk_no=$obj$$.tk_no;$d_detail$$.ma_kh||($d_detail$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($d_detail$$)});$obj$$.tdttnos.forEach($t_tdttno$$=>{$t_tdttno$$={...$t_tdttno$$};$t_tdttno$$.tk_no=$obj$$.tk_no;$t_tdttno$$.ma_kh||($t_tdttno$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($t_tdttno$$)});const $tdttnos_cl$$=$obj$$.tdttnos.filter($t$$=>
7
+ $t$$.ty_gia_hd!=$obj$$.ty_gia);await $tdttnos_cl$$.asyncJoinModel2($obj$$.id_app,"currency",{where:{ma_nt_hd:"ma_nt"},fields:["tk_cl_no","tk_cl_co"]});$tdttnos_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_no=$t$$.tk_cl_no:($ht$$.tk_no=$t$$.tk_co,$ht$$.tk_co=$t$$.tk_cl_co);$ht$$.ma_kh||($ht$$.ma_kh=
8
+ $obj$$.ma_kh);$details_sc$$.push($ht$$)}});(new PostSocai($obj$$,$details_sc$$)).run(($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)})})},nap_tien_vao_vi:$callback$$=>{(async()=>{if(!$obj$$.id_so5)return $callback$$();try{let $inv$$=await so5.findOne({id_app:$obj$$.id_app,_id:$obj$$.id_so5});if(!$inv$$)return $callback$$("Phi\u1ebfu n\u1ea1p ti\u1ec1n kh\u00f4ng t\u1ed3n t\u1ea1i");if("5"==$inv$$.trang_thai)return $callback$$();if("9"==$inv$$.trang_thai)return $callback$$("Phi\u1ebfu n\u1ea1p ti\u1ec1n n\u00e0y \u0111\u00e3 b\u1ecb hu\u1ef7");
9
+ if("0"==$inv$$.trang_thai||"2"==$inv$$.trang_thai){let $tg_hien_tai$$=(new Date).getTime(),$tg_tao$$=(new Date($inv$$.date_created)).getTime();if(1<($tg_hien_tai$$-$tg_tao$$)/864E5)return $inv$$.trang_thai="9",await $inv$$.save(),$fn$$("Phi\u1ebfu n\u1ea1p ti\u1ec1n n\u00e0y \u0111\u00e3 h\u1ebft h\u1ea1n thanh to\u00e1n")}if($obj$$.da_chuyen_token)console.log("da chuyen token",$obj$$);else{let $app$$=await App.findById($obj$$.id_app);if(!($app$$.wallet_address&&$app$$.wallet_token&&$obj$$.details))return $callback$$("Kh\u00f4ng th\u1ec3 th\u1ef1c hi\u1ec7n l\u00fac n\u00e0y. Hay th\u1eed l\u1ea1i sau");
9
10
  let $details$$=$inv$$.details.filter($d$$=>$d$$.is_coin&&!$d$$.transferred&&$d$$.wallet_receiver&&$d$$.sl_xuat);await Promise.all($details$$.map($detail$$=>(async()=>{var $denom_rs$$=$detail$$.ma_vt.toLowerCase();$denom_rs$$=await blockchainconnect.spend($obj$$.id_app,$app$$.wallet_token,$app$$.wallet_address,$detail$$.wallet_receiver,{amount:$detail$$.sl_xuat,denom:$denom_rs$$,memo:"N\u1ea1p ti\u1ec1n v\u00e0o v\u00ed"});if($denom_rs$$.code){if(5===$denom_rs$$.code)throw"V\u00ed h\u1ec7 th\u1ed1ng kh\u00f4ng \u0111\u1ee7 ti\u1ec1n \u0111\u1ec3 th\u1ef1c hi\u1ec7n giao d\u1ecbch n\u00e0y";
10
11
  throw $denom_rs$$.rawLog;}$detail$$.transferred=!0})()));await model.findOneAndUpdate({_id:$obj$$._id},{da_chuyen_token:!0})}let $ctrlinvest$$=global.controllers.SO5;$inv$$.trang_thai="5";$inv$$.save($e$jscomp$0$$=>{if($e$jscomp$0$$)return $callback$$($e$jscomp$0$$.message);controller.postData($inv$$,$ctrlinvest$$,async $e$$=>{if($e$$)return $callback$$($e$$);$obj$$.da_chuyen_token||($e$$=await $ctrlinvest$$.asyncView($options$$.req.user,[$inv$$.toObject()],$options$$),controller.pushNotification($ctrlinvest$$,
11
12
  $e$$[0]));$callback$$()})})}catch($e$$){$callback$$($e$$.message||$e$$.error||$e$$)}})()},thanh_toan_dau_tu:$callback$$=>{(async()=>{if(!$obj$$.id_assinvestment)return $callback$$();try{let $inv$$=await assinvestment.findOne({id_app:$obj$$.id_app,_id:$obj$$.id_assinvestment});if(!$inv$$)return $callback$$("H\u1ee3p \u0111\u1ed3ng \u0111\u1ea7u t\u01b0 kh\u00f4ng t\u1ed3n t\u1ea1i");if("1"===$inv$$.trang_thai||"2"!==$inv$$.trang_thai&&"0"!==$inv$$.trang_thai)return $callback$$();let $period$$=await global.getModel("assperiod").findOne({id_app:$obj$$.id_app,
12
13
  id:$inv$$.id_period}).lean();if("0"==$inv$$.trang_thai||"2"==$inv$$.trang_thai){if(!$period$$.hoat_dong)return $fn$$("G\u00f3i \u0111\u1ea7u t\u01b0 n\u00e0y \u0111\u00e3 h\u1ebft hi\u1ec7u l\u1ef1c");let $tg_hien_tai$$=(new Date).getTime(),$tg_tao$$=(new Date($inv$$.date_created)).getTime();if(($tg_hien_tai$$-$tg_tao$$)/864E5>($period$$.han_tt||1))return $inv$$.trang_thai="7",await $inv$$.save(),$fn$$("G\u00f3i \u0111\u1ea7u t\u01b0 n\u00e0y \u0111\u00e3 h\u1ebft h\u1ea1n thanh to\u00e1n")}if(!$obj$$.da_chuyen_token){let $amount$$=
13
14
  $inv$$.gia*$inv$$.so_luong,$denom$$=$inv$$.denom,$app$$=await App.findOne({_id:$obj$$.id_app});if($app$$.wallet_address&&$app$$.wallet_token&&$obj$$.details)try{await blockchainconnect.spend($obj$$.id_app,$app$$.wallet_token,$app$$.wallet_address,$inv$$.creator,{amount:$amount$$,denom:$denom$$,memo:"N\u1ea1p ti\u1ec1n v\u00e0o v\u00ed b\u1eb1ng chuy\u1ec3n kho\u1ea3n"}),await model.findOneAndUpdate({_id:$obj$$._id},{da_chuyen_token:!0})}catch($e$$){return $callback$$($e$$.message||$e$$.error||$e$$)}else return $callback$$("Kh\u00f4ng th\u1ec3 th\u1ef1c hi\u1ec7n l\u00fac n\u00e0y. Hay th\u1eed l\u1ea1i sau")}let $ctrlinvest$$=
14
15
  global.controllers.ASSINVESTMENT;$ctrlinvest$$.updating({email:$inv$$.user_created,current_id_app:$obj$$.id_app},{trang_thai:"1"},$inv$$,($e$$,$data$$)=>{if($e$$)return $callback$$($e$$);for(let $key$$ in $data$$)$inv$$[$key$$]=$data$$[$key$$];$inv$$.trang_thai="1";$inv$$.save(async $e$jscomp$8_view_objs$$=>{if($e$jscomp$8_view_objs$$)return $callback$$($e$jscomp$8_view_objs$$.message);$e$jscomp$8_view_objs$$=await $ctrlinvest$$.asyncView($options$$.req.user,[$inv$$.toObject()],$options$$);controller.pushNotification($ctrlinvest$$,
15
- $e$jscomp$8_view_objs$$[0]);$callback$$()})})}catch($e$$){$callback$$($e$$.message)}})()}},($e$$,$rs$$)=>{$fn$$($e$$,$rs$$)})};$contr_router$$.creating=async function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);delete $obj$$.da_chuyen_token;if($obj$$.tdttnos&&0<$obj$$.tdttnos.length&&(await $obj$$.tdttnos.asyncJoinModel2($user$$.current_id_app,Tdttno,{where:{id_tdtt:"_id"},fields:["tat_toan",{tien_hd_nt:"tien_nt"}]}),0<(await Promise.all($obj$$.tdttnos.map($hd$$=>(async()=>{if(!global.mongoose.Types.ObjectId.isValid($hd$$.id_tdtt))return{error:"Ho\u00e1 \u0111\u01a1n kh\u00f4ng h\u1ee3p l\u1ec7",
16
+ $e$jscomp$8_view_objs$$[0]);$callback$$()})})}catch($e$$){$callback$$($e$$.message)}})()}},($e$$,$rs$$)=>{$fn$$($e$$,$rs$$)})};$contr_router$$.creating=async function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$obj$$.da_chuyen_token=!1;if($obj$$.tdttnos&&0<$obj$$.tdttnos.length&&(await $obj$$.tdttnos.asyncJoinModel2($user$$.current_id_app,Tdttno,{where:{id_tdtt:"_id"},fields:["tat_toan",{tien_hd_nt:"tien_nt"}]}),0<(await Promise.all($obj$$.tdttnos.map($hd$$=>(async()=>{if(!global.mongoose.Types.ObjectId.isValid($hd$$.id_tdtt))return{error:"Ho\u00e1 \u0111\u01a1n kh\u00f4ng h\u1ee3p l\u1ec7",
16
17
  invoice:$hd$$};let $ds_da_thanh_toan$$=await Tdttno_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-$da_thanh_toan$$;return 0>=$con_lai$$?{error:"Ho\u00e1 \u0111\u01a1n \u0111\u00e3 \u0111\u01b0\u1ee3c 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$$,
17
18
  con_lai:$con_lai$$,ds_da_thanh_toan:$ds_da_thanh_toan$$}})()))).filter($hd$$=>$hd$$.error).length))return $next$$("Ho\u00e1 \u0111\u01a1n \u0111\u00e3 \u0111\u01b0\u1ee3c thanh to\u00e1n");valid_detail($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=async function($user$$,$data$$,$obj$$,$next$$){if($obj$$.id_so5){let $inv$$=await so5.findOne({id_app:$obj$$.id_app,_id:$obj$$.id_so5});if(!$inv$$)return $next$$("Phi\u1ebfu n\u1ea1p ti\u1ec1n kh\u00f4ng t\u1ed3n t\u1ea1i");
18
- if("5"==$inv$$.trang_thai)return $next$$("Phi\u1ebfu n\u1ea1p ti\u1ec1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n")}delete $data$$.da_chuyen_token;valid_detail($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.deleting=async function($inv$jscomp$3_user$$,$obj$$,$next$$){if($obj$$.id_so5&&($inv$jscomp$3_user$$=await so5.findOne({id_app:$obj$$.id_app,_id:$obj$$.id_so5}))&&"5"==$inv$jscomp$3_user$$.trang_thai)return $next$$("Kh\u00f4ng th\u1ec3 xo\u00e1 phi\u1ebfu n\u00e0y do phi\u1ebfu n\u1ea1p ti\u1ec1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n");
19
+ if("5"==$inv$$.trang_thai)return $next$$("Phi\u1ebfu n\u1ea1p ti\u1ec1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n")}$data$$.da_chuyen_token=void 0;valid_detail($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.deleting=async function($inv$jscomp$3_user$$,$obj$$,$next$$){if($obj$$.id_so5&&($inv$jscomp$3_user$$=await so5.findOne({id_app:$obj$$.id_app,_id:$obj$$.id_so5}))&&"5"==$inv$jscomp$3_user$$.trang_thai)return $next$$("Kh\u00f4ng th\u1ec3 xo\u00e1 phi\u1ebfu n\u00e0y do phi\u1ebfu n\u1ea1p ti\u1ec1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n");
19
20
  $next$$(null,$obj$$)};$contr_router$$.deleted=($details$jscomp$2_user$$,$obj$$,$next$$)=>{$details$jscomp$2_user$$=($obj$$.details||[]).filter($d$$=>$d$$.id_tdtt);async.mapSeries($details$jscomp$2_user$$,($detail$$,$callback$$)=>{setImmediate(()=>{Tdttno.findOneAndUpdate({_id:$detail$$.id_tdtt.toString()},{$set:{tat_toan:!1}},($error$$,$result$$)=>{$callback$$($error$$,$result$$)})})},$e$$=>{$next$$($e$$,$obj$$)})};$contr_router$$.on("saved",function($obj$$){$obj$$.id_pn6&&pn6.updateMany({_id:$obj$$.id_pn6},
20
21
  {id_pt1:$obj$$._id.toString(),trang_thai:"7"},($e$jscomp$1$$,$rs$$)=>{console.log("update pn6",$obj$$.id_pn6,$rs$$);pn6.findOne({_id:$obj$$.id_pn6},($e$jscomp$0$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.PN6,$e$$=>{$e$$&&console.error($e$$)})})})});$contr_router$$.on("deleted",function($obj$$){$obj$$.id_pn6&&pn6.updateMany({_id:$obj$$.id_pn6},{id_pt1:""},()=>{pn6.updateMany({_id:$obj$$.id_pn6,trang_thai:"7"},{trang_thai:"5"},($e$jscomp$1$$,$rs$$)=>{console.log("update pn6",
21
22
  $obj$$.id_pn6,$rs$$);pn6.findOne({_id:$obj$$.id_pn6},($e$jscomp$0$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.PN6,$e$$=>{$e$$&&console.error($e$$)})})})})});$contr_router$$.view=function($user$$,$items$$,$fn$$){const $id_app$$=$user$$.current_id_app;async.series({kh:function($callback$$){setImmediate(()=>{$items$$.filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,[{where:"ma_kh",fields:["ten_kh"]}],function(){$callback$$()})})},nv:function($callback$$){setImmediate(()=>
@@ -2,12 +2,12 @@
2
2
  global.getModel("trangthai");
3
3
  module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,check_stock:!1,sort:{ngay_ct:-1,so_ct:-1}});$contr_router$$.route();const $valid$$=function($i_user$$,$obj$$,$next$$){for($i_user$$=0;$i_user$$<$obj$$.details.length;$i_user$$++){const $detail$$=$obj$$.details[$i_user$$];$detail$$.line=$i_user$$;$detail$$.tt_nt=$detail$$.tien_nt-$detail$$.tien_ck_nt;$detail$$.tt=$detail$$.tien-$detail$$.tien_ck;"VND"==$obj$$.ma_nt&&($detail$$.tien=
4
4
  $detail$$.tien_nt,$detail$$.tien_ck=$detail$$.tien_ck_nt,$detail$$.tt=$detail$$.tt_nt)}$next$$(null,$obj$$)};$contr_router$$.creating=function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$obj$$.id_po1="";$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$$)})};
5
- $contr_router$$.deleting=function($user$$,$obj$$,$next$$){$next$$(null,$obj$$)};$contr_router$$.on("saved",function($obj$$){$obj$$.id_dnm&&dnm.updateMany({_id:$obj$$.id_dnm},{id_bg2:$obj$$._id.toString()},()=>{dnm.updateMany({_id:$obj$$.id_dnm,trang_thai:{$ne:"7"}},{trang_thai:"6"},($e$$,$rs$$)=>{console.log("update dnm",$rs$$);dnm.findOne({_id:$obj$$.id_dnm},($e$jscomp$0$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.DNM,$e$$=>{$e$$&&console.error($e$$)})})})})});$contr_router$$.on("deleted",
6
- function($obj$$){$obj$$.id_dnm&&dnm.updateMany({_id:$obj$$.id_dnm},{id_bg2:""},()=>{dnm.updateMany({_id:$obj$$.id_dnm,trang_thai:"6"},{trang_thai:"3"},($e$jscomp$1$$,$rs$$)=>{console.log("update trang thai dnm",$rs$$);dnm.findOne({_id:$obj$$.id_dnm},($e$jscomp$0$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.DNM,$e$$=>{$e$$&&console.error($e$$)})})})})});$contr_router$$.view=function($user$$,$items$$,$fn$$){const $id_app$$=$user$$.current_id_app;async.series({dv:function($callback$$){$items$$.filter($item$$=>
7
- $item$$.ma_dvcs).joinModel($id_app$$,dvcs,[{akey:"ma_dvcs",bkey:"_id",fields:[{name:"ten_dvcs",value:"ten_dvcs"}]}],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$$()})},ma_bp:function($callback$$){$items$$.filter($item$$=>$item$$.ma_bp).joinModel($id_app$$,dmbp,[{akey:"ma_bp",bkey:"ma_bp",fields:[{name:"ten_bp",value:"ten_bp"}]}],function(){$callback$$()})},
8
- ma_nv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_nv).joinModel($id_app$$,dmnv,[{akey:"ma_nv",bkey:"ma_nv",fields:[{name:"ten_nv",value:"ten_nv"}]}],function(){$callback$$()})},dt:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback$$()})},contract:function($callback$$){$items$$.joinModel2($id_app$$,purchase_contract,[{where:{_id:"id_bao_gia"},fields:[{name:"id_contract",
9
- value:"_id"}]}],function(){$callback$$()})},po1:function($callback$$){$items$$.joinModel2($id_app$$,po1,[{where:{_id:"id_bao_gia"},fields:[{name:"id_po1",value:"_id"}]}],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$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.t_tt=0;$r$$.t_tt_nt=
10
- 0;$r$$.details&&($r$$.t_sl=$r$$.details.csum("so_luong"),$r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.t_thue_nk_nt=$r$$.details.csum("tien_thue_nk_nt"),$r$$.t_thue_nk=$r$$.details.csum("tien_thue_nk"),$r$$.t_tt=$r$$.t_tien+($r$$.t_thue|0)-$r$$.t_ck+$r$$.t_thue_nk,$r$$.t_tt_nt=$r$$.t_tien_nt+($r$$.t_thue_nt|0)-$r$$.t_ck_nt+$r$$.t_thue_nk_nt)});$callback$$()},details_vt:function($callback$$){async.each($items$$,
11
- function($r$$,$callback1$$){$r$$.details.joinModel($id_app$$,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_kh:function($callback$$){async.each($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,{where:"ma_kh",fields:"ten_kh"},function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,
12
- $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$$()})},details_contract:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_kh).joinModel($id_app$$,contract,[{akey:"ma_hd",bkey:"so_hd",fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback1$$()})},function(){$callback$$()})},
13
- 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",value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){$fn$$(null,$items$$)})}};
5
+ $contr_router$$.deleting=function($user$$,$obj$$,$next$$){$next$$(null,$obj$$)};$contr_router$$.on("saved",function($obj$$){$obj$$.id_dnm&&"3"==$obj$$.trang_thai&&dnm.updateMany({_id:$obj$$.id_dnm,trang_thai:{$ne:"7"}},{id_bg2:$obj$$._id.toString(),trang_thai:"6"},()=>{dnm.findOne({_id:$obj$$.id_dnm},($e$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.DNM,$e$$=>{$e$$&&console.error($e$$)})})})});$contr_router$$.on("deleted",function($obj$$){$obj$$.id_dnm&&dnm.updateMany({_id:$obj$$.id_dnm,
6
+ trang_thai:"6",id_bg2:$obj$$._id.toString()},{trang_thai:"3",id_bg2:""},($e$jscomp$1$$,$rs$$)=>{console.log("update trang thai dnm",$rs$$);dnm.findOne({_id:$obj$$.id_dnm},($e$jscomp$0$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.DNM,$e$$=>{$e$$&&console.error($e$$)})})})});$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",
7
+ bkey:"_id",fields:[{name:"ten_dvcs",value:"ten_dvcs"}]}],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$$()})},ma_bp:function($callback$$){$items$$.filter($item$$=>$item$$.ma_bp).joinModel($id_app$$,dmbp,[{akey:"ma_bp",bkey:"ma_bp",fields:[{name:"ten_bp",value:"ten_bp"}]}],function(){$callback$$()})},ma_nv:function($callback$$){$items$$.filter($item$$=>
8
+ $item$$.ma_nv).joinModel($id_app$$,dmnv,[{akey:"ma_nv",bkey:"ma_nv",fields:[{name:"ten_nv",value:"ten_nv"}]}],function(){$callback$$()})},dt:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback$$()})},contract:function($callback$$){$items$$.joinModel2($id_app$$,purchase_contract,[{where:{_id:"id_bao_gia"},fields:[{name:"id_contract",value:"_id"}]}],function(){$callback$$()})},
9
+ po1:function($callback$$){$items$$.joinModel2($id_app$$,po1,[{where:{_id:"id_bao_gia"},fields:[{name:"id_po1",value:"_id"}]}],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$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.t_tt=0;$r$$.t_tt_nt=0;$r$$.details&&($r$$.t_sl=$r$$.details.csum("so_luong"),
10
+ $r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.t_thue_nk_nt=$r$$.details.csum("tien_thue_nk_nt"),$r$$.t_thue_nk=$r$$.details.csum("tien_thue_nk"),$r$$.t_tt=$r$$.t_tien+($r$$.t_thue|0)-$r$$.t_ck+$r$$.t_thue_nk,$r$$.t_tt_nt=$r$$.t_tien_nt+($r$$.t_thue_nt|0)-$r$$.t_ck_nt+$r$$.t_thue_nk_nt)});$callback$$()},details_vt:function($callback$$){async.each($items$$,function($r$$,$callback1$$){$r$$.details.joinModel($id_app$$,
11
+ dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_kh:function($callback$$){async.each($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,{where:"ma_kh",fields:"ten_kh"},function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,
12
+ 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_kh).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$$=>
13
+ $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$$)})}};
@@ -1,12 +1,13 @@
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
  App=global.getModel("app"),cashwithdraw=global.getModel("asscashwithdraw"),trangthai=global.getModel("trangthai"),controller=require("../../controllers/controller"),{createTx}=require("../../libs/blockchainconnect"),async=require("async"),ma_ct="BN1",{round}=require("../../libs/utils"),utils=require("../../libs/utils"),numeral=require("numeral"),valid_detail=function($user$$,$obj$$,$fn$$){setImmediate(()=>{for(var $i_i$jscomp$1_i$$=0;$i_i$jscomp$1_i$$<$obj$$.details.length;$i_i$jscomp$1_i$$++){var $detail_tdttco_vatvao$$=
3
3
  $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$$=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$$=
4
- 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=$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
+ 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=$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$$,$options$$={}){$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$$)})},post_cashwithdraw:$callback$$=>{(async()=>{if($obj$$.id_asscashwithdraw){const $require$$=
9
- await cashwithdraw.findOne({_id:$obj$$.id_asscashwithdraw});if(!$require$$)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");if("5"==$require$$.trang_thai)return $callback$$();if("9"==$require$$.trang_thai)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 b\u1ecb hu\u1ef7");let $app$$=await App.findOne({_id:$obj$$.id_app});if(!$app$$||!$app$$.wallet_address||!$app$$.wallet_token)return $callback$$("Kh\u00f4ng th\u1ec3 x\u00e1c nh\u1eadn thanh to\u00e1n. H\u00e3y th\u1eed l\u1ea1i sau");
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
+ post_cashwithdraw:$callback$$=>{(async()=>{if($obj$$.id_asscashwithdraw){const $require$$=await cashwithdraw.findOne({_id:$obj$$.id_asscashwithdraw});if(!$require$$)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");if("5"==$require$$.trang_thai)return $callback$$();if("9"==$require$$.trang_thai)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 b\u1ecb hu\u1ef7");let $app$$=await App.findOne({_id:$obj$$.id_app});if(!$app$$||!$app$$.wallet_address||!$app$$.wallet_token)return $callback$$("Kh\u00f4ng th\u1ec3 x\u00e1c nh\u1eadn thanh to\u00e1n. H\u00e3y th\u1eed l\u1ea1i sau");
10
11
  let $creator$$=$app$$.wallet_address;createTx($obj$$.id_app,$app$$.wallet_token,{values:{creator:$creator$$,id:Number($require$$.id)},typeUrl:"/pvtruong.flexzen.flexzen.MsgPayCashWithdraw",from_address:$creator$$}).then(async $ctrlinvest_rs$$=>{if($ctrlinvest_rs$$.code){if(5===$ctrlinvest_rs$$.code)return $callback$$("B\u1ea1n kh\u00f4ng \u0111\u1ee7 ti\u1ec1n \u0111\u1ec3 th\u1ef1c hi\u1ec7n giao d\u1ecbch n\u00e0y");console.error($ctrlinvest_rs$$);return $callback$$($ctrlinvest_rs$$.rawLog||"Kh\u00f4ng th\u1ec3 th\u1ef1c hi\u1ec7n l\u1ec7nh r\u00fat ti\u1ec1n n\u00e0y")}await cashwithdraw.updateOne({_id:$obj$$.id_asscashwithdraw},
11
12
  {trang_thai:"5",payment_date:new Date});$ctrlinvest_rs$$=global.controllers.ASSCASHWITHDRAW;let $view_objs$$=await $ctrlinvest_rs$$.asyncView($options$$.req.user,[$require$$.toObject()],$options$$);controller.pushNotification($ctrlinvest_rs$$,$view_objs$$[0]);$callback$$(null,$require$$.toObject())}).catch($e$$=>{console.error($e$$);$callback$$($e$$.message||$e$$.error||$e$$)})}else $callback$$()})()}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};$contr_router$$.creating=async function($user$$,$obj$$,
12
13
  $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){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,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");
@@ -1,39 +1,16 @@
1
- 'use strict';const dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),customer=global.getModel("customer"),dmnv=global.getModel("dmnv"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),contract=global.getModel("contract"),salecontract=global.getModel("sale_contract"),model=global.getModel("dh2"),hd2=global.getModel("hd2"),pxh=global.getModel("pxh"),controller=require("../../controllers/controller"),utils=require("../../libs/utils"),trangthai=global.getModel("trangthai"),async=require("async"),
2
- ma_ct="DH2",moment=require("moment"),_=require("lodash"),hoahonghdgt=async $obj$$=>{if(!$obj$$.da_chuyen_hoa_hong_gt&&($obj$$.tien_hoa_hong_gt=0,$obj$$.ty_le_hoa_hong_gt=0,$obj$$.ma_kh_hoa_hong_gt="",$obj$$.details.forEach($detail$$=>{$detail$$.tien_hoa_hong_gt=0;$detail$$.ty_le_hoa_hong_gt=0}),$obj$$.introduce_code&&($obj$$.user_gt="",$hieu_luc_tu_intro_intro$jscomp$1_intro$$=await global.getModel("introducer").findOne({id_app:$obj$$.id_app,introduce_code:$obj$$.introduce_code}))&&($obj$$.user_gt=
3
- $hieu_luc_tu_intro_intro$jscomp$1_intro$$.be_introduced_by),$obj$$.user_gt&&!$obj$$.introduce_code&&($hieu_luc_tu_intro_intro$jscomp$1_intro$$=await global.getModel("introducer").findOne({id_app:$obj$$.id_app,be_introduced_by:$obj$$.user_gt}))&&($obj$$.introduce_code=$hieu_luc_tu_intro_intro$jscomp$1_intro$$.introduce_code),!$obj$$.user_gt&&($obj$$.introduce_code="",$hieu_luc_tu_intro_intro$jscomp$1_intro$$=await global.getModel("introducer").findOne({id_app:$obj$$.id_app,be_introduced:$obj$$.user_created}))&&
4
- ($obj$$.user_gt=$hieu_luc_tu_intro_intro$jscomp$1_intro$$.be_introduced_by,$obj$$.introduce_code=$hieu_luc_tu_intro_intro$jscomp$1_intro$$.introduce_code),$obj$$.user_gt&&$obj$$.introduce_code)){var $hieu_luc_tu_intro_intro$jscomp$1_intro$$=await global.getModel("customer").findOne({id_app:$obj$$.id_app,of_user:$obj$$.user_gt});$hieu_luc_tu_intro_intro$jscomp$1_intro$$&&($obj$$.ma_kh_hoa_hong_gt=$hieu_luc_tu_intro_intro$jscomp$1_intro$$.ma_kh);var $query$$={id_app:$obj$$.id_app,ma_kho:{$in:[void 0,
5
- null,"",$obj$$.ma_kho]},doi_tuong:"1"};var $hieu_luc_den_q_nh_kh_tu_ngay$$=moment($obj$$.ngay_ct).startOf("date").toDate();$hieu_luc_tu_intro_intro$jscomp$1_intro$$={$lte:moment($obj$$.ngay_ct).endOf("date").toDate()};$hieu_luc_den_q_nh_kh_tu_ngay$$={$gte:$hieu_luc_den_q_nh_kh_tu_ngay$$};$query$$.hieu_luc_tu=$hieu_luc_tu_intro_intro$jscomp$1_intro$$;$query$$.hieu_luc_den=$hieu_luc_den_q_nh_kh_tu_ngay$$;var $sort$$={do_uu_tien:1,gt_tu:-1,tien_hh:-1,ty_le_hh:-1,ma_nv:-1,user_group:-1,nh_kh:-1,hieu_luc_tu:-1,
6
- kieu:1};$hieu_luc_tu_intro_intro$jscomp$1_intro$$={$in:[void 0,null,"",$obj$$.ma_kh]};$hieu_luc_den_q_nh_kh_tu_ngay$$={$in:[void 0,null,""]};if($obj$$.ma_kh){var $g_kh$$=await customer.findOne({id_app:$obj$$.id_app,ma_kh:$obj$$.ma_kh},{nh_kh:1});$g_kh$$&&$g_kh$$.nh_kh&&($hieu_luc_den_q_nh_kh_tu_ngay$$={$in:[void 0,null,"",$g_kh$$.nh_kh]})}if($obj$$.user_gt){if($g_kh$$=await global.getModel("participant").findOne({id_app:$obj$$.id_app,email:$obj$$.user_gt}).lean())$query$$.user_group={$in:[($g_kh$$.group_id||
7
- "").toString(),null,void 0,""]}}else $query$$.user_group={$in:[null,void 0,""]};$query$$.$or=[{$and:[{ma_kh:$hieu_luc_tu_intro_intro$jscomp$1_intro$$},{nh_kh:{$in:["",null,void 0]}}]},{$and:[{nh_kh:$hieu_luc_den_q_nh_kh_tu_ngay$$},{ma_kh:{$in:["",null,void 0]}}]}];await Promise.all($obj$$.details.map($detail$$=>{let $t_tt_nt$$=$detail$$.tien_nt-$detail$$.tien_ck_nt,$loi_nhuan$$=$t_tt_nt$$-$detail$$.tien_xuat_tmp;const $_query$$=_.cloneDeep($query$$);$_query$$.gt_tu={$lte:$t_tt_nt$$};$_query$$.$and=
8
- [{$or:[{gt_den:{$in:[0,void 0,null]}},{gt_den:{$gte:$t_tt_nt$$}}]},{$or:[{"vts.0":{$exists:!1}},{vts:$detail$$.ma_vt}]}];return(async()=>{var $ckhd_ckhds$$=await global.getModel("dmhoahonghd").find($_query$$).sort($sort$$).limit(1).lean();0<$ckhd_ckhds$$.length&&($ckhd_ckhds$$=$ckhd_ckhds$$[0],$detail$$.gia_ban_niem_yet_nt&&$detail$$.gia_ban_niem_yet_nt>$detail$$.gia_ban_nt?$ckhd_ckhds$$.tien_hh2?($detail$$.tien_hoa_hong_gt=$ckhd_ckhds$$.tien_hh2,$detail$$.ty_le_hoa_hong_gt=0):($detail$$.ty_le_hoa_hong_gt=
9
- $ckhd_ckhds$$.ty_le_hh2||0,$detail$$.tien_hoa_hong_gt="9"==$ckhd_ckhds$$.kieu?Math.roundBy($loi_nhuan$$*$ckhd_ckhds$$.ty_le_hh2/100,0):Math.roundBy($t_tt_nt$$*$ckhd_ckhds$$.ty_le_hh2/100,0)):$ckhd_ckhds$$.tien_hh?($detail$$.tien_hoa_hong_gt=$ckhd_ckhds$$.tien_hh,$detail$$.ty_le_hoa_hong_gt=0):($detail$$.ty_le_hoa_hong_gt=$ckhd_ckhds$$.ty_le_hh||0,$detail$$.tien_hoa_hong_gt="9"==$ckhd_ckhds$$.kieu?Math.roundBy($loi_nhuan$$*$ckhd_ckhds$$.ty_le_hh/100,0):Math.roundBy($t_tt_nt$$*$ckhd_ckhds$$.ty_le_hh/
10
- 100,0)),$detail$$.chuyen_ngay_gt="1"==$ckhd_ckhds$$.hinh_thuc_tt)})()}));$obj$$.tien_hoa_hong_gt=$obj$$.details.csum("tien_hoa_hong_gt");$obj$$.chuyen_ngay_gt=!!$obj$$.details.find($d$$=>$d$$.chuyen_ngay_gt)}},hoahonghdctv=async $obj$$=>{if(!$obj$$.da_chuyen_hoa_hong_ctv){$obj$$.thu_nhap_ctv=0;$obj$$.ty_le_hoa_hong_ctv=0;$obj$$.details.forEach($detail$$=>{$detail$$.thu_nhap_ctv=0;$detail$$.ty_le_hoa_hong_ctv=0});$obj$$.user_ctv||$obj$$.ma_ctv||($obj$$.user_ctv=$obj$$.user_created);var $hieu_luc_tu$jscomp$1_kh$jscomp$2_q_ma_kh$$;
11
- $obj$$.user_ctv&&($hieu_luc_tu$jscomp$1_kh$jscomp$2_q_ma_kh$$=await global.getModel("customer").findOne({id_app:$obj$$.id_app,status:!0,of_user:$obj$$.user_ctv,isctv:!0}))&&($obj$$.ma_ctv=$hieu_luc_tu$jscomp$1_kh$jscomp$2_q_ma_kh$$.ma_kh);!$hieu_luc_tu$jscomp$1_kh$jscomp$2_q_ma_kh$$&&$obj$$.ma_ctv&&($hieu_luc_tu$jscomp$1_kh$jscomp$2_q_ma_kh$$=await global.getModel("customer").findOne({id_app:$obj$$.id_app,status:!0,ma_kh:$obj$$.ma_ctv,isctv:!0}));if($hieu_luc_tu$jscomp$1_kh$jscomp$2_q_ma_kh$$){var $query$$=
12
- {id_app:$obj$$.id_app,ma_kho:{$in:[void 0,null,"",$obj$$.ma_kho]},doi_tuong:"2"};var $hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$=moment($obj$$.ngay_ct).startOf("date").toDate();$hieu_luc_tu$jscomp$1_kh$jscomp$2_q_ma_kh$$={$lte:moment($obj$$.ngay_ct).endOf("date").toDate()};$hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$={$gte:$hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$};$query$$.hieu_luc_tu=$hieu_luc_tu$jscomp$1_kh$jscomp$2_q_ma_kh$$;$query$$.hieu_luc_den=$hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$;
13
- var $sort$$={do_uu_tien:1,gt_tu:-1,tien_hh:-1,ty_le_hh:-1,ma_nv:-1,user_group:-1,nh_kh:-1,hieu_luc_tu:-1,kieu:1};$hieu_luc_tu$jscomp$1_kh$jscomp$2_q_ma_kh$$={$in:[void 0,null,"",$obj$$.ma_kh]};$hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$={$in:[void 0,null,""]};if($obj$$.ma_kh){var $g$jscomp$1_kh$$=await customer.findOne({id_app:$obj$$.id_app,ma_kh:$obj$$.ma_kh},{nh_kh:1});$g$jscomp$1_kh$$&&$g$jscomp$1_kh$$.nh_kh&&($hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$={$in:[void 0,null,"",$g$jscomp$1_kh$$.nh_kh]})}if($obj$$.user_ctv){if($g$jscomp$1_kh$$=
14
- await global.getModel("participant").findOne({id_app:$obj$$.id_app,email:$obj$$.user_ctv}).lean())$query$$.user_group={$in:[($g$jscomp$1_kh$$.group_id||"").toString(),null,void 0,""]}}else $query$$.user_group={$in:[null,void 0,""]};$query$$.$or=[{$and:[{ma_kh:$hieu_luc_tu$jscomp$1_kh$jscomp$2_q_ma_kh$$},{nh_kh:{$in:["",null,void 0]}}]},{$and:[{nh_kh:$hieu_luc_den$jscomp$1_q_nh_kh$jscomp$1_tu_ngay$$},{ma_kh:{$in:["",null,void 0]}}]}];await Promise.all($obj$$.details.map($detail$$=>{let $t_tt_nt$$=
15
- $detail$$.tien_nt-$detail$$.tien_ck_nt,$loi_nhuan$$=$t_tt_nt$$-$detail$$.tien_xuat_tmp;const $_query$$=_.cloneDeep($query$$);$_query$$.gt_tu={$lte:$t_tt_nt$$};$_query$$.$and=[{$or:[{gt_den:{$in:[0,void 0,null]}},{gt_den:{$gte:$t_tt_nt$$}}]},{$or:[{"vts.0":{$exists:!1}},{vts:$detail$$.ma_vt}]}];return(async()=>{var $ckhd$jscomp$1_ckhds$$=await global.getModel("dmhoahonghd").find($_query$$).sort($sort$$).limit(1).lean();0<$ckhd$jscomp$1_ckhds$$.length&&($ckhd$jscomp$1_ckhds$$=$ckhd$jscomp$1_ckhds$$[0],
16
- $detail$$.gia_ban_niem_yet_nt&&$detail$$.gia_ban_niem_yet_nt>$detail$$.gia_ban_nt?$ckhd$jscomp$1_ckhds$$.tien_hh2?($detail$$.tien_hoa_hong_ctv=$ckhd$jscomp$1_ckhds$$.tien_hh2,$detail$$.ty_le_hoa_hong_ctv=0):($detail$$.ty_le_hoa_hong_ctv=$ckhd$jscomp$1_ckhds$$.ty_le_hh2||0,$detail$$.tien_hoa_hong_ctv="9"==$ckhd$jscomp$1_ckhds$$.kieu?Math.roundBy($loi_nhuan$$*$ckhd$jscomp$1_ckhds$$.ty_le_hh2/100,0):Math.roundBy($t_tt_nt$$*$ckhd$jscomp$1_ckhds$$.ty_le_hh2/100,0)):$ckhd$jscomp$1_ckhds$$.tien_hh?($detail$$.tien_hoa_hong_ctv=
17
- $ckhd$jscomp$1_ckhds$$.tien_hh,$detail$$.ty_le_hoa_hong_ctv=0):($detail$$.ty_le_hoa_hong_ctv=$ckhd$jscomp$1_ckhds$$.ty_le_hh||0,$detail$$.tien_hoa_hong_ctv="9"==$ckhd$jscomp$1_ckhds$$.kieu?Math.roundBy($loi_nhuan$$*$ckhd$jscomp$1_ckhds$$.ty_le_hh/100,0):Math.roundBy($t_tt_nt$$*$ckhd$jscomp$1_ckhds$$.ty_le_hh/100,0)),$detail$$.chuyen_ngay_ctv="1"==$ckhd$jscomp$1_ckhds$$.hinh_thuc_tt)})()}));$obj$$.thu_nhap_ctv=$obj$$.details.csum("tien_hoa_hong_ctv");$obj$$.chuyen_ngay_ctv=!!$obj$$.details.find($d$$=>
18
- $d$$.chuyen_ngay_ctv)}}},hoahonghdnv=async $obj$$=>{if($obj$$.tu_tinh_hoa_hong&&!$obj$$.da_chuyen_hoa_hong){$obj$$.tien_hoa_hong=0;$obj$$.ty_le_hoa_hong=0;$obj$$.ma_kh_hoa_hong="";$obj$$.details.forEach($detail$$=>{$detail$$.tien_hoa_hong=0;$detail$$.ty_le_hoa_hong=0});$obj$$.user_nv||$obj$$.ma_nv||($obj$$.user_nv=$obj$$.user_created);var $g$jscomp$2_kh$jscomp$4_kh$$;if($obj$$.ma_nv||$obj$$.user_nv){var $nv_query_nv$$={id_app:$obj$$.id_app,status:!0};$obj$$.ma_nv&&($nv_query_nv$$.ma_nv=$obj$$.ma_nv);
19
- $obj$$.user_nv&&($nv_query_nv$$.user=$obj$$.user_nv);if($nv_query_nv$$=await global.getModel("dmnv").findOne($nv_query_nv$$).lean())$obj$$.ma_kh_hoa_hong=$nv_query_nv$$.ma_kh,$obj$$.user_nv=$nv_query_nv$$.user,$obj$$.ma_nv=$nv_query_nv$$.ma_nv,$obj$$.ten_nv=$nv_query_nv$$.ten_nv,$obj$$.ma_kh_hoa_hong&&($g$jscomp$2_kh$jscomp$4_kh$$=await global.getModel("customer").findOne({id_app:$obj$$.id_app,status:!0,ma_kh:$obj$$.ma_kh_hoa_hong,isctv:{$in:[!1,null]}}))}!$g$jscomp$2_kh$jscomp$4_kh$$&&$obj$$.user_nv&&
20
- ($obj$$.ma_kh_hoa_hong="",$g$jscomp$2_kh$jscomp$4_kh$$=await global.getModel("customer").findOne({id_app:$obj$$.id_app,status:!0,of_user:$obj$$.user_nv,isctv:{$in:[!1,null]}}))&&($obj$$.ma_kh_hoa_hong=$g$jscomp$2_kh$jscomp$4_kh$$.ma_kh);if($g$jscomp$2_kh$jscomp$4_kh$$){var $user_group$$;$obj$$.user_nv?($g$jscomp$2_kh$jscomp$4_kh$$=await global.getModel("participant").findOne({id_app:$obj$$.id_app,email:$obj$$.user_nv}).lean())&&($user_group$$={$in:[($g$jscomp$2_kh$jscomp$4_kh$$.group_id||"").toString(),
21
- null,void 0,""]}):$user_group$$={$in:[null,void 0,""]};var $q_ma_kh$$={$in:[void 0,null,"",$obj$$.ma_kh]},$q_nh_kh$$={$in:[void 0,null,""]};$obj$$.ma_kh&&($g$jscomp$2_kh$jscomp$4_kh$$=await customer.findOne({id_app:$obj$$.id_app,ma_kh:$obj$$.ma_kh},{nh_kh:1}))&&$g$jscomp$2_kh$jscomp$4_kh$$.nh_kh&&($q_nh_kh$$={$in:[void 0,null,"",$g$jscomp$2_kh$jscomp$4_kh$$.nh_kh]});await Promise.all($obj$$.details.map($detail$$=>(async()=>{let $t_tt_nt$$=$detail$$.tien_nt-$detail$$.tien_ck_nt,$loi_nhuan$$=$t_tt_nt$$-
22
- $detail$$.tien_xuat_tmp;var $ckhd$jscomp$2_ckhds$jscomp$2_query$$={id_app:$obj$$.id_app,gt_tu:{$lte:$t_tt_nt$$},ma_kho:{$in:[void 0,null,"",$obj$$.ma_kho]},doi_tuong:"0",ma_nv:{$in:[void 0,null,"",$obj$$.ma_nv]}};$ckhd$jscomp$2_ckhds$jscomp$2_query$$.$and=[{$or:[{gt_den:{$in:[0,void 0,null]}},{gt_den:{$gte:$t_tt_nt$$}}]},{$or:[{"vts.0":{$exists:!1}},{vts:$detail$$.ma_vt}]}];let $hieu_luc_tu$$;var $hieu_luc_den$jscomp$2_tu_ngay$$=moment($obj$$.ngay_ct).startOf("date").toDate();$hieu_luc_tu$$={$lte:moment($obj$$.ngay_ct).endOf("date").toDate()};
23
- $hieu_luc_den$jscomp$2_tu_ngay$$={$gte:$hieu_luc_den$jscomp$2_tu_ngay$$};$ckhd$jscomp$2_ckhds$jscomp$2_query$$.hieu_luc_tu=$hieu_luc_tu$$;$ckhd$jscomp$2_ckhds$jscomp$2_query$$.hieu_luc_den=$hieu_luc_den$jscomp$2_tu_ngay$$;$user_group$$&&($ckhd$jscomp$2_ckhds$jscomp$2_query$$.user_group=$user_group$$);$ckhd$jscomp$2_ckhds$jscomp$2_query$$.$or=[{$and:[{ma_kh:$q_ma_kh$$},{nh_kh:{$in:["",null,void 0]}}]},{$and:[{nh_kh:$q_nh_kh$$},{ma_kh:{$in:["",null,void 0]}}]}];$ckhd$jscomp$2_ckhds$jscomp$2_query$$=
24
- await global.getModel("dmhoahonghd").find($ckhd$jscomp$2_ckhds$jscomp$2_query$$).sort({do_uu_tien:1,gt_tu:-1,tien_hh:-1,ty_le_hh:-1,ma_nv:-1,user_group:-1,nh_kh:-1,hieu_luc_tu:-1,kieu:1}).limit(1).lean();0<$ckhd$jscomp$2_ckhds$jscomp$2_query$$.length&&($ckhd$jscomp$2_ckhds$jscomp$2_query$$=$ckhd$jscomp$2_ckhds$jscomp$2_query$$[0],$detail$$.gia_ban_niem_yet_nt&&$detail$$.gia_ban_niem_yet_nt>$detail$$.gia_ban_nt?$ckhd$jscomp$2_ckhds$jscomp$2_query$$.tien_hh2?($detail$$.tien_hoa_hong=$ckhd$jscomp$2_ckhds$jscomp$2_query$$.tien_hh2,
25
- $detail$$.ty_le_hoa_hong=0):($detail$$.ty_le_hoa_hong=$ckhd$jscomp$2_ckhds$jscomp$2_query$$.ty_le_hh2||0,$detail$$.tien_hoa_hong="9"==$ckhd$jscomp$2_ckhds$jscomp$2_query$$.kieu?Math.roundBy($loi_nhuan$$*$ckhd$jscomp$2_ckhds$jscomp$2_query$$.ty_le_hh2/100,0):Math.roundBy($t_tt_nt$$*$ckhd$jscomp$2_ckhds$jscomp$2_query$$.ty_le_hh2/100,0)):$ckhd$jscomp$2_ckhds$jscomp$2_query$$.tien_hh?($detail$$.tien_hoa_hong=$ckhd$jscomp$2_ckhds$jscomp$2_query$$.tien_hh,$detail$$.ty_le_hoa_hong=0):($detail$$.ty_le_hoa_hong=
26
- $ckhd$jscomp$2_ckhds$jscomp$2_query$$.ty_le_hh||0,$detail$$.tien_hoa_hong="9"==$ckhd$jscomp$2_ckhds$jscomp$2_query$$.kieu?Math.roundBy($loi_nhuan$$*$ckhd$jscomp$2_ckhds$jscomp$2_query$$.ty_le_hh/100,0):Math.roundBy($t_tt_nt$$*$ckhd$jscomp$2_ckhds$jscomp$2_query$$.ty_le_hh/100,0)),$detail$$.chuyen_ngay="1"==$ckhd$jscomp$2_ckhds$jscomp$2_query$$.hinh_thuc_tt)})()));$obj$$.tien_hoa_hong=$obj$$.details.csum("tien_hoa_hong");$obj$$.chuyen_ngay=!!$obj$$.details.find($d$$=>$d$$.chuyen_ngay)}}};
27
- module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,sort:{ngay_ct:-1,so_ct:-1},check_stock:!1});$contr_router$$.route();$contr_router$$.saving=async($user$$,$obj$$)=>{$obj$$.user_created||($obj$$.user_created=$user$$.email);await $obj$$.details.asyncJoinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["gia_mua"]});$obj$$.details.forEach($d$$=>{$d$$.tien_xuat_tmp=$d$$.sl_xuat*($d$$.gia_mua||0)});await hoahonghdnv($obj$$);await hoahonghdgt($obj$$);
28
- await hoahonghdctv($obj$$)};const $valid$$=function($i_t_thue_nt_user$$,$obj$$,$next$$){for($i_t_thue_nt_user$$=0;$i_t_thue_nt_user$$<$obj$$.details.length;$i_t_thue_nt_user$$++)$detail$jscomp$0$$=$obj$$.details[$i_t_thue_nt_user$$],$obj$$.ma_kho&&($detail$jscomp$0$$.ma_kho=$obj$$.ma_kho),$detail$jscomp$0$$.line=$i_t_thue_nt_user$$,"VND"===$obj$$.ma_nt&&($detail$jscomp$0$$.tien=$detail$jscomp$0$$.tien_nt,$detail$jscomp$0$$.gia_ban=$detail$jscomp$0$$.gia_ban_nt,$detail$jscomp$0$$.tien_ck=$detail$jscomp$0$$.tien_ck_nt),
29
- $detail$jscomp$0$$.tien_xuat=$detail$jscomp$0$$.tien_xuat_nt,$detail$jscomp$0$$.tien_ck=$detail$jscomp$0$$.tien_ck||0,$detail$jscomp$0$$.tien_ck_nt=$detail$jscomp$0$$.tien_ck_nt||0;$obj$$.thue_suat=$obj$$.thue_suat||0;let $f_tien_nt$$="VND"==$obj$$.ma_nt?0:2;$obj$$.details.forEach($detail$$=>{$detail$$.tien_thue=utils.round(($detail$$.tien-$detail$$.tien_ck)*$obj$$.thue_suat/100,0);$detail$$.tien_thue_nt=utils.round(($detail$$.tien_nt-$detail$$.tien_ck_nt)*$obj$$.thue_suat/100,$f_tien_nt$$)});$obj$$.t_thue_nt=
30
- utils.round(($obj$$.details.csum("tien_nt")-$obj$$.details.csum("tien_ck_nt"))*$obj$$.thue_suat/100,$f_tien_nt$$);$obj$$.t_thue=utils.round($obj$$.t_thue_nt*($obj$$.ty_gia||1),0);$i_t_thue_nt_user$$=$obj$$.details.csum("tien_thue_nt");var $detail$jscomp$0$$=$obj$$.details.csum("tien_thue");if(($i_t_thue_nt_user$$!==$obj$$.t_thue_nt||$detail$jscomp$0$$!==$obj$$.t_thue)&&0<$obj$$.details.length){let $row_dieu_chinh$$=$obj$$.details[$obj$$.details.length-1];$row_dieu_chinh$$.tien_thue_nt+=$obj$$.t_thue_nt-
31
- $i_t_thue_nt_user$$;$row_dieu_chinh$$.tien_thue+=$obj$$.t_thue-$detail$jscomp$0$$}$obj$$.id_contract?salecontract.findOne({_id:$obj$$.id_contract}).lean().exec(($e$$,$c$$)=>{$c$$&&($obj$$.ma_hd=$c$$.ma_hd);$next$$(null,$obj$$)}):$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$$.view=function($user$$,$items$$,$fn$$){const $id_app$$=
1
+ 'use strict';const dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),customer=global.getModel("customer"),dmnv=global.getModel("dmnv"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),contract=global.getModel("contract"),salecontract=global.getModel("sale_contract"),model=global.getModel("dh2"),hd2=global.getModel("hd2"),pxh=global.getModel("pxh"),controller=require("../../controllers/controller"),utils=require("../../libs/utils"),tinhhoahong=require("../../libs/tinhhoahong"),trangthai=
2
+ global.getModel("trangthai"),async=require("async"),ma_ct="DH2";
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},check_stock:!1});$contr_router$$.route();$contr_router$$.saving=async($user$$,$obj$$)=>{$obj$$.user_created||($obj$$.user_created=$user$$.email);$obj$$.details.forEach($d$$=>{$d$$.tt_nt=$d$$.tien_nt-$d$$.tien_ck_nt;$d$$.tt=$d$$.tien-$d$$.tien_ck;$d$$.tien_xuat_tmp=$d$$.sl_xuat*($d$$.gia_mua||0)});await tinhhoahong($obj$$)};const $valid$$=function($i_t_thue_nt_user$$,
4
+ $obj$$,$next$$){$obj$$.thue_suat=$obj$$.thue_suat||0;let $f_tien_nt$$="VND"==$obj$$.ma_nt?0:2;$obj$$.details.forEach($detail$$=>{$detail$$.tien_thue_nt=utils.round(($detail$$.tien_nt-$detail$$.tien_ck_nt)*$obj$$.thue_suat/100,$f_tien_nt$$)});for($i_t_thue_nt_user$$=0;$i_t_thue_nt_user$$<$obj$$.details.length;$i_t_thue_nt_user$$++)$detail$jscomp$0$$=$obj$$.details[$i_t_thue_nt_user$$],$detail$jscomp$0$$.line=$i_t_thue_nt_user$$,$detail$jscomp$0$$.tien_ck_nt=$detail$jscomp$0$$.tien_ck_nt||0,$detail$jscomp$0$$.tien_thue_nt=
5
+ $detail$jscomp$0$$.tien_thue_nt||0,$detail$jscomp$0$$.tien=utils.round($detail$jscomp$0$$.tien_nt*$obj$$.ty_gia,0),$detail$jscomp$0$$.gia_ban=utils.round($detail$jscomp$0$$.gia_ban_nt*$obj$$.ty_gia,0),$detail$jscomp$0$$.tien_ck=utils.round($detail$jscomp$0$$.tien_ck_nt*$obj$$.ty_gia,0),$detail$jscomp$0$$.tien_thue=utils.round($detail$jscomp$0$$.tien_thue_nt*$obj$$.ty_gia,0),$detail$jscomp$0$$.tien_xuat=$detail$jscomp$0$$.tien_xuat_nt;$obj$$.t_thue_nt=utils.round(($obj$$.details.csum("tien_nt")-$obj$$.details.csum("tien_ck_nt"))*
6
+ $obj$$.thue_suat/100,$f_tien_nt$$);$obj$$.t_thue=utils.round($obj$$.t_thue_nt*($obj$$.ty_gia||1),0);$i_t_thue_nt_user$$=$obj$$.details.csum("tien_thue_nt");var $detail$jscomp$0$$=$obj$$.details.csum("tien_thue");if(($i_t_thue_nt_user$$!==$obj$$.t_thue_nt||$detail$jscomp$0$$!==$obj$$.t_thue)&&0<$obj$$.details.length){let $row_dieu_chinh$$=$obj$$.details[$obj$$.details.length-1];$row_dieu_chinh$$.tien_thue_nt+=$obj$$.t_thue_nt-$i_t_thue_nt_user$$;$row_dieu_chinh$$.tien_thue+=$obj$$.t_thue-$detail$jscomp$0$$}$obj$$.id_contract?
7
+ salecontract.findOne({_id:$obj$$.id_contract}).lean().exec(($e$$,$c$$)=>{$c$$&&($obj$$.ma_hd=$c$$.ma_hd);$next$$(null,$obj$$)}):$next$$(null,$obj$$)};$contr_router$$.creating=async function($user$$,$obj$$,$next$$){$obj$$.details||($obj$$.details=[]);$obj$$.id_hd2=void 0;await $obj$$.details.asyncJoinModel2($obj$$.id_app,dmvt,{where:"ma_vt",fields:["gia_mua"]});$valid$$($user$$,$obj$$,async function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=async($user$$,
8
+ $data$$,$obj$$,$next$$)=>{$data$$.details||($data$$.details=$obj$$.details);await $data$$.details.asyncJoinModel2($user$$.current_id_app,dmvt,{where:"ma_vt",setFields:($item$$,$ref$$)=>{$obj$$.details.find($d$$=>$d$$.ma_vt===$item$$.ma_vt)?$item$$.gia_mua||($item$$.gia_mua=$ref$$.gia_mua):$item$$.gia_mua=$ref$$.gia_mua}});$valid$$($user$$,$data$$,async function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.view=function($user$$,$items$$,$fn$$){const $id_app$$=
32
9
  $user$$.current_id_app;async.series({dv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dvcs).joinModel2($id_app$$,dvcs,[{where:{ma_dvcs:"_id"},fields:[{name:"ten_dvcs",value:"ten_dvcs"}]}],function(){$callback$$()})},dt:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dt).joinModel2($id_app$$,dmdt,[{where:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback$$()})},kh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,[{where:"ma_kh",
33
- fields:["ten_kh","dia_chi","dien_thoai","email","nh_kh"]}],function(){$callback$$()})},nv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_nv).joinModel2($id_app$$,dmnv,[{where:"ma_nv",fields:[{name:"ten_nv",value:"ten_nv"}]}],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$$()})},contract:function($callback$$){$items$$.filter($item$$=>
34
- $item$$.ma_hd).joinModel2($id_app$$,contract,[{where:{ma_hd:"so_hd"},fields:["ten_hd"]}],function(){$callback$$()})},hd2:function($callback$$){$items$$.joinModel2($id_app$$,hd2,[{where:{_id:"id_dh2"},fields:[{name:"id_hd2",value:"_id"}]}],function(){$callback$$()})},lenhsx:function($callback$$){$items$$.joinModel2($id_app$$,global.getModel("lenhsx"),[{where:{_id:"id_dh2"},fields:[{name:"id_lenhsx",value:"_id"}]}],function(){$callback$$()})},pxh:function($callback$$){$items$$.joinModel2($id_app$$,
35
- pxh,[{where:{_id:"id_dh2"},fields:[{name:"id_pxh",value:"_id"}]}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.details&&($r$$.t_sl=$r$$.details.csum("sl_xuat"),$r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.tc_ck_nt=$r$$.t_ck_nt+($r$$.tien_ck_hd||0),$r$$.tc_ck=$r$$.t_ck+($r$$.tien_ck_hd||0)*$r$$.ty_gia,$r$$.t_thue=$r$$.details.csum("tien_thue"),
36
- $r$$.t_thue_nt=$r$$.details.csum("tien_thue_nt"),$r$$.t_tt=$r$$.t_tien+$r$$.t_thue-$r$$.tc_ck,$r$$.t_tt_nt=$r$$.t_tien_nt+$r$$.t_thue_nt-$r$$.tc_ck_nt,$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat"),$r$$.t_tien_xuat_nt=$r$$.details.csum("tien_xuat_nt"),$r$$.tien_hoa_hong=$r$$.details.csum("tien_hoa_hong"),$r$$.tien_hoa_hong_gt=$r$$.details.csum("tien_hoa_hong_gt"),$r$$.tien_hoa_hong_ctv=$r$$.details.csum("tien_hoa_hong_ctv"),$r$$.tien_hoa_hong_ql=$r$$.details.csum("tien_hoa_hong_ql"))});$callback$$()},
37
- details_vt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ten_vt ma_lvt tk_dt tk_gv tk_vt tk_ck".split(" ")}],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",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},
38
- 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:[{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).joinModel2($id_app$$,dmphi,[{where:"ma_phi",fields:[{name:"ten_phi",
39
- value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){$fn$$(null,$items$$)})}};
10
+ fields:["ten_kh","dia_chi","dien_thoai","email","nh_kh"]}],function(){$callback$$()})},nv:function($callback$$){$items$$.filter($item$$=>$item$$.ma_nv).joinModel2($id_app$$,dmnv,[{where:"ma_nv",fields:[{name:"ten_nv",value:"ten_nv"}]}],function(){$callback$$()})},contract:function($callback$$){$items$$.filter($item$$=>$item$$.ma_hd).joinModel2($id_app$$,contract,[{where:{ma_hd:"so_hd"},fields:["ten_hd"]}],function(){$callback$$()})},hd2:function($callback$$){$items$$.joinModel2($id_app$$,hd2,[{where:{_id:"id_dh2"},
11
+ fields:[{name:"id_hd2",value:"_id"}]}],function(){$callback$$()})},lenhsx:function($callback$$){$items$$.joinModel2($id_app$$,global.getModel("lenhsx"),[{where:{_id:"id_dh2"},fields:[{name:"id_lenhsx",value:"_id"}]}],function(){$callback$$()})},pxh:function($callback$$){$items$$.joinModel2($id_app$$,pxh,[{where:{_id:"id_dh2"},fields:[{name:"id_pxh",value:"_id"}]}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.details&&($r$$.t_sl=$r$$.details.csum("sl_xuat"),
12
+ $r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.tc_ck_nt=$r$$.t_ck_nt+($r$$.tien_ck_hd||0),$r$$.tc_ck=$r$$.t_ck+($r$$.tien_ck_hd||0)*$r$$.ty_gia,$r$$.t_thue=$r$$.details.csum("tien_thue"),$r$$.t_thue_nt=$r$$.details.csum("tien_thue_nt"),$r$$.t_tt=$r$$.t_tien+$r$$.t_thue-$r$$.tc_ck,$r$$.t_tt_nt=$r$$.t_tien_nt+$r$$.t_thue_nt-$r$$.tc_ck_nt,$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat"),
13
+ $r$$.t_tien_xuat_nt=$r$$.details.csum("tien_xuat_nt"),$r$$.tien_hoa_hong=$r$$.details.csum("tien_hoa_hong"),$r$$.tien_hoa_hong_gt=$r$$.details.csum("tien_hoa_hong_gt"),$r$$.tien_hoa_hong_ctv=$r$$.details.csum("tien_hoa_hong_ctv"),$r$$.tien_hoa_hong_ql=$r$$.details.csum("tien_hoa_hong_ql"))});$callback$$()},details_vt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ten_vt ma_lvt tk_dt tk_gv tk_vt tk_ck".split(" ")}],
14
+ 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",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,[{where:{ma_hd:"so_hd"},
15
+ 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).joinModel2($id_app$$,dmphi,[{where:"ma_phi",fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,trangthai,[{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},
16
+ fields:["ten_trang_thai","color"]}],function(){$fn$$(null,$items$$)})})}};
@@ -1,5 +1,5 @@
1
- 'use strict';const dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),dmbp=global.getModel("dmbp"),customer=global.getModel("customer"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),contract=global.getModel("contract"),model=global.getModel("dnm"),pn1=global.getModel("pn1"),pn9=global.getModel("pn9"),purchase_contract=global.getModel("purchase_contract"),bg2=global.getModel("bg2"),po1=global.getModel("po1"),shipbook=global.getModel("shipbook"),vanchuyen=global.getModel("vanchuyen"),
2
- trangthai=global.getModel("trangthai"),controller=require("../../controllers/controller"),hanmucton=global.getModel("hanmucton"),ckvt=require("../../libs/ckvt"),async=require("async"),ma_ct="DNM";
1
+ 'use strict';const dvcs=global.getModel("dvcs"),dmvt=global.getModel("dmvt"),dmbp=global.getModel("dmbp"),customer=global.getModel("customer"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),contract=global.getModel("contract"),model=global.getModel("dnm"),pn1=global.getModel("pn1"),pn9=global.getModel("pn9"),purchase_contract=global.getModel("purchase_contract"),po1=global.getModel("po1"),shipbook=global.getModel("shipbook"),vanchuyen=global.getModel("vanchuyen"),trangthai=global.getModel("trangthai"),
2
+ controller=require("../../controllers/controller"),hanmucton=global.getModel("hanmucton"),ckvt=require("../../libs/ckvt"),async=require("async"),ma_ct="DNM";
3
3
  module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,check_stock:!1,sort:{ngay_ct:-1,so_ct:-1}});$contr_router$$.route();const $valid$$=async($i_user$$,$obj$$,$next$$)=>{for($i_user$$=0;$i_user$$<$obj$$.details.length;$i_user$$++){const $detail$$=$obj$$.details[$i_user$$];$detail$$.line=$i_user$$;$detail$$.tt_nt=$detail$$.tien_nt-$detail$$.tien_ck_nt;$detail$$.tt=$detail$$.tien-$detail$$.tien_ck;"VND"==$obj$$.ma_nt&&($detail$$.tien=
4
4
  $detail$$.tien_nt,$detail$$.tien_ck=$detail$$.tien_ck_nt,$detail$$.tt=$detail$$.tt_nt)}$next$$(null,$obj$$)};$contr_router$$.creating=async($user$$,$obj$$,$next$$)=>{$obj$$.details||($obj$$.details=[]);$obj$$.id_bg2="";$obj$$.id_po1="";$obj$$.details.forEach($d$$=>{$d$$.ma_kho=$obj$$.ma_kho});if(!($user$$.current_app_info.options||{}).check_stock_max)return $next$$(null,$obj$$);let $details$$=await $obj$$.details.asyncGroupBy("ma_kho ma_vt ma_lo ma_tt1 ma_tt2 ma_tt3".split(" "),["so_luong"]);async.mapSeries($details$$,
5
5
  async $detail$$=>{let $query_hanmucton$$={id_app:$user$$.current_id_app,ma_kho:$obj$$.ma_kho,ma_vt:$detail$$.ma_vt};$detail$$.ma_tt1&&$query_hanmucton$$.ma_tt1;$detail$$.ma_tt2&&$query_hanmucton$$.ma_tt2;$detail$$.ma_tt3&&$query_hanmucton$$.ma_tt3;var $hanmucs_ton_toi_da$$=await hanmucton.find($query_hanmucton$$).lean();if(0<$hanmucs_ton_toi_da$$.length&&($hanmucs_ton_toi_da$$=$hanmucs_ton_toi_da$$.map($h$$=>$h$$.ton_toi_da||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0))){if($detail$$.so_luong>$hanmucs_ton_toi_da$$)throw`V\u1eadt t\u01b0 ${$detail$$.ma_vt} s\u1ebd v\u01b0\u1ee3t t\u1ed3n t\u1ed1i \u0111a cho ph\u00e9p`;
@@ -9,13 +9,12 @@ async function($user$$,$data$$,$obj$$,$next$$){let $ma_kho$$=$data$$.ma_kho||$ob
9
9
  $query_hanmucton$$.ngay=new Date;if((await ckvt($query_hanmucton$$)).map($c$$=>$c$$.ton00).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+$detail$$.so_luong>$hanmucs$jscomp$1_ton_toi_da$$)throw`V\u1eadt t\u01b0 ${$detail$$.ma_vt} s\u1ebd v\u01b0\u1ee3t t\u1ed3n t\u1ed1i \u0111a cho ph\u00e9p`;}},$e$$=>{if($e$$)return $next$$($e$$);$valid$$($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})})};$contr_router$$.updated=function($user$$,$obj$$,$next$$){$next$$(null,
10
10
  $obj$$)};$contr_router$$.deleting=function($user$$,$obj$$,$next$$){$next$$(null,$obj$$)};$contr_router$$.view=function($user$$,$items$$,$fn$$){let $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$$()})},kh:function($callback$$){$items$$.filter($item$$=>$item$$.ma_kh).joinModel2($id_app$$,customer,[{where:"ma_kh",fields:["ten_kh"]}],
11
11
  function(){$callback$$()})},bp:function($callback$$){$items$$.filter($item$$=>$item$$.ma_bp).joinModel2($id_app$$,dmbp,[{where:"ma_bp",fields:["ten_bp"]}],function(){$callback$$()})},dt:function($callback$$){$items$$.filter($item$$=>$item$$.ma_dt).joinModel2($id_app$$,dmdt,[{where:"ma_dt",fields:["ten_dt"]}],function(){$callback$$()})},ship:function($callback$$){$items$$.joinModel2($id_app$$,shipbook,[{where:{_id:"id_dnm"},fields:[{name:"id_shipbook",value:"_id"}]}],function(){$callback$$()})},vanchuyen:function($callback$$){$items$$.joinModel2($id_app$$,
12
- vanchuyen,[{where:{_id:"id_dnm"},fields:[{name:"id_vanchuyen",value:"_id"}]}],function(){$callback$$()})},bg:function($callback$$){$items$$.joinModel2($id_app$$,bg2,[{where:{_id:"id_dnm"},fields:[{name:"id_bg2",value:"_id"}]}],function(){$callback$$()})},po1:function($callback$$){$items$$.joinModel2($id_app$$,po1,[{where:{_id:"id_dnm"},fields:[{name:"id_po1",value:"_id"}]}],function(){$callback$$()})},trangthai:function($callback$$){$items$$.filter($item$$=>$item$$.trang_thai).joinModel2(null,trangthai,
13
- [{where:{trang_thai:"ma_trang_thai",ma_ct:"ma_ct"},fields:["ten_trang_thai","color"]}],function(){$callback$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.t_tt=0;$r$$.t_tt_nt=0;$r$$.details&&($r$$.t_sl=$r$$.details.csum("so_luong"),$r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.t_thue_nk_nt=$r$$.details.csum("tien_thue_nk_nt"),$r$$.t_thue_nk=$r$$.details.csum("tien_thue_nk"),
14
- $r$$.t_tt=$r$$.t_tien+($r$$.t_thue|0)-$r$$.t_ck+$r$$.t_thue_nk,$r$$.t_tt_nt=$r$$.t_tien_nt+($r$$.t_thue_nt|0)-$r$$.t_ck_nt+$r$$.t_thue_nk_nt)});$callback$$()},details_vt:function($callback$$){async.each($items$$,function($r$$,$callback1$$){$r$$.details.joinModel($id_app$$,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"},{name:"tk_vt",value:"tk_vt"},{name:"tk_gv",value:"tk_gv"},{name:"tk_dt",value:"tk_dt"},{name:"tk_ck",value:"tk_ck"}]}],function(){$callback1$$()})},function(){$callback$$()})},
15
- 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$$()})},contract:function($callback$$){$items$$.filter($item$$=>$item$$.ma_hd).joinModel($id_app$$,contract,[{akey:"ma_hd",bkey:"so_hd",fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback$$()})},details_phi:function($callback$$){async.mapSeries($items$$,
16
- 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(){async.mapSeries($items$$,($denghimua$$,$callback$jscomp$0$$)=>{async.series({purchase_contract:$callback$$=>{purchase_contract.find({id_app:$denghimua$$.id_app,id_dnm:$denghimua$$._id}).lean().exec(($e$$,$invs$$)=>{if($e$$)return $callback$$($e$$);$denghimua$$.ds_contract=
17
- $invs$$.map($p$$=>({_id:$p$$._id,so_ct:$p$$.so_ct,ngay_ct:$p$$.ngay_ct}));let $details$$=$invs$$.map($inv$$=>$inv$$.details).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$denghimua$$.details.forEach($denghimua_detail$$=>{$denghimua_detail$$.sl_contract=$details$$.filter($detail$$=>$detail$$.ma_vt===$denghimua_detail$$.ma_vt).map($d$$=>$d$$.so_luong).reduce(($a$$,$b$$)=>$a$$+$b$$,0)});$denghimua$$.t_sl_contract=$details$$.map($d$$=>$d$$.so_luong).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$callback$$()})},pn1:$callback$$=>
18
- {pn1.find({id_app:$denghimua$$.id_app,id_dnm:$denghimua$$._id}).lean().exec(($e$$,$invs$$)=>{if($e$$)return $callback$$($e$$);$denghimua$$.ds_pn1=$invs$$.map($p$$=>({_id:$p$$._id,so_ct:$p$$.so_ct,ngay_ct:$p$$.ngay_ct}));let $details$$=$invs$$.map($inv$$=>$inv$$.details).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$denghimua$$.details.forEach($denghimua_detail$$=>{$denghimua_detail$$.sl_da_nhap_tn=$details$$.filter($detail$$=>$detail$$.ma_vt===$denghimua_detail$$.ma_vt).map($d$$=>$d$$.sl_nhap).reduce(($a$$,
19
- $b$$)=>$a$$+$b$$,0)});$denghimua$$.t_sl_da_nhap_tn=$details$$.map($d$$=>$d$$.sl_nhap).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$callback$$()})},pn9:$callback$$=>{pn9.find({id_app:$denghimua$$.id_app,id_dnm:$denghimua$$._id}).lean().exec(($e$$,$invs$$)=>{if($e$$)return $callback$$($e$$);$denghimua$$.ds_pn9=$invs$$.map($p$$=>({_id:$p$$._id,so_ct:$p$$.so_ct,ngay_ct:$p$$.ngay_ct}));let $details$$=$invs$$.map($inv$$=>$inv$$.details).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$denghimua$$.details.forEach($denghimua_detail$$=>
20
- {$denghimua_detail$$.sl_da_nhap_khau=$details$$.filter($detail$$=>$detail$$.ma_vt===$denghimua_detail$$.ma_vt).map($d$$=>$d$$.sl_nhap).reduce(($a$$,$b$$)=>$a$$+$b$$,0)});$denghimua$$.t_sl_da_nhap_khau=$details$$.map($d$$=>$d$$.sl_nhap).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$callback$$()})}},$e$$=>{if($e$$)return $callback$jscomp$0$$($e$$);$denghimua$$.details.forEach($detail$$=>{$detail$$.sl_da_nhap=$detail$$.sl_da_nhap_tn+$detail$$.sl_da_nhap_khau});$denghimua$$.t_sl_da_nhap=$denghimua$$.t_sl_da_nhap_tn+
21
- $denghimua$$.t_sl_da_nhap_khau;$callback$jscomp$0$$()})},()=>{$fn$$(null,$items$$)})})}};
12
+ vanchuyen,[{where:{_id:"id_dnm"},fields:[{name:"id_vanchuyen",value:"_id"}]}],function(){$callback$$()})},po1:function($callback$$){$items$$.joinModel2($id_app$$,po1,[{where:{_id:"id_dnm"},fields:[{name:"id_po1",value:"_id"}]}],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$$()})},t_tien:function($callback$$){$items$$.forEach(function($r$$){$r$$.t_tt=
13
+ 0;$r$$.t_tt_nt=0;$r$$.details&&($r$$.t_sl=$r$$.details.csum("so_luong"),$r$$.t_tien=$r$$.details.csum("tien"),$r$$.t_tien_nt=$r$$.details.csum("tien_nt"),$r$$.t_ck=$r$$.details.csum("tien_ck"),$r$$.t_ck_nt=$r$$.details.csum("tien_ck_nt"),$r$$.t_thue_nk_nt=$r$$.details.csum("tien_thue_nk_nt"),$r$$.t_thue_nk=$r$$.details.csum("tien_thue_nk"),$r$$.t_tt=$r$$.t_tien+($r$$.t_thue|0)-$r$$.t_ck+$r$$.t_thue_nk,$r$$.t_tt_nt=$r$$.t_tien_nt+($r$$.t_thue_nt|0)-$r$$.t_ck_nt+$r$$.t_thue_nk_nt)});$callback$$()},
14
+ details_vt:function($callback$$){async.each($items$$,function($r$$,$callback1$$){$r$$.details.joinModel($id_app$$,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"},{name:"tk_vt",value:"tk_vt"},{name:"tk_gv",value:"tk_gv"},{name:"tk_dt",value:"tk_dt"},{name:"tk_ck",value:"tk_ck"}]}],function(){$callback1$$()})},function(){$callback$$()})},details_dt:function($callback$$){async.mapSeries($items$$,function($r$$,$callback1$$){$r$$.details.filter($item$$=>$item$$.ma_dt).joinModel($id_app$$,
15
+ dmdt,[{akey:"ma_dt",bkey:"ma_dt",fields:[{name:"ten_dt",value:"ten_dt"}]}],function(){$callback1$$()})},function(){$callback$$()})},contract:function($callback$$){$items$$.filter($item$$=>$item$$.ma_hd).joinModel($id_app$$,contract,[{akey:"ma_hd",bkey:"so_hd",fields:[{name:"ten_hd",value:"ten_hd"}]}],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",
16
+ bkey:"ma_phi",fields:[{name:"ten_phi",value:"ten_phi"}]}],function(){$callback1$$()})},function(){$callback$$()})}},function(){async.mapSeries($items$$,($denghimua$$,$callback$jscomp$0$$)=>{async.series({purchase_contract:$callback$$=>{purchase_contract.find({id_app:$denghimua$$.id_app,id_dnm:$denghimua$$._id}).lean().exec(($e$$,$invs$$)=>{if($e$$)return $callback$$($e$$);$denghimua$$.ds_contract=$invs$$.map($p$$=>({_id:$p$$._id,so_ct:$p$$.so_ct,ngay_ct:$p$$.ngay_ct}));let $details$$=$invs$$.map($inv$$=>
17
+ $inv$$.details).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$denghimua$$.details.forEach($denghimua_detail$$=>{$denghimua_detail$$.sl_contract=$details$$.filter($detail$$=>$detail$$.ma_vt===$denghimua_detail$$.ma_vt).map($d$$=>$d$$.so_luong).reduce(($a$$,$b$$)=>$a$$+$b$$,0)});$denghimua$$.t_sl_contract=$details$$.map($d$$=>$d$$.so_luong).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$callback$$()})},pn1:$callback$$=>{pn1.find({id_app:$denghimua$$.id_app,id_dnm:$denghimua$$._id}).lean().exec(($e$$,$invs$$)=>{if($e$$)return $callback$$($e$$);
18
+ $denghimua$$.ds_pn1=$invs$$.map($p$$=>({_id:$p$$._id,so_ct:$p$$.so_ct,ngay_ct:$p$$.ngay_ct}));let $details$$=$invs$$.map($inv$$=>$inv$$.details).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$denghimua$$.details.forEach($denghimua_detail$$=>{$denghimua_detail$$.sl_da_nhap_tn=$details$$.filter($detail$$=>$detail$$.ma_vt===$denghimua_detail$$.ma_vt).map($d$$=>$d$$.sl_nhap).reduce(($a$$,$b$$)=>$a$$+$b$$,0)});$denghimua$$.t_sl_da_nhap_tn=$details$$.map($d$$=>$d$$.sl_nhap).reduce(($a$$,$b$$)=>$a$$+$b$$,0);
19
+ $callback$$()})},pn9:$callback$$=>{pn9.find({id_app:$denghimua$$.id_app,id_dnm:$denghimua$$._id}).lean().exec(($e$$,$invs$$)=>{if($e$$)return $callback$$($e$$);$denghimua$$.ds_pn9=$invs$$.map($p$$=>({_id:$p$$._id,so_ct:$p$$.so_ct,ngay_ct:$p$$.ngay_ct}));let $details$$=$invs$$.map($inv$$=>$inv$$.details).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$denghimua$$.details.forEach($denghimua_detail$$=>{$denghimua_detail$$.sl_da_nhap_khau=$details$$.filter($detail$$=>$detail$$.ma_vt===$denghimua_detail$$.ma_vt).map($d$$=>
20
+ $d$$.sl_nhap).reduce(($a$$,$b$$)=>$a$$+$b$$,0)});$denghimua$$.t_sl_da_nhap_khau=$details$$.map($d$$=>$d$$.sl_nhap).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$callback$$()})}},$e$$=>{if($e$$)return $callback$jscomp$0$$($e$$);$denghimua$$.details.forEach($detail$$=>{$detail$$.sl_da_nhap=$detail$$.sl_da_nhap_tn+$detail$$.sl_da_nhap_khau});$denghimua$$.t_sl_da_nhap=$denghimua$$.t_sl_da_nhap_tn+$denghimua$$.t_sl_da_nhap_khau;$callback$jscomp$0$$()})},()=>{$fn$$(null,$items$$)})})}};