安装插件后的基础文件
This commit is contained in:
363
app/admin/controller/easyflow/FlowBase.php
Normal file
363
app/admin/controller/easyflow/FlowBase.php
Normal file
@@ -0,0 +1,363 @@
|
||||
<?php
|
||||
declare (strict_types = 1);
|
||||
namespace app\admin\controller\easyflow;
|
||||
|
||||
use app\AdminController;
|
||||
use Exception;
|
||||
use think\facade\Db;
|
||||
use Throwable;
|
||||
/**
|
||||
* flow_group
|
||||
* 分组
|
||||
*/
|
||||
class FlowBase extends AdminController
|
||||
{
|
||||
/**
|
||||
* FlowGroup模型对象
|
||||
* @var \app\admin\model\FlowGroup
|
||||
*/
|
||||
|
||||
public $tplsharing = 'add';
|
||||
public $user = null;
|
||||
|
||||
public $noNeedAuth = ['*'];
|
||||
public function __construct()
|
||||
{
|
||||
$this->user = get_admin_info();
|
||||
parent::__construct();
|
||||
//$this->user = Session::get('AdminLogin');
|
||||
//debugger
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 默认生成的方法为index/add/edit/del/status 五个方法
|
||||
* 当创建CURD的时候,DIY的函数体和模板为空,请自行编写代码
|
||||
*/
|
||||
|
||||
|
||||
/***
|
||||
* 获取组织架构
|
||||
*/
|
||||
public function getOrgTree(){
|
||||
$deptId = request()->input('deptId');
|
||||
if(!$deptId){
|
||||
$deptId = 1;
|
||||
}
|
||||
$list = Db::name('department')->where(['pid'=>$deptId,'status'=>1])->select();
|
||||
$data = [];
|
||||
foreach($list as $row =>$key){
|
||||
$data[] = ['id'=>$key['id'],'name'=>$key['title'],"select"=>false,"type"=>"dept",'sex'=>null,'avatar'=>null];
|
||||
$userlist = Db::name('admin')->where(['department_id'=>$key['id']])->select();
|
||||
foreach($userlist as $row =>$user){
|
||||
$data[] = ['id'=>$user['id'],'name'=>$user['nickname'],"select"=>false,"type"=>"user",'sex'=>null,'avatar'=>null];
|
||||
}
|
||||
}
|
||||
$result =['code' =>200,'data' =>$data] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
* 获取组织架构
|
||||
*/
|
||||
public function search($userName){
|
||||
$data = [];
|
||||
$list = Db::name('admin')->field('id,nickname as name')->where(['status'=>1])->where('nickname','like',"%$userName%")->select();
|
||||
foreach($list as $row =>$key){
|
||||
$data[] = ['id'=>$key['id'],'name'=>$key['title'],"select"=>false,"type"=>"role",'sex'=>null,'avatar'=>null];
|
||||
}
|
||||
$result =['code' =>200,'data' =>$data] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
public function getRole(){
|
||||
$data = [];
|
||||
$list = Db::name('jobs')->field('id,title')->where(['status'=>1])->select();
|
||||
foreach($list as $row =>$key){
|
||||
$data[] = ['id'=>$key['id'],'name'=>$key['title'],"select"=>false,"type"=>"role",'sex'=>null,'avatar'=>null];
|
||||
}
|
||||
$result =['code' =>200,'data' =>$data] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
public function getFlowGroup()
|
||||
{
|
||||
$groupList = Db::name('flow_group')->field('id,name')->select();
|
||||
$data = [];
|
||||
|
||||
foreach($groupList as $row =>$group){
|
||||
$data1 = ['id'=>$group['id'],'label'=>$group['name'],'type'=>'group'];
|
||||
$flowList = Db::name('flow_scheme')->where(['group'=>$group['id']])->select();
|
||||
$dataFlow=[];
|
||||
foreach($flowList as $row =>$flow){
|
||||
$dataFlow[]=['id'=>$flow['id'],'icon'=>$flow['icon'],'isstop'=>$flow['isstop']==1?true:false,'type'=>'scheme',
|
||||
'label'=>$flow['name'],'remark'=>$flow['remark'],'tgId'=>$flow['tgId'],'updated'=>$flow['updatetime'],
|
||||
'background'=>$flow['background'],'group'=>$flow['group']];
|
||||
}
|
||||
$data1['children'] = $dataFlow;
|
||||
$data[] = $data1;
|
||||
}
|
||||
//停用的流程
|
||||
/*$data2 = ['id'=>0,'label'=>'已停用','type'=>'group'];
|
||||
$flowList = Db::name('flow_scheme')->where(['isstop'=>0])->select();
|
||||
$dataFlowDisable=[];
|
||||
foreach($flowList as $row =>$flow){
|
||||
$dataFlowDisable[]=['id'=>$flow['id'],'icon'=>$flow['icon'],'isstop'=>true,'type'=>'scheme',
|
||||
'label'=>$flow['name'],'remark'=>$flow['remark'],'tgId'=>$flow['tgId'],'updated'=>$flow['updatetime'],
|
||||
'background'=>$flow['background'],'group'=>$flow['group']];
|
||||
}
|
||||
$data2['children'] = $dataFlowDisable;
|
||||
$data[] = $data2;*/
|
||||
|
||||
$isAdmin = $this->user['group_id'] == 1?true:false;
|
||||
$result =['code' =>200,'data' =>$data,'isAdmin'=>$isAdmin] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
public function updateFlowGroup()
|
||||
{
|
||||
$method = request()->method();
|
||||
$params = \request()->all();
|
||||
$result =null;
|
||||
$msg = null;
|
||||
try{
|
||||
switch ($method)
|
||||
{
|
||||
case 'POST':
|
||||
$name = $params['name'];
|
||||
$data = ['name'=>$name];
|
||||
|
||||
Db::name('flow_group')->insertGetId($data);
|
||||
$result = "添加$name 分组成功";
|
||||
break;
|
||||
case 'DELETE':
|
||||
$id = $params['id'];
|
||||
$isexist = Db::name('flow_scheme')->where('group',$id)->find();
|
||||
if($isexist){
|
||||
throw new Exception('分组有流程无法删除');
|
||||
}
|
||||
Db::name('flow_group')->delete($id);
|
||||
$msg = "删除成功";
|
||||
break;
|
||||
case 'PUT':
|
||||
Db::name('flow_group')->save($params);
|
||||
$msg='修改成功';
|
||||
break;
|
||||
}
|
||||
$result =['code' =>200,'data' =>$result,'msg'=>$msg ] ;
|
||||
}
|
||||
catch(Throwable $th){
|
||||
$result =['code' =>500,'msg' =>$th->getMessage() ] ;
|
||||
}
|
||||
|
||||
return json($result);
|
||||
}
|
||||
|
||||
public function updateFlowForm()
|
||||
{
|
||||
$method = request()->method();
|
||||
$params = \request()->all();
|
||||
$result =null;
|
||||
$msg = null;
|
||||
switch ($method)
|
||||
{
|
||||
case 'GET':
|
||||
$id = $params['formId'];
|
||||
$result = Db::name('flow_scheme')->where('id', $id)->find();
|
||||
break;
|
||||
case 'DELETE':
|
||||
$id = $params['id'];
|
||||
$msg = "删除成功";
|
||||
break;
|
||||
case 'PUT':
|
||||
$params['id']= $params['formId'];
|
||||
$params['isstop'] = isset($params['isstop'])?$params['isstop']: 0;
|
||||
Db::name('flow_scheme')->strict(false)->save($params);
|
||||
$msg='修改成功';
|
||||
break;
|
||||
}
|
||||
$result =['code' =>200,'data' =>$result,'msg'=>$msg] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
public function getSysTable()
|
||||
{
|
||||
$database = function_exists('get_env') ? get_env('DATABASE_DATABASE') : getenv('DATABASE_DATABASE');
|
||||
$sql = "SELECT
|
||||
table_name as tablebame ,table_name as name
|
||||
FROM
|
||||
information_schema.tables
|
||||
WHERE table_schema = '$database' AND table_type = 'BASE TABLE'";
|
||||
$result = Db::query($sql);
|
||||
$result =['code' =>200,'data' =>$result] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
public function updateTemplate()
|
||||
{
|
||||
|
||||
$result =['code' =>200,'data' =>'保存成功'] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
public function getWorkItemList()
|
||||
{
|
||||
$params = request()->post();
|
||||
$currentPage = $params['currentPage'];
|
||||
$pageSize = $params['pageSize'];
|
||||
$group=$params['group'];
|
||||
$where = ['status'=>'0','receiveid'=>$this->user['id']];
|
||||
$whereIn = '';
|
||||
$totalResult = 0;
|
||||
|
||||
if($group){
|
||||
|
||||
if($group['type'] == 'scheme'){
|
||||
$where['scheme'] = $group['id'];
|
||||
$data = Db::name('flow_workitem_view')->order('createtime', 'desc')->where($where)->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_workitem_view')->where($where)->page($currentPage,$pageSize)->count();
|
||||
}else{
|
||||
$groupId = $group['id'];
|
||||
$shemes = Db::name('flow_scheme')->where('group',$groupId)->select();
|
||||
$wherescheme = [];
|
||||
foreach($shemes as $sheme){
|
||||
array_unshift($wherescheme,$sheme['id']);
|
||||
}
|
||||
|
||||
$data = Db::name('flow_workitem_view')->whereIn('scheme',implode(',',$wherescheme))->where($where)->order('createtime', 'desc')->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_workitem_view')->whereIn('scheme',implode(',',$wherescheme))->where($where)->page($currentPage,$pageSize)->count();
|
||||
}
|
||||
}
|
||||
else{
|
||||
$data = Db::name('flow_workitem_view')->where($where)->order('createtime', 'desc')->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_workitem_view')->where($where)->page($currentPage,$pageSize)->count();
|
||||
}
|
||||
|
||||
$result =['code' =>200,'data' =>$data,'input'=>$group,'total'=>$totalResult] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
|
||||
public function getInstanceList()
|
||||
{
|
||||
$params = request()->post();
|
||||
$currentPage = $params['currentPage'];
|
||||
$pageSize = $params['pageSize'];
|
||||
$group=$params['group'];
|
||||
$where = [];
|
||||
$whereIn = '';
|
||||
$totalResult = 0;
|
||||
|
||||
if($group){
|
||||
|
||||
if($group['type'] == 'scheme'){
|
||||
$where['scheme'] = $group['id'];
|
||||
$data = Db::name('flow_workitem_view')->order('createtime', 'desc')->where($where)->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_workitem_view')->where($where)->page($currentPage,$pageSize)->count();
|
||||
}else{
|
||||
$groupId = $group['id'];
|
||||
$shemes = Db::name('flow_scheme')->where('group',$groupId)->select();
|
||||
$wherescheme = [];
|
||||
foreach($shemes as $sheme){
|
||||
array_unshift($wherescheme,$sheme['id']);
|
||||
}
|
||||
|
||||
$data = Db::name('flow_workitem_view')->whereIn('scheme',implode(',',$wherescheme))->where($where)->order('createtime', 'desc')->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_workitem_view')->whereIn('scheme',implode(',',$wherescheme))->where($where)->page($currentPage,$pageSize)->count();
|
||||
}
|
||||
}
|
||||
else{
|
||||
$data = Db::name('flow_workitem_view')->where($where)->order('createtime', 'desc')->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_workitem_view')->where($where)->page($currentPage,$pageSize)->count();
|
||||
}
|
||||
|
||||
$result =['code' =>200,'data' =>$data,'input'=>$group,'total'=>$totalResult] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
|
||||
public function getFinishList()
|
||||
{
|
||||
$params = request()->post();
|
||||
$currentPage = $params['currentPage'];
|
||||
$pageSize = $params['pageSize'];
|
||||
$group=$params['group'];
|
||||
$where = ['status'=>'2','receiveid'=>$this->user['id']];
|
||||
$whereIn = '';
|
||||
$totalResult = 0;
|
||||
if($group){
|
||||
if($group['type'] == 'scheme'){
|
||||
$where['scheme'] = $group['id'];
|
||||
$data = Db::name('flow_workitem_view')->where($where)->order('completedtime', 'desc')->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_workitem_view')->where($where)->page($currentPage,$pageSize)->count();
|
||||
}else{
|
||||
$groupId = $group['id'];
|
||||
$shemes = Db::name('flow_scheme')->where('group',$groupId)->select();
|
||||
$wherescheme = [];
|
||||
foreach($shemes as $sheme){
|
||||
array_unshift($wherescheme,$sheme['id']);
|
||||
}
|
||||
|
||||
$data = Db::name('flow_workitem_view')->whereIn('scheme',implode(',',$wherescheme))->where($where)->order('completedtime', 'desc')->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_workitem_view')->whereIn('scheme',implode(',',$wherescheme))->where($where)->page($currentPage,$pageSize)->count();
|
||||
}
|
||||
}
|
||||
else{
|
||||
$data = Db::name('flow_workitem_view')->where($where)->order('completedtime', 'desc')->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_workitem_view')->where($where)->page($currentPage,$pageSize)->count();
|
||||
}
|
||||
|
||||
$result =['code' =>200,'data' =>$data,'input'=>$group,'total'=>$totalResult] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
|
||||
public function getMyList()
|
||||
{
|
||||
$params = request()->post();
|
||||
$currentPage = $params['currentPage'];
|
||||
$pageSize = $params['pageSize'];
|
||||
$group=$params['group'];
|
||||
$where = ['originator'=>$this->user['id']];
|
||||
$whereIn = '';
|
||||
$totalResult = 0;
|
||||
if($group){
|
||||
if($group['type'] == 'scheme'){
|
||||
$where['scheme'] = $group['id'];
|
||||
$data = Db::name('flow_instace_view')
|
||||
->where($where)->order('createtime', 'desc')->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_instace_view')->where($where)->page($currentPage,$pageSize)->count();
|
||||
}else{
|
||||
$groupId = $group['id'];
|
||||
$shemes = Db::name('flow_scheme')->where('group',$groupId)->select();
|
||||
$wherescheme = [];
|
||||
foreach($shemes as $sheme){
|
||||
array_unshift($wherescheme,$sheme['id']);
|
||||
}
|
||||
|
||||
$data = Db::name('flow_instace_view')
|
||||
->whereIn('scheme',implode(',',$wherescheme))->where($where)->order('createtime', 'desc')->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_instace_view')->whereIn('scheme',implode(',',$wherescheme))->where($where)->page($currentPage,$pageSize)->count();
|
||||
}
|
||||
}
|
||||
else{
|
||||
$data = Db::name('flow_instace_view')
|
||||
->where($where)->order('createtime', 'desc')->page($currentPage,$pageSize)->select();
|
||||
$totalResult = Db::name('flow_instace_view')->where($where)->page($currentPage,$pageSize)->count();
|
||||
}
|
||||
|
||||
$result =['code' =>200,'data' =>$data,'input'=>$group,'total'=>$totalResult] ;
|
||||
return json($result);
|
||||
}
|
||||
|
||||
public function getFieldList()
|
||||
{
|
||||
$formId = request()->input('formId');
|
||||
//$result = Db::name('flow_scheme')->where('id', $formId)->find();
|
||||
$database = function_exists('get_env') ? get_env('DATABASE_DATABASE') : getenv('DATABASE_DATABASE');
|
||||
$fieldListAll = Db::name('flow_field_view')->where(['table_name'=>$formId,'TABLE_SCHEMA'=>$database])->select();
|
||||
//$result =['code' =>200,'data' =>$fieldListAll] ;
|
||||
return json($fieldListAll);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user