flexbiz-server
Version:
Flexible Server
12 lines (11 loc) • 5.06 kB
JavaScript
'use strict';const tdttco=global.getModel("tdttco"),tdttco_tt=global.getModel("tdttco_tt"),Customer=global.getModel("customer"),Pc1=global.getModel("pc1"),async=require("async"),underscore=require("underscore"),controller=require("../../controllers/controllerRPT");
module.exports=function($router_rpt$$){$router_rpt$$=new controller($router_rpt$$,"phanbochitienchohoadon",function($req$$,$callback$jscomp$1$$){const $condition$$=$req$$.query;if(!$condition$$.id_app||!$condition$$.tu_ngay||!$condition$$.den_ngay)return $callback$jscomp$1$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: tu_ngay,den_ngay,id_app");async.series({phieu_thu:function($callback$jscomp$0$$){const $query_pt$$={id_app:$condition$$.id_app,$where:function(){return this.details&&
0<this.details.length}};$query_pt$$.ngay_ct={$gte:$condition$$.tu_ngay,$lte:$condition$$.den_ngay};$condition$$.ma_dvcs&&($query_pt$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_kh&&($query_pt$$.ma_kh=$condition$$.ma_kh);$condition$$.so_ct&&($query_pt$$.so_ct=$condition$$.so_ct);Pc1.find($query_pt$$).lean().exec(function($e$$,$pts$$){if($e$$)return $callback$jscomp$0$$($e$$);async.mapSeries($pts$$,function($pt$$,$callback$$){$pt$$.t_tien_nt=$pt$$.details.csum("tien_nt");$pt$$.t_tien=$pt$$.details.csum("tien");
tdttco_tt.find({id_app:$condition$$.id_app,id_ct:$pt$$._id.toString()}).exec(function($e$$,$rs$$){if($e$$)return $callback$$($e$$);$pt$$.da_phan_bo_nt=$rs$$.csum("tien_nt");$pt$$.da_phan_bo=$rs$$.csum("tien");$pt$$.con_lai_nt=$pt$$.t_tien_nt-$pt$$.da_phan_bo_nt;$pt$$.con_lai=$pt$$.t_tien-$pt$$.da_phan_bo;$callback$$(null,$pt$$)})},function($e$$){if($e$$)return $callback$jscomp$0$$($e$$);$callback$jscomp$0$$(null,$pts$$)})})}},function($error$$,$results$$){if($error$$)return $callback$jscomp$1$$($error$$);
var $report$$=$results$$.phieu_thu;$report$$.joinModel($condition$$.id_app,Customer,[{akey:"ma_kh",bkey:"ma_kh",fields:[{name:"ten_kh",value:"ten_kh"},{name:"id_kh",value:"_id"}]}],function(){$callback$jscomp$1$$(null,$report$$)})})});$router_rpt$$.createRoute("invoices",function($req$$,$callback$jscomp$1$$){const $condition$$=$req$$.query;if(!$condition$$.id_app||!$condition$$.ma_kh||!$condition$$.id_ct)return $callback$jscomp$1$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: ma_kh,id_ct,id_app");
async.series({invocies:function($callback$jscomp$0$$){const $query$$={id_app:$condition$$.id_app};$query$$.ma_kh=$condition$$.ma_kh;$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);tdttco.find($query$$).lean().exec(function($e$$,$invoices$$){if($e$$)return $callback$jscomp$0$$($e$$);async.mapSeries($invoices$$,function($invoice$$,$callback$$){const $t_invoice$$={id_tdtt:$invoice$$._id,line:$invoice$$.line,ma_ct:$invoice$$.ma_ct,id_hd:$invoice$$.id_ct,so_hd:$invoice$$.so_hd,ngay_hd:$invoice$$.ngay_hd,
tien_hd_nt:$invoice$$.tien_nt};$t_invoice$$.ma_nt_hd=$invoice$$.ma_nt;$t_invoice$$.ty_gia_hd=$invoice$$.ty_gia;$t_invoice$$.ma_kh=$invoice$$.ma_kh;$t_invoice$$.dien_giai=$invoice$$.dien_giai;$t_invoice$$.tien_nt=0;$t_invoice$$.tien=0;$t_invoice$$.da_thanh_toan_nt=0;$t_invoice$$.con_lai_nt=0;$t_invoice$$.thanh_toan_qd=0;$t_invoice$$.tk_co=$invoice$$.tk_no;$t_invoice$$.ma_dvcs=$invoice$$.ma_dvcs;tdttco_tt.find({id_tdtt:$invoice$$._id},function($error$$,$results$$){$t_invoice$$.tien_nt=$results$$.csum("tien_nt",
{id_ct:$condition$$.id_ct});$t_invoice$$.tien=$results$$.csum("tien",{id_ct:$condition$$.id_ct});$t_invoice$$.thanh_toan_qd=$results$$.csum("thanh_toan_qd",{id_ct:$condition$$.id_ct});$t_invoice$$.da_thanh_toan_nt=$results$$.csum("thanh_toan_qd")-$t_invoice$$.thanh_toan_qd;$t_invoice$$.con_lai_nt=$t_invoice$$.tien_hd_nt-$t_invoice$$.da_thanh_toan_nt;$t_invoice$$.tien_nt_alloc=$t_invoice$$.tien_nt;$callback$$(null,$t_invoice$$)})},function($error$$,$results$$){if($error$$)return $callback$jscomp$0$$($error$$);
$results$$=underscore.filter($results$$,function($r$$){return 0<$r$$.con_lai_nt});$callback$jscomp$0$$(null,$results$$)})})}},function($error$$,$results$$){if($error$$)return $callback$jscomp$1$$($error$$);$callback$jscomp$1$$(null,$results$$.invocies)})});$router_rpt$$.createRoute("save",function($req$$,$callback$jscomp$0$$){let $invoices$$=$req$$.body;underscore.isArray($invoices$$)||($invoices$$=[$invoices$$]);$invoices$$.forEach(function($invoice$$){$invoice$$.ngay_hd=new Date($invoice$$.ngay_hd);
$invoice$$.ngay_ct=new Date($invoice$$.ngay_ct);$invoice$$.id_app=$req$$.query.id_app;$invoice$$.user_created=$req$$.user.email});async.mapSeries($invoices$$,function($invoice$$,$callback$$){tdttco_tt.remove({id_tdtt:$invoice$$.id_tdtt,id_ct:$invoice$$.id_ct},function($e$$){if($e$$)return $callback$$($e$$);(new tdttco_tt($invoice$$)).save(function($error$$,$msgErrors_rs$$){if($error$$){$msgErrors_rs$$=[];for(let $k$$ in $error$$.errors)$msgErrors_rs$$.push($error$$.errors[$k$$].message);return $callback$$($msgErrors_rs$$)}$callback$$(null,
$msgErrors_rs$$)})})},function($e$$,$rs$$){if($e$$)return $callback$jscomp$0$$($e$$);$callback$jscomp$0$$(null,$rs$$)})},{method:"POST"})};