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 = "&nbsp;<font color=red><b>您没有选择设备!</b></font>&nbsp;";
         }
     } else {
         $dev = $this->_M->findAll();
         $this->_V->assign('dev', $dev);
         $this->_V->assign('gainArray', $this->socketClient->gainArray);
         $this->_V->display('edit_allmondy.htm');
     }
 }
 /**
  * 恢复设备默认设置
  *
  */
 public function actionResumeDefault()
 {
     $devinfo = $this->M_devinfo->find($_GET['serial']);
     $socket = FLEA::getSingleton('Util_socketclient');
     $socket->socketconn($devinfo['ipaddr'], $devinfo['ipport']);
     $this->log->ip = $devinfo['ipaddr'];
     switch ($socket->sendmessage('SINITZ')) {
         case $socket->returntrue:
             $this->log->writelog($devinfo['devname'], 'SINITZ', $socket->returntrue);
             $serial = (int) $_GET['serial'];
             try {
                 $db = FLEA::getDBO();
                 $db->startTrans();
                 sleep(1);
                 for ($i = 1; $i < 9; $i++) {
                     $return_socketinfo = $socket->sendmessage("SI{$i}Z");
                     if (strlen($return_socketinfo) == 13) {
                         $chninfo = $socket->analysisinfo($return_socketinfo);
                         if ($chninfo === FALSE) {
                             exit($this->_G->customshow('获取设备信息出现乱码,请重试', $_GET['socket_C'], 'index', 3, 0));
                         }
                         //如果有乱码将直接退出
                         #检测APID是否有相同
                         $this->M_chninfo->updateByConditions("dev_no='{$serial}' and chn='{$chninfo['chn']}'", $chninfo);
                         $chninfo['prgname'] = " ";
                         $chninfo['chnshort'] = " ";
                         $this->M_chninfo->updateByConditions("dev_no='{$serial}' and chn='{$chninfo['chn']}'", $chninfo);
                         sleep(1);
                     }
                 }
                 fclose($socket->socket);
                 $db->completeTrans();
                 $this->_G->customshow("该设备已恢复成默认值", 'socket', 'index', 3, 1);
             } catch (Exception $e) {
                 $db->completeTrans(FALSE);
                 $this->_G->customshow("恢复设备默认值失败,请重试", 'socket', 'index', 3, 0);
             }
             break;
         case $socket->returnfalse:
             $this->log->writelog($devinfo['devname'], 'SINITZ', $socket->returnfalse);
             $this->_G->customshow("恢复出错,请重新恢复", 'socket', 'index', 0);
             break;
     }
 }