CompanyController.class.php.bak.20200603 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. class CompanyController extends ComController {
  5. public function index(){
  6. $Data=I();
  7. if(isset($Data['list'])){
  8. $Company=M("owner_company");
  9. $GetPage=$Data['pageCurrent'];//第几页
  10. $GetSize=$Data['pageSize'];//每页条数
  11. $Page=($GetPage-1)*$GetSize;
  12. if($_SESSION['zt_username']!='admin'&&$_SESSION['zt_username']!='zj'){
  13. $por=$this->getowner();
  14. //file_put_contents("/var/www/html/log/log.txt",print_r($por,true), FILE_APPEND);
  15. if(count($por)>0){
  16. //$por=array('10000001','10000000')
  17. if(!empty($Data['owner_id'])){
  18. $p="";
  19. foreach ($por as $val) {
  20. $p.="'".$val."',";
  21. }
  22. $p.="'www'";
  23. $Map['_string']=" (owner_id in(".$p.")) AND (owner_id LIKE '%".$Data['owner_id']."%') ";
  24. }else{
  25. $Map['owner_id']=array('in',$por);
  26. }
  27. }else{
  28. $Map['owner_id']='xxx';
  29. }
  30. }else{
  31. if(!empty($Data['owner_id'])){
  32. $Map['owner_id']=array('like','%'.$Data['owner_id'].'%');
  33. }
  34. }
  35. if(!empty($Data['owner_name'])){
  36. $Map['owner_name']=array('like','%'.$Data['owner_name'].'%');
  37. }
  38. if(!empty($Data['owner_address'])){
  39. $Map['owner_address']=array('like','%'.$Data['owner_address'].'%');
  40. }
  41. $Count= $Company->where($Map)->count();// 查询满足要求的总记录数
  42. $List = $Company->where($Map)->limit($Page,$GetSize)->order('id desc')->select();
  43. $Info = array(
  44. 'totalRow' => $Count,
  45. //'pageSize' => $count,//分页时不传
  46. 'list' => $List,
  47. );
  48. echo json_encode($Info);
  49. }else{
  50. $this->display();
  51. }
  52. }
  53. public function getowner(){
  54. //sp_user表 username=agentid
  55. //$por=M('owner_weibao')->field('owner_code')->where(array('agentid'=>$_SESSION['zt_username']))->select();
  56. $por=M('owner_weibao')->query("SELECT owner_code FROM sp_owner_weibao WHERE agentid='".$_SESSION['zt_username']."'
  57. UNION
  58. (SELECT owner_id FROM sp_owner_company WHERE create_man='".$_SESSION['zt_username']."')");
  59. $arr=array();
  60. foreach ($por as $value) {
  61. $arr[]=$value['owner_code'];
  62. }
  63. return $arr;
  64. }
  65. public function add(){
  66. $Data=I();
  67. if(!empty($Data['owner_name'])){
  68. $id=M()->query("SELECT id+10000 as id FROM sp_owner_company order by id desc limit 1");
  69. if(count($id)>0){
  70. $Data['owner_id']=$id[0]['id'];
  71. }else{
  72. $Data['owner_id']=10001;
  73. }
  74. $Data['create_man']=$_SESSION['zt_username'];
  75. $Company=M("owner_company")->where("owner_name != '".$Data['owner_name']."'")->add($Data);
  76. if($Company>0){
  77. echo json_encode(array('statusCode'=> 200,'message'=>'添加成功'));
  78. }else{
  79. echo json_encode(array('statusCode'=> 300,'message'=>'未添加成功,请确认名称是否已经添加'));
  80. }
  81. }else{
  82. $build=M('building')->field('id,build_name')->select();
  83. $this->assign('build',$build);
  84. $this->display();
  85. }
  86. }
  87. public function edit(){
  88. if (session('power')==2){
  89. $this->mtReturn(300,'本账号没有该权限,如需开通请联系管理员',1);
  90. }else{
  91. $Data=I();
  92. switch ($Data['type']) {
  93. case 'edit':
  94. //company
  95. $build=M('building')->field('id,build_name')->select();
  96. $this->assign('build',$build);
  97. $Company=M("owner_company")->where(array('id'=>$Data['id']))->select();
  98. $this->assign('list',$Company[0]);
  99. //$this->display();
  100. //lian xi ren
  101. $wx=M()->query("SELECT phone,idphone,openid, username FROM sp_wx_customuser WHERE type='wx' ORDER BY idphone asc");
  102. $this->assign('weixin',$wx);
  103. $lian=M('owner_phone')->where(array('owner_code'=>$Company[0]['owner_id']))->order('time asc')->select();//
  104. $this->assign('lianlist',$lian);
  105. //weibao
  106. $User=M('user')->select();
  107. $this->assign('weibao',$User);
  108. $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='".$Company[0]['owner_id']."'");//
  109. $this->assign('weibaolist',$weibao);
  110. //fujin 单位
  111. $fujin=M("owner_company")->select();
  112. $this->assign('fujinselect',$fujin);
  113. $fujinlist=M("owner_company")->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='".$Company[0]['owner_id']."'");
  114. $this->assign('fujinlist',$fujinlist);
  115. $this->assign('action','/home/Company/edit');
  116. $this->assign('company_code_uid',$Company[0]['owner_id']);
  117. $this->display();
  118. break;
  119. case 'savacompany':
  120. $Company=M("owner_company")->where(array('id'=>$Data['saveid']))->save($Data);
  121. if($Company>0){
  122. echo json_encode(array('statusCode'=> 200,'message'=>'编辑成功'));
  123. }else{
  124. echo json_encode(array('statusCode'=> 300,'message'=>'编辑失败,请确认是否有内容更新'));
  125. }
  126. break;
  127. case 'addlian':
  128. $perm=M()->query(" select data2 FROM sp_owner_phone where phone='".$Data['idphone']."' limit 1 ");
  129. $data2='1,2,3,4';
  130. if(!empty($perm[0]['data2'])){
  131. $data2=$perm[0]['data2'];
  132. }
  133. $wx=M()->query("SELECT phone,idphone,openid, username FROM sp_wx_customuser WHERE type='wx' AND idphone='".$Data['idphone']."'");
  134. $lian=M('owner_phone');
  135. if(count($wx)>0){
  136. if ($wx[0]['username']==null) {
  137. $wx[0]['username']='';
  138. }
  139. $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'],'data2'=>$data2));
  140. }else{
  141. $res=$lian->add(array('owner_code'=>$Data['owner_code'],'username'=>'','phone'=>'','time'=>date('Y-m-d H:i:s'),'data1'=>'','data2'=>$data2));
  142. }
  143. $ress=$lian->where(array('id'=>$res))->select();
  144. echo json_encode($ress[0]);
  145. break;
  146. case 'sevalian':
  147. $res=M('owner_phone')->where(array('id'=>$Data['lianid']))->save($Data);
  148. echo $res;
  149. break;
  150. case 'addweibao':
  151. $weibao=M('owner_weibao');
  152. $res=$weibao->add(array('agentid'=>$Data['username'],'owner_code'=>$Data['owner_code']));
  153. $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."'");
  154. // if ($res) {
  155. // $this->mtReturn(200,'添加成功');
  156. // }else{
  157. // $this->mtReturn(200,'添加失败');
  158. // }
  159. echo json_encode($list[0]);
  160. break;
  161. case 'addfujin':
  162. $fujin=M('owner_fujin');
  163. $res=$fujin->add(array('other_code'=>$Data['myownercode'],'owner_code'=>$Data['owner_code']));
  164. $fujinlist=$fujin->query("SELECT f.id,f.owner_code,f.other_code,o.owner_name,o.owner_address,o.owner_man FROM sp_owner_fujin f LEFT JOIN sp_owner_company o ON f.other_code=o.owner_id where f.id='".$res."'");
  165. // if ($res) {
  166. // $this->mtReturn(200,'添加成功');
  167. // }else{
  168. // $this->mtReturn(200,'添加失败');
  169. // }
  170. echo json_encode($fujinlist[0]);
  171. break;
  172. default:
  173. # code...
  174. break;
  175. }
  176. }
  177. }
  178. public function del(){
  179. $Data=I();
  180. if(!empty($Data['id'])){
  181. $Company=M("owner_company")->where(array('id'=>$Data['id']))->delete();
  182. if($Company>0){
  183. echo json_encode(array('statusCode'=> 200,'message'=>'删除成功'));
  184. }else{
  185. echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
  186. }
  187. }else{
  188. echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
  189. }
  190. }
  191. //
  192. public function Dellian(){
  193. $data=I();
  194. if(!empty($data['id'])){
  195. $device=M('owner_phone');
  196. $res = $device->delete($data['id']);
  197. if($res){
  198. echo json_encode($this->mtReturn(200,'删除成功'));
  199. }else{
  200. echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
  201. }
  202. }
  203. }
  204. //
  205. public function Delwei(){
  206. $data=I();
  207. if(!empty($data['id'])){
  208. $device=M('owner_weibao');
  209. $res = $device->delete($data['id']);
  210. if($res){
  211. echo json_encode($this->mtReturn(200,'删除成功'));
  212. }else{
  213. echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
  214. }
  215. }
  216. }
  217. //
  218. public function Delfujin(){
  219. $data=I();
  220. if(!empty($data['id'])){
  221. $device=M('owner_fujin');
  222. $res = $device->delete($data['id']);
  223. if($res){
  224. echo json_encode($this->mtReturn(200,'删除成功'));
  225. }else{
  226. echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
  227. }
  228. }
  229. }
  230. public function downdata(){//导出Excel
  231. $Data=I();
  232. $Company=M("v_user");
  233. $Map['status']=1;
  234. if(!empty($Data['username'])){
  235. $Map['username']=$Data['username'];
  236. }
  237. if(!empty($Data['truename'])){
  238. $Map['truename']=$Data['truename'];
  239. }
  240. if(!empty($Data['depname'])){
  241. $Map['depname']=$Data['depname'];
  242. }
  243. if(!empty($Data['posname'])){
  244. $Map['posname']=$Data['posname'];
  245. }
  246. $expTableData =$Company->field("username,truename,extension,agentid,depname,posname,phone,email,address")->where($Map)->select();
  247. $expCellName=array('登录名','姓名','分机号','座席号','所在部门','担任角色','联系电话','电子邮箱','地址');
  248. $expTitle='用户信息';
  249. $this->exportExcel($expTitle,$expCellName,$expTableData);
  250. // echo json_encode($expTableData);
  251. }
  252. }