public function actionallmondy() { if ($_POST['sub']) { //发送指令 FLEA::loadClass('Util_socketclient'); if ($_POST['dev']) { try { $db = FLEA::getDBO(); $db->startTrans(); foreach ($_POST['dev'] as $equipment) { $socket = new Util_socketclient(); $devinfo = $this->_M->find($equipment); if (!$devinfo) { continue; } $this->log->ip = $devinfo['ipaddr']; $socket_command = array('passstat' => "SP9{$_POST[passstat]}Z", 'mutestat' => "SM9{$_POST[mutestat]}Z", 'gain' => "SG9" . $socket->setupgain($_POST['gain']) . "Z"); $socket->socketconn($devinfo['ipaddr'], $devinfo['ipport']); foreach ($socket_command as $field => $command) { switch ($socket->sendmessage($command)) { case $socket->returntrue: $updatearr = array($field => $_POST[$field]); $this->M_chninfo->updateByConditions("dev_no={$equipment}", $updatearr); $this->log->writelog($devinfo['devname'], $command, $socket->returntrue); break; case $socket->returnfalse: $this->log->writelog($devinfo['devname'], $command, $socket->returnfalse); break; } sleep(1); } fclose($socket->socket); } $db->completeTrans(); $this->_G->customshow('发送指令成功', "edit", "Index", 3, 1); } catch (Exception $e) { $db->completeTrans(FALSE); $this->_G->customshow('发送指令失败', "edit", "Index", 3, 0); } } else { $message = " <font color=red><b>您没有选择设备!</b></font> "; } } else { $dev = $this->_M->findAll(); $this->_V->assign('dev', $dev); $this->_V->assign('gainArray', $this->socketClient->gainArray); $this->_V->display('edit_allmondy.htm'); } }
sleep(1); } } else { //找到要更新的设备 $sql = "select * from socket_chninfo where serial='{$filed['chnserial']}' limit 1"; $result = mysql_query($sql); $chninfo = mysql_fetch_assoc($result); //找到设备对应的IP地址和端口 $sql = "select * from socket_devinfo where serial='{$chninfo['dev_no']}' limit 1"; $result = mysql_query($sql); $devinfo = mysql_fetch_assoc($result); //发送socket连接 $socket = new Util_socketclient(); $socket->socketconn($devinfo['ipaddr'], $devinfo['ipport']); // $sendcommand=$socket->gainmessage($chninfo['chn'],$filed['gain']); $sendcommand = "SG" . $chninfo['chn'] . $socket->setupgain($filed['gain']) . "Z"; $sendmessage = $socket->sendmessage($sendcommand); switch ($sendmessage) { case $socket->returntrue: //更新日期为当天日期 $sql = "update socket_dev_schedule set update_date='{$nowdate}' where serial='{$filed['serial']}'"; mysql_query($sql); //更新设备表 $sql = "update socket_chninfo set gain={$filed['gain']} where serial={$filed['chnserial']} limit 8"; mysql_query($sql); $log->writelog($devinfo['devname'], $sendcommand, 'SOKZ'); $message .= "<div>{$drivername}名:{$filed['prgname']} 设定时间:{$drivertype}{$filed['week']} - {$filed['schedule']} 调整音频:{$filed['gain']} 描述:{$filed['schedule_desc']} <b>[发送完成]</b></div>"; break; case $socket->returnfalse: $log->writelog($devinfo['devname'], $sendcommand, 'SFAILZ'); $message .= "<div>{$drivername}名:{$filed['prgname']} 设定时间:{$drivertype}{$filed['week']} - {$filed['schedule']} 调整音频:{$filed['gain']} 描述:{$filed['schedule_desc']} <b>[发送指令失败!]</b></div>";