first commit
This commit is contained in:
@@ -0,0 +1,170 @@
|
||||
<?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;
|
||||
}
|
||||
Reference in New Issue
Block a user