financeRule($data,false); if(!$status) return [$status,$msg]; return [true,'保存成功!']; } public function financeAdd($data,$user){ list($status,$msg) = $this->financeRule($data); if(!$status) return [$status,$msg]; return [true,'保存成功!']; } public function financeRule($data,$is_add = true){ return [true,'']; } public function financeDel($data){ if($this->isEmpty($data,'id')) return [false,'ID必须!']; Finance::where('id',$data['id'])->update([ 'del_time'=>time() ]); FinanceDetail::where('id',$data['finance_id'])->update([ 'del_time'=>time() ]); return [true,'删除成功']; } public function financeList($data){ $list = Finance::where('del_time',0)->select('id','finance_account_name','account','ifsc','amount','crt_id','crt_time')->orderBy('id','desc'); $list = $this->limit($list,'',$data); $list = $this->fillFinanceList($list); return [200,$list]; } public function fillFinanceList($data){ if(empty($data['data'])) return $data; $map = Employee::whereIn('id',array_unique(array_column($data['data'],'crt_id'))) ->pluck('emp_name','id') ->toArray(); date_default_timezone_set('PRC'); foreach ($data['data'] as $key => $value){ $data['data'][$key]['crt_name'] = $map[$value['crt_id']] ?? ''; $data['data'][$key]['crt_time'] = $value['crt_time'] ? date("Y-m-d",$value['crt_time']) : ''; } return $data; } public function financeDetailList($data){ $list = FinanceDetail::where('del_time',0)->select('id','finance_id','amount','crt_time')->orderBy('id','desc'); $list = $this->limit($list,'',$data); $list = $this->fillFinanceDetailList($list); return [200,$list]; } public function fillFinanceDetailList($data){ if(empty($data['data'])) return $data; //主表信息 $finance = Finance::whereIn('id',array_unique(array_column($data['data'],'finance_id'))) ->select('id','finance_account_name','account','ifsc','amount as total_amount','crt_id') ->get()->toArray(); $finance_map = array_column($finance,null,'id'); $map = Employee::whereIn('id',array_unique(array_column($finance,'crt_id'))) ->pluck('emp_name','id') ->toArray(); date_default_timezone_set('PRC'); foreach ($data['data'] as $key => $value){ $tmp = $finance_map[$value['finance_id']] ?? []; unset($tmp['id']); $data['data'][$key]['crt_name'] = $map[$tmp['crt_id']] ?? ''; $data['data'][$key]['crt_time'] = $value['crt_time'] ? date("Y-m-d",$value['crt_time']) : ''; $data['data'][$key] = array_merge_recursive($data['data'][$key],$tmp); } return $data; } public function financeImport($data,$user){ $import = new Import(); //设置导入人id $import->setCrt($user['id']); //导入 \Maatwebsite\Excel\Facades\Excel::import($import,$data['file']); if($import->getMsg()) return [false, $import->getMsg()]; return [true, '']; } }