UNPKG

flexbiz-server

Version:

Flexible Server

6 lines (5 loc) 2.08 kB
'use strict';const dkhoc=global.getModel("dkhoc"),dinhmucsx=global.getModel("dinhmucsx"),dmvt=global.getModel("dmvt"),dmdvt=global.getModel("dmdvt"),dmdt=global.getModel("dmdt"),controller=require("../../controllers/controllerRPT"); module.exports=function($router$$){new controller($router$$,"taodinhmuctudkhoc",async($condition_req$$,$callback$$)=>{$condition_req$$=$condition_req$$.query;if(!$condition_req$$.id_dinhmucsx)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1:id_dinhmucsx");if(!global.mongoose.Types.ObjectId.isValid($condition_req$$.id_dinhmucsx))return $callback$$("Id \u0111\u1ecbnh m\u1ee9c kh\u00f4ng h\u1ee3p l\u1ec7");const $dinhmuc$$=await dinhmucsx.findOne({_id:$condition_req$$.id_dinhmucsx}).lean(); if(!$dinhmuc$$)return $callback$$("\u0110\u1ecbnh m\u1ee9c kh\u00f4ng t\u1ed3n t\u1ea1i");var $query_vts$$={id_app:$condition_req$$.id_app,ma_vt:$dinhmuc$$.ma_sp};$condition_req$$.ma_dt&&($query_vts$$.ma_dt=$condition_req$$.ma_dt);$condition_req$$.ma_kho&&($query_vts$$.ma_kho=$condition_req$$.ma_kho);$query_vts$$=(await dkhoc.find($query_vts$$).lean()).map($dk$$=>$dinhmuc$$.details.map($detail$$=>{$detail$$.sl_dinh_muc/=$dinhmuc$$.so_luong||1;$detail$$.sl_xuat=1*$detail$$.sl_dinh_muc;$detail$$.gia_von= $detail$$.gia_von_nt=0;$detail$$.tien_xuat=$detail$$.tien_xuat_nt=0;$detail$$.ma_dt=$dk$$.ma_dt;$detail$$.ma_kh="";$detail$$.ma_sp=$dinhmuc$$.ma_sp;return $detail$$})).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$query_vts$$=await $query_vts$$.asyncGroupBy(["ma_vt","ma_dvt","ma_dt","ma_kh","ma_sp"],["sl_xuat","tien_xuat","tien_xuat_nt"]);await $query_vts$$.asyncJoinModel2($condition_req$$.id_app,dmvt,{where:"ma_vt",fields:["ten_vt","tk_vt",{tk_du:"tk_gv"}]});await $query_vts$$.asyncJoinModel2($condition_req$$.id_app, dmvt,{where:{ma_sp:"ma_vt"},fields:{ten_sp:"ten_vt"}});await $query_vts$$.asyncJoinModel2($condition_req$$.id_app,dmdvt,{where:"ma_dvt",fields:"ten_dvt"});await $query_vts$$.asyncJoinModel2($condition_req$$.id_app,dmdt,{where:"ma_dt",fields:"ten_dt"});$callback$$(null,$query_vts$$)})};