123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- <?php
- namespace Home\Controller;
- use Think\Controller;
- class PlanController extends ComController {
-
- public function _initialize() {
- parent::_initialize();
- $this->dbname ='misson';
- $this->regx_db='xj_';
-
- }
- public function index(){
- $Data=I();
- if(isset($Data['list']))
- {
- $UserVIew=M($this->dbname,$this->regx_db);
- $GetPage=$Data['pageCurrent'];//第几页
- $GetSize=$Data['pageSize'];//每页条数
- $Page=($GetPage-1)*$GetSize;
- $Map=array();
- if(!empty($Data['Startdate']) && !empty($Data['Enddate']))
- {
- $Map['add_time']=array('between',array($Data['Startdate'],$Data['Enddate']));
- }
- else
- {
- $Map['add_time']=array('between',array(date('Y-m-d').' 00:00:00',date('Y-m-d').' 23:59:59'));
- }
- if(!empty($Data['mission_name'])){
- $Map['mission_name']=array('like','%'.$Data['mission_name'].'%');
- }
- $permdata=$this->permdata();
- if (!empty($permdata))
- {
- $Map['made_user']=$permdata;
- }
- $Count= $UserVIew->where($Map)->count();// 查询满足要求的总记录数
- $List = $UserVIew->field('xj_misson.id,mission_name,start_data,end_data,made_user,inspection_name as inspection_user,case mission_status when "1" then "进行中" when "2" then "完成" when "3" then "滞后" end as mission_status,i_enable,date(add_time) as add_time')->join('left join xj_inspuser_info on xj_inspuser_info.id=inspection_user')->where($Map)->order('xj_misson.id desc')->limit($Page,$GetSize)->select();
- $Info = array(
- 'totalRow' => $Count,
- //'pageSize' => $count,//分页时不传
- 'list' => $List,
- );
- echo json_encode($Info);
- }
- else
- {
- $this->assign('Startdate',date('Y-m-d').' 00:00:00');
- $this->assign('Enddate',date('Y-m-d').' 23:59:59');
- $this->display();
- }
-
- }
-
- public function add(){
- if (IS_POST) {
- $Tab=M($this->dbname,$this->regx_db);
- $rules = array(
- //array('mission_name','','详细位置重复!',0,'unique'),
- );
- if (!$Tab->validate($rules)->create())
- {
- $this->mtReturn(300,$Tab->getError());
- }
- else
- {
- $Data=I();
- /*$Id=M('')->query('SELECT phone from xj_inspuser_info where id='.$Data['inspection_user']);
-
- $openid=M('')->query('SELECT openid FROM ztcrm.sp_customuser where phone='.$Id[0]['phone']);
- if (empty($openid))
- {
- $this->mtReturn(300,'该号码未关注公众号,请先关注公众号注册账号才分配任务');
- }*/
- if ($Data['plan']==1)
- {
- if (strtotime($Data['end_data'])-strtotime($Data['start_data']) > 86400)
- {
- $this->mtReturn(300,'每天执行计划任务,开始时间和结束时间间隔不得超过一天,超过一天,请选择 “否”');
- }
-
- }
- $arr2=$Data['inspection_user'];
- $name='';
- for ($i=0; $i <count($arr2); $i++)
- {
- $Str2=$Str2."('add888','".$arr2[$i]."'),";
- $DataID =M('')->query('SELECT name from xj_inspuser_info where is_enable=1 and id='.$arr2[$i]);
- $name.=$DataID[0]['name'].',';
- }
- $Data['made_user']=session('zt_username');
- $Data['add_time']=date('Y-m-d H:s:i');
- $Data['inspection_user']=implode(',',$Data['inspection_user']);
- $Data['inspection_name']=substr($name, 0,strlen($name)-1);
- $Data['mission_status']=1;
- $res = $Tab->add($Data);
- if($res)
- {
- $Arr=explode(",",$Data['values']);
- $Str='';
- for ($i=0; $i <count($Arr) ; $i++) {
- $Str=$Str."('".$res."','".$Arr[$i]."'),";
- }
- $Sql="INSERT INTO xj_inspection2Position(missionid,deviceid) VALUES".substr($Str,0,strlen($Str)-1);
- $ResData=M('')->execute($Sql);
- $Str2=str_replace('add888',$res,$Str2);
- $Sql2="insert into xj_misson_userid(misson_id,userid) VALUES".substr($Str2,0,strlen($Str2)-1);
- M('')->execute($Sql2);
- /* $a=SetAccess_Token();
- message_template_send($a,$openid[0]['openid'],'您有1条巡检任务','','','','请尽快处理任务!');*/
- $this->mtReturn(200,'设备新增成功');
- }
- else
- {
- $this->mtReturn(300,'设备新增失败');
- }
- }
-
- }
- else
- {
- $Map='';
- $map='';
- $permdata=$this->permdata(1);
- if (!empty($permdata))
- {
- $Map='and add_user in ("'.$permdata.'")';
- $map='and insert_name in ("'.$permdata.'")';
- }
- $ListData =M('')->query('SELECT id,add_info FROM xj_deviceinfo WHERE id NOT IN (SELECT deviceID FROM xj_inspection2Position WHERE missionID="'.$Data['id'].'") '.$map);
- $UserData =M('')->query('SELECT id,name from xj_inspuser_info where is_enable=1 '.$Map);
- $this->assign('ListData',$ListData);
- $this->assign('UserData',$UserData);
- $this->assign('action','/home/Plan/add');
- $this->display();
- }
-
- }
- public function edit(){
- $Data=I();
- if(IS_POST)
- {
- // dump($Data);
- if (strtotime($Data['end_data'])<strtotime($Data['start_data']))
- {
- $this->mtReturn(300,'开始时间不能大于结束时间');
-
- }
- $Tab=M($this->dbname,$this->regx_db);
- $rules = array(
- // array('mission_name','','详细位置重复!',0,'unique'),
- );
- if (!$Tab->validate($rules)->create())
- {
- $this->mtReturn(300,$Tab->getError());
- }
- else
- {
- if ($Data['plan']==1)
- {
- if (strtotime($Data['end_data'])-strtotime($Data['start_data']) > 86400)
- {
- $this->mtReturn(300,'每天执行计划任务,开始时间和结束时间间隔不得超过一天,超过一天,请选择 “否”');
- }
-
- }
- $arr2=$Data['inspection_user'];
- $Str2='';
- $name='';
- for ($i=0; $i <count($arr2); $i++)
- {
- $Str2=$Str2."('".$Data['id']."','".$arr2[$i]."'),";
- $DataID =M('')->query('SELECT name from xj_inspuser_info where is_enable=1 and id='.$arr2[$i]);
- $name.=$DataID[0]['name'].',';
- }
- $Sql2="insert into xj_misson_userid (misson_id,userid) value".substr($Str2,0,strlen($Str2)-1);
- $Data['inspection_user']=implode(',',$Data['inspection_user']);
- $Data['inspection_name']=substr($name, 0,strlen($name)-1);
- $res=$Tab->where(array('id'=>$Data['id']))->save($Data);
- if($res!==false)
- {
- M('')->execute("DELETE FROM xj_misson_userid WHERE misson_id=".$Data['id']);
- M('')->execute("DELETE FROM xj_inspection2Position WHERE missionID=".$Data['id']);
- $Arr=explode(",",$Data['values']);
- $Str='';
- for ($i=0; $i <count($Arr) ; $i++) {
- $Str=$Str."('".$Data['id']."','".$Arr[$i]."'),";
- }
- $Sql="INSERT INTO xj_inspection2Position(missionid,deviceid) VALUES".substr($Str,0,strlen($Str)-1);
- $ResData=M('')->execute($Sql);
- M('')->execute($Sql2);
- $this->mtReturn(200,'编辑成功');
- }
- else
- {
- $this->mtReturn(300,'编辑失败');
- }
- }
- }
- else
- {
- $Map='';
- $map='';
- $permdata=$this->permdata(1);
- if (!empty($permdata))
- {
- $Map='and add_user in ("'.$permdata.'")';
- $map='and insert_name in ("'.$permdata.'")';
- }
- $LeftData =M('')->query('SELECT id,add_info FROM xj_deviceinfo WHERE id NOT IN (SELECT deviceID FROM xj_inspection2Position WHERE missionID="'.$Data['id'].'") '.$map);
- $RightData =M('')->query('SELECT deviceID,missionID,add_info,start_data,end_data,inspection_user,mission_name,i_enable,plan FROM sp_v_xunjall where missionID='.$Data['id']);
- $UserData =M('')->query('SELECT id,name from xj_inspuser_info where is_enable=1 '.$Map);
- dump(explode(",", $RightData[0]['inspection_user']));
- $this->assign('list',explode(",", $RightData[0]['inspection_user']));
- $this->assign('LeftData',$LeftData);
- $this->assign('RightData',$RightData);
- $this->assign('ListData',$RightData[0]);
- $this->assign('UserData',$UserData);
- $this->assign('action','/home/Plan/edit');
- $this->display();
- }
- }
-
-
- public function downdata(){//导出Excel
- $Data=I();
- $UserVIew=M("v_user");
- $Map['status']=1;
- if(!empty($Data['username'])){
- $Map['username']=$Data['username'];
- }
- if(!empty($Data['truename'])){
- $Map['truename']=$Data['truename'];
- }
- if(!empty($Data['depname'])){
- $Map['depname']=$Data['depname'];
- }
- if(!empty($Data['posname'])){
- $Map['posname']=$Data['posname'];
- }
- $expTableData =$UserVIew->field("username,truename,extension,agentid,depname,posname,phone,email,address")->where($Map)->select();
- $expCellName=array('登录名','姓名','分机号','座席号','所在部门','担任角色','联系电话','电子邮箱','地址');
- $expTitle='用户信息';
- $this->exportExcel($expTitle,$expCellName,$expTableData);
- // echo json_encode($expTableData);
- }
-
-
- }
|