flexbiz-server
Version:
Flexible Server
7 lines (6 loc) • 2.61 kB
JavaScript
'use strict';const tontucthoiScheam=new Schema({id_app:{type:String},nam:{type:Number},ma_dvcs:{type:String,maxlength:1024},ma_vt:{type:String,uppercase:!0,maxlength:1024},ma_kho:{type:String,uppercase:!0,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},ton00:{type:Number,default:0},du00:{type:Number,
default:0},du_nt00:{type:Number,default:0},kc_yn:{type:Boolean,default:!1},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:""}});
(global.configs||{}).createIndexes&&(tontucthoiScheam.index({id_app:1,nam:1,ma_dvcs:1,ma_vt:1,ma_kho:1,ma_lo:1,ma_tt1:1,ma_tt2:1,ma_tt3:1},{name:"tontucthoi_index_1"}),tontucthoiScheam.index({status:1}),tontucthoiScheam.index({user_created:1,visible_to:1,visible_to_users:1}));const tontucthoi=mongoose.models.tontucthoi||mongoose.model("tontucthoi",tontucthoiScheam),ckvt=require("../libs/ckvt"),underscore=require("underscore"),async=require("async");
tontucthoi.tinhTonTucThoi=function($sks$$,$cb$$){$cb$$||($cb$$=function($e$$){$e$$&&console.log("error when calc tontucthoi",$e$$)});underscore.isArray($sks$$)||($sks$$=[$sks$$]);async.mapSeries($sks$$,function($sk$$,$cb$$){if(!$sk$$)return $cb$$();let $query$$={id_app:$sk$$.id_app,ma_vt:$sk$$.ma_vt};tontucthoi.deleteMany($query$$,function($e$jscomp$2$$){if($e$jscomp$2$$)return $cb$$("remove tonkhotucthoi");$query$$.groupBy="id_app ma_vt ma_kho ma_dvcs ma_lo ma_tt1 ma_tt2 ma_tt3 han_sd".split(" ");
$query$$.ngay=new Date;ckvt($query$$,async function($e$jscomp$1$$,$rs$$){if($e$jscomp$1$$)return $cb$$("error when calc tontucthoi\n"+$e$jscomp$1$$);$rs$$=$rs$$.filter($r$$=>$r$$.ma_vt&&$r$$.ma_kho&&$r$$.id_app);await $rs$$.asyncJoinModel2(null,global.getModel("dmkho"),{where:$item$$=>({id_app:$item$$.id_app,ma_kho:$item$$.ma_kho}),fields:"la_kho_online"});$rs$$&&0<$rs$$.length?tontucthoi.create($rs$$,async function($e$jscomp$0$$){if($e$jscomp$0$$)return $cb$$($e$jscomp$0$$);$e$jscomp$0$$=$rs$$.filter($r$$=>
$r$$.la_kho_online).map($r$$=>$r$$.ton00||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);global.getModel("dmvt").updateOne({id_app:$sk$$.id_app,ma_vt:$sk$$.ma_vt},{ton_kho_online_hien_tai:$e$jscomp$0$$}).then(()=>{}).catch($e$$=>{$e$$&&console.error($e$$)});$cb$$(null,$rs$$)}):$cb$$()})})},function($e$$,$rs$$){$cb$$($e$$,$rs$$)})};module.exports=tontucthoi;