wzh il y a 5 ans
Parent
commit
5c857df5e7

+ 92 - 75
api/application/controllers/Home.php

@@ -99,6 +99,7 @@ class Home extends Base_Controller {
         $userid = $this->get_user_info('id');
         $data = $this->User_model->get_user_field($userid);
         if (empty($data) || empty($data['lampfield'])) {
+            // $fieldstr = "number,lampstatus,updatetime,lighteness,address,lamppower,chargestage,battvoltage,overtimes,solarpower,isfaulted,status,section";
             $fieldstr = "number,lampstatus,updatetime,lighteness,address,lamppower,chargestage,battvoltage,overtimes,solarpower,isfaulted,status,section";
         }else{
             if ($data['lampfield'] == 'number,lampstatus,updatetime,lighteness,address,lamppower,chargestage,battvoltage,overtimes,solarpower,isfaulted,status') {
@@ -111,96 +112,112 @@ class Home extends Base_Controller {
         $def = array(
             array('name'=>'路灯编号','field'=>'L.number','fields1'=>'number','enname'=>'Lamp number'),
             array('name'=>'路段','field'=>'L.section','fields1'=>'section','enname'=>'Road'),
-            array('name'=>'路灯状态','field'=>'L.status as lampstatus,L.lighteness','fields1'=>'lampstatus','enname'=>'Lamp status'),
-            array('name'=>'信号状态','field'=>'L.protocoltype,L.netstatus as status','fields1'=>'status','enname'=>'Network status'),
+            // array('name'=>'路灯状态','field'=>'L.status as lampstatus,L.lighteness','fields1'=>'lampstatus','enname'=>'Lamp status'),
+            array('name'=>'信号状态','field'=>'L.protocoltype,L.netstatus as status,L.rssi','fields1'=>'status','enname'=>'Network status'),
             // array('name'=>'信号状态','field'=>'L.protocoltype,L.netstatus as status,N.rssi,N.snr','fields1'=>'status','enname'=>'Network status'),
-            array('name'=>'更新时间','field'=>'L.logtime as updatetime','fields1'=>'updatetime','enname'=>'Update time'),
+            array('name'=>'更新时间','field'=>'L.updatetime','fields1'=>'updatetime','enname'=>'Update time'),
             array('name'=>'路灯亮度(%)','field'=>'L.lighteness','fields1'=>'lighteness','enname'=>'Brightness(%)'),
             array('name'=>'无线模块地址','field'=>'L.address','fields1'=>'address','enname'=>'Wireless module address'),
-            array('name'=>'路灯功率(W)','field'=>'L.lamppower','fields1'=>'lamppower','enname'=>'Lamp power(W)'),
-            array('name'=>'蓄电池充电阶段','field'=>'L.chargestage','fields1'=>'chargestage','enname'=>'Charging stage'),
+            array('name'=>'负载功率(W)','field'=>'L.loadpower','fields1'=>'loadpower','enname'=>'load power(W)'),
             array('name'=>'蓄电池电压(V)','field'=>'L.battvoltage','fields1'=>'battvoltage','enname'=>'Battery voltage(V)'),
-            array('name'=>'蓄电池总过放次数','field'=>'L.overtimes','fields1'=>'overtimes','enname'=>'Over discharge times'),
-            array('name'=>'太阳能板功率(W)','field'=>'L.solarpower','fields1'=>'solarpower','enname'=>'Solar panel power(W)'),
+            // array('name'=>'太阳能板功率(W)','field'=>'L.solarpower','fields1'=>'solarpower','enname'=>'Solar panel power(W)'),
             array('name'=>'是否故障','field'=>'L.isfaulted','fields1'=>'isfaulted','enname'=>'Fault'),
         );
 
+        // $def = array(
+        //     array('name'=>'路灯编号','field'=>'L.number','fields1'=>'number','enname'=>'Lamp number'),
+        //     array('name'=>'路段','field'=>'L.section','fields1'=>'section','enname'=>'Road'),
+        //     array('name'=>'路灯状态','field'=>'L.status as lampstatus,L.lighteness','fields1'=>'lampstatus','enname'=>'Lamp status'),
+        //     array('name'=>'信号状态','field'=>'L.protocoltype,L.netstatus as status','fields1'=>'status','enname'=>'Network status'),
+        //     // array('name'=>'信号状态','field'=>'L.protocoltype,L.netstatus as status,N.rssi,N.snr','fields1'=>'status','enname'=>'Network status'),
+        //     array('name'=>'更新时间','field'=>'L.logtime as updatetime','fields1'=>'updatetime','enname'=>'Update time'),
+        //     array('name'=>'路灯亮度(%)','field'=>'L.lighteness','fields1'=>'lighteness','enname'=>'Brightness(%)'),
+        //     array('name'=>'无线模块地址','field'=>'L.address','fields1'=>'address','enname'=>'Wireless module address'),
+        //     array('name'=>'路灯功率(W)','field'=>'L.lamppower','fields1'=>'lamppower','enname'=>'Lamp power(W)'),
+        //     array('name'=>'蓄电池充电阶段','field'=>'L.chargestage','fields1'=>'chargestage','enname'=>'Charging stage'),
+        //     array('name'=>'蓄电池电压(V)','field'=>'L.battvoltage','fields1'=>'battvoltage','enname'=>'Battery voltage(V)'),
+        //     array('name'=>'蓄电池总过放次数','field'=>'L.overtimes','fields1'=>'overtimes','enname'=>'Over discharge times'),
+        //     array('name'=>'太阳能板功率(W)','field'=>'L.solarpower','fields1'=>'solarpower','enname'=>'Solar panel power(W)'),
+        //     array('name'=>'是否故障','field'=>'L.isfaulted','fields1'=>'isfaulted','enname'=>'Fault'),
+        // );
+
         // 路灯信息
-        $lampinfo = array(
-            array('name'=>'当前策略','field'=>'L.policyid','fields1'=>'policyid','enname'=>'Current strategy'),
-            array('name'=>'路灯id','field'=>'L.id','fields1'=>'id','enname'=>'Lamp ID'),
-            array('name'=>'网络名称','field'=>'N.networkname','fields1'=>'networkname','enname'=>'Network name'),
-            array('name'=>'项目名称','field'=>'P.projectname','fields1'=>'projectname','enname'=>'Project name'),
-            array('name'=>'经度','field'=>'L.longitude','fields1'=>'longitude','enname'=>'Longitude'),
-            array('name'=>'纬度','field'=>'L.latitude','fields1'=>'latitude','enname'=>'Latitude'),
-            // array('name'=>'sim卡号','field'=>'N.simid','fields1'=>'simid','enname'=>'SIM card number'),
-            // array('name'=>'套餐剩余','field'=>'N.packageSurplus','fields1'=>'packageSurplus','enname'=>'Package surplus'),
-            array('name'=>'路灯类型','field'=>'L.lamptype','fields1'=>'lamptype','enname'=>'Lamp type'),
-            array('name'=>'太阳能板类型','field'=>'L.boardtype','fields1'=>'boardtype','enname'=>'Solar panel type'),
-            array('name'=>'太阳能板功率(W)','field'=>'L.boardpower','fields1'=>'boardpower','enname'=>'Solar panel power(W)'),
-            array('name'=>'蓄电池类型','field'=>'L.batterytype','fields1'=>'batterytype','enname'=>'Battery type'),
-            array('name'=>'蓄电池AH数(ah)','field'=>'L.batteryah','fields1'=>'batteryah','enname'=>'Battery capacity(ah)'),
-            array('name'=>'负载功率(W)','field'=>'L.loadpower','fields1'=>'loadpower','enname'=>'Load power(W)'),
-            array('name'=>'蓄电池剩余电量','field'=>'L.electricleft','fields1'=>'electricleft','enname'=>'Remaining battery capacity(Ah)'),
-        );
+        // $lampinfo = array(
+        //     array('name'=>'当前策略','field'=>'L.policyid','fields1'=>'policyid','enname'=>'Current strategy'),
+        //     array('name'=>'路灯id','field'=>'L.id','fields1'=>'id','enname'=>'Lamp ID'),
+        //     array('name'=>'网络名称','field'=>'N.networkname','fields1'=>'networkname','enname'=>'Network name'),
+        //     array('name'=>'项目名称','field'=>'P.projectname','fields1'=>'projectname','enname'=>'Project name'),
+        //     array('name'=>'经度','field'=>'L.longitude','fields1'=>'longitude','enname'=>'Longitude'),
+        //     array('name'=>'纬度','field'=>'L.latitude','fields1'=>'latitude','enname'=>'Latitude'),
+        //     // array('name'=>'sim卡号','field'=>'N.simid','fields1'=>'simid','enname'=>'SIM card number'),
+        //     // array('name'=>'套餐剩余','field'=>'N.packageSurplus','fields1'=>'packageSurplus','enname'=>'Package surplus'),
+        //     array('name'=>'路灯类型','field'=>'L.lamptype','fields1'=>'lamptype','enname'=>'Lamp type'),
+        //     array('name'=>'太阳能板类型','field'=>'L.boardtype','fields1'=>'boardtype','enname'=>'Solar panel type'),
+        //     array('name'=>'太阳能板功率(W)','field'=>'L.boardpower','fields1'=>'boardpower','enname'=>'Solar panel power(W)'),
+        //     array('name'=>'蓄电池类型','field'=>'L.batterytype','fields1'=>'batterytype','enname'=>'Battery type'),
+        //     array('name'=>'蓄电池AH数(ah)','field'=>'L.batteryah','fields1'=>'batteryah','enname'=>'Battery capacity(ah)'),
+        //     array('name'=>'负载功率(W)','field'=>'L.loadpower','fields1'=>'loadpower','enname'=>'Load power(W)'),
+        //     array('name'=>'蓄电池剩余电量','field'=>'L.electricleft','fields1'=>'electricleft','enname'=>'Remaining battery capacity(Ah)'),
+        // );
 
         // 路灯信息日志
-        $lamp_info_log = array(
-            array('name'=>'路灯电压(V)','field'=>'L.lampvoltage','fields1'=>'lampvoltage','enname'=>'Lamp voltage(V)'),
-            array('name'=>'路灯电流(A)','field'=>'L.lampcurrent','fields1'=>'lampcurrent','enname'=>'Lamp current(A)'),
-            array('name'=>'灯头温度(℃)','field'=>'L.lamptemper as temper','fields1'=>'temper','enname'=>'Lamp temperature(℃)'),
-        );
+        // $lamp_info_log = array(
+        //     array('name'=>'路灯电压(V)','field'=>'L.lampvoltage','fields1'=>'lampvoltage','enname'=>'Lamp voltage(V)'),
+        //     array('name'=>'路灯电流(A)','field'=>'L.lampcurrent','fields1'=>'lampcurrent','enname'=>'Lamp current(A)'),
+        //     array('name'=>'灯头温度(℃)','field'=>'L.lamptemper as temper','fields1'=>'temper','enname'=>'Lamp temperature(℃)'),
+        // );
 
-        $solar_info_log = array(
-            array('name'=>'太阳能板电压(V)','field'=>'L.solarvoltage','fields1'=>'solarvoltage','enname'=>'Solar panel voltage(V)'),
-            array('name'=>'太阳能板电流(A)','field'=>'L.solarcurrent','fields1'=>'solarcurrent','enname'=>'Solar panel current(A)')
-        );
+        // $solar_info_log = array(
+        //     array('name'=>'太阳能板电压(V)','field'=>'L.solarvoltage','fields1'=>'solarvoltage','enname'=>'Solar panel voltage(V)'),
+        //     array('name'=>'太阳能板电流(A)','field'=>'L.solarcurrent','fields1'=>'solarcurrent','enname'=>'Solar panel current(A)')
+        // );
 
         // 蓄电池信息日志
-        $battery_info_log = array(
-            array('name'=>'蓄电池状态','field'=>'L.battstatus','fields1'=>'battstatus','enname'=>'Battery status'),
-            array('name'=>'蓄电池充电电流(A)','field'=>'L.chargecurrent','fields1'=>'chargecurrent','enname'=>'Charging current(A)'),
-            array('name'=>'蓄电池放电电流(A)','field'=>'L.discharcurrent','fields1'=>'discharcurrent','enname'=>'Discharging current(A)'),
-            array('name'=>'蓄电池充电功率(w)','field'=>'L.chargepower','fields1'=>'chargepower','enname'=>'Charging power(w)'),
-            array('name'=>'蓄电池放电功率(w)','field'=>'L.dischargepower','fields1'=>'dischargepower','enname'=>'Discharging power(w)'),
-            array('name'=>'蓄电池表面温度(℃)','field'=>'L.batttemper','fields1'=>'batttemper','enname'=>'Battery surface temperature(℃)'),
-            array('name'=>'蓄电池总电量','field'=>'L.electrictotal','fields1'=>'electrictotal','enname'=>'Total battery capacity(Ah)'),
-            array('name'=>'蓄电池电量SOC(%)','field'=>'L.electricSOC','fields1'=>'electricSOC','enname'=>'Battery SOC(%)'),
-            array('name'=>'当天最低电压(V)','field'=>'L.voltagedaymin','fields1'=>'voltagedaymin','enname'=>'Minimum voltage(V)'),
-            array('name'=>'当天最高电压(V)','field'=>'L.voltagedaymax','fields1'=>'voltagedaymax','enname'=>'Highest voltage(V)'),
-            array('name'=>'当天充电安时数(ah)','field'=>'L.daychargeah','fields1'=>'daychargeah','enname'=>'Charging AH(ah)'),
-            array('name'=>'当天放电安时数(ah)','field'=>'L.daydischarah','fields1'=>'daydischarah','enname'=>'Discharging AH(ah)'),
-            array('name'=>'当天充电最大功率(W)','field'=>'L.daychargemaxpow','fields1'=>'daychargemaxpow','enname'=>'Charging max-power(W)'),
-            array('name'=>'当天放电最大功率(W)','field'=>'L.daydischarmaxpow','fields1'=>'daydischarmaxpow','enname'=>'Discharging max-power(W)'),
-            array('name'=>'当天灯亮时间(hh:mm)','field'=>'L.daychargemincurrent','fields1'=>'daychargemincurrent','enname'=>'Turn-on duration'),
-            array('name'=>'当天充电最大电流(A)','field'=>'L.daycharmaxcurrent','fields1'=>'daycharmaxcurrent','enname'=>'Highest charging current(A)'),
-            array('name'=>'当天充电时间(hh:mm)','field'=>'L.daydischargemincurrent','fields1'=>'daydischargemincurrent','enname'=>'Charging duration'),
-            array('name'=>'当天放电最大电流(A)','field'=>'L.daydischarmaxcurrent','fields1'=>'daydischarmaxcurrent','enname'=>'Highest discharging current(A)'),
-            array('name'=>'当天蓄电池最低温度(℃)','field'=>'L.daybattmintemper','fields1'=>'daybattmintemper','enname'=>'Battery min-temperature(℃)'),
-            array('name'=>'当天蓄电池最高温度(℃)','field'=>'L.daybattmaxtemper','fields1'=>'daybattmaxtemper','enname'=>'Battery max-temperature(℃)'),
-        );
-
-        $electric_info_log = array(
-            array('name'=>'当天发电量(kWh)','field'=>'L.daygeneration','fields1'=>'daygeneration','enname'=>'Power generation(kWh)'),
-            array('name'=>'当天用电量(kWh)','field'=>'L.dayconsumption','fields1'=>'dayconsumption','enname'=>'Power consumption(kWh)'),
-            array('name'=>'累计发电量(kWh)','field'=>'L.totalgeneration','fields1'=>'totalgeneration','enname'=>'Cumulative power generation(kWh)'),
-            array('name'=>'累计用电量(kWh)','field'=>'L.totalconsumption','fields1'=>'totalconsumption','enname'=>'Cumulative power consumption(kWh)'),
-        );
-
-        $system_info_log = array(
-            array('name'=>'系统电压(V)','field'=>'L.sysvoltage','fields1'=>'sysvoltage','enname'=>'System voltage(V)'),
-            array('name'=>'系统电流(A)','field'=>'L.syscurrent','fields1'=>'syscurrent','enname'=>'System current(A)'),
-            array('name'=>'控制器温度(℃)','field'=>'L.temper as controlTemper','fields1'=>'controlTemper','enname'=>'Controller temperature(℃)'),
-        );
+        // $battery_info_log = array(
+        //     array('name'=>'蓄电池状态','field'=>'L.battstatus','fields1'=>'battstatus','enname'=>'Battery status'),
+        //     array('name'=>'蓄电池充电电流(A)','field'=>'L.chargecurrent','fields1'=>'chargecurrent','enname'=>'Charging current(A)'),
+        //     array('name'=>'蓄电池放电电流(A)','field'=>'L.discharcurrent','fields1'=>'discharcurrent','enname'=>'Discharging current(A)'),
+        //     array('name'=>'蓄电池充电功率(w)','field'=>'L.chargepower','fields1'=>'chargepower','enname'=>'Charging power(w)'),
+        //     array('name'=>'蓄电池放电功率(w)','field'=>'L.dischargepower','fields1'=>'dischargepower','enname'=>'Discharging power(w)'),
+        //     array('name'=>'蓄电池表面温度(℃)','field'=>'L.batttemper','fields1'=>'batttemper','enname'=>'Battery surface temperature(℃)'),
+        //     array('name'=>'蓄电池总电量','field'=>'L.electrictotal','fields1'=>'electrictotal','enname'=>'Total battery capacity(Ah)'),
+        //     array('name'=>'蓄电池电量SOC(%)','field'=>'L.electricSOC','fields1'=>'electricSOC','enname'=>'Battery SOC(%)'),
+        //     array('name'=>'当天最低电压(V)','field'=>'L.voltagedaymin','fields1'=>'voltagedaymin','enname'=>'Minimum voltage(V)'),
+        //     array('name'=>'当天最高电压(V)','field'=>'L.voltagedaymax','fields1'=>'voltagedaymax','enname'=>'Highest voltage(V)'),
+        //     array('name'=>'当天充电安时数(ah)','field'=>'L.daychargeah','fields1'=>'daychargeah','enname'=>'Charging AH(ah)'),
+        //     array('name'=>'当天放电安时数(ah)','field'=>'L.daydischarah','fields1'=>'daydischarah','enname'=>'Discharging AH(ah)'),
+        //     array('name'=>'当天充电最大功率(W)','field'=>'L.daychargemaxpow','fields1'=>'daychargemaxpow','enname'=>'Charging max-power(W)'),
+        //     array('name'=>'当天放电最大功率(W)','field'=>'L.daydischarmaxpow','fields1'=>'daydischarmaxpow','enname'=>'Discharging max-power(W)'),
+        //     array('name'=>'当天灯亮时间(hh:mm)','field'=>'L.daychargemincurrent','fields1'=>'daychargemincurrent','enname'=>'Turn-on duration'),
+        //     array('name'=>'当天充电最大电流(A)','field'=>'L.daycharmaxcurrent','fields1'=>'daycharmaxcurrent','enname'=>'Highest charging current(A)'),
+        //     array('name'=>'当天充电时间(hh:mm)','field'=>'L.daydischargemincurrent','fields1'=>'daydischargemincurrent','enname'=>'Charging duration'),
+        //     array('name'=>'当天放电最大电流(A)','field'=>'L.daydischarmaxcurrent','fields1'=>'daydischarmaxcurrent','enname'=>'Highest discharging current(A)'),
+        //     array('name'=>'当天蓄电池最低温度(℃)','field'=>'L.daybattmintemper','fields1'=>'daybattmintemper','enname'=>'Battery min-temperature(℃)'),
+        //     array('name'=>'当天蓄电池最高温度(℃)','field'=>'L.daybattmaxtemper','fields1'=>'daybattmaxtemper','enname'=>'Battery max-temperature(℃)'),
+        // );
+
+        // $electric_info_log = array(
+        //     array('name'=>'当天发电量(kWh)','field'=>'L.daygeneration','fields1'=>'daygeneration','enname'=>'Power generation(kWh)'),
+        //     array('name'=>'当天用电量(kWh)','field'=>'L.dayconsumption','fields1'=>'dayconsumption','enname'=>'Power consumption(kWh)'),
+        //     array('name'=>'累计发电量(kWh)','field'=>'L.totalgeneration','fields1'=>'totalgeneration','enname'=>'Cumulative power generation(kWh)'),
+        //     array('name'=>'累计用电量(kWh)','field'=>'L.totalconsumption','fields1'=>'totalconsumption','enname'=>'Cumulative power consumption(kWh)'),
+        // );
+
+        // $system_info_log = array(
+        //     array('name'=>'系统电压(V)','field'=>'L.sysvoltage','fields1'=>'sysvoltage','enname'=>'System voltage(V)'),
+        //     array('name'=>'系统电流(A)','field'=>'L.syscurrent','fields1'=>'syscurrent','enname'=>'System current(A)'),
+        //     array('name'=>'控制器温度(℃)','field'=>'L.temper as controlTemper','fields1'=>'controlTemper','enname'=>'Controller temperature(℃)'),
+        // );
 
         // 历史信息日志
-        $history_info_log = array(
-            array('name'=>'运行天数','field'=>'L.rundays','fields1'=>'rundays','enname'=>'Running duration'),
-            array('name'=>'蓄电池总充满次数','field'=>'L.fulltimes','fields1'=>'fulltimes','enname'=>'Full charge times'),
-            array('name'=>'蓄电池总充电安时数(ah)','field'=>'L.totalchargeah','fields1'=>'totalchargeah','enname'=>'Total charge AH(ah)'),
-            array('name'=>'蓄电池总放电安时数(ah)','field'=>'L.totaldischarah','fields1'=>'totaldischarah','enname'=>'Total discharge AH(ah)'),
-        );
-        $fields = array_merge($def,$lampinfo,$lamp_info_log,$solar_info_log,$battery_info_log,$electric_info_log,$system_info_log,$history_info_log);
+        // $history_info_log = array(
+        //     array('name'=>'运行天数','field'=>'L.rundays','fields1'=>'rundays','enname'=>'Running duration'),
+        //     array('name'=>'蓄电池总充满次数','field'=>'L.fulltimes','fields1'=>'fulltimes','enname'=>'Full charge times'),
+        //     array('name'=>'蓄电池总充电安时数(ah)','field'=>'L.totalchargeah','fields1'=>'totalchargeah','enname'=>'Total charge AH(ah)'),
+        //     array('name'=>'蓄电池总放电安时数(ah)','field'=>'L.totaldischarah','fields1'=>'totaldischarah','enname'=>'Total discharge AH(ah)'),
+        // );
+        // $fields = array_merge($def,$lampinfo,$lamp_info_log,$solar_info_log,$battery_info_log,$electric_info_log,$system_info_log,$history_info_log);
+        $fields = $def;
         $def = explode(',', $fieldstr);
         foreach ($fields as &$v) {
             if (in_array($v['fields1'], $def)) {

+ 29 - 136
api/application/controllers/Lampcontrol.php

@@ -2379,6 +2379,8 @@ class Lampcontrol extends Base_Controller {
         $data["po"] = !empty($po) ? $po : '';
         $manu = $this->input->post('manu',true);
         $data["manu"] = !empty($manu) ? $manu : '';
+        $protocoltype = $this->input->post('protocoltype',true);
+        $data['protocoltype'] = $protocoltype;
 
         $loadtype = $this->input->post('loadtype',true);
         if ($loadtype !== null) {
@@ -2386,16 +2388,7 @@ class Lampcontrol extends Base_Controller {
         }
 
         // 控制器协议类型
-        // $lampprotocoltype = intval($this->input->post('lampprotocoltype',true));
-        // if ($lampprotocoltype > 1 || $lampprotocoltype < 0) exit(json_result('0415', $this->response['0415'], array()));
-
-        // $devicetype = intval($this->input->post('devicetype',true));
-        // $data['devicetype'] = $devicetype;
         $version = $this->session->userdata('version');
-        // if ($devicetype <= 0) {
-        //     $data['networkid'] = $this->input->post('network_id',true);
-        //     if (empty($data['networkid'])) exit(json_result('0405', $this->response['0405'], array()));
-        // }
 
         if (strlen($data['number']) > 6) exit(json_result('0408', $this->response['0408'], array()));
         if (empty($data['projectid'])) exit(json_result('0308', $this->response['0308'], array()));
@@ -2413,101 +2406,51 @@ class Lampcontrol extends Base_Controller {
                 exit(json_result('0401', $this->response['0401'], array()));
             }   
 
-            $lamp = $this->Lamp_model->queryData(array('address'=>$data['address']));
+            $lamp = $this->Lamp_model->get_one(array('address'=>$data['address']),'projectid,number');
             if (!empty($lamp)) {
                 $projectid = $lamp['projectid'];
-                $networkid = $lamp['networkid'];
                 $number = $lamp['number'];
-                // $networkname = $this->Network_model->getNameById($networkid);
                 $projectname = $this->Project_model->getNameById($projectid);
                 if (empty($version)) {
-                    // exit(json_result('0404', "该无线模块地址已被【{$projectname}】项目,【{$networkname}】网络,【{$number}】编号的灯控使用", array()));
                     exit(json_result('0404', "该无线模块地址已被【{$projectname}】项目,【{$number}】编号的灯控使用", array()));
                 }else{
-                    // exit(json_result('other', "The wireless module address has been used by \"{$projectname}\" project, \"{$networkname}\" network, and \"{$number}\" serial number", array()));
                     exit(json_result('other', "The wireless module address has been used by \"{$projectname}\" project, and \"{$number}\" serial number", array()));
                 }
-                
-                
             }
-            $projectData = $this->Project_model->get_one(['id'=>$data['projectid']],'patrolinterval,cityid');
+            $projectData = $this->Project_model->get_one(['id'=>$data['projectid']],'patrolinterval,cityid,projectname');
             if (empty($data['longitude']) && empty($data['latitude']) && !empty($projectData['cityid'])) {
                 $globalData = $this->Global_location_model->getOne($projectData['cityid'],'longitude,latitude');
                 $data['longitude'] = $globalData['longitude'];
                 $data['latitude'] = $globalData['latitude'];
             }
-            // $timezone = $this->Project_model->get_timezone_by_projectid($data['projectid']);       
-            // $data['createtime'] = get_time_by_timezone($timezone['value']);
-            // $data['updatetime'] = get_time_by_timezone($timezone['value']);
 
             $data['createtime'] = date('Y-m-d H:i:s',time());
-            $data['updatetime'] = date('Y-m-d H:i:s',time());
-
-            // if ($devicetype > 0) {
-                // 直连设备
-                $number = mb_strlen($data['address']) == 13 ? base_convert($data['address'], 16, 10) : $data['address'];
-                if ($this->Network_model->getDataCount(array('devicesn'=>$number))) {
-                    exit(json_result('0413',$this->response['0413'],array()));
-                }
 
-                $networkData['networkid'] = $number;
-                $networkData['gatewaytype'] = 'direct';
-                // $networkData['devicetype'] = $lampprotocoltype == 1 ? 3 : 0;
-                $protocoltype = $this->input->post('protocoltype',true);
-                if ($protocoltype === null) {
-                    exit(json_result('0007',$this->response['0007'],array()));
-                }
-                // if($protocoltype==6){
-                //     $this->add_device($data['address']);
-                // }
-                $networkData['protocoltype'] = empty($protocoltype) ? 0 : $protocoltype;
-                $networkData['projectid'] = $data['projectid'];
-                $networkData['devicesn'] = $number;
-                $networkData['networkname'] = $number;
-                $networkData['type'] = 1;
-                $networkData['createtime'] = date('Y-m-d H:i:s',time());
-
-
-                $data['networkid'] = $this->Network_model->add($networkData);
-            // }
-            // $data['protocoltype'] = $lampprotocoltype;
             $lampid = $this->Lamp_model->add($data);
 
-            // $data['faultcount'] = 0;
-            // $this->Network_model->add_lamp_count($data);
             $this->Project_model->add_lamp_count(array('lampcount'=>1,'faultcount'=>0,'projectid'=>$data['projectid']));
 
-            //设置路灯默认巡检时间
-            
-            // $this->patrol_set($lampid,$projectData['patrolinterval']);
-
             $lampId = intval($lampid);
-            $projectData = $this->Project_model->getData(array('id'=>$data['projectid']),'projectname');
-            // $networkData = $this->Network_model->getData(array('id'=>$data['networkid']),'networkname');
-            // $this->add_operation_log('insert',"在\"{$projectData['projectname']}\"项目下的\"{$networkData['networkname']}\"网络里添加编号为\"{$data['number']}\"、无线模块地址为\"{$data['address']}\"的路灯",0);
-            // $this->add_operation_log('insert',"Add lamp:\"{$data['number']}\".Wireless module address:\"{$data['address']}\".Project name:\"{$projectData['projectname']}\".Network name:\"{$networkData['networkname']}\".",0,1);
-            $this->add_operation_log('insert',"在\"{$projectData['projectname']}\"项目下的\"{$networkData['networkname']}\"、无线模块地址为\"{$data['address']}\"的路灯",0);
+            $this->add_operation_log('insert',"在\"{$projectData['projectname']}\"项目里添加编号为\"{$data['number']}\"、无线模块地址为\"{$data['address']}\"的路灯",0);
             $this->add_operation_log('insert',"Add lamp:\"{$data['number']}\".Wireless module address:\"{$data['address']}\".Project name:\"{$projectData['projectname']}\"",0,1);
         } else {
             if ($this->Lamp_model->getDataCount(array('number'=>$data['number'], 'projectid'=>$data['projectid']), $where['id']) > 0) {
                 exit(json_result('0401', $this->response['0401'], array()));
             }
 
-            $lamp = $this->Lamp_model->queryData(array('address'=>$data['address'], 'id !='=>$where['id']));
+            $lamp = $this->Lamp_model->get_one(array('address'=>$data['address'], 'id !='=>$where['id']),'projectid,number');
             if (!empty($lamp)) {
                 $projectid = $lamp['projectid'];
-                $networkid = $lamp['networkid'];
                 $number = $lamp['number'];
-                $networkname = $this->Network_model->getNameById($networkid);
                 $projectname = $this->Project_model->getNameById($projectid);
                 if (empty($version)) {
-                    exit(json_result('0404', "该无线模块地址已被【{$projectname}】项目,【{$networkname}】网络,【{$number}】编号的灯控使用", array()));
+                    exit(json_result('0404', "该无线模块地址已被【{$projectname}】项目,【{$number}】编号的灯控使用", array()));
                 }else{
-                    exit(json_result('other', "The wireless module address has been used by \"{$projectname}\" project, \"{$networkname}\" network, and \"{$number}\" serial number", array()));
+                    exit(json_result('other', "The wireless module address has been used by \"{$projectname}\" project, and \"{$number}\" serial number", array()));
                 }
             }
 
-            $old = $this->Lamp_model->getOne($where['id'],'L.networkid,L.isfaulted,L.projectid,L.address,N.type,N.protocoltype');
+            $old = $this->Lamp_model->get_one($where,'networkid,isfaulted,projectid,address,protocoltype');
             
             if ($old['projectid'] != $data['projectid']) {
                 $new['projectid']  = $data['projectid'];
@@ -2517,54 +2460,15 @@ class Lampcontrol extends Base_Controller {
                 $old['faultcount'] = $new['faultcount'];
                 $this->Project_model->minus_lamp_count($old);
             }
-            $protocoltype = $this->input->post('protocoltype',true);
-            if ($protocoltype === null) {
-                exit(json_result('0007',$this->response['0007'],array()));
-            }
             $oldNet = $this->Network_model->getData(array('id'=>$old['networkid']));
-            // $netDeviceType = $lampprotocoltype == 1 ? 3 : 0;
             if ($old['address'] != $data['address'] || $protocoltype != $oldNet['protocoltype']) {
-                // 删除原有网络
-                // $this->Zone_model->delZone($old['networkid']);
-                // $this->Network_model->delete(array('id'=>$old['networkid']));
 
-                $number = mb_strlen($data['address']) == 13 ? base_convert($data['address'], 16, 10) : $data['address'];
-                if ($this->Network_model->getDataCount(array('devicesn'=>$number))) {
-                    exit(json_result('0413',$this->response['0413'],array()));
-                }
-
-                $networkData['networkid'] = $number;
-                $networkData['gatewaytype'] = 'direct';
-                // $networkData['devicetype'] = $lampprotocoltype == 1 ? 3 : 0;
-                $networkData['protocoltype'] = empty($protocoltype) ? 0 : $protocoltype;
-                $networkData['projectid'] = $data['projectid'];
-                $networkData['devicesn'] = $number;
-                $networkData['networkname'] = $number;
-                // $networkData['type'] = 1;
-                $networkData['lampcount'] = 1;
-                $networkData['createtime'] = date('Y-m-d H:i:s',time());
-
-                $this->Network_model->update($networkData,['id'=>$old['networkid']]);
-                // $data['info_cache'] = '';
-
-                // if($protocoltype==6){
-                //     if ($old['protocoltype'] == 6) $this->remove_device($old['address']);
-                //     $this->add_device($data['address']);
-                // }
             }   
-            $data['updatetime'] = date("Y-m-d H:i:s",time());
-            // $data['protocoltype'] = $lampprotocoltype;
             $this->Lamp_model->update($data,$where);
             $projectData = $this->Project_model->getData(array('id'=>$data['projectid']),'projectname');
-            // if (empty($data['networkid'])) {
-            //     $networkData = $this->Network_model->getData(array('id'=>$old['networkid']),'networkname');
-            // }else{
-            //     $networkData = $this->Network_model->getData(array('id'=>$data['networkid']),'networkname');
-            // }
             $this->add_operation_log('update',"修改\"{$projectData['projectname']}\"项目下的编号为\"{$data['number']}\"、无线模块地址为\"{$data['address']}\"的路灯信息");
             $this->add_operation_log('update',"Update lamp:\"{$data['number']}\".Wireless module address:\"{$data['address']}\".Project name:\"{$projectData['projectname']}\".",0,1);
 
-
             //更新负载设置和蓄电池设置
             if (isset($_POST['workmode'])) {
                 $res = $this->load_update();
@@ -3257,9 +3161,9 @@ class Lampcontrol extends Base_Controller {
         }
         if ($datatype == 'lampinfo') {
 
-            $fields = "L.isfaulted,L.number,L.networkid as network_id,L.projectid,L.address,L.longitude,L.latitude,L.section,L.boardpower,L.lamptype,L.boardtype,L.batteryah,L.loadpower,L.devstatus,N.id as networkid,L.logtime as updatetime,L.batterytype,N.protocoltype,N.status,N.simid,N.packageSurplus,N.monthly_can_usage,N.monthly_already_usage,L.loadtype,L.supplier,L.upazilla,L.po,L.manu";
+            $fields = "number,projectid,address,longitude,latitude,section,boardpower,lamptype,boardtype,batteryah,loadpower,devstatus,loadtype,supplier,upazilla,po,manu,protocoltype,updatetime,status";
 
-            $res = $this->Lamp_model->getOne($lamp_id,$fields);
+            $res = $this->Lamp_model->get_one(['id'=>$lamp_id],$fields);
             if (empty($res)) {
                 exit(json_result('0000', $this->response['0006'], array()));
             }
@@ -3276,9 +3180,6 @@ class Lampcontrol extends Base_Controller {
                 if (!preg_match('/^[A-Za-z\s*]+$/', $res['boardtype'])) {
                     $res['boardtype'] = empty($boardType[$res['boardtype']]) ? '' : $boardType[$res['boardtype']];
                 }
-                if (!preg_match('/^[A-Za-z\s*]+$/', $res['batterytype'])) {
-                    $res['batterytype'] = empty($batteryType[$res['batterytype']]) ? '' : $batteryType[$res['batterytype']];
-                }
             }else{
                 $polemaType = ['Cold galvanizing'=>'冷镀锌','Hot galvanizing'=>'热镀锌','Stainless steel'=>'不锈钢'];
                 $lightType = ['LED lamp'=>'LED灯','Sodium lamp'=>'钠灯','Energy saving light'=>'节能灯'];
@@ -3292,9 +3193,6 @@ class Lampcontrol extends Base_Controller {
                 if (preg_match('/^[A-Za-z\s*]+$/', $res['boardtype'])) {
                     $res['boardtype'] = empty($boardType[$res['boardtype']]) ? '' : $boardType[$res['boardtype']];
                 }
-                if (preg_match('/^[A-Za-z\s*]+$/', $res['batterytype'])) {
-                    $res['batterytype'] = empty($batteryType[$res['batterytype']]) ? '' : $batteryType[$res['batterytype']];
-                }
             }
 
             // if ($res["isfaulted"] == 0) {
@@ -3315,54 +3213,49 @@ class Lampcontrol extends Base_Controller {
 
             $data = array(
                 "lamp_no" => $res["number"], 
-                "network_no" => $this->Network_model->getNameById($res["networkid"], "networkid"), 
-                "networkname" => $this->Network_model->getNameById($res["networkid"], "networkname"), 
                 "project_name" => $this->Project_model->getNameById($res["projectid"]), 
                 "address" => $res["address"], 
                 "longitude" => $res["longitude"], 
                 "latitude" => $res["latitude"], 
-                "isfaulted" => $res["isfaulted"], 
+                "isfaulted" => $res["devstatus"], 
                 "section" => $res["section"], 
                 "boardpower" => floatval($res["boardpower"]), 
                 "lamptype" => $res['lamptype'],
                 "boardtype" => $res['boardtype'], 
                 "batteryah" => $res["batteryah"],
                 "loadpower" => $res["loadpower"],
-                "network_id" => $res["networkid"],
                 'status' => $res['status'],
-                'batterytype' => $res['batterytype'],
+                // 'batterytype' => $res['batterytype'],
                 'protocoltype'=>intval($res['protocoltype']),
                 'supplier'=>intval($res['supplier']),
                 'upazilla'=>intval($res['upazilla']),
                 'po'=>intval($res['po']),
                 'manu'=>intval($res['manu']),
-                "simid" => empty($res["simid"]) ? '' : $res["simid"], 
-                "packageSurplus" => $res["packageSurplus"], 
                 "updatetime" => $res["updatetime"], 
                 'loadtype' => $res['loadtype']
             );
-            $msisdn = $this->db->query('select iccid from msisdn where imsi = "'.$res['simid'].'"')->row_array();
-            if (empty($msisdn) || empty($msisdn['iccid'])) {
-                $data['iccid'] = '';
-            }else{
-                $data['iccid'] = $msisdn['iccid'];
-            }
-            if ($res['protocoltype'] != 1 && $res['protocoltype'] != 2) {
-                unset($data['packageSurplus']);
-                unset($data['simid']);
-            }
-            $username = $this->get_user_info('username');
-            if ($username == 'zns') {
-                $data['monthly_can_usage'] = intval($res['monthly_can_usage']);
-                $data['monthly_already_usage'] = round($res['monthly_already_usage'],2);
-            }
+            // $msisdn = $this->db->query('select iccid from msisdn where imsi = "'.$res['simid'].'"')->row_array();
+            // if (empty($msisdn) || empty($msisdn['iccid'])) {
+            //     $data['iccid'] = '';
+            // }else{
+            //     $data['iccid'] = $msisdn['iccid'];
+            // }
+            // if ($res['protocoltype'] != 1 && $res['protocoltype'] != 2) {
+            //     unset($data['packageSurplus']);
+            //     unset($data['simid']);
+            // }
+            // $username = $this->get_user_info('username');
+            // if ($username == 'zns') {
+            //     $data['monthly_can_usage'] = intval($res['monthly_can_usage']);
+            //     $data['monthly_already_usage'] = round($res['monthly_already_usage'],2);
+            // }
 
             exit(json_result('0000', $this->response['0000'], $data));
         }
         $table_map = array('system_info_log','lamp_info_log','solar_info_log','battery_info_log','electric_info_log','history_info_log');
         $table = in_array($datatype, $table_map) ? $datatype : 'system_info_log';
         $res = $this->Lamp_model->getForInfoLog($lamp_id, $table);
-        $lampData = $this->Lamp_model->getOne($lamp_id,'L.projectid');
+        $lampData = $this->Lamp_model->get_one(['id'=>$lamp_id],'projectid');
         $timezone = $this->Project_model->get_timezone_by_projectid($lampData['projectid']);
         if(!$res){
             exit(json_result('0000', $this->response['0006'], array()));

+ 1 - 1
api/application/helpers/function_helper.php

@@ -826,7 +826,7 @@ function get_fields_by_type($fileds,$type){
         'updatetime' => array('name'=>'更新时间','enname'=>'Update time'),
         'lighteness' => array('name'=>'路灯亮度(%)','enname'=>'Brightness(%)'),
         'address' => array('name'=>'无线模块地址','enname'=>'Wireless module address'),
-        'lamppower' => array('name'=>'路灯功率(W)','enname'=>'Lamp power(W)'),
+        'loadpower' => array('name'=>'负载功率(W)','enname'=>'load power(W)'),
         'chargestage' => array('name'=>'蓄电池充电阶段','enname'=>'Charging stage'),
         'battvoltage' => array('name'=>'蓄电池电压(V)','enname'=>'Battery voltage(V)'),
         'overtimes' => array('name'=>'蓄电池总过放次数','enname'=>'Over discharge times'),

+ 17 - 8
api/application/models/Lamp_model.php

@@ -697,16 +697,25 @@ class Lamp_model extends Base_model {
 
 	// 获取最新历史信息
 	public function getForInfoLog($lampid, $table){
-		$this->db->where('lampid',$lampid);
-		$this->db->order_by("updatetime","DESC");   
-		$this->db->limit(1);
+		
 		if ($table == 'lamp_info_log') {
-			$this->db->select('L.lighteness,L.status as lampstatus,lamp_info_log.lampvoltage,lamp_info_log.lampcurrent,lamp_info_log.lamppower,lamp_info_log.temper,lamp_info_log.updatetime');
-			$this->db->join('lampinfo as L','lamp_info_log.lampid = L.id','left');
+			$this->db->where('id',$lampid);
+			// $this->db->order_by("LI.updatetime","DESC");   
+			$this->db->limit(1);
+			$this->db->select('lighteness,status as lampstatus,lampvoltage,lampcurrent,lamppower,temper,updatetime');
+			// $this->db->join('lampinfo as L','lamp_info_log.lampid = L.id','left');
+			$query = $this->db->get('lampinfo');
+			$ret = $query->row_array();        
+			return $ret;
+		}else{
+			$this->db->where('lampid',$lampid);
+			$this->db->order_by("updatetime","DESC");   
+			$this->db->limit(1);
+			$query = $this->db->get($table);
+			$ret = $query->row_array();        
+			return $ret;
 		}
-		$query = $this->db->get($table);
-		$ret = $query->row_array();        
-		return $ret;
+
 	}
 	
 	public function delData($condition) {