You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
4.2 KiB
PHP
167 lines
4.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\API\H5;
|
|
|
|
use App\Http\Controllers\API\AspNetZhuanController;
|
|
use App\Http\Controllers\Controller;
|
|
use DateTime;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class NMRController extends Controller
|
|
{
|
|
//获取核磁号 本月每日剩余号源数量
|
|
public function GetMonthPlanCount()
|
|
{
|
|
$hospital_id =request('hospital_id');
|
|
$month=request('month');
|
|
|
|
// 获取给定月份的第一天
|
|
$firstDayOfMonth = date('Y-m-01', strtotime($month));
|
|
// 获取给定月份的最后一天
|
|
$lastDayOfMonth = date('Y-m-t', strtotime($month));
|
|
$today = date('Y-m-d');
|
|
$days = [];
|
|
for ($date = $firstDayOfMonth; $date <= $lastDayOfMonth; $date = date('Y-m-d', strtotime($date . ' +1 day'))) {
|
|
// 如果当前日期大于或等于今天的日期,则添加到数组中
|
|
if ($date >= $today) {
|
|
$days[] = $date;
|
|
}
|
|
}
|
|
$aspnet=new AspNetZhuanController();
|
|
$list=[];
|
|
$nmr=$aspnet::GetNmrList(['yyid'=>6,'data'=>$days ,'action'=>"1"],uniqid());
|
|
|
|
//获取每日数量
|
|
foreach($nmr as $k=>$v){
|
|
$t_v=[];
|
|
foreach ($v as $k1 => $v1) {
|
|
if($v1['keyong']==0){
|
|
$t_v[]=$v1;
|
|
}
|
|
}
|
|
$list[]=[
|
|
'date'=>$k,
|
|
'count'=>count($t_v)
|
|
];
|
|
}
|
|
|
|
//获取整月日期
|
|
// 获取当月的第一天
|
|
$firstDay = date("Y-m-d", strtotime($month . "-01"));
|
|
// 获取当月的最后一天
|
|
$lastDay = date("Y-m-t", strtotime($month));
|
|
$dates = array();
|
|
$k=0;
|
|
for ($i = $firstDay; $i <= $lastDay; $i = date("Y-m-d", strtotime($i . " +1 day"))) {
|
|
$xingqi=\App\Lib\Tools::GetWeekName($i);
|
|
$dates[]=[
|
|
'date'=>$i,
|
|
'xingqi'=>$xingqi,
|
|
'count'=>0
|
|
];
|
|
foreach ($list as $item) {
|
|
if($item['date'] == $i){
|
|
$dates[$k]=[
|
|
'date'=>$i,
|
|
'xingqi'=>$xingqi,
|
|
'count'=>$item['count']
|
|
];
|
|
break;
|
|
}
|
|
}
|
|
$k++;
|
|
}
|
|
return \Yz::Return(true,"查询完成",['list'=>$dates]);
|
|
}
|
|
|
|
//核磁当日号源
|
|
public function GetDayPlanList()
|
|
{
|
|
$hospital_id =request('hospital');
|
|
$date=request('date');
|
|
// 获取前后各三天的日期
|
|
$dateTime = new DateTime($date);
|
|
$days7=[];
|
|
for ($i = -3; $i <= 3; $i++) {
|
|
$dateTimeClone = clone $dateTime; // 克隆对象以避免修改原对象
|
|
$dateTimeClone->modify("$i days"); // 修改日期
|
|
$days7[] = $dateTimeClone->format('Y-m-d'); // 按照需要的格式添加到结果数组
|
|
}
|
|
|
|
$aspnet=new AspNetZhuanController();
|
|
$week7=[];
|
|
$currentDate = new DateTime();
|
|
$nmr=$aspnet::GetNmrList(['yyid'=>6,'data'=>$days7,'action'=>"1"],uniqid());
|
|
//获取每日数量
|
|
foreach($nmr as $k=>$v){
|
|
$t_v=[];
|
|
foreach ($v as $k1 => $v1) {
|
|
$givenDate = new DateTime($v1['DTime']);
|
|
if($v1['keyong']==0 and $givenDate > $currentDate){
|
|
$t_v[]=$v1;
|
|
}
|
|
}
|
|
$xingqi=\App\Lib\Tools::GetWeekName($k);
|
|
$week7[]=[
|
|
'date'=>$k,
|
|
'count'=>count($t_v),
|
|
'xingqi'=>$xingqi
|
|
];
|
|
}
|
|
|
|
$list=[];
|
|
if(isset($nmr[$date])){
|
|
foreach($nmr[$date] as $k=>$v){
|
|
$givenDate = new DateTime($v1['DTime']);
|
|
if( $givenDate > $currentDate){
|
|
$list[]=[
|
|
'id'=>$v['TimeNum'],
|
|
'time'=>$v['Time'],
|
|
'status'=>$v['keyong']==="0"?1:2,
|
|
];
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
// $list=[
|
|
// [
|
|
// 'id'=>1,
|
|
// 'status'=>1,
|
|
// 'time'=>'10:15'
|
|
// ],
|
|
// [
|
|
// 'id'=>1,
|
|
// 'status'=>1,
|
|
// 'time'=>'10:45'
|
|
// ]
|
|
// ];
|
|
|
|
// $week7=[];
|
|
// $k=0;
|
|
// foreach ($days7 as $date) {
|
|
// $xingqi=\App\Lib\Tools::GetWeekName($date);
|
|
// $week7[]=[
|
|
// 'date'=>$date,
|
|
// 'count'=>0,
|
|
// 'xingqi'=>$xingqi
|
|
// ];
|
|
// foreach ($weeklist as $plan) {
|
|
// if($plan['date'] == $date){
|
|
// $week7[$k]=[
|
|
// 'date'=>$date,
|
|
// 'xingqi'=>$xingqi,
|
|
// 'count'=>$plan['count']
|
|
// ];
|
|
// break;
|
|
// }
|
|
// }
|
|
// $k++;
|
|
// }
|
|
return \Yz::Return(true,"查询完成",['list'=>$list,'weeklist'=>$week7]);
|
|
}
|
|
}
|