You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
275 lines
10 KiB
275 lines
10 KiB
<?php
|
|
/**
|
|
* Created by ETEDU.
|
|
* User: Leo Chu
|
|
* Date: 2017/3/28 0028
|
|
* Time: 15:45
|
|
*/
|
|
|
|
namespace app\cult4\model;
|
|
|
|
use think\Model;
|
|
use think\Db;
|
|
|
|
/**
|
|
* 文化四板申请流程
|
|
* @package app\admin\model
|
|
*/
|
|
class Cult4apply extends Model
|
|
{
|
|
/**
|
|
* 增加申请
|
|
* @return int 0或申请id
|
|
*/
|
|
public static function apply_add($status=1,$user_id,$member_list_id,$usertype,$apply_admin_id)
|
|
{
|
|
//status默认初审中(已提交):1
|
|
$sldata=array(
|
|
'user_id' => $user_id,
|
|
'status'=>$status,
|
|
'user_type'=>$usertype,
|
|
'apply_admin_id'=>$apply_admin_id,
|
|
'create_time'=>time(),
|
|
);
|
|
$member=self::create($sldata);
|
|
if($member){
|
|
return $member['apply_id'];
|
|
}else{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 申请受理
|
|
* @param int $apply_id 申请id
|
|
* @param int $apply_admin_id 受理用户id
|
|
* @return int 影响行数0或1
|
|
*/
|
|
public static function applyed($apply_id,$apply_admin_id,$seq,$status)
|
|
{
|
|
$sldata=array(
|
|
'apply_admin_id'=>$apply_admin_id,
|
|
'update_time'=>time(),
|
|
'update_user_id'=>$apply_admin_id,
|
|
'update_user_type'=>1,
|
|
'seq'=>$seq+1,
|
|
);
|
|
$where=array(
|
|
'apply_id'=>$apply_id,
|
|
'seq'=>$seq,
|
|
'status'=>$status,
|
|
'apply_admin_id'=>array('EQ', 0),
|
|
);
|
|
|
|
$apply=self::where($where)->update($sldata);
|
|
|
|
return $apply;
|
|
}
|
|
|
|
/**
|
|
* 根据用户id获取用户信息,返回值为数组
|
|
* @param int $uid 用户id
|
|
* @return array 用户所属的用户组 array(根据前后台不同,对应不同用户组)
|
|
*/
|
|
public static function getUserInfos($uid,$utype)
|
|
{
|
|
if($utype==1)//前台用户
|
|
{
|
|
$frontUserInfos = db()->name('member_list')
|
|
->where("member_list_id='$uid'")
|
|
->field('member_list_id,member_list_nickname,member_list_username,member_list_open')->select();
|
|
$frontUserInfos[$uid]=$frontUserInfos?:array();
|
|
return $frontUserInfos[$uid];
|
|
}
|
|
elseif ($utype==2)//后台用户
|
|
{
|
|
$backUserInfos = db()->name('admin')
|
|
->where("admin_id='$uid'")
|
|
->field('admin_id,admin_realname,admin_username,admin_open')->select();
|
|
$backUserInfos[$uid]=$backUserInfos?:array();
|
|
return $backUserInfos[$uid];
|
|
}
|
|
return array();
|
|
}
|
|
|
|
/**
|
|
* 根据角色id获取角色信息,返回值为数组
|
|
* @param int $rid 角色id
|
|
* @return array 角色所属的用户组 array(根据前后台不同,对应不同角色组)
|
|
*/
|
|
public static function getRoleInfos($rid,$utype)
|
|
{
|
|
if($utype==1)//前台角色
|
|
{
|
|
$frontRoleInfos = db()->name('member_group')
|
|
->where("member_group_id='$rid'")
|
|
->field('member_group_id,member_group_name,member_group_open')->select();
|
|
$frontRoleInfos[$rid]=$frontRoleInfos?:array();
|
|
return $frontRoleInfos[$rid];
|
|
}
|
|
elseif ($utype==2)//后台角色
|
|
{
|
|
$backRoleInfos = db()->name('auth_group')
|
|
->where("id='$rid'")
|
|
->field('id,title,status')->select();
|
|
$backRoleInfos[$rid]=$backRoleInfos?:array();
|
|
return $backRoleInfos[$rid];
|
|
}
|
|
return array();
|
|
}
|
|
/**
|
|
* 申请列表
|
|
* @param array
|
|
* @param string $search_name 查询条件(公司名称)
|
|
* @param int $status 后台查询的操作用户状态
|
|
* @param int $admin_id 后台查询的操作用户ID
|
|
* @param string $order 结果排序
|
|
* @return mixed
|
|
*/
|
|
public static function getListAll($search_name=null,$admin_id,$order='apply_id')
|
|
{
|
|
$map=array();
|
|
if($search_name){
|
|
//(b.c_name or b.p_name or b.t_apply_username) and b.new_flag
|
|
$data=array();
|
|
$data=Db::name('cult4apply')->alias("a")->join(config('database.prefix').'cult4baseinfo b','a.apply_id =b.apply_id')
|
|
->where(['b.c_name|b.p_name|b.t_apply_username'=>array('like','%'.$search_name.'%') ,'b.new_flag'=>1])->order('a.apply_id')->paginate(config('paginate.list_rows'),false,['query'=>get_query()]);
|
|
return $data;
|
|
}
|
|
$where=array();
|
|
$where['status'] = array('egt',0);
|
|
|
|
//取得apply_admin_id为0或者当前用户的数据
|
|
//$where['apply_admin_id']=array(array('eq',0),array('eq',$admin_id),'or');
|
|
return self::where($where)->order($order)->paginate(config('paginate.list_rows'),false,['query'=>get_query()]);
|
|
}
|
|
/**
|
|
* 申请列表
|
|
* @param array
|
|
* @param string $search_name 查询条件(公司名称)
|
|
* @param int $status 后台查询的操作用户状态
|
|
* @param int $admin_id 后台查询的操作用户ID
|
|
* @param string $order 结果排序
|
|
* @return mixed
|
|
*/
|
|
public static function getList($search_name=null,$status=-1,$admin_id,$order='apply_id',$status2=-1)
|
|
{
|
|
$adminarr=array(array('eq',0),array('eq',$admin_id),'or');
|
|
if($admin_id==1){
|
|
$adminarr='not null';
|
|
}
|
|
$map=array();
|
|
if($search_name){
|
|
//(b.c_name or b.p_name or b.t_apply_username) and b.new_flag
|
|
if($status2>0)
|
|
$statusStr=$status;
|
|
else
|
|
$statusStr=$status.','.$status2;;
|
|
|
|
if($status==31){
|
|
$statusStr=$status.','.$status2;;
|
|
}
|
|
|
|
$data=array();
|
|
$data=Db::name('cult4apply')->alias("a")->join(config('database.prefix').'cult4baseinfo b','a.apply_id =b.apply_id')
|
|
->where(['b.c_name|b.p_name|b.t_apply_username'=>array('like','%'.$search_name.'%') ,'b.new_flag'=>1,'a.status'=>array('in',$statusStr),'a.apply_admin_id'=>$adminarr])->order('a.apply_id')->paginate(config('paginate.list_rows'),false,['query'=>get_query()]);
|
|
return $data;
|
|
}
|
|
$where=array();
|
|
//根据状态值取出对应状态的数据
|
|
if($status != -1){
|
|
if($status2 != -1){
|
|
$where['status'] = array(array('eq',$status),array('eq',$status2), 'or');
|
|
if($status2==9)
|
|
$order='status desc,apply_id';
|
|
elseif($status2==12)
|
|
$order='status,apply_id';
|
|
elseif($status2==14)
|
|
$order='status desc,apply_id';
|
|
}else{
|
|
$where['status'] = array('eq',$status);
|
|
}
|
|
}
|
|
|
|
//取得apply_admin_id为0或者当前用户的数据
|
|
$where['apply_admin_id']=$adminarr;
|
|
return self::where($where)->order($order)->paginate(config('paginate.list_rows'),false,['query'=>get_query()]);
|
|
}
|
|
/**
|
|
* 申请列表数组
|
|
* @param array
|
|
* @param string $search_name 查询条件(公司名称)
|
|
* @param int $status 后台查询的操作主用户状态
|
|
* @param int $admin_id 后台查询的操作用户ID
|
|
* @param string $statusStr 状态序列1,2,3,4
|
|
* @return mixed
|
|
*/
|
|
public static function getList2($status,$search_name=null,$admin_id,$statusStr)
|
|
{
|
|
$adminarr=array(array('eq',0),array('eq',$admin_id),'or');
|
|
if($admin_id==1){
|
|
$adminarr=array('neq','');
|
|
}
|
|
$map=array();
|
|
if($search_name){
|
|
//(b.c_name or b.p_name or b.t_apply_username) and b.new_flag
|
|
$data=array();
|
|
|
|
$data=Db::name('cult4apply')->alias("a")->join(config('database.prefix').'cult4baseinfo b','a.apply_id =b.apply_id')
|
|
->where(['b.c_name|b.p_name|b.t_apply_username'=>array('like','%'.$search_name.'%') ,'b.new_flag'=>1,'a.status'=>array('in',$statusStr),'a.apply_admin_id'=>$adminarr])->order('a.apply_id')->paginate(config('paginate.list_rows'),false,['query'=>get_query()]);
|
|
return $data;
|
|
}
|
|
$where=array();
|
|
//根据状态值取出对应状态的数据
|
|
if($status==12)
|
|
$order='status desc,apply_id';
|
|
elseif($status==9)
|
|
$order='status,apply_id';
|
|
elseif($status==15)
|
|
$order='status desc,apply_id';
|
|
else
|
|
$order='update_time';
|
|
|
|
$where['status'] = array('in',$statusStr);
|
|
//取得apply_admin_id为0或者当前用户的数据
|
|
$where['apply_admin_id']=$adminarr;
|
|
return self::where($where)->order($order)->paginate(config('paginate.list_rows'),false,['query'=>get_query()]);
|
|
}
|
|
/**
|
|
* 申请列表联席会
|
|
* @param array
|
|
* @param string $search_name 查询条件(公司名称)
|
|
* @param int $admin_id 后台查询的操作用户ID
|
|
* @return mixed
|
|
*/
|
|
public static function getListjc($search_name=null,$admin_id)
|
|
{
|
|
$adminarr=array(array('eq',0),array('eq',$admin_id),'or');
|
|
if($admin_id==1){
|
|
$adminarr=array('neq','');
|
|
}
|
|
$map=array();
|
|
if($search_name){
|
|
//(b.c_name or b.p_name or b.t_apply_username) and b.new_flag
|
|
$data=array();
|
|
|
|
$data=Db::name('cult4apply')->alias("a")->join(config('database.prefix').'cult4baseinfo b','a.apply_id =b.apply_id')
|
|
->where(['b.c_name|b.p_name|b.t_apply_username'=>array('like','%'.$search_name.'%') ,'b.new_flag'=>1,'a.status'=>array('in','4,8,11,13,17,34,16'),'a.apply_admin_id'=>$adminarr])->order('a.apply_id')->paginate(config('paginate.list_rows'),false,['query'=>get_query()]);
|
|
return $data;
|
|
}
|
|
$where=array();
|
|
//根据状态值取出对应状态的数据
|
|
//上报中(初审未通过):4
|
|
//上报中(尽调未通过):34
|
|
//上报中(复审未通过):8
|
|
//上报中(风控审核未通过):11
|
|
//上报中(未缴费未通过):13
|
|
//上报中(专家审核未通过):17
|
|
//联席会审核中(已确认专家审核):16
|
|
$where['status'] = array('in','4,8,11,13,17,34,16');
|
|
//取得apply_admin_id为0或者当前用户的数据
|
|
$where['apply_admin_id']=$adminarr;
|
|
$order='update_time';
|
|
return self::where($where)->order($order)->paginate(config('paginate.list_rows'),false,['query'=>get_query()]);
|
|
}
|
|
}
|