Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
tasktime
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
注册表
注册表
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
任建彩
tasktime
Commits
a6bdfdbc
提交
a6bdfdbc
authored
10月 15, 2021
作者:
任建彩
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
项目节点
上级
65bd1fc7
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
99 行增加
和
50 行删除
+99
-50
ProjectNodeController.java
.../zrqx/olive/project/controller/ProjectNodeController.java
+63
-27
ProjectNode.java
...c/main/java/com/zrqx/olive/project/model/ProjectNode.java
+3
-11
ProjectNodeListRequest.java
...om/zrqx/olive/project/request/ProjectNodeListRequest.java
+7
-4
UpdateProjectNodeDateRequest.java
...x/olive/project/request/UpdateProjectNodeDateRequest.java
+1
-1
UpdateProjectNodeRequest.java
.../zrqx/olive/project/request/UpdateProjectNodeRequest.java
+1
-1
ProjectNodeService.java
...va/com/zrqx/olive/project/service/ProjectNodeService.java
+2
-1
ProjectNodeServiceImpl.java
...qx/olive/project/service/impl/ProjectNodeServiceImpl.java
+18
-2
ProjectNodeListVo.java
...ain/java/com/zrqx/olive/project/vo/ProjectNodeListVo.java
+4
-3
没有找到文件。
olive-console/src/main/java/com/zrqx/olive/project/controller/ProjectNodeController.java
浏览文件 @
a6bdfdbc
...
...
@@ -3,6 +3,8 @@ package com.zrqx.olive.project.controller;
import
java.util.Date
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -14,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.common.CheckAdminToken
;
import
com.common.CommonResult
;
import
com.utils.Copy
;
import
com.utils.DateUtils
;
...
...
@@ -25,6 +28,8 @@ import com.zrqx.olive.project.request.UpdateProjectNodeDateRequest;
import
com.zrqx.olive.project.request.UpdateProjectNodeRequest
;
import
com.zrqx.olive.project.service.ProjectNodeService
;
import
com.zrqx.olive.project.vo.ProjectNodeListVo
;
import
com.zrqx.olive.system.response.SystemAdminResponse
;
import
com.zrqx.olive.system.service.SystemAdminService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -37,32 +42,47 @@ import lombok.extern.slf4j.Slf4j;
public
class
ProjectNodeController
{
@Autowired
private
ProjectNodeService
service
;
@Autowired
private
SystemAdminService
systemAdminService
;
@Autowired
private
CheckAdminToken
checkAdminToken
;
@ApiOperation
(
value
=
"新建任务清单"
,
notes
=
"新建任务清单"
)
@PostMapping
(
value
=
"/save"
)
public
CommonResult
<
Boolean
>
save
(
@RequestBody
SaveProjectNodeRequest
form
)
{
return
service
.
saveProjectNode
(
form
);
public
CommonResult
<
Boolean
>
save
(
@RequestBody
SaveProjectNodeRequest
form
,
HttpServletRequest
request
)
throws
Exception
{
String
token
=
checkAdminToken
.
getTokenFormRequest
(
request
);
SystemAdminResponse
systemAdminResponse
=
systemAdminService
.
getInfoByToken
(
token
);
return
service
.
saveProjectNode
(
form
,
systemAdminResponse
);
}
@ApiOperation
(
value
=
"完成状态"
,
notes
=
"完成状态"
)
@PostMapping
(
value
=
"/status"
)
public
CommonResult
<
String
>
status
(
@RequestBody
UpdateProjectNodeRequest
form
)
{
public
CommonResult
<
Boolean
>
status
(
@RequestBody
UpdateProjectNodeRequest
form
)
{
if
(
StringUtils
.
isNotBlank
(
form
.
getProjectId
()))
{
ProjectNode
node
=
service
.
getById
(
form
.
getId
());
QueryWrapper
<
ProjectNode
>
qw
=
new
QueryWrapper
<
ProjectNode
>();
if
(
form
.
getPid
()!=
null
)
{
qw
.
eq
(
"pid"
,
form
.
getPid
());
qw
.
eq
(
"project_id"
,
form
.
getProjectId
());
}
ProjectNode
node
=
service
.
getOne
(
qw
);
node
.
setStatus
(
form
.
getStatus
());
service
.
update
ById
(
node
);
service
.
update
(
node
,
qw
);
}
return
null
;
return
CommonResult
.
success
(
true
)
;
}
@ApiOperation
(
value
=
"截止时间"
,
notes
=
"截止时间"
)
@PostMapping
(
value
=
"/endDate"
)
public
CommonResult
<
String
>
endDate
(
@RequestBody
UpdateProjectNodeDateRequest
form
)
{
public
CommonResult
<
Boolean
>
endDate
(
@RequestBody
UpdateProjectNodeDateRequest
form
)
{
if
(
StringUtils
.
isNotBlank
(
form
.
getProjectId
()))
{
ProjectNode
node
=
service
.
getById
(
form
.
getId
());
Date
time
=
DateUtils
.
strToDateTime
(
form
.
getDeadline
(),
DateUtils
.
DATE_FORMAT_YYYY_MM_DD
);
node
.
setDeadline
(
time
);
service
.
updateById
(
node
);
QueryWrapper
<
ProjectNode
>
qw
=
new
QueryWrapper
<
ProjectNode
>();
if
(
form
.
getPid
()!=
null
)
{
qw
.
eq
(
"pid"
,
form
.
getPid
());
qw
.
eq
(
"project_id"
,
form
.
getProjectId
());
}
ProjectNode
node
=
service
.
getOne
(
qw
);
node
.
setDeadline
(
form
.
getDeadline
());
service
.
update
(
node
,
qw
);
}
return
null
;
return
CommonResult
.
success
(
true
)
;
}
@ApiOperation
(
value
=
"新增自定义分类"
,
notes
=
"新增一个"
)
@PostMapping
(
value
=
"/saveOrUpdate"
)
...
...
@@ -72,7 +92,7 @@ public class ProjectNodeController {
if
(
entity
.
getTaskName
()==
null
||
entity
.
getTaskName
()==
""
)
{
return
CommonResult
.
failed
(
"模块名称不能为空!"
);
}
if
(
entity
.
get
I
d
()==
null
)
{
if
(
entity
.
get
Pi
d
()==
null
)
{
ProjectNode
type
=
new
ProjectNode
();
BeanUtils
.
copyProperties
(
entity
,
type
);
QueryWrapper
<
ProjectNode
>
queryWrapper
=
new
QueryWrapper
<>();
...
...
@@ -98,7 +118,7 @@ public class ProjectNodeController {
return
CommonResult
.
success
(
"操作失败!"
);
}
}
else
{
ProjectNode
type
=
service
.
getById
(
entity
.
get
I
d
());
ProjectNode
type
=
service
.
getById
(
entity
.
get
Pi
d
());
BeanUtils
.
copyProperties
(
entity
,
type
);
type
.
setCreateTime
(
new
Date
());
if
(!
service
.
updateById
(
type
)){
...
...
@@ -112,12 +132,17 @@ public class ProjectNodeController {
}
@ApiOperation
(
value
=
"删除模块"
,
notes
=
"删除模块"
)
@PostMapping
(
value
=
"delete"
)
public
CommonResult
<
Boolean
>
delete
(
@RequestParam
(
value
=
"oid"
)
String
oid
)
{
ProjectNode
diyType
=
service
.
getById
(
oid
);
public
CommonResult
<
Boolean
>
delete
(
@RequestParam
(
value
=
"pid"
)
Integer
pid
,
String
projectId
)
{
QueryWrapper
<
ProjectNode
>
qw1
=
new
QueryWrapper
<
ProjectNode
>();
if
(
pid
!=
null
)
{
qw1
.
eq
(
"pid"
,
pid
);
qw1
.
eq
(
"project_id"
,
projectId
);
}
ProjectNode
diyType
=
service
.
getOne
(
qw1
);
if
(
diyType
.
getPid
().
equals
(
"0"
))
{
QueryWrapper
<
ProjectNode
>
qw
=
new
QueryWrapper
<>();
if
(
StringUtils
.
isNotBlank
(
oid
)
)
{
qw
.
eq
(
"parent_id"
,
o
id
);
if
(
pid
!=
null
)
{
qw
.
eq
(
"parent_id"
,
p
id
);
}
List
<
ProjectNode
>
list
=
service
.
list
(
qw
);
if
(
list
!=
null
&&
list
.
size
()>
0
){
...
...
@@ -126,16 +151,21 @@ public class ProjectNodeController {
}
}
}
if
(!
service
.
remove
ById
(
oid
)){
if
(!
service
.
remove
(
qw1
)){
return
CommonResult
.
success
(
"操作失败!"
);
}
return
CommonResult
.
success
(
true
);
}
@ApiOperation
(
value
=
"查询根据ID自定义分类"
,
notes
=
"根据ID查询"
)
@GetMapping
(
value
=
"getId"
)
public
CommonResult
<
ProjectNode
>
getById
(
String
oid
)
{
return
CommonResult
.
success
(
service
.
getById
(
oid
));
public
CommonResult
<
ProjectNode
>
getById
(
Integer
pid
,
String
projectId
)
{
QueryWrapper
<
ProjectNode
>
qw
=
new
QueryWrapper
<
ProjectNode
>();
if
(
pid
!=
null
)
{
qw
.
eq
(
"pid"
,
pid
);
qw
.
eq
(
"project_id"
,
projectId
);
}
ProjectNode
node
=
service
.
getOne
(
qw
);
return
CommonResult
.
success
(
node
);
}
@ApiOperation
(
value
=
"查询全部模块tree"
,
notes
=
"查询列表"
)
@GetMapping
(
value
=
"tree"
)
...
...
@@ -146,19 +176,25 @@ public class ProjectNodeController {
}
qw
.
orderByAsc
(
"sort"
);
List
<
ProjectNode
>
list
=
service
.
list
(
qw
);
List
<
ProjectNodeListVo
>
voList
=
Copy
.
copyList
(
list
,
ProjectNodeListVo
.
class
,
obj
->
obj
.
getParentId
().
equals
(
"0"
));
List
<
ProjectNodeListVo
>
voList
=
Copy
.
copyList
(
list
,
ProjectNodeListVo
.
class
,
obj
->
obj
.
getParentId
().
equals
(
0
));
tree
(
list
,
voList
);
return
CommonResult
.
success
(
voList
);
}
public
List
<
ProjectNodeListVo
>
tree
(
List
<
ProjectNode
>
list
,
List
<
ProjectNodeListVo
>
voList
){
voList
.
forEach
(
entity
->{
//第一次设置 一级分类的子类 后续递归设置 子类的子类
entity
.
set
List
(
Copy
.
copyList
(
list
,
ProjectNodeListVo
.
class
,
obj
->
obj
.
getParentId
().
equals
(
entity
.
getPid
())));
entity
.
set
Children
(
Copy
.
copyList
(
list
,
ProjectNodeListVo
.
class
,
obj
->
obj
.
getParentId
().
equals
(
entity
.
getPid
())));
//当前分类存在子类 开始递归子类
if
(
entity
.
getList
().
size
()
>
0
){
tree
(
list
,
entity
.
getList
());
if
(
entity
.
getChildren
().
size
()
>
0
){
/*
* for (ProjectNode node : list) { String timeToStr =
* DateUtils.dateTimeToStr(node.getDeadline(),
* DateUtils.DATE_FORMAT_YYYY_MM_DD); entity.setDeadline(timeToStr); }
*/
tree
(
list
,
entity
.
getChildren
());
}
else
{
entity
.
set
List
(
null
);
entity
.
set
Children
(
null
);
}
});
return
voList
;
...
...
olive-console/src/main/java/com/zrqx/olive/project/model/ProjectNode.java
浏览文件 @
a6bdfdbc
...
...
@@ -2,10 +2,6 @@ package com.zrqx.olive.project.model;
import
java.util.Date
;
import
org.springframework.data.annotation.Id
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModel
;
...
...
@@ -21,24 +17,20 @@ import lombok.experimental.Accessors;
@ApiModel
(
value
=
"T_ProjectNode对象"
,
description
=
"添加项目节点"
)
public
class
ProjectNode
{
@Id
@TableId
(
value
=
"id"
,
type
=
IdType
.
ASSIGN_UUID
)
@ApiModelProperty
(
"自定义分类id,新增时不需要填写"
)
private
Integer
id
;
@ApiModelProperty
(
"分类pid,新增时不需要填写"
)
private
Integer
pid
;
@ApiModelProperty
(
value
=
"分类名称"
)
private
String
taskName
;
@ApiModelProperty
(
value
=
"负责人"
)
private
String
principal
;
@ApiModelProperty
(
value
=
"父类id"
)
private
Integer
parentId
;
@ApiModelProperty
(
value
=
"父类id"
,
required
=
true
)
private
String
parentId
=
"0"
;
@ApiModelProperty
(
value
=
"排序号"
)
private
Integer
sort
;
@ApiModelProperty
(
value
=
"分类编号"
)
private
String
code
;
@ApiModelProperty
(
value
=
"截止时间"
)
private
Date
deadline
;
private
String
deadline
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"项目Id"
)
...
...
olive-console/src/main/java/com/zrqx/olive/project/request/ProjectNodeListRequest.java
浏览文件 @
a6bdfdbc
package
com
.
zrqx
.
olive
.
project
.
request
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
import
com.zrqx.olive.project.vo.ProjectNodeListVo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -16,14 +20,10 @@ public class ProjectNodeListRequest implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"分类id,新增时不需要填写"
)
private
Integer
id
;
@ApiModelProperty
(
"分类pid"
)
private
Integer
pid
;
@ApiModelProperty
(
value
=
"分类名称"
)
private
String
taskName
;
@ApiModelProperty
(
value
=
"负责人"
)
private
String
principal
;
@ApiModelProperty
(
value
=
"父类id"
)
private
Integer
parentId
;
@ApiModelProperty
(
value
=
"排序号"
)
...
...
@@ -34,4 +34,7 @@ public class ProjectNodeListRequest implements Serializable {
private
String
projectId
;
@ApiModelProperty
(
value
=
"状态 0:未完成 1:已完成"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"子分类"
)
private
List
<
ProjectNodeListRequest
>
children
=
new
ArrayList
<
ProjectNodeListRequest
>();
}
olive-console/src/main/java/com/zrqx/olive/project/request/UpdateProjectNodeDateRequest.java
浏览文件 @
a6bdfdbc
...
...
@@ -18,7 +18,7 @@ public class UpdateProjectNodeDateRequest implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"分类id,新增时不需要填写"
)
private
Integer
id
;
private
Integer
p
id
;
@ApiModelProperty
(
"项目id"
)
private
String
projectId
;
@ApiModelProperty
(
value
=
"截止时间"
)
...
...
olive-console/src/main/java/com/zrqx/olive/project/request/UpdateProjectNodeRequest.java
浏览文件 @
a6bdfdbc
...
...
@@ -18,7 +18,7 @@ public class UpdateProjectNodeRequest implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"分类id,新增时不需要填写"
)
private
Integer
id
;
private
Integer
p
id
;
@ApiModelProperty
(
"项目id"
)
private
String
projectId
;
@ApiModelProperty
(
value
=
"状态 0:未完成 1:已完成"
)
...
...
olive-console/src/main/java/com/zrqx/olive/project/service/ProjectNodeService.java
浏览文件 @
a6bdfdbc
...
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import
com.common.CommonResult
;
import
com.zrqx.olive.project.model.ProjectNode
;
import
com.zrqx.olive.project.request.SaveProjectNodeRequest
;
import
com.zrqx.olive.system.response.SystemAdminResponse
;
/**
*
* 自定义分类service
...
...
@@ -37,5 +38,5 @@ public interface ProjectNodeService extends IService<ProjectNode>{
* @author 任建彩
* @date 2021年10月14日
*/
CommonResult
<
Boolean
>
saveProjectNode
(
SaveProjectNodeRequest
form
);
CommonResult
<
Boolean
>
saveProjectNode
(
SaveProjectNodeRequest
form
,
SystemAdminResponse
systemAdminResponse
);
}
olive-console/src/main/java/com/zrqx/olive/project/service/impl/ProjectNodeServiceImpl.java
浏览文件 @
a6bdfdbc
...
...
@@ -15,6 +15,8 @@ import com.zrqx.olive.project.model.ProjectNode;
import
com.zrqx.olive.project.request.ProjectNodeListRequest
;
import
com.zrqx.olive.project.request.SaveProjectNodeRequest
;
import
com.zrqx.olive.project.service.ProjectNodeService
;
import
com.zrqx.olive.project.vo.ProjectNodeListVo
;
import
com.zrqx.olive.system.response.SystemAdminResponse
;
/**
* 自定义分类
*/
...
...
@@ -49,15 +51,29 @@ public class ProjectNodeServiceImpl extends ServiceImpl<ProjectNodeDao,ProjectNo
}
@Override
public
CommonResult
<
Boolean
>
saveProjectNode
(
SaveProjectNodeRequest
form
)
{
public
CommonResult
<
Boolean
>
saveProjectNode
(
SaveProjectNodeRequest
form
,
SystemAdminResponse
systemAdminResponse
)
{
// TODO Auto-generated method stub
if
(
StringUtils
.
isNotBlank
(
form
.
getProjectId
()))
{
for
(
ProjectNodeListRequest
request
:
form
.
getMenuListData
())
{
ProjectNode
node
=
new
ProjectNode
();
BeanUtils
.
copyProperties
(
form
,
request
);
BeanUtils
.
copyProperties
(
request
,
node
);
node
.
setStatus
(
0
);
node
.
setProjectId
(
form
.
getProjectId
());
node
.
setCreateTime
(
new
Date
());
node
.
setPrincipal
(
systemAdminResponse
.
getRealName
());
mapper
.
insert
(
node
);
List
<
ProjectNodeListRequest
>
children
=
request
.
getChildren
();
if
(
children
.
size
()>
0
)
{
for
(
ProjectNodeListRequest
listRequest
:
children
)
{
node
=
new
ProjectNode
();
BeanUtils
.
copyProperties
(
listRequest
,
node
);
node
.
setStatus
(
0
);
node
.
setProjectId
(
form
.
getProjectId
());
node
.
setCreateTime
(
new
Date
());
node
.
setPrincipal
(
systemAdminResponse
.
getRealName
());
mapper
.
insert
(
node
);
}
}
}
}
return
CommonResult
.
success
(
true
);
...
...
olive-console/src/main/java/com/zrqx/olive/project/vo/ProjectNodeListVo.java
浏览文件 @
a6bdfdbc
...
...
@@ -2,6 +2,7 @@ package com.zrqx.olive.project.vo;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
io.swagger.annotations.ApiModel
;
...
...
@@ -18,8 +19,6 @@ public class ProjectNodeListVo implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"分类id,新增时不需要填写"
)
private
Integer
id
;
@ApiModelProperty
(
"分类pid"
)
private
Integer
pid
;
@ApiModelProperty
(
value
=
"分类名称"
)
...
...
@@ -36,6 +35,8 @@ public class ProjectNodeListVo implements Serializable {
private
String
projectId
;
@ApiModelProperty
(
value
=
"状态 0:未完成 1:已完成"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"截止时间"
)
private
String
deadline
;
@ApiModelProperty
(
value
=
"子分类"
)
private
List
<
ProjectNodeListVo
>
list
=
new
ArrayList
<
ProjectNodeListVo
>();
private
List
<
ProjectNodeListVo
>
children
=
new
ArrayList
<
ProjectNodeListVo
>();
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论