| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- <?php
- /**
- +-----------------------------------------------------------------------------------------------
- * GouGuOPEN [ 左手研发,右手开源,未来可期!]
- +-----------------------------------------------------------------------------------------------
- * @Copyright (c) 2021~2024 http://www.gouguoa.com All rights reserved.
- +-----------------------------------------------------------------------------------------------
- * @Licensed 勾股OA,开源且可免费使用,但并不是自由软件,未经授权许可不能去除勾股OA的相关版权信息
- +-----------------------------------------------------------------------------------------------
- * @Author 勾股工作室 <hdm58@qq.com>
- +-----------------------------------------------------------------------------------------------
- */
- use think\facade\Db;
- //获取项目状态
- function get_status($id=0)
- {
- $status_array = ['未设置','未开始','进行中','已完成','已关闭'];
- if($id==0){
- return $status_array;
- }
- else{
- $news_array=[];
- foreach($status_array as $key => $value){
- if($key>0){
- $news_array[]=array(
- 'id'=>$key,
- 'title'=>$value,
- );
- }
- }
- return $news_array;
- }
- }
- //根据状态读取审批状态名称
- function status_name($status=0)
- {
- $status_array = get_status();
- return $status_array[$status];
- }
- //获取任务全部状态
- function get_task_status($id=0)
- {
- $status_task_array = ['未设置','未开始','进行中','已完成','已拒绝','已关闭'];
- if($id==0){
- return $status_task_array;
- }
- else{
- $news_array=[];
- foreach($status_task_array as $key => $value){
- if($key>0){
- $news_array[]=array(
- 'id'=>$key,
- 'title'=>$value,
- );
- }
- }
- return $news_array;
- }
- }
- //根据任务状态读取审批状态名称
- function status_task_name($status=0)
- {
- $status_task_array = get_task_status();
- return $status_task_array[$status];
- }
- //获取任务紧急程度
- function get_priority($id=0)
- {
- $priority_array = ['未设置','低','中','高','紧急'];
- if($id==0){
- return $priority_array;
- }
- else{
- $news_array=[];
- foreach($priority_array as $key => $value){
- if($key>0){
- $news_array[]=array(
- 'id'=>$key,
- 'title'=>$value,
- );
- }
- }
- return $news_array;
- }
- }
- //根据任务紧急程度名称
- function priority_name($priority=0)
- {
- $priority_array = get_priority();
- return $priority_array[$priority];
- }
- //是否是项目管理员,count>1即有权限
- function isAuthProject($uid)
- {
- if($uid == 1){
- return 1;
- }
- $map = [];
- $map[] = ['name', '=', 'project_admin'];
- $map[] = ['', 'exp', Db::raw("FIND_IN_SET('{$uid}',conf_1)")];
- $count = Db::name('DataAuth')->where($map)->count();
- return $count;
- }
- //读取项目
- function get_project($uid = 0)
- {
- $map = [];
- $map[] = ['delete_time', '=', 0];
- if ($uid > 0) {
- $project_ids = Db::name('ProjectUser')->where(['uid' => $uid, 'delete_time' => 0])->column('project_id');
- $map[] = ['id', 'in', $project_ids];
- }
- $project = Db::name('Project')->where($map)->select()->toArray();
- return $project;
- }
- //任务分配情况统计
- function plan_count($arrData)
- {
- $documents = array();
- foreach ($arrData as $index => $value) {
- $planTime = date("Y-m-d", $value['end_time']);
- if (empty($documents[$planTime])) {
- $documents[$planTime] = 1;
- } else {
- $documents[$planTime] += 1;
- }
- }
- return $documents;
- }
- //工时登记情况统计
- function hour_count($arrData)
- {
- $documents = array();
- foreach ($arrData as $index => $value) {
- $hourTime = date("Y-m-d", $value['start_time']);
- if (empty($documents[$hourTime])) {
- $documents[$hourTime] = $value['labor_time'] + 0;
- } else {
- $documents[$hourTime] += $value['labor_time'];
- }
- $documents[$hourTime] = round($documents[$hourTime], 2);
- }
- return $documents;
- }
- //燃尽图统计
- function cross_count($arrData)
- {
- $documents = array();
- foreach ($arrData as $index => $value) {
- $planTime = date("Y-m-d", $value['end_time']);
- if (empty($documents[$planTime])) {
- $documents[$planTime] = 1;
- } else {
- $documents[$planTime] += 1;
- }
- }
- return $documents;
- }
|