Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
tasktime
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
注册表
注册表
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
任建彩
tasktime
Commits
b1d270d7
提交
b1d270d7
authored
9月 23, 2021
作者:
任建彩
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
统计
上级
30d1f278
隐藏空白字符变更
内嵌
并排
正在显示
30 个修改的文件
包含
489 行增加
和
16 行删除
+489
-16
application.properties
app/file/src/main/resources/application.properties
+1
-1
application.yml
app/file/src/main/resources/application.yml
+1
-1
pom.xml
app/pom.xml
+10
-0
file-prod.yml
config/src/main/resources/properties/file-prod.yml
+1
-1
PersonnelController.java
.../zrqx/olive/personnel/controller/PersonnelController.java
+1
-1
StatisticsController.java
...zrqx/olive/personnel/controller/StatisticsController.java
+55
-0
QueryStatisticsProjectRequest.java
...live/personnel/request/QueryStatisticsProjectRequest.java
+25
-0
UserTaskLevelService.java
...om/zrqx/olive/personnel/service/UserTaskLevelService.java
+4
-0
DeptTotalInfoMonthVo.java
...ava/com/zrqx/olive/personnel/vo/DeptTotalInfoMonthVo.java
+21
-0
DeptTotalInfoVo.java
...ain/java/com/zrqx/olive/personnel/vo/DeptTotalInfoVo.java
+21
-0
EchartsDataDaysVo.java
...n/java/com/zrqx/olive/personnel/vo/EchartsDataDaysVo.java
+15
-0
EchartsDataMonthsVo.java
...java/com/zrqx/olive/personnel/vo/EchartsDataMonthsVo.java
+17
-0
EchartsDataQuartersVo.java
...va/com/zrqx/olive/personnel/vo/EchartsDataQuartersVo.java
+17
-0
EchartsDataVo.java
.../main/java/com/zrqx/olive/personnel/vo/EchartsDataVo.java
+25
-0
EchartsDataYearsVo.java
.../java/com/zrqx/olive/personnel/vo/EchartsDataYearsVo.java
+16
-0
EchartsDataweeksVo.java
.../java/com/zrqx/olive/personnel/vo/EchartsDataweeksVo.java
+15
-0
PreSaleEchartsDataMonthsVo.java
...m/zrqx/olive/personnel/vo/PreSaleEchartsDataMonthsVo.java
+15
-0
PreSaleEchartsDataQuartersVo.java
...zrqx/olive/personnel/vo/PreSaleEchartsDataQuartersVo.java
+15
-0
PreSaleEchartsDataVo.java
...ava/com/zrqx/olive/personnel/vo/PreSaleEchartsDataVo.java
+17
-0
PreSaleEchartsDataYearsVo.java
...om/zrqx/olive/personnel/vo/PreSaleEchartsDataYearsVo.java
+15
-0
StatisticsProjectNumVo.java
...a/com/zrqx/olive/personnel/vo/StatisticsProjectNumVo.java
+40
-0
StatisticsTask.java
...main/java/com/zrqx/olive/personnel/vo/StatisticsTask.java
+1
-1
StatisticsProjectDao.java
...java/com/zrqx/olive/project/dao/StatisticsProjectDao.java
+13
-1
StatisticsProjectService.java
.../zrqx/olive/project/service/StatisticsProjectService.java
+16
-0
StatisticsProjectServiceImpl.java
...ve/project/service/impl/StatisticsProjectServiceImpl.java
+58
-4
TaskDao.java
...nsole/src/main/java/com/zrqx/olive/ttask/dao/TaskDao.java
+25
-3
TaskService.java
...c/main/java/com/zrqx/olive/ttask/service/TaskService.java
+1
-1
TaskServiceImpl.java
...ava/com/zrqx/olive/ttask/service/imp/TaskServiceImpl.java
+1
-1
application.properties
olive-console/src/main/resources/application.properties
+26
-0
bootstrap.yml
zuul/src/main/resources/bootstrap.yml
+1
-1
没有找到文件。
app/file/src/main/resources/application.properties
浏览文件 @
b1d270d7
...
...
@@ -23,7 +23,7 @@
#spring.redis.sentinel.nodes=10.189.80.25:26379,10.189.80.26:26379,10.189.80.27:26378
file-root-path
=
/opt/upload/
hxwza
/
file-root-path
=
/opt/upload/
tasktime
/
dist-root-path
=
/opt/view/hxwza/
# ueditor路径引用
ue-res-server
=
http://192.168.2.190:2000/file/
...
...
app/file/src/main/resources/application.yml
浏览文件 @
b1d270d7
...
...
@@ -6,7 +6,7 @@ ribbon:
ReadTimeout
:
600000
#服务间连接超时时间
spring
:
resources
:
static-locations
:
classpath:/static/,classpath:/META-INF/resources/,file:/opt/upload/
hxwza
/
static-locations
:
classpath:/static/,classpath:/META-INF/resources/,file:/opt/upload/
tasktime
/
servlet
:
multipart
:
enabled
:
true
...
...
app/pom.xml
浏览文件 @
b1d270d7
...
...
@@ -14,6 +14,16 @@
<packaging>
pom
</packaging>
<dependencies>
<dependency>
<groupId>
com.lowagie
</groupId>
<artifactId>
itext
</artifactId>
<version>
4.2.1
</version>
</dependency>
<dependency>
<groupId>
com.itextpdf
</groupId>
<artifactId>
itextpdf
</artifactId>
<version>
5.5.13
</version>
</dependency>
<dependency>
<groupId>
com.zrqx
</groupId>
<artifactId>
core
</artifactId>
<version>
5.0.0
</version>
...
...
config/src/main/resources/properties/file-prod.yml
浏览文件 @
b1d270d7
...
...
@@ -12,7 +12,7 @@ spring:
percentage
:
${default.spring-sleuth-sampler-percentage}
datasource
:
driver-class-name
:
${default.spring-datasource-driver-class-name}
url
:
${default.spring-datasource-url}
tasktime
url
:
${default.spring-datasource-url}
crmeb_java
username
:
${default.spring-datasource-username}
password
:
${default.spring-datasource-password}
initialize
:
${default.spring-datasource-initialize}
...
...
olive-console/src/main/java/com/zrqx/olive/personnel/controller/PersonnelController.java
浏览文件 @
b1d270d7
...
...
@@ -17,10 +17,10 @@ import com.zrqx.olive.personnel.request.CompleteQueryForm;
import
com.zrqx.olive.personnel.request.PersonnelRequest
;
import
com.zrqx.olive.personnel.request.SaveOrUpdateLevelForm
;
import
com.zrqx.olive.personnel.service.UserTaskLevelService
;
import
com.zrqx.olive.personnel.vo.StatisticsTask
;
import
com.zrqx.olive.personnel.vo.StatisticsTaskTime
;
import
com.zrqx.olive.personnel.vo.StatisticsTaskTimeSplit
;
import
com.zrqx.olive.ttask.service.TaskService
;
import
com.zrqx.statistics.entity.StatisticsTask
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
olive-console/src/main/java/com/zrqx/olive/personnel/controller/StatisticsController.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
controller
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.common.CommonResult
;
import
com.zrqx.olive.personnel.service.UserTaskLevelService
;
import
com.zrqx.olive.personnel.vo.EchartsDataVo
;
import
com.zrqx.olive.personnel.vo.PreSaleEchartsDataVo
;
import
com.zrqx.olive.personnel.vo.StatisticsProjectNumVo
;
import
com.zrqx.olive.project.service.StatisticsProjectService
;
import
com.zrqx.olive.ttask.service.TaskService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
@Slf4j
@RestController
@RequestMapping
(
"api/admin/statistics"
)
@Api
(
tags
=
"绩效统计"
)
public
class
StatisticsController
{
@Autowired
private
StatisticsProjectService
projectService
;
@Autowired
private
TaskService
taskService
;
@Autowired
private
UserTaskLevelService
service
;
@ApiOperation
(
value
=
"项目统计"
)
@PostMapping
(
"/projectList"
)
public
CommonResult
<
StatisticsProjectNumVo
>
projectList
(
String
years
){
return
CommonResult
.
success
(
projectService
.
projectList
(
years
));
}
@ApiOperation
(
value
=
"各部门产出折线图数据"
)
@GetMapping
(
"/echart/Data"
)
public
CommonResult
<
EchartsDataVo
>
echartsData
(
String
years
)
{
EchartsDataVo
data
=
projectService
.
selectEChartsData
(
years
);
return
CommonResult
.
success
(
data
);
}
@ApiOperation
(
value
=
"售前折线图"
)
@GetMapping
(
"/preSale/Data"
)
public
CommonResult
<
PreSaleEchartsDataVo
>
preSaleEchartsData
(
String
years
)
{
PreSaleEchartsDataVo
data
=
projectService
.
selectPreSaleEchartsData
(
years
);
return
CommonResult
.
success
(
data
);
}
}
olive-console/src/main/java/com/zrqx/olive/personnel/request/QueryStatisticsProjectRequest.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
request
;
import
java.io.Serializable
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"QueryStatisticsProjectRequest对象"
,
description
=
"查询项目管理表"
)
public
class
QueryStatisticsProjectRequest
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"年份"
)
private
String
years
;
@ApiModelProperty
(
"项目状态: 1项目启动、2需求分析、3项目开发、4系统测试、5部署试运行、6项目结项、7售后期、8已归档 "
)
private
String
status
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/service/UserTaskLevelService.java
浏览文件 @
b1d270d7
...
...
@@ -3,7 +3,9 @@ package com.zrqx.olive.personnel.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zrqx.olive.personnel.model.UserTaskLevel
;
import
com.zrqx.olive.personnel.request.QueryLevelForm
;
import
com.zrqx.olive.personnel.request.QueryStatisticsProjectRequest
;
import
com.zrqx.olive.personnel.request.SaveOrUpdateLevelForm
;
import
com.zrqx.olive.personnel.vo.StatisticsProjectNumVo
;
/**
* SystemAdminService 接口
...
...
@@ -22,4 +24,6 @@ public interface UserTaskLevelService extends IService<UserTaskLevel> {
Boolean
saveOrUpdate
(
SaveOrUpdateLevelForm
form
);
Integer
getSumLevel
(
QueryLevelForm
form
);
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/DeptTotalInfoMonthVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
java.math.BigDecimal
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
DeptTotalInfoMonthVo
{
@ApiModelProperty
(
"部门名称"
)
private
String
department_id
;
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"成员人数"
)
private
Integer
sumUser
;
@ApiModelProperty
(
"月产出总量"
)
private
BigDecimal
sumTime
;
@ApiModelProperty
(
"均值"
)
private
BigDecimal
average
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/DeptTotalInfoVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
java.math.BigDecimal
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
DeptTotalInfoVo
{
@ApiModelProperty
(
"部门名称"
)
private
String
department_id
;
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"产出总量"
)
private
BigDecimal
sumTime
;
@ApiModelProperty
(
"成员人数"
)
private
Integer
sumUser
;
@ApiModelProperty
(
"均值"
)
private
BigDecimal
average
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/EchartsDataDaysVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
EchartsDataDaysVo
{
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"产出总量"
)
private
Double
sumTime
=
0.0
;
@ApiModelProperty
(
"每天"
)
private
String
days
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/EchartsDataMonthsVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
EchartsDataMonthsVo
{
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"产出总量"
)
private
Double
sumTime
;
@ApiModelProperty
(
"每月"
)
private
String
months
;
@ApiModelProperty
(
"姓名"
)
private
String
name
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/EchartsDataQuartersVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
EchartsDataQuartersVo
{
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"产出总量"
)
private
Double
sumTime
;
@ApiModelProperty
(
"每季度"
)
private
String
quarters
;
@ApiModelProperty
(
"姓名"
)
private
String
name
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/EchartsDataVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
java.util.List
;
import
lombok.Data
;
/** 折线图所需数据 */
@Data
public
class
EchartsDataVo
{
//每天数据
private
List
<
EchartsDataDaysVo
>
days
;
//每周数据
private
List
<
EchartsDataweeksVo
>
weeks
;
//每月数据
private
List
<
EchartsDataMonthsVo
>
months
;
//季度
private
List
<
EchartsDataQuartersVo
>
quarters
;
//每年数据
private
List
<
EchartsDataYearsVo
>
years
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/EchartsDataYearsVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
EchartsDataYearsVo
{
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"产出总量"
)
private
Double
sumTime
;
@ApiModelProperty
(
"每年"
)
private
String
years
;
@ApiModelProperty
(
"姓名"
)
private
String
name
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/EchartsDataweeksVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
EchartsDataweeksVo
{
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"产出总量"
)
private
Double
sumTime
;
@ApiModelProperty
(
"每周"
)
private
String
weeks
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/PreSaleEchartsDataMonthsVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
PreSaleEchartsDataMonthsVo
{
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"产出总量"
)
private
Double
sumTime
=
0.0
;
@ApiModelProperty
(
"每月"
)
private
String
months
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/PreSaleEchartsDataQuartersVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
PreSaleEchartsDataQuartersVo
{
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"产出总量"
)
private
Double
sumTime
=
0.0
;
@ApiModelProperty
(
"每季度"
)
private
String
quarters
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/PreSaleEchartsDataVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
java.util.List
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
PreSaleEchartsDataVo
{
@ApiModelProperty
(
"月数据"
)
private
List
<
PreSaleEchartsDataMonthsVo
>
months
;
@ApiModelProperty
(
"季度"
)
private
List
<
PreSaleEchartsDataQuartersVo
>
quarters
;
@ApiModelProperty
(
"年数据"
)
private
List
<
PreSaleEchartsDataYearsVo
>
years
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/PreSaleEchartsDataYearsVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
PreSaleEchartsDataYearsVo
{
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
@ApiModelProperty
(
"产出总量"
)
private
Double
sumTime
=
0.0
;
@ApiModelProperty
(
"每年"
)
private
String
years
;
}
olive-console/src/main/java/com/zrqx/olive/personnel/vo/StatisticsProjectNumVo.java
0 → 100644
浏览文件 @
b1d270d7
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
java.util.List
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"StatisticsTaskTime对象"
,
description
=
"人员管理表"
)
public
class
StatisticsProjectNumVo
{
@ApiModelProperty
(
"项目总量"
)
private
Integer
projetCount
;
@ApiModelProperty
(
"项目启动"
)
private
Integer
projectStart
;
@ApiModelProperty
(
"需求分析"
)
private
Integer
demandCount
;
@ApiModelProperty
(
"项目开发"
)
private
Integer
developCount
;
@ApiModelProperty
(
"系统测试"
)
private
Integer
testCount
;
@ApiModelProperty
(
"部署试运行"
)
private
Integer
deployCount
;
@ApiModelProperty
(
"项目结项"
)
private
Integer
closingItemCount
;
@ApiModelProperty
(
"售后期"
)
private
Integer
saleCount
;
@ApiModelProperty
(
"已归档"
)
private
Integer
archivedCount
;
@ApiModelProperty
(
"部门产出工时"
)
private
List
<
DeptTotalInfoVo
>
list
;
@ApiModelProperty
(
"部门月产出工时"
)
private
List
<
DeptTotalInfoMonthVo
>
list1
;
}
olive-console/src/main/java/com/zrqx/
statistics/entity
/StatisticsTask.java
→
olive-console/src/main/java/com/zrqx/
olive/personnel/vo
/StatisticsTask.java
浏览文件 @
b1d270d7
package
com
.
zrqx
.
statistics
.
entity
;
package
com
.
zrqx
.
olive
.
personnel
.
vo
;
import
java.math.BigDecimal
;
import
java.util.Date
;
...
...
olive-console/src/main/java/com/zrqx/olive/project/dao/StatisticsProjectDao.java
浏览文件 @
b1d270d7
...
...
@@ -6,6 +6,8 @@ import org.apache.ibatis.annotations.Param;
import
org.apache.ibatis.annotations.Select
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zrqx.olive.personnel.request.QueryStatisticsProjectRequest
;
import
com.zrqx.olive.personnel.vo.StatisticsProjectNumVo
;
import
com.zrqx.olive.project.model.StatisticsProject
;
import
com.zrqx.olive.project.request.QueryProjectRequest
;
import
com.zrqx.olive.project.vo.ProjectListVo
;
...
...
@@ -44,6 +46,16 @@ public interface StatisticsProjectDao extends BaseMapper<StatisticsProject> {
+
"AND project like concat('%',#{form.project},'%')"
+
"</if>"
+
"</script>"
)
List
<
ProjectListVo1
>
list
(
QueryProjectRequest
form
);
List
<
ProjectListVo1
>
list
(
@Param
(
"form"
)
QueryProjectRequest
form
);
@Select
(
"<script>"
+
"select COUNT(*) FROM t_statistics_project p WHERE 1=1 "
+
"<if test = 'status!=null'> "
+
" and p.status = #{status} "
+
"</if>"
+
"<if test = 'years!=null'> "
+
" and YEAR(p.start_time) = #{years} "
+
"</if>"
+
"</script>"
)
Integer
projetCount
(
@Param
(
"years"
)
String
years
,
@Param
(
"status"
)
String
status
);
}
olive-console/src/main/java/com/zrqx/olive/project/service/StatisticsProjectService.java
浏览文件 @
b1d270d7
...
...
@@ -3,8 +3,13 @@ package com.zrqx.olive.project.service;
import
java.util.List
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.common.MyRecord
;
import
com.common.PageParamRequest
;
import
com.github.pagehelper.PageInfo
;
import
com.zrqx.olive.personnel.request.QueryStatisticsProjectRequest
;
import
com.zrqx.olive.personnel.vo.EchartsDataVo
;
import
com.zrqx.olive.personnel.vo.PreSaleEchartsDataVo
;
import
com.zrqx.olive.personnel.vo.StatisticsProjectNumVo
;
import
com.zrqx.olive.project.model.StatisticsProject
;
import
com.zrqx.olive.project.request.QueryProjectRequest
;
import
com.zrqx.olive.project.request.SaveProjectRequest
;
...
...
@@ -69,5 +74,16 @@ public interface StatisticsProjectService extends IService<StatisticsProject> {
* @date 2021年9月8日
*/
List
<
ProjectListVo1
>
list
(
QueryProjectRequest
form
);
/**
* 统计项目数量
* @Title: StatisticsProjectService.java
* @Package com.zrqx.olive.project.service
* @Description: TODO
* @author 任建彩
* @date 2021年9月22日
*/
StatisticsProjectNumVo
projectList
(
String
years
);
PreSaleEchartsDataVo
selectPreSaleEchartsData
(
String
years
);
EchartsDataVo
selectEChartsData
(
String
years
);
}
olive-console/src/main/java/com/zrqx/olive/project/service/impl/StatisticsProjectServiceImpl.java
浏览文件 @
b1d270d7
...
...
@@ -8,7 +8,6 @@ import java.util.List;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.web.ProjectedPayload
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
...
...
@@ -21,17 +20,20 @@ import com.github.pagehelper.Page;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.utils.DateUtils
;
import
com.zrqx.olive.personnel.vo.DeptTotalInfoMonthVo
;
import
com.zrqx.olive.personnel.vo.DeptTotalInfoVo
;
import
com.zrqx.olive.personnel.vo.EchartsDataVo
;
import
com.zrqx.olive.personnel.vo.PreSaleEchartsDataVo
;
import
com.zrqx.olive.personnel.vo.StatisticsProjectNumVo
;
import
com.zrqx.olive.project.dao.CustomerDao
;
import
com.zrqx.olive.project.dao.ProjectFileDao
;
import
com.zrqx.olive.project.dao.ProjectRecordDao
;
import
com.zrqx.olive.project.dao.ProjectUserDao
;
import
com.zrqx.olive.project.dao.StatisticsProjectDao
;
import
com.zrqx.olive.project.dao.TeamDao
;
import
com.zrqx.olive.project.model.Customer
;
import
com.zrqx.olive.project.model.ProjectFile
;
import
com.zrqx.olive.project.model.ProjectUser
;
import
com.zrqx.olive.project.model.StatisticsProject
;
import
com.zrqx.olive.project.model.Team
;
import
com.zrqx.olive.project.request.QueryProjectRequest
;
import
com.zrqx.olive.project.request.SaveProjectRequest
;
import
com.zrqx.olive.project.request.StatisticsProjectRequest
;
...
...
@@ -41,7 +43,7 @@ import com.zrqx.olive.project.vo.ProjectListVo1;
import
com.zrqx.olive.project.vo.ProjectVo
;
import
com.zrqx.olive.system.response.SystemAdminResponse
;
import
com.zrqx.olive.timeApply.dao.TimeApplyChangeDao
;
import
com.zrqx.olive.ttask.
model.Task
;
import
com.zrqx.olive.ttask.
dao.TaskDao
;
import
com.zrqx.olive.ttask.service.TaskService
;
@Service
public
class
StatisticsProjectServiceImpl
extends
ServiceImpl
<
StatisticsProjectDao
,
StatisticsProject
>
implements
StatisticsProjectService
{
...
...
@@ -63,6 +65,8 @@ public class StatisticsProjectServiceImpl extends ServiceImpl<StatisticsProjectD
@Autowired
private
TaskService
taskService
;
@Autowired
private
TaskDao
taskDao
;
@Autowired
private
TeamDao
teamDao
;
@Override
...
...
@@ -219,4 +223,54 @@ public class StatisticsProjectServiceImpl extends ServiceImpl<StatisticsProjectD
// TODO Auto-generated method stub
return
mapper
.
list
(
form
)
;
}
@Override
public
StatisticsProjectNumVo
projectList
(
String
years
)
{
StatisticsProjectNumVo
vo
=
new
StatisticsProjectNumVo
();
//总项目数
Integer
projetCount
=
mapper
.
projetCount
(
years
,
null
);
vo
.
setProjetCount
(
projetCount
);
//1项目启动、2需求分析、3项目开发、4系统测试、5部署试运行、6项目结项、7售后期、8已归档
Integer
projectStart
=
mapper
.
projetCount
(
years
,
"1"
);
vo
.
setProjectStart
(
projectStart
);
Integer
demandCount
=
mapper
.
projetCount
(
years
,
"2"
);
vo
.
setDemandCount
(
demandCount
);
Integer
developCount
=
mapper
.
projetCount
(
years
,
"3"
);
vo
.
setDevelopCount
(
developCount
);
Integer
testCount
=
mapper
.
projetCount
(
years
,
"4"
);
vo
.
setTestCount
(
testCount
);
Integer
deployCount
=
mapper
.
projetCount
(
years
,
"5"
);
vo
.
setDeployCount
(
deployCount
);
Integer
closingItemCount
=
mapper
.
projetCount
(
years
,
"6"
);
vo
.
setClosingItemCount
(
closingItemCount
);
Integer
saleCount
=
mapper
.
projetCount
(
years
,
"7"
);
vo
.
setSaleCount
(
saleCount
);
Integer
archivedCount
=
mapper
.
projetCount
(
years
,
"8"
);
vo
.
setArchivedCount
(
archivedCount
);
//各部门产出工时
//List<DeptTotalInfoVo> list = new ArrayList<DeptTotalInfoVo>();
List
<
DeptTotalInfoVo
>
list
=
taskDao
.
deptTotalInfo
(
years
);
for
(
DeptTotalInfoVo
deptTotalInfoVo
:
list
)
{
deptTotalInfoVo
.
setAverage
(
deptTotalInfoVo
.
getSumTime
().
divide
(
new
BigDecimal
(
deptTotalInfoVo
.
getSumUser
()),
2
));
}
List
<
DeptTotalInfoMonthVo
>
list1
=
taskDao
.
deptTotalInfoMonth
();
for
(
DeptTotalInfoMonthVo
deptTotalInfoVo
:
list1
)
{
deptTotalInfoVo
.
setAverage
(
deptTotalInfoVo
.
getSumTime
().
divide
(
new
BigDecimal
(
deptTotalInfoVo
.
getSumUser
()),
2
));
}
vo
.
setList1
(
list1
);
vo
.
setList
(
list
);
return
vo
;
}
@Override
public
PreSaleEchartsDataVo
selectPreSaleEchartsData
(
String
years
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
EchartsDataVo
selectEChartsData
(
String
years
)
{
// TODO Auto-generated method stub
return
null
;
}
}
olive-console/src/main/java/com/zrqx/olive/ttask/dao/TaskDao.java
浏览文件 @
b1d270d7
...
...
@@ -10,13 +10,15 @@ import org.apache.ibatis.annotations.Select;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zrqx.olive.personnel.request.CompleteQueryForm
;
import
com.zrqx.olive.personnel.request.PersonnelRequest
;
import
com.zrqx.olive.personnel.vo.DeptTotalInfoMonthVo
;
import
com.zrqx.olive.personnel.vo.DeptTotalInfoVo
;
import
com.zrqx.olive.personnel.vo.StatisticsTask
;
import
com.zrqx.olive.personnel.vo.StatisticsTaskTime
;
import
com.zrqx.olive.personnel.vo.StatisticsTaskTimeSplit
;
import
com.zrqx.olive.ttask.model.Task
;
import
com.zrqx.olive.ttask.request.TaskRequest
;
import
com.zrqx.olive.ttask.vo.TaskExcelVo
;
import
com.zrqx.olive.ttask.vo.TaskVo
;
import
com.zrqx.statistics.entity.StatisticsTask
;
/**
* 任务管理表 Mapper 接口
...
...
@@ -197,7 +199,6 @@ public interface TaskDao extends BaseMapper<Task> {
@Select
(
"<script>"
+
" select sum(working_hours) FROM t_task a where 1=1 "
+
"<if test = 'id!=null and id!=\"\"'> "
+
" and task_status=1 "
+
" AND a.project_id = #{id} "
+
"</if>"
+
"<if test = 'departmentId!=null and departmentId!=\"\"'> "
...
...
@@ -208,6 +209,9 @@ public interface TaskDao extends BaseMapper<Task> {
+
" and (task_status=1 or task_status=2 or task_status=3) "
+
" AND a.user_id = #{userId} "
+
"</if>"
+
"<if test = 'userId==null and userId==\"\"'> "
+
" and task_status=1 "
+
"</if>"
+
"</script>"
)
BigDecimal
querySurplus
(
String
id
,
Integer
userId
,
Integer
departmentId
);
@Select
(
"<script>"
...
...
@@ -326,9 +330,27 @@ public interface TaskDao extends BaseMapper<Task> {
+
" AND b.is_type = #{taskRequest.isType} "
+
"</if>"
+
"<if test = 'form.userId!=null'> "
+
" and
r
b.id=#{form.userId} "
+
" and b.id=#{form.userId} "
+
"</if>"
+
"and a.task_status=3 GROUP BY project_id "
+
"</script>"
)
List
<
StatisticsTaskTimeSplit
>
queryProjectSplitData
(
@Param
(
"form"
)
CompleteQueryForm
form
);
@Select
(
"<script>"
+
"SELECT tt.* from (SELECT SUM(working_hours) sumTime ,a.department_id,c.department_name deptName,"
+
"(SELECT COUNT(*) from eb_system_admin where department_id=c.id and is_type =1) sumUser from t_task a "
+
"INNER JOIN sys_department c on a.department_id=c.id where 1=1 and a.task_status=3 and a.department_id is not null"
+
"<if test = 'years!=null'> "
+
" and YEAR(complete_Time)=#{years} "
+
"</if>"
+
" GROUP BY department_id) tt"
+
"</script>"
)
List
<
DeptTotalInfoVo
>
deptTotalInfo
(
String
years
);
@Select
(
"<script>"
+
"SELECT tt.* from (SELECT SUM(working_hours) sumTime,a.department_id,c.department_name deptName,"
+
"(SELECT COUNT(*) from eb_system_admin where department_id=c.id and is_type =1) sumUser from t_task a "
+
"INNER JOIN sys_department c on a.department_id=c.id where 1=1 and a.task_status=3 and a.department_id is not null "
+
"and DATE_FORMAT( complete_Time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) "
+
" GROUP BY department_id) tt"
+
"</script>"
)
List
<
DeptTotalInfoMonthVo
>
deptTotalInfoMonth
();
}
olive-console/src/main/java/com/zrqx/olive/ttask/service/TaskService.java
浏览文件 @
b1d270d7
...
...
@@ -13,6 +13,7 @@ import com.github.pagehelper.PageInfo;
import
com.utils.excelutil.BaseException
;
import
com.zrqx.olive.personnel.request.CompleteQueryForm
;
import
com.zrqx.olive.personnel.request.PersonnelRequest
;
import
com.zrqx.olive.personnel.vo.StatisticsTask
;
import
com.zrqx.olive.personnel.vo.StatisticsTaskTime
;
import
com.zrqx.olive.personnel.vo.StatisticsTaskTimeSplit
;
import
com.zrqx.olive.ttask.model.Task
;
...
...
@@ -20,7 +21,6 @@ import com.zrqx.olive.ttask.request.TaskForm;
import
com.zrqx.olive.ttask.request.TaskRequest
;
import
com.zrqx.olive.ttask.vo.TaskExcelVo
;
import
com.zrqx.olive.ttask.vo.TaskVo
;
import
com.zrqx.statistics.entity.StatisticsTask
;
/**
* TaskService 接口
...
...
olive-console/src/main/java/com/zrqx/olive/ttask/service/imp/TaskServiceImpl.java
浏览文件 @
b1d270d7
...
...
@@ -32,6 +32,7 @@ import com.zrqx.olive.personnel.dao.UserTaskLevelDao;
import
com.zrqx.olive.personnel.request.CompleteQueryForm
;
import
com.zrqx.olive.personnel.request.PersonnelRequest
;
import
com.zrqx.olive.personnel.request.QueryLevelForm
;
import
com.zrqx.olive.personnel.vo.StatisticsTask
;
import
com.zrqx.olive.personnel.vo.StatisticsTaskTime
;
import
com.zrqx.olive.personnel.vo.StatisticsTaskTimeSplit
;
import
com.zrqx.olive.project.model.DiyType
;
...
...
@@ -46,7 +47,6 @@ import com.zrqx.olive.ttask.service.TaskService;
import
com.zrqx.olive.ttask.vo.ExcelTaskVo
;
import
com.zrqx.olive.ttask.vo.TaskExcelVo
;
import
com.zrqx.olive.ttask.vo.TaskVo
;
import
com.zrqx.statistics.entity.StatisticsTask
;
/**
* TaskServiceImpl 接口实现
...
...
olive-console/src/main/resources/application.properties
0 → 100644
浏览文件 @
b1d270d7
#################redis基础配置#################
#spring.redis.database=5
#spring.redis.host=192.168.2.230
#spring.redis.password=123456
#spring.redis.port=6379
# 连接超时时间 单位 ms(毫秒)
#spring.redis.timeout=3000
#################redis线程池设置#################
# 连接池中的最大空闲连接,默认值也是8。
#spring.redis.pool.max-idle=500
#连接池中的最小空闲连接,默认值也是0。
#spring.redis.pool.min-idle=50
# 如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
#spring.redis.pool.max-active=2000
# 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException
#spring.redis.pool.max-wait=1000
#################redis哨兵设置#################
# Redis服务器master的名字
#spring.redis.sentinel.master=master8026
# redis-sentinel的配置地址和端口
#spring.redis.sentinel.nodes=10.189.80.25:26379,10.189.80.26:26379,10.189.80.27:26378
file-root-path
=
/opt/upload/tasktime/
zuul/src/main/resources/bootstrap.yml
浏览文件 @
b1d270d7
server
:
port
:
200
0
port
:
8
0
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论