why.xingtongworld.com项目
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

<?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()]);
}
}