flexbiz-server 12.0.11 → 12.0.12
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.
- package/package.json +1 -1
- package/server/auths/facebook.js +10 -9
- package/server/auths/google.js +9 -8
- package/server/controllers/controller.js +30 -28
- package/server/global.js +2 -2
- package/server/libs/ckvt.js +10 -9
- package/server/libs/ckvtcapphat.js +2 -2
- package/server/libs/ckvttt.js +5 -5
- package/server/libs/dkvt.js +2 -2
- package/server/libs/dkvttt.js +3 -3
- package/server/libs/permission.js +4 -4
- package/server/libs/post-book.js +2 -2
- package/server/libs/thnxt.js +7 -7
- package/server/libs/thnxttt.js +7 -7
- package/server/models/dmvt.js +5 -5
- package/server/models/listinfo.js +2 -2
- package/server/models/tontucthoi.js +3 -2
- package/server/models/user.js +7 -6
- package/server/modules/lists/ls-cart.js +11 -9
- package/server/modules/lists/ls-dmvt.js +32 -27
- package/server/modules/lists/ls-participant.js +4 -4
- package/server/modules/reports/rp-ckvt.js +7 -4
- package/server/modules/reports/rp-dtbanletheovt.js +6 -6
- package/server/modules/reports/rp-thnxt.js +8 -7
- package/server/modules/vouchers/vo-bn1.js +9 -7
- package/server/modules/vouchers/vo-pc1.js +8 -6
- package/server/route.js +8 -8
package/package.json
CHANGED
package/server/auths/facebook.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
module.exports=function($app$$){function $getProfile$$($access_token$$,$callback$$){request(`${"https://graph.facebook.com/me?fields=location,first_name,last_name,middle_name,name,gender,timezone,locale,about,address,age_range,birthday,cover,currency,email,id,languages,religion,sports,picture.type(large)"}&access_token=${$access_token$$}`,($e_profileUser$$,$res$$,$body$$)=>{if($e_profileUser$$)return $callback$$($e_profileUser$$);$e_profileUser$$=JSON.parse($body$$);if($e_profileUser$$.error)return $callback$$($e_profileUser
|
|
1
|
+
'use strict';const User=global.getModel("user"),Usergroup=global.getModel("usergroup"),Participant=global.getModel("participant"),Token=global.getModel("token"),Customer=global.getModel("customer"),App=global.getModel("app"),request=require("request");
|
|
2
|
+
module.exports=function($app$$){function $getProfile$$($access_token$$,$callback$$){request(`${"https://graph.facebook.com/me?fields=location,first_name,last_name,middle_name,name,gender,timezone,locale,about,address,age_range,birthday,cover,currency,email,id,languages,religion,sports,picture.type(large)"}&access_token=${$access_token$$}`,($e_profileUser$$,$res$$,$body$$)=>{if($e_profileUser$$)return $callback$$($e_profileUser$$);$e_profileUser$$=JSON.parse($body$$);if($e_profileUser$$.error)return $callback$$($e_profileUser$$);
|
|
3
3
|
$e_profileUser$$.emails&&0<$e_profileUser$$.emails.length&&!$e_profileUser$$.email&&($e_profileUser$$.email=$e_profileUser$$.emails[0]);$e_profileUser$$.displayName||($e_profileUser$$.displayName=$e_profileUser$$.name);$callback$$(null,$e_profileUser$$)})}function $addUserToCompany$$($body$$,$newUser$$){$body$$.id_app&&App.findOne({_id:$body$$.id_app},async($e$jscomp$0$$,$app$$)=>{if($e$jscomp$0$$||!$app$$)return console.log("Can't find app",$body$$.id_app,$e$jscomp$0$$);$e$jscomp$0$$=$body$$.group_id;
|
|
4
4
|
if(!$e$jscomp$0$$)try{$e$jscomp$0$$=await Usergroup.getInfo($body$$.id_app,{status:!0,is_customer_group:!0},"_id")}catch($e$$){console.log($e$$.message)}Participant.createParticipant({id_app:$body$$.id_app,email:$newUser$$.email,group_id:$e$jscomp$0$$,active:!0},$cust_e$$=>{$cust_e$$&&console.log("can't add user",$newUser$$.email,"to company",$app$$.name,$cust_e$$);$cust_e$$={ten_kh:$newUser$$.name,email:$newUser$$.email,id_app:$body$$.id_app,user_created:$newUser$$.email,user_updated:$newUser$$.email,
|
|
5
|
-
kh_yn:!0,of_user:$newUser$$.email};try{Customer.asyncCreateCustomer($cust_e$$)}catch($e$$){console.log("Auto create new customer with error:",$e$$.message)}})})}async function $checkExistUser$$($email$$){return new Promise(($resolve$$,$reject$$)=>{User.findOne({email:$email$$.toLowerCase()},($e$$,$rs$$)=>{if($e$$)return $reject$$(Error($e$$.message));$rs$$?$resolve$$($rs
|
|
6
|
-
|
|
7
|
-
$user$$.facebook.email=$profile$$.email,$user$$.name=$profile$$.displayName,$user$$.join_date||($user$$.join_date=new Date),$user$$.server="facebook",$user$$.local||($user$$.picture=$user$$.facebook.picture,$user$$.local={email:$user$$.email,name:$user$$.name,picture:$user$$.picture})
|
|
8
|
-
$user$$.save(function($err$$,$user$$){if($err$$)return $done$$($err$$);$addUserToCompany$$($profile$$,$user$$);(new Token({email:$user$$.email,token:$accessToken$$,service:"facebook"})).save(function($e$$){return $e$$?$done$$($e$$):$done$$(null,$user$$)})})):($user$$=new User,$user$$.current_user
|
|
9
|
-
$user$$.email=$profile$$.email,$user$$.name=$profile$$.displayName,$user$$.picture=$profile$$.picture.data.url,$user$$.server="facebook",$user$$.local={email:$user$$.email,name:$user$$.name,picture:$user$$.picture,password:$profile$$.password?$user$$.generateHash($profile$$.password):
|
|
10
|
-
service:"facebook"})).save(function($e$$){return $e$$?$done$$($e$$):$done$$(null,$user$$)})}))})})}$app$$.get("/
|
|
11
|
-
$profileUser
|
|
5
|
+
kh_yn:!0,of_user:$newUser$$.email};try{Customer.asyncCreateCustomer($cust_e$$)}catch($e$$){console.log("Auto create new customer with error:",$e$$.message)}})})}async function $checkExistUser$$($email$$){return new Promise(($resolve$$,$reject$$)=>{User.findOne({email:$email$$.toLowerCase()},($e$$,$rs$$)=>{if($e$$)return $reject$$(Error($e$$.message));$rs$$?$resolve$$($rs$$.toObject()):$resolve$$(null)})})}async function $createUser$$($accessToken$$,$profile$$,$done$$){setImmediate(async function(){let $u$$=
|
|
6
|
+
await $checkExistUser$$($profile$$.email||$profile$$.id);if($u$$){if($u$$.facebook&&$u$$.facebook.id===$profile$$.id||$u$$.email===$profile$$.email){$addUserToCompany$$($profile$$,$u$$);(new Token({email:$u$$.email,token:$accessToken$$,service:"facebook"})).save(function($e$$){if($e$$)return $done$$($e$$);$done$$(null,$u$$)});return}return $done$$(`${$u$$.email} \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd tr\u00ean h\u1ec7 th\u1ed1ng`)}$profile$$.email||($profile$$.email=$profile$$.id);
|
|
7
|
+
User.findOne({"facebook.id":$profile$$.id},async function($error$$,$user$$){if($error$$)return $done$$($error$$);$user$$?($user$$.facebook.name=$profile$$.displayName,$user$$.facebook.picture=$profile$$.picture.data.url,$user$$.facebook.email=$profile$$.email,$user$$.name=$profile$$.displayName,$user$$.join_date||($user$$.join_date=new Date),$user$$.server="facebook",$user$$.local||($user$$.picture=$user$$.facebook.picture,$user$$.local={email:$user$$.email,name:$user$$.name,picture:$user$$.picture}),
|
|
8
|
+
$profile$$.password&&($user$$.local.password=$user$$.generateHash($profile$$.password)),$user$$.local.picture||($user$$.local.picture=$user$$.facebook.picture),$user$$.picture||($user$$.picture=$user$$.facebook.picture),$user$$.save(function($err$$,$user$$){if($err$$)return $done$$($err$$);$addUserToCompany$$($profile$$,$user$$);(new Token({email:$user$$.email,token:$accessToken$$,service:"facebook"})).save(function($e$$){return $e$$?$done$$($e$$):$done$$(null,$user$$)})})):($user$$=new User,$user$$.current_user=
|
|
9
|
+
$profile$$.email||$profile$$.id,$user$$.facebook.id=$profile$$.id,$user$$.facebook.email=$profile$$.email,$user$$.facebook.name=$profile$$.displayName,$user$$.facebook.picture=$profile$$.picture.data.url,$user$$.email=$profile$$.email||$profile$$.id,$user$$.name=$profile$$.displayName,$user$$.picture=$profile$$.picture.data.url,$user$$.server="facebook",$user$$.local={email:$user$$.email,name:$user$$.name,picture:$user$$.picture,password:$profile$$.password?$user$$.generateHash($profile$$.password):
|
|
10
|
+
null},$user$$.join_date||($user$$.join_date=new Date),$user$$.save(function($err$$,$user$$){if($err$$)return $done$$($err$$);$addUserToCompany$$($profile$$,$user$$);(new Token({email:$user$$.email,token:$accessToken$$,service:"facebook"})).save(function($e$$){return $e$$?$done$$($e$$):$done$$(null,$user$$)})}))})})}$app$$.get("/profile/facebook",($access_token$$,$res$$)=>{$access_token$$=$access_token$$.query.access_token;if(!$access_token$$)return $res$$.status(400).send("this API require access_token parameter");
|
|
11
|
+
$getProfile$$($access_token$$,($e$jscomp$0$$,$profileUser$$)=>{if($e$jscomp$0$$)return $res$$.status(400).send($e$jscomp$0$$);User.findOne({"facebook.id":$profileUser$$.id.toString()},($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$profileUser$$.registed=$rs$$?!0:!1;$res$$.send($profileUser$$)})})});$app$$.get("/createuser/facebook",($req$$,$res$$)=>{let $access_token$$=$req$$.query.access_token;if(!$access_token$$)return $res$$.status(400).send("this API require access_token parameter");
|
|
12
|
+
$getProfile$$($access_token$$,($e$jscomp$0$$,$profileUser$$)=>{if($e$jscomp$0$$)return $res$$.status(400).send($e$jscomp$0$$);$profileUser$$.id_app=$req$$.query.id_app;$profileUser$$.group_id=$req$$.query.group_id;$profileUser$$.password=$req$$.query.password;$createUser$$($access_token$$,$profileUser$$,($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$res$$.send($rs$$)})})})};
|
package/server/auths/google.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
'use strict';const User=global.getModel("user"),Usergroup=global.getModel("usergroup"),Customer=global.getModel("customer"),Token=global.getModel("
|
|
1
|
+
'use strict';const User=global.getModel("user"),Usergroup=global.getModel("usergroup"),Customer=global.getModel("customer"),Token=global.getModel("token"),App=global.getModel("app"),Participant=global.getModel("participant"),request=require("request");
|
|
2
2
|
module.exports=function($app$$){function $getProfile$$($token$$,$callback$$){request({url:$token$$.access_token?"https://www.googleapis.com/userinfo/v2/me":"https://oauth2.googleapis.com/tokeninfo?id_token="+$token$$.id_token,headers:{Authorization:$token$$.access_token?`Bearer ${$token$$.access_token}`:null}},($e_profileUser$$,$res$$,$body$$)=>{if($e_profileUser$$)return $callback$$($e_profileUser$$);$e_profileUser$$=JSON.parse($body$$);if($e_profileUser$$.error)return $callback$$($e_profileUser$$.error);
|
|
3
3
|
$e_profileUser$$.emails&&0<$e_profileUser$$.emails.length&&!$e_profileUser$$.email&&($e_profileUser$$.email=$e_profileUser$$.emails[0].value);$e_profileUser$$.emails||($e_profileUser$$.emails=[{value:$e_profileUser$$.email||$e_profileUser$$.id}]);$e_profileUser$$.displayName||($e_profileUser$$.displayName=$e_profileUser$$.name);$callback$$(null,$e_profileUser$$)})}function $addUserToCompany$$($body$$,$newUser$$){$body$$.id_app&&App.findOne({_id:$body$$.id_app},async($e$jscomp$0$$,$app$$)=>{if($e$jscomp$0$$||
|
|
4
4
|
!$app$$)return console.log("Can't find app",$body$$.id_app,$e$jscomp$0$$);$e$jscomp$0$$=$body$$.group_id;if(!$e$jscomp$0$$)try{$e$jscomp$0$$=await Usergroup.getInfo($body$$.id_app,{status:!0,is_customer_group:!0},"_id")}catch($e$$){console.log($e$$.message)}Participant.createParticipant({id_app:$body$$.id_app,email:$newUser$$.email,group_id:$e$jscomp$0$$,active:!0},$cust_e$$=>{$cust_e$$&&console.log("can't add user",$newUser$$.email,"to company",$app$$.name);$cust_e$$={ten_kh:$newUser$$.name,email:$newUser$$.email,
|
|
5
5
|
id_app:$body$$.id_app,user_created:$newUser$$.email,user_updated:$newUser$$.email,kh_yn:!0,of_user:$newUser$$.email};try{Customer.asyncCreateCustomer($cust_e$$)}catch($e$$){console.log("Auto create new customer with error:",$e$$.message)}})})}async function $checkExistUser$$($email$$){return new Promise(($resolve$$,$reject$$)=>{User.findOne({email:$email$$.toLowerCase()}).lean().exec(($e$$,$rs$$)=>{if($e$$)return $reject$$(Error($e$$.message));$rs$$?$resolve$$($rs$$):$resolve$$(null)})})}async function $createUser$$($accessToken$$,
|
|
6
|
-
$profile$$,$done$$){setImmediate(async()=>{let $u$$=await $checkExistUser$$($profile$$.emails[0].value)
|
|
7
|
-
$
|
|
8
|
-
$user$$){if($err$jscomp$1_token$$)return console.log("error update user",$err$jscomp$1_token$$),$done$$($err$jscomp$1_token$$);$err$jscomp$1_token$$=new Token({email:$user$$.email,token:$accessToken$$,service:"google"});$addUserToCompany$$($profile
|
|
9
|
-
$user$$.
|
|
10
|
-
$user$$.save(function($err$$,$user$$){if($err$$)return console.log("error create new user",$err$$),$done$$($err$$);$addUserToCompany$$($profile$$,$user$$);(new Token({email:$user$$.email,token:$accessToken$$,service:"google"})).save(function($e$$){return $e$$?(console.log("error create token",$e$$)
|
|
11
|
-
$getProfile$$({id_token:$
|
|
12
|
-
$rs
|
|
6
|
+
$profile$$,$done$$){setImmediate(async()=>{let $u$$=await $checkExistUser$$($profile$$.emails[0].value);if($u$$){if($u$$.google&&$u$$.google.id===$profile$$.id||$u$$.email===$profile$$.email){$addUserToCompany$$($profile$$,$u$$);(new Token({email:$u$$.email,token:$accessToken$$,service:"google"})).save(function($e$$){if($e$$)return console.log("error create token",$e$$),$done$$($e$$);$done$$(null,$u$$)});return}console.error(`${$profile$$.email} \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd tr\u00ean h\u1ec7 th\u1ed1ng`,
|
|
7
|
+
$u$$);return $done$$(`${$profile$$.email} \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u0103ng k\u00fd tr\u00ean h\u1ec7 th\u1ed1ng`)}User.findOne({"google.id":$profile$$.id||$profile$$.email},async function($error$$,$user$$){if($error$$)return $done$$($error$$);$user$$?(console.log("update user...."),$user$$.google.name=$profile$$.displayName,$profile$$._json&&($user$$.google.picture=$profile$$._json.image.url),$user$$.token=$accessToken$$,$user$$.name=$profile$$.displayName,$user$$.join_date||($user$$.join_date=
|
|
8
|
+
new Date),$user$$.server="google",$user$$.local||($user$$.picture=$user$$.google.picture,$user$$.local={email:$user$$.email,name:$user$$.name,picture:$user$$.picture}),$user$$.picture||($user$$.picture=$user$$.google.picture),$user$$.save(function($err$jscomp$1_token$$,$user$$){if($err$jscomp$1_token$$)return console.log("error update user",$err$jscomp$1_token$$),$done$$($err$jscomp$1_token$$);$err$jscomp$1_token$$=new Token({email:$user$$.email,token:$accessToken$$,service:"google"});$addUserToCompany$$($profile$$,
|
|
9
|
+
$user$$);$err$jscomp$1_token$$.save(function($e$$){return $e$$?(console.log("error create token",$e$$),$done$$($e$$)):$done$$(null,$user$$)})})):(console.log("create new user...",$profile$$.email),$user$$=new User,$user$$.current_user=$profile$$.emails[0].value,$user$$.google.id=$profile$$.id,$user$$.google.email=$profile$$.emails[0].value,$user$$.google.name=$profile$$.displayName,$profile$$._json&&($user$$.google.picture=$profile$$._json.image.url),$user$$.token=$accessToken$$,$user$$.email=$profile$$.emails[0].value,
|
|
10
|
+
$user$$.name=$profile$$.displayName,$user$$.picture=$user$$.google.picture,$user$$.join_date=new Date,$user$$.server="google",$user$$.local={email:$user$$.email,name:$user$$.name,picture:$user$$.picture},$user$$.save(function($err$$,$user$$){if($err$$)return console.log("error create new user",$err$$),$done$$($err$$);$addUserToCompany$$($profile$$,$user$$);(new Token({email:$user$$.email,token:$accessToken$$,service:"google"})).save(function($e$$){return $e$$?(console.log("error create token",$e$$),
|
|
11
|
+
$done$$($e$$)):$done$$(null,$user$$)})}))})})}$app$$.get("/profile/google",($idToken_req$$,$res$$)=>{let $access_token$$=$idToken_req$$.query.access_token;$idToken_req$$=$idToken_req$$.query.id_token;if(!$access_token$$&&!$idToken_req$$)return $res$$.status(400).send("this API require access_token or id_token parameter");$getProfile$$({id_token:$idToken_req$$,access_token:$access_token$$},($e$jscomp$0$$,$profileUser$$)=>{if($e$jscomp$0$$)return $res$$.status(400).send($e$jscomp$0$$);User.findOne({"google.id":$profileUser$$.id.toString()},
|
|
12
|
+
($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$profileUser$$.registed=$rs$$?!0:!1;$res$$.send($profileUser$$)})})});$app$$.get("/createuser/google",($req$$,$res$$)=>{let $access_token$$=$req$$.query.access_token,$idToken$$=$req$$.query.id_token;if(!$access_token$$&&!$idToken$$)return $res$$.status(400).send("this API require access_token or id_token parameter");$getProfile$$({id_token:$idToken$$,access_token:$access_token$$},($e$jscomp$0$$,$profileUser$$)=>{if($e$jscomp$0$$)return $res$$.status(400).send($e$jscomp$0$$);
|
|
13
|
+
$profileUser$$.id_app=$req$$.query.id_app;$profileUser$$.group_id=$req$$.query.group_id;$profileUser$$.email||($profileUser$$.email=$req$$.query.email||$profileUser$$.id);$profileUser$$.password=$req$$.query.password;let $token$$=$access_token$$||$idToken$$;$createUser$$($token$$,$profileUser$$,($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$rs$$.toObject&&($rs$$=$rs$$.toObject());$rs$$.access_token=$token$$;$res$$.send($rs$$)})})})};
|
|
@@ -57,27 +57,28 @@ $or$$.push({_id:$id$$})}catch($error$$){console.error($error$$)}else{if("q"===$k
|
|
|
57
57
|
$body$jscomp$2_query$$[$k$$];else{let $item$$={};"number"==$ctrl$$.model.schema.paths[$k$$].instance.toLowerCase()?$item$$[$k$$]=Number($body$jscomp$2_query$$[$k$$]):"date"==$ctrl$$.model.schema.paths[$k$$].instance.toLowerCase()?$item$$[$k$$]=new Date($body$jscomp$2_query$$[$k$$]):"string"==$ctrl$$.model.schema.paths[$k$$].instance.toLowerCase()?$item$$[$k$$]={$regex:$body$jscomp$2_query$$[$k$$],$options:"i"}:$item$$[$k$$]=$body$jscomp$2_query$$[$k$$];$or$$.push($item$$)}else"$text"===$k$$&&$or$$.push({$text:{$search:$body$jscomp$2_query$$[$k$$]}})}0!==
|
|
58
58
|
$or$$.length&&("$and"===$body$jscomp$2_query$$.cType?$condition$jscomp$1$$.$and=$or$$:$condition$jscomp$1$$.$or=$or$$);$shareRoute$$||0==$ctrl$$.require_id_app||($condition$jscomp$1$$.id_app=$req$$.user.current_id_app);$ctrl$$.finding?$ctrl$$.finding($req$$.user,$condition$jscomp$1$$,function($error$$,$condition$jscomp$0$$){setImmediate(()=>{if($error$$)return $res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$});$ctrl$$.dynamicFinding?$ctrl$$.dynamicFinding($req$$.user,$condition$jscomp$0$$,
|
|
59
59
|
function($e$$,$condition$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$req$$.condition=$condition$$;$next$$()}):($req$$.condition=$condition$jscomp$0$$,$next$$())})},{req:$req$$}):$ctrl$$.dynamicFinding?$ctrl$$.dynamicFinding($req$$.user,$condition$jscomp$1$$,function($e$$,$condition$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});
|
|
60
|
-
$req$$.condition=$condition$$;$next$$()}):($req$$.condition=$condition$jscomp$1$$,$next$$())})},function($req$$,$res$$,$next$$){if($shareRoute$$)return $next$$();permission.getRightByItem($req$$.user.current_id_app,$model$$,$req$$.user.email,function($e$jscomp$0$$,$_condition$$,$admin$$){setImmediate(()=>{if($e$jscomp$0$$)return $
|
|
61
|
-
[]);if($ctrl$$.options.onRightByItem)$ctrl$$.options.onRightByItem($req$$.user,$_condition$$,($e$$,$_condition$$)=>{setImmediate(()=>{if($e$$)return $
|
|
62
|
-
function($req$$,$res$$,$next$$){if($shareRoute$$)return $next$$();setImmediate(()=>{$ctrl$$.options.assignWiths?async.map($ctrl$$.options.assignWiths,($col$$,$callback$$)=>{setImmediate(()=>{let $m$$=global.getModel($col$$.ref_collection);permission.getRightByItem($req$$.user.current_id_app,$m$$,$req$$.user.email,function($e$jscomp$0$$,$_condition$$,$admin$$){setImmediate(()=>{if($e$jscomp$0$$)return $callback$$($e$jscomp$0$$);
|
|
63
|
-
$m$$.find($_condition$$).lean().exec(($e$$,$rs$$)=>{setImmediate(()=>{if($e$$)return $callback$$($e$$);let $dsdt$$=underscore.pluck($rs$$,$col$$.ref_field);$dsdt$$.push("");$dsdt$$.push(null);$req$$.condition[$col$$.ref_field]={$in:$dsdt$$};$callback$$()})})})},$ctrl$$.name,{notNeedRight:$ctrl$$.options.notNeedRight})})},$e$$=>{setImmediate(()=>{if($e$$)return $
|
|
64
|
-
"dmdt"===$ctrl$$.name)return $next$$();if(underscore.has($model$$.schema.paths,"ma_dt")||underscore.has($model$$.schema.paths,"id_dt")){let $dmdt$$=mongoose.models.dmdt;permission.getRightDataView($req$$.user.current_id_app,$dmdt$$,$req$$.user.email,function($e$jscomp$0$$,$_condition$$,$admin$$){setImmediate(()=>{if($e$jscomp$0$$)return $
|
|
65
|
-
$dmdt$$.find($_condition$$,{ma_dt:1,_id:1}).lean().exec(($e$$,$rs$$)=>{setImmediate(()=>{if($e$$)return $
|
|
66
|
-
$req$$.condition.id_dt={$in:$dsdt$jscomp$1_dsdt$$};$next$$()})})})})}else $next$$()})},function($req$$,$res$$,$next$$){setImmediate(()=>{if($shareRoute$$||$req$$.admin||"dmkho"===$ctrl$$.name)return $next$$();if(underscore.has($model$$.schema.paths,"ma_kho")||
|
|
67
|
-
$admin$$){setImmediate(()=>{if($e$jscomp$0$$)return $
|
|
68
|
-
{$
|
|
69
|
-
$
|
|
70
|
-
(
|
|
71
|
-
|
|
72
|
-
$model$$.
|
|
73
|
-
{
|
|
74
|
-
$fields$$.split(",").forEach($f$$=>{
|
|
60
|
+
$req$$.condition=$condition$$;$next$$()}):($req$$.condition=$condition$jscomp$1$$,$next$$())})},function($req$$,$res$$,$next$$){if($shareRoute$$)return $next$$();permission.getRightByItem($req$$.user.current_id_app,$model$$,$req$$.user.email,function($e$jscomp$0$$,$_condition$$,$admin$$){setImmediate(()=>{if($e$jscomp$0$$)return $res$$.status(403).send({error:$e$jscomp$0$$.error||$e$jscomp$0$$.message||$e$jscomp$0$$});if($admin$$)return $next$$();$req$$.admin=$admin$$;let $condition$$=$req$$.condition;
|
|
61
|
+
$condition$$||($condition$$={});$condition$$.$and||($condition$$.$and=[]);if($ctrl$$.options.onRightByItem)$ctrl$$.options.onRightByItem($req$$.user,$_condition$$,($e$$,$_condition$$)=>{setImmediate(()=>{if($e$$)return $res$$.status(403).send({error:$e$$.error||$e$$.message||$e$$});_.isObject($_condition$$)&&0<Object.keys($_condition$$).length&&$condition$$.$and.push($_condition$$);$req$$.condition=$condition$$;$next$$()})});else _.isObject($_condition$$)&&0<Object.keys($_condition$$).length&&$condition$$.$and.push($_condition$$),
|
|
62
|
+
$req$$.condition=$condition$$,$next$$()})},$ctrl$$.name,{notNeedRight:$ctrl$$.options.notNeedRight})},function($req$$,$res$$,$next$$){if($shareRoute$$)return $next$$();setImmediate(()=>{$ctrl$$.options.assignWiths?async.map($ctrl$$.options.assignWiths,($col$$,$callback$$)=>{setImmediate(()=>{let $m$$=global.getModel($col$$.ref_collection);permission.getRightByItem($req$$.user.current_id_app,$m$$,$req$$.user.email,function($e$jscomp$0$$,$_condition$$,$admin$$){setImmediate(()=>{if($e$jscomp$0$$)return $callback$$($e$jscomp$0$$);
|
|
63
|
+
if($admin$$)return $callback$$();$_condition$$.id_app=$req$$.user.current_id_app;$m$$.find($_condition$$).lean().exec(($e$$,$rs$$)=>{setImmediate(()=>{if($e$$)return $callback$$($e$$);let $dsdt$$=underscore.pluck($rs$$,$col$$.ref_field);$dsdt$$.push("");$dsdt$$.push(null);$req$$.condition[$col$$.ref_field]={$in:$dsdt$$};$callback$$()})})})},$ctrl$$.name,{notNeedRight:$ctrl$$.options.notNeedRight})})},$e$$=>{setImmediate(()=>{if($e$$)return $res$$.status(400).send({error:$e$$.error||$e$$.message||
|
|
64
|
+
$e$$});$next$$()})}):$next$$()})},function($req$$,$res$$,$next$$){if($shareRoute$$)return $next$$();setImmediate(()=>{if($req$$.admin||"dmdt"===$ctrl$$.name)return $next$$();if(underscore.has($model$$.schema.paths,"ma_dt")||underscore.has($model$$.schema.paths,"id_dt")){let $dmdt$$=mongoose.models.dmdt;permission.getRightDataView($req$$.user.current_id_app,$dmdt$$,$req$$.user.email,function($e$jscomp$0$$,$_condition$$,$admin$$){setImmediate(()=>{if($e$jscomp$0$$)return $res$$.status(400).send({error:$e$jscomp$0$$.error||
|
|
65
|
+
$e$jscomp$0$$.message||$e$jscomp$0$$});if($admin$$)return $next$$();$_condition$$.id_app=$req$$.user.current_id_app;$req$$.condition.ma_dt&&($_condition$$.ma_dt=$req$$.condition.ma_dt);$dmdt$$.find($_condition$$,{ma_dt:1,_id:1}).lean().exec(($e$$,$rs$$)=>{setImmediate(()=>{if($e$$)return $res$$.status(400).send({error:$e$$.error||$e$$.message||$e$$});if(underscore.has($model$$.schema.paths,"ma_dt")){var $dsdt$jscomp$1_dsdt$$=underscore.pluck($rs$$,"ma_dt");$dsdt$jscomp$1_dsdt$$.push("");$dsdt$jscomp$1_dsdt$$.push(null);
|
|
66
|
+
$dsdt$jscomp$1_dsdt$$.push(void 0);$req$$.condition.ma_dt={$in:$dsdt$jscomp$1_dsdt$$}}else $dsdt$jscomp$1_dsdt$$=underscore.pluck($rs$$,"_id"),$dsdt$jscomp$1_dsdt$$.push(""),$dsdt$jscomp$1_dsdt$$.push(null),$dsdt$jscomp$1_dsdt$$.push(void 0),$req$$.condition.id_dt={$in:$dsdt$jscomp$1_dsdt$$};$next$$()})})})})}else $next$$()})},function($req$$,$res$$,$next$$){setImmediate(()=>{if($shareRoute$$||$req$$.admin||"dmkho"===$ctrl$$.name)return $next$$();if(underscore.has($model$$.schema.paths,"ma_kho")||
|
|
67
|
+
underscore.has($model$$.schema.paths,"ma_kho_x")||underscore.has($model$$.schema.paths,"ma_kho_n")){let $dmkho$$=mongoose.models.dmkho;permission.getRightDataView($req$$.user.current_id_app,$dmkho$$,$req$$.user.email,function($e$jscomp$0$$,$_condition$$,$admin$$){setImmediate(()=>{if($e$jscomp$0$$)return $res$$.status(403).send({error:$e$jscomp$0$$.error||$e$jscomp$0$$.message||$e$jscomp$0$$});if($admin$$)return $next$$();$_condition$$.id_app=$req$$.user.current_id_app;$req$$.condition.ma_kho&&($_condition$$.ma_kho=
|
|
68
|
+
$req$$.condition.ma_kho);$dmkho$$.find($_condition$$,{ma_kho:1}).lean().exec(($e$$,$rs$$)=>{setImmediate(()=>{if($e$$)return $res$$.status(400).send({error:$e$$.error||$e$$.message||$e$$});let $dskho$$=underscore.pluck($rs$$,"ma_kho");$dskho$$.push("");$dskho$$.push(null);$dskho$$.push(void 0);if(underscore.has($model$$.schema.paths,"ma_kho"))return $req$$.condition.ma_kho={$in:$dskho$$},$next$$();if("pxc"===$ctrl$$.name&&underscore.has($model$$.schema.paths,"ma_kho_x"))return $req$$.condition.ma_kho_x=
|
|
69
|
+
{$in:$dskho$$},$next$$();if("pnc"===$ctrl$$.name&&underscore.has($model$$.schema.paths,"ma_kho_n"))return $req$$.condition.ma_kho_n={$in:$dskho$$},$next$$();$next$$()})})})})}else $next$$()})},function($req$$,$res$$,$next$$){setImmediate(()=>{if($shareRoute$$)return $next$$();permission.hasRight($req$$.user.current_id_app,$req$$.user.email,$ctrl$$.module,"view",function($error$$,$permission$$){setImmediate(()=>{if($ctrl$$.options.onQuery)$req$$.permission=$permission$$,$ctrl$$.options.onQuery($req$$,
|
|
70
|
+
$e$$=>{if($e$$)return $res$$.status(400).send({error:$e$$.error||$e$$.message||$e$$});if(!$req$$.permission)return $res$$.send([]);$next$$()});else{if(!$permission$$)return $res$$.send([]);$next$$()}})},{notNeedRight:$ctrl$$.options.notNeedRight})})},async function($req$$,$res$$){setImmediate(async()=>{let $condition$$=$req$$.condition;$condition$$||($condition$$={});if($shareRoute$$){$condition$$.shared=!0;var $id_sellers_query$$=(await app.find({sale_online:!0},{_id:1}).lean()).map($a$$=>$a$$._id);
|
|
71
|
+
$condition$$.$and||($condition$$.$and=[]);$condition$$.$and.push({id_app:{$in:$id_sellers_query$$}});$condition$$.id_app&&$condition$$.$and.push({id_app:$condition$$.id_app})}else underscore.has($model$$.schema.paths,"id_app")&&!1!==$ctrl$$.require_id_app&&($condition$$.id_app=$req$$.user.current_id_app);underscore.extend($condition$$,$ctrl$$.keyValues);$condition$$.$and&&0===$condition$$.$and.length&&delete $condition$$.$and;$condition$$.$or&&0===$condition$$.$or.length&&delete $condition$$.$or;
|
|
72
|
+
$condition$$.$nor&&0===$condition$$.$nor.length&&delete $condition$$.$nor;$id_sellers_query$$=null;if($req$$.query.count)$condition$$.$where?(console.log("phai loai bo $where trong condition"),$id_sellers_query$$=$model$$.count($condition$$,function($e$$,$data$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send({rows_number:$data$$})})):$id_sellers_query$$=$model$$.countDocuments($condition$$,function($e$$,
|
|
73
|
+
$data$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send({rows_number:$data$$})});else{let $field_not_right$$;try{$field_not_right$$=await permission.getFieldNotRight($req$$.user.current_id_app,$req$$.user.email,$ctrl$$.name)}catch($e$$){$field_not_right$$=[]}var $fields$$=$req$$.query.fields;let $gfields$$={};$fields$$&&(underscore.isArray($fields$$)?$fields$$.forEach($f$$=>{"_id"!==$f$$&&($gfields$$[$f$$]=
|
|
74
|
+
1)}):underscore.isObject($fields$$)?$gfields$$={...$gfields$$,...$fields$$}:$fields$$.split(",").filter($f$$=>$f$$&&0>$field_not_right$$.indexOf($f$$)).forEach($f$$=>{"_id"!==$f$$&&($gfields$$[$f$$]=1)}));$field_not_right$$.forEach($f$$=>{$gfields$$[$f$$]=0});!$fields$$&&(($fields$$=$req$$.query.notfields)&&(underscore.isArray($fields$$)?$fields$$.forEach($f$$=>{$f$$&&"_id"!==$f$$&&($gfields$$[$f$$]=0)}):underscore.isObject($fields$$)?$gfields$$={...$gfields$$,...$fields$$}:$fields$$.split(",").forEach($f$$=>
|
|
75
|
+
{$f$$&&"_id"!==$f$$&&($gfields$$[$f$$]=0)})),$shareRoute$$||"public"===$req$$.user.email)&&($gfields$$.dataview_to=0,$gfields$$.dataview_to_users=0);$condition$$.$text&&($gfields$$||($gfields$$={}),$gfields$$.textScore={$meta:"textScore"});if($req$$.query.group||$req$$.query.project||$req$$.query.match||$req$$.query.aggregate)try{$id_sellers_query$$=$model$$.aggregate([{$match:$condition$$}]);$req$$.query.group&&($group_page$$=JSON.parse($req$$.query.group),$id_sellers_query$$.group($group_page$$));
|
|
75
76
|
if($req$$.query.match){let $match$$=JSON.parse($req$$.query.match);$id_sellers_query$$.match($match$$)}if($req$$.query.project)$limit_project$$=JSON.parse($req$$.query.project),$id_sellers_query$$.project($limit_project$$);else if($gfields$$&&0<Object.keys($gfields$$).length)$limit_project$$=$gfields$$;else if($limit_project$$={_id:1},$group_page$$)for(let $key$$ in $group_page$$)$limit_project$$[$key$$]=1;$id_sellers_query$$.project($limit_project$$);if($req$$.query.aggregate){let $aggregate$$=JSON.parse($req$$.query.aggregate);
|
|
76
77
|
$id_sellers_query$$.append($aggregate$$)}}catch($e$$){return $res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$})}else console.log("search data",$ctrl$$.name,"shared",$shareRoute$$,JSON.stringify($condition$$)),$id_sellers_query$$=$model$$.find($condition$$,$gfields$$);!$sort$$&&$gfields$$.textScore?$sort$$={textScore:{$meta:"textScore"}}:$sort$$&&($sort$$._id=1);$sort$$&&$id_sellers_query$$.sort($sort$$);var $group_page$$=$req$$.query.page,$limit_project$$=$req$$.query.limit;$limit_project$$&&
|
|
77
78
|
($limit_project$$=Number($limit_project$$));$limit_project$$||($limit_project$$=!1!==$ctrl$$.require_id_app&&"right"!==$ctrl$$.name?20:1E5);$limit_project$$&&500<$limit_project$$&&"xlsx"!==$req$$.query.type_data&&!$req$$.query.print&&!1!==$ctrl$$.require_id_app&&"right"!==$ctrl$$.name&&($limit_project$$=500);$group_page$$?$id_sellers_query$$.skip((Number($group_page$$)-1)*$limit_project$$).limit($limit_project$$):$id_sellers_query$$.limit($limit_project$$);$id_sellers_query$$.lean&&($id_sellers_query$$=
|
|
78
79
|
$id_sellers_query$$.lean());$id_sellers_query$$.exec(function($e$jscomp$0$$,$obj4view$$){if($e$jscomp$0$$)return console.error($e$jscomp$0$$,$condition$$),$res$$.status(400).send({error:$e$jscomp$0$$.error||$e$jscomp$0$$.message||$e$jscomp$0$$});$obj4view$$||($obj4view$$=[]);async.parallel({found:function($callback$$){$ctrl$$.found?$ctrl$$.found($req$$.user,$condition$$,$obj4view$$,function($error$$,$items$$){setImmediate(()=>{$callback$$($error$$,$items$$)})}):$callback$$(null,$obj4view$$)},set_collection_name:function($callback$$){$obj4view$$.forEach($obj$$=>
|
|
79
|
-
{$obj$$.collection_name||($obj$$.collection_name=$ctrl$$.collection_name)});$callback$$(null)}},function($error$jscomp$0$$,$rs$jscomp$0$$){setImmediate(()=>{if($error$jscomp$0$$)return $
|
|
80
|
-
shareRoute:$shareRoute$$})}},async function($app$jscomp$1_dir_root_template_e$$,$_groupBy_func_string_rs$$){if($error$jscomp$0$$)return $
|
|
80
|
+
{$obj$$.collection_name||($obj$$.collection_name=$ctrl$$.collection_name)});$callback$$(null)}},function($error$jscomp$0$$,$rs$jscomp$0$$){setImmediate(()=>{if($error$jscomp$0$$)return $res$$.status(400).send({error:$error$jscomp$0$$.error||$error$jscomp$0$$.message||$error$jscomp$0$$});$obj4view$$=$rs$jscomp$0$$.found;async.parallel({e_view:function($callback$$){$ctrl$$.onView($req$$.user,$obj4view$$,($error$$,$viewValue$$)=>{setImmediate(()=>{if($error$$)return console.error("Erron on view:",$error$$),
|
|
81
|
+
$callback$$($error$$);$callback$$(null,$viewValue$$)})},{req:$req$$,shareRoute:$shareRoute$$})}},async function($app$jscomp$1_dir_root_template_e$$,$_groupBy_func_string_rs$$){if($error$jscomp$0$$)return $res$$.status(400).send({error:$error$jscomp$0$$.error||$error$jscomp$0$$.message||$error$jscomp$0$$});if($req$$.query.type_data&&"xlsx"==$req$$.query.type_data){$app$jscomp$1_dir_root_template_e$$=(configs.paths||{}).templates;let $template_id$$,$excelTemplate$$;if($template_id$$=$req$$.query.id_template){if(!global.mongoose.Types.ObjectId.isValid($template_id$$))return $res$$.status(400).send({error:"M\u1eabu excel kh\u00f4ng t\u1ed3n t\u1ea1i"});
|
|
81
82
|
$excelTemplate$$=await global.getModel("exportexceltemplate").findById($template_id$$);if(!$excelTemplate$$||!$excelTemplate$$.file)return $res$$.status(400).send({error:"M\u1eabu excel kh\u00f4ng t\u1ed3n t\u1ea1i"});var $_rs_msg_templatePath$$=$app$jscomp$1_dir_root_template_e$$?`${path.dirname($app$jscomp$1_dir_root_template_e$$)}${$excelTemplate$$.file}`:`${path.dirname(__dirname)}${$excelTemplate$$.file}`}else $app$jscomp$1_dir_root_template_e$$&&($_rs_msg_templatePath$$=`${$app$jscomp$1_dir_root_template_e$$}/excels/lists/${$ctrl$$.name}.xlsx`),
|
|
82
83
|
$_rs_msg_templatePath$$&&fs.existsSync($_rs_msg_templatePath$$)||($_rs_msg_templatePath$$=`${path.dirname(__dirname)}/templates/excels/lists/${$ctrl$$.name}.xlsx`);if(!fs.existsSync($_rs_msg_templatePath$$))return $_rs_msg_templatePath$$="File m\u1eabu excel ch\u01b0a \u0111\u01b0\u1ee3c khai b\u00e1o t\u1ea1i '"+$_rs_msg_templatePath$$+"'",$res$$.status(400).send({error:$_rs_msg_templatePath$$});$app$jscomp$1_dir_root_template_e$$={};$_groupBy_func_string_rs$$.e_view.forEach($item$$=>{for(let $_key$$ in $item$$){let $_v$$=
|
|
83
84
|
$item$$[$_key$$];if(underscore.isObject($_v$$))for(let $__key$$ in $_v$$){let $__v$$=$_v$$[$__key$$];if(!underscore.isFunction($__v$$))if(0<=$__key$$.indexOf("ngay")||0<=$__key$$.indexOf("date"))try{$item$$[`${$_key$$}_${$__key$$}`]=new Date($__v$$)}catch($e$$){$item$$[`${$_key$$}_${$__key$$}`]=$__v$$}else $item$$[`${$_key$$}_${$__key$$}`]=$__v$$}else if($_v$$&&0<=$_key$$.indexOf("ngay")||0<=$_key$$.indexOf("date"))try{let $d$$=moment($_v$$,"YYYY-MM-DD");$d$$.isValid()&&($item$$[`${$_key$$}`]=$d$$.toDate(),
|
|
@@ -93,27 +94,28 @@ $obj$jscomp$0$$&&$obj$jscomp$0$$._id===$id$$)$callback$$(null,JSON.parse($obj$js
|
|
|
93
94
|
(($err_fields$jscomp$2_notfields$$=$req$$.query.notfields)&&(underscore.isArray($err_fields$jscomp$2_notfields$$)?$err_fields$jscomp$2_notfields$$.forEach($f$$=>{"_id"!=$f$$&&$f$$&&($gfields$$[$f$$]=0)}):underscore.isObject($err_fields$jscomp$2_notfields$$)?$gfields$$={...$gfields$$,...$err_fields$jscomp$2_notfields$$}:$err_fields$jscomp$2_notfields$$.split(",").forEach($f$$=>{"_id"!=$f$$&&$f$$&&($gfields$$[$f$$]=0)})),$shareRoute$$||"public"===$req$$.user.email)&&($gfields$$.dataview_to=0,$gfields$$.dataview_to_users=
|
|
94
95
|
0);$model$$.findById($id$$,$gfields$$,function($err$$,$obj$$){setImmediate(()=>{$callback$$($err$$,$obj$$)})})}})}},async($e$jscomp$0$$,$rs$$)=>{if($e$jscomp$0$$)return console.error($e$jscomp$0$$),$e$jscomp$0$$.error?$res$$.status(400).send($e$jscomp$0$$):$res$$.status(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$});let $obj$$=$rs$$.c;if(!$obj$$)return $res$$.status(404).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});if($shareRoute$$&&$obj$$.shared)underscore.has($model$$.schema.paths,
|
|
95
96
|
"id_app")&&(await app.findOne({_id:$obj$$.id_app,sale_online:!0})||$res$$.status(403).send({error:ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE}));else if(!0===underscore.has($model$$.schema.paths,"id_app")&&$req$$.user.current_id_app!=$obj$$.id_app)return $res$$.status(403).send({error:ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE});$ctrl$$.getting?$ctrl$$.getting($req$$.user,$id$$,function($e$$){setImmediate(()=>{if($e$$)return console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$});
|
|
96
|
-
$req$$.obj=$obj$$;$next$$()})},$obj$$):($req$$.obj=$obj$$,$next$$())})},function($req$$,$res$$,$next$$){let $obj$$=$req$$.obj;if($obj$$&&$obj$$.toObject)$obj$$=$obj$$.toObject();else return $next$$();if($obj$$.shared&&$shareRoute$$)return $next$$();permission.hasRight($obj$$.id_app,$req$$.user.email,$ctrl$$.module,"view",function($error$$,$permission$$){setImmediate(()=>{if($ctrl$$.options.onQuery)$req$$.permission=$permission$$,$ctrl$$.options.onQuery($req$$,$e$$=>{setImmediate(()=>{if($e$$)return $
|
|
97
|
-
if($req$$.permission)$next$$();else return $res$$.status(403).send({error:$error$$||ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE})})});else if($permission$$)$next$$();else return $res$$.status(403).send({error:$error$$||ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE})})},{data:$obj$$,obj:$obj$$,notNeedRight:$ctrl$$.options.notNeedRight})},function($req$$,$res$$){let $obj$$=$req$$.obj;$obj$$&&$obj$$.toObject&&($obj$$=$obj$$.toObject());$obj$$.collection_name=$ctrl$$.collection_name
|
|
98
|
-
[$obj$$],function($e$$,$viewValue$$){setImmediate(()=>{if($e$$)return console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$});$res$$.send($viewValue$$[0])})},{req:$req$$,shareRoute:$shareRoute$$})})};
|
|
97
|
+
$req$$.obj=$obj$$;$next$$()})},$obj$$):($req$$.obj=$obj$$,$next$$())})},function($req$$,$res$$,$next$$){let $obj$$=$req$$.obj;if($obj$$&&$obj$$.toObject)$obj$$=$obj$$.toObject();else return $next$$();if($obj$$.shared&&$shareRoute$$)return $next$$();permission.hasRight($obj$$.id_app,$req$$.user.email,$ctrl$$.module,"view",function($error$$,$permission$$){setImmediate(()=>{if($ctrl$$.options.onQuery)$req$$.permission=$permission$$,$ctrl$$.options.onQuery($req$$,$e$$=>{setImmediate(()=>{if($e$$)return $res$$.status(403).send({error:$e$$||
|
|
98
|
+
ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE});if($req$$.permission)$next$$();else return $res$$.status(403).send({error:$error$$||ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE})})});else if($permission$$)$next$$();else return $res$$.status(403).send({error:$error$$||ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE})})},{data:$obj$$,obj:$obj$$,notNeedRight:$ctrl$$.options.notNeedRight})},function($req$$,$res$$){let $obj$$=$req$$.obj;$obj$$&&$obj$$.toObject&&($obj$$=$obj$$.toObject());$obj$$.collection_name=$ctrl$$.collection_name;
|
|
99
|
+
$ctrl$$.onView($req$$.user,[$obj$$],function($e$$,$viewValue$$){setImmediate(()=>{if($e$$)return console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$});$res$$.send($viewValue$$[0])})},{req:$req$$,shareRoute:$shareRoute$$})})};
|
|
99
100
|
controller.prototype.postAgain=function(){let $model$$=this.model,$ctrl$$=this;this.router.route(`${this.route_name}/action/postagain`).get(function($req$$,$res$$,$next$$){if(!$ctrl$$.post)return $res$$.send({message:"Ch\u01b0\u01a1ng tr\u00ecnh \u0111\u00e3 th\u1ef1c hi\u1ec7n xong"});let $condition$jscomp$1$$={};for(let $k$$ in $req$$.query)if("id_app"!=$k$$&&"access_token"!=$k$$)if("_id"==$k$$&&global.mongoose.Types.ObjectId.isValid($req$$.query._id))try{let $id$$=global.mongoose.Types.ObjectId($req$$.query._id);
|
|
100
101
|
$condition$jscomp$1$$._id=$id$$}catch($error$$){console.error($error$$)}else{if("q"==$k$$&&$req$$.query[$k$$])try{$condition$jscomp$1$$=JSON.parse($req$$.query[$k$$]);continue}catch($e$$){return console.error($e$$),$res$$.status(400).send($e$$)}if("tu_ngay"==$k$$&&!0===underscore.has($model$$.schema.paths,"ngay_ct")){var $val_val$$=moment($req$$.query.tu_ngay).startOf("date").toDate();$condition$jscomp$1$$.ngay_ct?$condition$jscomp$1$$.ngay_ct.$gte=$val_val$$:$condition$jscomp$1$$.ngay_ct={$gte:$val_val$$}}else"den_ngay"==
|
|
101
102
|
$k$$&&!0===underscore.has($model$$.schema.paths,"ngay_ct")?($val_val$$=moment($req$$.query.den_ngay).endOf("date").toDate(),$condition$jscomp$1$$.ngay_ct?$condition$jscomp$1$$.ngay_ct.$lte=$val_val$$:$condition$jscomp$1$$.ngay_ct={$lte:$val_val$$}):!0===underscore.has($model$$.schema.paths,$k$$)&&($condition$jscomp$1$$[$k$$]=$req$$.query[$k$$])}!0===underscore.has($model$$.schema.paths,"id_app")&&($condition$jscomp$1$$.id_app=$req$$.user.current_id_app);$ctrl$$.finding?$ctrl$$.finding($req$$.user,
|
|
102
103
|
$condition$jscomp$1$$,function($e$jscomp$0$$,$condition$jscomp$0$$){setImmediate(()=>{if($e$jscomp$0$$)return console.error($e$jscomp$0$$),$res$$.status(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$});$ctrl$$.dynamicFinding?$ctrl$$.dynamicFinding($req$$.user,$condition$jscomp$0$$,function($e$$,$condition$$){if($e$$)return console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$});$req$$.condition=$condition$$;$next$$()},{req:$req$$}):($req$$.condition=
|
|
103
104
|
$condition$jscomp$0$$,$next$$())})},{req:$req$$}):$ctrl$$.dynamicFinding?$ctrl$$.dynamicFinding($req$$.user,$condition$jscomp$1$$,function($e$$,$condition$$){if($e$$)return console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$});$req$$.condition=$condition$$;$next$$()},{req:$req$$}):($req$$.condition=$condition$jscomp$1$$,$next$$())},function($req$$,$res$$,$next$$){permission.isAdmin($req$$.user.current_id_app,$req$$.user.email,function($e$$,$admin$$){setImmediate(()=>
|
|
104
|
-
{if($e$$)return $
|
|
105
|
-
$
|
|
105
|
+
{if($e$$)return $res$$.status(403).send({error:$e$$});if(!$admin$$)return $res$$.status(403).send({error:"B\u1ea1n ph\u1ea3i c\u00f3 quy\u1ec1n admin \u0111\u1ec3 th\u1ef1c hi\u1ec7n t\u00ednh n\u0103ng n\u00e0y"});$next$$()})})},function($condition$jscomp$13_req$$,$res$$){$condition$jscomp$13_req$$=$condition$jscomp$13_req$$.condition;const $update_tk_vt$$=$condition$jscomp$13_req$$.update_tk_vt;delete $condition$jscomp$13_req$$.update_tk_vt;$model$$.find($condition$jscomp$13_req$$).lean().exec(function($e$jscomp$0$$,
|
|
106
|
+
$objsrepost$$){setImmediate(()=>{if($e$jscomp$0$$)return console.error($e$jscomp$0$$),$res$$.status(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$});async.map($objsrepost$$,function($obj$$,$callback$$){setImmediate(async()=>{$update_tk_vt$$&&$obj$$.details&&(await $obj$$.details.filter($d$$=>$d$$.ma_vt).asyncJoinModel2($obj$$.id_app,global.getModel("dmvt"),{where:"ma_vt",fields:"tk_vt"}),await $model$$.findOneAndUpdate({_id:$obj$$._id},{details:$obj$$.details}));postData($obj$$,
|
|
107
|
+
$ctrl$$,function($e$$,$rs$$){$callback$$($e$$,$rs$$)})})},function($e$$){if($e$$)return console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$});$res$$.send({message:"ok"})})})})})};
|
|
106
108
|
controller.prototype.updateField=function(){let $model$$=this.model,$ctrl$$=this,$field$$;this.router.route(`${this.route_name}/update/:field`).get(function($req$$,$res$$,$next$$){$field$$=$req$$.params.field;if(!underscore.has($model$$.schema.paths,$field$$))return $res$$.status(400).send({error:"Field "+$field$$+" kh\u00f4ng t\u1ed3n t\u1ea1i"});var $condition$jscomp$1$$=$model$$.collection.name;$req$$.user.current_id_app&&($condition$jscomp$1$$+=$req$$.user.current_id_app);delete global.cacheDatas[$condition$jscomp$1$$];
|
|
107
109
|
$condition$jscomp$1$$={};for(let $k$$ in $req$$.query)if("id_app"!=$k$$&&"access_token"!=$k$$)if("_id"==$k$$&&mongoose.Types.ObjectId.isValid($req$$.query._id))try{let $id$$=global.mongoose.Types.ObjectId($req$$.query._id);$condition$jscomp$1$$._id=$id$$}catch($error$$){console.error($error$$)}else if("q"==$k$$&&$req$$.query[$k$$])$condition$jscomp$1$$=JSON.parse($req$$.query[$k$$]);else if("tu_ngay"==$k$$&&!0===underscore.has($model$$.schema.paths,"ngay_ct")){var $val$jscomp$2_val$$=moment($req$$.query.tu_ngay).startOf("date").toDate();
|
|
108
110
|
$condition$jscomp$1$$.ngay_ct?$condition$jscomp$1$$.ngay_ct.$gte=$val$jscomp$2_val$$:$condition$jscomp$1$$.ngay_ct={$gte:$val$jscomp$2_val$$}}else"den_ngay"==$k$$&&!0===underscore.has($model$$.schema.paths,"ngay_ct")?($val$jscomp$2_val$$=moment($req$$.query.den_ngay).endOf("date").toDate(),$condition$jscomp$1$$.ngay_ct?$condition$jscomp$1$$.ngay_ct.$lte=$val$jscomp$2_val$$:$condition$jscomp$1$$.ngay_ct={$lte:$val$jscomp$2_val$$}):!0===underscore.has($model$$.schema.paths,$k$$)&&($condition$jscomp$1$$[$k$$]=
|
|
109
111
|
$req$$.query[$k$$]);!0===underscore.has($model$$.schema.paths,"id_app")&&($condition$jscomp$1$$.id_app=$req$$.user.current_id_app);$ctrl$$.finding?$ctrl$$.finding($req$$.user,$condition$jscomp$1$$,function($e$jscomp$0$$,$condition$jscomp$0$$){setImmediate(()=>{if($e$jscomp$0$$)return console.error($e$jscomp$0$$),$e$jscomp$0$$.error?$res$$.status(400).send($e$jscomp$0$$):$res$$.status(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$});$ctrl$$.dynamicFinding?$ctrl$$.dynamicFinding($req$$.user,
|
|
110
112
|
$condition$jscomp$0$$,function($e$$,$condition$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$req$$.condition=$condition$$;$next$$()},{req:$req$$}):($req$$.condition=$condition$jscomp$0$$,$next$$())})},{req:$req$$}):$ctrl$$.dynamicFinding?$ctrl$$.dynamicFinding($req$$.user,$condition$jscomp$1$$,function($e$$,$condition$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||
|
|
111
|
-
$e$$});$req$$.condition=$condition$$;$next$$()},{req:$req$$}):($req$$.condition=$condition$jscomp$1$$,$next$$())},function($req$$,$res$$,$next$$){permission.isAdmin($req$$.user.current_id_app,$req$$.user.email,function($e$$,$admin$$){setImmediate(()=>{if($e$$)return $
|
|
112
|
-
underscore.has($model$$.schema.paths,"ma_ct")&&$ctrl$$.options.isVoucher&&($condition$$.ma_ct=$ctrl$$.name.toUpperCase());let $query$$=$model$$.find($condition$$);!0===underscore.has($model$$.schema.paths,"ngay_ct")&&$query$$.sort({ngay_ct:1});$query$$.lean().exec(function($e$jscomp$1$$,$obj4view$$){setImmediate(()=>{if($e$jscomp$1$$)return console.error($e$jscomp$1$$),$e$jscomp$1$$.error?$res$$.status(400).send($e$jscomp$1$$):$res$$.status(400).send({error:$e$jscomp$1$$.message
|
|
113
|
-
$e$jscomp$1$$});setImmediate(()=>{log.create({id_app:$req$$.user.current_id_app,id_func:$ctrl$$.name,action:"UPDATE FIELD:"+$field$$,data:{condition:JSON.stringify($condition$$)}},$req$$.user.email,$req$$.header("user-agent"),$req$$)});let $tu_so$$=Number($req$$.query.tu_so);$tu_so$$||($tu_so$$=1);let $den_so$$=$req$$.query.den_so,$tien_to$$=$req$$.query.tien_to,$hau_to$$=$req$$.query.hau_to,$gia_tri$$;for(let $i$$=0;$i$$<$obj4view$$.length;$i$$++)$gia_tri$$=$tu_so$$+$i$$+""
|
|
114
|
-
"0000000000000000000".substring(0,$den_so$$.length-$gia_tri$$.length)+$gia_tri$$),$tien_to$$&&($gia_tri$$=$tien_to$$+$gia_tri$$),$hau_to$$&&($gia_tri$$+=$hau_to$$),$obj4view$$[$i$$][$field$$]=$gia_tri$$;async.map($obj4view$$,function($obj$$,$callback$$){setImmediate(()=>{$model$$.findOneAndUpdate({_id:$obj$$._id},$obj$$,function($e$jscomp$0$$,$rs$$){setImmediate(()=>{if($e$jscomp$0$$||!$rs$$)return $callback$$($e$jscomp$0$$);$ctrl$$.cacheData($obj$$);$ctrl$$.post?postData($obj
|
|
115
|
-
$e$$),$callback$$($e$$);$callback$$(null,$rs$$)}):$callback$$(null,$rs$$)})})})},function($e$jscomp$0$$,$rs$$){setImmediate(()=>{if($e$jscomp$0$$)return console.error($e$jscomp$0$$),$e$jscomp$0$$.error?$res$$.status(400).send($e$jscomp$0$$):$res$$.status(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$});$ctrl$$.emit("saved",$rs$$);$ctrl$$.emit("updated",$rs$$);pushNotification($ctrl$$,$rs$$,"update",null,!0,{exclude_token:$req$$.query.access_token})
|
|
116
|
-
$o$$.toObject());return $o$$});$ctrl$$.onView($req$$.user,$rs$$,function($e$$){setImmediate(()=>{if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)})},{req:$req$$})})})})})})};
|
|
113
|
+
$e$$});$req$$.condition=$condition$$;$next$$()},{req:$req$$}):($req$$.condition=$condition$jscomp$1$$,$next$$())},function($req$$,$res$$,$next$$){permission.isAdmin($req$$.user.current_id_app,$req$$.user.email,function($e$$,$admin$$){setImmediate(()=>{if($e$$)return $res$$.status(403).send({error:$e$$});if(!$admin$$)return $res$$.status(403).send({error:"B\u1ea1n ph\u1ea3i c\u00f3 quy\u1ec1n admin \u0111\u1ec3 th\u1ef1c hi\u1ec7n t\u00ednh n\u0103ng n\u00e0y"});$next$$()})})},function($req$$,$res$$){let $condition$$=
|
|
114
|
+
$req$$.condition;underscore.has($model$$.schema.paths,"ma_ct")&&$ctrl$$.options.isVoucher&&($condition$$.ma_ct=$ctrl$$.name.toUpperCase());let $query$$=$model$$.find($condition$$);!0===underscore.has($model$$.schema.paths,"ngay_ct")&&$query$$.sort({ngay_ct:1});$query$$.lean().exec(function($e$jscomp$1$$,$obj4view$$){setImmediate(()=>{if($e$jscomp$1$$)return console.error($e$jscomp$1$$),$e$jscomp$1$$.error?$res$$.status(400).send($e$jscomp$1$$):$res$$.status(400).send({error:$e$jscomp$1$$.message||
|
|
115
|
+
$e$jscomp$1$$.error||$e$jscomp$1$$});setImmediate(()=>{log.create({id_app:$req$$.user.current_id_app,id_func:$ctrl$$.name,action:"UPDATE FIELD:"+$field$$,data:{condition:JSON.stringify($condition$$)}},$req$$.user.email,$req$$.header("user-agent"),$req$$)});let $tu_so$$=Number($req$$.query.tu_so);$tu_so$$||($tu_so$$=1);let $den_so$$=$req$$.query.den_so,$tien_to$$=$req$$.query.tien_to,$hau_to$$=$req$$.query.hau_to,$gia_tri$$;for(let $i$$=0;$i$$<$obj4view$$.length;$i$$++)$gia_tri$$=$tu_so$$+$i$$+"",
|
|
116
|
+
$den_so$$&&($gia_tri$$="0000000000000000000".substring(0,$den_so$$.length-$gia_tri$$.length)+$gia_tri$$),$tien_to$$&&($gia_tri$$=$tien_to$$+$gia_tri$$),$hau_to$$&&($gia_tri$$+=$hau_to$$),$obj4view$$[$i$$][$field$$]=$gia_tri$$;async.map($obj4view$$,function($obj$$,$callback$$){setImmediate(()=>{$model$$.findOneAndUpdate({_id:$obj$$._id},$obj$$,function($e$jscomp$0$$,$rs$$){setImmediate(()=>{if($e$jscomp$0$$||!$rs$$)return $callback$$($e$jscomp$0$$);$ctrl$$.cacheData($obj$$);$ctrl$$.post?postData($obj$$,
|
|
117
|
+
$ctrl$$,function($e$$){if($e$$)return console.error("error post data",$e$$),$callback$$($e$$);$callback$$(null,$rs$$)}):$callback$$(null,$rs$$)})})})},function($e$jscomp$0$$,$rs$$){setImmediate(()=>{if($e$jscomp$0$$)return console.error($e$jscomp$0$$),$e$jscomp$0$$.error?$res$$.status(400).send($e$jscomp$0$$):$res$$.status(400).send({error:$e$jscomp$0$$.message||$e$jscomp$0$$});$ctrl$$.emit("saved",$rs$$);$ctrl$$.emit("updated",$rs$$);pushNotification($ctrl$$,$rs$$,"update",null,!0,{exclude_token:$req$$.query.access_token});
|
|
118
|
+
$rs$$=$rs$$.map($o$$=>{$o$$.toObject&&($o$$=$o$$.toObject());return $o$$});$ctrl$$.onView($req$$.user,$rs$$,function($e$$){setImmediate(()=>{if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)})},{req:$req$$})})})})})})};
|
|
117
119
|
const getParameters=($id_app$$,$rps_rpt_ids$$,$callback$$)=>{let $parameters$$=$rps_rpt_ids$$.filter($r$$=>$r$$.parameters).map($r$$=>$r$$.parameters).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);0<$parameters$$.length?$callback$$(null,$parameters$$):($rps_rpt_ids$$=underscore.pluck($rps_rpt_ids$$,"_id"),Parameter.find({id_app:$id_app$$,id_rpt:{$in:$rps_rpt_ids$$}}).lean().exec(function($e$$,$parameters$$){setImmediate(()=>{if($e$$)return $callback$$($e$$);$callback$$(null,$parameters$$)})}))},prepareParameters=
|
|
118
120
|
function($ctrl$$,$parameters$$,$app$$,$obj$$,$callback$jscomp$0$$){async.map($parameters$$,function($p$$,$callback$$){setImmediate(()=>{(async()=>{if("W"===$p$$.type||"EN"===$p$$.type)try{$app$$[$p$$.name]="EN"===$p$$.type?numberToWord($obj$$[$p$$.value],{lang:"en"}):numberToWord($obj$$[$p$$.value])}catch($e$$){console.error($e$$),$app$$[$p$$.name]=$e$$.message}else if("Q"===$p$$.type)try{var $query$jscomp$8_sandbox$$=await evalute("return {"+$p$$.value+"}",{});if($query$jscomp$8_sandbox$$.collection&&
|
|
119
121
|
$query$jscomp$8_sandbox$$.field){"dmkh"==$query$jscomp$8_sandbox$$.collection&&($query$jscomp$8_sandbox$$.collection="customer");"dmtk"==$query$jscomp$8_sandbox$$.collection&&($query$jscomp$8_sandbox$$.collection="account");var $condition$$=$query$jscomp$8_sandbox$$.condition;if($condition$$){$condition$$=JSON.stringify($condition$$);for(let $m$$ in $obj$$)$condition$$=$condition$$.replace(new RegExp("m."+$m$$,"g"),$obj$$[$m$$]);$condition$$=JSON.parse($condition$$)}else $condition$$={};$app$$[$p$$.name]=
|
package/server/global.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';const prototypes=require("./libs/prototypes.js"),async=require("async"),TransactionPool=require("./libs/BlockchainTransactionPool"),leanID=require("./libs/mongooseLeanId"),deletePost=require("./libs/mongooseDeletePost"),fs=require("fs");global.blockchainTransactionPool=new TransactionPool;global.new_schedules=[];global.rootDir=__dirname;global.ctrlVouchers={};global.controllers={};global.report_controllers={};global.postingVouchers={};global.cacheDatas={};global.clientIO={};
|
|
2
2
|
global.model_books="socai sokho sokhott sokhokhongton sosanxuat vatvao vatra tdttno tdttco vsocai socaitmp".split(" ");global.webPush=require("web-push");global.mongoose=require("mongoose");global.mongoose.plugin(leanID);global.mongoose.plugin(deletePost);global.Schema=global.mongoose.Schema;global.mongoose.set("useFindAndModify",!1);global.mongoose.set("useCreateIndex",!0);
|
|
3
|
-
global.getModel=$model_name$$=>{$model_name$$=$model_name$$.split(".js")[0];"kbmpttct"===$model_name$$&&($model_name$$="kbmPttct");"kbmtkgtgt"===$model_name$$&&($model_name$$="kbmTkgtgt");var $model_model_path$$=mongoose.models[$model_name$$];if($model_model_path$$)return $model_model_path$$;$model_model_path$$=(((global.configs||{}).paths||{}).models||"./models")+"/"+$model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$)
|
|
4
|
-
$model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$);console.error("model",$model_name$$,"is not exists. using base model");return require("./models/base")};global.getLib=$lib_name$$=>require("./libs/"+$lib_name$$);
|
|
3
|
+
global.getModel=$model_name$$=>{$model_name$$=$model_name$$.split(".js")[0];"kbmpttct"===$model_name$$&&($model_name$$="kbmPttct");"kbmtkgtgt"===$model_name$$&&($model_name$$="kbmTkgtgt");"token"===$model_name$$&&($model_name$$="tokens");var $model_model_path$$=mongoose.models[$model_name$$];if($model_model_path$$)return $model_model_path$$;$model_model_path$$=(((global.configs||{}).paths||{}).models||"./models")+"/"+$model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$);
|
|
4
|
+
$model_model_path$$=__dirname+"/models/"+$model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$);console.error("model",$model_name$$,"is not exists. using base model");return require("./models/base")};global.getLib=$lib_name$$=>require("./libs/"+$lib_name$$);
|
|
5
5
|
const pointSchema=new global.mongoose.Schema({type:{type:String,enum:["Point"],required:!0,default:"Point"},coordinates:{type:[Number],required:!0}}),polygonSchema=new global.mongoose.Schema({type:{type:String,enum:["Polygon"],required:!0,default:"Polygon"},coordinates:{type:[[[Number]]],required:!0}});global.customTypes={Point:pointSchema,Polygon:polygonSchema};const EventEmitter=require("events");class GlobalEmitter extends EventEmitter{}global.globalEvents=new GlobalEmitter;
|
|
6
6
|
const Message=global.getModel("message"),Notification=global.getModel("notification"),User=global.getModel("user"),Sysconfig=global.getModel("sysconfig");global.getSysConfig=async $cf_code$$=>{if($cf_code$$=await Sysconfig.findOne({code:$cf_code$$}))return $cf_code$$.value};global.asyncCountUnRead=async $email$$=>new Promise($resolve$$=>{setImmediate(()=>{Message.countDocuments({email:$email$$,read:!1},($e$$,$rs$$)=>{$resolve$$($rs$$||0)})})});
|
|
7
7
|
global.alertMessage=function($email$$){setImmediate(()=>{Message.countDocuments({email_owner:$email$$,email_receiver:$email$$,read:!1},function($error$$,$count$$){$error$$?console.log($error$$):User.emitEvent($email$$,"message:count",$count$$,!1)})})};
|
package/server/libs/ckvt.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';const cdvt=global.getModel("cdvt"),dmvt=global.getModel("dmvt"),sokho=global.getModel("sokho"),hanmucton=global.getModel("hanmucton"),ckvtcapphat=require("./ckvtcapphat"),utils=require("./utils"),async=require("async"),underscore=require("underscore"),moment=require("moment");
|
|
2
|
-
module.exports=async($condition$$,$fn$$)=>{$fn$$||($fn$$=()=>{});!$condition$$.ngay&&$condition$$.den_ngay&&($condition$$.ngay=$condition$$.den_ngay);let $ma_dvcs$$=$condition$$.ma_dvcs,$ma_kho$$=$condition$$.ma_kho,$ma_vt$$=$condition$$.ma_vt
|
|
3
|
-
$ngay_dn$$=moment($tu_ngay$$).startOf("year").toDate()}else $nam$$=$ngay$$.getFullYear(),$ngay_dn$$=moment($ngay$$).startOf("year").toDate();let $id_app$$=$condition$$.id_app;return new Promise(($resolve$$,$reject$$)=>{async.parallel({ckcapphat:$callback$$=>{ckvtcapphat($condition$$,($e$$,$rs$$)=>{$callback$$($e
|
|
4
|
-
$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($c_dk$$.ma_tt3=$condition$$.ma_tt3);cdvt.find($c_dk$$).lean().exec(($error
|
|
5
|
-
$ma_dvcs$$&&($c_dk$$.ma_dvcs=$ma_dvcs$$);$ma_vt$$&&($c_dk$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&
|
|
6
|
-
{const $query$$={id_app:$id_app$$,ngay_ct:{$gte:$ngay_dn$$,$lte:$ngay$$}};$ma_kho$$&&($query$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($query$$.ma_dvcs=$ma_dvcs$$);$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($query$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&
|
|
7
|
-
($query$$.id_ct={$ne:$condition$$.id_ct});sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap
|
|
8
|
-
($ckcapphat_error$$,$data_results$$)=>{if($ckcapphat_error$$)return $fn$$($ckcapphat_error$$),$reject$$(Error($ckcapphat_error$$));$ckcapphat_error$$=$data_results$$.ckcapphat.map($c$$=>{$c$$.ton00_capphat=$c$$.ton00;$c$$.du00_capphat=$c$$.du00;$c$$.ton00=0;$c$$.du00=0;return $c$$});$data_results
|
|
9
|
-
($ckcapphat_error$$=["ma_vt"]);if(underscore.isString($ckcapphat_error$$))if(0<=$ckcapphat_error$$.indexOf("["))try{$ckcapphat_error$$=JSON.parse($ckcapphat_error$$)}catch($e$$){console.error($e$$)}else $ckcapphat_error$$=$ckcapphat_error$$.split(",");$data_results$$.groupBy($ckcapphat_error$$,
|
|
10
|
-
utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,
|
|
2
|
+
module.exports=async($condition$$,$fn$$)=>{$fn$$||($fn$$=()=>{});!$condition$$.ngay&&$condition$$.den_ngay&&($condition$$.ngay=$condition$$.den_ngay);let $ma_dvcs$$=$condition$$.ma_dvcs,$ma_kho$$=$condition$$.ma_kho,$ma_vt$$=$condition$$.ma_vt;if(underscore.isString($ma_vt$$)&&0<=$ma_vt$$.indexOf("[")&&0<$ma_vt$$.indexOf("]"))try{$ma_vt$$=JSON.parse($ma_vt$$),0==$ma_vt$$.length&&($ma_vt$$=void 0)}catch($e$$){console.error($e$$)}$ma_vt$$&&underscore.isArray($ma_vt$$)&&($ma_vt$$={$in:Object.assign($ma_vt$$)});
|
|
3
|
+
let $ngay$$,$nam$$,$ngay_dn$$;$ngay$$=moment($condition$$.ngay).endOf("date").toDate();if($condition$$.tu_ngay){let $tu_ngay$$=new Date($condition$$.tu_ngay);$nam$$=$tu_ngay$$.getFullYear();$ngay_dn$$=moment($tu_ngay$$).startOf("year").toDate()}else $nam$$=$ngay$$.getFullYear(),$ngay_dn$$=moment($ngay$$).startOf("year").toDate();let $id_app$$=$condition$$.id_app;return new Promise(($resolve$$,$reject$$)=>{async.parallel({ckcapphat:$callback$$=>{ckvtcapphat($condition$$,($e$$,$rs$$)=>{$callback$$($e$$,
|
|
4
|
+
$rs$$)})},dn:$callback$$=>{const $c_dk$$={id_app:$id_app$$,nam:$nam$$};$ma_kho$$&&($c_dk$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($c_dk$$.ma_dvcs=$ma_dvcs$$);$ma_vt$$&&($c_dk$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($c_dk$$.ma_tt3=$condition$$.ma_tt3);cdvt.find($c_dk$$).lean().exec(($error$$,
|
|
5
|
+
$results$$)=>{if($error$$)return $callback$$($error$$);$callback$$(null,$results$$)})},hanmucton:$callback$$=>{const $c_dk$$={id_app:$id_app$$};$ma_kho$$&&($c_dk$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($c_dk$$.ma_dvcs=$ma_dvcs$$);$ma_vt$$&&($c_dk$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&
|
|
6
|
+
($c_dk$$.ma_tt3=$condition$$.ma_tt3);hanmucton.find($c_dk$$).lean().exec(($error$$,$results$$)=>{if($error$$)return $callback$$($error$$);$callback$$(null,$results$$)})},ps:$callback$$=>{const $query$$={id_app:$id_app$$,ngay_ct:{$gte:$ngay_dn$$,$lte:$ngay$$}};$ma_kho$$&&($query$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($query$$.ma_dvcs=$ma_dvcs$$);$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($query$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&
|
|
7
|
+
($query$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);$condition$$.id_ct&&($query$$.id_ct={$ne:$condition$$.id_ct});sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=utils.round($ps$$.sl_nhap_qd,4);$ps$$.sl_xuat=utils.round($ps$$.sl_xuat_qd,4);return $ps$$});$callback$$(null,$pss$$)})},ton_kho_mac_dinh:$callback$$=>
|
|
8
|
+
{let $query$$={id_app:$id_app$$,ton_kho_mac_dinh:{$nin:[null,void 0,0]}};$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);dmvt.find($query$$,{ma_vt:1,ton_kho_mac_dinh:1}).lean().exec(($e$$,$rs$$)=>{$callback$$(null,$rs$$)})}},($ckcapphat_error$$,$data_results$$)=>{if($ckcapphat_error$$)return $fn$$($ckcapphat_error$$),$reject$$(Error($ckcapphat_error$$));$ckcapphat_error$$=$data_results$$.ckcapphat.map($c$$=>{$c$$.ton00_capphat=$c$$.ton00;$c$$.du00_capphat=$c$$.du00;$c$$.ton00=0;$c$$.du00=0;return $c$$});$data_results$$=
|
|
9
|
+
$data_results$$.dn.concat($data_results$$.ps).concat($ckcapphat_error$$).concat($data_results$$.ton_kho_mac_dinh).concat($data_results$$.hanmucton);($ckcapphat_error$$=$condition$$.groupBy||$condition$$.groupby)||($ckcapphat_error$$=["ma_vt"]);if(underscore.isString($ckcapphat_error$$))if(0<=$ckcapphat_error$$.indexOf("["))try{$ckcapphat_error$$=JSON.parse($ckcapphat_error$$)}catch($e$$){console.error($e$$)}else $ckcapphat_error$$=$ckcapphat_error$$.split(",");$data_results$$.groupBy($ckcapphat_error$$,
|
|
10
|
+
"sl_nhap sl_xuat ton00 du00 ton00_capphat du00_capphat tien_nhap tien_xuat ton_kho_mac_dinh ton_toi_thieu ton_toi_da".split(" "),($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$),$reject$$(Error($e$$));for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,4),$r$$.du00=Math.round($r$$.du00,0)+Math.round($r$$.tien_nhap,0)-Math.round($r$$.tien_xuat,0),$r$$.sl_nhap=0,$r$$.sl_xuat=0,$r$$.tien_nhap=0,$r$$.tien_xuat=0,$r$$.ton=$r$$.ton00-(0<$r$$.ton00_capphat?$r$$.ton00_capphat:
|
|
11
|
+
0),$r$$.du=$r$$.du00-(0<$r$$.du00_capphat?$r$$.du00_capphat:0);$fn$$(null,$groups$$);$resolve$$($groups$$)})})})};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';const sokhocapphat=global.getModel("sokhocapphat"),utils=require("./utils"),async=require("async"),underscore=require("underscore"),moment=require("moment");
|
|
2
2
|
module.exports=function($condition$$,$fn$$){!$condition$$.ngay&&$condition$$.den_ngay&&($condition$$.ngay=$condition$$.den_ngay);let $ma_dvcs$$=$condition$$.ma_dvcs,$ma_kho$$=$condition$$.ma_kho,$ma_vt$$=$condition$$.ma_vt;$ma_vt$$&&underscore.isArray($ma_vt$$)&&($ma_vt$$={$in:Object.assign($ma_vt$$)});let $ngay$$=moment($condition$$.ngay).endOf("date").toDate(),$id_app$$=$condition$$.id_app;async.parallel({dn:$callback$$=>{$callback$$(null,[])},ps:$callback$$=>{const $query$$={id_app:$id_app$$,ngay_ct:{$lte:$ngay$$}};
|
|
3
3
|
$ma_kho$$&&($query$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($query$$.ma_dvcs=$ma_dvcs$$);$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($query$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($query$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);$condition$$.id_ct&&($query$$.id_ct={$ne:$condition$$.id_ct});sokhocapphat.find($query$$).lean().exec(function($error$$,
|
|
4
|
-
$pss$$){if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap
|
|
5
|
-
JSON.parse($groupBy_results$$)}catch($e$$){console.error($e$$)}else $groupBy_results$$=$groupBy_results$$.split(",");$data_error$$.groupBy($groupBy_results$$,"sl_nhap sl_xuat ton00 du00 tien_nhap tien_xuat".split(" "),($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$);for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,
|
|
4
|
+
$pss$$){if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=utils.round($ps$$.sl_nhap_qd,4);$ps$$.sl_xuat=utils.round($ps$$.sl_xuat_qd,4);return $ps$$});$callback$$(null,$pss$$)})}},($data_error$$,$groupBy_results$$)=>{if($data_error$$)$fn$$($data_error$$);else{$data_error$$=$groupBy_results$$.dn.concat($groupBy_results$$.ps);($groupBy_results$$=$condition$$.groupBy)||($groupBy_results$$=["ma_vt"]);if(underscore.isString($groupBy_results$$))if(0<=$groupBy_results$$.indexOf("["))try{$groupBy_results$$=
|
|
5
|
+
JSON.parse($groupBy_results$$)}catch($e$$){console.error($e$$)}else $groupBy_results$$=$groupBy_results$$.split(",");$data_error$$.groupBy($groupBy_results$$,"sl_nhap sl_xuat ton00 du00 tien_nhap tien_xuat".split(" "),($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$);for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,4),$r$$.du00=Math.round($r$$.du00,0)+Math.round($r$$.tien_nhap,0)-Math.round($r$$.tien_xuat,0),$r$$.sl_nhap=0,$r$$.sl_xuat=0,$r$$.tien_nhap=0,$r$$.tien_xuat=
|
|
6
6
|
0;$fn$$(null,$groups$$)})}})};
|
package/server/libs/ckvttt.js
CHANGED
|
@@ -4,8 +4,8 @@ $ngay_dn$$=moment($tu_ngay$$).startOf("year").toDate()}else $nam$$=$ngay$$.getFu
|
|
|
4
4
|
$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($c_dk$$.ma_tt3=$condition$$.ma_tt3);cdvt.find($c_dk$$).lean().exec(($error$$,$results$$)=>{if($error$$)return $callback$$($error$$);$callback$$(null,$results$$)})},hanmucton:$callback$$=>{const $c_dk$$={id_app:$id_app$$};$ma_kho$$&&($c_dk$$.ma_kho=$ma_kho$$);
|
|
5
5
|
$ma_dvcs$$&&($c_dk$$.ma_dvcs=$ma_dvcs$$);$ma_vt$$&&($c_dk$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($c_dk$$.ma_tt3=$condition$$.ma_tt3);hanmucton.find($c_dk$$).lean().exec(($error$$,$results$$)=>{if($error$$)return $callback$$($error$$);$callback$$(null,$results$$)})},ps:$callback$$=>
|
|
6
6
|
{const $query$$={id_app:$id_app$$,ngay_ct:{$gte:$ngay_dn$$,$lte:$ngay$$}};$ma_kho$$&&($query$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($query$$.ma_dvcs=$ma_dvcs$$);$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($query$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($query$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);$condition$$.id_ct&&
|
|
7
|
-
($query$$.id_ct={$ne:$condition$$.id_ct});sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap
|
|
8
|
-
($ckcapphat_error$$,$data_results$$)=>{if($ckcapphat_error$$)return $fn$$($ckcapphat_error$$),$reject$$(Error($ckcapphat_error$$));$ckcapphat_error$$=$data_results$$.ckcapphat.map($c$$=>{$c$$.ton00_capphat=$c$$.ton00;$c$$.du00_capphat=$c$$.du00;$c$$.ton00=0;$c$$.du00=0;return $c$$});$data_results$$=$data_results$$.dn.concat($data_results$$.ps).concat($ckcapphat_error$$).concat($data_results$$.ton_kho_mac_dinh).concat($data_results$$.hanmucton);($ckcapphat_error
|
|
9
|
-
($ckcapphat_error$$=["ma_vt"]);if(underscore.isString($ckcapphat_error$$))if(0<=$ckcapphat_error$$.indexOf("["))try{$ckcapphat_error$$=JSON.parse($ckcapphat_error$$)}catch($e$$){console.error($e$$)}else $ckcapphat_error$$=$ckcapphat_error$$.split(",");$data_results$$.groupBy($ckcapphat_error$$,"sl_nhap sl_xuat ton00 du00 ton00_capphat du00_capphat tien_nhap tien_xuat ton_kho_mac_dinh ton_toi_thieu ton_toi_da".split(" "),($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$)
|
|
10
|
-
($groups$$=$groups$$.filter($g$$=>$g$$.ton_toi_thieu&&$g$$.ton_toi_thieu>$g$$.ton00));$condition$$.canh_bao_ton_max&&($groups$$=$groups$$.filter($g$$=>$g$$.ton_toi_da&&$g$$.ton_toi_da<$g$$.ton00));for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,
|
|
11
|
-
0),$r$$.du=$r$$.du00-(0<$r$$.du00_capphat?$r$$.du00_capphat:0);$fn$$(null,$groups$$);$resolve$$($groups$$)})})})};
|
|
7
|
+
($query$$.id_ct={$ne:$condition$$.id_ct});sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=utils.round($ps$$.sl_nhap_qd,4);$ps$$.sl_xuat=utils.round($ps$$.sl_xuat_qd,4);return $ps$$});$callback$$(null,$pss$$)})},ton_kho_mac_dinh:$callback$$=>{let $query$$={id_app:$id_app$$,ton_kho_mac_dinh:{$nin:[null,void 0,0]}};$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);dmvt.find($query$$,{ma_vt:1,ton_kho_mac_dinh:1}).lean().exec(($e$$,
|
|
8
|
+
$rs$$)=>{$callback$$(null,$rs$$)})}},($ckcapphat_error$$,$data_results$$)=>{if($ckcapphat_error$$)return $fn$$($ckcapphat_error$$),$reject$$(Error($ckcapphat_error$$));$ckcapphat_error$$=$data_results$$.ckcapphat.map($c$$=>{$c$$.ton00_capphat=$c$$.ton00;$c$$.du00_capphat=$c$$.du00;$c$$.ton00=0;$c$$.du00=0;return $c$$});$data_results$$=$data_results$$.dn.concat($data_results$$.ps).concat($ckcapphat_error$$).concat($data_results$$.ton_kho_mac_dinh).concat($data_results$$.hanmucton);($ckcapphat_error$$=
|
|
9
|
+
$condition$$.groupBy||$condition$$.groupby)||($ckcapphat_error$$=["ma_vt"]);if(underscore.isString($ckcapphat_error$$))if(0<=$ckcapphat_error$$.indexOf("["))try{$ckcapphat_error$$=JSON.parse($ckcapphat_error$$)}catch($e$$){console.error($e$$)}else $ckcapphat_error$$=$ckcapphat_error$$.split(",");$data_results$$.groupBy($ckcapphat_error$$,"sl_nhap sl_xuat ton00 du00 ton00_capphat du00_capphat tien_nhap tien_xuat ton_kho_mac_dinh ton_toi_thieu ton_toi_da".split(" "),($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$),
|
|
10
|
+
$reject$$(Error($e$$));$condition$$.canh_bao_ton_min&&($groups$$=$groups$$.filter($g$$=>$g$$.ton_toi_thieu&&$g$$.ton_toi_thieu>$g$$.ton00));$condition$$.canh_bao_ton_max&&($groups$$=$groups$$.filter($g$$=>$g$$.ton_toi_da&&$g$$.ton_toi_da<$g$$.ton00));for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,4),$r$$.du00=Math.round($r$$.du00,0)+Math.round($r$$.tien_nhap,0)-Math.round($r$$.tien_xuat,0),$r$$.sl_nhap=0,$r$$.sl_xuat=0,$r$$.tien_nhap=0,$r$$.tien_xuat=0,$r$$.ton=
|
|
11
|
+
$r$$.ton00-(0<$r$$.ton00_capphat?$r$$.ton00_capphat:0),$r$$.du=$r$$.du00-(0<$r$$.du00_capphat?$r$$.du00_capphat:0);$fn$$(null,$groups$$);$resolve$$($groups$$)})})})};
|
package/server/libs/dkvt.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
module.exports=function($condition$$,$fn$$){!$condition$$.ngay&&$condition$$.tu_ngay&&($condition$$.ngay=$condition$$.tu_ngay);if($condition$$&&$condition$$.ngay&&$condition$$.id_app){var $ma_dvcs$$=$condition$$.ma_dvcs,$ma_kho$$=$condition$$.ma_kho,$ma_vt$$=$condition$$.ma_vt;underscore.isArray($ma_vt$$)&&($ma_vt$$={$in:$ma_vt$$});var $ngay$$=moment(new Date($condition$$.ngay)).startOf("date").toDate(),$nam$$=$ngay$$.getFullYear(),$ngay_dn$$=moment($ngay$$).startOf("year").toDate(),$id_app$$=$condition$$.id_app;
|
|
3
3
|
async.parallel({dn:$callback$$=>{const $c_dk$$={id_app:$id_app$$,nam:$nam$$};$ma_vt$$&&($c_dk$$.ma_vt=$ma_vt$$);$ma_kho$$&&($c_dk$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($c_dk$$.ma_dvcs=$ma_dvcs$$);$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($c_dk$$.ma_tt3=$condition$$.ma_tt3);cdvt.find($c_dk$$).lean().exec(($error$$,
|
|
4
4
|
$results$$)=>{$error$$?$callback$$($error$$):$results$$.joinModel2($id_app$$,"dmvt",{where:"ma_vt",fields:"tk_vt"},()=>{$callback$$(null,$results$$)})})},ps:$callback$$=>{const $query$$={id_app:$id_app$$,ngay_ct:{$gte:$ngay_dn$$,$lt:$ngay$$}};$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$ma_kho$$&&($query$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($query$$.ma_dvcs=$ma_dvcs$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($query$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($query$$.ma_tt1=
|
|
5
|
-
$condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap
|
|
5
|
+
$condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=utils.round($ps$$.sl_nhap_qd,4);$ps$$.sl_xuat=utils.round($ps$$.sl_xuat_qd,4);return $ps$$});$callback$$(null,$pss$$)})}},async($data_error$$,$groupBy_results$$)=>{if($data_error$$)return $fn$$($data_error$$);$data_error$$=$groupBy_results$$.dn.concat($groupBy_results$$.ps);
|
|
6
6
|
await $data_error$$.asyncJoinModel2($id_app$$,"dmvt",{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]});($groupBy_results$$=$condition$$.groupBy||$condition$$.groupby)||($groupBy_results$$=["ma_vt"]);if(underscore.isString($groupBy_results$$))if(0<=$groupBy_results$$.indexOf("["))try{$groupBy_results$$=JSON.parse($groupBy_results$$)}catch($e$$){console.error($e$$)}else $groupBy_results$$=$groupBy_results$$.split(",");$data_error$$.groupBy($groupBy_results$$,"sl_nhap sl_xuat ton00 du00 tien_nhap tien_xuat".split(" "),
|
|
7
|
-
($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$);for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,
|
|
7
|
+
($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$);for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,4),$r$$.du00=utils.round($r$$.du00,0)+utils.round($r$$.tien_nhap,0)-utils.round($r$$.tien_xuat,0),$r$$.sl_nhap=0,$r$$.sl_xuat=0,$r$$.tien_nhap=0,$r$$.tien_xuat=0;$fn$$(null,$groups$$)})})}else $fn$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: ngay,id_app")};
|
package/server/libs/dkvttt.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
module.exports=function($condition$$,$fn$$){!$condition$$.ngay&&$condition$$.tu_ngay&&($condition$$.ngay=$condition$$.tu_ngay);if($condition$$&&$condition$$.ngay&&$condition$$.id_app){var $ma_dvcs$$=$condition$$.ma_dvcs,$ma_kho$$=$condition$$.ma_kho,$ma_vt$$=$condition$$.ma_vt;underscore.isArray($ma_vt$$)&&($ma_vt$$={$in:$ma_vt$$});var $ngay$$=moment(new Date($condition$$.ngay)).startOf("date").toDate(),$nam$$=$ngay$$.getFullYear(),$ngay_dn$$=moment($ngay$$).startOf("year").toDate(),$id_app$$=$condition$$.id_app;
|
|
3
3
|
async.parallel({dn:$callback$$=>{const $c_dk$$={id_app:$id_app$$,nam:$nam$$};$ma_vt$$&&($c_dk$$.ma_vt=$ma_vt$$);$ma_kho$$&&($c_dk$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($c_dk$$.ma_dvcs=$ma_dvcs$$);$condition$$.ma_lo&&($c_dk$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($c_dk$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($c_dk$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($c_dk$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($c_dk$$.ma_tt3=$condition$$.ma_tt3);cdvt.find($c_dk$$).lean().exec(($error$$,
|
|
4
4
|
$results$$)=>{$error$$?$callback$$($error$$):$callback$$(null,$results$$)})},ps:$callback$$=>{var $query$$={id_app:$id_app$$,ngay_ct:{$gte:$ngay_dn$$,$lt:$ngay$$}};$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$ma_kho$$&&($query$$.ma_kho=$ma_kho$$);$ma_dvcs$$&&($query$$.ma_dvcs=$ma_dvcs$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.han_sd&&($query$$.han_sd=$condition$$.han_sd);$condition$$.ma_tt1&&($query$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);
|
|
5
|
-
$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap
|
|
6
|
-
["ma_vt"]);if(underscore.isString($groupBy_results$$))if(0<=$groupBy_results$$.indexOf("["))try{$groupBy_results$$=JSON.parse($groupBy_results$$)}catch($e$$){console.error($e$$)}else $groupBy_results$$=$groupBy_results$$.split(",");$data_error$$.groupBy($groupBy_results$$,"sl_nhap sl_xuat ton00 du00 tien_nhap tien_xuat".split(" "),($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$);for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,
|
|
7
|
-
utils.round($r$$.tien_nhap,0)-utils.round($r$$.tien_xuat,0),$r$$.sl_nhap=0,$r$$.sl_xuat=0,$r$$.tien_nhap=0,$r$$.tien_xuat=0;$fn$$(null,$groups$$)})})}else $fn$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: ngay,id_app")};
|
|
5
|
+
$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{if($error$$)return $callback$$($error$$);$pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=utils.round($ps$$.sl_nhap_qd,4);$ps$$.sl_xuat=utils.round($ps$$.sl_xuat_qd,4);return $ps$$});$callback$$(null,$pss$$)})}},($data_error$$,$groupBy_results$$)=>{if($data_error$$)return $fn$$($data_error$$);$data_error$$=$groupBy_results$$.dn.concat($groupBy_results$$.ps);($groupBy_results$$=$condition$$.groupBy||
|
|
6
|
+
$condition$$.groupby)||($groupBy_results$$=["ma_vt"]);if(underscore.isString($groupBy_results$$))if(0<=$groupBy_results$$.indexOf("["))try{$groupBy_results$$=JSON.parse($groupBy_results$$)}catch($e$$){console.error($e$$)}else $groupBy_results$$=$groupBy_results$$.split(",");$data_error$$.groupBy($groupBy_results$$,"sl_nhap sl_xuat ton00 du00 tien_nhap tien_xuat".split(" "),($e$$,$groups$$)=>{if($e$$)return $fn$$($e$$);for(let $r$$ of $groups$$)$r$$.ton00=utils.round($r$$.ton00+$r$$.sl_nhap-$r$$.sl_xuat,
|
|
7
|
+
4),$r$$.du00=utils.round($r$$.du00,0)+utils.round($r$$.tien_nhap,0)-utils.round($r$$.tien_xuat,0),$r$$.sl_nhap=0,$r$$.sl_xuat=0,$r$$.tien_nhap=0,$r$$.tien_xuat=0;$fn$$(null,$groups$$)})})}else $fn$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: ngay,id_app")};
|
|
@@ -15,10 +15,10 @@ $options$$.obj.user_created.toLowerCase()!==$email$$&&(2!==$options$$.obj.visibl
|
|
|
15
15
|
ma_trang_thai:$options$$.obj.trang_thai},function($e$$,$trang_thai$$){if($e$$)return $callback$$($e$$);if($trang_thai$$){if("update"===$action$$){if(0==$trang_thai$$.allow_update)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p s\u1eeda");if(1==$trang_thai$$.lock_data)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c kho\u00e1")}if("delete"===$action$$&&($trang_thai$$.lock_data||0==$trang_thai$$.allow_delete))return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p xo\u00e1")}return $callback$$()}):
|
|
16
16
|
$callback$$()}},$e$$=>{$e$$?$callback$jscomp$0$$($e$$,!1):$callback$jscomp$0$$(null,!0,$app$$)}):$callback$jscomp$0$$(null,!0,$app$$)})},$options$$)};
|
|
17
17
|
exports.getRightByItem=function($id_app$$,$model$$,$email$$,$next$$,$module$$,$options$$={}){exports.isAdmin($id_app$$,$email$$,async function($e$jscomp$3_key_right$$,$admin$$,$app$$,$participant$$){if($e$jscomp$3_key_right$$)return $next$$($e$jscomp$3_key_right$$);let $condition$$={};$module$$||($module$$=$model$$&&$model$$.collection&&$model$$.collection.name&&1<$model$$.collection.name.length?$model$$.collection.name.substr(0,$model$$.collection.name.length-1).toLowerCase():"");if($admin$$||$options$$.notNeedRight)$next$$(null,
|
|
18
|
-
$condition$$,$admin$$);else{const $ds_dang_phu_trach$$=await exports.dsDangPhuTrach($id_app$$,$email$$);$ds_dang_phu_trach$$.push($email$$);let $allUsers$$;$
|
|
19
|
-
$visible$$.push($
|
|
20
|
-
$ds_dang_phu_trach$$.push(void 0),$ds_dang_phu_trach$$.push("")),!0===underscore.has($model$$.schema.paths,"trang_thai")&&($_right_trang_thai$jscomp$1_error$$=$_right$$.view_trang_thai))){$_right$$=[void 0,null,""];for(let $t$$ in $_right_trang_thai$jscomp$1_error$$)$_right_trang_thai$jscomp$1_error$$[$t$$]&&$_right$$.push($t$$);$allUsers$$?$allUsers$$.trang_thai={$in:$_right$$}:$condition$$.trang_thai={$in:$_right$$}}underscore.has($model$$.schema.paths,
|
|
21
|
-
underscore.has($model$$.schema.paths,"phu_trach")&&$visible$$.push({phu_trach:{$in:$ds_dang_phu_trach$$}})
|
|
18
|
+
$condition$$,$admin$$);else{const $ds_dang_phu_trach$$=await exports.dsDangPhuTrach($id_app$$,$email$$);$ds_dang_phu_trach$$.push($email$$);let $allUsers$$,$selUsers$$;$admin$$={visible_to:null};let $visible$$=[];underscore.has($model$$.schema.paths,"visible_to")&&($condition$$.$and||($condition$$.$and=[]),$allUsers$$={visible_to:0},$selUsers$$={visible_to:2,visible_to_users:$email$$},$e$jscomp$3_key_right$$={visible_to:5,visible_to_users:($participant$$||{}).group_id},$visible$$.push($allUsers$$),
|
|
19
|
+
$visible$$.push($selUsers$$),$visible$$.push($e$jscomp$3_key_right$$),$visible$$.push($admin$$));$e$jscomp$3_key_right$$=$email$$;$participant$$&&$participant$$.group_id&&($e$jscomp$3_key_right$$=$participant$$.group_id.toLowerCase());right.findOne({id_app:$id_app$$,email:$e$jscomp$3_key_right$$,module:$module$$},function($_right_trang_thai$jscomp$1_error$$,$_right$$){if($_right$$&&(!1===$_right$$.viewOfOther?($visible$$.push({user_created:{$in:$ds_dang_phu_trach$$}}),$allUsers$$&&($allUsers$$.user_created=
|
|
20
|
+
{$in:$ds_dang_phu_trach$$})):($ds_dang_phu_trach$$.push(null),$ds_dang_phu_trach$$.push(void 0),$ds_dang_phu_trach$$.push("")),!0===underscore.has($model$$.schema.paths,"trang_thai")&&($_right_trang_thai$jscomp$1_error$$=$_right$$.view_trang_thai))){$_right$$=[void 0,null,""];for(let $t$$ in $_right_trang_thai$jscomp$1_error$$)$_right_trang_thai$jscomp$1_error$$[$t$$]&&$_right$$.push($t$$);$allUsers$$?$allUsers$$.trang_thai={$in:$_right$$}:$condition$$.trang_thai={$in:$_right$$}}$selUsers$$&&(underscore.has($model$$.schema.paths,
|
|
21
|
+
"of_user")&&$visible$$.push({of_user:$email$$}),underscore.has($model$$.schema.paths,"phu_trach")&&$visible$$.push({phu_trach:{$in:$ds_dang_phu_trach$$}}),underscore.has($model$$.schema.paths,"attends")&&$visible$$.push({attends:{$in:$ds_dang_phu_trach$$}}));0<$visible$$.length&&($condition$$.$and||($condition$$.$and=[]),$condition$$.$and.push({$or:$visible$$}));$next$$(null,$condition$$,!1)})}},$options$$)};
|
|
22
22
|
exports.getRightDataView=function($id_app$$,$model$$,$email$$,$next$$){exports.isAdmin($id_app$$,$email$$,function($condition$jscomp$1_e$$,$admin$$){if($condition$jscomp$1_e$$)return $next$$($condition$jscomp$1_e$$);$condition$jscomp$1_e$$={};if(!$admin$$&&!0===underscore.has($model$$.schema.paths,"dataview_to_users")){$condition$jscomp$1_e$$.$and||($condition$jscomp$1_e$$.$and=[]);let $dataview$$=[{dataview_to:null}];$dataview$$.push({dataview_to:0});$dataview$$.push({dataview_to:1,user_created:$email$$});
|
|
23
23
|
$dataview$$.push({dataview_to:2,dataview_to_users:$email$$});$condition$jscomp$1_e$$.$and.push({$or:$dataview$$})}$next$$(null,$condition$jscomp$1_e$$,$admin$$)})};
|
|
24
24
|
exports.getFieldNotRight=async($_fields_id_app$$,$_p_email$$,$ma_ct$$)=>{if(!$_fields_id_app$$)return[];$_p_email$$=await Participant.ofApp($_fields_id_app$$,$_p_email$$);if(0<$_p_email$$.length){$_p_email$$=$_p_email$$[0].group_id;let $field_not_right$$;try{$field_not_right$$=await right.getInfo($_fields_id_app$$,{email:$_p_email$$,module:$ma_ct$$.toLowerCase()},"field_not_right")}catch($e$$){return[]}$_fields_id_app$$=[];for(let $_key$$ in $field_not_right$$)$field_not_right$$[$_key$$]&&$_fields_id_app$$.push($_key$$);
|
package/server/libs/post-book.js
CHANGED
|
@@ -6,7 +6,7 @@ post.prototype.remove=function($callback$jscomp$0$$=()=>{}){let $master$$=this.m
|
|
|
6
6
|
post.prototype.run=async function($callback$$=()=>{}){if(!this.details)return console.error("details not exists"),$callback$$(null);if(!this.master||!this.master._id)return console.error("masters not exists",this.master),$callback$$(null);let $master$$=this.master;$master$$.toObject&&($master$$=$master$$.toObject());let $details$$=await this.runPrepare(this.prepare,this.details),$model_book$$=this.model_book;if("sokho"===$model_book$$.modelName.toLowerCase()||"sokhott"===$model_book$$.modelName.toLowerCase())await $details$$.asyncJoinModel2($master$$.id_app,
|
|
7
7
|
Dmvt,{where:"ma_vt",fields:"tg_tk"}),$details$$=$details$$.filter($d$$=>$d$$.tg_tk),await $details$$.asyncJoinModel2($master$$.id_app,global.getModel("dmqddvt"),{where:{ma_vt:"ma_vt",ma_dvt:"ma_dvt"},fields:["tu","mau",{he_so_qd:"ty_le_qd"}]}),$details$$.forEach($detail$$=>{$detail$$.he_so_qd=$detail$$.he_so_qd||1;$detail$$.mau&&$detail$$.tu?($detail$$.he_so_qd=$detail$$.tu/$detail$$.mau,$detail$$.sl_xuat_qd=utils.round(($detail$$.sl_xuat||0)*$detail$$.tu/$detail$$.mau,round),$detail$$.sl_nhap_qd=
|
|
8
8
|
utils.round(($detail$$.sl_nhap||0)*$detail$$.tu/$detail$$.mau,round)):($detail$$.sl_xuat_qd=($detail$$.sl_xuat||0)*$detail$$.he_so_qd,$detail$$.sl_nhap_qd=($detail$$.sl_nhap||0)*$detail$$.he_so_qd)});"sokhokhongton"===$model_book$$.modelName.toLowerCase()&&(await $details$$.asyncJoinModel2($master$$.id_app,Dmvt,{where:"ma_vt",fields:"tg_tk"}),$details$$=$details$$.filter($d$$=>0==$d$$.tg_tk),await $details$$.asyncJoinModel2($master$$.id_app,global.getModel("dmqddvt"),{where:{ma_vt:"ma_vt",ma_dvt:"ma_dvt"},
|
|
9
|
-
fields:["tu","mau",{he_so_qd:"ty_le_qd"}]}),$details$$.forEach($detail$$=>{$detail$$.he_so_qd=$detail$$.he_so_qd||1;$detail$$.mau&&$detail$$.tu?($detail$$.he_so_qd=$detail$$.tu/$detail$$.mau,$detail$$.sl_xuat_qd=utils.round(($detail$$.sl_xuat||0)*$detail$$.tu/$detail$$.mau,round),$detail$$.sl_nhap_qd=utils.round(($detail$$.sl_nhap||0)*$detail$$.tu/$detail$$.mau,round)):($detail$$.sl_xuat_qd=($detail$$.sl_xuat||0)*$detail$$.he_so_qd,$detail$$.sl_nhap_qd=($detail$$.sl_nhap||
|
|
10
|
-
if("vatra"===$model_book$$.modelName.toLowerCase()||"vatvao"===$model_book$$.modelName.toLowerCase()){let $rs$$=await Promise.all($details$$.map($detail$$=>(async()=>{let $v$$=await $model_book$$.findOne({id_app:$master$$.id_app,so_hd:$detail$$.so_hd,so_seri:$detail$$.so_seri,ky_hieu_hoa_don:$detail$$.ky_hieu_hoa_don,id_ct:{$ne:$master$$._id.toString()}});return $v$$?$v$$.so_hd:""})()));$rs$$=$rs$$.filter($r$$=>$r$$);if(0<$rs$$.length)return $callback$$(`S\u1ed1 ho\u00e1 \u0111\u01a1n ${$rs$$.join(",")} \u0111\u00e3 t\u1ed3n t\u1ea1i`)}$details$$=
|
|
9
|
+
fields:["tu","mau",{he_so_qd:"ty_le_qd"}]}),$details$$.forEach($detail$$=>{$detail$$.he_so_qd=$detail$$.he_so_qd||1;$detail$$.mau&&$detail$$.tu?($detail$$.he_so_qd=$detail$$.tu/$detail$$.mau,$detail$$.sl_xuat_qd=utils.round(($detail$$.sl_xuat||0)*$detail$$.tu/$detail$$.mau,round),$detail$$.sl_nhap_qd=utils.round(($detail$$.sl_nhap||0)*$detail$$.tu/$detail$$.mau,round)):($detail$$.sl_xuat_qd=utils.round(($detail$$.sl_xuat||0)*$detail$$.he_so_qd,round),$detail$$.sl_nhap_qd=utils.round(($detail$$.sl_nhap||
|
|
10
|
+
0)*$detail$$.he_so_qd,round))}));if("vatra"===$model_book$$.modelName.toLowerCase()||"vatvao"===$model_book$$.modelName.toLowerCase()){let $rs$$=await Promise.all($details$$.map($detail$$=>(async()=>{let $v$$=await $model_book$$.findOne({id_app:$master$$.id_app,so_hd:$detail$$.so_hd,so_seri:$detail$$.so_seri,ky_hieu_hoa_don:$detail$$.ky_hieu_hoa_don,id_ct:{$ne:$master$$._id.toString()}});return $v$$?$v$$.so_hd:""})()));$rs$$=$rs$$.filter($r$$=>$r$$);if(0<$rs$$.length)return $callback$$(`S\u1ed1 ho\u00e1 \u0111\u01a1n ${$rs$$.join(",")} \u0111\u00e3 t\u1ed3n t\u1ea1i`)}$details$$=
|
|
11
11
|
$details$$.map(($detail$$,$line$$)=>{$detail$$.id_ct=$master$$._id.toString();for(let $attr$$ in $model_book$$.schema.paths)if("id_ct"!=$attr$$&&"_id"!=$attr$$){let $v$$=$detail$$[$attr$$];void 0!=$v$$&&null!=$v$$&&""!=$v$$||void 0==$master$$[$attr$$]||($detail$$[$attr$$]=$master$$[$attr$$])}$detail$$.line=$line$$;delete $detail$$.toObject;delete $detail$$._id;delete $detail$$.__v;return $detail$$});this.remove($error$$=>{if($error$$)return console.error("error delete data post",$error$$),$callback$$($error$$);
|
|
12
12
|
$model_book$$.create($details$$,($e$jscomp$0$$,$rs$$)=>{$e$jscomp$0$$?(console.error("error save data post",$e$jscomp$0$$,$details$$),this.remove(()=>{$callback$$($e$jscomp$0$$)})):($callback$$(null,$rs$$),$rs$$&&"sokho"===$model_book$$.modelName.toLowerCase()&&setImmediate(()=>{tontucthoi.tinhTonTucThoi($rs$$,$e$$=>{$e$$&&console.error("L\u1ed7i t\u00ednh t\u1ed3n t\u1ee9c th\u1eddi v\u1eadt t\u01b0",$rs$$,$e$$)})}))})})};module.exports=post;
|
package/server/libs/thnxt.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
'use strict';const dkvt=require("./dkvt"),sokho=global.getModel("sokho"),dmvt=global.getModel("dmvt"),async=require("async"),underscore=require("underscore");
|
|
2
|
-
module.exports=function($condition$$,$fn$$,$log$$=()=>{}){$log$$("stocksummary: prepare condition");if($condition$$&&$condition$$.tu_ngay&&$condition$$.den_ngay&&$condition$$.id_app){var $id_app$$=$condition$$.id_app,$groupBy$$=$condition$$.groupBy||$condition$$.groupby;$groupBy$$||($groupBy$$=["ma_vt"]);if(underscore.isString($groupBy$$))if(0<=$groupBy$$.indexOf("["))try{$groupBy$$=JSON.parse($groupBy$$)}catch($e$$){console.error($e$$)}else $groupBy$$=$groupBy$$.split(",");
|
|
3
|
-
dkvt($condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$callback$$(null,$result$$)})},ps:function($callback$$){let $ma_vt$$=$condition$$.ma_vt;underscore.isArray($ma_vt$$)&&
|
|
4
|
-
($query$$.
|
|
5
|
-
|
|
6
|
-
$groups$$)=>{if($e$jscomp$
|
|
7
|
-
Math.abs($r$$.tien_nhap)+Math.abs($r$$.sl_xuat)+Math.abs($r$$.tien_xuat)+Math.abs($r$$.ton_cuoi)+Math.abs($r$$.du_cuoi)});$log$$("stocksummary: finish");$fn$$(null,$e$jscomp$
|
|
1
|
+
'use strict';const dkvt=require("./dkvt"),sokho=global.getModel("sokho"),dmvt=global.getModel("dmvt"),async=require("async"),underscore=require("underscore"),utils=require("./utils");
|
|
2
|
+
module.exports=function($condition$$,$fn$$,$log$$=()=>{}){$log$$("stocksummary: prepare condition");if($condition$$&&$condition$$.tu_ngay&&$condition$$.den_ngay&&$condition$$.id_app){var $id_app$$=$condition$$.id_app,$groupBy$$=$condition$$.groupBy||$condition$$.groupby;$groupBy$$||($groupBy$$=["ma_vt"]);if(underscore.isString($groupBy$$))if(0<=$groupBy$$.indexOf("["))try{$groupBy$$=JSON.parse($groupBy$$)}catch($e$$){console.error($e$$)}else $groupBy$$=$groupBy$$.split(",");if(underscore.isString($condition$$.ma_vt)&&
|
|
3
|
+
0<=$condition$$.ma_vt.indexOf("[")&&0<$condition$$.ma_vt.indexOf("]"))try{$condition$$.ma_vt=JSON.parse($condition$$.ma_vt),0==$condition$$.ma_vt.length&&($condition$$.ma_vt=void 0)}catch($e$$){console.error($e$$)}async.parallel({dn:function($callback$$){$log$$("stocksummary: calculate balance begin");dkvt($condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$callback$$(null,$result$$)})},ps:function($callback$$){let $ma_vt$$=$condition$$.ma_vt;underscore.isArray($ma_vt$$)&&
|
|
4
|
+
($ma_vt$$={$in:$ma_vt$$});const $query$$={id_app:$id_app$$,ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}};$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.ma_tt1&&($query$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);
|
|
5
|
+
!$condition$$.exclude_ct_dc||$condition$$.ma_kho||$groupBy$$.find($g$$=>"ma_kho"===$g$$)||($query$$.ma_ct={$nin:["PNC","PXC"]});$log$$("stocksummary: calculate araising");sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{$error$$?$callback$$($error$$):($pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=utils.round($ps$$.sl_nhap_qd,4);$ps$$.sl_xuat=utils.round($ps$$.sl_xuat_qd,4);return $ps$$}),$pss$$.joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]},()=>{$callback$$(null,
|
|
6
|
+
$pss$$)}))})}},function($data_error$$,$results$$){$data_error$$?$fn$$($data_error$$):($data_error$$=$results$$.dn.concat($results$$.ps),$log$$("stocksummary: group by"),$data_error$$.groupBy($groupBy$$,[{name:"ton_dau",value:"ton00"},{name:"du_dau",value:"du00"},"sl_nhap","sl_xuat","tien_nhap","tien_xuat"],($e$jscomp$2_result$$,$groups$$)=>{if($e$jscomp$2_result$$)return $fn$$($e$jscomp$2_result$$);for(let $r$$ of $groups$$)$r$$.ton_cuoi=utils.round(($r$$.ton_dau||0)+($r$$.sl_nhap||0)-($r$$.sl_xuat||
|
|
7
|
+
0),4),$r$$.du_cuoi=Math.round($r$$.du_dau,0)+Math.round($r$$.tien_nhap,0)-Math.round($r$$.tien_xuat,0);$e$jscomp$2_result$$=underscore.filter($groups$$,function($r$$){return 0!==Math.abs($r$$.ton_dau)+Math.abs($r$$.du_dau)+Math.abs($r$$.sl_nhap)+Math.abs($r$$.tien_nhap)+Math.abs($r$$.sl_xuat)+Math.abs($r$$.tien_xuat)+Math.abs($r$$.ton_cuoi)+Math.abs($r$$.du_cuoi)});$log$$("stocksummary: finish");$fn$$(null,$e$jscomp$2_result$$)}))})}else $fn$$("L\u1ed7i: B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay,id_app")};
|
package/server/libs/thnxttt.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
'use strict';const dkvt=require("./dkvttt"),sokho=global.getModel("sokhott"),dmvt=global.getModel("dmvt"),async=require("async"),underscore=require("underscore");
|
|
2
|
-
module.exports=function($condition$$,$fn$$,$log$$=()=>{}){$log$$("stocksummary: prepare condition");if($condition$$&&$condition$$.tu_ngay&&$condition$$.den_ngay&&$condition$$.id_app){var $id_app$$=$condition$$.id_app,$groupBy$$=$condition$$.groupBy||$condition$$.groupby;$groupBy$$||($groupBy$$=["ma_vt"]);if(underscore.isString($groupBy$$))if(0<=$groupBy$$.indexOf("["))try{$groupBy$$=JSON.parse($groupBy$$)}catch($e$$){console.error($e$$)}else $groupBy$$=$groupBy$$.split(",");
|
|
3
|
-
dkvt($condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$result$$.joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]},()=>{$callback$$(null
|
|
4
|
-
($
|
|
5
|
-
$pss$$)=>{$error$$?$callback$$($error$$):($pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=$ps$$.sl_nhap_qd;$ps$$.sl_xuat=$ps$$.sl_xuat_qd;return $ps$$}),$pss$$.joinModel2($id_app$$,dmvt,{where:"ma_vt",
|
|
6
|
-
value:"du00"},"sl_nhap","sl_xuat","tien_nhap","tien_xuat"],($e$jscomp$
|
|
7
|
-
Math.abs($r$$.tien_xuat)+Math.abs($r$$.ton_cuoi)+Math.abs($r$$.du_cuoi)});$log$$("stocksummary: finish");$fn$$(null,$e$jscomp$
|
|
1
|
+
'use strict';const dkvt=require("./dkvttt"),sokho=global.getModel("sokhott"),dmvt=global.getModel("dmvt"),async=require("async"),underscore=require("underscore"),utils=require("./utils");
|
|
2
|
+
module.exports=function($condition$$,$fn$$,$log$$=()=>{}){$log$$("stocksummary: prepare condition");if($condition$$&&$condition$$.tu_ngay&&$condition$$.den_ngay&&$condition$$.id_app){var $id_app$$=$condition$$.id_app,$groupBy$$=$condition$$.groupBy||$condition$$.groupby;$groupBy$$||($groupBy$$=["ma_vt"]);if(underscore.isString($groupBy$$))if(0<=$groupBy$$.indexOf("["))try{$groupBy$$=JSON.parse($groupBy$$)}catch($e$$){console.error($e$$)}else $groupBy$$=$groupBy$$.split(",");if(underscore.isString($condition$$.ma_vt)&&
|
|
3
|
+
0<=$condition$$.ma_vt.indexOf("[")&&0<$condition$$.ma_vt.indexOf("]"))try{$condition$$.ma_vt=JSON.parse($condition$$.ma_vt),0==$condition$$.ma_vt.length&&($condition$$.ma_vt=void 0)}catch($e$$){console.error($e$$)}async.parallel({dn:function($callback$$){$log$$("stocksummary: calculate balance begin");dkvt($condition$$,function($error$$,$result$$){if($error$$)return $callback$$($error$$);$result$$.joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]},()=>{$callback$$(null,
|
|
4
|
+
$result$$)})})},ps:function($callback$$){let $ma_vt$$=$condition$$.ma_vt;underscore.isArray($ma_vt$$)&&($ma_vt$$={$in:$ma_vt$$});let $query$$={id_app:$id_app$$,ngay_ct:{$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay}};$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$condition$$.ma_lo&&($query$$.ma_lo=$condition$$.ma_lo);$condition$$.ma_tt1&&($query$$.ma_tt1=$condition$$.ma_tt1);$condition$$.ma_tt2&&
|
|
5
|
+
($query$$.ma_tt2=$condition$$.ma_tt2);$condition$$.ma_tt3&&($query$$.ma_tt3=$condition$$.ma_tt3);!$condition$$.exclude_ct_dc||$condition$$.ma_kho||$groupBy$$.find($g$$=>"ma_kho"===$g$$)||($query$$.ma_ct={$nin:["PNC","PXC"]});$log$$("stocksummary: calculate araising");sokho.find($query$$).lean().exec(($error$$,$pss$$)=>{$error$$?$callback$$($error$$):($pss$$=$pss$$.map($ps$$=>{$ps$$.sl_nhap=$ps$$.sl_nhap_qd;$ps$$.sl_xuat=$ps$$.sl_xuat_qd;return $ps$$}),$pss$$.joinModel2($id_app$$,dmvt,{where:"ma_vt",
|
|
6
|
+
fields:["ma_nvt","ma_nvt2","ma_nvt3","ma_nvt4"]},()=>{$callback$$(null,$pss$$)}))})}},function($data_error$$,$results$$){$data_error$$?$fn$$($data_error$$):($data_error$$=$results$$.dn.concat($results$$.ps),$log$$("stocksummary: group by"),$data_error$$.groupBy($groupBy$$,[{name:"ton_dau",value:"ton00"},{name:"du_dau",value:"du00"},"sl_nhap","sl_xuat","tien_nhap","tien_xuat"],($e$jscomp$2_result$$,$groups$$)=>{if($e$jscomp$2_result$$)return $fn$$($e$jscomp$2_result$$);for(let $r$$ of $groups$$)$r$$.ton_cuoi=
|
|
7
|
+
utils.round($r$$.ton_dau+$r$$.sl_nhap-$r$$.sl_xuat,4),$r$$.du_cuoi=Math.round($r$$.du_dau,0)+Math.round($r$$.tien_nhap,0)-Math.round($r$$.tien_xuat,0);$e$jscomp$2_result$$=underscore.filter($groups$$,function($r$$){return 0!==Math.abs($r$$.ton_dau)+Math.abs($r$$.du_dau)+Math.abs($r$$.sl_nhap)+Math.abs($r$$.tien_nhap)+Math.abs($r$$.sl_xuat)+Math.abs($r$$.tien_xuat)+Math.abs($r$$.ton_cuoi)+Math.abs($r$$.du_cuoi)});$log$$("stocksummary: finish");$fn$$(null,$e$jscomp$2_result$$)}))})}else $fn$$("L\u1ed7i: B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay,id_app")};
|
package/server/models/dmvt.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),unidecode=require("unidecode"),dmvtSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_vt:{type:String,required:"M\u00e3 v\u1eadt t\u01b0 kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",uppercase:!0,trim:!0,maxlength:1024},ma_vt2:{type:String,maxlength:1024,uppercase:!0,trim:!0},ma_can:{type:String,maxlength:1024,uppercase:!0,trim:!0},ten_vt:{type:String,required:"T\u00ean v\u1eadt t\u01b0 kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",
|
|
2
2
|
maxlength:1024},ten_vt_kd:String,ma_dvt:{type:String,required:"M\u00e3 \u0111\u01a1n v\u1ecb t\u00ednh kh\u00f4ng \u0111\u01b0\u1ee3c tr\u1ed1ng",maxlength:32},ma_lvt:{type:String,required:!1,maxlength:32},ma_nvt:{type:String,required:!1,maxlength:1024},ten_nvt:String,ma_nvt2:{type:String,required:!1,maxlength:1024},ma_nvt3:{type:String,required:!1,maxlength:1024},ma_nvt4:{type:String,required:!1,maxlength:1024},ma_ncc:{type:String,required:!1,maxlength:32},ten_ncc:String,tg_tk:{type:Boolean,default:!0},
|
|
3
3
|
kg_kiem_tra_ton_kho:{type:Boolean,default:!1},kg_kiem_tra_ton_kho_tt:{type:Boolean,default:!1},gia_xuat:{type:String,default:"1",maxlength:32},tk_vt:{type:String,default:"1561",maxlength:32},tk_dt:{type:String,maxlength:32},tk_gv:{type:String,maxlength:32},tk_dl:{type:String,maxlength:32},tk_tl:{type:String,maxlength:32},gia_ban_le0:{type:Number,default:0},gia_ban_buon0:{type:Number,default:0},gia_ban_le:{type:Number,default:0},gia_ban_buon:{type:Number,default:0},ban_theo_tg:{type:Boolean,default:!1},
|
|
4
|
-
sp_yeu_cau_che_bien:{type:Boolean,default:!1},sp_yeu_cau_pha_che:{type:Boolean,default:!1},gia_mua:{type:Number,default:0},ty_le_ck0:{type:Number,default:0},tien_ck0:{type:Number,default:0},thue_suat_nk0:{type:Number,default:0},ton_kho_mac_dinh:{type:Number,default:0},
|
|
5
|
-
maxlength:1024},picture4:{type:String,maxlength:1024},picture5:{type:String,maxlength:1024},picture6:{type:String,maxlength:1024},mieu_ta:{type:String},mieu_ta_chi_tiet:{type:String},khuyen_mai:{type:String},bao_hang:{type:String},xuat_xu:{type:String},nhan_hieu:{type:String},hot:{type:Boolean},bestseller:{type:Boolean},banner_large:{type:Boolean},banner_small:{type:Boolean},tinh_trang:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,labels:[String],ma_lo_yn:Boolean,
|
|
6
|
-
ma_tt3_yn:Boolean,thuoc_tinh:Schema.Types.Mixed,cong_doan_sx:[Schema.Types.Mixed],is_service:{type:Boolean,default:!1},is_digital:{type:Boolean,default:!1},is_coin:Boolean,is_point:Boolean,file_digital:String,combo:[],shared:{type:Boolean,default:!0},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,
|
|
7
|
-
{toJSON:{virtuals:!0}});
|
|
4
|
+
sp_yeu_cau_che_bien:{type:Boolean,default:!1},sp_yeu_cau_pha_che:{type:Boolean,default:!1},gia_mua:{type:Number,default:0},ty_le_ck0:{type:Number,default:0},tien_ck0:{type:Number,default:0},thue_suat_nk0:{type:Number,default:0},ton_kho_mac_dinh:{type:Number,default:0},ton_kho_online_hien_tai:{type:Number,default:0},thue_suat_nk:{type:Number,default:0},ma_thue:{type:String,maxlength:32},picture_slide:{type:String,maxlength:1024},picture:{type:String,maxlength:1024},picture2:{type:String,maxlength:1024},
|
|
5
|
+
picture3:{type:String,maxlength:1024},picture4:{type:String,maxlength:1024},picture5:{type:String,maxlength:1024},picture6:{type:String,maxlength:1024},mieu_ta:{type:String},mieu_ta_chi_tiet:{type:String},khuyen_mai:{type:String},bao_hang:{type:String},xuat_xu:{type:String},nhan_hieu:{type:String},hot:{type:Boolean},bestseller:{type:Boolean},banner_large:{type:Boolean},banner_small:{type:Boolean},tinh_trang:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,labels:[String],ma_lo_yn:Boolean,
|
|
6
|
+
ma_tt1_yn:Boolean,ma_tt2_yn:Boolean,ma_tt3_yn:Boolean,thuoc_tinh:Schema.Types.Mixed,cong_doan_sx:[Schema.Types.Mixed],is_service:{type:Boolean,default:!1},is_digital:{type:Boolean,default:!1},is_coin:Boolean,is_point:Boolean,file_digital:String,combo:[],shared:{type:Boolean,default:!0},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,
|
|
7
|
+
default:0},visible_to_users:[String]},{toJSON:{virtuals:!0}});
|
|
8
8
|
dmvtSchema.validate={tk_vt:validAccount.existsTk,ma_dvt:validator.existsDvt,ma_thue:validator.existsVat,gia_xuat:[function($id_app$$,$gx$$,$callback$$){"1"!=$gx$$&&"2"!=$gx$$&&"3"!=$gx$$?$callback$$(!1):$callback$$(!0)},"Ph\u01b0\u01a1ng ph\u00e1p t\u00ednh gi\u00e1 xu\u1ea5t: 1- Trung b\u00ecnh th\u00e1ng, 2- Nh\u1eadp tr\u01b0\u1edbc xu\u1ea5t tr\u01b0\u1edbc, 3- \u0110\u00edch danh"],tinh_trang:[function($id_app$$,$gx$$,$callback$$){"1"!=$gx$$&&"2"!=$gx$$&&"3"!=$gx$$?$callback$$(!1):$callback$$(!0)},
|
|
9
|
-
"T\u00ecnh tr\u1ea1ng: 1- \u0110ang c\u00f3 h\u00e0ng, 2- S\u1eafp c\u00f3 h\u00e0ng, 3- H\u1ebft h\u00e0ng"]};dmvtSchema.index({id_app:1});dmvtSchema.index({ma_nvt:1});dmvtSchema.index({is_service:1});dmvtSchema.index({is_digital:1});dmvtSchema.index({date_updated:-1});dmvtSchema.index({date_created:-1});dmvtSchema.index({user_created:1});dmvtSchema.index({
|
|
9
|
+
"T\u00ecnh tr\u1ea1ng: 1- \u0110ang c\u00f3 h\u00e0ng, 2- S\u1eafp c\u00f3 h\u00e0ng, 3- H\u1ebft h\u00e0ng"]};dmvtSchema.index({id_app:1});dmvtSchema.index({ma_nvt:1});dmvtSchema.index({is_service:1});dmvtSchema.index({is_digital:1});dmvtSchema.index({date_updated:-1});dmvtSchema.index({date_created:-1});dmvtSchema.index({user_created:1});dmvtSchema.index({ton_kho_online_hien_tai:1});dmvtSchema.index({ten_vt_kd:1});
|
|
10
10
|
dmvtSchema.index({ten_vt:"text",mieu_ta:"text",ma_vt:"text",ma_vt2:"text",ma_can:"text",nhan_hieu:"text",xuat_xu:"text",ma_nvt:"text",ten_nvt:"text",ma_ncc:"text",ten_ncc:"text",labels:"text"},{name:"product_index"});dmvtSchema.index({id_app:1,ma_vt:1},{unique:!0});dmvtSchema.index({ma_vt2:1});dmvtSchema.index({ma_can:1});dmvtSchema.index({ten_vt:1});dmvtSchema.index({ma_dvt:1});dmvtSchema.index({ma_lvt:1});dmvtSchema.index({ma_nvt:1});dmvtSchema.index({ten_nvt:1});dmvtSchema.index({ma_ncc:1});dmvtSchema.index({ten_ncc:1});
|
|
11
11
|
dmvtSchema.index({nhan_hieu:1});dmvtSchema.index({xuat_xu:1});dmvtSchema.index({labels:1});dmvtSchema.index({mieu_ta:1});dmvtSchema.index({status:1});dmvtSchema.index({user_created:1,visible_to:1,visible_to_users:1});dmvtSchema.pre("save",function($next$$){const $self$$=this;$self$$.ten_vt?setImmediate(()=>{const $ten_vt_kd$$=unidecode($self$$.ten_vt);$self$$.ten_vt_kd=`${$ten_vt_kd$$}`;$next$$()}):$next$$()});const model=mongoose.models.dmvt||mongoose.model("dmvt",dmvtSchema);
|
|
12
12
|
model.on("index",async function($err$$){$err$$?(console.error("Product index error",$err$$),(await model.aggregate([{$group:{_id:{id_app:"$id_app",ma_vt:"$ma_vt"},count:{$sum:1},ids:{$push:"$_id"}}},{$match:{count:{$gt:1}}}])).forEach($d$$=>{console.info("product duplication",$d$$._id,$d$$.ids);$d$$.ids.forEach(($id$$,$index$$)=>{0<$index$$&&console.info("you should delete product",$id$$)})})):console.info("Product indexing complete")});
|
|
@@ -4,8 +4,8 @@ index:{type:Boolean,default:!1},is_tmp:{type:Boolean,default:!1},is_title:{type:
|
|
|
4
4
|
format:{type:String},align:{type:String},color:{type:String},bold:Boolean,html_variant_display:{type:String},html_component_display:{type:String},html_component_input:{type:String},grid_configs:String,handle_value_changed:{type:String},handle_search_condition:String,tab:{type:String},group:{type:String},help_text:{type:String},line:{type:Number,default:0}}),listinfoSchema=new global.Schema({menu_position:String,code:{type:String,required:!0,index:!0,lowercase:!0,trim:!0},title:{type:String,required:!0},
|
|
5
5
|
title2:{type:String},mother_code:{type:String,lowercase:!0},api_code:{type:String,lowercase:!0},model_code:{type:String,lowercase:!0},fields:[fieldScheme],postinfos:[global.Schema.Types.Mixed],exfields:global.Schema.Types.Mixed,create_model:{type:Boolean,default:!1},breadcrumbs:{type:String},not_add:Boolean,not_edit:Boolean,not_delete:Boolean,handle_cell_clicked:{type:String},expression_check_save:String,on_saved:String,on_deleting:String,on_deleted:String,on_init:String,on_init_update:String,handle_view_server:String,
|
|
6
6
|
handle_oncreating_server:String,handle_oncreated_server:String,handle_onupdating_server:String,handle_onupdated_server:String,handle_ondeleting_server:String,search_required:Boolean,search_form:String,default_condition:String,require_condition:String,export_yn:Boolean,sort_by:String,not_need_right:{type:Boolean,default:!1},require_id_app:{type:Boolean,default:!0},private_data:Boolean,view_tabs:[],allow_users:{type:String},input_users:{type:String},create_menu:Boolean,show_view_tabs_on_grid:Boolean,
|
|
7
|
-
form_size:{type:String,default:"md"},is_dashboard_item:{type:Boolean,default:!1},dashboard_default:{type:Boolean,default:!0},dashboard_ids:{type:String},dashboard_stt:{type:Number},get_other_fields:String,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});listinfoSchema.index({code:1});listinfoSchema.index({title:1});listinfoSchema.index({title2:1});
|
|
8
|
-
listinfoSchema.index({api_code:1});listinfoSchema.index({model_code:1});listinfoSchema.index({mother_code:1});listinfoSchema.index({is_dashboard_item:1});listinfoSchema.index({dashboard_ids:1});listinfoSchema.index({mother_code:"text",code:"text",title:"text"},{name:"listinfo_index2_text"});listinfoSchema.index({status:1});listinfoSchema.index({user_created:1,visible_to:1,visible_to_users:1});
|
|
7
|
+
form_size:{type:String,default:"md"},is_dashboard_item:{type:Boolean,default:!1},dashboard_default:{type:Boolean,default:!0},dashboard_ids:{type:String},dashboard_stt:{type:Number},get_other_fields:String,options:{},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});listinfoSchema.index({code:1});listinfoSchema.index({title:1});listinfoSchema.index({title2:1});
|
|
8
|
+
listinfoSchema.index({mother_code:1});listinfoSchema.index({api_code:1});listinfoSchema.index({model_code:1});listinfoSchema.index({mother_code:1});listinfoSchema.index({is_dashboard_item:1});listinfoSchema.index({dashboard_ids:1});listinfoSchema.index({mother_code:"text",code:"text",title:"text"},{name:"listinfo_index2_text"});listinfoSchema.index({status:1});listinfoSchema.index({user_created:1,visible_to:1,visible_to_users:1});
|
|
9
9
|
const model=global.mongoose.models.listinfo||global.mongoose.model("listinfo",listinfoSchema),requireFields={id_app:{type:String,required:!0},exfields:global.Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String]};
|
|
10
10
|
model.createSchema=$info_textFields$$=>{if(!$info_textFields$$.create_model)return null;var $api_code_index_name$$=$info_textFields$$.api_code||$info_textFields$$.code,$_requireFields_fields$$={...requireFields};0!=$info_textFields$$.require_id_app&&"false"!=$info_textFields$$.require_id_app||delete $_requireFields_fields$$.id_app;let $mySchema$$=new global.Schema($_requireFields_fields$$,{strict:!1}),$require_paths$$=Object.keys($mySchema$$.paths);$_requireFields_fields$$={};for($f_uq$$ of $info_textFields$$.fields.filter($f$$=>
|
|
11
11
|
"Link"!==$f$$.type&&"Files"!==$f$$.type&&"Action"!==$f$$.type&&"Group"!==$f$$.type&&0>$require_paths$$.indexOf($f$$.name))){$f_uq$$.unique&&($f_uq$$.index=!0);let $_field$$=Object.assign({},$f_uq$$);if("DateTime"==$_field$$.type||"Time"==$_field$$.type)$_field$$.type="Date";if("File"==$_field$$.type||"OtherFile"==$_field$$.type)$_field$$.type="Mixed";"Array"==$_field$$.type&&($_field$$.type="Mixed");"Pdf"==$_field$$.type&&($_field$$.type="String");"Image"==$_field$$.type&&($_field$$.type="String");
|
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
default:0},du_nt00:{type:Number,default:0},kc_yn:{type:Boolean,default:!1},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});tontucthoiScheam.index({id_app:1,nam:1,ma_dvcs:1,ma_vt:1,ma_kho:1,ma_lo:1,ma_tt1:1,ma_tt2:1,ma_tt3:1},{name:"tontucthoi_index_1"});tontucthoiScheam.index({status:1});tontucthoiScheam.index({user_created:1,visible_to:1,visible_to_users:1});
|
|
3
3
|
const tontucthoi=mongoose.models.tontucthoi||mongoose.model("tontucthoi",tontucthoiScheam),ckvt=require("../libs/ckvt"),underscore=require("underscore"),async=require("async");
|
|
4
4
|
tontucthoi.tinhTonTucThoi=function($sks$$,$cb$$){$cb$$||($cb$$=function($e$$){$e$$&&console.log("error when calc tontucthoi",$e$$)});underscore.isArray($sks$$)||($sks$$=[$sks$$]);async.map($sks$$,function($sk$$,$cb$$){if(!$sk$$)return $cb$$();let $query$$={id_app:$sk$$.id_app,ma_vt:$sk$$.ma_vt};$sk$$.ma_kho&&($query$$.ma_kho=$sk$$.ma_kho);$sk$$.ma_dvcs&&($query$$.ma_dvcs=$sk$$.ma_dvcs);$sk$$.ma_lo&&($query$$.ma_lo=$sk$$.ma_lo);$sk$$.han_sd&&($query$$.han_sd=$sk$$.han_sd);$sk$$.ma_tt1&&($query$$.ma_tt1=
|
|
5
|
-
$sk$$.ma_tt1);$sk$$.ma_tt2&&($query$$.ma_tt2=$sk$$.ma_tt2);$sk$$.ma_tt3&&($query$$.ma_tt3=$sk$$.ma_tt3);tontucthoi.deleteMany($query$$,function($e$jscomp$2$$){if($e$jscomp$2$$)return $cb$$("remove tonkhotucthoi");$query$$.groupBy="id_app ma_vt ma_kho ma_dvcs ma_lo ma_tt1 ma_tt2 ma_tt3 han_sd".split(" ");$query$$.ngay=new Date;ckvt($query$$,function($e$jscomp$1$$,$rs$$){if($e$jscomp$1$$)return $cb$$("error when calc tontucthoi\n"+$e$jscomp$1$$)
|
|
6
|
-
0<$rs$$.length?tontucthoi.create($rs$$,async function($e$jscomp$0$$){if($e$jscomp$0$$)return $cb$$($e$jscomp$0$$);if($e$jscomp$0$$=await global.getModel("dmvt").findOne({id_app:$sk$$.id_app,ma_vt:$sk$$.ma_vt}))$e$jscomp$0$$.
|
|
5
|
+
$sk$$.ma_tt1);$sk$$.ma_tt2&&($query$$.ma_tt2=$sk$$.ma_tt2);$sk$$.ma_tt3&&($query$$.ma_tt3=$sk$$.ma_tt3);tontucthoi.deleteMany($query$$,function($e$jscomp$2$$){if($e$jscomp$2$$)return $cb$$("remove tonkhotucthoi");$query$$.groupBy="id_app ma_vt ma_kho ma_dvcs ma_lo ma_tt1 ma_tt2 ma_tt3 han_sd".split(" ");$query$$.ngay=new Date;ckvt($query$$,async function($e$jscomp$1$$,$rs$$){if($e$jscomp$1$$)return $cb$$("error when calc tontucthoi\n"+$e$jscomp$1$$);$rs$$=$rs$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_kho&&
|
|
6
|
+
$r$$.id_app);await $rs$$.asyncJoinModel2(null,global.getModel("dmkho"),{where:$item$$=>({id_app:$item$$.id_app,ma_kho:$item$$.ma_kho}),fields:"la_kho_online"});$rs$$&&0<$rs$$.length?tontucthoi.create($rs$$,async function($e$jscomp$0$$){if($e$jscomp$0$$)return $cb$$($e$jscomp$0$$);if($e$jscomp$0$$=await global.getModel("dmvt").findOne({id_app:$sk$$.id_app,ma_vt:$sk$$.ma_vt}))$e$jscomp$0$$.ton_kho_online_hien_tai=$rs$$.filter($r$$=>$r$$.la_kho_online).map($r$$=>$r$$.ton00||0).reduce(($a$$,$b$$)=>$a$$+
|
|
7
|
+
$b$$,0),$e$jscomp$0$$.save($e$$=>{$e$$&&console.error($e$$)});$cb$$(null,$rs$$)}):$cb$$()})})},function($e$$,$rs$$){$cb$$($e$$,$rs$$)})};module.exports=tontucthoi;
|
package/server/models/user.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
'use strict';const Tokens=require("./tokens"),crypto=require("crypto"),StaticPool=require("../libs/WorkerStaticPool"),emailService=require("../libs/email"),async=require("async"),path=require("path"),validator=require("validator"),
|
|
1
|
+
'use strict';const Tokens=require("./tokens"),crypto=require("crypto"),StaticPool=require("../libs/WorkerStaticPool"),emailService=require("../libs/email"),async=require("async"),path=require("path"),validator=require("validator"),jwt=require("jsonwebtoken"),{isSupperAdmin}=require("../libs/utils"),EXP_TIME=864E5,underscore=require("underscore"),request=require("request"),profileFacebookUrl="https://graph.facebook.com/me?fields=name",checkFacebookToken=async $access_token$$=>{let $urlCheck$$=`${profileFacebookUrl}&access_token=${$access_token$$}`;
|
|
2
2
|
return new Promise($resolve$$=>{request($urlCheck$$,($e$$,$res$$,$body$$)=>$e$$||JSON.parse($body$$).error?$resolve$$(!1):$resolve$$(!0))})},userSchema=new Schema({local:{email:{type:String,lowercase:!0,trim:!0,maxlength:128},password:String,rspassword:String,name:{type:String,maxlength:1024},picture:{type:String,maxlength:1024},address:{type:String,maxlength:1024},phone:{type:String,trim:!0,lowercase:!0},zalo:{type:String,maxlength:1024},whatsapp:{type:String,maxlength:1024},facebook:{type:String,
|
|
3
3
|
maxlength:1024},company:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,active:{type:Boolean,default:!1},key:String},google:{id:String,email:{type:String,lowercase:!0,trim:!0,maxlength:128},name:String,picture:String},facebook:{id:String,email:{type:String,lowercase:!0,trim:!0,maxlength:128},name:String,picture:String},current_id_app:String,current_user:String,email:{type:String,lowercase:!0,trim:!0,maxlength:128},email2:{type:String,lowercase:!0,trim:!0,maxlength:128},name:{type:String,
|
|
4
4
|
maxlength:1024},picture:{type:String,maxlength:1024},server:{type:String,maxlength:1024},partner:{type:String,maxlength:1024},join_date:{type:Date,default:Date.now},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});userSchema.index({email:-1},{unique:!0});userSchema.index({date_created:-1});userSchema.index({name:1});userSchema.index({email2:1});
|
|
5
|
-
userSchema.index({name:"text",email:"text"});userSchema.index({status:1});userSchema.index({user_created:1,visible_to:1,visible_to_users:1});userSchema.methods.generateHash=function($password$$){return crypto.createHash("sha256").update($password$$+":STP").digest("hex")};userSchema.methods.validPassword=function($password$$){$password$$=this.generateHash($password$$);return $password$$==this.local.password||$password$$==this.local.rspassword};
|
|
5
|
+
userSchema.index({name:"text",email:"text"});userSchema.index({"facebook.id":1});userSchema.index({"google.id":1});userSchema.index({status:1});userSchema.index({user_created:1,visible_to:1,visible_to_users:1});userSchema.methods.generateHash=function($password$$){return crypto.createHash("sha256").update($password$$+":STP").digest("hex")};userSchema.methods.validPassword=function($password$$){$password$$=this.generateHash($password$$);return $password$$==this.local.password||$password$$==this.local.rspassword};
|
|
6
6
|
userSchema.methods.validRspassword=function($password$$){return this.generateHash($password$$)==this.local.rspassword};const User=mongoose.models.user||mongoose.model("user",userSchema);User.getInfo=async($condition$$,$fields$$)=>$condition$$?new Promise(($resolve$$,$reject$$)=>{User.findOne($condition$$).lean().exec(($e$$,$rs$$)=>{if($e$$||!$rs$$)return $reject$$(Error($e$$?$e$$.message:"Can't find information"));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)})}):null;
|
|
7
|
-
User.findByToken=async($token$$,$
|
|
8
|
-
$_token$$,$
|
|
9
|
-
$
|
|
10
|
-
$reject$$(`User ${$_token$$.email} is not exists`)})})})})).then($user$$=>{$user$$.current_user=$user$$.email;$user$$.token=$token$$;$user$$.admin=underscore.contains($usersAdmin$$,$user$$.email)||isSupperAdmin($user$$.email.toLowerCase());if(!1===$user$$.status)return $fn$$("This user was locked");"public"!==$_token$$.email&&$_token$$._id&&($_token$$.last_access=new Date
|
|
7
|
+
User.findByToken=async($token$$,$ip_now$$,$fn$$,$APP_SECRET_options$$={check_service_token:!1})=>{const $usersAdmin$$=global.configs.admins;if(!$token$$||"undefined"===$token$$)return $fn$$(`Token '${$token$$}' is not valid`);let $_token$$;if($token$$===global.configs.public_token)$_token$$={email:"public"};else if($_token$$=await Tokens.findOne({token:$token$$}),!$_token$$)return $fn$$("This token is not exists");if("public"!==$_token$$.email){if($_token$$.ip&&$_token$$.ip.split(":").pop()!==$ip_now$$.split(":").pop())return console.log("IP is not valid",
|
|
8
|
+
$_token$$,$ip_now$$),$fn$$("Your IP is not valid");if(global.check_token_expired&&($ip_now$$=new Date,($_token$$.last_access||new Date).getTime()+EXP_TIME<$ip_now$$.getTime()))return $fn$$("Token has expired")}if($_token$$.service&&$APP_SECRET_options$$.check_service_token){if("facebook"===$_token$$.service&&!await checkFacebookToken($token$$))return console.error("This facebook access token is not valid",$_token$$),$fn$$("This facebook access token is not valid")}else if(($APP_SECRET_options$$=global.configs.APP_SECRET)&&
|
|
9
|
+
"public"!==$_token$$.email)try{let $decoded$$=jwt.verify($token$$,$APP_SECRET_options$$);if(!$decoded$$.user||$decoded$$.user.email!==$_token$$.email)return console.error("token is not valid",$_token$$),$fn$$("This access token is not valid")}catch($e$$){return $fn$$($e$$.message)}let $query$$={email:$_token$$.email};(new Promise(($resove$$,$reject$$)=>{setImmediate(()=>{global.clientRedis.get(`:email:${$_token$$.email}`,function($err$$,$reply$$){if($reply$$)return $resove$$(JSON.parse($reply$$));
|
|
10
|
+
User.findOne($query$$).lean().exec(function($error$$,$user$$){if($error$$)return $reject$$($error$$);$user$$?$resove$$($user$$):$reject$$(`User ${$_token$$.email} is not exists`)})})})})).then($user$$=>{$user$$.current_user=$user$$.email;$user$$.token=$token$$;$user$$.admin=underscore.contains($usersAdmin$$,$user$$.email)||isSupperAdmin($user$$.email.toLowerCase());if(!1===$user$$.status)return $fn$$("This user was locked");"public"!==$_token$$.email&&$_token$$._id&&($_token$$.last_access=new Date,
|
|
11
|
+
$_token$$.save());setImmediate(()=>{$fn$$(null,$user$$,$_token$$)})}).catch($e$$=>{$fn$$($e$$)})};
|
|
11
12
|
const sendEmailTo=($email$$,$data$$)=>{$data$$.body&&validator.isEmail($email$$)&&emailService.sendHtml({to:{address:$email$$},subject:($data$$.title||"").replace(/<[^>]*>?/gm,""),html:$data$$.body||""},function($error$$){$error$$&&console.error($error$$)})},socketSendTo=async($email$$,$event_name$$,$msg$$,$exclude_token$$)=>{setImmediate(async()=>{$email$$&&[...(new Set((await Tokens.find({email:$email$$})).map($t$$=>$t$$.token)))].filter($t$$=>!$exclude_token$$||$t$$!==$exclude_token$$).forEach($token$$=>
|
|
12
13
|
{$event_name$$&&global.clientIO[$token$$]&&global.socketIO&&async.map(global.clientIO[$token$$],($id$$,$callback$$)=>{setImmediate(()=>{global.socketIO.to($id$$).emit($event_name$$,$msg$$);$callback$$()})},()=>{})})})},socketSendToWithToken=async($token$$,$event_name$$,$msg$$)=>{setImmediate(()=>{$event_name$$&&global.clientIO[$token$$]&&global.socketIO&&global.clientIO[$token$$].forEach(function($id$$){global.socketIO.to($id$$).emit($event_name$$,$msg$$)})})};
|
|
13
14
|
User.isOnline=async $email$$=>[...(new Set((await Tokens.find({email:$email$$})).map($t$$=>$t$$.token)))].find($token$$=>global.clientIO[$token$$]&&global.socketIO&&0<global.clientIO[$token$$].length)?!0:!1;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
'use strict';const model=global.getModel("cart"),User=global.getModel("user"),App=global.getModel("app"),controller=require("../../controllers/controller"),Dmvt=global.getModel("dmvt"),underscore=require("underscore"),getGiaBan=require("../../libs/getGiaban"),ckvt=require("../../libs/ckvt"),async=require("async"),moment=require("moment"),cart=function($router$$){(new controller($router$$,model,"cart",{requireRecaptchaToken:!1,notNeedRight:!0,sort:{stt:1,user:1},onFinding:($user
|
|
2
|
-
{$condition$$.user_created=$user$$.email;$next$$(null,$condition$$)},onView:($user$$,$result$$,$fn$$)=>{
|
|
3
|
-
Dmvt,{where:{ma_vt:"ma_vt",id_app_vt:"id_app"},fields:["ten_vt","picture_thumb","picture","ma_danh_muc",{gia_ban_le0:"gia_ban_le0"}]},function($kq$$){
|
|
4
|
-
|
|
5
|
-
$item$$.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
$
|
|
9
|
-
|
|
1
|
+
'use strict';const model=global.getModel("cart"),User=global.getModel("user"),App=global.getModel("app"),controller=require("../../controllers/controller"),Dmvt=global.getModel("dmvt"),underscore=require("underscore"),getGiaBan=require("../../libs/getGiaban"),utils=require("../../libs/utils"),ckvt=require("../../libs/ckvt"),async=require("async"),moment=require("moment"),cart=function($router$$){(new controller($router$$,model,"cart",{requireRecaptchaToken:!1,notNeedRight:!0,sort:{stt:1,user:1},onFinding:($user$$,
|
|
2
|
+
$condition$$,$next$$)=>{$condition$$.user_created=$user$$.email;$next$$(null,$condition$$)},onView:($user$$,$result$$,$fn$$)=>{async.parallel({app:$callback$$=>{$result$$.joinModel2(null,App,{where:{id_app_vt:"_id"},fields:[{name_app_vt:"name"}]},function($kq$$){$callback$$(null,$kq$$)})},user:$callback$$=>{$result$$.joinModel2(null,User,{where:{user:"email"},fields:[{user_name:"name"},{partner:"partner"}]},function($kq$$){$callback$$(null,$kq$$)})},vt:$callback$jscomp$0$$=>{$result$$.joinModel2(null,
|
|
3
|
+
Dmvt,{where:{ma_vt:"ma_vt",id_app_vt:"id_app"},fields:["ten_vt","picture_thumb","picture","ma_danh_muc",{gia_ban_le0:"gia_ban_le0"},"chieu_cao","chieu_rong","chieu_sau","trong_luong","kg_kiem_tra_ton_kho_tt","ton_kho_online_hien_tai"]},function($kq$$){setImmediate(async()=>{async.map($result$$.filter($item$$=>$item$$.ton_kho_online_hien_tai),($item$$,$callback$$)=>{setImmediate(async()=>{if($item$$.kg_kiem_tra_ton_kho_tt){if($item$$.ma_dvt){var $ds_kho_online_dvtqd$$=await global.getModel("dmqddvt").findOne({id_app:$item$$.id_app_vt,
|
|
4
|
+
ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt}).lean();$ds_kho_online_dvtqd$$&&($item$$.ton=$ds_kho_online_dvtqd$$.tu&&$ds_kho_online_dvtqd$$.mau?utils.round($item$$.ton_kho_online_hien_tai*$ds_kho_online_dvtqd$$.mau/$ds_kho_online_dvtqd$$.tu,4):utils.round($item$$.ton_kho_online_hien_tai/($ds_kho_online_dvtqd$$.ty_le_qd||1),4))}$callback$$()}else{$ds_kho_online_dvtqd$$=(await global.getModel("dmkho").find({id_app:$item$$.id_app_vt,la_kho_online:!0},{ma_kho:1}).lean()).map($k$$=>$k$$.ma_kho);let $condition$$=
|
|
5
|
+
{ma_vt:$item$$.ma_vt,id_app:$item$$.id_app_vt};$item$$.ma_tt1&&($condition$$.ma_tt1=$item$$.ma_tt1);$item$$.ma_tt2&&($condition$$.ma_tt2=$item$$.ma_tt2);$item$$.ma_tt3&&($condition$$.ma_tt3=$item$$.ma_tt3);$condition$$.groupBy=["ma_vt"];$condition$$.ngay=new Date;$condition$$.ma_kho={$in:$ds_kho_online_dvtqd$$};ckvt($condition$$,async function($dvtqd$$,$rs$$){$item$$.ton=$rs$$.map($r$$=>$r$$.ton00||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$$.ma_dvt&&($dvtqd$$=await global.getModel("dmqddvt").findOne({id_app:$item$$.id_app_vt,
|
|
6
|
+
ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt}).lean())&&($item$$.ton=$dvtqd$$.tu&&$dvtqd$$.mau?utils.round($item$$.ton*$dvtqd$$.mau/$dvtqd$$.tu,4):utils.round($item$$.ton/($dvtqd$$.ty_le_qd||1),4));$callback$$()})}})},()=>{$callback$jscomp$0$$(null,$kq$$)})})})},giaban:$callback$jscomp$0$$=>{async.map($result$$,($item$$,$callback$$)=>{if($item$$.km_yn_for&&"SO1"===$item$$.km_yn_for.toUpperCase())return $callback$$();let $condition$$={ma_vt:$item$$.ma_vt,id_app:$item$$.id_app_vt};$item$$.ma_tt1&&($condition$$.ma_tt1=
|
|
7
|
+
$item$$.ma_tt1);$item$$.ma_tt2&&($condition$$.ma_tt2=$item$$.ma_tt2);$item$$.ma_tt3&&($condition$$.ma_tt3=$item$$.ma_tt3);$condition$$.sl_xuat=$item$$.sl_xuat;$condition$$.online=!0;getGiaBan($condition$$,($e$$,$gia$$)=>{$e$$&&console.log("error when get gia_ban on cart",$e$$);$item$$.tien_ck=0;$item$$.tien_ck_nt=0;$item$$.ty_le_ck=0;$gia$$?(delete $gia$$._id,delete $gia$$.ma_vt,delete $gia$$.ten_vt,underscore.extend($item$$,$gia$$),$item$$.gia_ban=$item$$.gia_ban_nt=$item$$.gia_ban_le,$gia$$.sl_ap_dung?
|
|
8
|
+
$item$$.tien_ck?($item$$.tien_ck=$item$$.tien_ck_nt=Math.round(($item$$.tien_ck||0)*Math.min($item$$.sl_xuat,$gia$$.sl_ap_dung)),$item$$.ty_le_ck=0):$item$$.tien_ck=$item$$.tien_ck_nt=Math.round(($item$$.ty_le_ck||0)*$item$$.gia_ban/100*Math.min($item$$.sl_xuat,$gia$$.sl_ap_dung)):$item$$.tien_ck?($item$$.tien_ck=$item$$.tien_ck_nt=Math.round(($item$$.tien_ck||0)*$item$$.sl_xuat),$item$$.ty_le_ck=0):$item$$.tien_ck=$item$$.tien_ck_nt=Math.round(($item$$.ty_le_ck||0)*$item$$.gia_ban/100*$item$$.sl_xuat),
|
|
9
|
+
$gia$$.promotion&&0<$gia$$.promotion.length&&$gia$$.promotion.forEach($p$$=>{($p$$.details_km||[]).forEach($r$$=>{$r$$.km_yn_for=`${$item$$.id_app_vt}-${$item$$.ma_vt}`})})):$item$$.gia_ban=$item$$.gia_ban_nt=$item$$.gia_ban_le0;$item$$.tien_hang=$item$$.tien_hang_nt=Math.round($item$$.gia_ban*$item$$.sl_xuat);$item$$.so_tien_max&&($item$$.tien_ck=$item$$.tien_ck_nt=Math.min($item$$.so_tien_max,$item$$.tien_ck_nt));$item$$.tien=$item$$.tien_nt=$item$$.tien_hang-($item$$.tien_ck||0);delete $item$$.ck_sl_tu2;
|
|
10
|
+
delete $item$$.exfields;delete $item$$.user_created;delete $item$$.user_updated;$callback$$(null)})},($e$$,$rs$$)=>{$callback$jscomp$0$$(null,$rs$$)})}},$error$$=>{if($error$$)return $fn$$($error$$);try{let $freeshipModel$$=global.getModel("ecompromotion_freeships"),$tu_ngay$$=moment().startOf("date").toDate(),$hieu_luc_tu$$={$lte:moment().endOf("date").toDate()},$hieu_luc_den$$={$gte:$tu_ngay$$};Promise.all($result$$.filter($i$$=>$i$$.id_app_vt).map($item$$=>(async()=>{let $freeship$$=await $freeshipModel$$.find({id_app:$item$$.id_app_vt,
|
|
11
|
+
hieu_luc_tu:$hieu_luc_tu$$,hieu_luc_den:$hieu_luc_den$$,shared:!0,trang_thai:"1",$or:[{"details.0":{$exists:!1}},{"details.ma_danh_muc":{$in:[$item$$.ma_danh_muc,null,void 0,""]},"details.ma_vt":{$in:[$item$$.ma_vt,"",null,void 0]}}]}).lean();$item$$.freeship=$freeship$$})())).then(()=>{$fn$$(null,$result$$)}).catch($e$$=>{console.error($e$$);$fn$$(null,$result$$)})}catch($e$$){console.error($e$$),$fn$$(null,$result$$)}})}})).route()};module.exports=cart;
|
|
@@ -1,30 +1,35 @@
|
|
|
1
1
|
'use strict';const model=global.getModel("dmvt"),controller=require("../../controllers/controller"),Dmtk=global.getModel("account"),Dmdvt=global.getModel("dmdvt"),Dmnvt=global.getModel("dmnvt"),Dmtt=global.getModel("dmtt"),ckvt=require("../../libs/ckvt"),Dmqddvt=global.getModel("dmqddvt"),Dmchietkhau=global.getModel("dmchietkhau"),Dmkh=global.getModel("customer"),So1=global.getModel("so1"),async=require("async"),underscore=require("underscore"),getGiaBan=require("../../libs/getGiaban"),counter=global.getModel("counter"),
|
|
2
|
-
moment=require("moment"),_=require("lodash"),getAllChildrenGroup=async $chil_ma_nvt_nh_vt_cons$$=>{let $rs$$=[$chil_ma_nvt_nh_vt_cons$$];$chil_ma_nvt_nh_vt_cons$$=(await Dmnvt.find({nh_me:$chil_ma_nvt_nh_vt_cons$$,status:!0},{_id:1}).lean()).map($d$$=>$d$$._id);0<$chil_ma_nvt_nh_vt_cons$$.length&&($chil_ma_nvt_nh_vt_cons$$=await Promise.all($chil_ma_nvt_nh_vt_cons$$.map($nh$$=>getAllChildrenGroup($nh$$))),$chil_ma_nvt_nh_vt_cons$$=$chil_ma_nvt_nh_vt_cons$$.reduce(($a
|
|
3
|
-
$rs$$=[...$chil_ma_nvt_nh_vt_cons$$,...$rs$$]);return $rs$$},getAllEcomcategories=async $chil$jscomp$1_ma_danh_muc_nh_vt_cons$$=>{let $rs$$=[$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$];$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$=(await global.getModel("ecomcategories").find({danh_muc_me:$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$,status:!0},{ma_danh_muc:1}).lean()).map($d$$=>$d$$.ma_danh_muc);0<$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$.length&&($chil$jscomp$1_ma_danh_muc_nh_vt_cons$$=
|
|
4
|
-
getAllEcomcategories($nh$$))),$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$=$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]),$rs$$=[...$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$,...$rs$$]);return $rs$$},TinhGiaBan=($item$$,$callback$jscomp$0$$,$options$$,$user$$)=>{let $condition$$={ma_vt:$item$$.ma_vt,id_app:$item$$.id_app,vt:$item$$};$item$$.ma_tt&&($condition$$[`ma_tt${$item$$.loai_tt||1}`]=$item$$.ma_tt)
|
|
5
|
-
($condition$$.ma_kho=$options$$.req.query.ma_kho),$options$$.req.query.ma_ban&&($condition$$.ma_ban=$options$$.req.query.ma_ban),$options$$.req.query.ma_kh&&($condition$$.ma_kh=$options$$.req.query.ma_kh),$options$$.req.query.nh_kh&&($condition$$.nh_kh=$options$$.req.query.nh_kh),$options$$.req.query.by_user&&($condition$$.user=$user$$),$options$$.req.query.online&&($condition$$.online=$options$$.req.query.online));setImmediate(()=>
|
|
6
|
-
$e$$,$condition$$),$callback$jscomp$0$$(null);$gia$$?(delete $gia$$._id,delete $gia$$.ma_vt,delete $gia$$.ten_vt,underscore.extend($item$$,$gia$$),$gia$$.promotion&&0<$gia$$.promotion.length?async.map($gia$$.promotion,($p$$,$callback$$)=>{($p$$.details_km||[]).joinModel2($item$$.id_app,model,{where:"ma_vt",fields:"ma_dvt"},function($rs$$){$p$$.details_km.forEach($r$$=>
|
|
7
|
-
$callback$jscomp$0$$(null)})})};
|
|
2
|
+
moment=require("moment"),_=require("lodash"),utils=require("../../libs/utils"),getAllChildrenGroup=async $chil_ma_nvt_nh_vt_cons$$=>{let $rs$$=[$chil_ma_nvt_nh_vt_cons$$];$chil_ma_nvt_nh_vt_cons$$=(await Dmnvt.find({nh_me:$chil_ma_nvt_nh_vt_cons$$,status:!0},{_id:1}).lean()).map($d$$=>$d$$._id);0<$chil_ma_nvt_nh_vt_cons$$.length&&($chil_ma_nvt_nh_vt_cons$$=await Promise.all($chil_ma_nvt_nh_vt_cons$$.map($nh$$=>getAllChildrenGroup($nh$$))),$chil_ma_nvt_nh_vt_cons$$=$chil_ma_nvt_nh_vt_cons$$.reduce(($a$$,
|
|
3
|
+
$b$$)=>$a$$.concat($b$$),[]),$rs$$=[...$chil_ma_nvt_nh_vt_cons$$,...$rs$$]);return $rs$$},getAllEcomcategories=async $chil$jscomp$1_ma_danh_muc_nh_vt_cons$$=>{let $rs$$=[$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$];$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$=(await global.getModel("ecomcategories").find({danh_muc_me:$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$,status:!0},{ma_danh_muc:1}).lean()).map($d$$=>$d$$.ma_danh_muc);0<$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$.length&&($chil$jscomp$1_ma_danh_muc_nh_vt_cons$$=
|
|
4
|
+
await Promise.all($chil$jscomp$1_ma_danh_muc_nh_vt_cons$$.map($nh$$=>getAllEcomcategories($nh$$))),$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$=$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]),$rs$$=[...$chil$jscomp$1_ma_danh_muc_nh_vt_cons$$,...$rs$$]);return $rs$$},TinhGiaBan=($item$$,$callback$jscomp$0$$,$options$$,$user$$)=>{let $condition$$={ma_vt:$item$$.ma_vt,id_app:$item$$.id_app,vt:$item$$};$item$$.ma_tt&&($condition$$[`ma_tt${$item$$.loai_tt||1}`]=$item$$.ma_tt);
|
|
5
|
+
$options$$&&$options$$.req&&$options$$.req.query&&($options$$.req.query.ma_kho&&($condition$$.ma_kho=$options$$.req.query.ma_kho),$options$$.req.query.ma_ban&&($condition$$.ma_ban=$options$$.req.query.ma_ban),$options$$.req.query.ma_kh&&($condition$$.ma_kh=$options$$.req.query.ma_kh),$options$$.req.query.nh_kh&&($condition$$.nh_kh=$options$$.req.query.nh_kh),$options$$.req.query.by_user&&($condition$$.user=$user$$),$options$$.req.query.online&&($condition$$.online=$options$$.req.query.online));setImmediate(()=>
|
|
6
|
+
{getGiaBan($condition$$,($e$$,$gia$$)=>{if($e$$)return console.error("error when get gia_ban on dmvt",$e$$,$condition$$),$callback$jscomp$0$$(null);$gia$$?(delete $gia$$._id,delete $gia$$.ma_vt,delete $gia$$.ten_vt,underscore.extend($item$$,$gia$$),$gia$$.promotion&&0<$gia$$.promotion.length?async.map($gia$$.promotion,($p$$,$callback$$)=>{($p$$.details_km||[]).joinModel2($item$$.id_app,model,{where:"ma_vt",fields:["ma_dvt","chieu_cao","chieu_rong","chieu_sau","trong_luong"]},function($rs$$){$p$$.details_km.forEach($r$$=>
|
|
7
|
+
{$r$$.km_yn_for=`${$item$$.id_app}-${$item$$.ma_vt}`});$callback$$(null,$rs$$)})},()=>{$callback$jscomp$0$$(null)}):$callback$jscomp$0$$(null)):$callback$jscomp$0$$(null)})})};
|
|
8
8
|
module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,"dmvt",{sort:{ma_vt:1},unique:["ma_vt"],onFinding:($user$$,$condition$$,$next$$,$options$$)=>{$options$$.req.query.show_properties||($options$$.req.query.show_properties=$condition$$.show_properties);$options$$.req.query.by_user||($options$$.req.query.by_user=$condition$$.by_user);$options$$.req.query.online||($options$$.req.query.online=$condition$$.online);$options$$.req.query.show_quantity_in_stock||($options$$.req.query.show_quantity_in_stock=
|
|
9
|
-
$condition$$.show_quantity_in_stock);delete $condition$$.show_properties;delete $condition$$.by_user;delete $condition$$.show_quantity_in_stock;delete $condition$$.online;async.parallel({barcode:$callback$jscomp$0$$=>{if($condition$$.ma_vt2&&!$condition$$.ma_vt&&$options$$&&$options$$.req&&$options$$.req.query&&$options$$.req.query.show_properties){if(underscore.isArray($condition$$.ma_vt2)&&
|
|
10
|
-
id_app:$condition$$.id_app},{ma_vt:1}).lean().exec(($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$.map($r$$=>$r$$.ma_vt))})},vt:$callback$$=>{model.find({ma_vt2:$condition$$.ma_vt2,id_app:$condition$$.id_app},{ma_vt:1}).lean().exec(($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$.map($r$$=>$r$$.ma_vt))})}},($e$$,$rs$$)=>{if($e$$)return $callback$jscomp$0$$($e$$);
|
|
11
|
-
{$in:$e$$};$callback$jscomp$0$$()})}else $callback$jscomp$0$$()},nhom:$callback$$=>{$condition$$.ma_nvt&&"object"!==typeof $condition$$.ma_nvt?getAllChildrenGroup($condition$$.ma_nvt).then($nh_vt$$=>{$condition$$.ma_nvt={$in:[...(new Set($nh_vt$$))]};$callback$$()}):$callback$$()},danhmuc:$callback$$=>{$condition$$.ma_danh_muc&&"object"!==typeof $condition$$.ma_danh_muc?getAllEcomcategories($condition$$.ma_danh_muc).then($nh_vt$$=>
|
|
12
|
-
$callback$$()},discount:$callback$$=>{if($condition$$.has_discount){let $_q$$={};$condition$$.id_app&&($_q$$.id_app=$condition$$.id_app);var $hieu_luc_den_tu_ngay$$=moment().startOf("date").toDate();let $hieu_luc_tu$$={$lte:moment().endOf("date").toDate()};$hieu_luc_den_tu_ngay$$={$gte:$hieu_luc_den_tu_ngay$$};$_q$$.hieu_luc_tu=$hieu_luc_tu$$;$_q$$.hieu_luc_den=$hieu_luc_den_tu_ngay$$;$condition$$.ma_vt&&($_q$$.ma_vt=$condition$$.ma_vt);
|
|
13
|
-
|
|
14
|
-
console.log("find dmvt",$condition$$);$next$$(null,$condition$$)})}});$contr_router$$.route();$contr_router$$.validating=($user$$,$obj$$,$next$$)=>{$obj$$.ma_vt?$next$$(null,$obj$$):counter.getNextSequence($user$$.current_id_app,"DMVT","ma_vt",function($error$$,$sequence$$){$error$$&&($sequence$$=0);$sequence$$=$sequence$$.toString();$obj$$.ma_vt="SP"+"00000000".substring(0,8-$sequence$$.length)+$sequence$$;$next$$(null,$obj$$)})}
|
|
15
|
-
0<$obj$$.combo.length&&($obj$$.tg_tk=!1);if($obj$$.ma_can&&await model.findOne({ma_can:$obj$$.ma_can,id_app:$user$$.current_id_app},{_id:1}))return $next$$("M\u00e3 c\u00e2n \u0111\u00e3 t\u1ed3n t\u1ea1i");if($obj$$.ma_vt2&&await model.findOne({ma_vt2:$obj$$.ma_vt2,id_app:$user$$.current_id_app},{_id:1}))return $next$$("M\u00e3 v\u1eadt t\u01b0 2 \u0111\u00e3 t\u1ed3n t\u1ea1i");$next$$(null,$obj$$)};$contr_router$$.updating=
|
|
16
|
-
($data$$.tg_tk=!1);$data$$.ma_vt=$data$$.ma_vt||$obj$$.ma_vt;if($data$$.ma_can&&$data$$.ma_can!==$obj$$.ma_can&&await model.findOne({ma_can:$data$$.ma_can,id_app:$obj$$.id_app},{_id:1}))return $next$$("M\u00e3 c\u00e2n \u0111\u00e3 t\u1ed3n t\u1ea1i");if($data$$.ma_vt2&&$data$$.ma_vt2!==$obj$$.ma_vt2&&await model.findOne({ma_vt2:$data$$.ma_vt2,id_app:$obj$$.id_app},{_id:1}))return $next$$("M\u00e3 v\u1eadt t\u01b0 2 \u0111\u00e3 t\u1ed3n t\u1ea1i")
|
|
17
|
-
function($user$$,$items$$,$fn$$,$options$$){async.parallel([function($callback$$){$items$$.filter($item$$=>$item$$.tk_vt).joinModel2(null,Dmtk,[{where:{id_app:"id_app",tk_vt:"tk"},fields:[{name:"ten_tk_vt",value:"ten_tk"}]},{where:{id_app:"id_app",tk_dt:"tk"},fields:[{name:"ten_tk_dt",value:"ten_tk"}]},{where:{id_app:"id_app",tk_gv:"tk"},fields:[{name:"ten_tk_gv",value:"ten_tk"}]},{where:{id_app:"id_app",tk_tl:"tk"},fields:[{name:"ten_tk_tl",value:"ten_tk"}]},
|
|
18
|
-
value:"ten_tk"}]}],function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){$items$$.filter($i$$=>$i$$.ma_nvt).joinModel2(null,Dmnvt,[{akey:"ma_nvt",bkey:"_id",fields:[{name:"ten_nvt",value:"ten_nvt"}]}],function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){$items$$.filter($i$$=>$i$$.ma_ncc).joinModel2(null,Dmkh,[{where:{id_app:"id_app",ma_ncc:"ma_kh"},fields:[{name:"ten_ncc",value:"ten_kh"}]}],function($rs$$){$callback$$(null
|
|
19
|
-
$i$$.id_app&&$i$$.ma_dvt).map($item$$=>(async()=>{let $dvtqd$$=await Dmqddvt.findOne({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt});$dvtqd$$?$dvtqd$$.tu||$dvtqd$$.mau||($dvtqd$$.tu=1,$dvtqd$$.mau=1):$dvtqd$$=await Dmqddvt.create({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt,ty_le_qd:1,tu:1,mau:1});return $dvtqd$$})())).then(()=>{$callback$$(null,$items$$)}).catch($e$$=>{console.error("Error create qddvt"
|
|
20
|
-
global.getModel("ecompromotion_freeships"),$tu_ngay$$=moment().startOf("date").toDate(),$hieu_luc_tu$$={$lte:moment().endOf("date").toDate()},$hieu_luc_den$$={$gte:$tu_ngay$$};Promise.all($items$$.filter($i$$=>$i$$.id_app).map($item$$=>(async()=>{let $freeship$$=await $freeshipModel$$.find({id_app:$item$$.id_app,hieu_luc_tu:$hieu_luc_tu$$,hieu_luc_den:$hieu_luc_den$$,shared:!0,trang_thai:"1",$or:[{"details.0":{$exists:!1}},
|
|
21
|
-
"",null,void 0]}}]}).lean();$item$$.freeship=$freeship$$})())).then(()=>{$callback$$(null,$items$$)}).catch($e$$=>{console.error($e$$);$callback$$(null,$items$$)})}catch($e$$){console.error($e$$),$callback$$(null,$items$$)}},function($callback$$){try{let $flashsale$$=global.getModel("ecompromotion_flashsales"),$tu_ngay$$=moment().startOf("date").toDate(),$hieu_luc_tu$$={$lte:moment().endOf("date").toDate()}
|
|
22
|
-
(async()=>{let $fs$$=await $flashsale$$.find({id_app:$item$$.id_app,tu_ngay:$hieu_luc_tu$$,den_ngay:$hieu_luc_den$$,shared:!0,trang_thai:"1",$or:[{"details.0":{$exists:!1}},{"details.ma_danh_muc":{$in:[$item$$.ma_danh_muc,null,void 0,""]},"details.ma_vt":{$in:[$item$$.ma_vt,"",null,void 0]}}]}).lean();$item$$.flashsales=$fs$$})())).then(()=>{$callback$$(null,$items$$)}).catch($e$$=>{console.error($e$$);$callback$$(null
|
|
23
|
-
$item$$.is_digital).map($item$$=>(async()=>{var $kh_so1$$=await Dmkh.findOne({of_user:$user$$.email,id_app:$item$$.id_app});if($kh_so1$$){if($kh_so1$$=await So1.findOne({id_app:$item$$.id_app,details:{$elemMatch:{ma_vt:$item$$.ma_vt}},ma_kh:$kh_so1$$.ma_kh,trang_thai:"5"}))$item$$.owned=!0;return $kh_so1$$}})())).then(()=>{$callback$$(null,$items$$)}).catch(()=>{$callback$$(null
|
|
24
|
-
async.map($items$$,async $item$$=>{$item$$.ds_thuoc_tinh=await Dmtt.find({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,status:!0}).lean();return $item$$},()=>{$callback$$()}):$callback$$()},function($callback$$){$items$$.forEach(function($r$$){$r$$.picture&&($r$$.picture_thumb=$r$$.picture);$r$$.picture2&&($r$$.picture2_thumb=$r$$.picture2);$r$$.picture3&&($r$$.picture3_thumb=$r$$.picture3)
|
|
25
|
-
$i$$.ma_dvt).joinModel2(null,Dmdvt,[{where:{id_app:"id_app",ma_dvt:"ma_dvt"},fields:[{name:"ten_dvt",value:"ten_dvt"}]}],function($rs$$){$callback$$(null,$rs$$)})}],function(){
|
|
26
|
-
$_new_item$$.loai_tt=$tt$$.loai_tt;$_new_item$$[`ma_tt${$tt$$.loai_tt}`]=$tt$$.ma_tt;$_new_item$$.nh_tt=$tt$$.nh_tt;$_new_item$$.ma_dvt=$tt$$.ma_dvt||$_new_item$$.ma_dvt;$_new_item$$.ma_can=$tt$$.ma_can||$_new_item$$.ma_can;$_new_item$$.ma_vt2=$tt$$.ma_tt2||$_new_item$$.ma_vt2;$_new_item$$.gia_ban_le=$tt$$.gia_ban_le||$_new_item$$.gia_ban_le;delete $_new_item$$.ds_thuoc_tinh;return $_new_item$$}).sort(($a$$,$b$$)=>$a$$.gia_ban_le-$b$$.gia_ban_le);if($options$$.req.query.online){let $ds_thuoc_tinh$$=
|
|
9
|
+
$condition$$.show_quantity_in_stock);$options$$.req.query.ma_kho||($options$$.req.query.ma_kho=$condition$$.ma_kho);delete $condition$$.show_properties;delete $condition$$.by_user;delete $condition$$.show_quantity_in_stock;delete $condition$$.online;delete $condition$$.ma_kho;async.parallel({barcode:$callback$jscomp$0$$=>{if($condition$$.ma_vt2&&!$condition$$.ma_vt&&$options$$&&$options$$.req&&$options$$.req.query&&$options$$.req.query.show_properties){if(underscore.isArray($condition$$.ma_vt2)&&
|
|
10
|
+
0===$condition$$.ma_vt2.length)return $callback$jscomp$0$$();async.parallel({tt:$callback$$=>{Dmtt.find({ma_tt2:$condition$$.ma_vt2,id_app:$condition$$.id_app},{ma_vt:1}).lean().exec(($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$.map($r$$=>$r$$.ma_vt))})},vt:$callback$$=>{model.find({ma_vt2:$condition$$.ma_vt2,id_app:$condition$$.id_app},{ma_vt:1}).lean().exec(($e$$,$rs$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$rs$$.map($r$$=>$r$$.ma_vt))})}},($e$$,$rs$$)=>{if($e$$)return $callback$jscomp$0$$($e$$);
|
|
11
|
+
delete $condition$$.ma_vt2;$e$$=[...(new Set($rs$$.tt.concat($rs$$.vt)))];$condition$$.ma_vt={$in:$e$$};$callback$jscomp$0$$()})}else $callback$jscomp$0$$()},nhom:$callback$$=>{$condition$$.ma_nvt&&"object"!==typeof $condition$$.ma_nvt?getAllChildrenGroup($condition$$.ma_nvt).then($nh_vt$$=>{$condition$$.ma_nvt={$in:[...(new Set($nh_vt$$))]};$callback$$()}):$callback$$()},danhmuc:$callback$$=>{$condition$$.ma_danh_muc&&"object"!==typeof $condition$$.ma_danh_muc?getAllEcomcategories($condition$$.ma_danh_muc).then($nh_vt$$=>
|
|
12
|
+
{$condition$$.ma_danh_muc={$in:[...(new Set($nh_vt$$))]};$callback$$()}):$callback$$()},discount:$callback$$=>{if($condition$$.has_discount){let $_q$$={};$condition$$.id_app&&($_q$$.id_app=$condition$$.id_app);var $hieu_luc_den_tu_ngay$$=moment().startOf("date").toDate();let $hieu_luc_tu$$={$lte:moment().endOf("date").toDate()};$hieu_luc_den_tu_ngay$$={$gte:$hieu_luc_den_tu_ngay$$};$_q$$.hieu_luc_tu=$hieu_luc_tu$$;$_q$$.hieu_luc_den=$hieu_luc_den_tu_ngay$$;$condition$$.ma_vt&&($_q$$.ma_vt=$condition$$.ma_vt);
|
|
13
|
+
Dmchietkhau.find($_q$$,{ma_vt:1,ma_nvt:1}).lean().exec(($_ma_vt_e$$,$$or__ma_nvt_rs$$)=>{$$or__ma_nvt_rs$$&&($_ma_vt_e$$=$$or__ma_nvt_rs$$.filter($r$$=>$r$$.ma_vt).map($r$$=>$r$$.ma_vt),$$or__ma_nvt_rs$$=$$or__ma_nvt_rs$$.filter($r$$=>$r$$.ma_nvt&&!$r$$.ma_vt).map($r$$=>$r$$.ma_nvt),$$or__ma_nvt_rs$$=[{ma_vt:{$in:$_ma_vt_e$$}},{ma_nvt:{$in:$$or__ma_nvt_rs$$}}],$condition$$.$and?$condition$$.$and.push({$or:$$or__ma_nvt_rs$$}):$condition$$.$and=[{$or:$$or__ma_nvt_rs$$}]);$callback$$()})}else $callback$$()}},
|
|
14
|
+
$e$$=>{if($e$$)return $next$$($e$$);delete $condition$$.has_discount;console.log("find dmvt",$condition$$);$next$$(null,$condition$$)})}});$contr_router$$.route();$contr_router$$.validating=($user$$,$obj$$,$next$$)=>{$obj$$.ma_vt?$next$$(null,$obj$$):counter.getNextSequence($user$$.current_id_app,"DMVT","ma_vt",function($error$$,$sequence$$){$error$$&&($sequence$$=0);$sequence$$=$sequence$$.toString();$obj$$.ma_vt="SP"+"00000000".substring(0,8-$sequence$$.length)+$sequence$$;$next$$(null,$obj$$)})};
|
|
15
|
+
$contr_router$$.creating=async function($user$$,$obj$$,$next$$){$obj$$.combo&&0<$obj$$.combo.length&&($obj$$.tg_tk=!1);if($obj$$.ma_can&&await model.findOne({ma_can:$obj$$.ma_can,id_app:$user$$.current_id_app},{_id:1}))return $next$$("M\u00e3 c\u00e2n \u0111\u00e3 t\u1ed3n t\u1ea1i");if($obj$$.ma_vt2&&await model.findOne({ma_vt2:$obj$$.ma_vt2,id_app:$user$$.current_id_app},{_id:1}))return $next$$("M\u00e3 v\u1eadt t\u01b0 2 \u0111\u00e3 t\u1ed3n t\u1ea1i");$next$$(null,$obj$$)};$contr_router$$.updating=
|
|
16
|
+
async function($user$$,$data$$,$obj$$,$next$$){$data$$.combo&&0<$data$$.combo.length&&($data$$.tg_tk=!1);$data$$.ma_vt=$data$$.ma_vt||$obj$$.ma_vt;if($data$$.ma_can&&$data$$.ma_can!==$obj$$.ma_can&&await model.findOne({ma_can:$data$$.ma_can,id_app:$obj$$.id_app},{_id:1}))return $next$$("M\u00e3 c\u00e2n \u0111\u00e3 t\u1ed3n t\u1ea1i");if($data$$.ma_vt2&&$data$$.ma_vt2!==$obj$$.ma_vt2&&await model.findOne({ma_vt2:$data$$.ma_vt2,id_app:$obj$$.id_app},{_id:1}))return $next$$("M\u00e3 v\u1eadt t\u01b0 2 \u0111\u00e3 t\u1ed3n t\u1ea1i");
|
|
17
|
+
$next$$(null,$data$$,$obj$$)};$contr_router$$.view=function($user$$,$items$$,$fn$$,$options$$){async.parallel([function($callback$$){$items$$.filter($item$$=>$item$$.tk_vt).joinModel2(null,Dmtk,[{where:{id_app:"id_app",tk_vt:"tk"},fields:[{name:"ten_tk_vt",value:"ten_tk"}]},{where:{id_app:"id_app",tk_dt:"tk"},fields:[{name:"ten_tk_dt",value:"ten_tk"}]},{where:{id_app:"id_app",tk_gv:"tk"},fields:[{name:"ten_tk_gv",value:"ten_tk"}]},{where:{id_app:"id_app",tk_tl:"tk"},fields:[{name:"ten_tk_tl",value:"ten_tk"}]},
|
|
18
|
+
{where:{id_app:"id_app",tk_dl:"tk"},fields:[{name:"ten_tk_dl",value:"ten_tk"}]}],function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){$items$$.filter($i$$=>$i$$.ma_nvt).joinModel2(null,Dmnvt,[{akey:"ma_nvt",bkey:"_id",fields:[{name:"ten_nvt",value:"ten_nvt"}]}],function($rs$$){$callback$$(null,$rs$$)})},function($callback$$){$items$$.filter($i$$=>$i$$.ma_ncc).joinModel2(null,Dmkh,[{where:{id_app:"id_app",ma_ncc:"ma_kh"},fields:[{name:"ten_ncc",value:"ten_kh"}]}],function($rs$$){$callback$$(null,
|
|
19
|
+
$rs$$)})},function($callback$$){Promise.all($items$$.filter($i$$=>$i$$.id_app&&$i$$.ma_dvt).map($item$$=>(async()=>{let $dvtqd$$=await Dmqddvt.findOne({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt});$dvtqd$$?$dvtqd$$.tu||$dvtqd$$.mau||($dvtqd$$.tu=1,$dvtqd$$.mau=1):$dvtqd$$=await Dmqddvt.create({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt,ty_le_qd:1,tu:1,mau:1});return $dvtqd$$})())).then(()=>{$callback$$(null,$items$$)}).catch($e$$=>{console.error("Error create qddvt",
|
|
20
|
+
$e$$.message);$callback$$(null,$items$$)})},function($callback$$){try{let $freeshipModel$$=global.getModel("ecompromotion_freeships"),$tu_ngay$$=moment().startOf("date").toDate(),$hieu_luc_tu$$={$lte:moment().endOf("date").toDate()},$hieu_luc_den$$={$gte:$tu_ngay$$};Promise.all($items$$.filter($i$$=>$i$$.id_app).map($item$$=>(async()=>{let $freeship$$=await $freeshipModel$$.find({id_app:$item$$.id_app,hieu_luc_tu:$hieu_luc_tu$$,hieu_luc_den:$hieu_luc_den$$,shared:!0,trang_thai:"1",$or:[{"details.0":{$exists:!1}},
|
|
21
|
+
{"details.ma_danh_muc":{$in:[$item$$.ma_danh_muc,null,void 0,""]},"details.ma_vt":{$in:[$item$$.ma_vt,"",null,void 0]}}]}).lean();$item$$.freeship=$freeship$$})())).then(()=>{$callback$$(null,$items$$)}).catch($e$$=>{console.error($e$$);$callback$$(null,$items$$)})}catch($e$$){console.error($e$$),$callback$$(null,$items$$)}},function($callback$$){try{let $flashsale$$=global.getModel("ecompromotion_flashsales"),$tu_ngay$$=moment().startOf("date").toDate(),$hieu_luc_tu$$={$lte:moment().endOf("date").toDate()},
|
|
22
|
+
$hieu_luc_den$$={$gte:$tu_ngay$$};Promise.all($items$$.filter($i$$=>$i$$.id_app).map($item$$=>(async()=>{let $fs$$=await $flashsale$$.find({id_app:$item$$.id_app,tu_ngay:$hieu_luc_tu$$,den_ngay:$hieu_luc_den$$,shared:!0,trang_thai:"1",$or:[{"details.0":{$exists:!1}},{"details.ma_danh_muc":{$in:[$item$$.ma_danh_muc,null,void 0,""]},"details.ma_vt":{$in:[$item$$.ma_vt,"",null,void 0]}}]}).lean();$item$$.flashsales=$fs$$})())).then(()=>{$callback$$(null,$items$$)}).catch($e$$=>{console.error($e$$);$callback$$(null,
|
|
23
|
+
$items$$)})}catch($e$$){console.error($e$$),$callback$$(null,$items$$)}},function($callback$$){Promise.all($items$$.filter($item$$=>$item$$.is_digital).map($item$$=>(async()=>{var $kh_so1$$=await Dmkh.findOne({of_user:$user$$.email,id_app:$item$$.id_app});if($kh_so1$$){if($kh_so1$$=await So1.findOne({id_app:$item$$.id_app,details:{$elemMatch:{ma_vt:$item$$.ma_vt}},ma_kh:$kh_so1$$.ma_kh,trang_thai:"5"}))$item$$.owned=!0;return $kh_so1$$}})())).then(()=>{$callback$$(null,$items$$)}).catch(()=>{$callback$$(null,
|
|
24
|
+
$items$$)})},function($callback$$){$options$$&&$options$$.req&&$options$$.req.query&&$options$$.req.query.show_properties?async.map($items$$,async $item$$=>{$item$$.ds_thuoc_tinh=await Dmtt.find({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,status:!0}).lean();return $item$$},()=>{$callback$$()}):$callback$$()},function($callback$$){$items$$.forEach(function($r$$){$r$$.picture&&($r$$.picture_thumb=$r$$.picture);$r$$.picture2&&($r$$.picture2_thumb=$r$$.picture2);$r$$.picture3&&($r$$.picture3_thumb=$r$$.picture3);
|
|
25
|
+
$r$$.picture4&&($r$$.picture4_thumb=$r$$.picture4);$r$$.picture5&&($r$$.picture5_thumb=$r$$.picture5)});$items$$.filter($i$$=>$i$$.ma_dvt).joinModel2(null,Dmdvt,[{where:{id_app:"id_app",ma_dvt:"ma_dvt"},fields:[{name:"ten_dvt",value:"ten_dvt"}]}],function($rs$$){$callback$$(null,$rs$$)})}],function(){let $result$$=$items$$.map($item$$=>{if($item$$.ds_thuoc_tinh&&0<$item$$.ds_thuoc_tinh.length){let $_new_items$$=$item$$.ds_thuoc_tinh.map($tt$$=>{let $_new_item$$={...$item$$};$_new_item$$.ma_tt=$tt$$.ma_tt;
|
|
26
|
+
$_new_item$$.ten_tt=$tt$$.ten_tt;$_new_item$$.loai_tt=$tt$$.loai_tt;$_new_item$$[`ma_tt${$tt$$.loai_tt}`]=$tt$$.ma_tt;$_new_item$$.nh_tt=$tt$$.nh_tt;$_new_item$$.ma_dvt=$tt$$.ma_dvt||$_new_item$$.ma_dvt;$_new_item$$.ma_can=$tt$$.ma_can||$_new_item$$.ma_can;$_new_item$$.ma_vt2=$tt$$.ma_tt2||$_new_item$$.ma_vt2;$_new_item$$.gia_ban_le=$tt$$.gia_ban_le||$_new_item$$.gia_ban_le;delete $_new_item$$.ds_thuoc_tinh;return $_new_item$$}).sort(($a$$,$b$$)=>$a$$.gia_ban_le-$b$$.gia_ban_le);if($options$$.req.query.online){let $ds_thuoc_tinh$$=
|
|
27
27
|
_.cloneDeep($_new_items$$);$_new_items$$.forEach($r$$=>{$r$$.ds_thuoc_tinh=$ds_thuoc_tinh$$});return[$_new_items$$[0]]}return $_new_items$$}return[$item$$]}).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);async.map($result$$,($item$jscomp$0$$,$callback$jscomp$1$$)=>{$item$jscomp$0$$.ty_le_ck=0;$item$jscomp$0$$.tien_ck=0;$item$jscomp$0$$.id_app?async.parallel({giaban:$callback$$=>{TinhGiaBan($item$jscomp$0$$,$callback$$,$options$$,$user$$)},gia_ban_thuoc_tinh:$callback$jscomp$0$$=>{$item$jscomp$0$$.ds_thuoc_tinh&&
|
|
28
|
-
0<$item$jscomp$0$$.ds_thuoc_tinh.length?async.map($item$jscomp$0$$.ds_thuoc_tinh,($item$$,$callback$$)=>{TinhGiaBan($item$$,$callback$$,$options$$,$user$$)},()=>{$callback$jscomp$0$$()}):$callback$jscomp$0$$()},
|
|
29
|
-
|
|
30
|
-
$
|
|
28
|
+
0<$item$jscomp$0$$.ds_thuoc_tinh.length?async.map($item$jscomp$0$$.ds_thuoc_tinh,($item$$,$callback$$)=>{TinhGiaBan($item$$,$callback$$,$options$$,$user$$)},()=>{$callback$jscomp$0$$()}):$callback$jscomp$0$$()},ton_dvt:$callback$$=>{$item$jscomp$0$$.ton_kho_online_hien_tai&&$item$jscomp$0$$.ma_dvt?setImmediate(async()=>{let $dvtqd$$=await Dmqddvt.findOne({id_app:$item$jscomp$0$$.id_app,ma_vt:$item$jscomp$0$$.ma_vt,ma_dvt:$item$jscomp$0$$.ma_dvt});$dvtqd$$&&($item$jscomp$0$$.ton_kho_online_hien_tai_dvt=
|
|
29
|
+
$dvtqd$$.tu&&$dvtqd$$.mau?utils.round($item$jscomp$0$$.ton_kho_online_hien_tai*$dvtqd$$.mau/$dvtqd$$.tu,4):utils.round($item$jscomp$0$$.ton_kho_online_hien_tai/($dvtqd$$.ty_le_qd||1),4));$callback$$()}):$callback$$()},ton_tt:$callback$jscomp$0$$=>{$item$jscomp$0$$.ds_thuoc_tinh?setImmediate(async()=>{let $ds_kho_online$$=(await global.getModel("dmkho").find({id_app:$item$jscomp$0$$.id_app,la_kho_online:!0},{ma_kho:1}).lean()).map($k$$=>$k$$.ma_kho);async.map($item$jscomp$0$$.ds_thuoc_tinh.filter($item$$=>
|
|
30
|
+
$item$$.ma_vt&&$item$$.ton_kho_online_hien_tai),($item$$,$callback$$)=>{setImmediate(async()=>{if($item$$.kg_kiem_tra_ton_kho_tt){if($item$$.ma_dvt){var $condition$jscomp$4_dvtqd$$=await Dmqddvt.findOne({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt}).lean();$condition$jscomp$4_dvtqd$$&&($item$$.ton_kho_online_hien_tai_dvt=$condition$jscomp$4_dvtqd$$.tu&&$condition$jscomp$4_dvtqd$$.mau?utils.round($item$$.ton_kho_online_hien_tai*$condition$jscomp$4_dvtqd$$.mau/$condition$jscomp$4_dvtqd$$.tu,
|
|
31
|
+
4):utils.round($item$$.ton_kho_online_hien_tai/($condition$jscomp$4_dvtqd$$.ty_le_qd||1),4))}$callback$$()}else $condition$jscomp$4_dvtqd$$={ma_vt:$item$$.ma_vt,id_app:$item$$.id_app},$item$$.ma_tt&&($condition$jscomp$4_dvtqd$$[`ma_tt${$item$$.loai_tt||1}`]=$item$$.ma_tt),$condition$jscomp$4_dvtqd$$.groupBy=["ma_vt"],$condition$jscomp$4_dvtqd$$.ngay=new Date,$condition$jscomp$4_dvtqd$$.ma_kho={$in:$ds_kho_online$$},ckvt($condition$jscomp$4_dvtqd$$,async function($dvtqd$jscomp$3_e$$,$rs$$){$item$$.ton_kho_online_hien_tai_dvt=
|
|
32
|
+
$rs$$.map($r$$=>$r$$.ton00||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$$.ma_dvt&&($dvtqd$jscomp$3_e$$=await Dmqddvt.findOne({id_app:$item$$.id_app,ma_vt:$item$$.ma_vt,ma_dvt:$item$$.ma_dvt}).lean())&&($item$$.ton_kho_online_hien_tai_dvt=$dvtqd$jscomp$3_e$$.tu&&$dvtqd$jscomp$3_e$$.mau?utils.round($item$$.ton_kho_online_hien_tai_dvt*$dvtqd$jscomp$3_e$$.mau/$dvtqd$jscomp$3_e$$.tu,4):utils.round($item$$.ton_kho_online_hien_tai_dvt/($dvtqd$jscomp$3_e$$.ty_le_qd||1),4));$callback$$()})})},()=>{$callback$jscomp$0$$()})}):
|
|
33
|
+
$callback$jscomp$0$$()},ton:$callback$$=>{if($options$$&&$options$$.req&&$options$$.req.query&&$options$$.req.query.show_quantity_in_stock){let $condition$$={ma_vt:$item$jscomp$0$$.ma_vt,id_app:$item$jscomp$0$$.id_app};$options$$.req.query.ma_kho&&($condition$$.ma_kho=$options$$.req.query.ma_kho);$options$$.req.query.ma_lo&&($condition$$.ma_lo=$options$$.req.query.ma_lo);$options$$.req.query.ma_dvcs&&($condition$$.ma_dvcs=$options$$.req.query.ma_dvcs);$condition$$.groupBy=["id_app","ma_vt"];$condition$$.ngay=
|
|
34
|
+
new Date;setImmediate(async()=>{ckvt($condition$$,async function($dvtqd$jscomp$4_e$$,$rs$$){$item$jscomp$0$$.ton00=$rs$$.map($r$$=>$r$$.ton00||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$item$jscomp$0$$.ma_dvt&&($dvtqd$jscomp$4_e$$=await Dmqddvt.findOne({id_app:$item$jscomp$0$$.id_app,ma_vt:$item$jscomp$0$$.ma_vt,ma_dvt:$item$jscomp$0$$.ma_dvt}))&&($item$jscomp$0$$.ton00=$dvtqd$jscomp$4_e$$.tu&&$dvtqd$jscomp$4_e$$.mau?utils.round($item$jscomp$0$$.ton00*$dvtqd$jscomp$4_e$$.mau/$dvtqd$jscomp$4_e$$.tu,4):utils.round($item$jscomp$0$$.ton00/
|
|
35
|
+
($dvtqd$jscomp$4_e$$.ty_le_qd||1),0));$callback$$()})})}else $callback$$()}},()=>{$callback$jscomp$1$$()}):$callback$jscomp$1$$(null)},()=>{$fn$$(null,$result$$)})})}};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';const model=global.getModel("participant"),User=global.getModel("user"),usergroup=global.getModel("usergroup"),controller=require("../../controllers/controller"),async=require("async"),permission=require("../../libs/permission");
|
|
2
2
|
module.exports=function($router$$){(new controller($router$$,model,"participant",{sort:{date_created:1},unique:["id_app","email"],onFinding:async($user$$,$condition$$,$next$$)=>{if($condition$$.groups&&!$condition$$.group_id)try{let $groups$$=(await usergroup.getList($user$$.current_id_app,$condition$$.groups)).map($g$$=>$g$$._id);delete $condition$$.groups;$groups$$=$groups$$.concat([null,"",void 0]);$condition$$.group_id={$in:$groups$$};$next$$(null,$condition$$)}catch($e$$){$next$$($e$$.message)}else $next$$(null,
|
|
3
|
-
$condition$$)},onFound:($user$$,$condition$$,$items$$,$next$$)=>{
|
|
4
|
-
(
|
|
5
|
-
|
|
6
|
-
$
|
|
3
|
+
$condition$$)},onFound:($user$$,$condition$$,$items$$,$next$$)=>{$next$$(null,$items$$)},onView:($user$$,$items$$,$next$$)=>{async.parallel({u:$callback$$=>{$items$$.joinModel2(null,User,[{where:{email:"email"},fields:[{picture:"picture"}]}],function(){$callback$$()})},group:$callback$$=>{$items$$.joinModel2($user$$.current_id_app,usergroup,[{where:{group_id:"_id"},fields:["group_name","is_customer_group","is_employee_group"]}],function(){$callback$$()})}},()=>{$items$$.forEach($item$$=>{$item$$.real_name&&
|
|
4
|
+
($item$$.name=$item$$.real_name)});$next$$(null,$items$$)})},onUpdating:async($user$$,$data$$,$obj$$,$next$$)=>{$data$$.admin&&!$obj$$.admin?permission.isAdmin($user$$.current_id_app,$user$$.email,function($e$$,$admin$$){if($e$$)return $next$$($e$$);if(!$admin$$)return $next$$("B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n \u0111\u1eb7t ng\u01b0\u1eddi n\u00e0y l\u00e0 ng\u01b0\u1eddi qu\u1ea3n tr\u1ecb")}):$next$$(null,$data$$,$obj$$)},onCreated:($user$$,$obj$$,$next$$)=>{$obj$$.auto_create_user&&$obj$$.password?
|
|
5
|
+
User.findOne({email:$obj$$.email},($e$jscomp$0$$,$rs$$)=>{if($e$jscomp$0$$||$rs$$)return $next$$(null,$obj$$),console.log($e$jscomp$0$$||`User ${$obj$$.email} \u0111\u00e3 t\u1ed3n t\u1ea1i`);$e$jscomp$0$$=new User;$e$jscomp$0$$.email=$obj$$.email;$e$jscomp$0$$.name=$obj$$.name;$e$jscomp$0$$.local={};$e$jscomp$0$$.local.email=$obj$$.email;$e$jscomp$0$$.local.name=$obj$$.name;$e$jscomp$0$$.local.password=$e$jscomp$0$$.generateHash($obj$$.password);$e$jscomp$0$$.save($e$$=>{if($e$$)return model.remove({_id:$obj$$._id}),
|
|
6
|
+
$next$$(`Kh\u00f4ng th\u1ec3 t\u1ea1o ng\u01b0\u1eddi d\u00f9ng ${$obj$$.email}, L\u1ed7i: ${$e$$.message}`);$next$$(null,$obj$$)})}):$next$$(null,$obj$$)}})).route()};
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
'use strict';const ckvt=require("../../libs/ckvt"),Dmvt=global.getModel("dmvt"),Dmkho=global.getModel("dmkho"),async=require("async"),controller=require("../../controllers/controllerRPT");
|
|
2
|
-
module.exports=function($router$$){new controller($router$$,"ckvt",function($req$$,$callback$jscomp$
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
'use strict';const ckvt=require("../../libs/ckvt"),getGiaBan=require("../../libs/getGiaban"),Dmvt=global.getModel("dmvt"),Dmkho=global.getModel("dmkho"),async=require("async"),controller=require("../../controllers/controllerRPT");
|
|
2
|
+
module.exports=function($router$$){new controller($router$$,"ckvt",function($req$$,$callback$jscomp$1$$){const $condition$$=$req$$.query;ckvt($condition$$,function($error$jscomp$0$$,$report$$){if($error$jscomp$0$$)return $callback$jscomp$1$$($error$jscomp$0$$);$report$$=$report$$.filter($r$$=>$r$$.ton00||$r$$.du00);const $id_app$$=$condition$$.id_app;async.parallel({vt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt).joinModel2($id_app$$,Dmvt,{where:"ma_vt",fields:"ten_vt tg_tk tk_vt ma_ncc ma_dvt ma_nvt ma_vt2".split(" "),
|
|
3
|
+
setFields:($a$$,$b$$)=>{if($b$$.picture){let $p$$=$b$$.picture.split(".");$a$$.picture_thumb=$b$$.picture+".thumb."+$p$$[$p$$.length-1]}else $a$$.picture="/getfile/others/noimage.png",$a$$.picture_thumb="/getfile/others/noimage.png"}},()=>{$callback$$()})},kho:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,Dmkho,{where:"ma_kho",fields:["ten_kho","la_kho_online"]},()=>{$callback$$()})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),
|
|
4
|
+
{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:{barcode1:"ma_tt2"}},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:{barcode2:"ma_tt2"}},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,
|
|
5
|
+
ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:{barcode3:"ma_tt2"}},()=>{$callback$$()})},gb:function($callback$jscomp$0$$){async.map($report$$,($item$$,$callback$$)=>{const $condition_giaban$$={ma_vt:$item$$.ma_vt,id_app:$condition$$.id_app};$item$$.ma_kho&&($condition_giaban$$.ma_kho=$item$$.ma_kho);$item$$.ma_tt1&&($condition_giaban$$.ma_tt1=$item$$.ma_tt1);$item$$.ma_tt2&&($condition_giaban$$.ma_tt2=$item$$.ma_tt2);$item$$.ma_tt3&&($condition_giaban$$.ma_tt3=$item$$.ma_tt3);getGiaBan($condition_giaban$$,
|
|
6
|
+
($e$$,$gia$$)=>{if($e$$)return console.error("error when get gia_ban on dmvt",$e$$,$condition_giaban$$),$callback$$();$gia$$?($item$$.gia_ban_le=$gia$$.gia_ban_le||0,$item$$.doanh_thu_du_tinh=($item$$.gia_ban_le||0)*($item$$.ton00||0)):($item$$.gia_ban_le=0,$item$$.doanh_thu_du_tinh=0);$callback$$(null)})},()=>{$callback$jscomp$0$$()})}},async function($error$$){if($error$$)return $callback$jscomp$1$$($error$$);(await $report$$.filter($r$$=>$r$$.ma_vt&&$r$$.la_kho_online).asyncGroupBy(["ma_vt"],["ton00"])).forEach(async $sk$$=>
|
|
7
|
+
{let $vt$$=await global.getModel("dmvt").findOne({id_app:$condition$$.id_app,ma_vt:$sk$$.ma_vt});$vt$$&&($vt$$.ton_kho_online_hien_tai=$sk$$.ton00,$vt$$.save($e$$=>{$e$$&&console.error($e$$)}))});$report$$.forEach($r$$=>{$r$$.barcode=$r$$.barcode1||$r$$.barcode2||$r$$.barcode3||$r$$.ma_vt2});$callback$jscomp$1$$(null,$report$$)})})})};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';const sokho=global.getModel("sokho"),sokhokhongton=global.getModel("sokhokhongton"),dmvt=global.getModel("dmvt"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
|
|
2
|
-
module.exports=function($router$$){new controller($router$$,"dtbanletheovt",async function($
|
|
3
|
-
$condition$$.ma_dvcs);$condition$$.ma_vt&&($
|
|
4
|
-
0,$r$$.tien_ck_nt=0,$r$$.tien=0,$r$$.tien_nt=0):($r$$.tien_tl=0,$r$$.tien_ck_tl=0);"HD7"===$r$$.ma_ct&&2==$r$$.nxt&&($r$$.tien_hang=$r$$.tien,$r$$.tien_hang_nt=$r$$.tien_nt,$r$$.tien=$r$$.tien_hang-$r$$.tien_ck,$r$$.tien_nt=$r$$.tien_hang_nt-$r$$.tien_ck_nt)})
|
|
5
|
-
value:"sl_nhap"},{name:"tien_tl",value:"tien_tl"},{name:"tien_ck_tl",value:"tien_ck_tl"}],function($error$$,$rs$$){if($error$$)return console.log($error$$),$callback$$($error$$);var $report$$=underscore.sortBy($rs$$,function($r$$){return $r$$.ma_vt})
|
|
6
|
-
$report$$.joinModel($condition$$.id_app,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"},{name:"ma_dvt",value:"ma_dvt"}]}],function(){$report$$.push({ten_vt:"T\u1ed5ng c\u1ed9ng",sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),
|
|
7
|
-
doanh_thu:$report$$.csum("doanh_thu"),doanh_thu_thuan:$report$$.csum("doanh_thu_thuan"),lai:$report$$.csum("lai"),bold:!0});$callback$$(null,$report$$)})})})};
|
|
2
|
+
module.exports=function($router$$){new controller($router$$,"dtbanletheovt",async function($query_req_rs$$,$callback$$){let $condition$$=$query_req_rs$$.query;if(!$condition$$.tu_ngay||!$condition$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1:tu_ngay,den_ngay");$query_req_rs$$={id_app:$condition$$.id_app,ma_ct:{$in:["PBL","SO1","HD7"]}};$query_req_rs$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query_req_rs$$.ma_dvcs=
|
|
3
|
+
$condition$$.ma_dvcs);$condition$$.ma_vt?$query_req_rs$$.ma_vt=$condition$$.ma_vt:$condition$$.ma_nvt&&($data_khongton_vts$$=await dmvt.find({id_app:$condition$$.id_app,ma_nvt:$condition$$.ma_nvt},{ma_vt:1}).lean().exec(),$query_req_rs$$.ma_vt={$in:$data_khongton_vts$$.map($v$$=>$v$$.ma_vt)});$condition$$.ma_kho&&($query_req_rs$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_ct&&($query_req_rs$$.ma_ct=$condition$$.ma_ct);var $data_khongton_vts$$=await sokhokhongton.find($query_req_rs$$).lean();$query_req_rs$$=
|
|
4
|
+
await sokho.find($query_req_rs$$).lean();$query_req_rs$$=$query_req_rs$$.concat($data_khongton_vts$$);$query_req_rs$$.forEach($r$$=>{1==$r$$.nxt?($r$$.tien_tl=$r$$.tien,$r$$.tien_ck_tl=$r$$.tien_ck,$r$$.tien_hang=0,$r$$.tien_hang_nt=0,$r$$.tien_ck=0,$r$$.tien_ck_nt=0,$r$$.tien=0,$r$$.tien_nt=0):($r$$.tien_tl=0,$r$$.tien_ck_tl=0);"HD7"===$r$$.ma_ct&&2==$r$$.nxt&&($r$$.tien_hang=$r$$.tien,$r$$.tien_hang_nt=$r$$.tien_nt,$r$$.tien=$r$$.tien_hang-$r$$.tien_ck,$r$$.tien_nt=$r$$.tien_hang_nt-$r$$.tien_ck_nt)});
|
|
5
|
+
$query_req_rs$$.groupBy("ma_vt",[{name:"sl_xuat",value:"sl_xuat"},{name:"tien_hang",value:"tien_hang"},{name:"tien_ck",value:"tien_ck"},{name:"tien",value:"tien"},{name:"tien_xuat",value:"tien_xuat"},{name:"tien_nhap",value:"tien_nhap"},{name:"sl_nhap",value:"sl_nhap"},{name:"tien_tl",value:"tien_tl"},{name:"tien_ck_tl",value:"tien_ck_tl"}],function($error$$,$rs$$){if($error$$)return console.log($error$$),$callback$$($error$$);var $report$$=underscore.sortBy($rs$$,function($r$$){return $r$$.ma_vt}),
|
|
6
|
+
$i$$=1;$report$$.forEach(function($r$$){$r$$.stt=$i$$;$r$$.bold=!1;$r$$.doanh_thu=$r$$.tien;$r$$.doanh_thu_thuan=$r$$.doanh_thu-$r$$.tien_tl;$r$$.lai=$r$$.tien_hang-$r$$.tien_tl-($r$$.tien_ck-$r$$.tien_ck_tl)-($r$$.tien_xuat-$r$$.tien_nhap);$i$$++});$report$$.joinModel($condition$$.id_app,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"},{name:"ma_dvt",value:"ma_dvt"}]}],function(){$report$$.push({ten_vt:"T\u1ed5ng c\u1ed9ng",sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),
|
|
7
|
+
tien_hang:$report$$.csum("tien_hang"),tien_ck:$report$$.csum("tien_ck"),tien:$report$$.csum("tien"),sl_nhap:$report$$.csum("sl_nhap"),tien_nhap:$report$$.csum("tien_nhap"),tien_tl:$report$$.csum("tien_tl"),tien_ck_tl:$report$$.csum("tien_ck_tl"),doanh_thu:$report$$.csum("doanh_thu"),doanh_thu_thuan:$report$$.csum("doanh_thu_thuan"),lai:$report$$.csum("lai"),bold:!0});$callback$$(null,$report$$)})})})};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use strict';const thnxt=require("../../libs/thnxt"),dmvt=global.getModel("dmvt"),dmkho=global.getModel("dmkho"),dmnvt=global.getModel("dmnvt"),customer=global.getModel("customer"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT"),async=require("async");
|
|
2
|
-
module.exports=function($router$$){new controller($router$$,"thnxt",function($req$$,$callback$jscomp$0$$){const $query$$=$req$$.query,$id_app$$=$req$$.query.id_app;if(!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$jscomp$0$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay");$callback$jscomp$0$$(null,null,"begin");(new Promise(($resolve$$,$reject$$)=>{if(!$query$$.ma_vt&&($query$$.ma_ncc||$query$$.ma_kh||$query$$.ma_nvt
|
|
3
|
-
$query$$.ma_nvt4)){const $_query$$={id_app:$id_app$$};if($query$$.ma_ncc||$query$$.ma_kh)$_query$$.ma_ncc=$query$$.ma_ncc||$query$$.ma_kh;$query$$.ma_nvt&&($_query$$.ma_nvt=$query$$.ma_nvt);$query$$.ma_nvt2&&($_query$$.ma_nvt2=$query$$.ma_nvt2);$query$$.ma_nvt3&&($_query$$.ma_nvt3=$query$$.ma_nvt3);$query$$.ma_nvt4&&($_query$$.ma_nvt4=$query$$.ma_nvt4);$callback$jscomp$0$$(null,null,"running");dmvt.find($_query$$).lean().exec(($err$$,$rs$$)=>{if($err$$)return $reject$$($err$$)
|
|
4
|
-
null,"running");$resolve$$(underscore.pluck($rs$$,"ma_vt"))})}else $resolve$$($query$$.ma_vt)})).then($ma_vt$$=>{$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$callback$jscomp$0$$(null,null,"running");thnxt($query$$,function($error$$,$report$$){if($error$$)return $callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null,null,"running");async.parallel({vt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt).joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:"ten_vt tg_tk ma_ncc ma_dvt ma_nvt ma_vt2".split(" "),
|
|
5
|
-
$b$$)=>{if($b$$.picture){let $p$$=$b$$.picture.split(".");$a$$.picture_thumb=$b$$.picture+".thumb."+$p$$[$p$$.length-1]}else $a$$.picture="/getfile/others/noimage.png",$a$$.picture_thumb="/getfile/others/noimage.png"}},()=>{$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:["ten_nvt"]},()=>{$callback$$()})})})},kho:$callback$$=>
|
|
6
|
-
$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:["ten_kho"]},()=>{$callback$$()})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:{barcode1:"ma_tt2"}},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,
|
|
7
|
-
loai_tt:"2"}),fields:{barcode2:"ma_tt2"}},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:{barcode3:"ma_tt2"}},()=>{$callback$$()})}},()=>{$callback$jscomp$0$$(null,null,"running");$report$$.forEach($r$$=>{$r$$.barcode=$r$$.barcode1||$r$$.barcode2||$r$$.barcode3||$r$$.ma_vt2});const $total$$={ma_vt:"",ten_vt:"T\u1ed5ng c\u1ed9ng",
|
|
8
|
-
du_dau:$report$$.csum("du_dau"),sl_nhap:$report$$.csum("sl_nhap"),tien_nhap:$report$$.csum("tien_nhap"),sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),ton_cuoi:$report$$.csum("ton_cuoi"),du_cuoi:$report$$.csum("du_cuoi"),systotal:1,bold:!0};$report$$.push($total$$);$callback$jscomp$0$$(null,$report$$,"data");$callback$jscomp$0$$(null,null,"end")})},$log$$=>{$callback$jscomp$0$$(null,null,"running");console.log($log$$)})}).catch($e$$=>{$callback$jscomp$0$$($e$$)})},
|
|
2
|
+
module.exports=function($router$$){new controller($router$$,"thnxt",function($req$$,$callback$jscomp$0$$){const $query$$=$req$$.query,$id_app$$=$req$$.query.id_app;if(!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$jscomp$0$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay");console.log("query thnxt",$query$$);$callback$jscomp$0$$(null,null,"begin");(new Promise(($resolve$$,$reject$$)=>{if(!$query$$.ma_vt&&($query$$.ma_ncc||$query$$.ma_kh||$query$$.ma_nvt||
|
|
3
|
+
$query$$.ma_nvt2||$query$$.ma_nvt3||$query$$.ma_nvt4)){const $_query$$={id_app:$id_app$$};if($query$$.ma_ncc||$query$$.ma_kh)$_query$$.ma_ncc=$query$$.ma_ncc||$query$$.ma_kh;$query$$.ma_nvt&&($_query$$.ma_nvt=$query$$.ma_nvt);$query$$.ma_nvt2&&($_query$$.ma_nvt2=$query$$.ma_nvt2);$query$$.ma_nvt3&&($_query$$.ma_nvt3=$query$$.ma_nvt3);$query$$.ma_nvt4&&($_query$$.ma_nvt4=$query$$.ma_nvt4);$callback$jscomp$0$$(null,null,"running");dmvt.find($_query$$).lean().exec(($err$$,$rs$$)=>{if($err$$)return $reject$$($err$$);
|
|
4
|
+
$callback$jscomp$0$$(null,null,"running");$resolve$$(underscore.pluck($rs$$,"ma_vt"))})}else $resolve$$($query$$.ma_vt)})).then($ma_vt$$=>{$ma_vt$$&&($query$$.ma_vt=$ma_vt$$);$callback$jscomp$0$$(null,null,"running");thnxt($query$$,function($error$$,$report$$){if($error$$)return $callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null,null,"running");async.parallel({vt:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt).joinModel2($id_app$$,dmvt,{where:"ma_vt",fields:"ten_vt tg_tk ma_ncc ma_dvt ma_nvt ma_vt2".split(" "),
|
|
5
|
+
setFields:($a$$,$b$$)=>{if($b$$.picture){let $p$$=$b$$.picture.split(".");$a$$.picture_thumb=$b$$.picture+".thumb."+$p$$[$p$$.length-1]}else $a$$.picture="/getfile/others/noimage.png",$a$$.picture_thumb="/getfile/others/noimage.png"}},()=>{$report$$.filter($r$$=>$r$$.ma_ncc).joinModel2($id_app$$,customer,{where:{ma_ncc:"ma_kh"},fields:[{ten_ncc:"ten_kh"}]},()=>{$report$$.filter($r$$=>$r$$.ma_nvt).joinModel2($id_app$$,dmnvt,{where:{ma_nvt:"_id"},fields:["ten_nvt"]},()=>{$callback$$()})})})},kho:$callback$$=>
|
|
6
|
+
{$report$$.filter($r$$=>$r$$.ma_kho).joinModel2($id_app$$,dmkho,{where:"ma_kho",fields:["ten_kho"]},()=>{$callback$$()})},tt1:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt1).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),fields:{barcode1:"ma_tt2"}},()=>{$callback$$()})},tt2:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt2).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,
|
|
7
|
+
ma_tt:$item$$.ma_tt2,loai_tt:"2"}),fields:{barcode2:"ma_tt2"}},()=>{$callback$$()})},tt3:$callback$$=>{$report$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_tt3).joinModel2($id_app$$,global.getModel("dmtt"),{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt3,loai_tt:"3"}),fields:{barcode3:"ma_tt2"}},()=>{$callback$$()})}},()=>{$callback$jscomp$0$$(null,null,"running");$report$$.forEach($r$$=>{$r$$.barcode=$r$$.barcode1||$r$$.barcode2||$r$$.barcode3||$r$$.ma_vt2});const $total$$={ma_vt:"",ten_vt:"T\u1ed5ng c\u1ed9ng",
|
|
8
|
+
ton_dau:$report$$.csum("ton_dau"),du_dau:$report$$.csum("du_dau"),sl_nhap:$report$$.csum("sl_nhap"),tien_nhap:$report$$.csum("tien_nhap"),sl_xuat:$report$$.csum("sl_xuat"),tien_xuat:$report$$.csum("tien_xuat"),ton_cuoi:$report$$.csum("ton_cuoi"),du_cuoi:$report$$.csum("du_cuoi"),systotal:1,bold:!0};$report$$.push($total$$);$callback$jscomp$0$$(null,$report$$,"data");$callback$jscomp$0$$(null,null,"end")})},$log$$=>{$callback$jscomp$0$$(null,null,"running");console.log($log$$)})}).catch($e$$=>{$callback$jscomp$0$$($e$$)})},
|
|
9
|
+
{stream:!0})};
|
|
@@ -1,19 +1,21 @@
|
|
|
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
|
-
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"),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
|
-
$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
|
-
$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$$)})};
|
|
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
|
+
$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$$)})};
|
|
5
5
|
module.exports=function($contr_router$$){$contr_router$$=new controller($contr_router$$,model,ma_ct.toLowerCase(),{isVoucher:!0,sort:{ngay_ct:-1,so_ct:-1},keyValues:{ma_ct},onExport:function($user$$,$obj$$,$next$$){$obj$$.tdttcos&&0<$obj$$.tdttcos.length&&($obj$$.details=$obj$$.tdttcos);$next$$()}});$contr_router$$.route();$contr_router$$.post=function($obj$$,$fn$$){$fn$$||($fn$$=function(){});async.parallel({post_cashwithdraw:$callback$$=>{(async()=>{if($obj$$.id_asscashwithdraw){const $require$$=
|
|
6
6
|
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$$();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");let $creator$$=$app$$.wallet_address;createTx($obj$$.id_app,$app$$.wallet_token,{values:{creator:$creator$$,
|
|
7
7
|
id:Number($require$$.id)},typeUrl:"/pvtruong.flexzen.flexzen.MsgPayCashWithdraw",from_address:$creator$$}).then(async $rs$$=>{if($rs$$.code){if(5===$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($rs$$);return $callback$$($rs$$.rawLog)}$require$$.trang_thai="5";$require$$.payment_date=new Date;$require$$.save();controller.pushNotification(global.controllers.ASSCASHWITHDRAW,$require$$);$callback$$(null,
|
|
8
8
|
$require$$.toObject())}).catch($e$$=>{console.error($e$$);$callback$$($e$$.message||$e$$.error||$e$$)})}else $callback$$()})()},post_vatvao:function($callback$$){(new PostBook($obj$$,$obj$$.vatvaos,Vatvao)).run(function($e$$,$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$$);
|
|
9
9
|
async.map($details$$,($detail$$,$callback$$)=>{$detail$$.con_lai_nt<=$detail$$.thanh_toan_qd?Tdttco.findOneAndUpdate({_id:$detail$$.id_tdtt.toString()},{$set:{tat_toan:!0}},function($error$$,$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=
|
|
10
10
|
$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$$={...$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$$)});
|
|
11
|
-
(new PostSocai($obj$$,$details_sc$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};$contr_router$$.creating=async function($user$$,$obj$$,$next$$){if($user$$.current_app_info.options.phieu_chi_phai_co_phieu_de_nghi&&!$obj$$.id_pc0&&!$obj$$.id_pn6)return $next$$("Ch\u01b0a c\u00f3 phi\u1ebfu \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n");$obj$$.details||($obj$$.details=[]);if($obj$$.id_pc0){
|
|
12
|
-
if(!$dntt_t_tien_dn$$)return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n kh\u00f4ng t\u1ed3n t\u1ea1i");$dntt_t_tien_dn$$=($dntt_t_tien_dn$$.details||[]).map($d$$=>$d$$.tien_nt||0)
|
|
11
|
+
(new PostSocai($obj$$,$details_sc$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};$contr_router$$.creating=async function($user$$,$obj$$,$next$$){if($user$$.current_app_info.options.phieu_chi_phai_co_phieu_de_nghi&&!$obj$$.id_pc0&&!$obj$$.id_pn6)return $next$$("Ch\u01b0a c\u00f3 phi\u1ebfu \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n");$obj$$.details||($obj$$.details=[]);if($obj$$.id_pc0){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");
|
|
12
|
+
var $dntt_t_tien_dn$$=await pc0.findOne({_id:$obj$$.id_pc0,id_app:$user$$.current_id_app});if(!$dntt_t_tien_dn$$)return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n kh\u00f4ng t\u1ed3n t\u1ea1i");$dntt_t_tien_dn$$=utils.round(($dntt_t_tien_dn$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt_t_tien_dn$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt_t_tien_dn$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,
|
|
13
|
+
0),0);let $t_tien_tt$$=utils.round(($obj$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($obj$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($obj$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0),0);if($dntt_t_tien_dn$$!==$t_tien_tt$$)return $next$$(`T\u1ed5ng s\u1ed1 ti\u1ec1n thanh to\u00e1n ${numeral($t_tien_tt$$).format()} ph\u1ea3i b\u1eb1ng s\u1ed1 ti\u1ec1n ${numeral($dntt_t_tien_dn$$).format()} trong \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t`)}if($obj$$.tdttcos&&
|
|
13
14
|
0<$obj$$.tdttcos.length&&(await $obj$$.tdttcos.asyncJoinModel2($user$$.current_id_app,Tdttco,{where:{id_tdtt:"_id"},fields:["tat_toan",{tien_hd_nt:"tien_nt"}]}),0<(await Promise.all($obj$$.tdttcos.map($hd$$=>(async()=>{if(!global.mongoose.Types.ObjectId.isValid($hd$$.id_tdtt))return{error:"Ho\u00e1 \u0111\u01a1n kh\u00f4ng h\u1ee3p l\u1ec7",invoice:$hd$$};let $ds_da_thanh_toan$$=await Tdttco_tt.find({id_app:$obj$$.id_app,id_tdtt:$hd$$.id_tdtt}).lean(),$da_thanh_toan$$=$ds_da_thanh_toan$$.map($t$$=>
|
|
14
15
|
$t$$.thanh_toan_qd||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0),$con_lai$$=$hd$$.tien_hd_nt-$da_thanh_toan$$;return $con_lai$$<$hd$$.thanh_toan_qd?{error:"S\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i nh\u1ecf h\u01a1n s\u1ed1 ti\u1ec1n thanh to\u00e1n",invoice:$hd$$,da_thanh_toan:$da_thanh_toan$$,con_lai:$con_lai$$,ds_da_thanh_toan:$ds_da_thanh_toan$$}:{invoice:$hd$$,da_thanh_toan:$da_thanh_toan$$,con_lai:$con_lai$$,ds_da_thanh_toan:$ds_da_thanh_toan$$}})()))).filter($hd$$=>$hd$$.error).length))return $next$$("S\u1ed1 ti\u1ec1n thanh to\u00e1n kh\u00f4ng \u0111\u01b0\u1ee3c l\u1edbn h\u01a1n s\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i c\u1ee7a ho\u00e1 \u0111\u01a1n");
|
|
15
|
-
valid_detail($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=async function($user$$,$data$$,$obj$$,$next$$){if($data$$.id_pc0||$obj$$.id_pc0){var $dntt$jscomp$
|
|
16
|
-
|
|
16
|
+
valid_detail($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$obj$$)})};$contr_router$$.updating=async function($user$$,$data$$,$obj$$,$next$$){if($data$$.id_pc0||$obj$$.id_pc0){var $dntt$jscomp$1_id_pc0_t_tien_dn$$=$data$$.id_pc0||$obj$$.id_pc0,$ex$jscomp$1_t_tien_tt$$=await model.findOne({id_pc0:$dntt$jscomp$1_id_pc0_t_tien_dn$$}).lean();if($ex$jscomp$1_t_tien_tt$$&&$ex$jscomp$1_t_tien_tt$$._id.toString()!==$obj$$._id.toString())return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c chi");
|
|
17
|
+
$dntt$jscomp$1_id_pc0_t_tien_dn$$=await pc0.findOne({_id:$dntt$jscomp$1_id_pc0_t_tien_dn$$,id_app:$user$$.current_id_app});if(!$dntt$jscomp$1_id_pc0_t_tien_dn$$)return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n kh\u00f4ng t\u1ed3n t\u1ea1i");$dntt$jscomp$1_id_pc0_t_tien_dn$$=utils.round(($dntt$jscomp$1_id_pc0_t_tien_dn$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt$jscomp$1_id_pc0_t_tien_dn$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+
|
|
18
|
+
$b$$,0)+($dntt$jscomp$1_id_pc0_t_tien_dn$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0),0);$ex$jscomp$1_t_tien_tt$$=utils.round(($data$$.details||$obj$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($data$$.tdttcos||$obj$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($data$$.vatvaos||$obj$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0),0);if($dntt$jscomp$1_id_pc0_t_tien_dn$$!==$ex$jscomp$1_t_tien_tt$$)return $next$$(`T\u1ed5ng s\u1ed1 ti\u1ec1n thanh to\u00e1n ${numeral($ex$jscomp$1_t_tien_tt$$).format()} ph\u1ea3i b\u1eb1ng s\u1ed1 ti\u1ec1n ${numeral($dntt$jscomp$1_id_pc0_t_tien_dn$$).format()} trong \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t`)}if($obj$$.tdttcos&&
|
|
17
19
|
0<$obj$$.tdttcos.length&&(await $obj$$.tdttcos.asyncJoinModel2($user$$.current_id_app,Tdttco,{where:{id_tdtt:"_id"},fields:["tat_toan",{tien_hd_nt:"tien_nt"}]}),0<(await Promise.all($obj$$.tdttcos.map($hd$$=>(async()=>{if(!global.mongoose.Types.ObjectId.isValid($hd$$.id_tdtt))return{error:"Ho\u00e1 \u0111\u01a1n kh\u00f4ng h\u1ee3p l\u1ec7",invoice:$hd$$};let $ds_da_thanh_toan$$=await Tdttco_tt.find({id_app:$obj$$.id_app,id_tdtt:$hd$$.id_tdtt,id_ct:{$ne:$obj$$._id.toString()}}).lean(),$da_thanh_toan$$=
|
|
18
20
|
$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 $con_lai$$<$hd$$.thanh_toan_qd?{error:!0,invoice:$hd$$}:{ds_da_thanh_toan:$ds_da_thanh_toan$$,da_thanh_toan:$da_thanh_toan$$,invoice:$hd$$,con_lai:$con_lai$$}})()))).filter($hd$$=>$hd$$.error).length))return $next$$("S\u1ed1 ti\u1ec1n thanh to\u00e1n kh\u00f4ng \u0111\u01b0\u1ee3c l\u1edbn h\u01a1n s\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i c\u1ee7a ho\u00e1 \u0111\u01a1n");
|
|
19
21
|
valid_detail($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.on("saved",function($obj$$){$obj$$.id_pc0&&pc0.updateMany({_id:$obj$$.id_pc0},{id_pc1:$obj$$._id.toString(),trang_thai:"6"},($e$jscomp$1$$,$rs$$)=>{console.log("update pc0",$obj$$.id_pc0,$rs$$);pc0.findOne({_id:$obj$$.id_pc0},($e$jscomp$0$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.PC0,$e$$=>{$e$$&&console.error($e$$)})})});$obj$$.id_pn6&&pn6.updateMany({_id:$obj$$.id_pn6},
|
|
@@ -6,12 +6,14 @@ module.exports=function($contr_router$$){$contr_router$$=new controller($contr_r
|
|
|
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.map($details$$,($detail$$,$callback$$)=>{$detail$$.con_lai_nt<=$detail$$.thanh_toan_qd?Tdttco.findOneAndUpdate({_id:$detail$$.id_tdtt.toString()},{$set:{tat_toan:!0}},function($error$$,$result$$){$callback$$($error$$,
|
|
7
7
|
$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$$={...$d_detail$$};$d_detail$$.tk_co=
|
|
8
8
|
$obj$$.tk_co;$d_detail$$.ma_kh||($d_detail$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($d_detail$$)});$obj$$.tdttcos.forEach(function($t_tdttco$$){$t_tdttco$$={...$t_tdttco$$};$t_tdttco$$.tk_co=$obj$$.tk_co;$t_tdttco$$.ma_kh||($t_tdttco$$.ma_kh=$obj$$.ma_kh);$details_sc$$.push($t_tdttco$$)});(new PostSocai($obj$$,$details_sc$$)).run(function($e$$,$rs$$){$callback$$($e$$,$rs$$)})}},function($e$$,$rs$$){$fn$$($e$$,$rs$$)})};$contr_router$$.creating=async function($user$$,$obj$$,$next$$){if($user$$.current_app_info.options.phieu_chi_phai_co_phieu_de_nghi&&
|
|
9
|
-
!$obj$$.id_pc0&&!$obj$$.id_pn6)return $next$$("Ch\u01b0a c\u00f3 phi\u1ebfu \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n");$obj$$.details||($obj$$.details=[]);if($obj$$.id_pc0&&global.mongoose.Types.ObjectId.isValid($obj$$.id_pc0)){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")
|
|
10
|
-
($dntt_t_tien_dn$$.
|
|
11
|
-
0<$obj$$.tdttcos.length&&(await $obj$$.tdttcos.asyncJoinModel2($user$$.current_id_app,Tdttco,{where:{id_tdtt:"_id"},fields:["tat_toan",{tien_hd_nt:"tien_nt"}]}),0<(await Promise.all($obj$$.tdttcos.map($hd$$=>
|
|
12
|
-
$t$$.thanh_toan_qd||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0),$con_lai$$=$hd$$.tien_hd_nt-$da_thanh_toan$$;return $con_lai$$<$hd$$.thanh_toan_qd?{error:"S\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i nh\u1ecf h\u01a1n s\u1ed1 ti\u1ec1n thanh to\u00e1n",
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
!$obj$$.id_pc0&&!$obj$$.id_pn6)return $next$$("Ch\u01b0a c\u00f3 phi\u1ebfu \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n");$obj$$.details||($obj$$.details=[]);if($obj$$.id_pc0&&global.mongoose.Types.ObjectId.isValid($obj$$.id_pc0)){if(await model.findOne({id_pc0:$obj$$.id_pc0}))return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c chi");var $dntt_t_tien_dn$$=await pc0.findOne({_id:$obj$$.id_pc0,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");
|
|
10
|
+
$dntt_t_tien_dn$$=($dntt_t_tien_dn$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt_t_tien_dn$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt_t_tien_dn$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);let $t_tien_tt$$=($obj$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($obj$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($obj$$.vatvaos||[]).map($d$$=>
|
|
11
|
+
$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);if($dntt_t_tien_dn$$!==$t_tien_tt$$)return $next$$("T\u1ed5ng s\u1ed1 ti\u1ec1n thanh to\u00e1n ph\u1ea3i b\u1eb1ng v\u1edbi s\u1ed1 ti\u1ec1n trong \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t")}if($obj$$.tdttcos&&0<$obj$$.tdttcos.length&&(await $obj$$.tdttcos.asyncJoinModel2($user$$.current_id_app,Tdttco,{where:{id_tdtt:"_id"},fields:["tat_toan",{tien_hd_nt:"tien_nt"}]}),0<(await Promise.all($obj$$.tdttcos.map($hd$$=>
|
|
12
|
+
(async()=>{if(!global.mongoose.Types.ObjectId.isValid($hd$$.id_tdtt))return{error:"Ho\u00e1 \u0111\u01a1n kh\u00f4ng h\u1ee3p l\u1ec7",invoice:$hd$$};let $ds_da_thanh_toan$$=await Tdttco_tt.find({id_app:$obj$$.id_app,id_tdtt:$hd$$.id_tdtt}).lean(),$da_thanh_toan$$=$ds_da_thanh_toan$$.map($t$$=>$t$$.thanh_toan_qd||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0),$con_lai$$=$hd$$.tien_hd_nt-$da_thanh_toan$$;return $con_lai$$<$hd$$.thanh_toan_qd?{error:"S\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i nh\u1ecf h\u01a1n s\u1ed1 ti\u1ec1n thanh to\u00e1n",
|
|
13
|
+
invoice:$hd$$,da_thanh_toan:$da_thanh_toan$$,con_lai:$con_lai$$,ds_da_thanh_toan:$ds_da_thanh_toan$$}:{invoice:$hd$$,da_thanh_toan:$da_thanh_toan$$,con_lai:$con_lai$$,ds_da_thanh_toan:$ds_da_thanh_toan$$}})()))).filter($hd$$=>$hd$$.error).length))return $next$$("S\u1ed1 ti\u1ec1n thanh to\u00e1n kh\u00f4ng \u0111\u01b0\u1ee3c l\u1edbn h\u01a1n s\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i c\u1ee7a ho\u00e1 \u0111\u01a1n");valid_detail($user$$,$obj$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,
|
|
14
|
+
$obj$$)})};$contr_router$$.updating=async function($user$$,$data$$,$obj$$,$next$$){if($data$$.id_pc0||$obj$$.id_pc0){var $dntt$jscomp$1_id_pc0_t_tien_dn$$=$data$$.id_pc0||$obj$$.id_pc0,$ex$jscomp$1_t_tien_tt$$=await model.findOne({id_pc0:$dntt$jscomp$1_id_pc0_t_tien_dn$$}).lean();if($ex$jscomp$1_t_tien_tt$$&&$ex$jscomp$1_t_tien_tt$$._id.toString()!==$obj$$._id.toString())return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c chi");$dntt$jscomp$1_id_pc0_t_tien_dn$$=
|
|
15
|
+
await pc0.findOne({_id:$dntt$jscomp$1_id_pc0_t_tien_dn$$,id_app:$user$$.current_id_app});if(!$dntt$jscomp$1_id_pc0_t_tien_dn$$)return $next$$("\u0110\u1ec1 ngh\u1ecb thanh to\u00e1n kh\u00f4ng t\u1ed3n t\u1ea1i");$dntt$jscomp$1_id_pc0_t_tien_dn$$=($dntt$jscomp$1_id_pc0_t_tien_dn$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt$jscomp$1_id_pc0_t_tien_dn$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($dntt$jscomp$1_id_pc0_t_tien_dn$$.vatvaos||
|
|
16
|
+
[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$ex$jscomp$1_t_tien_tt$$=($data$$.details||$obj$$.details||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($data$$.tdttcos||$obj$$.tdttcos||[]).map($d$$=>$d$$.tien_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+($data$$.vatvaos||$obj$$.vatvaos||[]).map($d$$=>$d$$.t_thue_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);if($dntt$jscomp$1_id_pc0_t_tien_dn$$!==$ex$jscomp$1_t_tien_tt$$)return $next$$("T\u1ed5ng s\u1ed1 ti\u1ec1n thanh to\u00e1n ph\u1ea3i b\u1eb1ng v\u1edbi s\u1ed1 ti\u1ec1n trong \u0111\u1ec1 ngh\u1ecb thanh to\u00e1n \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t")}if($obj$$.tdttcos&&
|
|
15
17
|
0<$obj$$.tdttcos.length&&(await $obj$$.tdttcos.asyncJoinModel2($user$$.current_id_app,Tdttco,{where:{id_tdtt:"_id"},fields:["tat_toan",{tien_hd_nt:"tien_nt"}]}),0<(await Promise.all($obj$$.tdttcos.map($hd$$=>(async()=>{if(!global.mongoose.Types.ObjectId.isValid($hd$$.id_tdtt))return{error:"Ho\u00e1 \u0111\u01a1n kh\u00f4ng h\u1ee3p l\u1ec7",invoice:$hd$$};let $ds_da_thanh_toan$$=await Tdttco_tt.find({id_app:$obj$$.id_app,id_tdtt:$hd$$.id_tdtt,id_ct:{$ne:$obj$$._id.toString()}}).lean(),$da_thanh_toan$$=
|
|
16
18
|
$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 $con_lai$$<$hd$$.thanh_toan_qd?{error:!0,invoice:$hd$$}:{ds_da_thanh_toan:$ds_da_thanh_toan$$,da_thanh_toan:$da_thanh_toan$$,invoice:$hd$$,con_lai:$con_lai$$}})()))).filter($hd$$=>$hd$$.error).length))return $next$$("S\u1ed1 ti\u1ec1n thanh to\u00e1n kh\u00f4ng \u0111\u01b0\u1ee3c l\u1edbn h\u01a1n s\u1ed1 ti\u1ec1n c\u00f2n l\u1ea1i c\u1ee7a ho\u00e1 \u0111\u01a1n");
|
|
17
19
|
valid_detail($user$$,$data$$,function($error$$){if($error$$)return $next$$($error$$);$next$$(null,$data$$,$obj$$)})};$contr_router$$.on("saved",function($obj$$){$obj$$.id_pc0&&pc0.updateMany({_id:$obj$$.id_pc0},{id_pc1:$obj$$._id.toString(),trang_thai:"6"},($e$jscomp$1$$,$rs$$)=>{console.log("update pc0",$obj$$.id_pc0,$rs$$);pc0.findOne({_id:$obj$$.id_pc0},($e$jscomp$0$$,$_obj$$)=>{$_obj$$&&controller.postData($_obj$$,global.controllers.PC0,$e$$=>{$e$$&&console.error($e$$)})})});$obj$$.id_pn6&&pn6.updateMany({_id:$obj$$.id_pn6},
|
package/server/route.js
CHANGED
|
@@ -14,14 +14,14 @@ $id_app$jscomp$1_next$$=$req$$.params.id_app;$modelName_user$$=$req$$.params.mod
|
|
|
14
14
|
{},$req$$.query.fields.split(",").forEach($field$$=>{$fields$$[$field$$]=1}));try{$limit$$=Number($limit$$)}catch($e$$){return $res$$.status(400).send($e$$.message)}$limit$$||($limit$$=1E3);$model$$.find($query$$,$fields$$).limit($limit$$).lean().exec(($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$res$$.send($rs$$)});break;case "update":let $data$$=$req$$.query.fields;if(!$data$$)return $res$$.status(400).send("Data to update is empty");try{$data$$=JSON.parse($data$$),$model$$.updateMany($query$$,
|
|
15
15
|
$data$$,($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$res$$.send($rs$$)})}catch($e$$){$res$$.status(400).send($e$$.message)}break;case "remove":$model$$.deleteMany($query$$,($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$res$$.send($rs$$)});break;default:$res$$.status(400).send(`Action ${$action$$} is not support`)}}catch($e$$){$res$$.status(400).send($e$$.message)}});const $Menu$$=require(configs.paths.menu||"./menu");$router$$.route("/modules").get(function($req$$,$res$$){$Menu$$.getMenu($menu_modules_o_rs$$=>
|
|
16
16
|
{$menu_modules_o_rs$$=JSON.parse(JSON.stringify($menu_modules_o_rs$$));$menu_modules_o_rs$$=$Menu$$.getModules($menu_modules_o_rs$$);let $modules_a$$=[];for(let $key$$ in $menu_modules_o_rs$$)$modules_a$$.push($menu_modules_o_rs$$[$key$$].command);$res$$.send($modules_a$$)})});const $permission$$=require("./libs/permission");$router$$.route("/:id_app/menu").get(function($req$$,$res$$){$Menu$$.getMenu($Menu_menu$$=>{const $id_app$$=$req$$.params.id_app,$user$$=$req$$.user;appModel.findOne({_id:$id_app$$}).lean().exec(function($e$jscomp$1$$,
|
|
17
|
-
$app$$){if($e$jscomp$1$$||!$app$$)return $res$$.status(400).send("Kh\u00f4ng th\u1ec3 l\u1ea5y th\u00f4ng tin c\u1ee7a c\u00f4ng ty n\u00e0y.\n");$permission$$.isAdmin($id_app$$,$user$$.email,function($e$jscomp$0$$,$admin$$){const $menu$$={menu:JSON.parse(JSON.stringify($Menu_menu$$))};let $_menu$$=$menu$$.menu=$menu$$.menu.filter($m$$=>!$m$$.appAllow||0===$m$$.appAllow.length||0<=$m$$.appAllow.indexOf($id_app$$));$menu$$.modules
|
|
18
|
-
function($module$$,$callback$$){var $m$$=$module$$.command;$permission$$.hasRight($id_app$$,$user$$.email,$m$$.module?$m$$.module:$m$$.path,"view",function($e$$,$right$$){$m$$.visible=$right$$;$callback$$()})},function($e$$){if($e$$)return $res$$.status(400).send($e$$);$_menu$$.forEach(function($child_menu$$){$child_menu$$.visible=!1;if("1"==$child_menu$$.type)for(let $i$$ of $child_menu$$.input)if($i$$.items)for(let $_i$$ of $i$$.items){if($_i$$.visible){$i$$.visible
|
|
19
|
-
break}}else if($i$$.visible){$child_menu$$.visible=!0;break}"2"==$child_menu$$.type&&$child_menu$$.input.forEach(function($module$$){$module$$.visible=!1;$module$$.items.forEach(function($item$$){$item$$.visible&&($module$$.visible=!0,$child_menu$$.visible=!0)})});"3"==$child_menu$$.type&&$child_menu$$.input.forEach(function($module$$){$module$$.visible=!1;$module$$.items.forEach(function($group$$){$group$$.visible=!1;$group$$.items.forEach(function($item$$){$item$$.visible&&
|
|
20
|
-
$module$$.visible=!0,$child_menu$$.visible=!0)})})})});$res$$.send($menu$$)})})})})});const $bot_router$$=express.Router();configs.limitRequest.bot&&($limiter$jscomp$2_limiter$$=$createRateLimiterMiddleware_limiter_others$$(configs.limitRequest.bot,"bot"),$router$$.use($limiter$jscomp$2_limiter$$));$app$$.use("/bot",$bot_router$$);fs.existsSync(__dirname+"/modules/bot")&&(console.log("init bot..."),fs.readdirSync(__dirname+"/modules/bot").forEach(function($file$$){".js"===$file$$.substr(-3)&&
|
|
21
|
-
|
|
22
|
-
appModel.findOne({_id:$id_app$$},function($error$$,$app$$){if($error$$)return $next$$($error$$);if($app$$)$req$$.user={current_id_app:$id_app$$,email:"public"},$req$$.query.id_app=$id_app$$,$next$$();else return $res$$.status(400).send("Kh\u00f4ng t\u1ed3n t\u1ea1i c\u00f4ng ty n\u00e0y")})}else $next$$()});$app$$.use("/public",$public_router$$);const $funcs_public_inited$$={};configs.paths.modules&&fs.existsSync(configs.paths.modules+"/public")&&(console.log("init custom public..."),
|
|
23
|
-
"/public").forEach(function($file$$){".js"==$file$$.substr(-3)&&(require(configs.paths.modules+"/public/"+$file$$)($public_router$$),$funcs_public_inited$$[$file$$]=$file$$)}));fs.existsSync(__dirname+"/modules/public")&&(console.log("init default public..."),fs.readdirSync(__dirname+"/modules/public").filter($file$$=>!$funcs_public_inited$$[$file$$]).forEach(function($file$$){".js"==$file$$.substr(-3)&&(require("./modules/public/"+$file$$)($public_router$$),$funcs_public_inited$$[$file$$]
|
|
24
|
-
$createRateLimiterMiddleware_limiter_others$$=$createRateLimiterMiddleware_limiter_others$$(configs.limitRequest.other||{},"other");$app$$.get("/getfile/:folder/:filename",$createRateLimiterMiddleware_limiter_others$$,function($req$$,$res$$){let $root_dir$$=configs.paths.images||path.join(__dirname,"images"),$imgPath$$=path.join($root_dir$$,$req$$.params.folder,$req$$.params.filename);if(fs.existsSync($imgPath$$)){let $size$$,$cache$$;if($req$$.query.size||$req$$.query.resize)switch(String($req$$.query.size||
|
|
17
|
+
$app$$){if($e$jscomp$1$$||!$app$$)return $res$$.status(400).send("Kh\u00f4ng th\u1ec3 l\u1ea5y th\u00f4ng tin c\u1ee7a c\u00f4ng ty n\u00e0y.\n");$permission$$.isAdmin($id_app$$,$user$$.email,function($e$jscomp$0$$,$admin$$){if($e$jscomp$0$$)return $res$$.status(403).send({error:$e$jscomp$0$$});const $menu$$={menu:JSON.parse(JSON.stringify($Menu_menu$$))};let $_menu$$=$menu$$.menu=$menu$$.menu.filter($m$$=>!$m$$.appAllow||0===$m$$.appAllow.length||0<=$m$$.appAllow.indexOf($id_app$$));$menu$$.modules=
|
|
18
|
+
$Menu$$.getModules($_menu$$);$admin$$?$res$$.send($menu$$):async.map(underscore.values($menu$$.modules),function($module$$,$callback$$){var $m$$=$module$$.command;$permission$$.hasRight($id_app$$,$user$$.email,$m$$.module?$m$$.module:$m$$.path,"view",function($e$$,$right$$){$m$$.visible=$right$$;$callback$$()})},function($e$$){if($e$$)return $res$$.status(400).send($e$$);$_menu$$.forEach(function($child_menu$$){$child_menu$$.visible=!1;if("1"==$child_menu$$.type)for(let $i$$ of $child_menu$$.input)if($i$$.items)for(let $_i$$ of $i$$.items){if($_i$$.visible){$i$$.visible=
|
|
19
|
+
!0;$child_menu$$.visible=!0;break}}else if($i$$.visible){$child_menu$$.visible=!0;break}"2"==$child_menu$$.type&&$child_menu$$.input.forEach(function($module$$){$module$$.visible=!1;$module$$.items.forEach(function($item$$){$item$$.visible&&($module$$.visible=!0,$child_menu$$.visible=!0)})});"3"==$child_menu$$.type&&$child_menu$$.input.forEach(function($module$$){$module$$.visible=!1;$module$$.items.forEach(function($group$$){$group$$.visible=!1;$group$$.items.forEach(function($item$$){$item$$.visible&&
|
|
20
|
+
($group$$.visible=!0,$module$$.visible=!0,$child_menu$$.visible=!0)})})})});$res$$.send($menu$$)})})})})});const $bot_router$$=express.Router();configs.limitRequest.bot&&($limiter$jscomp$2_limiter$$=$createRateLimiterMiddleware_limiter_others$$(configs.limitRequest.bot,"bot"),$router$$.use($limiter$jscomp$2_limiter$$));$app$$.use("/bot",$bot_router$$);fs.existsSync(__dirname+"/modules/bot")&&(console.log("init bot..."),fs.readdirSync(__dirname+"/modules/bot").forEach(function($file$$){".js"===$file$$.substr(-3)&&
|
|
21
|
+
require("./modules/bot/"+$file$$)($bot_router$$)}));const $public_router$$=express.Router();configs.limitRequest.public&&($limiter$jscomp$2_limiter$$=$createRateLimiterMiddleware_limiter_others$$(configs.limitRequest.public,"public"),$router$$.use($limiter$jscomp$2_limiter$$));$public_router$$.use(function($req$$,$res$$,$next$$){for(let $key$$ in $req$$.query)"true"==$req$$.query[$key$$]&&($req$$.query[$key$$]=!0),"false"==$req$$.query[$key$$]&&($req$$.query[$key$$]=!1);if($req$$.query.id_app){let $id_app$$=
|
|
22
|
+
$req$$.query.id_app;appModel.findOne({_id:$id_app$$},function($error$$,$app$$){if($error$$)return $next$$($error$$);if($app$$)$req$$.user={current_id_app:$id_app$$,email:"public"},$req$$.query.id_app=$id_app$$,$next$$();else return $res$$.status(400).send("Kh\u00f4ng t\u1ed3n t\u1ea1i c\u00f4ng ty n\u00e0y")})}else $next$$()});$app$$.use("/public",$public_router$$);const $funcs_public_inited$$={};configs.paths.modules&&fs.existsSync(configs.paths.modules+"/public")&&(console.log("init custom public..."),
|
|
23
|
+
fs.readdirSync(configs.paths.modules+"/public").forEach(function($file$$){".js"==$file$$.substr(-3)&&(require(configs.paths.modules+"/public/"+$file$$)($public_router$$),$funcs_public_inited$$[$file$$]=$file$$)}));fs.existsSync(__dirname+"/modules/public")&&(console.log("init default public..."),fs.readdirSync(__dirname+"/modules/public").filter($file$$=>!$funcs_public_inited$$[$file$$]).forEach(function($file$$){".js"==$file$$.substr(-3)&&(require("./modules/public/"+$file$$)($public_router$$),$funcs_public_inited$$[$file$$]=
|
|
24
|
+
$file$$)}));$createRateLimiterMiddleware_limiter_others$$=$createRateLimiterMiddleware_limiter_others$$(configs.limitRequest.other||{},"other");$app$$.get("/getfile/:folder/:filename",$createRateLimiterMiddleware_limiter_others$$,function($req$$,$res$$){let $root_dir$$=configs.paths.images||path.join(__dirname,"images"),$imgPath$$=path.join($root_dir$$,$req$$.params.folder,$req$$.params.filename);if(fs.existsSync($imgPath$$)){let $size$$,$cache$$;if($req$$.query.size||$req$$.query.resize)switch(String($req$$.query.size||
|
|
25
25
|
$req$$.query.resize).toUpperCase()){case "64":case "X":$size$$=64;$cache$$=!0;break;case "128":$size$$=128;$cache$$=!0;break;case "320":case "S":$size$$=320;$cache$$=!0;break;case "512":case "M":$size$$=512;$cache$$=!0;break;case "1024":case "L":$size$$=1024;$cache$$=!0;break;default:try{$size$$=Number($req$$.query.size||$req$$.query.resize)}catch($e$$){console.log("size param must be X or S or M or L or a number")}}if($size$$){let $file_name_resize$$=path.join($root_dir$$,$req$$.params.folder,String($size$$)+
|
|
26
26
|
"."+$req$$.params.filename);if(fs.existsSync($file_name_resize$$))return gm($file_name_resize$$).stream(function($err$$,$stdout$$){$stdout$$.pipe($res$$)});$cache$$?gm($imgPath$$).resize($size$$,null).write($file_name_resize$$,function($error$$){if($error$$)console.log("Can't resize image \n"+$error$$),$res$$.sendFile($imgPath$$);else return gm($file_name_resize$$).stream(function($err$$,$stdout$$){$stdout$$.pipe($res$$)})}):gm($imgPath$$).resize($size$$,null).stream(function($err$$,$stdout$$){$stdout$$.pipe($res$$)})}else $res$$.sendFile($imgPath$$)}else $res$$.sendFile(path.join(__dirname,
|
|
27
27
|
"images","others","noimage.png"))});const $Labelinfo$$=global.getModel("labelinfo");$app$$.get("/labels/:labelid",$createRateLimiterMiddleware_limiter_others$$,function($labelid_req$$,$res$$){$labelid_req$$=$labelid_req$$.params.labelid.toUpperCase();$Labelinfo$$.find({labelid:$labelid_req$$}).lean().exec(($e$$,$labels$$)=>{if($e$$)return $res$$.status(400).send($e$$);let $_labels$$={};$labels$$.forEach($l$$=>{$_labels$$[$l$$.textid]=$l$$});$res$$.send($_labels$$)})});const $qr$$=require("qr-image");
|