123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404 |
- <?php
- namespace Home\Controller;
- use Think\Controller;
- class OwnerController extends ComController {
- public function index(){
- $Data=I();
- // print_r($_SESSION);
- if(isset($Data['list'])){
- $ModelList=M("owner");
- $GetPage=$Data['pageCurrent'];//第几页
- $GetSize=$Data['pageSize'];//每页条数
- $Gage=($GetPage-1)*$GetSize;
- $Map=array();
- if(!empty($Data['owner_name'])){
- $Map['sp_owner.owner_name']=array('like','%'.$Data['owner_name'].'%');
- }
- if(!empty($Data['owner_name1'])){
- $Map['sp_owner_company.owner_name']=array('like','%'.$Data['owner_name1'].'%');
- }
- //权限
- if($_SESSION['zt_username']!='admin' && $_SESSION['zt_username']!='zj')
- {
- $por=$this->getdevice();
- if(count($por)>0){
- //$por=array('10000001','10000000')
- if(!empty($Data['owner_code'])){
- $p="";
- foreach ($por as $val) {
- $p.="'".$val."',";
- }
- $p.="'www'";
- $Map['_string']=" (owner_code in(".$p.")) AND (owner_code LIKE '%".$Data['owner_code']."%') ";
- }else{
- $Map['owner_code']=array('in',$por);
- }
-
- }else{
- $Map['owner_code']='xxx';
- }
- }else{
- if(!empty($Data['owner_code'])){
- $Map['owner_code']=array('like','%'.$Data['owner_code'].'%');
- }
- }
-
- //$DataAuth=$this->permdata();
- // if(!empty($DataAuth)){
- // $Map['owner_code']=$DataAuth;
- // }
- //$por=$this->getdevice();
- //file_put_contents("/var/www/html/log/log.txt",print_r($por,true), FILE_APPEND);
- $Count= $ModelList->join("left join __OWNER_COMPANY__ ON owner_id=company")->where($Map)->count();// 查询满足要求的总记录数
- $ListData = $ModelList->field('sp_owner.id,owner_code,sp_owner.owner_name,sim,addr1,unitinfo,addr2,addr3,address,posistion,install_time,install_man,sp_owner_company.owner_name as owner_name1')
- ->where($Map)->order('id desc')->join("left join __OWNER_COMPANY__ ON owner_id=company")->limit($Gage,$GetSize)->select();
- // s_print($ListData);die;
- $InfoList = array(
- 'totalRow' => $Count,
- //'pageSize' => $count,//分页时不传
- 'list' => $ListData,
- );
- echo json_encode($InfoList);
- }
- else
- {
- $this->display();
- }
- }
- public function getowner(){
-
- //echo '1111';
- //
- $por=M('owner_weibao')->field('owner_code')->where(array('agentid'=>$_SESSION['zt_username']))->select();
- $arr=array();
- foreach ($por as $value) {
- $arr[]=$value['owner_code'];
- }
- return $arr;
- }
- public function getdevice(){
- //sp_user表 username=agentid
- //$por=M('owner_weibao')->query("SELECT owner_code FROM sp_owner WHERE company IN(SELECT owner_code FROM sp_owner_weibao WHERE agentid='".$_SESSION['zt_username']."')");
- $por=M()->query("SELECT owner_code FROM sp_owner WHERE install_man='".$_SESSION['zt_username']."' or company IN(SELECT owner_code FROM sp_owner_weibao WHERE agentid='".$_SESSION['zt_username']."');");
- $arr=array();
- foreach ($por as $value) {
- $arr[]=$value['owner_code'];
- }
- return $arr;
- }
- public function edit(){
- $data=I();
- switch ($data['type']) {
- case 'owner':
- $Owner=M('owner');
- //$list=$Owner->where(array('id'=> $data['id']))->select();//二维数组
- $list=$Owner->where(array('owner_code'=> $data['owner_code']))->select();//二维数组
- if (!empty($list[0]['posistion'])) {
- $str=explode(",", $list[0]['posistion']);
- $list[0]['posistion']=$str[1].','.$str[0];
- }
- $this->assign('Ownerlist',$list[0]);
- $company=M('owner_company')->select();
- $this->assign('companylist',$company);
- $model=M('host_model')->field("id,host_name,parts_mapping,description,CONCAT(id,',',parts_mapping) as types")->select();
- $this->assign('owner_xinghao',$model);
- $arr = explode(',',$list[0]['owner_xh']);
- $arr1 = str_split($arr[1]);
- if ($arr1[0]=='' || $arr1[0]=='z'){
- $arr1[0]=-2;
- }
- if ($arr1[1]=='' || $arr1[1]=='z'){
- $arr1[1]=-2;
- }
- if ($arr1[2]=='' || $arr1[2]=='z'){
- $arr1[2]=-2;
- }
- // print_r($arr);
- $this->assign('owner_xh_z',$arr1);
- /*
- $Device=M('owner_device');
- $device_list=$Device->where(array('owner_code'=> $data['owner_code']))->select();//二维数组
- $this->assign('Devicelist',$device_list);
- $Types=M('device_type');
- $Types_list=$Types->select();//二维数组
- $this->assign('Typelist',$Types_list);
- $Model=M('device_model');
- $Model_list=$Model->select();//二维数组
- $this->assign('Modellist',$Model_list);
- */
- //port
- $PorTyp=M('port_type')->select();
- $this->assign('portyp',$PorTyp);
- $PorSyT=M('port_systype')->select();
- $this->assign('porsyt',$PorSyT);
- $SystemType=M('systemtype')->select();
- $this->assign('SystemType',$SystemType);
- $Port=M('owner_port');//
- $port_list=$Port->where(array('owner_code'=> $data['owner_code']))->order('id asc')->select();//二维数组
- $this->assign('Portlist',$port_list);
- /*//lian xi ren
- $wx=M()->query('SELECT phone,idphone,openid, username FROM ztcrm.sp_customuser ORDER BY idphone asc');
- $this->assign('weixin',$wx);
- $lian=M('owner_phone')->where(array('owner_code'=>$data['owner_code']))->order('time asc')->select();
- $this->assign('lianlist',$lian);
- //weibao
- $User=M('user')->select();
- $this->assign('weibao',$User);
- //$weibao=M('owner_weibao')->where(array('owner_code'=>$list[0]['owner_code']))->select();
- $weibao=M('owner_weibao')->query("SELECT w.id as id,w.owner_code as owner_code ,truename,w.datetime FROM sp_owner_weibao w left JOIN sp_user u on w.agentid=u.agentid where w.owner_code='".$data['owner_code']."'");
- $this->assign('weibaolist',$weibao);
- //fujin
- $fujin=$Owner->field('owner_code,owner_name,unitinfo,address')->select();
- $this->assign('fujinselect',$fujin);
- $fujinlist=$Owner->query("SELECT f.id, f.owner_code,f.other_code,owner_name,unitinfo,address FROM sp_owner_fujin f LEFT JOIN sp_owner o ON f.other_code=o.owner_code where f.owner_code='".$data['owner_code']."'");
- $this->assign('fujinlist',$fujinlist);
- */
- $this->assign('action','/home/Owner/edit');
- $this->assign('delaction','/home/Owner/del');
- $this->assign('delport','/home/Owner/DelPort');
- $this->assign('delweibao','/home/Owner/Delwei');
- $this->assign('delfujin','/home/Owner/Delfujin');
- $this->assign('owner_code_uid',$data['owner_code']);
- $this->display();
- break;
- case 'savaowner':
- $owner=M('owner');
- $data['install_man']=$_SESSION['zt_username'];
- $data['install_time']=date('Y-m-d H:i:s');
- if (!empty($data['posistion'])) {
- $str=explode(",", $data['posistion']);
- $data['posistion']=$str[1].','.$str[0];
- }
- // print_r($data);
- if ($data['dwtype']==1){
- $data['owner_xh']='0,'.$data['owner_xh_a'].$data['owner_xh_b'].$data['owner_xh_c'];
- unset($data['owner_xh_a']);
- unset($data['owner_xh_b']);
- unset($data['owner_xh_c']);
- }else{
- unset($data['owner_xh']);
- unset($data['owner_xh_a']);
- unset($data['owner_xh_b']);
- unset($data['owner_xh_c']);
- }
- if(!empty($data['ownerid'])){
- $res = $owner->where(array('id'=> $data['ownerid']))->save($data);
- if($res){
- $this->mtReturn(200,'配置成功');
- }else{
- echo json_encode(array('statusCode'=> 300,'message'=>'配置未改变'));
- }
- }else{
- $rest= $owner->where(array('owner_code'=> $data['owner_code']))->select();
- if(count($rest) < 1){
- $data['install_man']=$_SESSION['zt_username'];
- $res = $owner->add($data);
- if($res){
- $tab='x';
- //if($data['dwtype'] != '6'){//dwtype
- if($data['dwtype'] == '7'){
- $tab=$owner->execute("CALL device_table1('".$data['owner_code']."','".$data['dwtype']."')");
- }else{
- $tab=$owner->execute("CALL device_table('".$data['owner_code']."','".$data['dwtype']."')");
- }
- //}
- $status=$owner->execute("INSERT INTO sp_devices_status(deviceid,deviceno,devicestatus,statustime) VALUES('".$data['owner_code']."','','',NOW())");
- // print_r($data['owner_code']);
- //$trg=$owner->execute("CREATE TRIGGER `dev_status".$data['owner_code']."` AFTER INSERT ON `sp_D".$data['owner_code']."` FOR EACH ROW BEGIN CALL SetDevStatus ( new.device_code, new.device_id, new.`port`, new.istest, new.`status`, new.reserve, new.address, new.data1, new.data2, new.data3, new.data4, new.data5, new.data6, new.data7, new.data8 ); END;");
- $this->mtReturn(200,'添加成功'.$res.'数据表生成'.$tab.'状态生成'.$status);
- }else{
- echo json_encode(array('statusCode'=> 300,'message'=>'添加失败'));
- }
- }else{
- echo json_encode(array('statusCode'=> 300,'message'=>'未添加成功,请确认是否已经添加'));
- }
- }
- break;
- case 'sevaport':
- $device=M('owner_port');
- //$data['install_man']=$_SESSION['zt_username'];
- //$data['install_time']=date('Y-m-d H:i:s');
- if(!empty($data['port_id'])){
- $rest= $device->where(array('id'=> $data['port_id']))->select();
- $res = $device->where(array('id'=> $data['port_id']))->save($data);
- if($res){
- $xg_phone=$_SESSION['phone_login'];
- $filename_log = "/var/www/html/jdxf/log/xxxxxx".date("Y-m-d").".log";
- $data_log ="\r\n".'['.date("Y-m-d H:i:s").']修改人手机号:'.$xg_phone.'---修改sp_owner_port表---ID:'.$data['port_id']."\r\n";
- $data_log1 ='数据:'.json_encode($data)."\r\n";
- $data_log2 ='修改前数据:'.json_encode($rest)."\r\n";
- file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
- file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
- file_put_contents($filename_log, $data_log2, FILE_APPEND|LOCK_EX);
- echo json_encode($this->mtReturn(200,'配置成功'));
- }else{
- echo json_encode(array('statusCode'=> 300,'message'=>'配置未改变'));
- }
- }else{
- $xg_phone=$_SESSION['phone_login'];
- $res = $device->add($data);
- $filename_log = "/var/www/html/jdxf/log/xxxxxx".date("Y-m-d").".log";
- $data_log ="\r\n".'['.date("Y-m-d H:i:s").']添加人手机号:'.$xg_phone.'---添加sp_owner_port表---设备编号:'.$data['owner_code']."-----端口号:".$data['ports']."\r\n";
- $data_log1 ='数据:'.json_encode($data)."\r\n";
- file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
- file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
- echo $res;
- }
- break;
- case 'addlian':
- $wx=M()->query("SELECT phone,idphone,openid, username FROM ztcrm.sp_customuser where idphone='".$data['idphone']."'");
- $lian=M('owner_phone');
- if(count($wx)>0){
- $res=$lian->add(array('owner_code'=>$data['owner_code'],'username'=>$wx[0]['username'],'phone'=>$data['idphone'],'time'=>date('Y-m-d H:i:s'),'data1'=>$wx[0]['openid']));
- }else{
- $res=$lian->add(array('owner_code'=>$data['owner_code'],'username'=>'','phone'=>'','time'=>date('Y-m-d H:i:s'),'data1'=>''));
- }
-
- //
- $ress=$lian->where(array('id'=>$res))->select();
- // if ($res) {
- // $this->mtReturn(200,'添加成功');
- // }else{
- // $this->mtReturn(200,'添加失败');
- // }
- echo json_encode($ress[0]);
- break;
- case 'sevalian':
- $res=M('owner_phone')->where(array('id'=>$data['lianid']))->save($data);
- echo $res;
- break;
- case 'addweibao':
- $weibao=M('owner_weibao');
- $res=$weibao->add(array('agentid'=>$data['username'],'owner_code'=>$data['owner_code']));
- $list=$weibao->query("SELECT w.id as id, w.owner_code as owner_code ,truename,w.datetime FROM sp_owner_weibao w left JOIN sp_user u on w.agentid=u.agentid where w.id='".$res."'");
- // if ($res) {
- // $this->mtReturn(200,'添加成功');
- // }else{
- // $this->mtReturn(200,'添加失败');
- // }
- echo json_encode($list[0]);
- break;
- case 'addfujin':
- $fujin=M('owner_fujin');
- $res=$fujin->add(array('other_code'=>$data['myownercode'],'owner_code'=>$data['owner_code']));
- $fujinlist=$fujin->query("SELECT f.id, f.owner_code,f.other_code,owner_name,unitinfo,address FROM sp_owner_fujin f LEFT JOIN sp_owner o ON f.other_code=o.owner_code where f.id='".$res."'");
-
- // if ($res) {
- // $this->mtReturn(200,'添加成功');
- // }else{
- // $this->mtReturn(200,'添加失败');
- // }
- echo json_encode($fujinlist[0]);
- break;
- default:
- # code...
- break;
- }
- }
- public function del(){
- $data=I();
- if(!empty($data['id'])){
- $device=M('owner_device');
- $res = $device->delete($data['id']);
- if($res){
- echo json_encode($this->mtReturn(200,'删除成功'));
- }else{
- echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
- }
- }
- }
- public function DelPort(){
- $data=I();
- if(!empty($data['id'])){
- $port_type=M()->query("select owner_code,ports,iotype from sp_owner_port where id=".$data['id']);
- // print_r($port_type);
- if($port_type[0]['iotype']==1){
- $type_port='数字';
- }elseif ($port_type[0]['iotype']==2){
- $type_port='模拟';
- }
- $device=M('owner_port');
- $rest= $device->where(array('id'=> $data['id']))->select();
- $data_log1 ='删除前数据:'.json_encode($rest)."\r\n";
- $res = $device->delete($data['id']);
- if($res){
- $xg_phone=$_SESSION['phone_login'];
- $filename_log = "/var/www/html/jdxf/log/xxxxxx".date("Y-m-d").".log";
- $data_log ="\r\n".'['.date("Y-m-d H:i:s").']删除人手机号:'.$xg_phone.'---删除sp_owner_port设备编号:'.$port_type[0]['owner_code']." 端口类型:".$type_port." 端口号:".$port_type[0]['ports']."\r\n";
- file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
- file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
- echo json_encode($this->mtReturn(200,'删除成功'));
- }else{
- echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
- }
- }
- }
- public function Delwei(){
- $data=I();
- if(!empty($data['id'])){
- $device=M('owner_weibao');
- $res = $device->delete($data['id']);
- if($res){
- echo json_encode($this->mtReturn(200,'删除成功'));
- }else{
- echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
- }
- }
- }
- public function Dellian(){
- $data=I();
- if(!empty($data['id'])){
- $device=M('owner_phone');
- $res = $device->delete($data['id']);
- if($res){
- echo json_encode($this->mtReturn(200,'删除成功'));
- }else{
- echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
- }
- }
- }
- public function Delfujin(){
- $data=I();
- if(!empty($data['id'])){
- $device=M('owner_fujin');
- $res = $device->delete($data['id']);
- if($res){
- echo json_encode($this->mtReturn(200,'删除成功'));
- }else{
- echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
- }
- }
- }
- public function DelOwner(){//删除设备 未用
- //$Data['deviceid']
- $Data=I();
- if (!empty($Data['id'])) {
- $owner=M('owner');
- $res = $owner->delete($data['id']);
- }
- if ($res>0) {
- $stu = M('devices_status')->where(array('deviceid'=>$Data['deviceid']))->delete();
- }
- if ($stu>0) {
- $del=$owner->execute("DROP TABLE IF EXISTS sp_d".$Data['deviceid']);
- }
- }
- }
|