CompanyController.class.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  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. //日志开始
  78. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  79. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---添加设备\r\n';
  80. $data_log1 ='添加数据:'.json_encode($Data)."\r\n";
  81. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  82. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  83. //日志结束
  84. echo json_encode(array('statusCode'=> 200,'message'=>'添加成功'));
  85. }else{
  86. echo json_encode(array('statusCode'=> 300,'message'=>'未添加成功,请确认名称是否已经添加'));
  87. }
  88. }else{
  89. $build=M('building')->field('id,build_name')->select();
  90. $this->assign('build',$build);
  91. $this->display();
  92. }
  93. }
  94. public function edit(){
  95. if (session('power')==2){
  96. $this->mtReturn(300,'本账号没有该权限,如需开通请联系管理员',1);
  97. }else{
  98. $Data=I();
  99. switch ($Data['type']) {
  100. case 'edit':
  101. //company
  102. $build=M('building')->field('id,build_name')->select();
  103. $this->assign('build',$build);
  104. $Company=M("owner_company")->where(array('id'=>$Data['id']))->select();
  105. $this->assign('list',$Company[0]);
  106. //$this->display();
  107. //lian xi ren
  108. $wx=M()->query("SELECT phone,idphone,openid, username FROM sp_wx_customuser WHERE type='wx' ORDER BY idphone asc");
  109. $this->assign('weixin',$wx);
  110. $lian=M('owner_phone')->where(array('owner_code'=>$Company[0]['owner_id']))->order('time asc')->select();//
  111. $this->assign('lianlist',$lian);
  112. //weibao
  113. $User=M('user')->select();
  114. $this->assign('weibao',$User);
  115. $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']."'");//
  116. $this->assign('weibaolist',$weibao);
  117. //fujin 单位
  118. $fujin=M("owner_company")->select();
  119. $this->assign('fujinselect',$fujin);
  120. $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']."'");
  121. $this->assign('fujinlist',$fujinlist);
  122. $this->assign('action','/home/Company/edit');
  123. $this->assign('company_code_uid',$Company[0]['owner_id']);
  124. $this->display();
  125. break;
  126. case 'savacompany':
  127. $used_data=M()->query("select * from sp_owner_company where id=".$Data['saveid']);
  128. $Company=M("owner_company")->where(array('id'=>$Data['saveid']))->save($Data);
  129. if($Company>0){
  130. //日志代码开始
  131. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---修改sp_owner_company表---ID:'.$Data['saveid']."数据\r\n";
  132. $data_log1 ='修改前数据:'.json_encode($used_data)."\r\n";
  133. $data_log2 ='修改的数据:'.json_encode($Data)."\r\n";
  134. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  135. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  136. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  137. file_put_contents($filename_log, $data_log2, FILE_APPEND|LOCK_EX);
  138. //日志代码结束
  139. echo json_encode(array('statusCode'=> 200,'message'=>'编辑成功'));
  140. }else{
  141. echo json_encode(array('statusCode'=> 300,'message'=>'编辑失败,请确认是否有内容更新'));
  142. }
  143. break;
  144. case 'addlian':
  145. $perm=M()->query(" select data2 FROM sp_owner_phone where phone='".$Data['idphone']."' limit 1 ");
  146. $data2='1,2,3,4';
  147. if(!empty($perm[0]['data2'])){
  148. $data2=$perm[0]['data2'];
  149. }
  150. $wx=M()->query("SELECT phone,idphone,openid, username FROM sp_wx_customuser WHERE type='wx' AND idphone='".$Data['idphone']."'");
  151. $lian=M('owner_phone');
  152. if(count($wx)>0){
  153. if ($wx[0]['username']==null) {
  154. $wx[0]['username']='';
  155. }
  156. $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));
  157. $new_data = 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);
  158. }else{
  159. $res=$lian->add(array('owner_code'=>$Data['owner_code'],'username'=>'','phone'=>'','time'=>date('Y-m-d H:i:s'),'data1'=>'','data2'=>$data2));
  160. $new_data = array('owner_code'=>$Data['owner_code'],'username'=>'','phone'=>'','time'=>date('Y-m-d H:i:s'),'data1'=>'','data2'=>$data2);
  161. }
  162. $ress=$lian->where(array('id'=>$res))->select();
  163. //日志开始
  164. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  165. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---添加\r\n';
  166. $data_log1 ='添加数据:'.json_encode($new_data)."\r\n";
  167. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  168. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  169. //日志结束
  170. echo json_encode($ress[0]);
  171. break;
  172. case 'sevalian':
  173. $used_data=M()->query("select * from sp_owner_phone where id=".$Data['lianid']);
  174. $res=M('owner_phone')->where(array('id'=>$Data['lianid']))->save($Data);
  175. //日志开始
  176. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  177. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---修改sp_owner_phone表---ID:'.$Data['lianid']."\r\n";
  178. $data_log1 ='修改前数据:'.json_encode($used_data)."\r\n";
  179. $data_log2 ='修改的数据:'.json_encode($Data)."\r\n";
  180. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  181. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  182. file_put_contents($filename_log, $data_log2, FILE_APPEND|LOCK_EX);
  183. //日志结束
  184. echo $res;
  185. break;
  186. case 'addweibao':
  187. $weibao=M('owner_weibao');
  188. $res=$weibao->add(array('agentid'=>$Data['username'],'owner_code'=>$Data['owner_code']));
  189. $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."'");
  190. $new_data=array('agentid'=>$Data['username'],'owner_code'=>$Data['owner_code']);
  191. //日志开始
  192. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  193. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---添加\r\n';
  194. $data_log1 ='添加数据:'.json_encode($new_data)."\r\n";
  195. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  196. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  197. //日志结束
  198. // if ($res) {
  199. // $this->mtReturn(200,'添加成功');
  200. // }else{
  201. // $this->mtReturn(200,'添加失败');
  202. // }
  203. echo json_encode($list[0]);
  204. break;
  205. case 'addfujin':
  206. $fujin=M('owner_fujin');
  207. $res=$fujin->add(array('other_code'=>$Data['myownercode'],'owner_code'=>$Data['owner_code']));
  208. $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."'");
  209. $new_data=array('other_code'=>$Data['myownercode'],'owner_code'=>$Data['owner_code']);
  210. //日志开始
  211. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  212. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---添加\r\n';
  213. $data_log1 ='添加数据:'.json_encode($new_data)."\r\n";
  214. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  215. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  216. //日志结束
  217. // if ($res) {
  218. // $this->mtReturn(200,'添加成功');
  219. // }else{
  220. // $this->mtReturn(200,'添加失败');
  221. // }
  222. echo json_encode($fujinlist[0]);
  223. break;
  224. default:
  225. # code...
  226. break;
  227. }
  228. }
  229. }
  230. public function del(){
  231. $Data=I();
  232. if(!empty($Data['id'])){
  233. $Company=M("owner_company")->where(array('id'=>$Data['id']))->delete();
  234. if($Company>0){
  235. echo json_encode(array('statusCode'=> 200,'message'=>'删除成功'));
  236. }else{
  237. echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
  238. }
  239. }else{
  240. echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
  241. }
  242. }
  243. //
  244. public function Dellian(){
  245. $data=I();
  246. if(!empty($data['id'])){
  247. $device=M('owner_phone');
  248. $used_data = M()->query("select * from sp_owner_phone where id=".$data['id']);
  249. $res = $device->delete($data['id']);
  250. if($res){
  251. //日志开始
  252. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  253. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---删除sp_owner_weibao表---ID:'.$data['id']."\r\n";
  254. $data_log1 ='删除前数据:'.json_encode($used_data)."\r\n";
  255. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  256. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  257. //日志开始结束
  258. echo json_encode($this->mtReturn(200,'删除成功'));
  259. }else{
  260. echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
  261. }
  262. }
  263. }
  264. //
  265. public function Delwei(){
  266. $data=I();
  267. if(!empty($data['id'])){
  268. $device=M('owner_weibao');
  269. $used_data = M()->query("select * from sp_owner_weibao where id=".$data['id']);
  270. $res = $device->delete($data['id']);
  271. if($res){
  272. //日志开始
  273. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  274. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---删除sp_owner_weibao表---ID:'.$data['id']."\r\n";
  275. $data_log1 ='删除前数据:'.json_encode($used_data)."\r\n";
  276. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  277. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  278. //日志开始结束
  279. echo json_encode($this->mtReturn(200,'删除成功'));
  280. }else{
  281. echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
  282. }
  283. }
  284. }
  285. //
  286. public function Delfujin(){
  287. $data=I();
  288. if(!empty($data['id'])){
  289. $device=M('owner_fujin');
  290. $used_data = M()->query("select * from sp_owner_fujin where id=".$data['id']);
  291. $res = $device->delete($data['id']);
  292. if($res){
  293. //日志开始
  294. $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
  295. $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---删除sp_owner_fujin表---ID:'.$data['id']."\r\n";
  296. $data_log1 ='删除前数据:'.json_encode($used_data)."\r\n";
  297. file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
  298. file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
  299. //日志开始结束
  300. echo json_encode($this->mtReturn(200,'删除成功'));
  301. }else{
  302. echo json_encode(array('statusCode'=> 300,'message'=>'删除失败'));
  303. }
  304. }
  305. }
  306. public function downdata(){//导出Excel
  307. $Data=I();
  308. $Company=M("v_user");
  309. $Map['status']=1;
  310. if(!empty($Data['username'])){
  311. $Map['username']=$Data['username'];
  312. }
  313. if(!empty($Data['truename'])){
  314. $Map['truename']=$Data['truename'];
  315. }
  316. if(!empty($Data['depname'])){
  317. $Map['depname']=$Data['depname'];
  318. }
  319. if(!empty($Data['posname'])){
  320. $Map['posname']=$Data['posname'];
  321. }
  322. $expTableData =$Company->field("username,truename,extension,agentid,depname,posname,phone,email,address")->where($Map)->select();
  323. $expCellName=array('登录名','姓名','分机号','座席号','所在部门','担任角色','联系电话','电子邮箱','地址');
  324. $expTitle='用户信息';
  325. $this->exportExcel($expTitle,$expCellName,$expTableData);
  326. // echo json_encode($expTableData);
  327. }
  328. }