panlumeng 3 years ago
parent
commit
5aad881688
4 changed files with 160 additions and 14 deletions
  1. 134 0
      app/admin/controller/Customer.php
  2. 7 5
      app/admin/controller/Newfill.php
  3. 9 2
      app/admin/route/app.php
  4. 10 7
      app/common.php

+ 134 - 0
app/admin/controller/Customer.php

@@ -4,6 +4,7 @@ namespace app\admin\controller;
 
 use app\BaseController;
 use think\App;
+use think\facade\Db;
 
 class Customer extends BaseController
 {
@@ -15,6 +16,139 @@ class Customer extends BaseController
     }
     /*列表*/
     public function list(){
+        $condition[] = ['is_del',"=",0];
+        $pid =  isset($this->post['pid']) &&$this->post['pid']!=="" ?intval($this->post['pid']): "";
+        if($pid!==""){
+            $condition[]=["pid","=",$pid];
+        }
+        $name= isset($this->post['name'])&&$this->post['name']!=="" ? trim($this->post['name']):"";
+        if($name!=""){
+            $condition[]=["name","like","%{$this->post['name']}%"];
+        }
+        $list = Db::name('customer_org1')->where($condition)->column("pid,name,level,depart_link");
+        return app_show(0,"获取成功",$list);
+    }
+    /*新建*/
+    public function create()
+    {
+        $name = isset($this->post['name']) && $this->post['name'] !== "" ? trim($this->post['name']) : "";
+        if ($name == "") {
+            return error_show(1003, "公司名称不能为空");
+        }
+        $rename = Db::name('customer_org1')->where(['is_del' => 0, 'name' => $name])->find();
+        if (!empty($rename)) {
+            return error_show(1002, "公司名称已存在");
+        }
+        $weight = isset($this->post['weight']) && $this->post['weight'] !== "" ? trim($this->post['weight']) : "0";
+        $pid = isset($this->post['pid']) && $this->post['pid'] !== "" ? trim($this->post['pid']) : "";
+        if ($pid === "") {
+            return error_show(1002, "父级id不能为空");
+        }
+        if($pid!=0){
+            $spid = Db::name('company_item')->where(['id' => $pid, 'is_del' => 0])->find();
+            if(empty($spid)){
+                return error_show(1004,"父级不能为空");
+            }
+        }
+        $level = isset($this->post['level']) && $this->post['level'] !== "" ? trim($this->post['level']) : "1";
+        Db::startTrans();
+        try {
+            $tada = [
+                "name" => $name,
+                "weight" => $weight, "pid" => $pid,
+                "level" => $level,
+                "updatetime" => date("Y-m-d H:i:s"),
+                "addtime" => date("Y-m-d H:i:s"),
+                "depart_link" => "", "is_del" => 0
+            ];
+            $t = Db::name('customer_org1')->insert($tada, true);
+            if ($t > 0) {
+                if(isset($spid)){
+                    $depart_link = $spid['depart_link']."{$t}-";
+                }else{
+                   $depart_link = "{$t}-";
+                }
+                $level = explode('-', $depart_link);
+                $level = array_filter($level);
+                $level = count($level);
+                $k = ['depart_link' => $depart_link, 'level' => $level];
+                $u = Db::name('customer_org1')->where(['id' => $t])->save($k);
+                //var_dump( Db::name('customer_org1')->getLastSql());
+                if ($u) {
+                    Db::commit();
+                    return error_show(0, "新建成功");
+                }
+            }
+            Db::rollback();
+        } catch (\Exception $e) {
+            Db::rollback();
+            return error_show(1003, $e->getMessage());
+        }
+    }
+    /*更新*/
+    public function updat(){
+        $id = isset($this->post['id'])?intval($this->post['id']):"";
+        $sid = Db::name('customer_org1')->where("id","=","$id")->find();
+       // var_dump(Db::name('customer_org1')->getLastSql());
+        if($sid==false){
+            return error_show(1004,"公司不存在");
+        }
+        $pid = isset($this->post['pid']) && $this->post['pid'] !=="" ? intval($this->post['pid']):"";
+        if($pid===""){
+            return error_show(1004,"父级id不能为空");
+        }
 
+        if($pid!=0){
+            $fpid = Db::name('customer_org1')->where(['id'=>"$pid",'is_del'=>0])->find();
+        if(empty($fpid)){
+            return error_show(1004,"父级不能为空");
+        }
+        }
+        $weight = isset($this->post['weight']) && $this->post['weight'] !==""? intval($this->post['weight']):"0";
+
+//      $level = isset($this->post['level']) && $this->post['level'] !==""? intval($this->post['level']):"";
+        $name = isset($this->post['name'])? trim($this->post['name']):"";
+        if($name==""){
+            return error_show(1004,"公司名称不能为空");
+        }
+        $repeat_name = Db::name('customer_org1')->where(["is_del"=>0,"name"=>$name])->where("id","<>","$id")->find();
+        // echo Db::name('customer_org1')->getLastSql();
+        if(!empty($repeat_name)){
+            return error_show(1004,"部门名称已存在");
+        }
+        if(isset($fpid)){
+            $depart_link=$fpid['depart_link']."{$id}-";
+        }else{
+            $depart_link= "{$id}-";
+        }
+        $level =explode('-',$depart_link);
+        $level = array_filter($level);
+        $level= count($level);
+        $vir=[
+            "id"=>$id,
+            "name"=>$name,"pid"=>$pid,
+            "weight"=>$weight,"depart_link"=>$depart_link,
+            "level"=>$level,"is_del"=>0,"addtime"=>date("Y-m-d H:i:s"),
+            "updatetime"=>date("Y-m-d H:i:s"),
+        ];
+        $org = Db::name('customer_org1')->save($vir);
+        return $org ? error_show(0,"更新成功") : error_show(1004,"更新失败");
+    }
+    /*查询*/
+    public function selec(){
+        $tod=Db::name('customer_org1')->where(['depart_link','is_del'=>0])->select();
+        return app_show(0,"获取成功",$tod);
+    }
+    /*删除*/
+    public function dell(){
+        $id=isset($this->post['id']) ?intval($this->post['id']):"";
+        $custy = Db::name('customer_org1')->where(["is_del"=>0,'id'=>$id])->find();
+        if($custy==false){
+            return error_show(1004,"公司不存在");
+        }
+        $custy['is_del']=1;
+        $custy['updatetime']=date("Y-m-d H:i:s");
+        $compy = Db::name('customer_org1')->save($custy);
+        return $compy ? error_show(0,"删除成功"):error_show(1004,"删除失败");
     }
 }

+ 7 - 5
app/admin/controller/Newfill.php

@@ -195,6 +195,7 @@ class Newfill extends BaseController
       $re = Db::name("company_item")->save($item);
       return $re ? app_show(0,"信息更新成功"): error_show(1003,"信息更新失败");
     }
+    /*查询*/
     public function query(){
         $token = isset($this->post['token']) ? trim($this->post['token']) : "";
         if($token==""){
@@ -205,13 +206,14 @@ class Newfill extends BaseController
             return error_show($effetc['code'],$effetc['message']);
         }
 
-        $dati = Db::name("company_item")->where(['pid'=>0,'is_del'=>0])->order("weight desc")->select();
+       $dati = Db::name("company_item")->where(['pid'=>0,'is_del'=>0])->order("weight desc")->select();
         $k=[];
         foreach ($dati as $key=>$value){
-            $temp=[];
-            $temp= Db::name("company_item")->where(['pid'=>$value['id'],'is_del'=>0])->order("weight desc")->select();
-            $value['child'] =$temp;
-            $k[]=$value;
+           // $temp=[];
+            //$temp= Db::name("company_item")->where(['pid'=>$value['id'],'is_del'=>0])->order("weight desc")->select();
+           // $value['child'] =$temp;
+           // $k[]=$value;
+            $k[]=crea($value);
         }
         return app_show(0,"获取成功",$k);
     }

+ 9 - 2
app/admin/route/app.php

@@ -53,12 +53,20 @@ Route::rule('add','admin/Newfill/add');
 Route::rule('refresh',"admin/Newfill/refresh");
 Route::rule('query','admin/Newfill/query');
 Route::rule('itemdel','admin/Newfill/itemdel');
+Route::rule('stat','admin/Newfill/stat');
+Route::rule('userp','admin/Newfill/userp');
 Route::rule('clist','admin/Departuser/list');
 Route::rule('attend','admin/Departuser/attend');
 Route::rule('useredit','admin/Departuser/useredit');
 Route::rule('ifound','admin/Departuser/found');
 Route::rule('iuserdel','admin/Departuser/userdel');
 
+Route::rule('customerlist','admin/Customer/list');
+Route::rule('customercreate','admin/Customer/create');
+Route::rule('customerupdate','admin/Customer/updat');
+Route::rule('customerselect','admin/Customer/selec');
+Route::rule('customerdelect','admin/Customer/dell');
+
 Route::rule('userlist', 'admin/User/list');
 Route::rule('userinfo', 'admin/User/userInfo');
 Route::rule('userall', 'admin/User/userList');
@@ -68,8 +76,7 @@ Route::rule("usersave","Api/UserInfo/UserSave");
 Route::rule("passset","Api/UserInfo/PassSet");
 Route::rule("userinfobyid","Api/UserInfo/info");
 
-Route::rule('stat','admin/Newfill/stat');
-Route::rule('userp','admin/Newfill/userp');
+
 
 Route::rule("loglist","admin/System/index");
 Route::rule("versionlist","admin/System/version");

+ 10 - 7
app/common.php

@@ -256,22 +256,25 @@ function resetinfo($token,$condition){
  * @throws \think\db\exception\DbException
  * @throws \think\db\exception\ModelNotFoundException
  */
-function crea($data)
+function crea($data,$vio=0)
 {
     $db = Db::name("company_item")->where(['pid'=>$data['id'],'is_del'=>0])->select()->toArray();
-    $d = Db::name("depart_user")->where(['itemid'=>$data['id'],'is_del'=>0])->select()->toArray();
-    if(empty($d)){
-        $data['item']=[];
-    }else{
-        $data['item']=$d;
+    if($vio==1){
+        $d = Db::name("depart_user")->where(['itemid'=>$data['id'],'is_del'=>0])->select()->toArray();
+        if(empty($d)){
+            $data['item']=[];
+        }else{
+            $data['item']=$d;
+        }
     }
+
    if(empty($db)){
        $data['child']=[];
       return $data;
    }
    //var_dump($db);
     foreach ($db as $p){
-        $data['child'][]=crea($p);
+        $data['child'][]=crea($p,$vio);
     }
     return $data;
 }