wugg 9 сар өмнө
parent
commit
a2044edbc9

+ 2 - 1
app/bug/controller/Work.php

@@ -5,7 +5,8 @@ namespace app\bug\controller;
 
 
 use app\bug\model\WorkAction;
-use app\bug\model\WorkTemplate;use think\App;
+use app\bug\model\WorkTemplate;
+use think\App;
 use think\facade\Validate;
 class Work extends Base{
 	public function __construct(App $app) {

+ 67 - 2
app/bug/controller/WorkRole.php

@@ -4,7 +4,10 @@
 namespace app\bug\controller;
 
 
-use app\bug\model\WorkUser;use app\user\model\Account;use think\App;use think\facade\Validate;
+use app\bug\model\WorkUser;
+use app\user\model\Account;
+use think\App;
+use think\facade\Validate;
 class WorkRole extends Base{
 	public function __construct(App $app) {
 		parent::__construct($app);
@@ -69,11 +72,26 @@ class WorkRole extends Base{
         if($info->isEmpty()) return error('岗位角色不存在');
         return success('获取成功',$info);
 	}
-	
+	public function  status(){
+		$param = $this->request->param(['id'=>'','status'=>''],'post','trim');
+		$valid = Validate::rule([
+					    'id|账户角色ID'=>'require|number|gt:0',
+					    'status|状态'=>'require|number|in:0,1'
+					    ]);
+		if($valid->check($param)==false) return error($valid->getError());
+		$info = $this->model->findOrEmpty($param['id']);
+		if($info->isEmpty())return error('岗位角色信息不存在');
+		$info->status=$param['status'];
+		$add = $info->save();
+		$messg= WorkRole::$statusCn[$param['status']];
+		return $add ? success("岗位角色{$messg}成功"):error("岗位角色{$messg}失败");
+	}
 	public function  delete(){
 		$id = $this->request->post('id/d');
 		$info = $this->model->findOrEmpty($id);
         if($info->isEmpty()) return error('岗位角色不存在');
+        $user = WorkUser::where(["role_id"=>$id])->findOrEmpty();
+        if($user->isEmpty()==false)return error('岗位角色有账户正在使用无法删除');
         $delete = $info->delete();
         return $delete ? success('删除成功'):error('删除失败');
 	}
@@ -86,6 +104,9 @@ class WorkRole extends Base{
 		if($param['role_name']!='')$where[]=['role_name','like',"%{$param['role_name']}%"];
 		if($param['work_id']!='')$where[]=['work_id','=',$param['work_id']];
 		$list =$this->model->where($where)->order('id desc')->paginate(['list_rows'=>$param['size'],'page'=>$param['page']]);
+		foreach ($list->items() as &$item){
+			$item["usedNum"] = WorkUser::where(['role_id'=>$item->id])->count();
+		}
 		return success('获取成功',['list'=>$list->items(),'count'=>$list->total()]);
 	}
 	
@@ -130,4 +151,48 @@ class WorkRole extends Base{
 	   $add = $info->save();
 	   return $add ? success('账户角色设置成功'):error('账户角色设置失败');
 	}
+	
+	public function WorkRoleStatus(){
+	   $param=$this->request->param(['id'=>'','status'=>''],'post','trim');
+	   $valid = Validate::rule([
+	   	'id|账户角色ID'=>'require|number|gt:0',
+	   	'status|状态'=>'require|number|in:0,1,4'
+	   	]);
+	   if($valid->check($param)==false) return error($valid->getError());
+	   $info = WorkUser::where(['id'=>$param['id']])->findOrEmpty();
+	   if($info->isEmpty())return error('账户角色信息不存在');
+	   $info->status=$param['status'];
+	   $add = $info->save();
+	   $messg= WorkUser::$statusCn[$param['status']];
+	   return $add ? success("账户角色{$messg}成功"):error("账户角色{$messg}失败");
+	}
+	
+	public function WorkRoleInfo(){
+	   $id=$this->request->post("id/d");
+	   $info = WorkUser::where(['id'=>$id])->findOrEmpty();
+	   if($info->isEmpty())return error('账户角色信息不存在');
+	   $info->statusCn= WorkUser::$statusCn[$info->status];
+	   return  success("获取成功",$info);
+	}
+	
+	public function WorkRoleDelete(){
+	   $id=$this->request->post('id/d');
+	   $info = WorkUser::where(['id'=>$id])->findOrEmpty();
+	   if($info->isEmpty())return error('账户角色信息不存在');
+	   if($info->status==1 || $info->status==2 )return error('账户角色状态不可删除');
+	   return  success('获取成功',$info);
+	}
+	
+	public function WorkRoleList(){
+	    $param = $this->request->param(['role_name'=>'','companyNo'=>'','belong'=>'','account_id'=>'','page'=>1,
+	    'size'=>15],'post','trim');
+		$where=[];
+		if($param['companyNo']!='')$where[]=['companyNo','=',$param['companyNo']];
+		if($param['belong']!='')$where[]=['belong','=',$param['belong']];
+		if($param['role_name']!='')$where[]=['role_name','like',"%{$param['role_name']}%"];
+		if($param['work_id']!='')$where[]=['work_id','=',$param['work_id']];
+		$list =WorkUser::with(["account"])->withJoin(["workRole"],"left")->where($where)->order('workUser.id desc')
+		->paginate(['list_rows'=>$param['size'],'page'=>$param['page']]);
+		return success('获取成功',['list'=>$list->items(),'count'=>$list->total()]);
+	}
 }

+ 5 - 1
app/bug/model/Work.php

@@ -1,20 +1,24 @@
 <?php
 namespace app\bug\model;
 
-class Work extends Base
+use think\model\concern\SoftDelete;class Work extends Base
 {
 //设置字段信息
+	use SoftDelete;
     protected $schema = [
         'id'  =>'int',//
         'work_name'  =>'varchar',//岗位名称
         'belong'  =>'tinyint',//系统归属1采销2结算3数据统计
         'level'  =>'tinyint',//账号等级
         'status'  =>'tinyint',//状态 启禁用
+        'apply_name'  =>'varchar',//
+        'apply_id'  =>'int',//
         'createTime'  =>'datetime',//
         'updateTime'  =>'datetime',//
         'delete_time'  =>'datetime',//
        ];
     protected $updateTime='updateTime';
     protected $createTime='createTime';
+    protected $deleteTime = 'delete_time';
     public static $blongCn=["","采销系统","结算系统","报表系统"];
 }

+ 11 - 1
app/bug/model/WorkAction.php

@@ -1,9 +1,10 @@
 <?php
 namespace app\bug\model;
 
-class WorkAction extends Base
+use think\model\concern\SoftDelete;class WorkAction extends Base
 {
 //设置字段信息
+	use SoftDelete;
     protected $schema = [
         'id'       =>'int',//
         'action_name'       =>'varchar',//功能名称
@@ -19,4 +20,13 @@ class WorkAction extends Base
 ];
     protected $updateTime='updateTime';
     protected $createTime='createTime';
+    protected $deleteTime = 'delete_time';
+    
+    public function GetBelongActionAttr($v){
+    	return json_decode($v,true);
+    }
+    
+    public function SetBelongActionAttr($v){
+    	return json_encode($v,JSON_UNESCAPED_UNICODE);
+    }
 }

+ 25 - 2
app/bug/model/WorkRole.php

@@ -1,9 +1,9 @@
 <?php
 namespace app\bug\model;
 
-class WorkRole extends Base
+use app\user\model\Headquarters;use think\model\concern\SoftDelete;class WorkRole extends Base
 {
-//设置字段信息
+	use SoftDelete;
     protected $schema = [
         'id'       =>'int',//
         'role_name'       =>'varchar',//角色名称
@@ -21,4 +21,27 @@ class WorkRole extends Base
 ];
     protected $updateTime='updateTime';
     protected $createTime='createTime';
+    protected $deleteTime = 'delete_time';
+    
+    public function CompanyName(){
+    	return $this->belongsTo(Headquarters::class,"companyNo","code")->bind(["companyName"=>"name"]);
+    }
+    
+    public function WorkInfo(){
+    	return $this->belongsTo(Work::class,"work_id","id")->bind(["work_name"]);
+    }
+    
+    public function GetActionAttr($v){
+    	return json_decode($v,true);
+    }
+    public function SetActionAttr($v){
+        	return json_encode($v,JSON_UNESCAPED_UNICODE);
+    }
+    
+    public function GetProcessAttr($v){
+        	return json_decode($v,true);
+        }
+    public function SetProcessAttr($v){
+            	return json_encode($v,JSON_UNESCAPED_UNICODE);
+     }
 }

+ 3 - 1
app/bug/model/WorkTemplate.php

@@ -1,9 +1,10 @@
 <?php
 namespace app\bug\model;
 
-class WorkTemplate extends Base
+use think\model\concern\SoftDelete;class WorkTemplate extends Base
 {
 //设置字段信息
+	use SoftDelete;
     protected $schema = [
         'id'       =>'int',//
         'work_id'       =>'int',//岗位id
@@ -18,4 +19,5 @@ class WorkTemplate extends Base
 ];
     protected $updateTime='updateTime';
     protected $createTime='createTime';
+    protected $deleteTime = 'delete_time';
 }

+ 31 - 0
app/bug/model/WorkUser.php

@@ -0,0 +1,31 @@
+<?php
+namespace app\bug\model;
+
+use app\user\model\Account;use think\model\concern\SoftDelete;class WorkUser extends Base
+{
+//设置字段信息
+	use SoftDelete;
+    protected $schema = [
+        'id'  =>'int',//
+        'account_id'  =>'int',//账户id
+        'role_id'  =>'int',//岗位角色id
+        'status'  =>'tinyint',//状态 0未启用1启用 2推送到系统3推送失败4已废弃
+        'apply_name'  =>'varchar',//
+        'apply_id'  =>'int',//
+        'createTime'  =>'datetime',//
+        'updateTime'  =>'datetime',//
+        'delete_time'  =>'datetime',//
+       ];
+    protected $updateTime='updateTime';
+    protected $createTime='createTime';
+    protected $deleteTime = 'delete_time';
+    public static $statusCn=["未启用","启用","已推送","推送失败","废弃"];
+    
+    public function Account(){
+        return $this->belongsTo(Account::class,"account_id","id");
+    }
+    
+    public function WorkRole(){
+        return $this->belongsTo(WorkRole::class,'role_id','id')->bind(["role_name","belong",'companyNo',"work_id"]);
+    }
+}

+ 15 - 0
app/bug/route/app.php

@@ -57,3 +57,18 @@ Route::rule("work_template_create","bug/Work/WorkTemplateCreate");
 Route::rule("work_template_save","bug/Work/WorkTemplateSave");
 Route::rule("work_template_info","bug/Work/WorkTemplateInfo");
 
+Route::rule('work_role_create','bug/WorkRole/create');
+Route::rule('work_role_save','bug/WorkRole/save');
+Route::rule('work_role_delete','bug/WorkRole/delete');
+Route::rule('work_role_info','bug/WorkRole/info');
+Route::rule('work_role_list','bug/WorkRole/list');
+Route::rule('work_role_status','bug/WorkRole/status');
+
+Route::rule('work_user_create','bug/WorkRole/WorkRoleCreate');
+Route::rule('work_user_save','bug/WorkRole/WorkRoleSave');
+Route::rule('work_user_delete','bug/WorkRole/WorkRoleDelete');
+Route::rule('work_user_info','bug/WorkRole/WorkRoleInfo');
+Route::rule('work_user_status','bug/WorkRole/WorkRoleStatus');
+Route::rule('work_user_list','bug/WorkRole/WorkRoleList');
+
+