flexbiz-server
Version:
Flexible Server
5 lines (4 loc) • 1.6 kB
JavaScript
'use strict';const model=global.getModel("dmban"),group=global.getModel("group"),dmkho=global.getModel("dmkho"),pbl=global.getModel("pbl"),trangthai=global.getModel("trangthai"),controller=require("../../controllers/controller"),async=require("async");
module.exports=function($router$$){(new controller($router$$,model,"dmban",{sort:{ma_kho:1,stt:1,ten_ban:1},notNeedRight:($user$$,$options$$={})=>"view"==($options$$.action||"").toLowerCase()?!0:!1,unique:["ma_ban"],onView:function($user$$,$items$$,$next$$){async.series({kho:function($callback$$){$items$$.joinModel2($user$$.current_id_app,dmkho,[{where:{ma_kho:"ma_kho"},fields:[{ten_kho:"ten_kho"}]}],function(){$callback$$(null)})},grp:function($callback$$){$items$$.joinModel2($user$$.current_id_app,
group,[{where:{nh_ban:"_id"},fields:[{name:"ten_nh_ban",value:"group_name"}]}],function(){$callback$$(null)})},loai:function($callback$$){$items$$.joinModel2($user$$.current_id_app,group,[{where:{loai_ban:"_id"},fields:[{name:"ten_loai_ban",value:"group_name"}]}],function(){$callback$$(null)})},trang_thai:function($callback$$){Promise.all($items$$.map($item$$=>(async()=>{let $p$$=await pbl.findOne({id_app:$item$$.id_app,ma_ban:$item$$.ma_ban,ma_kho:$item$$.ma_kho,trang_thai:{$in:["1","3"]}});$item$$.trang_thai=
$p$$?$p$$.trang_thai:"0";return $item$$})())).then(()=>{$items$$.joinModel2(null,trangthai,[{where:$item$$=>({ma_trang_thai:$item$$.trang_thai,ma_ct:"DMBAN"}),fields:[{name:"ten_trang_thai",value:"group_name"},{name:"color",value:"color"}]}],function(){$callback$$(null)})})}},function(){$next$$(null,$items$$)})}})).route()};