123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356 |
- <?php
- namespace Home\Controller;
- use Think\Controller;
- class DianweiController extends ComController {
- public function index(){
- $Data=I();
- if(isset($Data['list'])){
- $UserVIew=M('userinfo_point');
- $GetPage=$Data['pageCurrent'];//第几页
- $GetSize=$Data['pageSize'];//每页条数
- $Page=($GetPage-1)*$GetSize;
- $Map=array();
- if(!empty($Data['deviceid'])){
- $Map['deviceid']=$Data['deviceid'];
- }
- if(!empty($Data['phone'])){
- $Map['phone']=$Data['phone'];
- }
- $permdata=$this->permdata();
- if (!empty($permdata))
- {
- $Map['addman']=$permdata;
- }
- $Count= $UserVIew->where($Map)->count();// 查询满足要求的总记录数
- $List = $UserVIew->field("id,deviceid,`host`,circuit,point,hcp,desc,addman,addtime,contactman,contactphone")->where($Map)->order('addtime desc')
- ->limit($Page,$GetSize)->select();
- $Info = array(
- 'totalRow' => $Count,
- //'pageSize' => $count,//分页时不传
- 'list' => $List,
- );
- echo json_encode($Info);
- }
- else
- {
- $this->display();
- }
- }
- public function add(){
- if (IS_POST) {
- $Tab=M('userinfo_point');
- // $rules = array(
- // array('phone','','电话号码重复!',0,'unique'),
- // );
- // if (!$Tab->validate($rules)->create())
- // {
- // // echo json_encode(array('statusCode'=>'300','message'=> $menu->getError()));
- // $this->mtReturn(300,$Tab->getError());
- // }
- // else
- // {
- $Data=I();
- if(empty($Data['deviceid'])){
- $this->mtReturn(300,'请填写完整的设备id');
- }
- if(strlen($Data['host']) < 1){
- $this->mtReturn(300,'请填写完整的主机号');
- }
- if(strlen($Data['circuit']) < 1){
- $this->mtReturn(300,'请填写完整的回路号');
- }
- if(strlen($Data['point']) < 1){
- $this->mtReturn(300,'请填写完整的设备号');
- }
- if(empty($Data['desc'])){
- $this->mtReturn(300,'请填写完整描述信息');
- }
- $Data['addtime']=date('Y-m-d H:i:s');
- $Data['addman']=session('zt_username');
- $Data['hcp']="主机号:".$Data['host']." 回路号:".$Data['circuit']." 设备号:".$Data['point'];
- $res = $Tab->add($Data);
- if($res)
- $this->mtReturn(200,'新增成功');
- else
- $this->mtReturn(300,'新增失败');
- // }
- }
- else
- {
- $this->assign('action','/home/Dianwei/add');
- if ($_SESSION['zt_username']=='admin'){
- $owner_code=M()->query("SELECT owner_code FROM sp_owner WHERE dwtype=1");
- $this->assign('owner_code',$owner_code);
- }else{
- $owner_code=M()->query("SELECT owner_code FROM sp_owner WHERE dwtype=1 AND company IN( SELECT owner_code FROM sp_owner_weibao WHERE agentid='".$_SESSION['zt_username']."')");
- $this->assign('owner_code',$owner_code);
- }
- $this->display();
- }
- }
- public function edit(){
- $Data=I();
- $Tab=M('userinfo_point');
- if(IS_POST)
- {
- $this->logcs(print_r($Data,ture));
- $Data['hcp']="主机号:".$Data['host']." 回路号:".$Data['circuit']." 设备号:".$Data['point'];
- $res=$Tab->save($Data);
- if($res)
- $this->mtReturn(200,'编辑成功');
- else
- $this->mtReturn(300,'编辑失败');
- }
- else
- {
- $ResData = $Tab->field("id,deviceid,`host`,circuit,point,hcp,desc,addman,addtime,contactman,contactphone")->where(array('id'=>$Data['id']))->select();
- $this->assign('ResData',$ResData[0]);
- if ($_SESSION['zt_username']=='admin'){
- $owner_code=M()->query("SELECT owner_code FROM sp_owner WHERE dwtype=1");
- $this->assign('owner_code',$owner_code);
- }else{
- $owner_code=M()->query("SELECT owner_code FROM sp_owner WHERE dwtype=1 AND company IN( SELECT owner_code FROM sp_owner_weibao WHERE agentid='".$_SESSION['zt_username']."')");
- $this->assign('owner_code',$owner_code);
- }
- $this->assign('action','/home/Dianwei/edit');
- $this->display();
- }
- }
- public function deldata(){
- $Model=M('userinfo_point');
- $Data=I();
- $res=$Model->where('id='.$Data['id'])->delete();
- if($res)
- $this->mtReturn(200,'删除成功'.$Data['id']);
- else
- $this->mtReturn(300,'删除失败');
- }
- public function downdata(){//导出Excel
- $Data=I();
- $UserVIew=M("userinfo_point");
- $Map=array();
- if(!empty($Data['deviceid'])){
- $Map['deviceid']=$Data['deviceid'];
- }
- if(!empty($Data['phone'])){
- $Map['phone']=$Data['phone'];
- }
- $permdata=$this->permdata();
- if (!empty($permdata))
- {
- $Map['addman']=$permdata;
- }
- //$Count= $UserVIew->where($Map)->count();// 查询满足要求的总记录数 ,contactman,contactphone
- $expTableData = $UserVIew->field("deviceid,`host`,circuit,point,desc")->where($Map)->order('addtime desc')->select();
- $expCellName=array('设备id','主机号','回路号','设备号','描述');
- $expTitle='点位信息';
- $this->exportExcel($expTitle,$expCellName,$expTableData);
- // echo json_encode($expTableData);
- }
- public function upfile(){
- $data=I();
- if(isset($data['upfile'])){
- if($_FILES['dianfile']['name'] != '') {
- if ($_FILES["dianfile"]["error"] > 0){
- echo json_encode(array('statusCode'=>300,'message'=> $_FILES["dianfile"]["error"] ));
- }else{
- //echo "Upload: " . $_FILES["dianfile"]["name"] . "<br />";
- //echo "Type: " . $_FILES["dianfile"]["type"] . "<br />";
- //echo "Size: " . ($_FILES["dianfile"]["size"] / 1024) . " Kb<br />";. $_FILES["dianfile"]["name"]
- //echo "Stored in: " . $_FILES["dianfile"]["name"]. "aaaa<br />";
- $files=$_FILES["dianfile"]["name"];
- $ftypes=strtolower(substr(strrchr($files,'.'),1));
- if ($ftypes!="xls"){
- echo json_encode(array('statusCode'=>300,'message'=>'格式不对,请上传.xls结尾的文件' ));
- }else{
- $filetrue=move_uploaded_file($_FILES["dianfile"]["tmp_name"],"/var/www/html/jdxf/admin1/knowfile/Dianwei.xls" );
- if ($filetrue) {
- $this->xlsin("/var/www/html/jdxf/admin1/knowfile//Dianwei.xls");
- }else{
- echo json_encode(array('statusCode'=>300,'message'=>'上传失败' ));
- }
- }
- }
- }else{
- echo json_encode(array('statusCode'=>300,'message'=>'没有文件!' ));
- }
- }else{
- // $group=M('know_type');
- // $list = $group->field('id,name,parent')->select();
- // $this->assign('knowlist',$list);
- $this->display('upfile');
- }
- }
- private function xlsin($filename){//导入
- //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
- import("Org.Util_it.PHPExcel");
- //要导入的xls文件,位于根目录下的Public文件夹
- //$filename="/var/www/html/spcrm/admin/sp_customer.xls";
- //创建PHPExcel对象,注意,不能少了\
- $PHPExcel=new \PHPExcel();
- //如果excel文件后缀名为.xls,导入这个类
- import("Org.Util_it.PHPExcel.Reader.Excel5");
- //如果excel文件后缀名为.xlsx,导入这下类
- //import("Org.Util.PHPExcel.Reader.Excel2007");
- //$PHPReader=new \PHPExcel_Reader_Excel2007();
- $PHPReader=new \PHPExcel_Reader_Excel5();
- //载入文件
- $PHPExcel=$PHPReader->load($filename);
- //获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
- $currentSheet=$PHPExcel->getSheet(0);
- //获取总列数
- $highestColumn=$currentSheet->getHighestColumn();
- //获取总行数
- $highestRow=$currentSheet->getHighestRow();
- //循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始
- $arr = array(1=>'A',2=>'B',3=>'C',4=>'D',5=>'E',6=>'F',7=>'G',8=>'H',9=>'I',10=>'J',11=>'K',12=>'L',13=>'M', 14=>'N',15=>'O',16=>'P',17=>'Q',18=>'R',19=>'S',20=>'T',21=>'U',22=>'V',23=>'W',24=>'X',25=>'Y',26=>'Z');
- //echo $highestRow.$highestColumn;
- // 一次读取一列
- //$type=M('know_type')->field('id')->where('name="'.$types.'"')->select();
- $customer=M('userinfo_point');
- $downnum=0;
- $obtasksql="insert into sp_userinfo_point(deviceid,host,circuit,point,hcp,`desc`,addman,addtime,contactman,contactphone) values ";
- for ($row = 2; $row <= $highestRow; $row++) {//行
- // for ($column = 0; $arr[$column] != $highestColumn; $column++) {//列
- // $val = $currentSheet->getCellByColumnAndRow($column, $row)->getValue();
- // echo $val;
- // }
- $val0 = $currentSheet->getCellByColumnAndRow(0, $row)->getValue();
- $val1 = $currentSheet->getCellByColumnAndRow(1, $row)->getValue();
- $val2 = $currentSheet->getCellByColumnAndRow(2, $row)->getValue();
- $val3 = $currentSheet->getCellByColumnAndRow(3, $row)->getValue();
- $val4 = $currentSheet->getCellByColumnAndRow(4, $row)->getValue();
- //$val5 = $currentSheet->getCellByColumnAndRow(5, $row)->getValue();
- //$val6 = $currentSheet->getCellByColumnAndRow(6, $row)->getValue();
- //$val7 = $currentSheet->getCellByColumnAndRow(7, $row)->getValue();
- // $val8 = $currentSheet->getCellByColumnAndRow(8, $row)->getValue();
- // $val9 = $currentSheet->getCellByColumnAndRow(9, $row)->getValue();
- // $val10 = $currentSheet->getCellByColumnAndRow(10, $row)->getValue();
- // $val11 = $currentSheet->getCellByColumnAndRow(11, $row)->getValue();
- // $val12 = $currentSheet->getCellByColumnAndRow(12, $row)->getValue();
- // $val13 = $currentSheet->getCellByColumnAndRow(13, $row)->getValue();
- // $val14 = $currentSheet->getCellByColumnAndRow(14, $row)->getValue();
- // $val15 = $currentSheet->getCellByColumnAndRow(15, $row)->getValue();
- // $val16 = $currentSheet->getCellByColumnAndRow(16, $row)->getValue();
- // $val17 = $currentSheet->getCellByColumnAndRow(17, $row)->getValue();
- // $val18 = $currentSheet->getCellByColumnAndRow(18, $row)->getValue();
- // $val19 = $currentSheet->getCellByColumnAndRow(19, $row)->getValue();
- //$customer->add($data);
- $hcp="主机号:".$val1." 回路号:".$val2." 设备号:".$val3;
- $obtasksql.="('".$val0."','".$val1."','".$val2."','".$val3."','".$hcp."','".$val4."','".$_SESSION['zt_username']."',now(),'',''),";
- $downnum++;
- }
- $obtasksql = substr($obtasksql,0,strlen($obtasksql)-1);
- $addall=$customer->execute($obtasksql);
- unlink('/var/www/html/'.CRM.'/admin1/KnowBasexls.xls');
- //删除重复
- //$delnum=$customer->execute("DELETE FROM sp_customer WHERE phone in(SELECT phone FROM(SELECT phone FROM sp_customer GROUP BY phone HAVING COUNT(phone) >1) a) AND id NOT IN (SELECT id FROM(SELECT MIN(id) as id FROM sp_customer GROUP BY phone HAVING COUNT(phone) >1) b)");
- $res='共'.$downnum.'条,成功导入'.$addall.'条。';
- echo json_encode(array('statusCode'=>200,'message'=>'导入成功:'.$res)); //.'时间:'.$stra.','.$strb
- }
- //水压设备列表
- public function WaterGage(){
- $Data=I();
- if(isset($Data['list'])){
- $GetPage=$Data['pageCurrent'];//第几页
- $GetSize=$Data['pageSize'];//每页条数
- $Page=($GetPage-1)*$GetSize;
- $Map=array();
- $Map['dwtype']= 2; //大类型水压设备
- $Map['owner_xh']= '36,1'; //大类型水压设备
- if(!empty($Data['device_code'])){
- $Map['device_code']=$Data['device_code'];
- }
- if(!empty($Data['status'])){
- $Map['phone']=$Data['status'];
- }
- $permdata=$this->permdata();
- if (!empty($permdata))
- {
- $Map['addman']=$permdata;
- }
- //明天 連貫操作sp_owner
- $Count=M('owner as a')->join('left join sp_water_gage_info as b on a.owner_code = b.device_code')->
- where($Map)->count() ;
- $List=M('owner as a')->join('left join sp_water_gage_info as b on a.owner_code = b.device_code')->
- where($Map)->
- limit($Page,$GetSize)->
- field('a.owner_code,b.max,b.min,b.status,b.update_time')->
- select();
- $list2 =array();
- foreach ($List as $key=>$value){
- $list2[$key]['time'] = date('Y-m-d H:i:s',$value['update_time']);
- $list2[$key]['min'] = $value['min'];
- $list2[$key]['max'] = $value['max'];
- $list2[$key]['owner_code'] = $value['owner_code'];
- $list2[$key]['status'] = ($value['status']==1)?'未更新':'已更新';
- }
- $Info = array(
- 'totalRow' => $Count,
- 'list' => $list2,
- );
- echo json_encode($Info);
- }
- else
- {
- $this->display();
- }
- }
- public function water_edit(){
- $Data=I();
- $Tab=M('water_gage_info');
- if(IS_POST)
- {
- $save['min'] = $Data['min'];
- $save['max'] = $Data['max'];
- $save['update_time'] = time();
- $save['status'] = 2;
- $where['device_code'] = $Data['code'];
- $info = $Tab->where($where)->find();
- if($info){
- $res=$Tab->where($where)->save($save);
- }else{
- $save['create_time'] = time();
- $save['update_time'] = time();
- $save['device_code'] = $Data['code'];
- $res = $Tab->add($save);
- }
- if($res)
- $this->mtReturn(200,'编辑成功');
- else
- $this->mtReturn(300,'编辑失败');
- }else{
- $where['device_code'] = $Data['code'];
- $info = $Tab->where($where)->find();
- $this->assign('info',$info);
- $this->assign('code',$Data['code']);
- $this->assign('action','/home/Dianwei/water_edit');
- $this->display();
- }
- }
- }
|