Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
annual-performance-indicators
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
王威威
annual-performance-indicators
Commits
76908ec7
提交
76908ec7
authored
7月 07, 2021
作者:
黄承天
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[指标]初始提交
上级
8ed6113d
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
375 行增加
和
0 行删除
+375
-0
IndexInfoController.java
...n/java/com/tykj/index/controller/IndexInfoController.java
+83
-0
IndexInfo.java
src/main/java/com/tykj/index/entity/IndexInfo.java
+40
-0
AreaChart.java
src/main/java/com/tykj/index/entity/vo/AreaChart.java
+24
-0
ChartVO.java
src/main/java/com/tykj/index/entity/vo/ChartVO.java
+26
-0
IndexInfoVo.java
src/main/java/com/tykj/index/entity/vo/IndexInfoVo.java
+45
-0
MouthChartVo.java
src/main/java/com/tykj/index/entity/vo/MouthChartVo.java
+26
-0
Rank.java
src/main/java/com/tykj/index/entity/vo/Rank.java
+25
-0
InitRootIndexInfo.java
src/main/java/com/tykj/index/init/InitRootIndexInfo.java
+16
-0
IndexInfoRepository.java
...n/java/com/tykj/index/repository/IndexInfoRepository.java
+11
-0
IndexInfoService.java
src/main/java/com/tykj/index/service/IndexInfoService.java
+0
-0
MonthUtil.java
src/main/java/com/tykj/model/utils/MonthUtil.java
+79
-0
没有找到文件。
src/main/java/com/tykj/index/controller/IndexInfoController.java
0 → 100644
浏览文件 @
76908ec7
package
com
.
tykj
.
index
.
controller
;
import
com.google.common.collect.ImmutableMap
;
import
com.tykj.base.result.ResultObj
;
import
com.tykj.base.result.ResultUtil
;
import
com.tykj.index.entity.vo.ChartVO
;
import
com.tykj.index.entity.vo.IndexInfoVo
;
import
com.tykj.index.entity.vo.MouthChartVo
;
import
com.tykj.index.service.IndexInfoService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.Map
;
@Api
(
tags
=
"指标相关接口"
)
@RestController
@RequestMapping
(
"/index"
)
public
class
IndexInfoController
{
@Autowired
private
IndexInfoService
indexInfoService
;
@ApiOperation
(
"新增单个指标 不需要传children数据"
)
@PostMapping
public
ResponseEntity
<
ResultObj
<
Object
>>
save
(
@RequestBody
IndexInfoVo
indexInfoVo
)
{
indexInfoService
.
save
(
indexInfoVo
);
return
ResultUtil
.
success
(
"新增成功"
);
}
@ApiOperation
(
"修改单个指标 不需要传children数据"
)
@PutMapping
public
ResponseEntity
<
ResultObj
<
Object
>>
update
(
@RequestBody
IndexInfoVo
indexInfoVo
)
{
indexInfoService
.
update
(
indexInfoVo
);
return
ResultUtil
.
success
(
"修改成功"
);
}
@ApiOperation
(
"根据parentId查询剩余可用权重"
)
@GetMapping
(
"/remain/weight/{parentId}"
)
public
ResponseEntity
<
Map
<
String
,
String
>>
checkRemainWeight
(
@PathVariable
Integer
parentId
)
{
Double
weight
=
indexInfoService
.
checkRemainWeight
(
parentId
);
return
ResponseEntity
.
ok
(
ImmutableMap
.
of
(
"weight"
,
weight
.
toString
()));
}
@ApiOperation
(
"根据id查图表"
)
@GetMapping
(
"/chart/{id}"
)
public
ResponseEntity
<
ChartVO
>
queryChart
(
@PathVariable
Integer
id
)
{
ChartVO
result
=
indexInfoService
.
querySQL
(
id
);
return
ResponseEntity
.
ok
(
result
);
}
@ApiOperation
(
"根据id 开始时间和结束时间 查询期间的多个图表数据"
)
@GetMapping
(
"/chart/mouth/{id}/{start}/{end}"
)
public
ResponseEntity
<
List
<
MouthChartVo
>>
queryChildrenChart
(
@PathVariable
Integer
id
,
@PathVariable
String
start
,
@PathVariable
String
end
)
{
List
<
MouthChartVo
>
result
=
indexInfoService
.
queryMouthCharts
(
id
,
start
,
end
);
return
ResponseEntity
.
ok
(
result
);
}
@ApiOperation
(
"根据指标id更新其上级节点的数据"
)
@GetMapping
(
"/update/values/{id}"
)
public
ResponseEntity
<
ResultObj
<
Object
>>
updateValues
(
@PathVariable
Integer
id
)
{
indexInfoService
.
updateValue
(
id
);
return
ResultUtil
.
success
(
"同步成功"
);
}
@ApiOperation
(
"查询指标列表 返回的是由根节点展开的指标数据"
)
@GetMapping
public
ResponseEntity
<
List
<
IndexInfoVo
>>
findAll
()
{
List
<
IndexInfoVo
>
root
=
indexInfoService
.
findAll
();
return
ResponseEntity
.
ok
(
root
);
}
@ApiOperation
(
"删除单个指标"
)
@DeleteMapping
(
"/{id}"
)
public
ResponseEntity
<
ResultObj
<
Object
>>
deleteById
(
@PathVariable
Integer
id
)
{
indexInfoService
.
deleteById
(
id
);
return
ResultUtil
.
success
(
"删除成功"
);
}
}
src/main/java/com/tykj/index/entity/IndexInfo.java
0 → 100644
浏览文件 @
76908ec7
package
com
.
tykj
.
index
.
entity
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.tykj.base.entity.BaseEntity
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.Table
;
@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
@Table
public
class
IndexInfo
extends
BaseEntity
{
private
String
label
;
private
String
alias
;
private
String
description
;
private
String
sqlContent
;
private
Integer
level
;
private
Double
weight
;
@Column
(
columnDefinition
=
"text"
)
private
String
ranks
;
private
Integer
parentId
;
@JsonIgnore
private
Integer
tableId
;
}
src/main/java/com/tykj/index/entity/vo/AreaChart.java
0 → 100644
浏览文件 @
76908ec7
package
com
.
tykj
.
index
.
entity
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
AreaChart
{
private
String
name
;
private
List
<
Double
>
areaValues
;
private
List
<
Double
>
areaValues2
;
private
List
<
String
>
rankNames
;
private
List
<
String
>
rankColors
;
}
src/main/java/com/tykj/index/entity/vo/ChartVO.java
0 → 100644
浏览文件 @
76908ec7
package
com
.
tykj
.
index
.
entity
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
ChartVO
{
private
List
<
String
>
names
;
private
List
<
Double
>
values
;
private
List
<
Double
>
values2
;
private
List
<
String
>
rankNames
;
private
List
<
String
>
rankColors
;
private
List
<
AreaChart
>
areaCharts
;
}
src/main/java/com/tykj/index/entity/vo/IndexInfoVo.java
0 → 100644
浏览文件 @
76908ec7
package
com
.
tykj
.
index
.
entity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
IndexInfoVo
{
@ApiModelProperty
(
"主键"
)
private
Integer
id
;
@ApiModelProperty
(
"名称"
)
private
String
label
;
@ApiModelProperty
(
"别名 用于创建对应实体的表名"
)
private
String
alias
;
@ApiModelProperty
(
"简介"
)
private
String
description
;
@ApiModelProperty
(
"SQL内容"
)
private
String
sql
;
@ApiModelProperty
(
"层级"
)
private
Integer
level
;
@ApiModelProperty
(
"权重"
)
private
Double
weight
;
@ApiModelProperty
(
"范围"
)
private
List
<
Rank
>
ranks
;
@ApiModelProperty
(
"下级子节点"
)
private
List
<
IndexInfoVo
>
children
;
@ApiModelProperty
(
"上级节点id"
)
private
Integer
parentId
;
}
src/main/java/com/tykj/index/entity/vo/MouthChartVo.java
0 → 100644
浏览文件 @
76908ec7
package
com
.
tykj
.
index
.
entity
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
MouthChartVo
{
private
String
month
;
private
List
<
String
>
names
;
private
List
<
Double
>
values
;
private
List
<
Double
>
values2
;
private
List
<
String
>
rankNames
;
private
List
<
String
>
rankColors
;
}
src/main/java/com/tykj/index/entity/vo/Rank.java
0 → 100644
浏览文件 @
76908ec7
package
com
.
tykj
.
index
.
entity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@AllArgsConstructor
@NoArgsConstructor
@Data
public
class
Rank
{
@ApiModelProperty
(
"名称"
)
private
String
name
;
@ApiModelProperty
(
"最小值"
)
private
Double
min
;
@ApiModelProperty
(
"最大值"
)
private
Double
max
;
@ApiModelProperty
(
"颜色"
)
private
String
color
;
}
src/main/java/com/tykj/index/init/InitRootIndexInfo.java
0 → 100644
浏览文件 @
76908ec7
package
com
.
tykj
.
index
.
init
;
import
com.tykj.index.repository.IndexInfoRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.stereotype.Component
;
@Component
public
class
InitRootIndexInfo
implements
CommandLineRunner
{
@Autowired
private
IndexInfoRepository
indexInfoRepository
;
@Override
public
void
run
(
String
...
args
)
{
}
}
src/main/java/com/tykj/index/repository/IndexInfoRepository.java
0 → 100644
浏览文件 @
76908ec7
package
com
.
tykj
.
index
.
repository
;
import
com.tykj.index.entity.IndexInfo
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
java.util.List
;
public
interface
IndexInfoRepository
extends
JpaRepository
<
IndexInfo
,
Integer
>
{
List
<
IndexInfo
>
findAllByParentId
(
Integer
parentId
);
IndexInfo
findByLevel
(
Integer
level
);
}
src/main/java/com/tykj/index/service/IndexInfoService.java
0 → 100644
浏览文件 @
76908ec7
差异被折叠。
点击展开。
src/main/java/com/tykj/model/utils/MonthUtil.java
0 → 100644
浏览文件 @
76908ec7
package
com
.
tykj
.
model
.
utils
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
/**
* 月份计算工具类
*/
public
class
MonthUtil
{
public
static
SimpleDateFormat
simpleDateFormatMonth
=
new
SimpleDateFormat
(
"yyyy-MM"
);
public
static
SimpleDateFormat
simpleDateFormatDay
=
new
SimpleDateFormat
(
"yyyy-MM-DD"
);
/**
* 计算开始时间到结束时间,中间的所有月份
* @param start 开始时间 例如:2020-1
* @param end 结束时间 例如:2020-1
* @return
*/
public
static
List
<
String
>
getMonthList
(
String
start
,
String
end
){
List
<
String
>
date
=
new
ArrayList
<
String
>();
try
{
Date
d1
=
new
SimpleDateFormat
(
"yyyy-MM"
).
parse
(
start
);
//定义起始日期
Date
d2
=
new
SimpleDateFormat
(
"yyyy-MM"
).
parse
(
end
);
//定义结束日期
Calendar
dd
=
Calendar
.
getInstance
();
//定义日期实例
dd
.
setTime
(
d1
);
//设置日期起始时间
while
(
dd
.
getTime
().
before
(
d2
))
{
//判断是否到结束日期
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM"
);
String
str
=
sdf
.
format
(
dd
.
getTime
());
date
.
add
(
str
);
dd
.
add
(
Calendar
.
MONTH
,
1
);
//进行当前日期月份加1
}
date
.
add
(
end
);;
//输出日期结果
}
catch
(
Exception
e
){
System
.
out
.
println
(
"异常"
+
e
.
getMessage
());
}
return
date
;
}
public
static
List
<
String
>
getMountListEndNow
(
String
start
){
return
getMonthList
(
start
,
new
SimpleDateFormat
(
"yyyy-MM"
).
format
(
new
Date
()));
}
public
static
Date
lastDay
(
String
month
){
Date
parse
=
null
;
try
{
parse
=
simpleDateFormatMonth
.
parse
(
month
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
Calendar
ca
=
Calendar
.
getInstance
();
ca
.
setTime
(
parse
);
ca
.
set
(
Calendar
.
DAY_OF_MONTH
,
ca
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
));
ca
.
set
(
Calendar
.
HOUR_OF_DAY
,
23
);
ca
.
set
(
Calendar
.
MINUTE
,
59
);
ca
.
set
(
Calendar
.
SECOND
,
59
);
return
ca
.
getTime
();
}
public
static
Date
firstDay
(
String
month
){
Date
parse
=
null
;
try
{
parse
=
simpleDateFormatMonth
.
parse
(
month
);
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
Calendar
ca
=
Calendar
.
getInstance
();
ca
.
setTime
(
parse
);
ca
.
set
(
Calendar
.
DAY_OF_MONTH
,
1
);
return
ca
.
getTime
();
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论