예제 #1
0
 public function homeAction()
 {
     $p = $_REQUEST;
     $tTime = time();
     #透析提醒
     $tSDMO = new BqeschedulingdetailModel();
     $tSDRow = $tSDMO->field('time_code,scheduling_date')->where('uid =' . $this->tUid . ' and scheduling_date >= \'' . date('Y-m-d', $tTime) . '\'')->order('scheduling_date asc')->limit('1')->fRow();
     #透析地点 天气
     $tCMO = new CenterModel();
     $tSql = 'select name,today_weather from (select medical_id from user_assessment where uid = ' . $this->tUid . ') ua,center where ua.medical_id = center.id';
     $tCDatas = $tCMO->query($tSql);
     $tCDatas = isset($tCDatas[0]) ? $tCDatas[0] : '';
     Tool_Fnc::ajaxMsg('', 1, array('scheduling' => $tSDRow, 'center' => $tCDatas));
 }
예제 #2
0
 public function indexAction()
 {
     echo '<pre>';
     $tTime = time();
     $tBSDMO = new BqeschedulingdetailModel();
     $tUAMO = new UserassessmentModel();
     $Oci = new Orm_Oci();
     #$tHSql = 'select to_char(SCHEDULING_DATE,\'YYYY-mm-dd\') scheduling_date,machine_id,time_code,patient_id,status,close_operator,to_char(close_time,\'YYYY-mm-dd HH:ii:ss\') close_time from  scheduling_detail  where to_char(SCHEDULING_DATE,\'YYYY-mm-dd\') between \''.date('Y-m-d',$tTime-86400*90).'\'  and \''.date('Y-m-d',$tTime+86400*3).'\' order by SCHEDULING_DATE desc';
     $tHSql = 'select to_char(SCHEDULING_DATE,\'YYYY-mm-dd\') scheduling_date,machine_id,time_code,patient_id,status,close_operator,to_char(close_time,\'YYYY-mm-dd HH:ii:ss\') close_time from  scheduling_detail  where to_char(SCHEDULING_DATE,\'YYYY-mm-dd\') between \'' . date('Y-m-d', $tTime - 86400) . '\'  and \'' . date('Y-m-d', $tTime + 86400 * 3) . '\' order by SCHEDULING_DATE desc';
     $tDatas = $Oci->getAll($tHSql);
     foreach ($tDatas as $tRow) {
         $tBSDRow = $tBSDMO->field('id,status,time_code,uid')->where('patient_id = \'' . $tRow['PATIENT_ID'] . '\' and scheduling_date = \'' . $tRow['SCHEDULING_DATE'] . '\'')->fRow();
         if (count($tBSDRow)) {
             #记录存在
             $tData = array();
             if ($tBSDRow['status'] != $tRow['STATUS']) {
                 $tData['status'] = $tRow['STATUS'];
             }
             if ($tBSDRow['time_code'] != $tRow['TIME_CODE']) {
                 $tData['time_code'] = $tRow['TIME_CODE'];
             }
             if (empty($tBSDRow['uid'])) {
                 #获取UID,纠正注册完白求恩用户
                 $tUARow = $tUAMO->field('uid')->where('patient_id = \'' . $tRow['PATIENT_ID'] . '\'')->fRow();
                 $tData['uid'] = empty($tUARow['uid']) ? 0 : $tUARow['uid'];
             }
             if (!count($tData)) {
                 continue;
             }
             $tData = array_merge($tData, array('updated' => $tTime, 'id' => $tBSDRow['id'], 'close_operator' => $tRow['CLOSE_OPERATOR'], 'close_time' => $tRow['CLOSE_TIME']));
             $tBSDMO->update($tData);
         } else {
             $tData = array('scheduling_date' => $tRow['SCHEDULING_DATE'], 'machine_id' => $tRow['MACHINE_ID'], 'time_code' => $tRow['TIME_CODE'], 'patient_id' => $tRow['PATIENT_ID'], 'status' => $tRow['STATUS'], 'close_operator' => $tRow['CLOSE_OPERATOR'], 'close_time' => $tRow['CLOSE_TIME'], 'created' => $tTime);
             $tUARow = $tUAMO->field('uid')->where('patient_id = \'' . $tRow['PATIENT_ID'] . '\'')->fRow();
             $tData['uid'] = empty($tUARow['uid']) ? 0 : $tUARow['uid'];
             $tBSDMO->insert($tData);
         }
     }
     exit;
 }
예제 #3
0
 public function dietAction()
 {
     $p = $_REQUEST;
     $pDate = empty($p['date']) ? Tool_Fnc::ajaxMsg('日期不能为空') : trim($p['date']);
     if (!Tool_Validate::is_date($pDate)) {
         Tool_Fnc::ajaxMsg('日期不正确');
     }
     $tFAMO = new R_FoodaddModel();
     $tFMO = new FoodModel();
     $tSql = 'select * from (select fid,unit,amount,weight from ' . $tFAMO->table . ' where uid = ' . $this->tUid . ' and created >=' . strtotime($pDate) . ' and created <=' . strtotime($pDate . ' 23:59:59') . ') fa, ' . $tFMO->table . ' f where fa.fid = f.id';
     $tList = $tFMO->query($tSql);
     #        if(!count($tList)){Tool_Fnc::ajaxMsg('',1);}
     $tDatas = array();
     $tDatasother = array();
     #已经摄取
     isset($tDatasother['calcium']['number']) ? '' : ($tDatasother['calcium']['number'] = 0);
     isset($tDatasother['vitamin_a']['number']) ? '' : ($tDatasother['vitamin_a']['number'] = 0);
     isset($tDatasother['zinc']['number']) ? '' : ($tDatasother['zinc']['number'] = 0);
     isset($tDatasother['magnesium']['number']) ? '' : ($tDatasother['magnesium']['number'] = 0);
     isset($tDatasother['vitamin_c']['number']) ? '' : ($tDatasother['vitamin_c']['number'] = 0);
     isset($tDatasother['fiber_dietary']['number']) ? '' : ($tDatasother['fiber_dietary']['number'] = 0);
     isset($tDatasother['selenium']['number']) ? '' : ($tDatasother['selenium']['number'] = 0);
     isset($tDatasother['copper']['number']) ? '' : ($tDatasother['copper']['number'] = 0);
     isset($tDatasother['fat']['number']) ? '' : ($tDatasother['fat']['number'] = 0);
     isset($tDatasother['niacin']['number']) ? '' : ($tDatasother['niacin']['number'] = 0);
     isset($tDatasother['vitamin_e']['number']) ? '' : ($tDatasother['vitamin_e']['number'] = 0);
     isset($tDatasother['manganese']['number']) ? '' : ($tDatasother['manganese']['number'] = 0);
     isset($tDatasother['cholesterol']['number']) ? '' : ($tDatasother['cholesterol']['number'] = 0);
     isset($tDatasother['iron']['number']) ? '' : ($tDatasother['iron']['number'] = 0);
     isset($tDatasother['thiamine']['number']) ? '' : ($tDatasother['thiamine']['number'] = 0);
     isset($tDatasother['lactoflavin']['number']) ? '' : ($tDatasother['lactoflavin']['number'] = 0);
     isset($tDatasother['calory']['number']) ? '' : ($tDatasother['calory']['number'] = 0);
     isset($tDatasother['carotene']['number']) ? '' : ($tDatasother['carotene']['number'] = 0);
     isset($tDatas['carbohydrate']['number']) ? '' : ($tDatas['carbohydrate']['number'] = 0);
     isset($tDatas['phosphor']['number']) ? '' : ($tDatas['phosphor']['number'] = 0);
     isset($tDatas['kalium']['number']) ? '' : ($tDatas['kalium']['number'] = 0);
     isset($tDatas['natrium']['number']) ? '' : ($tDatas['natrium']['number'] = 0);
     isset($tDatas['protein']['number']) ? '' : ($tDatas['protein']['number'] = 0);
     foreach ($tList as $tRow) {
         $tDatasother['calcium']['number'] += round($tRow['calcium'] / 100 * $tRow['weight'], 2);
         $tDatasother['vitamin_a']['number'] += round($tRow['vitamin_a'] / 100 * $tRow['weight'], 2);
         $tDatasother['zinc']['number'] += round($tRow['zinc'] / 100 * $tRow['weight'], 2);
         $tDatasother['magnesium']['number'] += round($tRow['magnesium'] / 100 * $tRow['weight'], 2);
         $tDatasother['vitamin_c']['number'] += round($tRow['vitamin_c'] / 100 * $tRow['weight'], 2);
         $tDatasother['fiber_dietary']['number'] += round($tRow['fiber_dietary'] / 100 * $tRow['weight'], 2);
         $tDatasother['selenium']['number'] += round($tRow['selenium'] / 100 * $tRow['weight'], 2);
         $tDatasother['copper']['number'] += round($tRow['copper'] / 100 * $tRow['weight'], 2);
         $tDatasother['fat']['number'] += round($tRow['fat'] / 100 * $tRow['weight'], 2);
         $tDatasother['niacin']['number'] += round($tRow['niacin'] / 100 * $tRow['weight'], 2);
         $tDatasother['vitamin_e']['number'] += round($tRow['vitamin_e'] / 100 * $tRow['weight'], 2);
         $tDatasother['manganese']['number'] += round($tRow['manganese'] / 100 * $tRow['weight'], 2);
         $tDatasother['cholesterol']['number'] += round($tRow['cholesterol'] / 100 * $tRow['weight'], 2);
         $tDatasother['iron']['number'] += round($tRow['iron'] / 100 * $tRow['weight'], 2);
         $tDatasother['thiamine']['number'] += round($tRow['thiamine'] / 100 * $tRow['weight'], 2);
         $tDatasother['lactoflavin']['number'] += round($tRow['lactoflavin'] / 100 * $tRow['weight'], 2);
         $tDatasother['calory']['number'] += round($tRow['calory'] / 100 * $tRow['weight'], 2);
         $tDatasother['carotene']['number'] += round($tRow['carotene'] / 100 * $tRow['weight'], 2);
         $tDatas['carbohydrate']['number'] += round($tRow['carbohydrate'] / 100 * $tRow['weight'], 2);
         #碳水化合物
         $tDatas['phosphor']['number'] += round($tRow['phosphor'] / 100 * $tRow['weight'] / 1000, 2);
         #磷
         #$tDatas['kalium']['number'] += round(($tRow['kalium']/100)*$tRow['weight']/1000,2);#钾
         $tDatas['natrium']['number'] += round($tRow['natrium'] / 100 * $tRow['weight'] / 1000, 2);
         #钠
         $tDatas['protein']['number'] += round($tRow['protein'] / 100 * $tRow['weight'], 2);
         #蛋白质
     }
     unset($tList);
     #干体重
     $tDWLMO = new DryweightlogModel();
     $tDWLRow = $tDWLMO->field('weight')->where('uid = ' . $this->tUid . ' and date = \'' . $pDate . '\'')->fRow();
     if (!count($tDWLRow)) {
         Tool_Fnc::ajaxMsg('', 1);
     }
     #应摄取
     #蛋白质
     $tArr = $tFMO->diet('protein', $tDWLRow['weight']);
     $tDatas['protein']['total'] = implode('-', $tArr);
     $tSurplus = $tArr['end'] - $tDatas['protein']['number'];
     $tDatas['protein']['surplus'] = $tSurplus <= 0 ? 0 : $tSurplus;
     #碳水化合物
     $tArr = $tFMO->diet('carbohydrate', $tDWLRow['weight']);
     $tDatas['carbohydrate']['total'] = implode('-', $tArr);
     $tSurplus = $tArr['end'] - $tDatas['carbohydrate']['number'];
     $tDatas['carbohydrate']['surplus'] = $tSurplus <= 0 ? 0 : $tSurplus;
     #钠
     $tArr = $tFMO->diet('natrium');
     $tDatas['natrium']['total'] = implode('-', $tArr);
     $tSurplus = $tArr['end'] - $tDatas['natrium']['number'];
     $tDatas['natrium']['surplus'] = $tSurplus <= 0 ? 0 : $tSurplus;
     #磷
     $tArr = $tFMO->diet('phosphor');
     $tDatas['phosphor']['total'] = implode('-', $tArr);
     $tSurplus = $tArr['end'] - $tDatas['phosphor']['number'];
     $tDatas['phosphor']['surplus'] = $tSurplus <= 0 ? 0 : $tSurplus;
     #营养摄入评判
     #蛋白质
     $tDatas['protein']['status'] = $tFMO->diet_status('protein', $tDatas['protein']['number'], $tDWLRow['weight']);
     #碳水化合物
     $tDatas['carbohydrate']['status'] = $tFMO->diet_status('carbohydrate', $tDatas['carbohydrate']['number'], $tDWLRow['weight']);
     #钠
     $tDatas['natrium']['status'] = $tFMO->diet_status('natrium', $tDatas['natrium']['number']);
     #磷
     $tDatas['phosphor']['status'] = $tFMO->diet_status('phosphor', $tDatas['phosphor']['number']);
     #控钾单独处理
     $tUMO = new UserModel();
     $tODDMO = new OrdinarydialysisdateModel();
     $tBSDMO = new BqeschedulingdetailModel();
     $tURow = $tUMO->field('user_type')->where('id = ' . $this->tUid)->fRow();
     $tStart = $pDate;
     $tEnd = $pDate;
     if ($tURow['user_type'] == 0) {
         #非白求恩
         $tODDRow = $tODDMO->field('date')->where('uid = \'' . $this->tUid . '\' and date < \'' . $pDate . '\'')->order('date desc')->limit('1')->fRow();
         if (!empty($tODDRow['date'])) {
             $tStart = date('Y-m-d', strtotime($tODDRow['date']) + 86400);
         }
     } else {
         #白求恩
         $tBSDRow = $tBSDMO->field('scheduling_date')->where('uid = \'' . $this->tUid . '\' and scheduling_date < \'' . $pDate . '\'')->order('scheduling_date desc')->limit('1')->fRow();
         if (!empty($tBSDRow['scheduling_date'])) {
             $tStart = date('Y-m-d', strtotime($tBSDRow['scheduling_date']) + 86400);
         }
     }
     $tSql = 'select fid,unit,amount,weight,kalium from (select fid,unit,amount,weight from ' . $tFAMO->table . ' where uid = ' . $this->tUid . ' and created >=' . strtotime($tStart) . ' and created <=' . strtotime($tEnd . ' 23:59:59') . ') fa, ' . $tFMO->table . ' f where fa.fid = f.id';
     $tList = $tFMO->query($tSql);
     foreach ($tList as $tRow) {
         $tDatas['kalium']['number'] += round($tRow['kalium'] / 100 * $tRow['weight'] / 1000, 2);
         #钾
     }
     #钾
     $tArr = $tFMO->diet('kalium');
     #$tDatas['kalium']['total'] = implode('-',$tArr);
     $tDatas['kalium']['total'] = 10;
     $tSurplus = $tArr['end'] - $tDatas['kalium']['number'];
     $tDatas['kalium']['surplus'] = $tSurplus <= 0 ? 0 : $tSurplus;
     $tDatas['kalium']['status'] = $tFMO->diet_status('kalium', $tDatas['kalium']['number']);
     Tool_Fnc::ajaxMsg('', 1, array('main' => $tDatas, 'other' => $tDatasother));
     exit;
 }
예제 #4
0
 public function indexAction()
 {
     $tTime = time();
     $tH = date('H', $tTime);
     $tMO = new BqeschedulingdetailModel();
     $tUMO = new UserModel();
     $tUDMO = new UserdidModel();
     $tUAMO = new UserassessmentModel();
     $tCMO = new CenterModel();
     $tRedis = Cache_Redis::instance();
     echo '<pre>';
     if ($tH >= 7 && $tH <= 11) {
         #今日提醒
         $tDatas = $tMO->field('uid,time_code')->where('scheduling_date = \'' . date('Y-m-d', $tTime) . '\' and time_code in(2,3) and uid <> 0')->fList();
         foreach ($tDatas as $tRow) {
             #透析中心信息
             $tUARow = $tUAMO->field('medical_id')->where('uid = ' . $tRow['uid'])->fRow();
             if (!count($tUARow)) {
                 continue;
             }
             $tCRow = $tCMO->field('today_weather,name')->where('id = ' . $tUARow['medical_id'])->fRow();
             if (!count($tCRow)) {
                 continue;
             }
             $tTitle = '透析提醒';
             $tTitle = '透析提醒';
             $tTimecodestr = $tRow['time_code'] == 2 ? '下午' : '晚上';
             $tTpl_val = '#timecodestr#=今日' . $tTimecodestr . '&#name#=' . $tCRow['name'] . '&#weather#=今日天气' . $tCRow['today_weather'];
             $tContent = '您#timecodestr#在#name#透析,请准时参加,祝透析顺利。#weather#';
             #用户信息
             $tURow = $tUMO->field('phone')->where('id = ' . $tRow['uid'])->fRow();
             if (!count($tURow)) {
                 continue;
             }
             $tRedis->lpush('dakang_sms', serialize(array('content' => $tContent, 'phone' => $tURow['phone'], 'tpl_val' => $tTpl_val, 'type' => 'tx')));
             #设备信息
             $tSql = 'select cid,devicetoken  from (select did from user_did where uid=' . $tRow['uid'] . ') ud,getui where ud.did = getui.did';
             $tUDDatas = $tUDMO->query($tSql);
             $tTimecodestr = date('m月d日', $tTime) . $tTimecodestr;
             $tContent = '您' . $tTimecodestr . '在' . $tCRow['name'] . '透析,请准时参加,祝透析顺利。明日天气' . $tCRow['today_weather'];
             foreach ($tUDDatas as $tR) {
                 $tRes = serialize(array_merge(array('title' => $tTitle, 'content' => $tContent, 'type' => 'tx', 'id' => ''), $tR));
                 $tRedis->lpush('dakang_getui', $tRes);
             }
         }
     } elseif ($tH >= 19 && $tH <= 21) {
         $tTimeCode = 1;
         #第二天上午
         $tDatas = $tMO->field('uid')->where('scheduling_date = \'' . date('Y-m-d', $tTime + 86400) . '\' and time_code = ' . $tTimeCode)->fList();
         foreach ($tDatas as $tRow) {
             #透析中心信息
             $tUARow = $tUAMO->field('medical_id')->where('uid = ' . $tRow['uid'])->fRow();
             if (!count($tUARow)) {
                 continue;
             }
             $tCRow = $tCMO->field('tomorrow_weather,name')->where('id = ' . $tUARow['medical_id'])->fRow();
             if (!count($tCRow)) {
                 continue;
             }
             $tTitle = '透析提醒';
             $tTimecodestr = '上午';
             $tTpl_val = '#timecodestr#=明日' . $tTimecodestr . '&#name#=' . $tCRow['name'] . '&#weather#=明日天气' . $tCRow['tomorrow_weather'];
             $tContent = '您#timecodestr#在#name#透析,请准时参加,祝透析顺利。#weather#';
             #用户信息
             $tURow = $tUMO->field('phone')->where('id = ' . $tRow['uid'])->fRow();
             if (!count($tURow)) {
                 continue;
             }
             $tRedis->lpush('dakang_sms', serialize(array('content' => $tContent, 'phone' => $tURow['phone'])));
             #设备信息
             $tSql = 'select cid,devicetoken  from (select did from user_did where uid=' . $tRow['uid'] . ') ud,getui where ud.did = getui.did';
             $tUDDatas = $tUDMO->query($tSql);
             $tTimecodestr = date('m月d日', $tTime + 86400) . '上午' . $tRow['time'];
             $tContent = '您' . $tTimecodestr . '在' . $tCRow['name'] . '透析,请准时参加,祝透析顺利。明日天气' . $tCRow['tomorrow_weather'];
             foreach ($tUDDatas as $tR) {
                 $tRes = serialize(array_merge(array('title' => $tTitle, 'content' => $tContent, 'type' => 'tx', 'id' => ''), $tR));
                 $tRedis->lpush('dakang_getui', $tRes);
             }
         }
     }
 }