first commit

This commit is contained in:
2026-07-23 09:40:36 +08:00
commit 090abf48fa
989 changed files with 145728 additions and 0 deletions
+170
View File
@@ -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;
}