setName('good') ->setDescription('the good command'); } protected function execute(Input $input, Output $output) { // 指令输出 $sttime = Cache::get("departTips"); if($sttime==1) return ''; Cache::set("departTips",1,1800); $daprtid = [52,53,56,57]; $data=[]; $companyNo='GS2203161855277894' ; $date=date("Y-m-d"); $depart= Db::connect("mysql_sys")->name("company_item")->where(["id"=>$daprtid])->column("name","id"); $company= Db::connect("mysql_sys")->name("company_info")->where(["companyNo"=>$companyNo])->column("company_name","companyNo"); $uid= Db::connect("mysql_sys")->name("account_item")->where(["itemid"=>$daprtid])->column("account_id","itemid"); foreach ($depart as $itmeid=>$depart_name){ $ist=Db::name("depart_everyday")->where(["depart_id"=>$itmeid,'companyNo'=>$companyNo,"day_time"=>$date])->findOrEmpty(); $uidArr =$uid[$itmeid]??[]; $sale=$this->GetData($uidArr,$itmeid,$companyNo); if($ist){ $ist['sale_total']=$sale['sale_total']??0; $ist['th_total']=$sale['th_total']??0; }else{ $ist=[ "depart_id"=>$itmeid, "depart_name"=>$depart_name, "day_time"=>date("Y-m-d"), "sale_total"=>$sale['sale_total']??0, "th_total"=>$sale['th_total']??0, "companyNo"=>$companyNo, "companyName"=>$company[$companyNo], ]; } Db::name("depart_everyday")->save($ist); } $date=date('Y-m-d H:i:s'); $output->writeln("[{$date}] 更新数据成功"); } //各部门统计数据 public function GetData($uid,$departid=0,$companyNo){ $day_total =Db::name("sale")->where([["apply_id","in",$uid],["is_del","=",0],['supplierNo',"=",$companyNo]])->whereDay("addtime","today") ->sum('total_price'); $day_thtotal=Db::name("th_data")->alias("a") ->leftJoin("sale b","a.orderCode=b.orderCode") ->where([["a.apply_id","in",$uid],["a.is_del","=",0],['b.supplierNo',"=",$companyNo]]) ->whereDay("a.addtime","today")->sum('a.th_fee'); if($departid==56){ $wlb= $this->wlb(); $day_total+=$wlb; } return ["sale_total"=>$day_total,"th_total"=>$day_thtotal]; } //网络部数据统计 public function wlb(){ $Db=Db::connect("mysql_cxinv"); $day_total =$Db->name("inter_order")->alias("a")->leftjoin("qrd_info b","a.orderCode=b.sequenceNo and b.qrdSource = 10 and b.is_del = 0") ->whereDay("a.addtime","today")->where("b.companyNo","GS2203161855277894")->sum('totalPrice'); return $day_total; } }