更新统计信息
This commit is contained in:
parent
9578e08be3
commit
733c0b0405
|
@ -39,11 +39,13 @@ class HomeIndex extends ApiController
|
||||||
//用户数据汇总
|
//用户数据汇总
|
||||||
public function data_total()
|
public function data_total()
|
||||||
{
|
{
|
||||||
|
$this->uid = JWT_UID;
|
||||||
$total = [];
|
$total = [];
|
||||||
$approveCount = Db::name('Approve')->count();
|
|
||||||
$noteCount = Db::name('Note')->where('status', '1')->count();
|
$noteCount = Db::name('Note')->where('status', '1')->count();
|
||||||
$expenseCount = Db::name('Expense')->where('delete_time', '0')->count();
|
$approveCount = Db::name('Approve')->where([['', 'exp', Db::raw("FIND_IN_SET('{$this->uid}',check_admin_ids)")]])->count();
|
||||||
$invoiceCount = Db::name('Invoice')->where('delete_time', '0')->count();
|
$expenseCount = Db::name('Expense')->where([['', 'exp', Db::raw("FIND_IN_SET('{$this->uid}',check_admin_ids)")],['delete_time', '=', 0]])->count();
|
||||||
|
$invoiceCount = Db::name('Invoice')->where([['', 'exp', Db::raw("FIND_IN_SET('{$this->uid}',check_admin_ids)")],['delete_time', '=', 0]])->count();
|
||||||
|
|
||||||
$total[] = array(
|
$total[] = array(
|
||||||
'name' => '公告',
|
'name' => '公告',
|
||||||
'type' => 'note',
|
'type' => 'note',
|
||||||
|
@ -64,89 +66,20 @@ class HomeIndex extends ApiController
|
||||||
'type' => 'invoice',
|
'type' => 'invoice',
|
||||||
'num' => $invoiceCount,
|
'num' => $invoiceCount,
|
||||||
);
|
);
|
||||||
$this->uid = JWT_UID;
|
|
||||||
$module = Db::name('AdminModule')->column('name');
|
$module = Db::name('AdminModule')->column('name');
|
||||||
if (in_array('customer', $module)) {
|
|
||||||
$whereCustomer = array();
|
|
||||||
$whereCustomerOr = array();
|
|
||||||
$uid = $this->uid;
|
|
||||||
$dids = get_department_role($uid);
|
|
||||||
|
|
||||||
$whereCustomer[] = ['delete_time', '=', 0];
|
|
||||||
$whereCustomerOr[] =['belong_uid', '=', $uid];
|
|
||||||
if(!empty($dids)){
|
|
||||||
$whereCustomerOr[] =['belong_did', 'in', $dids];
|
|
||||||
}
|
|
||||||
$whereCustomerOr[] = ['', 'exp', Db::raw("FIND_IN_SET('{$uid}',share_ids)")];
|
|
||||||
|
|
||||||
$customerCount = Db::name('Customer')->where($whereCustomer)
|
|
||||||
->where(function ($query) use($whereCustomerOr) {
|
|
||||||
$query->whereOr($whereCustomerOr);
|
|
||||||
})
|
|
||||||
->count();
|
|
||||||
// $total[] = array(
|
|
||||||
// 'name' => '客户',
|
|
||||||
// 'type' => 'customer',
|
|
||||||
// 'num' => $customerCount,
|
|
||||||
// );
|
|
||||||
}
|
|
||||||
if (in_array('contract', $module)) {
|
|
||||||
$whereContract = array();
|
|
||||||
$whereContractOr = array();
|
|
||||||
$uid = $this->uid;
|
|
||||||
|
|
||||||
$whereContract[] = ['delete_time', '=', 0];
|
|
||||||
$whereContractOr[] =['admin_id|prepared_uid|sign_uid|keeper_uid', '=', $uid];
|
|
||||||
$whereContractOr[] = ['', 'exp', Db::raw("FIND_IN_SET('{$uid}',share_ids)")];
|
|
||||||
$whereContractOr[] = ['', 'exp', Db::raw("FIND_IN_SET('{$uid}',check_admin_ids)")];
|
|
||||||
$whereContractOr[] = ['', 'exp', Db::raw("FIND_IN_SET('{$uid}',flow_admin_ids)")];
|
|
||||||
$dids = get_department_role($uid);
|
|
||||||
if(!empty($dids)){
|
|
||||||
$whereContractOr[] =['sign_did', 'in', $dids];
|
|
||||||
}
|
|
||||||
|
|
||||||
$contractCount = Db::name('Contract')->where($whereContract)
|
|
||||||
->where(function ($query) use($whereContractOr) {
|
|
||||||
$query->whereOr($whereContractOr);
|
|
||||||
})
|
|
||||||
->count();
|
|
||||||
// $total[] = array(
|
|
||||||
// 'name' => '合同',
|
|
||||||
// 'type' => 'contract',
|
|
||||||
// 'num' => $contractCount,
|
|
||||||
// );
|
|
||||||
}
|
|
||||||
if (in_array('project', $module)) {
|
if (in_array('project', $module)) {
|
||||||
$project_ids = Db::name('ProjectUser')->where(['uid' => $this->uid, 'delete_time' => 0])->column('project_id');
|
$project_ids = Db::name('ProjectUser')->where(['uid' => $this->uid, 'delete_time' => 0])->column('project_id');
|
||||||
$whereProject = [];
|
$whereProject = [];
|
||||||
$whereProject[] = ['delete_time', '=', 0];
|
$whereProject[] = ['delete_time', '=', 0];
|
||||||
$whereProject[] = ['id', 'in', $project_ids];
|
$whereProject[] = ['id', 'in', $project_ids];
|
||||||
$projectCount = Db::name('Project')->where($whereProject)->count();
|
$projectCount = Db::name('Project')->where($whereProject)->fetchSql(false)->count();
|
||||||
|
|
||||||
$whereOr = array();
|
|
||||||
$map1 = [];
|
|
||||||
$map2 = [];
|
|
||||||
$map3 = [];
|
|
||||||
$map4 = [];
|
|
||||||
$uid = $this->uid;
|
|
||||||
$map1[] = ['admin_id', '=', $uid];
|
|
||||||
$map2[] = ['director_uid', '=', $uid];
|
|
||||||
$map3[] = ['', 'exp', Db::raw("FIND_IN_SET({$uid},assist_admin_ids)")];
|
|
||||||
$map4[] = ['project_id', 'in', $project_ids];
|
|
||||||
|
|
||||||
$whereOr =[$map1,$map2,$map3,$map4];
|
|
||||||
$taskCount = Db::name('ProjectTask')
|
|
||||||
->where(function ($query) use ($whereOr) {
|
|
||||||
if (!empty($whereOr))
|
|
||||||
$query->whereOr($whereOr);
|
|
||||||
})
|
|
||||||
->where([['delete_time', '=', 0]])->count();
|
|
||||||
|
|
||||||
$total[] = array(
|
$total[] = array(
|
||||||
'name' => '项目',
|
'name' => '项目',
|
||||||
'type' => 'project',
|
'type' => 'project',
|
||||||
'num' => $projectCount,
|
'num' => $projectCount,
|
||||||
);
|
);
|
||||||
|
$taskCount = Db::name('ProjectTask')->where([['director_uid', '=', $this->uid],['flow_status', '<', 3],['delete_time', '=', 0]])->count();
|
||||||
$total[] = array(
|
$total[] = array(
|
||||||
'name' => '任务',
|
'name' => '任务',
|
||||||
'type' => 'task',
|
'type' => 'task',
|
||||||
|
|
Loading…
Reference in New Issue