diff --git a/Laravel.zip b/Laravel.zip
new file mode 100644
index 0000000..308764b
Binary files /dev/null and b/Laravel.zip differ
diff --git a/Laravel/app/Http/Controllers/API/Admin/ConfigController.php b/Laravel/app/Http/Controllers/API/Admin/ConfigController.php
index 57ae4d1..1882c9a 100644
--- a/Laravel/app/Http/Controllers/API/Admin/ConfigController.php
+++ b/Laravel/app/Http/Controllers/API/Admin/ConfigController.php
@@ -12,12 +12,11 @@ class ConfigController extends Controller
//获取站点配置信息
public function GetConfigInfo(){
$configs = new ConfigService();
- return $configs->GetConfigInfo(['站点名称','站点图片']);
+ return $configs->GetConfigInfo(['站点名称','站点图片','门诊缴费超时时间','门诊缴费轮询间隔']);
}
public function SaveConfig(){
- $name = request('name');
- $logo = request('logo');
+ $info = request('info');
$configs = new ConfigService();
- return $configs->SaveConfig($name,$logo);
+ return $configs->SaveConfig($info);
}
}
diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanListController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanListController.php
index dc9baab..ecd8cb8 100644
--- a/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanListController.php
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanListController.php
@@ -62,6 +62,7 @@ class PlanListController extends Controller
// 循环日期并判断星期
$current_date = clone $start_date;
DB::beginTransaction();
+ $success_count=0;//成功创建的数量
while ($current_date <= $end_date) {
// 获取当前日期的星期几(0表示星期日,1表示星期一,以此类推)
$weekday = $current_date->format('w');
@@ -113,6 +114,9 @@ class PlanListController extends Controller
$plan_id = DB::table('s_source_roster_detail')->insertGetId($data);
+ if($plan_id){
+ $success_count++;
+ }
// 插入数量表
$model_count_info = DB::table('s_source_roster_count')->where(['roster_id' => $model->id])->get();
if (count($model_count_info) > 0) {
@@ -154,9 +158,10 @@ class PlanListController extends Controller
}
// 将当前日期增加一天
$current_date->modify('+1 day');
+
}
DB::commit();
- return \Yz::Return(true, '创建成功', []);
+ return \Yz::Return(true, '执行完成,范围:'.$dateRange[0].'-'.$dateRange[1].',共计生成计划 '.$success_count.' 条', ['dateRange'=>$dateRange,'success_count'=>$success_count]);
}
}
@@ -400,9 +405,20 @@ class PlanListController extends Controller
$list=DB::table('s_list')
->leftJoin('s_department_resources','s_list.reservation_sources','=','s_department_resources.id')
->select('s_list.*','s_department_resources.department_resources_name')
- ->where(['s_list.roster_id'=>$planid,'s_list.appointment_type_id'=>$qudaoid,'s_list.is_del'=>0,'s_list.is_nullify'=>0])->whereIn('s_list.list_status',[1,2,3])->get();
-
+ ->where(['s_list.roster_id'=>$planid,'s_list.is_del'=>0,'s_list.is_nullify'=>0])->whereIn('s_list.list_status',[1,2,3]);
+ if (!empty($qudaoid)) {
+ $list=$list->where(['s_list.appointment_type_id'=>$qudaoid]);
+ }
+ $list=$list->get();
+ $qudao=DB::table('s_appointment_type')->get();
+ foreach ($list as $key=>$item){
+ foreach ($qudao as $q){
+ if($q->id==$item->appointment_type_id){
+ $item->qudao_name=$q->name;
+ }
+ }
+ }
return \Yz::Return(true,'查询完成',$list);
}
}
diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanModelController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanModelController.php
index 4d8df6b..bea42a2 100644
--- a/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanModelController.php
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/PlanModelController.php
@@ -49,8 +49,10 @@ class PlanModelController extends Controller
$count = $list;
$count = $count->count();
- $list = $list->orderBy('id', 'desc')->limit($pageSize)->skip(($page - 1) * $pageSize) // 跳过前9999条记录
- ->take($pageSize)->get();
+ $list=$list->orderByRaw(DB::raw(
+ "FIELD(`weekname`, '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日') ASC"
+ ));
+ $list = $list->orderBy('s_source_roster.begin_time')->get();
$ids = [];
foreach ($list as $key => $value) {
$list[$key]->countsInfo = [];
diff --git a/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php b/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php
index 1dc7177..46bff29 100644
--- a/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php
+++ b/Laravel/app/Http/Controllers/API/Admin/YeWu/WorkMainController.php
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\API\Admin\YeWu;
use App\Http\Controllers\Controller;
use DateTime;
use Illuminate\Http\Request;
+use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\DB;
use Tools;
@@ -142,7 +143,7 @@ class WorkMainController extends Controller
public function GetLoglist()
{
$id = request('id');
- $List=DB::table('s_list_log')->where(['list_id'=>$id])->get();
+ $List=DB::table('s_list_log')->where(['list_id'=>$id])->orderBy('id','desc')->get();
return \Yz::Return(true,'查询完成',$List);
}
@@ -169,6 +170,7 @@ class WorkMainController extends Controller
//获取所有传过来的检查项目关联的设备
$ItemsDevices= DB::table('s_check_item as a')
->leftJoin('s_check_item_device as b','a.id','=','b.item_id')
+ ->leftJoin('s_devices as c','b.device_id','=','c.id')
->whereIn('a.item_name',$itemNames)->where(['a.is_del'=>0,'a.status'=>1])->get();
//按照第一个勾选的检查项目关联的设备进行分组,能在一个设备上进行检查的分在一组
if(!empty($FirstItemDevices)){
@@ -177,10 +179,11 @@ class WorkMainController extends Controller
$lg=[];
foreach ($ItemsDevices as $v){
if($v->device_id==$value){
-
foreach ($items as $item){
if($item['name']==$v->item_name){
$v->rowid=$item['rowid'];
+
+
}
}
$lg[]=$v;
@@ -221,4 +224,52 @@ class WorkMainController extends Controller
}
return \Yz::Return(true,'可以预约',[]);
}
+ //检查是否有超时未支付的门诊预约记录,如果有则给其取消,并恢复名额
+ public function NoPayCancel()
+ {
+ date_default_timezone_set('PRC');
+ $config=DB::table('configs')->where(['label'=>'门诊缴费超时时间'])->first();
+ if($config->value>0){
+ $currentDateTime = Carbon::now()->subHours($config->value);
+ $list=DB::table('s_list')->where(['list_status'=>1,'patient_type'=>1,'is_pay'=>0,'is_del'=>0,'is_nullify'=>0])
+ ->where('entrust_date', '<', $currentDateTime->toDateString())
+ ->orWhere(function($query) use ($currentDateTime) {
+ $query->whereDate('entrust_date', $currentDateTime->toDateString())
+ ->whereTime('entrust_time', '<', $currentDateTime->toTimeString());
+ })->get();
+ $success_count=0;
+ foreach ($list as $key=>$item){
+ $u_data=[
+ 'list_status' => 0,
+ 'reservation_date' => null,
+ 'reservation_time' => null,
+ 'reservation_sources' => null,
+ 'services_group' => null,
+ 'roster_id' => null,
+ 'xuhao' => null,
+ 'department_id'=>null,
+ 'appointment_type_id' => null,
+ 'canel_time' => date('Y-m-d H:i:s'),
+ ];
+ $u_mainList = DB::table('s_list')->where(['id' => $item->id,'list_status'=>1])->update($u_data);
+ $i_log=DB::table('s_list_log')->insert([
+ 'list_id'=>$item->id,
+ 'reg_num'=>$item->reg_num,
+ 'old_status'=>$item->list_status,
+ 'new_status'=>0,
+ 'create_user'=>null,
+ 'note'=>'超时取消',
+ 'data'=>json_encode($u_data)
+ ]);
+ $u_count = DB::table('s_source_roster_detail_count')->where(['roster_detail_id' => $item->roster_id, 'appointment_type_id' => $item->appointment_type_id])->decrement('used_count');
+ if($u_count){
+ $success_count++;
+ }
+ }
+ return \Yz::Return(true,"执行完成",['success_count'=>$success_count]);
+ }else{
+ return \Yz::echoError1("超时参数未设置");
+ }
+
+ }
}
diff --git a/Laravel/app/Http/Controllers/API/H5/EntrustController.php b/Laravel/app/Http/Controllers/API/H5/EntrustController.php
index b6ee568..63b2614 100644
--- a/Laravel/app/Http/Controllers/API/H5/EntrustController.php
+++ b/Laravel/app/Http/Controllers/API/H5/EntrustController.php
@@ -17,7 +17,6 @@ class EntrustController extends Controller
$userid = $request->get('userid');//中间件产生的参数
-
$list=DB::table('s_list')
->leftJoin('s_period','s_list.reservation_time','=','s_period.id')
->leftJoin('s_department_resources','s_list.reservation_sources','=','s_department_resources.id')
diff --git a/Laravel/app/Http/Controllers/API/H5/LoginController.php b/Laravel/app/Http/Controllers/API/H5/LoginController.php
index 71c26b6..1545528 100644
--- a/Laravel/app/Http/Controllers/API/H5/LoginController.php
+++ b/Laravel/app/Http/Controllers/API/H5/LoginController.php
@@ -13,7 +13,7 @@ class LoginController extends Controller
$jwt= new JWT();
$accessTimeout = $jwt -> GetGetSecretTimeOut();
$refreshTimeout = $jwt -> GetRefreshTokenTimeOut();
- $access_token = $jwt->BuildJWT('yz','access','0001289649',666,$accessTimeout);
+ $access_token = $jwt->BuildJWT('yz','access','0006944759',666,$accessTimeout);
$refresh_token = $jwt->BuildJWT('yz','refresh',9999,'',$refreshTimeout);
$result['token']=$access_token;
$result['refresh_token']=$refresh_token;
diff --git a/Laravel/app/Services/Admin/MenuService.php b/Laravel/app/Services/Admin/MenuService.php
index 861a853..437c822 100644
--- a/Laravel/app/Services/Admin/MenuService.php
+++ b/Laravel/app/Services/Admin/MenuService.php
@@ -6,13 +6,13 @@ class MenuService
public function GetBaseMenuList($arr){
$result=array();
if($arr['userid']=='search'){
- $menulist=DB::select("select b.id,b.pid,b.order,b.icon, b.name,b.url from group_menu as a left join menu as b on a.menu_id=b.id where a.group_id =? and b.status=1",[$arr['group']]);
+ $menulist=DB::select("select b.id,b.pid,b.order,b.icon, b.name,b.url from group_menu as a left join menu as b on a.menu_id=b.id where a.group_id =? and b.status=1 order by `order` ",[$arr['group']]);
$result['list']=$menulist;
$result['status']='ok';
}else{
$query=DB::select("select `group` from users where id =? ",[$arr['userid']]);
if($query[0]->group==$arr['group']){
- $menulist=DB::select("select b.id,b.pid,b.order,b.icon, b.name,b.url from group_menu as a left join menu as b on a.menu_id=b.id where a.group_id =? and b.status=1",[$arr['group']]);
+ $menulist=DB::select("select b.id,b.pid,b.order,b.icon, b.name,b.url from group_menu as a left join menu as b on a.menu_id=b.id where a.group_id =? and b.status=1 order by `order`",[$arr['group']]);
$result['list']=$menulist;
$result['status']='ok';
diff --git a/Laravel/app/Services/Admin/YeWu/PlanListService.php b/Laravel/app/Services/Admin/YeWu/PlanListService.php
index 46fd1e3..936d795 100644
--- a/Laravel/app/Services/Admin/YeWu/PlanListService.php
+++ b/Laravel/app/Services/Admin/YeWu/PlanListService.php
@@ -146,12 +146,28 @@ WHERE
$oldMainInfos=[];//临时存储原来的主表信息,用于改约
//遍历多个s_list表id,前端多选,一次预约多个检查项目
foreach ($mainlistids as $key_m=>$mainlistid ){
- $mainInfo = DB::table('s_list')->where(['id' => $mainlistid])->first();
+ $mainInfo = DB::table('s_list as a')
+ ->select('a.*','b.period_begin_time','b.period_end_time')
+ ->leftJoin('s_period as b','a.reservation_time','=','b.id')
+ ->where(['a.id' => $mainlistid])->first();
$oldMainInfos[]=$mainInfo;
if (!$mainInfo) return \Yz::echoError1('医嘱不存在');
//判断状态
- if ($do_type == 1 && $mainInfo->list_status <> 0) return \Yz::echoError1($mainInfo->entrust.' 该医嘱状态不允许预约,当前状态:' . $mainInfo->list_status);
- if ($do_type == 2 && $mainInfo->list_status <> 1) return \Yz::echoError1($mainInfo->entrust.' 该医嘱状态不允许改约操作,当前状态:' . $mainInfo->list_status);
+ $msg_t="";
+ if($mainInfo->list_status==0){
+ $msg_t="当前状态为待预约";
+ }
+ if($mainInfo->list_status==1){
+ $msg_t="已经在".$mainInfo->reservation_date.'的'.$mainInfo->period_begin_time.'-'.$mainInfo->period_end_time.'预约成功,不能再次预约';
+ }
+ if($mainInfo->list_status==2){
+ $msg_t="当前状态为已登记";
+ }
+ if($mainInfo->list_status==3){
+ $msg_t="当前状态为已完成";
+ }
+ if ($do_type == 1 && $mainInfo->list_status <> 0) return \Yz::echoError1($mainInfo->entrust.' '.$msg_t.',禁止预约');
+ if ($do_type == 2 && $mainInfo->list_status <> 1) return \Yz::echoError1($mainInfo->entrust.' '.$msg_t.',不允许改约操作');
//判断互斥(暂时根据reg_num判断身份)
@@ -265,7 +281,7 @@ WHERE
} catch (\Exception $e) {
DB::rollBack();
- return \Yz::echoError1('预约异常'.$e);
+ return \Yz::echoError1('预约异常'.$e->getMessage());
}
diff --git a/Laravel/app/Services/ConfigService.php b/Laravel/app/Services/ConfigService.php
index ced8996..73d6d07 100644
--- a/Laravel/app/Services/ConfigService.php
+++ b/Laravel/app/Services/ConfigService.php
@@ -19,12 +19,13 @@ class ConfigService
return \Yz::Return(false, '查询失败');
}
}
- public function SaveConfig($name,$logo){
+ public function SaveConfig($info){
$result=array();
DB::beginTransaction();
try {
- $d= DB::table('configs')->where('label', '=', '站点名称')->update(['value'=>$name]);
- $d= DB::table('configs')->where('label', '=', '站点图片')->update(['value'=>$logo]);
+ foreach ($info as $key=>$value){
+ $d= DB::table('configs')->where('label', '=', $key)->update(['value'=>$value]);
+ }
DB::commit(); // 手动提交事务
return \Yz::Return(true, '操作成功');
} catch (\Exception $e) {
diff --git a/Laravel/public/jq_page/appointment.html b/Laravel/public/jq_page/appointment.html
index 11e261a..a51e0cd 100644
--- a/Laravel/public/jq_page/appointment.html
+++ b/Laravel/public/jq_page/appointment.html
@@ -105,7 +105,7 @@
var currentDate = new Date(data.data.today_date)
currentDate.setDate(currentDate.getDate() + 1)
tomorrowDate = currentDate.toISOString().split('T')[0]
-
+ $('.yiyuInfo:first').trigger('click');
} else {
MsgAlert(data.msg)
@@ -130,35 +130,45 @@
if (data.data.appointment_date == $('#datetimepicker1 input').val()) {
$('#xingqi1').html(data.data.weekname);
$('#table1 tbody').html('')
- data.data.plan_list.forEach(function(v, i) {
+ if(data.data.plan_list.length>0){
+ data.data.plan_list.forEach(function(v, i) {
$('#table1 tbody').append('
\n' +
' | ' + v.date + ' | \n' +
' ' + v.weekname + ' | \n' +
' ' + v.department_resources_name + ' | \n' +
' ' + v.devices + ' | \n' +
' ' + v.begin_time + '-' + v.end_time + ' | \n' +
- ' ' + v.used_count + '/' + v.count + ' | \n' +
+ ' ' + v.used_count + '/' + v.count + ' | \n' +
'
')
})
+ }else{
+ $('#table1 tbody').append('暂无可用计划')
+ }
+
}
if (data.data.appointment_date == $('#datetimepicker2 input').val()) {
$('#xingqi2').html(data.data.weekname);
$('#table2 tbody').html('')
- data.data.plan_list.forEach(function(v, i) {
+ if(data.data.plan_list.length>0){
+ data.data.plan_list.forEach(function(v, i) {
$('#table2 tbody').append('\n' +
' | ' + v.date + ' | \n' +
' ' + v.weekname + ' | \n' +
' ' + v.department_resources_name + ' | \n' +
' ' + v.devices + ' | \n' +
' ' + v.begin_time + '-' + v.end_time + ' | \n' +
- ' ' + v.used_count + '/' + v.count + ' | \n' +
+ ' ' + v.used_count + '/' + v.count + ' | \n' +
'
')
})
+ }else{
+ $('#table2 tbody').append('暂无可用计划')
+ }
+
}
//选中某一行
- $('.table_row').off('click').on('click', function() {
+ $('.table_row').off('click').on('click', function(event) {
if ($(this).hasClass('row_selected')) {
// 如果已经选中,则移除选中状态
$('.table_row').removeClass('row_selected')
@@ -216,6 +226,9 @@
$('#loadingModal').modal('hide');
if (data.status) {
MsgAlert("操作成功")
+ if($('#enable_print').is(':checked')){
+ PrintFunc();
+ }
getPlanList($('#datetimepicker1 input').val())
getPlanList($('#datetimepicker2 input').val())
GetMainInfo()
@@ -270,12 +283,7 @@
if (selectedId == 0) {
return false
}
- if (confirm("你确定要继续吗?")) {
- start_yuyue()
- }else{
-
- }
-
+ start_yuyue()
})
$('.model_button').on('click',function(){
@@ -362,7 +370,52 @@
}
$('#dayin_button').on('click',function(){
- PrintInfo=null
+ PrintFunc();
+ })
+
+ $('#shuaxin_button').on('click',function(){
+ window.location.reload()
+ })
+ //点击下一页
+ $('#xiayiye_button').on('click',function(){
+ if($(".lanse_bg").length>0){
+ var cr = new Date($('#datetimepicker2 input').val())
+ cr.setDate(cr.getDate() + 1)
+ t1 = cr.toISOString().split('T')[0]
+ cr.setDate(cr.getDate() + 1)
+ t2 = cr.toISOString().split('T')[0]
+ //日历设置日期,支持查询计划
+ $('#datetimepicker1 input').val(t1)
+ $('#datetimepicker2 input').val(t2)
+ getPlanList(t1)
+ getPlanList(t2)
+ }
+ })
+ //点击上一页
+ $('#shangyiye_button').on('click',function(){
+ if($(".lanse_bg").length>0){
+ var cr = new Date($('#datetimepicker1 input').val())
+ cr.setDate(cr.getDate() - 1)
+ t2 = cr.toISOString().split('T')[0]
+ cr.setDate(cr.getDate() - 1)
+ t1 = cr.toISOString().split('T')[0]
+ //日历设置日期,支持查询计划
+ $('#datetimepicker1 input').val(t1)
+ $('#datetimepicker2 input').val(t2)
+ getPlanList(t1)
+ getPlanList(t2)
+ }
+ })
+ $('#tablelist').load("tablelist.html");
+ })
+
+ function MsgAlert(msg){
+ $('#tishi .tishineirong').html(msg);
+ $('#tishi').modal('show');
+ }
+ //打印
+ function PrintFunc(){
+ PrintInfo=null
$("#shenqingdan").html('')
if($(".lanse_bg").length==0){
MsgAlert('请选择要打印的申请单');
@@ -413,16 +466,8 @@
})
- })
- $('#shuaxin_button').on('click',function(){
- window.location.reload()
- })
- })
-
- function MsgAlert(msg){
- $('#tishi .tishineirong').html(msg);
- $('#tishi').modal('show');
- }
+ }
+
@@ -470,7 +515,7 @@
-
姓名:
患者id:
性别:
+
姓名: 登记号: 性别:
年龄: 电话: 孕周:
-
日期
-
+
日期
+
-
-
-
- | 日期 |
- 星期 |
- 资源 |
- 服务组 |
- 时间段 |
- 已用/总数 |
-
-
-
+
+
+
+
+ | 日期 |
+ 星期 |
+ 资源 |
+ 服务组 |
+ 时间段 |
+ 已用/总数 |
+
+
+
+
@@ -551,8 +600,8 @@
-
日期
-
+
日期
+
-
-
-
- | 日期 |
- 星期 |
- 资源 |
- 服务组 |
- 时间段 |
- 已用/总数 |
-
-
-
+
+
+
+
+ | 日期 |
+ 星期 |
+ 资源 |
+ 服务组 |
+ 时间段 |
+ 已用/总数 |
+
+
+
+
@@ -613,7 +663,10 @@
-
+
+
+
+