flexbiz-server 12.3.10 → 12.3.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 CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "flexbiz-server",
3
3
  "main": "./server/app.js",
4
4
  "description": "Flexible Server",
5
- "version": "12.3.10",
5
+ "version": "12.3.12",
6
6
  "author": {
7
7
  "name": "Van Truong Pham",
8
8
  "email": "invncur@gmail.com"
@@ -52,10 +52,10 @@ $modelJoins$$=[];$info$$&&(await $custs_listInfo_tk_dt$$.updateModel($info$$,$ct
52
52
  $v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_kh)));$custs_listInfo_tk_dt$$=$custs_listInfo_tk_dt$$.map($kh$$=>{$kh$$.ma_kh||($kh$$.ma_kh=$kh$$.ten_kh.replace(/[^\w\s]/gi,"").split(" ").join("").toUpperCase());return{ma_kh:$kh$$.ma_kh,ten_kh:$kh$$.ten_kh,dia_chi:$kh$$.dia_chi||"",dien_thoai:$kh$$.dien_thoai||"",ma_so_thue:$kh$$.ma_so_thue||""}});$custs_listInfo_tk_dt$$=await $custs_listInfo_tk_dt$$.asyncGroupBy(["ma_kh","ten_kh","dia_chi","dien_thoai","ma_so_thue"],
53
53
  []);for($dvts_kh$$ of $custs_listInfo_tk_dt$$)$dvts_kh$$.id_app=$id_app$$,$dvts_kh$$.user_created=$user$$.email,await global.getModel("customer").asyncCreateCustomer($dvts_kh$$);var $dvts_kh$$=[];$model$$.schema.paths.ma_kho&&($dvts_kh$$=$data$$.filter($r$$=>$r$$.ten_kho));$model$$.schema.paths.details&&($dvts_kh$$=$dvts_kh$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ten_kho)));$dvts_kh$$=$dvts_kh$$.map($kh$$=>{$kh$$.ma_kho||($kh$$.ma_kho=
54
54
  $kh$$.ten_kho.replace(/[^\w\s]/gi,"").split(" ").join("").toUpperCase());return{ma_kho:$kh$$.ma_kho,ten_kho:$kh$$.ten_kho}});$dvts_kh$$=await $dvts_kh$$.asyncGroupBy(["ma_kho","ten_kho"],[]);for($kho_vts$$ of $dvts_kh$$)$kho_vts$$.id_app=$id_app$$,$kho_vts$$.user_created=$user$$.email,$kho_vts$$.status=!0,await global.getModel("dmkho").findOne({id_app:$id_app$$,ma_kho:$kho_vts$$.ma_kho}).lean()||await global.getModel("dmkho").create($kho_vts$$);var $kho_vts$$=[];$model$$.schema.paths.ma_vt&&($kho_vts$$=
55
- $data$$.filter($r$$=>$r$$.ma_vt&&$r$$.ten_vt));$model$$.schema.paths.details&&($kho_vts$$=$kho_vts$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ma_vt&&$r$$.ten_vt)));$kho_vts$$=$kho_vts$$.map($vt$$=>({ma_vt:$vt$$.ma_vt,ten_vt:$vt$$.ten_vt,ma_dvt:$vt$$.ma_dvt||"Kh\u00f4ng \u0111\u01a1n v\u1ecb t\u00ednh",user_created:$user$$.email}));$kho_vts$$=await $kho_vts$$.asyncGroupBy(["ma_vt","ten_vt","ma_dvt"],[]);$dvts_kh$$=await $kho_vts$$.asyncGroupBy(["ma_dvt"],
56
- []);for($dvt_tk_vt$$ of $dvts_kh$$)$dvt_tk_vt$$.id_app=$id_app$$,$dvt_tk_vt$$.ten_dvt=$dvt_tk_vt$$.ma_dvt,$dvt_tk_vt$$.status=!0,$dvt_tk_vt$$.user_created=$user$$.email,await global.getModel("dmdvt").findOne({ma_dvt:$dvt_tk_vt$$.ma_dvt,id_app:$id_app$$}).lean()||(console.log("create dvt",$dvt_tk_vt$$),await global.getModel("dmdvt").create($dvt_tk_vt$$));var $dvt_tk_vt$$=(await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^156",$option:"i"}},{tk:1}).lean()||{}).tk;$dvts_kh$$=
57
- (await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^632",$option:"i"}},{tk:1}).lean()||{}).tk;$custs_listInfo_tk_dt$$=(await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^511",$option:"i"}},{tk:1}).lean()||{}).tk;for(let $vt$$ of $kho_vts$$)$vt$$.id_app=$id_app$$,$vt$$.tk_vt=$dvt_tk_vt$$,$vt$$.tk_gv=$dvts_kh$$,$vt$$.tk_dt=$custs_listInfo_tk_dt$$,$vt$$.status=!0,$vt$$.user_created=$user$$.email,await global.getModel("dmvt").findOne({ma_vt:$vt$$.ma_vt,
58
- id_app:$id_app$$}).lean()||(console.log("create product",$vt$$),await global.getModel("dmvt").create($vt$$),await global.getModel("dmqddvt").create({id_app:$id_app$$,status:!0,ma_vt:$vt$$.ma_vt,ma_dvt:$vt$$.ma_dvt,tu:1,ma:1}));$data$$.forEach($r$$=>{delete $r$$.ten_dvcs;global.mongoose.Types.ObjectId.isValid($r$$._id)&&delete $r$$._id});await $data$$.filter($r$$=>$r$$.ma_dvcs).asyncJoinModel2($id_app$$,global.getModel("dvcs"),{where:{ma_dvcs:"_id"},fields:"ten_dvcs"});async.mapSeries($data$$,function($row$$,
55
+ $data$$.filter($r$$=>$r$$.ma_vt&&$r$$.ten_vt));$model$$.schema.paths.details&&($kho_vts$$=$kho_vts$$.concat($data$$.map($v$$=>$v$$.details||[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($r$$=>$r$$.ma_vt&&$r$$.ten_vt)));$kho_vts$$=$kho_vts$$.map($vt$$=>({ma_vt:$vt$$.ma_vt,ten_vt:$vt$$.ten_vt,ma_dvt:$vt$$.ma_dvt||"Kh\u00f4ng \u0111\u01a1n v\u1ecb t\u00ednh",user_created:$user$$.email}));$kho_vts$$=await $kho_vts$$.asyncGroupBy(["ma_vt","ten_vt","ma_dvt"],[]);if(0<$kho_vts$$.length){$dvts_kh$$=
56
+ await $kho_vts$$.asyncGroupBy(["ma_dvt"],[]);for($dvt_tk_vt$$ of $dvts_kh$$)$dvt_tk_vt$$.id_app=$id_app$$,$dvt_tk_vt$$.ten_dvt=$dvt_tk_vt$$.ma_dvt,$dvt_tk_vt$$.status=!0,$dvt_tk_vt$$.user_created=$user$$.email,await global.getModel("dmdvt").findOne({ma_dvt:$dvt_tk_vt$$.ma_dvt,id_app:$id_app$$}).lean()||(console.log("create dvt",$dvt_tk_vt$$),await global.getModel("dmdvt").create($dvt_tk_vt$$));var $dvt_tk_vt$$=(await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^156",$options:"i"}},
57
+ {tk:1}).lean()||{}).tk;$dvts_kh$$=(await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^632",$options:"i"}},{tk:1}).lean()||{}).tk;$custs_listInfo_tk_dt$$=(await global.getModel("account").findOne({id_app:$id_app$$,loai:1,tk:{$regex:"^511",$options:"i"}},{tk:1}).lean()||{}).tk;for(let $vt$$ of $kho_vts$$)$vt$$.id_app=$id_app$$,$vt$$.tk_vt=$dvt_tk_vt$$,$vt$$.tk_gv=$dvts_kh$$,$vt$$.tk_dt=$custs_listInfo_tk_dt$$,$vt$$.status=!0,$vt$$.user_created=$user$$.email,await global.getModel("dmvt").findOne({ma_vt:$vt$$.ma_vt,
58
+ id_app:$id_app$$}).lean()||(console.log("create product",$vt$$),await global.getModel("dmvt").create($vt$$),await global.getModel("dmqddvt").create({id_app:$id_app$$,status:!0,ma_vt:$vt$$.ma_vt,ma_dvt:$vt$$.ma_dvt,tu:1,ma:1}))}$data$$.forEach($r$$=>{delete $r$$.ten_dvcs;global.mongoose.Types.ObjectId.isValid($r$$._id)&&delete $r$$._id});await $data$$.filter($r$$=>$r$$.ma_dvcs).asyncJoinModel2($id_app$$,global.getModel("dvcs"),{where:{ma_dvcs:"_id"},fields:"ten_dvcs"});async.mapSeries($data$$,function($row$$,
59
59
  $callback$$){const $row_keys$$=Object.keys($row$$);$row_keys$$.filter($key$$=>$ctrl$$.model.schema.paths[$key$$]).forEach($key$$=>{let $data_type$$=$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase(),$data_value$$=$row$$[$key$$];if($data_value$$&&_.isString($data_value$$)&&("mixed"==$data_type$$||"array"==$data_type$$)&&($data_value$$=$data_value$$.trim(),0==$data_value$$.indexOf("[")||0==$data_value$$.indexOf("{")))try{$row$$[$key$$]=JSONParser($data_value$$)}catch($e$$){delete $row$$[$key$$],
60
60
  console.error("Error parse data",$e$$)}});setImmediate(async()=>{for(let $i$$=0;$i$$<$modelJoins$$.length;$i$$++){let $field_ref$$=$modelJoins$$[$i$$];if($row$$[$field_ref$$.name]){let $new_data_ref$$=await global.getModel("originimportid").findOne({id_app:$id_app$$,old_id:$row$$[$field_ref$$.name]}).lean();$new_data_ref$$&&($row$$[$field_ref$$.name]=$new_data_ref$$.new_id)}}delete $row$$.__v;let $old_id$$=$row$$._id;$row$$.ma_dvcs&&!$row$$.ten_dvcs&&delete $row$$.ma_dvcs;$row$$.id_app&&$id_app$$!=
61
61
  $row$$.id_app&&delete $row$$._id;delete $row$$.id_app;if($replace$$&&($ctrl$$.unique&&0<$ctrl$$.unique.length||$row$$._id)){let $query$$={};if($ctrl$$.unique&&0<$ctrl$$.unique.length){if($ctrl$$.options.unique_imp&&null!=$row$$[$ctrl$$.options.unique_imp]&&void 0!=$row$$[$ctrl$$.options.unique_imp]&&""!=$row$$[$ctrl$$.options.unique_imp])$query$$[$ctrl$$.options.unique_imp]=$row$$[$ctrl$$.options.unique_imp];else if($ctrl$$.unique.forEach(function($k$$){0<=$row_keys$$.indexOf($k$$)&&($query$$[$k$$]=
@@ -247,19 +247,19 @@ postData=controller.postData=function($obj$$,$ctrl$$,$callback$jscomp$0$$,$optio
247
247
  $ctrl$$.beforePost||($ctrl$$.beforePost=function($obj_created$$,$callback$$){$callback$$(null,null)});$ctrl$$.beforePost($obj_created$$,function($e$jscomp$3$$){if($e$jscomp$3$$)return $callback$jscomp$0$$($e$jscomp$3$$);deletePost($obj_created$$.user_updated,$obj_created$$,async function($e$jscomp$2$$){if($e$jscomp$2$$)return $callback$jscomp$0$$($e$jscomp$2$$);if($ctrl$$.dynamicDeletePost)try{await $ctrl$$.dynamicDeletePost($obj_created$$)}catch($e$$){return $callback$jscomp$0$$($e$$.message||$e$$.error||
248
248
  $e$$)}setImmediate(()=>{if($obj_created$$.trang_thai||0==$obj_created$$.trang_thai)$obj_created$$.trang_thai=$obj_created$$.trang_thai.toString();trangthai.findOne({ma_ct:($obj_created$$.ma_ct||"").toUpperCase(),ma_trang_thai:$obj_created$$.trang_thai},function($e$jscomp$1$$,$trang_thai$$){if($e$jscomp$1$$)return $callback$jscomp$0$$($e$jscomp$1$$);if($trang_thai$$&&!$trang_thai$$.post)return $callback$jscomp$0$$();setImmediate(()=>{$post$$($obj_created$$,function($e$jscomp$0$$,$rs$$){setImmediate(()=>
249
249
  {if($e$jscomp$0$$){let $msg_error$$=$e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$.toString();if(0<=$msg_error$$.indexOf("E11000 duplicate")&&(0<=$msg_error$$.indexOf("id_ct_1_nh_dk_1")||0<=$msg_error$$.indexOf("id_ct_1_line_1")))return $callback$jscomp$0$$(null,$rs$$);console.error("error post data",$obj_created$$._id,$msg_error$$);deletePost($obj_created$$.user_updated,$obj_created$$,async function($e_delete_post$$){if($e_delete_post$$)return console.error("error delete post",$e_delete_post$$),
250
- $callback$jscomp$0$$($e_delete_post$$);console.error("deleted books because error post");if($ctrl$$.dynamicDeletePost)try{return await $ctrl$$.dynamicDeletePost($obj_created$$),$callback$jscomp$0$$($e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$)}catch($e$$){return console.error("dynamicDeletePost",$e$$.message||$e$$.error||$e$$),$callback$jscomp$0$$($e$$)}else $callback$jscomp$0$$($e$jscomp$0$$)})}else $callback$jscomp$0$$(null,$rs$$)})},$options$$)})})})})})},pushNotification=controller.pushNotification=
251
- ($ctrl$$,$_obj$$,$eventName$$="new",$old_obj$$=null,$justFireEvents$$=!1,$options$$={title:"",data:{}})=>{setImmediate(async()=>{if($_obj$$.status){var $obj$jscomp$0$$=$_obj$$.toObject?$_obj$$.toObject():{...$_obj$$};$obj$jscomp$0$$._id=$obj$jscomp$0$$._id.toString();$options$$||($options$$={});var $exclude_token$$=$options$$.exclude_token,$trang_thai$$=($obj$jscomp$0$$.trang_thai||(0==$obj$jscomp$0$$.progress?"0":$obj$jscomp$0$$.progress)||"").toString();if($old_obj$$&&!$justFireEvents$$){var $id_func_listinfos$$=
252
- ($old_obj$$.trang_thai||(0==$old_obj$$.progress?"0":$old_obj$$.progress)||"").toString();$id_func_listinfos$$===$trang_thai$$&&($justFireEvents$$=!0)}$id_func_listinfos$$=$obj$jscomp$0$$.listinfo_code;$id_func_listinfos$$||($id_func_listinfos$$=(await global.getModel("listinfo").find({api_code:$ctrl$$.name},{code:1}).lean()).map($a$$=>$a$$.code),$id_func_listinfos$$.push($ctrl$$.name),$id_func_listinfos$$=[...(new Set($id_func_listinfos$$))],$id_func_listinfos$$={$in:$id_func_listinfos$$});$id_func_listinfos$$=
253
- (await OptionsModel.find({id_app:$obj$jscomp$0$$.id_app,id_func:$id_func_listinfos$$,option:{$exists:!0}},{option:1}).lean()).filter($v$$=>$v$$.option&&$v$$.option.users_receive_notification).map($v$$=>$v$$.option.users_receive_notification).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);0===$id_func_listinfos$$.length&&($id_func_listinfos$$=await Promise.all((($ctrl$$.options||{}).users_receive_notification_default||[]).map($n$$=>new Promise($resolve$$=>{setImmediate(async()=>{underscore.isFunction($n$$)?
254
- $resolve$$(await $n$$($obj$jscomp$0$$)):$resolve$$($n$$)})}))));$id_func_listinfos$$&&($id_func_listinfos$$=$id_func_listinfos$$.filter($u$$=>!$u$$.trang_thai||$u$$.trang_thai.toString()===$trang_thai$$||"delete"===$u$$.trang_thai.toString()),$id_func_listinfos$$=$id_func_listinfos$$.filter($func_string$jscomp$1_n$$=>{if(!$func_string$jscomp$1_n$$.condition||!$func_string$jscomp$1_n$$.condition.trim())return!0;$func_string$jscomp$1_n$$=$func_string$jscomp$1_n$$.condition;0>$func_string$jscomp$1_n$$.indexOf("return ")&&
255
- ($func_string$jscomp$1_n$$=`return ${$func_string$jscomp$1_n$$}`);try{return evalute($func_string$jscomp$1_n$$,{...$obj$jscomp$0$$,master:$obj$jscomp$0$$,data:$obj$jscomp$0$$})}catch($e$$){return console.error("pushNotification",$e$$,$func_string$jscomp$1_n$$),!1}}),$id_func_listinfos$$.forEach(async $p$jscomp$0$$=>{setImmediate(async()=>{let $_justFireEvents$$=$justFireEvents$$;$p$jscomp$0$$.just_fire_events&&($_justFireEvents$$=$p$jscomp$0$$.just_fire_events);let $notificationData$$={_id:$obj$jscomp$0$$._id,
256
- trang_thai:$trang_thai$$,id_app:$obj$jscomp$0$$.id_app,code:$obj$jscomp$0$$.ma_ct||$ctrl$$.name,id_link:$obj$jscomp$0$$.id_link,code_link:$obj$jscomp$0$$.code_link,event:$eventName$$,action:$eventName$$.toUpperCase(),data:$options$$.data,key:$options$$.key,not_send_email:$p$jscomp$0$$.not_send_email,justFireEvents:$_justFireEvents$$};if($justFireEvents$$||"delete"===$eventName$$.toLowerCase())$notificationData$$.title="",$notificationData$$.body="";else{try{$notificationData$$.body=$p$jscomp$0$$.body?
257
- compileHtml($p$jscomp$0$$.body,$obj$jscomp$0$$):""}catch($e$$){$notificationData$$.body=$p$jscomp$0$$.body,console.error($ctrl$$.name,"compileHtml body",$e$$,$obj$jscomp$0$$)}try{$notificationData$$.title=stripHtmlTags(compileHtml($options$$.title||$p$jscomp$0$$.title||$p$jscomp$0$$.content||"",$obj$jscomp$0$$))}catch($e$$){$notificationData$$.title=$options$$.title||$p$jscomp$0$$.title||$p$jscomp$0$$.content||"",console.error($ctrl$$.name,"compileHtml title",$e$$,$obj$jscomp$0$$)}}if($p$jscomp$0$$.email_content)try{$notificationData$$.email_content=
258
- compileHtml($p$jscomp$0$$.email_content,$obj$jscomp$0$$)}catch($e$$){$notificationData$$.email_content=$p$jscomp$0$$.email_content,console.error($ctrl$$.name,"compileHtml email_content",$e$$,$obj$jscomp$0$$)}$notificationData$$.title||$notificationData$$.body||($exclude_token$$=null);let $users_will_receive$$=$p$jscomp$0$$.users;$users_will_receive$$||($users_will_receive$$=[]);$options$$.users_will_receive&&0<$options$$.users_will_receive.length&&($users_will_receive$$=$users_will_receive$$.concat($options$$.users_will_receive));
259
- $p$jscomp$0$$.send_phu_trach&&$obj$jscomp$0$$.phu_trach&&($users_will_receive$$=$users_will_receive$$.concat([$obj$jscomp$0$$.phu_trach]));if($p$jscomp$0$$.send_admin){var $admins_of_user_sandbox$$=(await Participant.find({id_app:$obj$jscomp$0$$.id_app,admin:!0}).lean()).map($p$$=>$p$$.email);$users_will_receive$$=$users_will_receive$$.concat($admins_of_user_sandbox$$)}$p$jscomp$0$$.send_attends&&$obj$jscomp$0$$.attends&&($users_will_receive$$=$users_will_receive$$.concat($obj$jscomp$0$$.attends));
260
- $p$jscomp$0$$.group_id&&($admins_of_user_sandbox$$=(await Participant.find({id_app:$obj$jscomp$0$$.id_app,group_id:$p$jscomp$0$$.group_id}).lean()).map($u$$=>$u$$.email),$users_will_receive$$=$users_will_receive$$.concat($admins_of_user_sandbox$$));$p$jscomp$0$$.send_to_customer&&($obj$jscomp$0$$.ma_kh||$obj$jscomp$0$$.id_kh)&&($admins_of_user_sandbox$$=await mongoose.models.customer.getInfo($obj$jscomp$0$$.id_app,{$or:[{ma_kh:$obj$jscomp$0$$.ma_kh},{_id:$obj$jscomp$0$$.id_kh}]},"of_user"))&&($users_will_receive$$=
261
- $users_will_receive$$.concat([$admins_of_user_sandbox$$]));$p$jscomp$0$$.send_to_user_created?$users_will_receive$$=$users_will_receive$$.concat([$obj$jscomp$0$$.user_created]):!1===$p$jscomp$0$$.send_to_user_created&&($users_will_receive$$=$users_will_receive$$.filter($u$$=>$u$$!==$obj$jscomp$0$$.user_created));if($p$jscomp$0$$.handle_receivers){$admins_of_user_sandbox$$={obj:$obj$jscomp$0$$,users_will_receive:$users_will_receive$$,utils};try{let $str_func$$=$p$jscomp$0$$.handle_receivers;if(0>$str_func$$.indexOf("async ")){0>
262
- $str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);let $cust_users_will_receive$$=await evalute(`return (async ()=>{
250
+ $callback$jscomp$0$$($e_delete_post$$);console.error("deleted books because error post");if($ctrl$$.dynamicDeletePost)try{return await $ctrl$$.dynamicDeletePost($obj_created$$),$callback$jscomp$0$$($e$jscomp$0$$.message||$e$jscomp$0$$.error||$e$jscomp$0$$)}catch($e$$){return console.error("dynamicDeletePost",$e$$.message||$e$$.error||$e$$),$callback$jscomp$0$$($e$$)}else $callback$jscomp$0$$($e$jscomp$0$$)})}else $callback$jscomp$0$$(null,$rs$$)})},{...$ctrl$$.options,...$options$$})})})})})})},pushNotification=
251
+ controller.pushNotification=($ctrl$$,$_obj$$,$eventName$$="new",$old_obj$$=null,$justFireEvents$$=!1,$options$$={title:"",data:{}})=>{setImmediate(async()=>{if($_obj$$.status){var $obj$jscomp$0$$=$_obj$$.toObject?$_obj$$.toObject():{...$_obj$$};$obj$jscomp$0$$._id=$obj$jscomp$0$$._id.toString();$options$$||($options$$={});var $exclude_token$$=$options$$.exclude_token,$trang_thai$$=($obj$jscomp$0$$.trang_thai||(0==$obj$jscomp$0$$.progress?"0":$obj$jscomp$0$$.progress)||"").toString();if($old_obj$$&&
252
+ !$justFireEvents$$){var $id_func_listinfos$$=($old_obj$$.trang_thai||(0==$old_obj$$.progress?"0":$old_obj$$.progress)||"").toString();$id_func_listinfos$$===$trang_thai$$&&($justFireEvents$$=!0)}$id_func_listinfos$$=$obj$jscomp$0$$.listinfo_code;$id_func_listinfos$$||($id_func_listinfos$$=(await global.getModel("listinfo").find({api_code:$ctrl$$.name},{code:1}).lean()).map($a$$=>$a$$.code),$id_func_listinfos$$.push($ctrl$$.name),$id_func_listinfos$$=[...(new Set($id_func_listinfos$$))],$id_func_listinfos$$=
253
+ {$in:$id_func_listinfos$$});$id_func_listinfos$$=(await OptionsModel.find({id_app:$obj$jscomp$0$$.id_app,id_func:$id_func_listinfos$$,option:{$exists:!0}},{option:1}).lean()).filter($v$$=>$v$$.option&&$v$$.option.users_receive_notification).map($v$$=>$v$$.option.users_receive_notification).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);0===$id_func_listinfos$$.length&&($id_func_listinfos$$=await Promise.all((($ctrl$$.options||{}).users_receive_notification_default||[]).map($n$$=>new Promise($resolve$$=>
254
+ {setImmediate(async()=>{underscore.isFunction($n$$)?$resolve$$(await $n$$($obj$jscomp$0$$)):$resolve$$($n$$)})}))));$id_func_listinfos$$&&($id_func_listinfos$$=$id_func_listinfos$$.filter($u$$=>!$u$$.trang_thai||$u$$.trang_thai.toString()===$trang_thai$$||"delete"===$u$$.trang_thai.toString()),$id_func_listinfos$$=$id_func_listinfos$$.filter($func_string$jscomp$1_n$$=>{if(!$func_string$jscomp$1_n$$.condition||!$func_string$jscomp$1_n$$.condition.trim())return!0;$func_string$jscomp$1_n$$=$func_string$jscomp$1_n$$.condition;
255
+ 0>$func_string$jscomp$1_n$$.indexOf("return ")&&($func_string$jscomp$1_n$$=`return ${$func_string$jscomp$1_n$$}`);try{return evalute($func_string$jscomp$1_n$$,{...$obj$jscomp$0$$,master:$obj$jscomp$0$$,data:$obj$jscomp$0$$})}catch($e$$){return console.error("pushNotification",$e$$,$func_string$jscomp$1_n$$),!1}}),$id_func_listinfos$$.forEach(async $p$jscomp$0$$=>{setImmediate(async()=>{let $_justFireEvents$$=$justFireEvents$$;$p$jscomp$0$$.just_fire_events&&($_justFireEvents$$=$p$jscomp$0$$.just_fire_events);
256
+ let $notificationData$$={_id:$obj$jscomp$0$$._id,trang_thai:$trang_thai$$,id_app:$obj$jscomp$0$$.id_app,code:$obj$jscomp$0$$.ma_ct||$ctrl$$.name,id_link:$obj$jscomp$0$$.id_link,code_link:$obj$jscomp$0$$.code_link,event:$eventName$$,action:$eventName$$.toUpperCase(),data:$options$$.data,key:$options$$.key,not_send_email:$p$jscomp$0$$.not_send_email,justFireEvents:$_justFireEvents$$};if($justFireEvents$$||"delete"===$eventName$$.toLowerCase())$notificationData$$.title="",$notificationData$$.body="";
257
+ else{try{$notificationData$$.body=$p$jscomp$0$$.body?compileHtml($p$jscomp$0$$.body,$obj$jscomp$0$$):""}catch($e$$){$notificationData$$.body=$p$jscomp$0$$.body,console.error($ctrl$$.name,"compileHtml body",$e$$,$obj$jscomp$0$$)}try{$notificationData$$.title=stripHtmlTags(compileHtml($options$$.title||$p$jscomp$0$$.title||$p$jscomp$0$$.content||"",$obj$jscomp$0$$))}catch($e$$){$notificationData$$.title=$options$$.title||$p$jscomp$0$$.title||$p$jscomp$0$$.content||"",console.error($ctrl$$.name,"compileHtml title",
258
+ $e$$,$obj$jscomp$0$$)}}if($p$jscomp$0$$.email_content)try{$notificationData$$.email_content=compileHtml($p$jscomp$0$$.email_content,$obj$jscomp$0$$)}catch($e$$){$notificationData$$.email_content=$p$jscomp$0$$.email_content,console.error($ctrl$$.name,"compileHtml email_content",$e$$,$obj$jscomp$0$$)}$notificationData$$.title||$notificationData$$.body||($exclude_token$$=null);let $users_will_receive$$=$p$jscomp$0$$.users;$users_will_receive$$||($users_will_receive$$=[]);$options$$.users_will_receive&&
259
+ 0<$options$$.users_will_receive.length&&($users_will_receive$$=$users_will_receive$$.concat($options$$.users_will_receive));$p$jscomp$0$$.send_phu_trach&&$obj$jscomp$0$$.phu_trach&&($users_will_receive$$=$users_will_receive$$.concat([$obj$jscomp$0$$.phu_trach]));if($p$jscomp$0$$.send_admin){var $admins_of_user_sandbox$$=(await Participant.find({id_app:$obj$jscomp$0$$.id_app,admin:!0}).lean()).map($p$$=>$p$$.email);$users_will_receive$$=$users_will_receive$$.concat($admins_of_user_sandbox$$)}$p$jscomp$0$$.send_attends&&
260
+ $obj$jscomp$0$$.attends&&($users_will_receive$$=$users_will_receive$$.concat($obj$jscomp$0$$.attends));$p$jscomp$0$$.group_id&&($admins_of_user_sandbox$$=(await Participant.find({id_app:$obj$jscomp$0$$.id_app,group_id:$p$jscomp$0$$.group_id}).lean()).map($u$$=>$u$$.email),$users_will_receive$$=$users_will_receive$$.concat($admins_of_user_sandbox$$));$p$jscomp$0$$.send_to_customer&&($obj$jscomp$0$$.ma_kh||$obj$jscomp$0$$.id_kh)&&($admins_of_user_sandbox$$=await mongoose.models.customer.getInfo($obj$jscomp$0$$.id_app,
261
+ {$or:[{ma_kh:$obj$jscomp$0$$.ma_kh},{_id:$obj$jscomp$0$$.id_kh}]},"of_user"))&&($users_will_receive$$=$users_will_receive$$.concat([$admins_of_user_sandbox$$]));$p$jscomp$0$$.send_to_user_created?$users_will_receive$$=$users_will_receive$$.concat([$obj$jscomp$0$$.user_created]):!1===$p$jscomp$0$$.send_to_user_created&&($users_will_receive$$=$users_will_receive$$.filter($u$$=>$u$$!==$obj$jscomp$0$$.user_created));if($p$jscomp$0$$.handle_receivers){$admins_of_user_sandbox$$={obj:$obj$jscomp$0$$,users_will_receive:$users_will_receive$$,
262
+ utils};try{let $str_func$$=$p$jscomp$0$$.handle_receivers;if(0>$str_func$$.indexOf("async ")){0>$str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);let $cust_users_will_receive$$=await evalute(`return (async ()=>{
263
263
  try{
264
264
  ${$str_func$$}
265
265
  }catch(e){
@@ -9,14 +9,15 @@ configs.api_url||configs.domain;return`<table style='margin-top:10px'>
9
9
  <th>Ch\u1ecdn t\u1eeb danh s\u00e1ch</th>
10
10
  <th>C\u00e1c tr\u01b0\u1eddng chi ti\u1ebft</th>
11
11
  </tr>
12
- ${$fields$$.filter($f$$=>"true"!=$f$$.not_input&&1!=$f$$.not_input&&0>($f$$.grid_configs||"").indexOf("readOnly")&&"Button"!=$f$$.type&&"Link"!=$f$$.type&&types.find($t$$=>$t$$.code==$f$$.type)).map($field$$=>{var $h_type$$=types.find($t$$=>$t$$.code==$field$$.type);let $ref_model$$=$field$$.ref_model||"";$ref_model$$&&0>$ref_model$$.indexOf("[")&&0>$ref_model$$.indexOf(",")&&($detail_url_model$$=`${$server_url$$}/api-docs-input/${$ref_model$$}`,$id_app$$&&($detail_url_model$$=$detail_url_model$$+
13
- "?id_app="+$id_app$$),$ref_model$$=`<a href='${$detail_url_model$$}'>${$ref_model$$}</a>`);var $detail_url_model$$=$field$$.form||"";"0"==$detail_url_model$$&&($detail_url_model$$="");if($detail_url_model$$){let $url_fields$$=`${$server_url$$}/api-docs-fields/${$detail_url_model$$}?import_yn=${$import_yn$$?1:0}`;$id_app$$&&($url_fields$$=$url_fields$$+"?id_app="+$id_app$$);$detail_url_model$$=`<a href='${$url_fields$$}'>${$detail_url_model$$}</a>`}$h_type$$=`<tr>
12
+ ${$fields$$.filter($f$$=>0<=["ten_vt","ten_kh","ten_kho"].indexOf($f$$.name)||"true"!=$f$$.not_input&&1!=$f$$.not_input&&0>($f$$.grid_configs||"").indexOf("readOnly")&&"Button"!=$f$$.type&&"Link"!=$f$$.type&&types.find($t$$=>$t$$.code==$f$$.type)).map($field$$=>{var $h_type$$=types.find($t$$=>$t$$.code==$field$$.type);let $ref_model$$=$field$$.ref_model||"";$ref_model$$&&0>$ref_model$$.indexOf("[")&&0>$ref_model$$.indexOf(",")&&($detail_url_model$$=`${$server_url$$}/api-docs-input/${$ref_model$$}`,
13
+ $id_app$$&&($detail_url_model$$=$detail_url_model$$+"?id_app="+$id_app$$),$ref_model$$=`<a href='${$detail_url_model$$}'>${$ref_model$$}</a>`);var $detail_url_model$$=$field$$.form||"";"0"==$detail_url_model$$&&($detail_url_model$$="");$detail_url_model$$&&($description_url_fields$$=`${$server_url$$}/api-docs-fields/${$detail_url_model$$}?import_yn=${$import_yn$$?1:0}`,$id_app$$&&($description_url_fields$$=$description_url_fields$$+"&id_app="+$id_app$$),$detail_url_model$$=`<a href='${$description_url_fields$$}'>${$detail_url_model$$}</a>`);
14
+ var $description_url_fields$$=$field$$.api_description||$field$$.header;0<=["ten_vt","ten_kh","ten_kho"].indexOf($field$$.name)&&($description_url_fields$$=`${$description_url_fields$$}. N\u1ebfu \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i trong danh m\u1ee5c th\u00ec h\u1ec7 th\u1ed1ng s\u1ebd s\u1eed d\u1ee5ng th\u00f4ng tin n\u00e0y \u0111\u1ec3 t\u1ea1o`);$h_type$$=`<tr>
14
15
  <td>${$field$$.name}</td>
15
16
  <td>${$h_type$$.type_data||$h_type$$.code}</td>
16
17
  <td>${1==$field$$.required||"true"==$field$$.required?"Yes":"No"}</td>
17
18
  <td>${"String"==$field$$.type?$field$$.maxlength||4E3:""}</td>
18
19
  <td>
19
- ${$field$$.api_description||$field$$.header}
20
+ ${$description_url_fields$$}
20
21
  <div><i>${$field$$.help_text||""}</i></div>
21
22
  </td>
22
23
  <td>${$ref_model$$}</td>
@@ -1,24 +1,24 @@
1
1
  'use strict';const SocaiModel=global.getModel("socai"),dmtk=global.getModel("account"),async=require("async"),cktk=require("./cktk"),ckcn=require("./ckcn"),moment=require("moment"),numeral=require("numeral"),asyncCkcn=async $condition$$=>new Promise(($resolve$$,$reject$$)=>{ckcn($condition$$,($du_e$$,$rs$$)=>{if($du_e$$)return $reject$$($du_e$$);$du_e$$=$rs$$.map($r$$=>$r$$.du_no00-$r$$.du_co00).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$resolve$$($du_e$$)})}),asyncCheckHMCN=async($hmcnct_id_app$$,$obj$$,
2
- $tk$$,$ma_kh$$,$ps_no_tien_tien$$,$ps_co$$)=>{var $acc_hm$$=await dmtk.findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,loai_tk:1}).lean();if(!$acc_hm$$)throw"Kh\u00f4ng t\u1ed3n t\u1ea1i t\u00e0i kho\u1ea3n "+$tk$$;if($acc_hm$$.tk_cn&&(($acc_hm$$=await global.getModel("hmcn").findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,ma_kh:$ma_kh$$,status:!0}).lean())||($acc_hm$$=await global.getModel("hmcn").findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,status:!0,ma_kh:{$in:[null,""]}}).lean()),$acc_hm$$)){let $du_ck$$=await asyncCkcn({id_app:$hmcnct_id_app$$,
3
- tk:$tk$$,ma_kh:$ma_kh$$,bu_tru:!0,ngay:moment($obj$$.ngay_ct).endOf("year").toDate()});if("2"==$acc_hm$$.loai){$du_ck$$=0-$du_ck$$;$ps_no_tien_tien$$=$ps_co$$-$ps_no_tien_tien$$;if(0>$ps_no_tien_tien$$)return;if(0==$acc_hm$$.hm){if($du_ck$$>$acc_hm$$.hm)throw`Nh\u00e0 cung c\u1ea5p n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm$$.hm).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck$$).format()} VND, ph\u00e1t sinh ${0>$ps_no_tien_tien$$?
4
- "-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;}else if($du_ck$$+$ps_no_tien_tien$$>$acc_hm$$.hm)throw`Nh\u00e0 cung c\u1ea5p n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm$$.hm).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck$$).format()} VND, ph\u00e1t sinh ${0>$ps_no_tien_tien$$?"-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;}else{$ps_no_tien_tien$$-=$ps_co$$;if(0>$ps_no_tien_tien$$)return;if(0==$acc_hm$$.hm){if($du_ck$$>
5
- $acc_hm$$.hm)throw`Kh\u00e1ch h\u00e0ng n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm$$.hm).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck$$).format()} VND, ph\u00e1t sinh ${0>$ps_no_tien_tien$$?"-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;}else if($du_ck$$+$ps_no_tien_tien$$>$acc_hm$$.hm)throw`Kh\u00e1ch h\u00e0ng n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm$$.hm).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck$$).format()} VND, ph\u00e1t sinh ${0>
6
- $ps_no_tien_tien$$?"-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;}$hmcnct_id_app$$=await global.getModel("hmcnct").findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,ma_kh:$ma_kh$$,id_ct:$obj$$._id.toString()}).lean();$hmcnct_id_app$$||($hmcnct_id_app$$={...$acc_hm$$},$hmcnct_id_app$$.id_ct=$obj$$._id.toString(),delete $hmcnct_id_app$$._id,await global.getModel("hmcnct").create($hmcnct_id_app$$))}},checkAcc=function($id_app$$,$data$$,$tk$$,$ma_kh$$,$callback$$){dmtk.findOne({id_app:$id_app$$,
7
- tk:$tk$$,loai_tk:1}).lean().exec(async($e$$,$acc$$)=>{if($e$$||!$acc$$)return $callback$$($e$$||`T\u00e0i kho\u1ea3n ${$tk$$} kh\u00f4ng t\u1ed3n t\u1ea1i ho\u1eb7c kh\u00f4ng ph\u1ea3i l\u00e0 t\u00e0i kho\u1ea3n chi ti\u1ebft.`);if($acc$$.tk_cn&&!$ma_kh$$)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp kh\u00e1ch h\u00e0ng`);if($acc$$.tk_cp_yn&&!$data$$.ma_phi)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp doanh thu/chi ph\u00ed`);if($acc$$.tk_kho_yn&&
8
- !$data$$.ma_kho)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp kho/c\u1eeda h\u00e0ng`);if($acc$$.tk_bp_yn&&!$data$$.ma_bp)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp b\u1ed9 ph\u1eadn`);if($acc$$.tk_dt_yn&&!$data$$.ma_dt)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp v\u1ee5 vi\u1ec7c, d\u1ef1 \u00e1n`);if($acc$$.tk_hd_yn&&!$data$$.ma_hd)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp h\u1ee3p \u0111\u1ed3ng`);
9
- if($acc$$.tk_nv_yn&&!$data$$.ma_nv)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp nh\u00e2n vi\u00ean`);if($acc$$.tk_td1_yn&&!$data$$.ma_td1)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp ma_td1`);if($acc$$.tk_td2_yn&&!$data$$.ma_td2)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp ma_td2`);if($acc$$.tk_td3_yn&&!$data$$.ma_td3)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp ma_td3`);
10
- $callback$$(null,$acc$$)})},checkData=function($id_app$$,$ngay_ct$$,$_data$$,$callback$jscomp$0$$){async.series({tk_no:$callback$$=>{checkAcc($id_app$$,$_data$$,$_data$$.tk_no,$_data$$.ma_kh_no,($e$$,$acc$$)=>{if($e$$)return $callback$$($e$$);$acc$$.not_du_no_yn&&0!=$_data$$.check_balance?cktk({id_app:$id_app$$,tk:$_data$$.tk_no,bu_tru:!0,ngay:moment($ngay_ct$$).endOf("year").toDate()},($du_no$jscomp$2_e$$,$rs$$)=>{if($du_no$jscomp$2_e$$)return $callback$$($du_no$jscomp$2_e$$);$du_no$jscomp$2_e$$=
11
- $rs$$.map($r$$=>$r$$.du_no00-$r$$.du_co00).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+$_data$$.tien;0<$du_no$jscomp$2_e$$?$callback$$(`T\u00e0i kho\u1ea3n ${$_data$$.tk_no} kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 s\u1ed1 d\u01b0 b\u00ean n\u1ee3 : ${$du_no$jscomp$2_e$$}`):$callback$$()}):$callback$$()})},tk_co:$callback$$=>{checkAcc($id_app$$,$_data$$,$_data$$.tk_co,$_data$$.ma_kh_co,($e$$,$acc$$)=>{if($e$$)return $callback$$($e$$);$acc$$.not_du_co_yn&&0!=$_data$$.check_balance?cktk({id_app:$id_app$$,
12
- tk:$_data$$.tk_co,bu_tru:!0,ngay:moment($ngay_ct$$).endOf("year").toDate()},($du_co$jscomp$2_e$$,$rs$$)=>{if($du_co$jscomp$2_e$$)return $callback$$($du_co$jscomp$2_e$$);$du_co$jscomp$2_e$$=$rs$$.map($r$$=>$r$$.du_co00-$r$$.du_no00).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+$_data$$.tien;0<$du_co$jscomp$2_e$$?$callback$$(`T\u00e0i kho\u1ea3n ${$_data$$.tk_co} kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 s\u1ed1 d\u01b0 b\u00ean c\u00f3: ${$du_co$jscomp$2_e$$}`):$callback$$()}):$callback$$()})}},$e$$=>{$callback$jscomp$0$$($e$$,
13
- $_data$$)})},post=function($master$$,$details$$,$prepare$$,$model$$=SocaiModel){$details$$&&(this.master={...$master$$},this.details=$details$$.map($detail$$=>({...$detail$$})),this.model=$model$$,this.prepare=$prepare$$)};
2
+ $tk$$,$ma_kh$$,$ps_no_tien_tien$$,$ps_co$$)=>{var $acc_hm_query$$=await dmtk.findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,loai_tk:1}).lean();if(!$acc_hm_query$$)throw"Kh\u00f4ng t\u1ed3n t\u1ea1i t\u00e0i kho\u1ea3n "+$tk$$;if($acc_hm_query$$.tk_cn){$acc_hm_query$$={id_app:$hmcnct_id_app$$,tk:$tk$$,ma_kh:$ma_kh$$,status:!0};var $du_ck_ngay_ct$$=new Date($obj$$.ngay_ct);$acc_hm_query$$.$and=[{$or:[{hieu_luc_tu:null},{hieu_luc_tu:{$lte:moment($du_ck_ngay_ct$$).endOf("date").toDate()}}]},{$or:[{hieu_luc_den:null},
3
+ {hieu_luc_den:{$gte:moment($du_ck_ngay_ct$$).startOf("date").toDate()}}]}];($acc_hm_query$$=await global.getModel("hmcn").findOne($acc_hm_query$$).lean())||($acc_hm_query$$=await global.getModel("hmcn").findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,status:!0,ma_kh:{$in:[null,""]}}).lean());if($acc_hm_query$$){$du_ck_ngay_ct$$=await asyncCkcn({id_app:$hmcnct_id_app$$,tk:$tk$$,ma_kh:$ma_kh$$,bu_tru:!0,ngay:moment($obj$$.ngay_ct).endOf("year").toDate()});if("2"==$acc_hm_query$$.loai){$du_ck_ngay_ct$$=0-
4
+ $du_ck_ngay_ct$$;$ps_no_tien_tien$$=$ps_co$$-$ps_no_tien_tien$$;if(0>$ps_no_tien_tien$$)return;if(0==$acc_hm_query$$.hm){if($du_ck_ngay_ct$$>$acc_hm_query$$.hm)throw`Nh\u00e0 cung c\u1ea5p n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm_query$$.hm).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck_ngay_ct$$).format()} VND, ph\u00e1t sinh ${0>$ps_no_tien_tien$$?"-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;}else if($du_ck_ngay_ct$$+
5
+ $ps_no_tien_tien$$>$acc_hm_query$$.hm)throw`Nh\u00e0 cung c\u1ea5p n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm_query$$.hm).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck_ngay_ct$$).format()} VND, ph\u00e1t sinh ${0>$ps_no_tien_tien$$?"-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;}else{$ps_no_tien_tien$$-=$ps_co$$;if(0>$ps_no_tien_tien$$)return;if(0==$acc_hm_query$$.hm){if($du_ck_ngay_ct$$>$acc_hm_query$$.hm)throw`Kh\u00e1ch h\u00e0ng n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm_query$$.hm).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck_ngay_ct$$).format()} VND, ph\u00e1t sinh ${0>
6
+ $ps_no_tien_tien$$?"-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;}else if($du_ck_ngay_ct$$+$ps_no_tien_tien$$>$acc_hm_query$$.hm)throw`Kh\u00e1ch h\u00e0ng n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm_query$$.hm).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck_ngay_ct$$).format()} VND, ph\u00e1t sinh ${0>$ps_no_tien_tien$$?"-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;}$hmcnct_id_app$$=await global.getModel("hmcnct").findOne({id_app:$hmcnct_id_app$$,
7
+ tk:$tk$$,ma_kh:$ma_kh$$,id_ct:$obj$$._id.toString()}).lean();$hmcnct_id_app$$||($hmcnct_id_app$$={...$acc_hm_query$$},$hmcnct_id_app$$.id_ct=$obj$$._id.toString(),delete $hmcnct_id_app$$._id,await global.getModel("hmcnct").create($hmcnct_id_app$$))}}},checkAcc=function($id_app$$,$data$$,$tk$$,$ma_kh$$,$callback$$){dmtk.findOne({id_app:$id_app$$,tk:$tk$$,loai_tk:1}).lean().exec(async($e$$,$acc$$)=>{if($e$$||!$acc$$)return $callback$$($e$$||`T\u00e0i kho\u1ea3n ${$tk$$} kh\u00f4ng t\u1ed3n t\u1ea1i ho\u1eb7c kh\u00f4ng ph\u1ea3i l\u00e0 t\u00e0i kho\u1ea3n chi ti\u1ebft.`);
8
+ if($acc$$.tk_cn&&!$ma_kh$$)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp kh\u00e1ch h\u00e0ng`);if($acc$$.tk_cp_yn&&!$data$$.ma_phi)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp doanh thu/chi ph\u00ed`);if($acc$$.tk_kho_yn&&!$data$$.ma_kho)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp kho/c\u1eeda h\u00e0ng`);if($acc$$.tk_bp_yn&&!$data$$.ma_bp)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp b\u1ed9 ph\u1eadn`);
9
+ if($acc$$.tk_dt_yn&&!$data$$.ma_dt)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp v\u1ee5 vi\u1ec7c, d\u1ef1 \u00e1n`);if($acc$$.tk_hd_yn&&!$data$$.ma_hd)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp h\u1ee3p \u0111\u1ed3ng`);if($acc$$.tk_nv_yn&&!$data$$.ma_nv)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp nh\u00e2n vi\u00ean`);if($acc$$.tk_td1_yn&&!$data$$.ma_td1)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp ma_td1`);
10
+ if($acc$$.tk_td2_yn&&!$data$$.ma_td2)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp ma_td2`);if($acc$$.tk_td3_yn&&!$data$$.ma_td3)return $callback$$(`T\u00e0i kho\u1ea3n ${$tk$$} y\u00eau c\u1ea7u nh\u1eadp ma_td3`);$callback$$(null,$acc$$)})},checkData=function($id_app$$,$ngay_ct$$,$_data$$,$callback$jscomp$0$$){async.series({tk_no:$callback$$=>{checkAcc($id_app$$,$_data$$,$_data$$.tk_no,$_data$$.ma_kh_no,($e$$,$acc$$)=>{if($e$$)return $callback$$($e$$);$acc$$.not_du_no_yn&&
11
+ 0!=$_data$$.check_balance?cktk({id_app:$id_app$$,tk:$_data$$.tk_no,bu_tru:!0,ngay:moment($ngay_ct$$).endOf("year").toDate()},($du_no$jscomp$2_e$$,$rs$$)=>{if($du_no$jscomp$2_e$$)return $callback$$($du_no$jscomp$2_e$$);$du_no$jscomp$2_e$$=$rs$$.map($r$$=>$r$$.du_no00-$r$$.du_co00).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+$_data$$.tien;0<$du_no$jscomp$2_e$$?$callback$$(`T\u00e0i kho\u1ea3n ${$_data$$.tk_no} kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 s\u1ed1 d\u01b0 b\u00ean n\u1ee3 : ${$du_no$jscomp$2_e$$}`):
12
+ $callback$$()}):$callback$$()})},tk_co:$callback$$=>{checkAcc($id_app$$,$_data$$,$_data$$.tk_co,$_data$$.ma_kh_co,($e$$,$acc$$)=>{if($e$$)return $callback$$($e$$);$acc$$.not_du_co_yn&&0!=$_data$$.check_balance?cktk({id_app:$id_app$$,tk:$_data$$.tk_co,bu_tru:!0,ngay:moment($ngay_ct$$).endOf("year").toDate()},($du_co$jscomp$2_e$$,$rs$$)=>{if($du_co$jscomp$2_e$$)return $callback$$($du_co$jscomp$2_e$$);$du_co$jscomp$2_e$$=$rs$$.map($r$$=>$r$$.du_co00-$r$$.du_no00).reduce(($a$$,$b$$)=>$a$$+$b$$,0)+$_data$$.tien;
13
+ 0<$du_co$jscomp$2_e$$?$callback$$(`T\u00e0i kho\u1ea3n ${$_data$$.tk_co} kh\u00f4ng \u0111\u01b0\u1ee3c ph\u00e9p c\u00f3 s\u1ed1 d\u01b0 b\u00ean c\u00f3: ${$du_co$jscomp$2_e$$}`):$callback$$()}):$callback$$()})}},$e$$=>{$callback$jscomp$0$$($e$$,$_data$$)})},post=function($master$$,$details$$,$prepare$$,$model$$=SocaiModel,$_options$$={}){$details$$&&(this.master={...$master$$},this.details=$details$$.map($detail$$=>({...$detail$$})),this.model=$model$$,this._options=$_options$$,this.prepare=$prepare$$)};
14
14
  post.prototype.runPrepare=async($prepare$$,$details$jscomp$0$$)=>{$details$jscomp$0$$=$details$jscomp$0$$.map($d$$=>{$d$$.toObject&&($d$$=$d$$.toObject());return{...$d$$}});return new Promise($resolve$$=>{$prepare$$?async.mapSeries($details$jscomp$0$$,($detail$jscomp$0$$,$callback$$)=>{setImmediate(()=>{$detail$jscomp$0$$.toObject=function(){return Object.assign({},$detail$jscomp$0$$)};$prepare$$($detail$jscomp$0$$,$detail$$=>{$detail$$.toObject=function(){return Object.assign({},$detail$$)};$callback$$(null,
15
15
  $detail$$)})})},($e$$,$details$$)=>{$resolve$$($details$$)}):$resolve$$($details$jscomp$0$$)})};
16
16
  post.prototype.run=async function($callback$jscomp$0$$=()=>{}){if(!this.details)return $callback$jscomp$0$$(null,null);const $Socai$$=this.model||SocaiModel;let $master$$=this.master,$details$jscomp$0$$=await this.runPrepare(this.prepare,this.details);$details$jscomp$0$$.forEach($d$$=>{$d$$.tk_no=$d$$.tk_no||$master$$.tk_no;$d$$.tk_co=$d$$.tk_co||$master$$.tk_co;$d$$.ma_ct=$master$$.ma_ct;$d$$.so_ct=$master$$.so_ct;$d$$.ngay_ct=$master$$.ngay_ct});$details$jscomp$0$$=$details$jscomp$0$$.filter($d$$=>
17
- $d$$.tk_no&&$d$$.tk_co);if(!$master$$.ngay_ct)return $callback$jscomp$0$$("ngay_ct is not null");let $check_hmcn$$=$details$jscomp$0$$.map($d$$=>[{tk:$d$$.tk_no,ps_no:$d$$.tien,ps_co:0,ma_kh:$d$$.ma_kh_no||$d$$.ma_kh||$master$$.ma_kh},{tk:$d$$.tk_co,ps_no:0,ps_co:$d$$.tien,ma_kh:$d$$.ma_kh_co||$d$$.ma_kh||$master$$.ma_kh}]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]).filter($a$$=>$a$$.ma_kh&&($a$$.ps_no||$a$$.ps_co));$check_hmcn$$=await $check_hmcn$$.asyncGroupBy(["tk","ma_kh"],["ps_no","ps_co"]);if(0<
18
- $check_hmcn$$.length)try{await Promise.all($check_hmcn$$.map($d$$=>asyncCheckHMCN($master$$.id_app,$master$$,$d$$.tk,$d$$.ma_kh,$d$$.ps_no,$d$$.ps_co)))}catch($e$$){return $callback$jscomp$0$$($e$$.message||$e$$.error||$e$$)}async.mapSeries($details$jscomp$0$$,($detail$jscomp$0$$,$callback$$)=>{setImmediate(()=>{$detail$jscomp$0$$.ma_kh_no||($detail$jscomp$0$$.ma_kh_no=$detail$jscomp$0$$.ma_kh||$master$$.ma_kh);$detail$jscomp$0$$.ma_kh_co||($detail$jscomp$0$$.ma_kh_co=$detail$jscomp$0$$.ma_kh||$master$$.ma_kh);
19
- checkData($master$$.id_app,$master$$.ngay_ct,$detail$jscomp$0$$,($e$$,$detail$$)=>{$callback$$($e$$,$detail$$)})})},($but_toan_loi_e$$,$details$$)=>{if($but_toan_loi_e$$)return $callback$jscomp$0$$($but_toan_loi_e$$);$but_toan_loi_e$$=$details$$.filter($detail$$=>isNaN($detail$$.tien_nt)||isNaN($detail$$.tien));0<$but_toan_loi_e$$.length&&console.error("Cac but toan khong hop ly",$but_toan_loi_e$$,"cua chung tu",$master$$._id);let $dks$$=$details$$.filter($detail$$=>!(0===$detail$$.tien_nt&&0===$detail$$.tien)&&
20
- !isNaN($detail$$.tien_nt)&&!isNaN($detail$$.tien)).map(($detail$$,$nh_dk$$)=>{for(let $attr$$ in $Socai$$.schema.paths)"id_ct"!=$attr$$&&"_id"!=$attr$$&&"__v"!=$attr$$&&"date_updated"!=$attr$$&&"date_created"!=$attr$$&&(void 0!==$detail$$[$attr$$]&&null!==$detail$$[$attr$$]&&""!==$detail$$[$attr$$]||0===$detail$$[$attr$$]||void 0===$master$$[$attr$$]||($detail$$[$attr$$]=$master$$[$attr$$]));$detail$$.nh_dk=$nh_dk$$;$detail$$.id_ct=$master$$._id.toString();delete $detail$$.toObject;delete $detail$$._id;
21
- delete $detail$$.__v;return $detail$$});$Socai$$.deleteMany({id_ct:$master$$._id.toString()},$error$$=>{if($error$$)return $callback$jscomp$0$$("Don't remove socai \n"+$error$$);if(0==$dks$$.length)return $callback$jscomp$0$$(null,[]);$Socai$$.create($dks$$,async($e$$,$msg_error_rs$$)=>{if($e$$)if($msg_error_rs$$=$e$$.message||$e$$.error||$e$$.toString(),0<=$msg_error_rs$$.indexOf("E11000 duplicate")&&0<=$msg_error_rs$$.indexOf("id_ct_1_nh_dk_1"))if($msg_error_rs$$=await $Socai$$.find({id_ct:$master$$._id.toString()}),
22
- 0<$msg_error_rs$$.length)$callback$jscomp$0$$(null,$msg_error_rs$$);else{console.error("Error save socai",$e$$,$master$$);let $q_remove$$={id_app:$master$$.id_app,id_ct:$master$$._id.toString()};$Socai$$.deleteMany($q_remove$$,($_e$$,$rs$$)=>{console.error("delete socai because error when posting",$master$$._id.toString(),JSON.stringify($rs$$),$q_remove$$);$callback$jscomp$0$$($e$$)})}else{console.error("Error save socai",$e$$,$master$$);let $q_remove$$={id_app:$master$$.id_app,id_ct:$master$$._id.toString()};
23
- $Socai$$.deleteMany($q_remove$$,($_e$$,$rs$$)=>{console.error("delete socai because error when posting",$master$$._id.toString(),JSON.stringify($rs$$),$q_remove$$);$callback$jscomp$0$$($e$$)})}else if($master$$.ma_ct){let $contr$$=global.controllers[$master$$.ma_ct.toUpperCase()];$contr$$?await $contr$$.model.findById($master$$._id)?$callback$jscomp$0$$(null,$msg_error_rs$$):$Socai$$.deleteMany({id_ct:$master$$._id.toString()},($_e$$,$rs$$)=>{console.error("Ch\u1ee9ng t\u1eeb kh\u00f4ng t\u1ed3n t\u1ea1i. X\u00f3a socai",
24
- $master$$._id,$rs$$);$callback$jscomp$0$$($e$$)}):(console.log("not found controller",$master$$.ma_ct.toUpperCase()),$callback$jscomp$0$$(null,$msg_error_rs$$))}else $callback$jscomp$0$$(null,$msg_error_rs$$)})})})};module.exports=post;
17
+ $d$$.tk_no&&$d$$.tk_co);if(!$master$$.ngay_ct)return $callback$jscomp$0$$("ngay_ct is not null");if(this._options.kiem_tra_han_muc_cong_no){console.log("Ki\u1ec3m tra h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3",$master$$.ma_kh,$master$$.ma_ct);let $check_hmcn$$=$details$jscomp$0$$.map($d$$=>[{tk:$d$$.tk_no,ps_no:$d$$.tien,ps_co:0,ma_kh:$d$$.ma_kh_no||$d$$.ma_kh||$master$$.ma_kh},{tk:$d$$.tk_co,ps_no:0,ps_co:$d$$.tien,ma_kh:$d$$.ma_kh_co||$d$$.ma_kh||$master$$.ma_kh}]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),
18
+ []).filter($a$$=>$a$$.ma_kh&&($a$$.ps_no||$a$$.ps_co));$check_hmcn$$=await $check_hmcn$$.asyncGroupBy(["tk","ma_kh"],["ps_no","ps_co"]);if(0<$check_hmcn$$.length)try{await Promise.all($check_hmcn$$.map($d$$=>asyncCheckHMCN($master$$.id_app,$master$$,$d$$.tk,$d$$.ma_kh,$d$$.ps_no,$d$$.ps_co)))}catch($e$$){return $callback$jscomp$0$$($e$$.message||$e$$.error||$e$$)}}async.mapSeries($details$jscomp$0$$,($detail$jscomp$0$$,$callback$$)=>{setImmediate(()=>{$detail$jscomp$0$$.ma_kh_no||($detail$jscomp$0$$.ma_kh_no=
19
+ $detail$jscomp$0$$.ma_kh||$master$$.ma_kh);$detail$jscomp$0$$.ma_kh_co||($detail$jscomp$0$$.ma_kh_co=$detail$jscomp$0$$.ma_kh||$master$$.ma_kh);checkData($master$$.id_app,$master$$.ngay_ct,$detail$jscomp$0$$,($e$$,$detail$$)=>{$callback$$($e$$,$detail$$)})})},($but_toan_loi_e$$,$details$$)=>{if($but_toan_loi_e$$)return $callback$jscomp$0$$($but_toan_loi_e$$);$but_toan_loi_e$$=$details$$.filter($detail$$=>isNaN($detail$$.tien_nt)||isNaN($detail$$.tien));0<$but_toan_loi_e$$.length&&console.error("Cac but toan khong hop ly",
20
+ $but_toan_loi_e$$,"cua chung tu",$master$$._id);let $dks$$=$details$$.filter($detail$$=>!(0===$detail$$.tien_nt&&0===$detail$$.tien)&&!isNaN($detail$$.tien_nt)&&!isNaN($detail$$.tien)).map(($detail$$,$nh_dk$$)=>{for(let $attr$$ in $Socai$$.schema.paths)"id_ct"!=$attr$$&&"_id"!=$attr$$&&"__v"!=$attr$$&&"date_updated"!=$attr$$&&"date_created"!=$attr$$&&(void 0!==$detail$$[$attr$$]&&null!==$detail$$[$attr$$]&&""!==$detail$$[$attr$$]||0===$detail$$[$attr$$]||void 0===$master$$[$attr$$]||($detail$$[$attr$$]=
21
+ $master$$[$attr$$]));$detail$$.nh_dk=$nh_dk$$;$detail$$.id_ct=$master$$._id.toString();delete $detail$$.toObject;delete $detail$$._id;delete $detail$$.__v;return $detail$$});$Socai$$.deleteMany({id_ct:$master$$._id.toString()},$error$$=>{if($error$$)return $callback$jscomp$0$$("Don't remove socai \n"+$error$$);if(0==$dks$$.length)return $callback$jscomp$0$$(null,[]);$Socai$$.create($dks$$,async($e$$,$msg_error_rs$$)=>{if($e$$)if($msg_error_rs$$=$e$$.message||$e$$.error||$e$$.toString(),0<=$msg_error_rs$$.indexOf("E11000 duplicate")&&
22
+ 0<=$msg_error_rs$$.indexOf("id_ct_1_nh_dk_1"))if($msg_error_rs$$=await $Socai$$.find({id_ct:$master$$._id.toString()}),0<$msg_error_rs$$.length)$callback$jscomp$0$$(null,$msg_error_rs$$);else{console.error("Error save socai",$e$$,$master$$);let $q_remove$$={id_app:$master$$.id_app,id_ct:$master$$._id.toString()};$Socai$$.deleteMany($q_remove$$,($_e$$,$rs$$)=>{console.error("delete socai because error when posting",$master$$._id.toString(),JSON.stringify($rs$$),$q_remove$$);$callback$jscomp$0$$($e$$)})}else{console.error("Error save socai",
23
+ $e$$,$master$$);let $q_remove$$={id_app:$master$$.id_app,id_ct:$master$$._id.toString()};$Socai$$.deleteMany($q_remove$$,($_e$$,$rs$$)=>{console.error("delete socai because error when posting",$master$$._id.toString(),JSON.stringify($rs$$),$q_remove$$);$callback$jscomp$0$$($e$$)})}else if($master$$.ma_ct){let $contr$$=global.controllers[$master$$.ma_ct.toUpperCase()];$contr$$?await $contr$$.model.findById($master$$._id)?$callback$jscomp$0$$(null,$msg_error_rs$$):$Socai$$.deleteMany({id_ct:$master$$._id.toString()},
24
+ ($_e$$,$rs$$)=>{console.error("Ch\u1ee9ng t\u1eeb kh\u00f4ng t\u1ed3n t\u1ea1i. X\u00f3a socai",$master$$._id,$rs$$);$callback$jscomp$0$$($e$$)}):(console.log("not found controller",$master$$.ma_ct.toUpperCase()),$callback$jscomp$0$$(null,$msg_error_rs$$))}else $callback$jscomp$0$$(null,$msg_error_rs$$)})})})};module.exports=post;
@@ -1,7 +1,7 @@
1
1
  'use strict';const gt_ctgt=global.getModel("gt_ctgt"),xoadulieucu=require("./tinhGtXoa"),tinhgiathanhtt=require("./tinhGtTrucTiep"),tinhsoluong=require("./tinhGtSltk"),taphopcppstk=require("./tinhGtThcppstk"),phanbotheosl=require("./tinhGtPhanboSltp"),phanbotheohs=require("./tinhGtPhanboHeSo"),phanbotheoyt=require("./tinhGtPhanboYtcp"),capnhatpnk=require("./tinhGtCapnhatPNK"),tinhgiatb=require("./tinhgiatb");
2
- module.exports=function($condition$$,$callback$$){if(!($condition$$&&$condition$$.thang&&$condition$$.nam&&$condition$$.id_app))return $callback$$("T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: thang,nam,id_app");$condition$$.nam=Number($condition$$.nam);$condition$$.thang=Number($condition$$.thang);console.log("tinh gia thanh",$condition$$);(new Promise(($resolve$$,$reject$$)=>{xoadulieucu($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resolve$$($rs$$)})})).then(()=>
3
- new Promise(($resole$$,$reject$$)=>{tinhsoluong($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{taphopcppstk($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{tinhgiathanhtt($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{phanbotheosl($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);
4
- $resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{phanbotheohs($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{phanbotheoyt($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{phanbotheoyt($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{capnhatpnk($condition$$,
5
- ($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{setImmediate(async()=>{var $cond_ds_ma_vt_query_dmvt$$={id_app:$condition$$.id_app,nam:$condition$$.nam,thang:$condition$$.thang};$condition$$.ma_bp&&($cond_ds_ma_vt_query_dmvt$$.ma_bp=$condition$$.ma_bp.toUpperCase());$condition$$.id_lenhsx&&global.mongoose.Types.ObjectId.isValid($condition$$.id_lenhsx)&&($cond_ds_ma_vt_query_dmvt$$.id_lenhsx=$condition$$.id_lenhsx);const $ctgt$$=await gt_ctgt.find($cond_ds_ma_vt_query_dmvt$$).lean();
2
+ module.exports=function($condition$$,$callback$$){if(!($condition$$&&$condition$$.thang&&$condition$$.nam&&$condition$$.id_app))return $callback$$("T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: thang,nam,id_app");$condition$$.nam=Number($condition$$.nam);$condition$$.thang=Number($condition$$.thang);(new Promise(($resolve$$,$reject$$)=>{xoadulieucu($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resolve$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>
3
+ {tinhsoluong($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{taphopcppstk($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{tinhgiathanhtt($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{phanbotheosl($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>
4
+ new Promise(($resole$$,$reject$$)=>{phanbotheohs($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{phanbotheoyt($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{phanbotheoyt($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{capnhatpnk($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);
5
+ $resole$$($rs$$)})})).then(()=>new Promise(($resole$$,$reject$$)=>{setImmediate(async()=>{var $cond_ds_ma_vt_query_dmvt$$={id_app:$condition$$.id_app,nam:$condition$$.nam,thang:$condition$$.thang};$condition$$.ma_bp&&($cond_ds_ma_vt_query_dmvt$$.ma_bp=$condition$$.ma_bp.toUpperCase());$condition$$.id_lenhsx&&global.mongoose.Types.ObjectId.isValid($condition$$.id_lenhsx)&&($cond_ds_ma_vt_query_dmvt$$.id_lenhsx=$condition$$.id_lenhsx);const $ctgt$$=await gt_ctgt.find($cond_ds_ma_vt_query_dmvt$$).lean();
6
6
  $cond_ds_ma_vt_query_dmvt$$=[...(new Set($ctgt$$.filter($r$$=>$r$$.ma_sp).map($r$$=>$r$$.ma_sp)))];$cond_ds_ma_vt_query_dmvt$$={id_app:$condition$$.id_app,nam:$condition$$.nam,tu_thang:$condition$$.thang,den_thang:$condition$$.thang,ma_vt:{$in:$cond_ds_ma_vt_query_dmvt$$}};console.log("tinh gia trung binh",$cond_ds_ma_vt_query_dmvt$$);tinhgiatb($cond_ds_ma_vt_query_dmvt$$,function($e$$){console.log("ket thuc tinh gia trung binh",$e$$);if($e$$)return $reject$$($e$$);$resole$$($ctgt$$)})})})).then($ctgt$$=>
7
7
  {$callback$$(null,$ctgt$$)}).catch($e$$=>{console.log("error",$e$$);$callback$$($e$$)})};
@@ -1,20 +1,20 @@
1
1
  'use strict';const ckvt=require("./ckvt"),sokho=global.getModel("sokho"),socai=global.getModel("socai"),dmvt=global.getModel("dmvt"),giatb=global.getModel("giatb"),dmqddvt=global.getModel("dmqddvt"),tinhgiatb1vt=require("./tinhgiatb1vt"),async=require("async"),underscore=require("underscore"),Controller=require("../controllers/controller"),moment=require("moment");
2
2
  module.exports=async function($condition$$,$fn$$){if($condition$$&&$condition$$.tu_thang&&$condition$$.den_thang&&$condition$$.nam&&$condition$$.id_app){$condition$$.tu_thang=Number($condition$$.tu_thang);$condition$$.den_thang=Number($condition$$.den_thang);var $ma_kho$$=$condition$$.ma_kho;$ma_kho$$&&console.log("dang tinh gia trung binh cho kho",$ma_kho$$);var $tu_ngay$$=moment(new Date($condition$$.nam,$condition$$.tu_thang-1,15)).startOf("month").toDate(),$den_ngay$$=moment(new Date($condition$$.nam,
3
3
  $condition$$.den_thang-1,15)).endOf("month").toDate(),$id_app$$=$condition$$.id_app,$app_query_dmvt$$=await global.getModel("app").findOne({_id:$id_app$$},{options:1}).lean();if(!$app_query_dmvt$$)return $fn$$("C\u00f4ng ty n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");var $f_tien$$=($app_query_dmvt$$.options||{}).f_tien||0;$app_query_dmvt$$={id_app:$id_app$$,gia_xuat:"1"};$condition$$.ma_nvt&&($app_query_dmvt$$.ma_nvt=$condition$$.ma_nvt);$condition$$.ma_ncc&&($app_query_dmvt$$.ma_ncc=$condition$$.ma_ncc);
4
- $condition$$.ma_vt&&($app_query_dmvt$$.ma_vt=$condition$$.ma_vt);dmvt.find($app_query_dmvt$$).lean().exec(function($error$jscomp$3$$,$dmvts$$){async.mapSeries($dmvts$$,function($vt$$,$callback$$){setImmediate(()=>{tinhgiatb1vt({id_app:$id_app$$,tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,ma_vt:$vt$$.ma_vt,ma_kho:$ma_kho$$},function($error$$,$gia$$){if($error$$)return $callback$$($error$$);console.log("tinh gia trung binh",$ma_kho$$,$vt$$.ma_vt,$gia$$.gia);$gia$$.id_app=$id_app$$;$gia$$.ma_kho=$ma_kho$$;
5
- $gia$$.status=!0;$callback$$(null,$gia$$)})})},function($error$jscomp$2$$,$bang_gia$$){if($error$jscomp$2$$)return $fn$$($error$jscomp$2$$);$bang_gia$$=underscore.filter($bang_gia$$,function($r$$){return 0!==$r$$.gia||0!==$r$$.tong_sl||0!==$r$$.tong_tien});$error$jscomp$2$$=[];for(let $t$$=$condition$$.tu_thang;$t$$<=$condition$$.den_thang;$t$$++)$error$jscomp$2$$.push($t$$);async.mapSeries($error$jscomp$2$$,function($t$$,$callback$jscomp$1$$){async.mapSeries($bang_gia$$,function($gia$$,$callback$jscomp$0$$){setImmediate(()=>
6
- {$gia$$.thang=$t$$;$gia$$.nam=$condition$$.nam;async.series({savetogiatb:function($callback$$){let $query_delete$$={id_app:$id_app$$,ma_vt:$gia$$.ma_vt,nam:$condition$$.nam,thang:$t$$};$ma_kho$$&&($query_delete$$.ma_kho=$ma_kho$$);giatb.deleteMany($query_delete$$,function($error$jscomp$0$$){if($error$jscomp$0$$)return $callback$$($error$jscomp$0$$);giatb.create($gia$$,function($error$$,$result$$){if($error$$)return console.log("Loi khi luu vao bang gia trung binh thang vat tu "+$gia$$.ma_vt,$error$$),
7
- $callback$$($error$$);$callback$$(null,$result$$)})})}},function($error$$){if($error$$)return $callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null)})})},function($error$$){if($error$$)return $callback$jscomp$1$$($error$$);$callback$jscomp$1$$(null)})},function($error$jscomp$1$$){if($error$jscomp$1$$)return $fn$$($error$jscomp$1$$);let $vouchers_x$$={},$vouchers_n$$={},$ma_vts$$=underscore.pluck($bang_gia$$,"ma_vt");async.series({xuat:function($callback$jscomp$0$$){setImmediate(()=>{let $query_sokho_x$$=
8
- {id_app:$id_app$$,ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$},nxt:2,ma_vt:{$in:$ma_vts$$},px_gia_dd:!1};$ma_kho$$&&($query_sokho_x$$.ma_kho=$ma_kho$$);sokho.find($query_sokho_x$$).lean().exec(function($error$jscomp$0$$,$sks$$){if($error$jscomp$0$$)return $callback$jscomp$0$$($error$jscomp$0$$);if(!$sks$$||0===$sks$$.length)return $callback$jscomp$0$$(null,$vouchers_x$$);async.mapSeries($sks$$,function($sk$$,$callback$$){let $voucher$$=$vouchers_x$$[$sk$$.id_ct];var $ct_ctrl$$=global.controllers[$sk$$.ma_ct.toUpperCase()];
9
- $ct_ctrl$$=$ct_ctrl$$?$ct_ctrl$$.getProperty("model"):mongoose.models[$sk$$.ma_ct.toLowerCase()];!$voucher$$&&$ct_ctrl$$?$ct_ctrl$$.findById($sk$$.id_ct,function($error$$,$v$$){if($error$$)return $callback$$($error$$);$v$$?($voucher$$=$v$$,$vouchers_x$$[$sk$$.id_ct]=$voucher$$):(sokho.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu xuat. chuong trinh da xoa phieu nay khoi sokho",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}),socai.deleteMany({id_ct:$sk$$.id_ct.toString()},
10
- ($e$$,$rs$$)=>{console.log("Khong tim thay phieu xuat. chuong trinh da xoa phieu nay khoi socai",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}));$callback$$()}):$callback$$()},function($error$$){if($error$$)return console.error("co loi lay phieu xuat",$error$$),$callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null,$vouchers_x$$)})})})},nhap:function($callback$jscomp$0$$){setImmediate(()=>{let $query_sokho_n$$={id_app:$id_app$$,ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$},nxt:1,
11
- ma_vt:{$in:$ma_vts$$},pn_gia_tb:!0,ma_ct:{$ne:"PXC"}};$ma_kho$$&&($query_sokho_n$$.ma_kho=$ma_kho$$);sokho.find($query_sokho_n$$,function($error$jscomp$0$$,$sks$$){if($error$jscomp$0$$)return $callback$jscomp$0$$($error$jscomp$0$$);if(!$sks$$||0===$sks$$.length)return $callback$jscomp$0$$(null,$vouchers_n$$);async.mapSeries($sks$$,function($sk$$,$callback$$){let $voucher$$=$vouchers_n$$[$sk$$.id_ct];var $ct$jscomp$1_ctrl$$=global.controllers[$sk$$.ma_ct.toUpperCase()];$ct$jscomp$1_ctrl$$=$ct$jscomp$1_ctrl$$?
12
- $ct$jscomp$1_ctrl$$.getProperty("model"):mongoose.models[$sk$$.ma_ct.toLowerCase()];!$voucher$$&&$ct$jscomp$1_ctrl$$?$ct$jscomp$1_ctrl$$.findById($sk$$.id_ct,function($error$$,$v$$){if($error$$)return $callback$$($error$$);$v$$?($voucher$$=$v$$,$vouchers_n$$[$sk$$.id_ct]=$voucher$$):(sokho.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu nhap. chuong trinh da xoa phieu nay khoi sokho",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}),socai.deleteMany({id_ct:$sk$$.id_ct.toString()},
13
- ($e$$,$rs$$)=>{console.log("Khong tim thay phieu nhap. chuong trinh da xoa phieu nay khoi socai",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}));$callback$$()}):$callback$$()},function($error$$){if($error$$)return console.log("co loi lay phieu nhap",$error$$),$callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null,$vouchers_n$$)})})})},nhap_dc:$callback$$=>{if($ma_kho$$){let $query_sokho_pnc$$={id_app:$id_app$$,ma_ct:"PNC",ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$},$or:[{ma_kho_x:$ma_kho$$},
14
- {"details.ma_kho_x":$ma_kho$$}],"details.px_gia_dd":!1};global.getModel("pnc").find($query_sokho_pnc$$).then($pnc$$=>{console.log("S\u1ed1 phi\u1ebfu nh\u1eadp \u0111i\u1ec1u chuy\u1ec3n c\u1ee7a kho",$ma_kho$$,$pnc$$.length);$pnc$$.forEach($p$$=>{$vouchers_n$$[$p$$._id.toString()]=$p$$});$callback$$()}).catch($e$$=>{console.log("co loi lay phieu nhap dieu chuyen",$e$$);return $callback$$($e$$)})}else $callback$$()}},function($error$jscomp$0$$){if($error$jscomp$0$$)return $fn$$($error$jscomp$0$$);
15
- async.waterfall([function($callback$jscomp$0$$){async.mapSeries(underscore.values($vouchers_x$$),($voucher_x$$,$callback$$)=>{setImmediate(()=>{(async()=>{var $details_details_doi_details_kmc$$=$voucher_x$$.details.filter($d$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&!$d$$.px_gia_dd&&(!$ma_kho$$||$ma_kho$$===($d$$.ma_kho||$d$$.ma_kho_x||$voucher_x$$.ma_kho||$voucher_x$$.ma_kho_x)));await Promise.all($details_details_doi_details_kmc$$.map($d$$=>(async()=>{var $gia$$=underscore.find($bang_gia$$,
16
- $vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$$=$gia$$?$gia$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$voucher_x$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von=$d$$.gia_von_nt=$gia$$*$he_so_qd$$;$d$$.tien_xuat=$d$$.tien_xuat_nt=Math.roundBy($d$$.sl_xuat*$d$$.gia_von,$f_tien$$)})()));$voucher_x$$.details_doi&&($details_details_doi_details_kmc$$=$voucher_x$$.details_doi.filter($d$$=>(!$condition$$.ma_vt||
17
- $condition$$.ma_vt===$d$$.ma_vt)&&!$d$$.px_gia_dd&&(!$ma_kho$$||$ma_kho$$===($d$$.ma_kho||$voucher_x$$.ma_kho||$voucher_x$$.ma_kho_x))),await Promise.all($details_details_doi_details_kmc$$.map($d$$=>(async()=>{var $gia$jscomp$3_gia_chuan$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$3_gia_chuan$$=$gia$jscomp$3_gia_chuan$$?$gia$jscomp$3_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$voucher_x$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();
4
+ $condition$$.ma_vt&&($app_query_dmvt$$.ma_vt=$condition$$.ma_vt);dmvt.find($app_query_dmvt$$).lean().exec(function($error$jscomp$3$$,$dmvts$$){async.map($dmvts$$,function($vt$$,$callback$$){setImmediate(()=>{let $query$$={id_app:$id_app$$,tu_ngay:$tu_ngay$$,den_ngay:$den_ngay$$,ma_vt:$vt$$.ma_vt,ma_kho:$ma_kho$$};tinhgiatb1vt($query$$,function($error$$,$gia$$){if($error$$)return console.error("Kh\u00f4ng th\u1ec3 t\u00ednh gi\u00e1 trung b\u00ecnh cho v\u1eadt t\u01b0",$query$$.ma_vt,$error$$),$callback$$($error$$);
5
+ $gia$$.id_app=$id_app$$;$gia$$.ma_kho=$ma_kho$$;$gia$$.status=!0;$callback$$(null,$gia$$)})})},function($error$jscomp$2$$,$bang_gia$$){if($error$jscomp$2$$)return $fn$$($error$jscomp$2$$);$bang_gia$$=underscore.filter($bang_gia$$,function($r$$){return 0!==$r$$.gia||0!==$r$$.tong_sl||0!==$r$$.tong_tien});$error$jscomp$2$$=[];for(let $t$$=$condition$$.tu_thang;$t$$<=$condition$$.den_thang;$t$$++)$error$jscomp$2$$.push($t$$);async.mapSeries($error$jscomp$2$$,function($t$$,$callback$jscomp$1$$){async.mapSeries($bang_gia$$,
6
+ function($gia$$,$callback$jscomp$0$$){setImmediate(()=>{$gia$$.thang=$t$$;$gia$$.nam=$condition$$.nam;async.series({savetogiatb:function($callback$$){let $query_delete$$={id_app:$id_app$$,ma_vt:$gia$$.ma_vt,nam:$condition$$.nam,thang:$t$$};$ma_kho$$&&($query_delete$$.ma_kho=$ma_kho$$);giatb.deleteMany($query_delete$$,function($error$jscomp$0$$){if($error$jscomp$0$$)return $callback$$($error$jscomp$0$$);giatb.create($gia$$,function($error$$,$result$$){if($error$$)return console.log("Loi khi luu vao bang gia trung binh thang vat tu "+
7
+ $gia$$.ma_vt,$error$$),$callback$$($error$$);$callback$$(null,$result$$)})})}},function($error$$){if($error$$)return $callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null)})})},function($error$$){if($error$$)return $callback$jscomp$1$$($error$$);$callback$jscomp$1$$(null)})},function($error$jscomp$1$$){if($error$jscomp$1$$)return $fn$$($error$jscomp$1$$);let $vouchers_x$$={},$vouchers_n$$={},$ma_vts$$=underscore.pluck($bang_gia$$,"ma_vt");async.series({xuat:function($callback$jscomp$0$$){setImmediate(()=>
8
+ {let $query_sokho_x$$={id_app:$id_app$$,ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$},nxt:2,ma_vt:{$in:$ma_vts$$},px_gia_dd:!1};$ma_kho$$&&($query_sokho_x$$.ma_kho=$ma_kho$$);sokho.find($query_sokho_x$$).lean().exec(function($error$jscomp$0$$,$sks$$){if($error$jscomp$0$$)return $callback$jscomp$0$$($error$jscomp$0$$);if(!$sks$$||0===$sks$$.length)return $callback$jscomp$0$$(null,$vouchers_x$$);async.mapSeries($sks$$,function($sk$$,$callback$$){let $voucher$$=$vouchers_x$$[$sk$$.id_ct];var $ct_ctrl$$=
9
+ global.controllers[$sk$$.ma_ct.toUpperCase()];$ct_ctrl$$=$ct_ctrl$$?$ct_ctrl$$.getProperty("model"):mongoose.models[$sk$$.ma_ct.toLowerCase()];!$voucher$$&&$ct_ctrl$$?$ct_ctrl$$.findById($sk$$.id_ct,function($error$$,$v$$){if($error$$)return $callback$$($error$$);$v$$?($voucher$$=$v$$,$vouchers_x$$[$sk$$.id_ct]=$voucher$$):(sokho.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu xuat. chuong trinh da xoa phieu nay khoi sokho",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,
10
+ $sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}),socai.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu xuat. chuong trinh da xoa phieu nay khoi socai",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}));$callback$$()}):$callback$$()},function($error$$){if($error$$)return console.error("co loi lay phieu xuat",$error$$),$callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null,$vouchers_x$$)})})})},nhap:function($callback$jscomp$0$$){setImmediate(()=>{let $query_sokho_n$$=
11
+ {id_app:$id_app$$,ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$},nxt:1,ma_vt:{$in:$ma_vts$$},pn_gia_tb:!0,ma_ct:{$ne:"PXC"}};$ma_kho$$&&($query_sokho_n$$.ma_kho=$ma_kho$$);sokho.find($query_sokho_n$$,function($error$jscomp$0$$,$sks$$){if($error$jscomp$0$$)return $callback$jscomp$0$$($error$jscomp$0$$);if(!$sks$$||0===$sks$$.length)return $callback$jscomp$0$$(null,$vouchers_n$$);async.mapSeries($sks$$,function($sk$$,$callback$$){let $voucher$$=$vouchers_n$$[$sk$$.id_ct];var $ct$jscomp$1_ctrl$$=global.controllers[$sk$$.ma_ct.toUpperCase()];
12
+ $ct$jscomp$1_ctrl$$=$ct$jscomp$1_ctrl$$?$ct$jscomp$1_ctrl$$.getProperty("model"):mongoose.models[$sk$$.ma_ct.toLowerCase()];!$voucher$$&&$ct$jscomp$1_ctrl$$?$ct$jscomp$1_ctrl$$.findById($sk$$.id_ct,function($error$$,$v$$){if($error$$)return $callback$$($error$$);$v$$?($voucher$$=$v$$,$vouchers_n$$[$sk$$.id_ct]=$voucher$$):(sokho.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu nhap. chuong trinh da xoa phieu nay khoi sokho",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,
13
+ $sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}),socai.deleteMany({id_ct:$sk$$.id_ct.toString()},($e$$,$rs$$)=>{console.log("Khong tim thay phieu nhap. chuong trinh da xoa phieu nay khoi socai",$sk$$.id_ct,"ma_ct",$sk$$.ma_ct,$sk$$.so_ct,$sk$$.ngay_ct,$rs$$)}));$callback$$()}):$callback$$()},function($error$$){if($error$$)return console.log("co loi lay phieu nhap",$error$$),$callback$jscomp$0$$($error$$);$callback$jscomp$0$$(null,$vouchers_n$$)})})})},nhap_dc:$callback$$=>{if($ma_kho$$){let $query_sokho_pnc$$=
14
+ {id_app:$id_app$$,ma_ct:"PNC",ngay_ct:{$gte:$tu_ngay$$,$lte:$den_ngay$$},$or:[{ma_kho_x:$ma_kho$$},{"details.ma_kho_x":$ma_kho$$}],"details.px_gia_dd":!1};global.getModel("pnc").find($query_sokho_pnc$$).then($pnc$$=>{console.log("S\u1ed1 phi\u1ebfu nh\u1eadp \u0111i\u1ec1u chuy\u1ec3n c\u1ee7a kho",$ma_kho$$,$pnc$$.length);$pnc$$.forEach($p$$=>{$vouchers_n$$[$p$$._id.toString()]=$p$$});$callback$$()}).catch($e$$=>{console.log("co loi lay phieu nhap dieu chuyen",$e$$);return $callback$$($e$$)})}else $callback$$()}},
15
+ function($error$jscomp$0$$){if($error$jscomp$0$$)return $fn$$($error$jscomp$0$$);async.waterfall([function($callback$jscomp$0$$){async.mapSeries(underscore.values($vouchers_x$$),($voucher_x$$,$callback$$)=>{setImmediate(()=>{(async()=>{var $details_details_doi_details_kmc$$=$voucher_x$$.details.filter($d$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&!$d$$.px_gia_dd&&(!$ma_kho$$||$ma_kho$$===($d$$.ma_kho||$d$$.ma_kho_x||$voucher_x$$.ma_kho||$voucher_x$$.ma_kho_x)));await Promise.all($details_details_doi_details_kmc$$.map($d$$=>
16
+ (async()=>{var $gia$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$$=$gia$$?$gia$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$voucher_x$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von=$d$$.gia_von_nt=$gia$$*$he_so_qd$$;$d$$.tien_xuat=$d$$.tien_xuat_nt=Math.roundBy($d$$.sl_xuat*$d$$.gia_von,$f_tien$$)})()));$voucher_x$$.details_doi&&($details_details_doi_details_kmc$$=$voucher_x$$.details_doi.filter($d$$=>
17
+ (!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&!$d$$.px_gia_dd&&(!$ma_kho$$||$ma_kho$$===($d$$.ma_kho||$voucher_x$$.ma_kho||$voucher_x$$.ma_kho_x))),await Promise.all($details_details_doi_details_kmc$$.map($d$$=>(async()=>{var $gia$jscomp$3_gia_chuan$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$3_gia_chuan$$=$gia$jscomp$3_gia_chuan$$?$gia$jscomp$3_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$voucher_x$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();
18
18
  $qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von=$d$$.gia_von_nt=$gia$jscomp$3_gia_chuan$$*$he_so_qd$$;$d$$.tien_xuat=$d$$.tien_xuat_nt=Math.roundBy($d$$.sl_xuat*$d$$.gia_von,$f_tien$$)})())));await Promise.all($voucher_x$$.details.filter($d$$=>$d$$.promotion&&$d$$.promotion.details_km).map($d$jscomp$0$$=>(async()=>{const $details_km$$=$d$jscomp$0$$.promotion.details_km.filter($d$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&!$d$$.px_gia_dd&&(!$ma_kho$$||
19
19
  $ma_kho$$===($d$$.ma_kho||$voucher_x$$.ma_kho||$voucher_x$$.ma_kho_x)));await Promise.all($details_km$$.map($d$$=>(async()=>{var $gia$jscomp$4_gia_chuan$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$4_gia_chuan$$=$gia$jscomp$4_gia_chuan$$?$gia$jscomp$4_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$voucher_x$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von=$d$$.gia_von_nt=
20
20
  $gia$jscomp$4_gia_chuan$$*$he_so_qd$$;$d$$.tien_xuat=$d$$.tien_xuat_nt=Math.roundBy(($d$$.sl_xuat||$d$$.sl_km||0)*$d$$.gia_von,$f_tien$$)})()))})()));await Promise.all($voucher_x$$.details.filter($d$$=>$d$$.combo&&0<$d$$.combo.length&&!$d$$.px_gia_dd).map($detail$$=>(async()=>{const $combo$$=$detail$$.combo.filter($c$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$c$$.ma_vt)&&(!$ma_kho$$||$ma_kho$$===($detail$$.ma_kho||$detail$$.ma_kho_x||$voucher_x$$.ma_kho||$voucher_x$$.ma_kho_x)));await Promise.all($combo$$.map($d$$=>
@@ -22,7 +22,7 @@ $gia$jscomp$4_gia_chuan$$*$he_so_qd$$;$d$$.tien_xuat=$d$$.tien_xuat_nt=Math.roun
22
22
  $d$$.gia_von,$f_tien$$)})()));$detail$$.tien_xuat=$detail$$.tien_xuat_nt=$detail$$.combo.map($c$$=>$c$$.tien_xuat_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$detail$$.gia_von=$detail$$.gia_von_nt=Math.roundBy($detail$$.sl_xuat?$detail$$.tien_xuat_nt/$detail$$.sl_xuat:0,$f_tien$$)})()));$voucher_x$$.promotion&&($details_details_doi_details_kmc$$=$voucher_x$$.promotion.filter($d$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&!$d$$.px_gia_dd&&(!$ma_kho$$||$ma_kho$$===($d$$.ma_kho||$voucher_x$$.ma_kho||
23
23
  $voucher_x$$.ma_kho_x))),await Promise.all($details_details_doi_details_kmc$$.map($d$$=>(async()=>{var $gia$jscomp$6_gia_chuan$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$6_gia_chuan$$=$gia$jscomp$6_gia_chuan$$?$gia$jscomp$6_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$voucher_x$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von_nt=$gia$jscomp$6_gia_chuan$$*$he_so_qd$$;
24
24
  $d$$.gia_von=$d$$.gia_von_nt;$d$$.tien_xuat_nt=Math.roundBy(($d$$.sl_xuat||$d$$.sl_km||0)*$d$$.gia_von,$f_tien$$);$d$$.tien_xuat=$d$$.tien_xuat_nt})())));let $voucher_x_data$$=$voucher_x$$.toObject();try{const $ctrl$$=global.controllers[$voucher_x$$.ma_ct.toUpperCase()];await ($ctrl$$?$ctrl$$.getProperty("model"):mongoose.models[$voucher_x$$.ma_ct.toLowerCase()]).updateOne({_id:$voucher_x$$._id},$voucher_x_data$$)}catch($e$$){return $callback$$($e$$)}let $ctrl$jscomp$0$$=global.controllers[$voucher_x_data$$.ma_ct.toUpperCase()];
25
- $ctrl$jscomp$0$$&&$ctrl$jscomp$0$$.post&&await (async()=>new Promise(($resolve$$,$reject$$)=>{Controller.postData($voucher_x_data$$,$ctrl$jscomp$0$$,($e$$,$rs$$)=>{if($e$$)return console.error("error repost khi tinh gia trung binh",$e$$,$voucher_x_data$$),$reject$$($e$$);$resolve$$($rs$$)})}))()})().then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})})},$error$$=>{$callback$jscomp$0$$($error$$,$vouchers_x$$)})},function($_vouchers_x$$,$callback$jscomp$0$$){async.mapSeries(underscore.values($vouchers_n$$),
25
+ $ctrl$jscomp$0$$&&$ctrl$jscomp$0$$.post&&await (async()=>new Promise(($resolve$$,$reject$$)=>{Controller.postData($voucher_x_data$$,$ctrl$jscomp$0$$,($e$$,$rs$$)=>{if($e$$)return console.error("error repost khi tinh gia trung binh",$e$$,$voucher_x_data$$),$reject$$($e$$);$resolve$$($rs$$)},{kiem_tra_han_muc_cong_no:!1})}))()})().then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})})},$error$$=>{$callback$jscomp$0$$($error$$,$vouchers_x$$)})},function($_vouchers_x$$,$callback$jscomp$0$$){async.mapSeries(underscore.values($vouchers_n$$),
26
26
  ($voucher_n$$,$callback$$)=>{setImmediate(()=>{(async()=>{var $details_doi$$=$voucher_n$$.details.filter($d$$=>(!$d$$.combo||0==$d$$.combo.length)&&(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&($d$$.pn_gia_tb||"PNC"===$voucher_n$$.ma_ct&&!$d$$.px_gia_dd||"PKK"===$voucher_n$$.ma_ct&&!$d$$.px_gia_dd)&&(!$ma_kho$$||$ma_kho$$===$d$$.ma_kho||$ma_kho$$===$d$$.ma_kho_x||$ma_kho$$===$voucher_n$$.ma_kho||$ma_kho$$===$voucher_n$$.ma_kho_n));await Promise.all($details_doi$$.map($d$$=>(async()=>{var $gia$jscomp$7_gia_chuan$$=
27
27
  underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$7_gia_chuan$$=$gia$jscomp$7_gia_chuan$$?$gia$jscomp$7_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$vouchers_n$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von_nt=$gia$jscomp$7_gia_chuan$$*$he_so_qd$$;$d$$.gia_von=$d$$.gia_von_nt;"PNC"===$voucher_n$$.ma_ct||"PKK"===$voucher_n$$.ma_ct?($d$$.tien_xuat_nt=Math.roundBy($d$$.sl_xuat*
28
28
  $d$$.gia_von,$f_tien$$),$d$$.tien_xuat=$d$$.tien_xuat_nt):($d$$.tien_nhap_nt=Math.roundBy($d$$.sl_nhap*$d$$.gia_von,$f_tien$$),$d$$.tien_nhap=$d$$.tien_nhap_nt)})()));await Promise.all($voucher_n$$.details.filter($d$$=>$d$$.combo&&0<$d$$.combo.length&&($d$$.pn_gia_tb||"PNC"===$voucher_n$$.ma_ct&&!$d$$.px_gia_dd||"PKK"===$voucher_n$$.ma_ct&&!$d$$.px_gia_dd)).map($detail$$=>(async()=>{const $combo$$=$detail$$.combo.filter($c$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$c$$.ma_vt)&&(!$ma_kho$$||$ma_kho$$===
@@ -31,10 +31,10 @@ $gia$jscomp$8_gia_chuan$$*$he_so_qd$$;"PNC"===$voucher_n$$.ma_ct||"PKK"===$vouch
31
31
  $detail$$.gia_von_nt=Math.roundBy($detail$$.sl_xuat?$detail$$.tien_xuat_nt/$detail$$.sl_xuat:0,$f_tien$$)):($detail$$.tien_nhap=$detail$$.tien_nhap_nt=$detail$$.combo.map($c$$=>$c$$.tien_nhap_nt||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0),$detail$$.gia_von=$detail$$.gia_von_nt=Math.roundBy($detail$$.sl_nhap?$detail$$.tien_nhap_nt/$detail$$.sl_nhap:0,$f_tien$$))})()));$voucher_n$$.details_doi&&($details_doi$$=$voucher_n$$.details_doi.filter($d$$=>(!$condition$$.ma_vt||$condition$$.ma_vt===$d$$.ma_vt)&&$d$$.pn_gia_tb&&
32
32
  (!$ma_kho$$||$ma_kho$$===$d$$.ma_kho)),await Promise.all($details_doi$$.map($d$$=>(async()=>{var $gia$jscomp$9_gia_chuan$$=underscore.find($bang_gia$$,$vt$$=>$d$$.ma_vt===$vt$$.ma_vt);$gia$jscomp$9_gia_chuan$$=$gia$jscomp$9_gia_chuan$$?$gia$jscomp$9_gia_chuan$$.gia:0;let $he_so_qd$$=1,$qd$$=await dmqddvt.findOne({id_app:$vouchers_n$$.id_app,ma_vt:$d$$.ma_vt,ma_dvt:$d$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);$d$$.gia_von_nt=$gia$jscomp$9_gia_chuan$$*$he_so_qd$$;
33
33
  $d$$.gia_von=$d$$.gia_von_nt;$d$$.tien_xuat_nt=Math.roundBy($d$$.sl_xuat*$d$$.gia_von,$f_tien$$);$d$$.tien_xuat=$d$$.tien_xuat_nt})())));let $voucher_n_data$$=$voucher_n$$.toObject();try{const $ctrl$$=global.controllers[$voucher_n_data$$.ma_ct.toUpperCase()];await ($ctrl$$?$ctrl$$.getProperty("model"):mongoose.models[$voucher_n_data$$.ma_ct.toLowerCase()]).updateOne({_id:$voucher_n_data$$._id},$voucher_n_data$$)}catch($e$$){return $callback$$($e$$)}let $ctrl$jscomp$0$$=global.controllers[$voucher_n_data$$.ma_ct.toUpperCase()];
34
- $ctrl$jscomp$0$$&&$ctrl$jscomp$0$$.post&&await (async()=>new Promise(($resolve$$,$reject$$)=>{Controller.postData($voucher_n_data$$,$ctrl$jscomp$0$$,function($e$$,$rs$$){if($e$$)return console.error("error repost khi tinh gia trung binh",$e$$,$voucher_n_data$$),$reject$$($e$$);$resolve$$($rs$$)})}))()})().then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})})},function($error$$){$callback$jscomp$0$$($error$$)})}],function($e$jscomp$1$$){if($e$jscomp$1$$)return $fn$$($e$jscomp$1$$);
34
+ $ctrl$jscomp$0$$&&$ctrl$jscomp$0$$.post&&await (async()=>new Promise(($resolve$$,$reject$$)=>{Controller.postData($voucher_n_data$$,$ctrl$jscomp$0$$,function($e$$,$rs$$){if($e$$)return console.error("error repost khi tinh gia trung binh",$e$$,$voucher_n_data$$),$reject$$($e$$);$resolve$$($rs$$)},{kiem_tra_han_muc_cong_no:!1})}))()})().then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})})},function($error$$){$callback$jscomp$0$$($error$$)})}],function($e$jscomp$1$$){if($e$jscomp$1$$)return $fn$$($e$jscomp$1$$);
35
35
  $e$jscomp$1$$={id_app:$condition$$.id_app,ngay:$den_ngay$$,chenh_lech:1};$condition$$.ma_vt&&($e$jscomp$1$$.ma_vt=$condition$$.ma_vt);$condition$$.ma_kho&&($e$jscomp$1$$.ma_kho=$condition$$.ma_kho);ckvt($e$jscomp$1$$,($e$jscomp$0$$,$rs$jscomp$0$$)=>{if($e$jscomp$0$$)return $fn$$($e$jscomp$0$$);$rs$jscomp$0$$=underscore.filter($rs$jscomp$0$$,$r$$=>0!==$r$$.du00&&(0==$r$$.ton00||.001>Math.abs($r$$.ton00)));$vouchers_x$$=underscore.sortBy(underscore.values($vouchers_x$$),$v$$=>-(new Date($v$$.ngay_ct)).getTime());
36
36
  $vouchers_n$$=underscore.sortBy(underscore.values($vouchers_n$$),$v$$=>-(new Date($v$$.ngay_ct)).getTime());let $chung_tu_cap_nhat_chenh_lech$$={};async.mapSeries($rs$jscomp$0$$,($vt$$,$callback$$)=>{setImmediate(()=>{let $d_voucher$$=null;($d_voucher$$=underscore.find($vouchers_x$$,$x$$=>underscore.find($x$$.details,$vc$$=>{if($vc$$.ma_vt!=$vt$$.ma_vt||$vc$$.px_gia_dd||$ma_kho$$&&$ma_kho$$!==$vc$$.ma_kho&&$ma_kho$$!==$x$$.ma_kho)return!1;$vc$$.tien_xuat_nt+=$vt$$.du00;$vc$$.tien_xuat=Math.roundBy($vc$$.tien_xuat_nt,
37
37
  $f_tien$$);$vc$$.sl_xuat&&($vc$$.gia_von_nt=$vc$$.gia_von=Math.roundBy($vc$$.tien_xuat_nt/$vc$$.sl_xuat,0));return!0})))||($d_voucher$$=underscore.find($vouchers_n$$,$n$$=>underscore.find($n$$.details,$vc$$=>{if($vc$$.ma_vt!=$vt$$.ma_vt||$vc$$.pn_gia_tb||$ma_kho$$&&$ma_kho$$!==$vc$$.ma_kho&&$ma_kho$$!==$n$$.ma_kho)return!1;$vc$$.tien_nhap_nt-=$vt$$.du00;$vc$$.tien_nhap=Math.roundBy($vc$$.tien_nhap_nt,$f_tien$$);$vc$$.sl_nhap&&($vc$$.gia_von_nt=$vc$$.gia_von=Math.roundBy($vc$$.tien_nhap_nt/$vc$$.sl_nhap,
38
38
  0));return!0})));$d_voucher$$&&($chung_tu_cap_nhat_chenh_lech$$[$d_voucher$$._id.toString()]=$d_voucher$$);$callback$$(null,$d_voucher$$)})},$_vouchers_chenh_lech_e$$=>{if($_vouchers_chenh_lech_e$$)return $fn$$($_vouchers_chenh_lech_e$$);$_vouchers_chenh_lech_e$$=underscore.values($chung_tu_cap_nhat_chenh_lech$$);async.mapSeries($_vouchers_chenh_lech_e$$,($voucher$$,$callback$$)=>{setImmediate(async()=>{try{let $voucher_data$$=$voucher$$.toObject();const $ctrl$$=global.controllers[$voucher_data$$.ma_ct.toUpperCase()];
39
- await ($ctrl$$?$ctrl$$.getProperty("model"):mongoose.models[$voucher_data$$.ma_ct.toLowerCase()]).updateOne({_id:$voucher_data$$._id},$voucher_data$$);$ctrl$$&&$ctrl$$.post?Controller.postData($voucher_data$$,$ctrl$$,($e$$,$rs$$)=>{$e$$&&console.error("error repost khi tinh gia trung binh",$e$$,$voucher_data$$);$callback$$($e$$,$rs$$)}):$callback$$(null)}catch($error$$){return $callback$$($error$$)}})},async $e$$=>{if($e$$)return $fn$$($e$$);$bang_gia$$.joinModel2($id_app$$,dmvt,[{where:"ma_vt",fields:"ten_vt"}],
40
- ()=>{$fn$$(null,$bang_gia$$)})})})})})})})})})}else $fn$$("L\u1ed7i: T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_thang,den_thang,nam,id_app")};
39
+ await ($ctrl$$?$ctrl$$.getProperty("model"):mongoose.models[$voucher_data$$.ma_ct.toLowerCase()]).updateOne({_id:$voucher_data$$._id},$voucher_data$$);$ctrl$$&&$ctrl$$.post?Controller.postData($voucher_data$$,$ctrl$$,($e$$,$rs$$)=>{$e$$&&console.error("error repost khi tinh gia trung binh",$e$$,$voucher_data$$);$callback$$($e$$,$rs$$)},{kiem_tra_han_muc_cong_no:!1}):$callback$$(null)}catch($error$$){return $callback$$($error$$)}})},async $e$$=>{if($e$$)return $fn$$($e$$);$bang_gia$$.joinModel2($id_app$$,
40
+ dmvt,[{where:"ma_vt",fields:"ten_vt"}],()=>{$fn$$(null,$bang_gia$$)})})})})})})})})})}else $fn$$("L\u1ed7i: T\u00ednh n\u0103ng n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_thang,den_thang,nam,id_app")};
@@ -1,5 +1,5 @@
1
1
  'use strict';const dkvt=require("./dkvt"),sokho=global.getModel("sokho"),async=require("async");
2
- module.exports=function($condition$$,$fn$$){if($condition$$&&$condition$$.ma_vt&&$condition$$.tu_ngay&&$condition$$.den_ngay&&$condition$$.id_app){var $ma_vt$$=$condition$$.ma_vt,$tu_ngay$$=$condition$$.tu_ngay,$den_ngay$$=$condition$$.den_ngay,$id_app$$=$condition$$.id_app;async.series({dn:function($callback$$){let $query$$={ngay:$tu_ngay$$,id_app:$id_app$$};$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);$query$$.ma_vt=$condition$$.ma_vt;dkvt($query$$,function($error$$,$du_dau_result$$){if($error$$)return $callback$$($error$$);
3
- $error$$=$du_dau_result$$.csum("ton00");$du_dau_result$$=$du_dau_result$$.csum("du00");$callback$$(null,{ton_dau:$error$$,du_dau:$du_dau_result$$})})},ps:function($callback$$){let $query$$={id_app:$id_app$$,ngay_ct:{$gte:$tu_ngay$$,$lt:$den_ngay$$},ma_vt:$ma_vt$$,$or:[{nxt:1,pn_gia_tb:!1},{nxt:2,px_gia_dd:!0}]};$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho,$query$$.$or.push({nxt:1,pn_gia_tb:!0,ma_ct:"PNC"}));sokho.find($query$$).lean().exec(function($error$$,$pss_tien_nhap$$){$error$$?
4
- $callback$$($error$$):($pss_tien_nhap$$=$pss_tien_nhap$$.map($ps$$=>{$ps$$.sl_nhap=($ps$$.sl_nhap_qd||0)-($ps$$.sl_xuat_qd||0);return $ps$$}),$error$$=$pss_tien_nhap$$.csum("sl_nhap"),$pss_tien_nhap$$=$pss_tien_nhap$$.csum("tien_nhap")-$pss_tien_nhap$$.csum("tien_xuat"),$callback$$(null,{sl_nhap:$error$$,tien_nhap:$pss_tien_nhap$$}))})}},function($error$$,$results$$){if($error$$)$fn$$($error$$);else{$error$$=$results$$.ps.sl_nhap+$results$$.dn.ton_dau;var $tong_tien$$=$results$$.ps.tien_nhap+$results$$.dn.du_dau,
5
- $gia$$=$error$$?Math.roundBy($tong_tien$$/$error$$,0):0;return $fn$$(null,{ma_vt:$ma_vt$$,ton_dau:$results$$.dn.ton_dau,du_dau:$results$$.dn.du_dau,sl_nhap:$results$$.ps.sl_nhap,tien_nhap:$results$$.ps.tien_nhap,tong_sl:$error$$,tong_tien:$tong_tien$$,gia:$gia$$})}})}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,ma_vt")};
2
+ module.exports=function($condition$$,$fn$$){if(!($condition$$&&$condition$$.ma_vt&&$condition$$.tu_ngay&&$condition$$.den_ngay&&$condition$$.id_app))return $fn$$("L\u1ed7i: B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1: tu_ngay,den_ngay,id_app,ma_vt");let $ma_vt$$=$condition$$.ma_vt,$tu_ngay$$=$condition$$.tu_ngay,$den_ngay$$=$condition$$.den_ngay,$id_app$$=$condition$$.id_app;async.parallel({dn:function($callback$$){let $query$$={ngay:$tu_ngay$$,id_app:$id_app$$};$condition$$.ma_kho&&
3
+ ($query$$.ma_kho=$condition$$.ma_kho);$query$$.ma_vt=$condition$$.ma_vt;dkvt($query$$,function($error$$,$du_dau_result$$){if($error$$)return $callback$$($error$$);$error$$=$du_dau_result$$.csum("ton00");$du_dau_result$$=$du_dau_result$$.csum("du00");$callback$$(null,{ton_dau:$error$$,du_dau:$du_dau_result$$})})},ps:function($callback$$){let $query$$={id_app:$id_app$$,ngay_ct:{$gte:$tu_ngay$$,$lt:$den_ngay$$},ma_vt:$ma_vt$$,$or:[{nxt:1,pn_gia_tb:!1},{nxt:2,px_gia_dd:!0}]};$condition$$.ma_kho&&($query$$.ma_kho=
4
+ $condition$$.ma_kho,$query$$.$or.push({nxt:1,pn_gia_tb:!0,ma_ct:"PNC"}));sokho.find($query$$).lean().exec(function($error$$,$pss_tien_nhap$$){$error$$?$callback$$($error$$):($pss_tien_nhap$$=$pss_tien_nhap$$.map($ps$$=>{$ps$$.sl_nhap=($ps$$.sl_nhap_qd||0)-($ps$$.sl_xuat_qd||0);return $ps$$}),$error$$=$pss_tien_nhap$$.csum("sl_nhap"),$pss_tien_nhap$$=$pss_tien_nhap$$.csum("tien_nhap")-$pss_tien_nhap$$.csum("tien_xuat"),$callback$$(null,{sl_nhap:$error$$,tien_nhap:$pss_tien_nhap$$}))})}},function($error$$,
5
+ $results$$){if($error$$)$fn$$($error$$);else{$error$$=$results$$.ps.sl_nhap+$results$$.dn.ton_dau;var $tong_tien$$=$results$$.ps.tien_nhap+$results$$.dn.du_dau,$gia$$=$error$$?Math.roundBy($tong_tien$$/$error$$,0):0;return $fn$$(null,{ma_vt:$ma_vt$$,ton_dau:$results$$.dn.ton_dau,du_dau:$results$$.dn.du_dau,sl_nhap:$results$$.ps.sl_nhap,tien_nhap:$results$$.ps.tien_nhap,tong_sl:$error$$,tong_tien:$tong_tien$$,gia:$gia$$})}})};
@@ -1,6 +1,6 @@
1
1
  'use strict';const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),detailSchema=new Schema({dien_giai:{type:String,default:"",maxlength:1024},ma_dvt:{type:String,maxlength:32},sl_xuat:{type:Number,default:0},gia_ban:{type:Number,default:0},gia_ban_nt:{type:Number,default:0},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},tk_dt:{type:String,required:"B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n doanh thu",uppercase:!0,maxlength:32},ty_le_ck:{type:Number,
2
2
  default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tk_ck:{type:String,uppercase:!0,maxlength:32},ma_thue:String,thue_suat:{type:Number,default:0},tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},ten_vt_vat:{type:String},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,
3
- uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,uppercase:!0,default:"",maxlength:32},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_dt:validAccount.existsTk,tk_ck:validAccount.existsTk};
3
+ uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,uppercase:!0,default:"",maxlength:32},ma_td1:Schema.Types.Mixed,ma_td2:Schema.Types.Mixed,ma_td3:Schema.Types.Mixed,ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_dt:validAccount.existsTk,tk_ck:validAccount.existsTk};
4
4
  const hd1Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"HD1",required:!0,uppercase:!0,maxlength:32},ma_gd:{type:String,default:"0",maxlength:32},so_ct:{type:String,required:"B\u1ea1n ch\u01b0a nh\u1eadp s\u1ed1 ch\u1ee9ng t\u1eeb",uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"B\u1ea1n ch\u01b0a nh\u1eadp m\u00e3 ngo\u1ea1i t\u1ec7",default:"VND",
5
5
  trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},ong_ba:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,required:"B\u1ea1n ch\u01b0a nh\u1eadp m\u00e3 kh\u00e1ch h\u00e0ng",default:"",maxlength:32},ma_so_thue:{type:String,maxlength:1024},tk_no:{type:String,uppercase:!0,required:"B\u1ea1n ch\u01b0a nh\u1eadp t\u00e0i kho\u1ea3n n\u1ee3",default:"",maxlength:32},ma_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,
6
6
  default:"",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,maxlength:32},so_seri:{type:String,uppercase:!0,maxlength:32},ngay_hd:{type:Date,uppercase:!0},ma_thue:{type:String,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_co:{type:String,uppercase:!0,maxlength:32},ten_kh:{type:String,default:"",maxlength:1024},dia_chi:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},dien_giai_thue:{type:String,default:"",maxlength:1024},
@@ -3,8 +3,8 @@ maxlength:32},px_gia_dd:{type:Boolean,default:!1},ton_kho:{type:Number,default:0
3
3
  default:0},ma_thue:String,thue_suat:{type:Number,default:0},tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},gia_ban_niem_yet_nt:Number,gia_ban:{type:Number,default:0},gia_ban_nt:{type:Number,default:0},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},id_cs_ck:String,ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tt_nt:{type:Number,default:0},tt:{type:Number,default:0},promotion:Schema.Types.Mixed,dien_giai:{type:String,
4
4
  maxlength:1024},ten_vt_vat:String,ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},nh_tt:String,ma_tt2:{type:String,default:"",uppercase:!0,
5
5
  maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ty_le_hoa_hong:Number,tien_hoa_hong:Number,chuyen_ngay:Boolean,tk_no_hoa_hong:String,tk_co_hoa_hong:String,ty_le_hoa_hong_gt:Number,tien_hoa_hong_gt:Number,chuyen_ngay_gt:Boolean,tk_no_hoa_hong_gt:String,tk_co_hoa_hong_gt:String,ty_le_hoa_hong_ctv:Number,tien_hoa_hong_ctv:Number,chuyen_ngay_ctv:Boolean,tk_cn_ctv:String,tk_cp_ctv:String,ty_le_hoa_hong_ctv2:Number,tien_hoa_hong_ctv2:Number,ty_le_hoa_hong_ql:Number,tien_hoa_hong_ql:Number,
6
- chuyen_ngay_ql:Boolean,tk_no_hoa_hong_ql:String,tk_co_hoa_hong_ql:String,ty_le_hoa_hong_kho:Number,tien_hoa_hong_kho:Number,chuyen_ngay_kho:Boolean,tk_no_hoa_hong_kho:String,tk_co_hoa_hong_kho:String,combo:Schema.Types.Mixed,sl_ap_dung_km:{type:Number,default:0},km_yn_for:String,id_cs:String,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});
7
- detailSchema.validate={tk_vt:validAccount.existsTk,tk_gv:validAccount.existsTk,tk_dt:validAccount.existsTk,tk_ck:validAccount.existsTk,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
6
+ chuyen_ngay_ql:Boolean,tk_no_hoa_hong_ql:String,tk_co_hoa_hong_ql:String,ty_le_hoa_hong_kho:Number,tien_hoa_hong_kho:Number,chuyen_ngay_kho:Boolean,tk_no_hoa_hong_kho:String,tk_co_hoa_hong_kho:String,combo:Schema.Types.Mixed,ma_td1:Schema.Types.Mixed,ma_td2:Schema.Types.Mixed,ma_td3:Schema.Types.Mixed,ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,sl_ap_dung_km:{type:Number,default:0},km_yn_for:String,
7
+ id_cs:String,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,tk_gv:validAccount.existsTk,tk_dt:validAccount.existsTk,tk_ck:validAccount.existsTk,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
8
8
  const hd2Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"HD2",required:!0,uppercase:!0,maxlength:32},ma_gd:{type:String,default:"0",maxlength:32},so_ct:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"ma_nt is required",default:"VND",trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},
9
9
  ong_ba:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ten_kh:String,ma_so_thue:{type:String,maxlength:1024},tk_no:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},id_invoice:String,ma_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,uppercase:!0,maxlength:32},so_seri:{type:String,uppercase:!0,maxlength:32},ngay_hd:{type:Date,
10
10
  uppercase:!0},ma_thue:{type:String,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_co:{type:String,uppercase:!0,maxlength:32},dia_chi:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},dien_giai_thue:{type:String,default:"",maxlength:1024},tien_thue_dc_nt:Number,t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},tien_phi_vc:{type:Number,default:0},tien_phi_vc_nt:{type:Number,default:0},tk_phi_vc:String,han_tt:{type:Number,default:0},
@@ -2,8 +2,8 @@
2
2
  default:0},tk_vt:{type:String,uppercase:!0,maxlength:32},tk_gv:{type:String,uppercase:!0,maxlength:32},gia_ban:{type:Number,default:0},gia_ban_nt:{type:Number,default:0},gia_ban_ct_nt:{type:Number},gia_ban_ct:{type:Number},tien_ct:{type:Number,default:0},tien_ct_nt:{type:Number,default:0},ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},ma_thue:String,thue_suat:{type:Number,default:0},tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},
3
3
  tien:{type:Number,default:0},tien_nt:{type:Number,default:0},tk_tl:{type:String,uppercase:!0,maxlength:32},id_reason:{type:String,maxlength:32},ma_kho:{type:String},ty_le_hoa_hong:Number,tien_hoa_hong:Number,chuyen_ngay:Boolean,tk_no_hoa_hong:String,tk_co_hoa_hong:String,ma_kh_hoa_hong:String,user_nv:String,ty_le_hoa_hong_gt:Number,tien_hoa_hong_gt:Number,chuyen_ngay_gt:Boolean,tk_no_hoa_hong_gt:String,tk_co_hoa_hong_gt:String,ma_kh_hoa_hong_gt:String,user_gt:String,ty_le_hoa_hong_ctv:Number,tien_hoa_hong_ctv:Number,
4
4
  chuyen_ngay_ctv:Boolean,tk_cn_ctv:String,tk_cp_ctv:String,ma_ctv:String,user_ctv:String,ty_le_hoa_hong_ctv2:Number,tien_hoa_hong_ctv2:Number,ty_le_hoa_hong_ql:Number,tien_hoa_hong_ql:Number,chuyen_ngay_ql:Boolean,tk_no_hoa_hong_ql:String,tk_co_hoa_hong_ql:String,ma_kh_hoa_hong_ql:String,user_ql:String,ty_le_hoa_hong_kho:Number,tien_hoa_hong_kho:Number,chuyen_ngay_kho:Boolean,combo:Schema.Types.Mixed,ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_bp:{type:String,uppercase:!0,default:"",
5
- maxlength:32},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},exfields_detail:Schema.Types.Mixed,
6
- line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,ma_vt:validVt.existsVt,ma_dvt:validator.existsDvt};
5
+ maxlength:32},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ma_td1:Schema.Types.Mixed,
6
+ ma_td2:Schema.Types.Mixed,ma_td3:Schema.Types.Mixed,ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,ma_vt:validVt.existsVt,ma_dvt:validator.existsDvt};
7
7
  const hd3Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"HD3",required:!0,uppercase:!0,maxlength:32},ma_gd:{type:String,default:"0",maxlength:32},so_ct:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"ma_nt is required",default:"VND",trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},
8
8
  ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ten_kh:String,ong_ba:{type:String,default:"",maxlength:1024},ma_kho:{type:String,required:!0,uppercase:!0,maxlength:32},tk_co:{type:String,uppercase:!0,default:"",maxlength:32},tk_dt:{type:String,uppercase:!0,default:"",maxlength:32},dien_giai:{type:String,default:"",maxlength:1024},ma_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,
9
9
  uppercase:!0,maxlength:32},so_seri:{type:String,uppercase:!0,maxlength:32},ngay_hd:{type:Date,uppercase:!0},ma_thue:{type:String,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_co:{type:String,uppercase:!0,maxlength:32},dia_chi:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},dien_giai_thue:{type:String,default:"",maxlength:1024},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},exfields:Schema.Types.Mixed,trang_thai:{type:String,
@@ -1,2 +1,2 @@
1
- 'use strict';const validator=require("../libs/validator"),validAccount=require("../libs/validator-account"),hmcnScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},tk:{type:String,required:"tk is required",trim:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,trim:!0,maxlength:32},ten_kh:String,loai:{type:String,required:!0},hm:{type:Number,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,
2
- default:""},user_updated:{type:String,default:""}});hmcnScheam.validate={tk:validAccount.isTkcn,ma_kh:validator.existsKh};hmcnScheam.index({id_app:1,tk:1,ma_kh:1,loai:1});hmcnScheam.index({tk:"text",ma_kh:"text",ten_kh:"text"});hmcnScheam.index({status:1});hmcnScheam.index({user_created:1});module.exports=mongoose.models.hmcn||mongoose.model("hmcn",hmcnScheam);
1
+ 'use strict';const validator=require("../libs/validator"),validAccount=require("../libs/validator-account"),hmcnScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},tk:{type:String,required:"tk is required",trim:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,trim:!0,maxlength:32},ten_kh:String,loai:{type:String,required:!0},hm:{type:Number,default:0},hieu_luc_tu:Date,hieu_luc_den:Date,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
2
+ default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});hmcnScheam.validate={tk:validAccount.isTkcn,ma_kh:validator.existsKh};hmcnScheam.index({id_app:1,tk:1,ma_kh:1,loai:1});hmcnScheam.index({tk:"text",ma_kh:"text",ten_kh:"text"});hmcnScheam.index({status:1});hmcnScheam.index({hieu_luc_tu:1});hmcnScheam.index({hieu_luc_den:1});hmcnScheam.index({user_created:1});module.exports=mongoose.models.hmcn||mongoose.model("hmcn",hmcnScheam);
@@ -1,5 +1,5 @@
1
1
  'use strict';const validator=require("../libs/validator"),detailSchema=new Schema({tk_no:{type:String,uppercase:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},ma_bp:{type:String,uppercase:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,maxlength:32},ma_dt:{type:String,uppercase:!0,maxlength:32},ma_nv:{type:String,uppercase:!0,maxlength:32},ma_sp:{type:String,uppercase:!0,
2
- maxlength:32},dien_giai:String,exfields_detail:Schema.Types.Mixed,ma_td1:String,ma_td2:String,ma_td3:String,ma_td4:String,ma_td5:String,ma_td6:String,ma_td7:String,ma_td8:String,ma_td9:String,line:{type:Number,default:0}});detailSchema.validate={ma_kh:validator.existsKh};
2
+ maxlength:32},dien_giai:String,exfields_detail:Schema.Types.Mixed,ma_td1:Schema.Types.Mixed,ma_td2:Schema.Types.Mixed,ma_td3:Schema.Types.Mixed,ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={ma_kh:validator.existsKh};
3
3
  const vatvaoSchema=new Schema({ma_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,default:"1",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date,required:!0},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,
4
4
  required:!0,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,uppercase:!0,maxlength:32},tk_du_thue:{type:String,uppercase:!0,maxlength:32},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},t_hd:{type:Number,default:0},t_hd_nt:{type:Number,default:0},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ten_kh:{type:String,default:"",maxlength:1024},dia_chi:{type:String,default:"",maxlength:1024},ma_so_thue:{type:String,default:"",maxlength:1024},
5
5
  ten_vt:{type:String,default:"",maxlength:1024},exfields_detail:global.Schema.Types.Mixed,line:{type:Number,default:0}});vatvaoSchema.validate={ma_kh:validator.existsKh,ma_thue:validator.existsVat};
@@ -1,5 +1,5 @@
1
1
  'use strict';const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),detailSchema=new global.Schema({tk_no:{type:String,required:!0,uppercase:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},ma_bp:{type:String,uppercase:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,maxlength:32},ma_dot_tt:{type:Number},ma_dt:{type:String,uppercase:!0,
2
- maxlength:32},ma_nv:{type:String,uppercase:!0,maxlength:32},ma_sp:{type:String,uppercase:!0,maxlength:32},dien_giai:String,exfields_detail:global.Schema.Types.Mixed,ma_td1:String,ma_td2:String,ma_td3:String,ma_td4:String,ma_td5:String,ma_td6:String,ma_td7:String,ma_td8:String,ma_td9:String,line:{type:Number,default:0}});detailSchema.validate={tk_no:validAccount.existsTk,ma_kh:validator.existsKh};
2
+ maxlength:32},ma_nv:{type:String,uppercase:!0,maxlength:32},ma_sp:{type:String,uppercase:!0,maxlength:32},dien_giai:String,exfields_detail:global.Schema.Types.Mixed,ma_td1:Schema.Types.Mixed,ma_td2:Schema.Types.Mixed,ma_td3:Schema.Types.Mixed,ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_no:validAccount.existsTk,ma_kh:validator.existsKh};
3
3
  const vatvaoSchema=new global.Schema({ma_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ma_tc:{type:String,default:"1",uppercase:!0,trim:!0,maxlength:32},so_hd:{type:String,default:"",required:!0,uppercase:!0,trim:!0,maxlength:32},so_seri:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ngay_hd:{type:Date,required:!0},t_tien:{type:Number,default:0},t_tien_nt:{type:Number,default:0},ma_thue:{type:String,
4
4
  required:!0,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_no:{type:String,required:!0,uppercase:!0,maxlength:32},tk_du_thue:{type:String,required:!0,uppercase:!0,maxlength:32},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},t_hd:{type:Number,default:0},t_hd_nt:{type:Number,default:0},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_kh_cn:{type:String,default:"",maxlength:32},ten_kh_cn:{type:String,default:"",maxlength:1024},ten_kh:{type:String,default:"",
5
5
  maxlength:1024},dia_chi:{type:String,default:"",maxlength:1024},ma_so_thue:{type:String,default:"",maxlength:32},ten_vt:{type:String,default:"",maxlength:1024},exfields_detail:global.Schema.Types.Mixed,line:{type:Number,default:0}});vatvaoSchema.validate={tk_thue_no:validAccount.existsTk,tk_du_thue:validAccount.existsTk,ma_kh:validator.existsKh,ma_thue:validator.existsVat};
@@ -1,5 +1,6 @@
1
1
  'use strict';const validAccount=require("../libs/validator-account"),validator=require("../libs/validator"),detailSchema=new global.Schema({tk_co:{type:String,required:!0,uppercase:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32},ma_dot_tt:{type:Number},
2
- ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_sp:{type:String,uppercase:!0,maxlength:32},dien_giai:String,exfields_detail:global.Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_co:validAccount.existsTk,ma_kh:validator.existsKh};
2
+ ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_sp:{type:String,uppercase:!0,maxlength:32},dien_giai:String,exfields_detail:global.Schema.Types.Mixed,ma_td1:Schema.Types.Mixed,ma_td2:Schema.Types.Mixed,ma_td3:Schema.Types.Mixed,ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,line:{type:Number,default:0}});
3
+ detailSchema.validate={tk_co:validAccount.existsTk,ma_kh:validator.existsKh};
3
4
  const tdttno_ttSchema=new global.Schema({line:{type:Number,default:0},id_hd:{type:String,required:!0,maxlength:1024},id_tdtt:{type:String,maxlength:1024},ngay_hd:{type:Date,required:!0},so_hd:{type:String,required:!0,uppercase:!0,maxlength:32},ma_nt_hd:{type:String,required:!0,maxlength:32},ty_gia_hd:{type:Number,default:1},tien_hd_nt:{type:Number,default:0},da_thanh_toan_nt:{type:Number,default:0},con_lai_nt:{type:Number,default:0},tien_nt:{type:Number,default:0},tien:{type:Number,default:0},thanh_toan_qd:{type:Number,
4
5
  default:0},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},tk_co:{type:String,required:!0,maxlength:32},ma_bp:{type:String,uppercase:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,maxlength:32},ma_dot_tt:{type:Number},ma_dt:{type:String,uppercase:!0,maxlength:32},ma_nv:{type:String,uppercase:!0,maxlength:32},ma_sp:{type:String,uppercase:!0,maxlength:32},dien_giai:String,exfields_detail:global.Schema.Types.Mixed});
5
6
  tdttno_ttSchema.validate={tk_co:validAccount.existsTk,ma_kh:validator.existsKh};
@@ -3,8 +3,8 @@ trim:!0},tk_no:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},tk_co
3
3
  default:"",maxlength:1024},ma_kho:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_bp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_phi:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_hd:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_dt:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_nv:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},
4
4
  ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_ca:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_cp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_sp:{type:String,default:"",uppercase:!0,maxlength:1024,trim:!0},ma_vt:{type:String,default:"",uppercase:!0,maxlength:1024,trim:!0},ma_dvt_sp:{type:String,maxlength:32,trim:!0},ma_tt1_sp:{type:String,
5
5
  default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2_sp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3_sp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_cum_chi_tiet:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_cum_chi_tiet:{type:String,default:"",maxlength:1024,trim:!0},ma_cong_doan:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},id_lenhsx:{type:String,maxlength:1024},id_cs:{type:String,maxlength:1024},id_cs_ck:{type:String,maxlength:1024},
6
- id_link:String,ma_ct_link:String,so_ct_link:String,id_ct_goc:String,ma_ct_goc:String,so_ct_goc:String,ngay_ct_goc:Date,pt_thanh_toan_goc:String,pt_thanh_toan:String,pt_thanh_toan2:String,trang_thai:{type:String,maxlength:32},nh_dk:{type:Number,default:0},id_kbbtpb:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,exfields_detail:Schema.Types.Mixed,flag:{type:String,maxlength:1024},gio:Number,ngay:Number,thang:Number,quy:Number,nam:Number,ma_kenh:String,ma_td1:String,ma_td2:String,ma_td3:String,
7
- ma_td4:String,ma_td5:String,ma_td6:String,ma_td7:String,ma_td8:String,ma_td9: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:""}},{toJSON:{virtuals:!0}});
6
+ id_link:String,ma_ct_link:String,so_ct_link:String,id_ct_goc:String,ma_ct_goc:String,so_ct_goc:String,ngay_ct_goc:Date,pt_thanh_toan_goc:String,pt_thanh_toan:String,pt_thanh_toan2:String,trang_thai:{type:String,maxlength:32},nh_dk:{type:Number,default:0},id_kbbtpb:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,exfields_detail:Schema.Types.Mixed,flag:{type:String,maxlength:1024},gio:Number,ngay:Number,thang:Number,quy:Number,nam:Number,ma_kenh:String,ma_td1:Schema.Types.Mixed,ma_td2:Schema.Types.Mixed,
7
+ ma_td3:Schema.Types.Mixed,ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9: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:""}},{toJSON:{virtuals:!0}});
8
8
  socaiSchema.pre("save",function($next$$){this.tien="VND"==this.ma_nt?this.tien_nt=Math.roundBy(this.tien_nt,0):Math.roundBy(this.tien,0);let $ngay_ct$$=moment(this.ngay_ct);this.gio=$ngay_ct$$.get("hours");this.ngay=$ngay_ct$$.get("dates");this.quy=$ngay_ct$$.get("quarters");this.thang=$ngay_ct$$.get("months")+1;this.nam=$ngay_ct$$.get("year");$next$$()});
9
9
  socaiSchema.post("save",async function($doc$$){if(0<=["SO1","HD2","HD1","PBL"].indexOf($doc$$.ma_ct)){if($doc$$.ma_kh_no){var $dhgn_dhgn$$=await global.getModel("socai").findOne({ma_kh:$doc$$.ma_kh_no,id_app:$doc$$.id_app},{ngay_ct:1}).sort({ngay_ct:-1});if($dhgn_dhgn$$){var $so_ngay_da_mua_so_ngay_da_mua$$=moment().diff(moment($dhgn_dhgn$$.ngay_ct),"days");model.updateOne({ma_kh:$doc$$.ma_kh_no,id_app:$doc$$.id_app},{ngay_mua_gan_nhat:$dhgn_dhgn$$.ngay_ct,so_ngay_da_mua:$so_ngay_da_mua_so_ngay_da_mua$$})}}$doc$$.ma_kh_co&&
10
10
  $doc$$.ma_kh_co!=$doc$$.ma_kh_no&&($dhgn_dhgn$$=await global.getModel("socai").findOne({ma_kh:$doc$$.ma_kh_co,id_app:$doc$$.id_app},{ngay_ct:1}).sort({ngay_ct:-1}))&&($so_ngay_da_mua_so_ngay_da_mua$$=moment().diff(moment($dhgn_dhgn$$.ngay_ct),"days"),model.updateOne({ma_kh:$doc$$.ma_kh_co,id_app:$doc$$.id_app},{ngay_mua_gan_nhat:$dhgn_dhgn$$.ngay_ct,so_ngay_da_mua:$so_ngay_da_mua_so_ngay_da_mua$$}))}});socaiSchema.index({id_app:1});socaiSchema.index({ma_dvcs:1});socaiSchema.index({so_ct:1});socaiSchema.index({ngay_ct:1});
@@ -3,8 +3,8 @@ trim:!0},tk_no:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},tk_co
3
3
  default:"",maxlength:1024},ma_kho:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_bp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_phi:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_hd:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_dt:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_nv:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},
4
4
  ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_ca:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_cp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_sp:{type:String,default:"",uppercase:!0,maxlength:1024,trim:!0},ma_vt:{type:String,default:"",uppercase:!0,maxlength:1024,trim:!0},ma_dvt_sp:{type:String,maxlength:32,trim:!0},ma_tt1_sp:{type:String,
5
5
  default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2_sp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3_sp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_cum_chi_tiet:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_cum_chi_tiet:{type:String,default:"",maxlength:1024,trim:!0},ma_cong_doan:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},id_lenhsx:{type:String,maxlength:1024},id_cs:{type:String,maxlength:1024},id_link:String,ma_ct_link:String,
6
- so_ct_link:String,id_ct_goc:String,ma_ct_goc:String,so_ct_goc:String,ngay_ct_goc:Date,pt_thanh_toan_goc:String,pt_thanh_toan:String,pt_thanh_toan2:String,trang_thai:{type:String,maxlength:32},nh_dk:{type:Number,default:0},id_kbbtpb:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,exfields_detail:Schema.Types.Mixed,flag:{type:String,maxlength:1024},gio:Number,ngay:Number,thang:Number,quy:Number,nam:Number,ma_kenh:String,ma_td1:String,ma_td2:String,ma_td3:String,ma_td4:String,ma_td5:String,
7
- ma_td6:String,ma_td7:String,ma_td8:String,ma_td9: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:""}},{toJSON:{virtuals:!0}});
6
+ so_ct_link:String,id_ct_goc:String,ma_ct_goc:String,so_ct_goc:String,ngay_ct_goc:Date,pt_thanh_toan_goc:String,pt_thanh_toan:String,pt_thanh_toan2:String,trang_thai:{type:String,maxlength:32},nh_dk:{type:Number,default:0},id_kbbtpb:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,exfields_detail:Schema.Types.Mixed,flag:{type:String,maxlength:1024},gio:Number,ngay:Number,thang:Number,quy:Number,nam:Number,ma_kenh:String,ma_td1:Schema.Types.Mixed,ma_td2:Schema.Types.Mixed,ma_td3:Schema.Types.Mixed,
7
+ ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9: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:""}},{toJSON:{virtuals:!0}});
8
8
  socainppSchema.pre("save",function($next$$){this.tien="VND"==this.ma_nt?this.tien_nt=Math.roundBy(this.tien_nt,0):Math.roundBy(this.tien,0);let $ngay_ct$$=moment(this.ngay_ct);this.gio=$ngay_ct$$.get("hours");this.ngay=$ngay_ct$$.get("dates");this.quy=$ngay_ct$$.get("quarters");this.thang=$ngay_ct$$.get("months")+1;this.nam=$ngay_ct$$.get("year");$next$$()});
9
9
  socainppSchema.post("save",async function($doc$$){if(0<=["SO1","HD2","HD1","PBL"].indexOf($doc$$.ma_ct)){if($doc$$.ma_kh_no){var $dhgn_dhgn$$=await global.getModel("socainpp").findOne({ma_kh:$doc$$.ma_kh_no,id_app:$doc$$.id_app},{ngay_ct:1}).sort({ngay_ct:-1});if($dhgn_dhgn$$){var $so_ngay_da_mua_so_ngay_da_mua$$=moment().diff(moment($dhgn_dhgn$$.ngay_ct),"days");model.updateOne({ma_kh:$doc$$.ma_kh_no,id_app:$doc$$.id_app},{ngay_mua_gan_nhat:$dhgn_dhgn$$.ngay_ct,so_ngay_da_mua:$so_ngay_da_mua_so_ngay_da_mua$$})}}$doc$$.ma_kh_co&&
10
10
  $doc$$.ma_kh_co!=$doc$$.ma_kh_no&&($dhgn_dhgn$$=await global.getModel("socainpp").findOne({ma_kh:$doc$$.ma_kh_co,id_app:$doc$$.id_app},{ngay_ct:1}).sort({ngay_ct:-1}))&&($so_ngay_da_mua_so_ngay_da_mua$$=moment().diff(moment($dhgn_dhgn$$.ngay_ct),"days"),model.updateOne({ma_kh:$doc$$.ma_kh_co,id_app:$doc$$.id_app},{ngay_mua_gan_nhat:$dhgn_dhgn$$.ngay_ct,so_ngay_da_mua:$so_ngay_da_mua_so_ngay_da_mua$$}))}});socainppSchema.index({id_app:1});socainppSchema.index({ma_dvcs:1});socainppSchema.index({so_ct:1});
@@ -3,12 +3,13 @@ tk_no:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},tk_co:{type:St
3
3
  default:"",maxlength:1024},ma_kho:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_bp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_phi:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_hd:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_dt:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_nv:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},
4
4
  ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_ca:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_cp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_sp:{type:String,default:"",uppercase:!0,maxlength:1024,trim:!0},ma_vt:{type:String,default:"",uppercase:!0,maxlength:1024,trim:!0},ma_dvt_sp:{type:String,maxlength:32,trim:!0},ma_tt1_sp:{type:String,
5
5
  default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2_sp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3_sp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_cum_chi_tiet:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_cum_chi_tiet:{type:String,default:"",maxlength:1024},ma_cong_doan:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},id_lenhsx:{type:String,maxlength:1024},id_link:String,ma_ct_link:String,so_ct_link:String,trang_thai:{type:String,
6
- maxlength:32},nh_dk:{type:Number,default:0},id_kbbtpb:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,exfields_detail:Schema.Types.Mixed,flag:{type:String,maxlength:1024},gio:Number,ngay:Number,thang:Number,quy:Number,nam:Number,ma_kenh:String,ma_td1:String,ma_td2:String,ma_td3:String,ma_td4:String,ma_td5:String,ma_td6:String,ma_td7:String,ma_td8:String,ma_td9:String,pt_thanh_toan:String,pt_thanh_toan2:String,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
7
- default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}},{toJSON:{virtuals:!0}});socaitmpSchema.pre("save",function($next$$){this.tien="VND"==this.ma_nt?this.tien_nt=Math.roundBy(this.tien_nt,0):Math.roundBy(this.tien,0);let $ngay_ct$$=moment(this.ngay_ct);this.gio=$ngay_ct$$.get("hours");this.ngay=$ngay_ct$$.get("dates");this.quy=$ngay_ct$$.get("quarters");this.thang=$ngay_ct$$.get("months")+1;this.nam=$ngay_ct$$.get("year");$next$$()});socaitmpSchema.index({id_app:1});
8
- socaitmpSchema.index({ma_dvcs:1});socaitmpSchema.index({so_ct:1});socaitmpSchema.index({ngay_ct:1});socaitmpSchema.index({so_ct:1,ngay_ct:1});socaitmpSchema.index({gio:1});socaitmpSchema.index({ngay:1});socaitmpSchema.index({thang:1});socaitmpSchema.index({quy:1});socaitmpSchema.index({nam:-1});socaitmpSchema.index({ma_ct:1});socaitmpSchema.index({id_ct:1});socaitmpSchema.index({tk_no:1});socaitmpSchema.index({tk_co:1});socaitmpSchema.index({ma_kh_no:1});socaitmpSchema.index({ma_kh_co:1});socaitmpSchema.index({ma_nt:1});
9
- socaitmpSchema.index({ma_bp:1});socaitmpSchema.index({ma_phi:1});socaitmpSchema.index({ma_hd:1});socaitmpSchema.index({ma_dt:1});socaitmpSchema.index({ma_nv:1});socaitmpSchema.index({ma_sp:1});socaitmpSchema.index({ma_vt:1});socaitmpSchema.index({ma_kenh:1});socaitmpSchema.index({ma_td1:1});socaitmpSchema.index({ma_td2:1});socaitmpSchema.index({ma_td3:1});socaitmpSchema.index({ma_td4:1});socaitmpSchema.index({ma_td5:1});socaitmpSchema.index({ma_td6:1});socaitmpSchema.index({ma_td7:1});socaitmpSchema.index({ma_td8:1});
10
- socaitmpSchema.index({ma_td9:1});socaitmpSchema.index({ma_lo:1});socaitmpSchema.index({han_sd:-1});socaitmpSchema.index({ma_tt1:1});socaitmpSchema.index({ma_tt2:1});socaitmpSchema.index({ma_tt3:1});socaitmpSchema.index({id_lenhsx:1});socaitmpSchema.index({flag:1});socaitmpSchema.index({id_link:1});socaitmpSchema.index({id_app:1,id_ct:1,so_ct:-1,ngay_ct:-1,ma_kh_no:1,ma_kh_co:1,tk_no:1,tk_co:1});socaitmpSchema.index({dien_giai:"text"});socaitmpSchema.index({status:1});
11
- socaitmpSchema.index({user_created:1,visible_to:1,visible_to_users:1});socaitmpSchema.index({trang_thai:1});const model=mongoose.models.socaitmp||mongoose.model("socaitmp",socaitmpSchema);model.on("index",async function($err$$){$err$$?console.error("socaitmp index error",$err$$):console.info("socaitmp indexing complete")});
6
+ maxlength:32},nh_dk:{type:Number,default:0},id_kbbtpb:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,exfields_detail:Schema.Types.Mixed,flag:{type:String,maxlength:1024},gio:Number,ngay:Number,thang:Number,quy:Number,nam:Number,ma_kenh:String,ma_td1:Schema.Types.Mixed,ma_td2:Schema.Types.Mixed,ma_td3:Schema.Types.Mixed,ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,pt_thanh_toan:String,
7
+ pt_thanh_toan2: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:""}},{toJSON:{virtuals:!0}});
8
+ socaitmpSchema.pre("save",function($next$$){this.tien="VND"==this.ma_nt?this.tien_nt=Math.roundBy(this.tien_nt,0):Math.roundBy(this.tien,0);let $ngay_ct$$=moment(this.ngay_ct);this.gio=$ngay_ct$$.get("hours");this.ngay=$ngay_ct$$.get("dates");this.quy=$ngay_ct$$.get("quarters");this.thang=$ngay_ct$$.get("months")+1;this.nam=$ngay_ct$$.get("year");$next$$()});socaitmpSchema.index({id_app:1});socaitmpSchema.index({ma_dvcs:1});socaitmpSchema.index({so_ct:1});socaitmpSchema.index({ngay_ct:1});
9
+ socaitmpSchema.index({so_ct:1,ngay_ct:1});socaitmpSchema.index({gio:1});socaitmpSchema.index({ngay:1});socaitmpSchema.index({thang:1});socaitmpSchema.index({quy:1});socaitmpSchema.index({nam:-1});socaitmpSchema.index({ma_ct:1});socaitmpSchema.index({id_ct:1});socaitmpSchema.index({tk_no:1});socaitmpSchema.index({tk_co:1});socaitmpSchema.index({ma_kh_no:1});socaitmpSchema.index({ma_kh_co:1});socaitmpSchema.index({ma_nt:1});socaitmpSchema.index({ma_bp:1});socaitmpSchema.index({ma_phi:1});socaitmpSchema.index({ma_hd:1});
10
+ socaitmpSchema.index({ma_dt:1});socaitmpSchema.index({ma_nv:1});socaitmpSchema.index({ma_sp:1});socaitmpSchema.index({ma_vt:1});socaitmpSchema.index({ma_kenh:1});socaitmpSchema.index({ma_td1:1});socaitmpSchema.index({ma_td2:1});socaitmpSchema.index({ma_td3:1});socaitmpSchema.index({ma_td4:1});socaitmpSchema.index({ma_td5:1});socaitmpSchema.index({ma_td6:1});socaitmpSchema.index({ma_td7:1});socaitmpSchema.index({ma_td8:1});socaitmpSchema.index({ma_td9:1});socaitmpSchema.index({ma_lo:1});socaitmpSchema.index({han_sd:-1});
11
+ socaitmpSchema.index({ma_tt1:1});socaitmpSchema.index({ma_tt2:1});socaitmpSchema.index({ma_tt3:1});socaitmpSchema.index({id_lenhsx:1});socaitmpSchema.index({flag:1});socaitmpSchema.index({id_link:1});socaitmpSchema.index({id_app:1,id_ct:1,so_ct:-1,ngay_ct:-1,ma_kh_no:1,ma_kh_co:1,tk_no:1,tk_co:1});socaitmpSchema.index({dien_giai:"text"});socaitmpSchema.index({status:1});socaitmpSchema.index({user_created:1,visible_to:1,visible_to_users:1});socaitmpSchema.index({trang_thai:1});
12
+ const model=mongoose.models.socaitmp||mongoose.model("socaitmp",socaitmpSchema);model.on("index",async function($err$$){$err$$?console.error("socaitmp index error",$err$$):console.info("socaitmp indexing complete")});
12
13
  model.getArise=async($query$$,$options$$={fields:void 0})=>{let $condition$$={ngay_ct:{$gte:$query$$.tu_ngay,$lte:$query$$.den_ngay},id_app:$query$$.id_app};$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);$query$$.ma_bp&&($condition$$.ma_bp=$query$$.ma_bp);$query$$.ma_hd&&($condition$$.ma_hd=$query$$.ma_hd);$query$$.ma_dt&&($condition$$.ma_dt=$query$$.ma_dt);$query$$.ma_sp&&($condition$$.ma_sp=$query$$.ma_sp);$query$$.ma_nv&&($condition$$.ma_nv=$query$$.ma_nv);$query$$.ma_phi&&($condition$$.ma_phi=
13
14
  $query$$.ma_phi);$query$$.ma_kho&&($condition$$.ma_kho=$query$$.ma_kho);if($query$$.tk_no&&Array.isArray($query$$.tk_no)){var $tk_co_tk_no$$=$query$$.tk_no.reg();$condition$$.tk_no=$query$$.giam_tru_no?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"}}$query$$.tk_co&&Array.isArray($query$$.tk_co)&&($tk_co_tk_no$$=$query$$.tk_co.reg(),$condition$$.tk_co=$query$$.giam_tru_co&&$tk_co_tk_no$$?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"});return await model.find($condition$$,
14
15
  $options$$.fields).lean()};module.exports=model;