flexbiz-server
Version:
Flexible Server
8 lines (7 loc) • 2.9 kB
JavaScript
'use strict';const sokho=global.getModel("sokho"),dmvt=global.getModel("dmvt"),dmdvt=global.getModel("dmdvt"),dmdt=global.getModel("dmdt"),dinhmucsx=global.getModel("dinhmucsx"),controller=require("../../controllers/controllerRPT"),moment=require("moment");
module.exports=function($router$$){new controller($router$$,"getthanhpham4pnk",async($query_req_sokho_phat_sinh_vts$$,$callback$$)=>{const $condition$$=$query_req_sokho_phat_sinh_vts$$.query;if(!$condition$$.ma_ct||!$condition$$.tu_ngay||!$condition$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1:ma_ct,tu_ngay,den_ngay");$query_req_sokho_phat_sinh_vts$$={id_app:$condition$$.id_app,ngay_ct:{$gte:moment($condition$$.tu_ngay).startOf("date").toDate(),
$lte:moment($condition$$.den_ngay).endOf("date").toDate()},ma_ct:{$in:$condition$$.ma_ct.toUpperCase().split(",")}};$condition$$.ma_vt&&($query_req_sokho_phat_sinh_vts$$.ma_vt=$condition$$.ma_vt);$condition$$.ma_dt&&($query_req_sokho_phat_sinh_vts$$.ma_dt=$condition$$.ma_dt);$condition$$.ma_hd&&($query_req_sokho_phat_sinh_vts$$.ma_hd=$condition$$.ma_hd);$condition$$.ma_kh&&($query_req_sokho_phat_sinh_vts$$.ma_kh=$condition$$.ma_kh);$condition$$.ma_kho&&($query_req_sokho_phat_sinh_vts$$.ma_kho=$condition$$.ma_kho);
$query_req_sokho_phat_sinh_vts$$=await sokho.find($query_req_sokho_phat_sinh_vts$$).lean();$condition$$.chi_sp_co_dm?($query_req_sokho_phat_sinh_vts$$=await $query_req_sokho_phat_sinh_vts$$.asyncGroupBy(["ma_vt","ma_dvt","ngay_ct"],[{name:"sl_nhap",value:"sl_xuat"}]),$query_req_sokho_phat_sinh_vts$$=(await Promise.all($query_req_sokho_phat_sinh_vts$$.map($sp$$=>(async()=>{let $query_dinhmuc$$={id_app:$condition$$.id_app,ma_sp:$sp$$.ma_vt},$ngay_ct$$=$sp$$.ngay_ct;$query_dinhmuc$$.hieu_luc_tu_ngay=
{$lte:moment($ngay_ct$$).startOf("date").toDate()};$query_dinhmuc$$.hieu_luc_den_ngay={$gte:moment($ngay_ct$$).endOf("date").toDate()};return await dinhmucsx.findOne($query_dinhmuc$$,{_id:1}).sort({hieu_luc_tu_ngay:-1}).lean()?$sp$$:null})()))).filter($r$$=>$r$$),$query_req_sokho_phat_sinh_vts$$=await $query_req_sokho_phat_sinh_vts$$.asyncGroupBy(["ma_vt","ma_dvt"],["sl_nhap"])):$query_req_sokho_phat_sinh_vts$$=await $query_req_sokho_phat_sinh_vts$$.asyncGroupBy(["ma_vt","ma_dvt","ngay_ct"],[{name:"sl_nhap",
value:"sl_xuat"}]);await $query_req_sokho_phat_sinh_vts$$.asyncJoinModel2($condition$$.id_app,dmvt,{where:"ma_vt",fields:["ten_vt","tk_vt","ma_lvt",{tk_du:"tk_gv"}]});$query_req_sokho_phat_sinh_vts$$=$query_req_sokho_phat_sinh_vts$$.filter($v$$=>"TP"==$v$$.ma_lvt);await $query_req_sokho_phat_sinh_vts$$.filter($r$$=>$r$$.ma_dvt).asyncJoinModel2($condition$$.id_app,dmdvt,{where:"ma_dvt",fields:"ten_dvt"});await $query_req_sokho_phat_sinh_vts$$.filter($r$$=>$r$$.ma_dt).asyncJoinModel2($condition$$.id_app,
dmdt,{where:"ma_dt",fields:"ten_dt"});$callback$$(null,$query_req_sokho_phat_sinh_vts$$)})};