From 613ef2d4f991795608600f7d15c71eb5a41556fa Mon Sep 17 00:00:00 2001 From: yanzai Date: Sat, 14 Dec 2024 17:55:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=B7=E6=BA=90=E6=97=A5=E5=8E=86=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E8=B0=83=E6=95=B4=EF=BC=8C=E5=90=8E=E5=8F=B0=E5=A2=9E?= =?UTF-8?q?=E5=8A=A03=E4=B8=AA=E8=A1=A8=E6=A0=BC=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/H5/FenzhenController.php | 59 ++++++++++++++++++- h5/pages/main/yytjsj/yytjsj.vue | 12 +++- 2 files changed, 67 insertions(+), 4 deletions(-) diff --git a/Laravel/app/Http/Controllers/H5/FenzhenController.php b/Laravel/app/Http/Controllers/H5/FenzhenController.php index b856b18..20af871 100644 --- a/Laravel/app/Http/Controllers/H5/FenzhenController.php +++ b/Laravel/app/Http/Controllers/H5/FenzhenController.php @@ -6,6 +6,7 @@ use App\Http\Controllers\API\PEISApiController; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Http\Controllers\API\H5\FenzhenController as fzc; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use PhpOffice\PhpSpreadsheet\Spreadsheet; @@ -79,7 +80,7 @@ class FenzhenController extends Controller $table_list=$res['data']['table1']; $clinic_list=$res['data']['table2']; $table_list3=$res['data']['table3']; - // dd(json_encode($table_list3,JSON_UNESCAPED_UNICODE)); + // dd(json_encode($res['data'],JSON_UNESCAPED_UNICODE)); $template_path = Storage::path('public/excel/check_time.xlsx'); $spreadsheet = IOFactory::load($template_path); $worksheet = $spreadsheet->getActiveSheet(); @@ -156,8 +157,9 @@ class FenzhenController extends Controller $shiji_timecount=0; $chaoshi_timecount=0; $weichaoshi_count=0; - + $tj_numbers=[]; foreach ($table_list3 as $table_list3_i) { + $tj_numbers[]=$table_list3_i['uuid']; $biaozhun_timecount+=$table_list3_i['clinic_time']; $shiji_timecount+=$table_list3_i['used_time']; $chaoshi_timecount+=$table_list3_i['timeout']; @@ -197,6 +199,59 @@ class FenzhenController extends Controller $worksheet->getStyle('AC3:AJ' . ($row +2))->applyFromArray($styleArray); + //准时到检率 + $tj_numbers=implode(",", $tj_numbers); + $peis = new PEISApiController(); + $wait=$peis::Get($peis::Api('报告时间计算',$tj_numbers),'460107000001',"报告时间计算"); + $jianhou_sign_count=0; + $zhunshi_count=0; + //dd($wait); + if(isset($wait['Data'])){ + $jianhou_sign_count=count($wait['Data']); + } + foreach ($table_list3 as $key=> $fz_value) { + foreach ($wait['Data'] as $index => $sx_value) { + if($fz_value['uuid']==$sx_value['体检号']){ + if($date.' '.$fz_value['end_time']>$sx_value['检后签到时间']){ + $zhunshi_count++; + } + } + } + } + $worksheet->setCellValueExplicit('AL' . 3,$date , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->setCellValueExplicit('AM' . 3,$zhunshi_count , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->setCellValueExplicit('AN' . 3,$jianhou_sign_count , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->setCellValueExplicit('AO' . 3,round($zhunshi_count/$jianhou_sign_count, 2) , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->getStyle('AL3:AO' . 3)->applyFromArray($styleArray); + + //预约率 + $yyl_yuyue_count=0;//预约人数 + $yyl_tj_count=0;//体检总人数 + $yuyueList=DB::table('orders')->where(['appointment_date'=>$date])->whereIn('status',[2,4])->whereNotNull(['appointment_number'])->get(); + + $yyl_yuyue_count=count($yuyueList); + $yyl_tj_count=$usercount; + + $worksheet->setCellValueExplicit('AL' . 7,$date , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->setCellValueExplicit('AM' . 7,$yyl_yuyue_count , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->setCellValueExplicit('AN' . 7,$yyl_tj_count , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->setCellValueExplicit('AO' . 7,round($yyl_yuyue_count/$yyl_tj_count, 2) , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->getStyle('AL7:AO' . 7)->applyFromArray($styleArray); + + //预约准时率 + $yyzsl_ren_count=0;//预约准时到达人数 + $yyzsl_zong_count=0;//预约总人数 + $yyzsl_zong_count=$yyl_yuyue_count; + foreach ($yuyueList as $key=> $yy_value) { + if($yy_value->appointment_date.' '.$yy_value->appointment_time > $yy_value->check_time){ + $yyzsl_ren_count++; + } + } + $worksheet->setCellValueExplicit('AL' . 11,$date , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->setCellValueExplicit('AM' . 11,$yyzsl_ren_count , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->setCellValueExplicit('AN' . 11,$yyzsl_zong_count , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->setCellValueExplicit('AO' . 11,round($yyzsl_ren_count/$yyzsl_zong_count, 2) , \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING); + $worksheet->getStyle('AL11:AO' . 11)->applyFromArray($styleArray); $file_name = Str::orderedUuid(); $dir_path = "public/excel/" . date('Ym') . '/' . $file_name; diff --git a/h5/pages/main/yytjsj/yytjsj.vue b/h5/pages/main/yytjsj/yytjsj.vue index a61e402..8756f0d 100755 --- a/h5/pages/main/yytjsj/yytjsj.vue +++ b/h5/pages/main/yytjsj/yytjsj.vue @@ -709,8 +709,8 @@ - @@ -762,6 +762,14 @@