提交 a6bdfdbc authored 作者: 任建彩's avatar 任建彩

项目节点

上级 65bd1fc7
...@@ -3,6 +3,8 @@ package com.zrqx.olive.project.controller; ...@@ -3,6 +3,8 @@ package com.zrqx.olive.project.controller;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -14,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -14,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.common.CheckAdminToken;
import com.common.CommonResult; import com.common.CommonResult;
import com.utils.Copy; import com.utils.Copy;
import com.utils.DateUtils; import com.utils.DateUtils;
...@@ -25,6 +28,8 @@ import com.zrqx.olive.project.request.UpdateProjectNodeDateRequest; ...@@ -25,6 +28,8 @@ import com.zrqx.olive.project.request.UpdateProjectNodeDateRequest;
import com.zrqx.olive.project.request.UpdateProjectNodeRequest; import com.zrqx.olive.project.request.UpdateProjectNodeRequest;
import com.zrqx.olive.project.service.ProjectNodeService; import com.zrqx.olive.project.service.ProjectNodeService;
import com.zrqx.olive.project.vo.ProjectNodeListVo; 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.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -37,32 +42,47 @@ import lombok.extern.slf4j.Slf4j; ...@@ -37,32 +42,47 @@ import lombok.extern.slf4j.Slf4j;
public class ProjectNodeController { public class ProjectNodeController {
@Autowired @Autowired
private ProjectNodeService service; private ProjectNodeService service;
@Autowired
private SystemAdminService systemAdminService;
@Autowired
private CheckAdminToken checkAdminToken;
@ApiOperation(value = "新建任务清单", notes = "新建任务清单") @ApiOperation(value = "新建任务清单", notes = "新建任务清单")
@PostMapping(value = "/save") @PostMapping(value = "/save")
public CommonResult<Boolean> save(@RequestBody SaveProjectNodeRequest form) { public CommonResult<Boolean> save(@RequestBody SaveProjectNodeRequest form,HttpServletRequest request) throws Exception {
return service.saveProjectNode(form); String token = checkAdminToken.getTokenFormRequest(request);
SystemAdminResponse systemAdminResponse = systemAdminService.getInfoByToken(token);
return service.saveProjectNode(form,systemAdminResponse);
} }
@ApiOperation(value = "完成状态", notes = "完成状态") @ApiOperation(value = "完成状态", notes = "完成状态")
@PostMapping(value = "/status") @PostMapping(value = "/status")
public CommonResult<String> status(@RequestBody UpdateProjectNodeRequest form) { public CommonResult<Boolean> status(@RequestBody UpdateProjectNodeRequest form) {
if(StringUtils.isNotBlank(form.getProjectId())) { 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()); node.setStatus(form.getStatus());
service.updateById(node); service.update(node, qw);
} }
return null ; return CommonResult.success(true) ;
} }
@ApiOperation(value = "截止时间", notes = "截止时间") @ApiOperation(value = "截止时间", notes = "截止时间")
@PostMapping(value = "/endDate") @PostMapping(value = "/endDate")
public CommonResult<String> endDate(@RequestBody UpdateProjectNodeDateRequest form) { public CommonResult<Boolean> endDate(@RequestBody UpdateProjectNodeDateRequest form) {
if(StringUtils.isNotBlank(form.getProjectId())) { if(StringUtils.isNotBlank(form.getProjectId())) {
ProjectNode node = service.getById(form.getId()); QueryWrapper<ProjectNode> qw = new QueryWrapper<ProjectNode>();
Date time = DateUtils.strToDateTime(form.getDeadline(), DateUtils.DATE_FORMAT_YYYY_MM_DD); if(form.getPid()!=null) {
node.setDeadline(time); qw.eq("pid", form.getPid());
service.updateById(node); 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 = "新增一个") @ApiOperation(value = "新增自定义分类", notes = "新增一个")
@PostMapping(value = "/saveOrUpdate") @PostMapping(value = "/saveOrUpdate")
...@@ -72,7 +92,7 @@ public class ProjectNodeController { ...@@ -72,7 +92,7 @@ public class ProjectNodeController {
if (entity.getTaskName()==null || entity.getTaskName()=="") { if (entity.getTaskName()==null || entity.getTaskName()=="") {
return CommonResult.failed("模块名称不能为空!"); return CommonResult.failed("模块名称不能为空!");
} }
if(entity.getId()==null) { if(entity.getPid()==null) {
ProjectNode type=new ProjectNode(); ProjectNode type=new ProjectNode();
BeanUtils.copyProperties(entity,type); BeanUtils.copyProperties(entity,type);
QueryWrapper<ProjectNode> queryWrapper = new QueryWrapper<>(); QueryWrapper<ProjectNode> queryWrapper = new QueryWrapper<>();
...@@ -98,7 +118,7 @@ public class ProjectNodeController { ...@@ -98,7 +118,7 @@ public class ProjectNodeController {
return CommonResult.success("操作失败!"); return CommonResult.success("操作失败!");
} }
}else { }else {
ProjectNode type = service.getById(entity.getId()); ProjectNode type = service.getById(entity.getPid());
BeanUtils.copyProperties(entity,type); BeanUtils.copyProperties(entity,type);
type.setCreateTime(new Date()); type.setCreateTime(new Date());
if(!service.updateById(type)){ if(!service.updateById(type)){
...@@ -112,12 +132,17 @@ public class ProjectNodeController { ...@@ -112,12 +132,17 @@ public class ProjectNodeController {
} }
@ApiOperation(value = "删除模块", notes = "删除模块") @ApiOperation(value = "删除模块", notes = "删除模块")
@PostMapping(value = "delete") @PostMapping(value = "delete")
public CommonResult<Boolean> delete(@RequestParam(value = "oid") String oid) { public CommonResult<Boolean> delete(@RequestParam(value = "pid") Integer pid,String projectId) {
ProjectNode diyType = service.getById(oid); 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")) { if(diyType.getPid().equals("0")) {
QueryWrapper<ProjectNode> qw = new QueryWrapper<>(); QueryWrapper<ProjectNode> qw = new QueryWrapper<>();
if(StringUtils.isNotBlank(oid)) { if(pid!=null) {
qw.eq("parent_id", oid); qw.eq("parent_id", pid);
} }
List<ProjectNode> list= service.list(qw); List<ProjectNode> list= service.list(qw);
if(list!=null && list.size()>0){ if(list!=null && list.size()>0){
...@@ -126,16 +151,21 @@ public class ProjectNodeController { ...@@ -126,16 +151,21 @@ public class ProjectNodeController {
} }
} }
} }
if(!service.removeById(oid)){ if(!service.remove(qw1)){
return CommonResult.success("操作失败!"); return CommonResult.success("操作失败!");
} }
return CommonResult.success(true); return CommonResult.success(true);
} }
@ApiOperation(value = "查询根据ID自定义分类", notes = "根据ID查询") @ApiOperation(value = "查询根据ID自定义分类", notes = "根据ID查询")
@GetMapping(value = "getId") @GetMapping(value = "getId")
public CommonResult<ProjectNode> getById(String oid) { public CommonResult<ProjectNode> getById(Integer pid,String projectId) {
QueryWrapper<ProjectNode> qw = new QueryWrapper<ProjectNode>();
return CommonResult.success(service.getById(oid)); 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 = "查询列表") @ApiOperation(value = "查询全部模块tree", notes = "查询列表")
@GetMapping(value = "tree") @GetMapping(value = "tree")
...@@ -146,19 +176,25 @@ public class ProjectNodeController { ...@@ -146,19 +176,25 @@ public class ProjectNodeController {
} }
qw.orderByAsc("sort"); qw.orderByAsc("sort");
List<ProjectNode> list = service.list(qw); 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); tree(list,voList);
return CommonResult.success(voList); return CommonResult.success(voList);
} }
public List<ProjectNodeListVo> tree(List<ProjectNode> list,List<ProjectNodeListVo> voList){ public List<ProjectNodeListVo> tree(List<ProjectNode> list,List<ProjectNodeListVo> voList){
voList.forEach(entity ->{ voList.forEach(entity ->{
//第一次设置 一级分类的子类 后续递归设置 子类的子类 //第一次设置 一级分类的子类 后续递归设置 子类的子类
entity.setList(Copy.copyList(list, ProjectNodeListVo.class,obj -> obj.getParentId().equals(entity.getPid()))); entity.setChildren(Copy.copyList(list, ProjectNodeListVo.class,obj -> obj.getParentId().equals(entity.getPid())));
//当前分类存在子类 开始递归子类 //当前分类存在子类 开始递归子类
if(entity.getList().size() > 0){ if(entity.getChildren().size() > 0){
tree(list, entity.getList()); /*
* for (ProjectNode node : list) { String timeToStr =
* DateUtils.dateTimeToStr(node.getDeadline(),
* DateUtils.DATE_FORMAT_YYYY_MM_DD); entity.setDeadline(timeToStr); }
*/
tree(list, entity.getChildren());
}else{ }else{
entity.setList(null); entity.setChildren(null);
} }
}); });
return voList; return voList;
......
...@@ -2,10 +2,6 @@ package com.zrqx.olive.project.model; ...@@ -2,10 +2,6 @@ package com.zrqx.olive.project.model;
import java.util.Date; 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 com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -21,24 +17,20 @@ import lombok.experimental.Accessors; ...@@ -21,24 +17,20 @@ import lombok.experimental.Accessors;
@ApiModel(value="T_ProjectNode对象", description="添加项目节点") @ApiModel(value="T_ProjectNode对象", description="添加项目节点")
public class ProjectNode { public class ProjectNode {
@Id
@TableId(value = "id", type = IdType.ASSIGN_UUID)
@ApiModelProperty("自定义分类id,新增时不需要填写")
private Integer id;
@ApiModelProperty("分类pid,新增时不需要填写") @ApiModelProperty("分类pid,新增时不需要填写")
private Integer pid; private Integer pid;
@ApiModelProperty(value = "分类名称") @ApiModelProperty(value = "分类名称")
private String taskName; private String taskName;
@ApiModelProperty(value = "负责人") @ApiModelProperty(value = "负责人")
private String principal; private String principal;
@ApiModelProperty(value = "父类id") @ApiModelProperty(value = "父类id", required = true)
private Integer parentId; private String parentId="0";
@ApiModelProperty(value = "排序号") @ApiModelProperty(value = "排序号")
private Integer sort; private Integer sort;
@ApiModelProperty(value = "分类编号") @ApiModelProperty(value = "分类编号")
private String code; private String code;
@ApiModelProperty(value = "截止时间") @ApiModelProperty(value = "截止时间")
private Date deadline; private String deadline;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
private Date createTime; private Date createTime;
@ApiModelProperty("项目Id") @ApiModelProperty("项目Id")
......
package com.zrqx.olive.project.request; package com.zrqx.olive.project.request;
import java.io.Serializable; 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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -16,14 +20,10 @@ public class ProjectNodeListRequest implements Serializable { ...@@ -16,14 +20,10 @@ public class ProjectNodeListRequest implements Serializable {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
@ApiModelProperty("分类id,新增时不需要填写")
private Integer id;
@ApiModelProperty("分类pid") @ApiModelProperty("分类pid")
private Integer pid; private Integer pid;
@ApiModelProperty(value = "分类名称") @ApiModelProperty(value = "分类名称")
private String taskName; private String taskName;
@ApiModelProperty(value = "负责人")
private String principal;
@ApiModelProperty(value = "父类id") @ApiModelProperty(value = "父类id")
private Integer parentId; private Integer parentId;
@ApiModelProperty(value = "排序号") @ApiModelProperty(value = "排序号")
...@@ -34,4 +34,7 @@ public class ProjectNodeListRequest implements Serializable { ...@@ -34,4 +34,7 @@ public class ProjectNodeListRequest implements Serializable {
private String projectId; private String projectId;
@ApiModelProperty(value = "状态 0:未完成 1:已完成") @ApiModelProperty(value = "状态 0:未完成 1:已完成")
private Integer status; private Integer status;
@ApiModelProperty(value = "子分类")
private List<ProjectNodeListRequest> children = new ArrayList<ProjectNodeListRequest>();
} }
...@@ -18,7 +18,7 @@ public class UpdateProjectNodeDateRequest implements Serializable { ...@@ -18,7 +18,7 @@ public class UpdateProjectNodeDateRequest implements Serializable {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
@ApiModelProperty("分类id,新增时不需要填写") @ApiModelProperty("分类id,新增时不需要填写")
private Integer id; private Integer pid;
@ApiModelProperty("项目id") @ApiModelProperty("项目id")
private String projectId; private String projectId;
@ApiModelProperty(value = "截止时间") @ApiModelProperty(value = "截止时间")
......
...@@ -18,7 +18,7 @@ public class UpdateProjectNodeRequest implements Serializable { ...@@ -18,7 +18,7 @@ public class UpdateProjectNodeRequest implements Serializable {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
@ApiModelProperty("分类id,新增时不需要填写") @ApiModelProperty("分类id,新增时不需要填写")
private Integer id; private Integer pid;
@ApiModelProperty("项目id") @ApiModelProperty("项目id")
private String projectId; private String projectId;
@ApiModelProperty(value = "状态 0:未完成 1:已完成") @ApiModelProperty(value = "状态 0:未完成 1:已完成")
......
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.common.CommonResult; import com.common.CommonResult;
import com.zrqx.olive.project.model.ProjectNode; import com.zrqx.olive.project.model.ProjectNode;
import com.zrqx.olive.project.request.SaveProjectNodeRequest; import com.zrqx.olive.project.request.SaveProjectNodeRequest;
import com.zrqx.olive.system.response.SystemAdminResponse;
/** /**
* *
* 自定义分类service * 自定义分类service
...@@ -37,5 +38,5 @@ public interface ProjectNodeService extends IService<ProjectNode>{ ...@@ -37,5 +38,5 @@ public interface ProjectNodeService extends IService<ProjectNode>{
* @author 任建彩 * @author 任建彩
* @date 2021年10月14日 * @date 2021年10月14日
*/ */
CommonResult<Boolean> saveProjectNode(SaveProjectNodeRequest form); CommonResult<Boolean> saveProjectNode(SaveProjectNodeRequest form,SystemAdminResponse systemAdminResponse);
} }
...@@ -15,6 +15,8 @@ import com.zrqx.olive.project.model.ProjectNode; ...@@ -15,6 +15,8 @@ import com.zrqx.olive.project.model.ProjectNode;
import com.zrqx.olive.project.request.ProjectNodeListRequest; import com.zrqx.olive.project.request.ProjectNodeListRequest;
import com.zrqx.olive.project.request.SaveProjectNodeRequest; import com.zrqx.olive.project.request.SaveProjectNodeRequest;
import com.zrqx.olive.project.service.ProjectNodeService; 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 ...@@ -49,15 +51,29 @@ public class ProjectNodeServiceImpl extends ServiceImpl<ProjectNodeDao,ProjectNo
} }
@Override @Override
public CommonResult<Boolean> saveProjectNode(SaveProjectNodeRequest form) { public CommonResult<Boolean> saveProjectNode(SaveProjectNodeRequest form,SystemAdminResponse systemAdminResponse) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
if(StringUtils.isNotBlank(form.getProjectId())) { if(StringUtils.isNotBlank(form.getProjectId())) {
for (ProjectNodeListRequest request : form.getMenuListData()) { for (ProjectNodeListRequest request : form.getMenuListData()) {
ProjectNode node = new ProjectNode(); ProjectNode node = new ProjectNode();
BeanUtils.copyProperties(form, request); BeanUtils.copyProperties(request, node);
node.setStatus(0);
node.setProjectId(form.getProjectId()); node.setProjectId(form.getProjectId());
node.setCreateTime(new Date()); node.setCreateTime(new Date());
node.setPrincipal(systemAdminResponse.getRealName());
mapper.insert(node); 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); return CommonResult.success(true);
......
...@@ -2,6 +2,7 @@ package com.zrqx.olive.project.vo; ...@@ -2,6 +2,7 @@ package com.zrqx.olive.project.vo;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
...@@ -18,8 +19,6 @@ public class ProjectNodeListVo implements Serializable { ...@@ -18,8 +19,6 @@ public class ProjectNodeListVo implements Serializable {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
@ApiModelProperty("分类id,新增时不需要填写")
private Integer id;
@ApiModelProperty("分类pid") @ApiModelProperty("分类pid")
private Integer pid; private Integer pid;
@ApiModelProperty(value = "分类名称") @ApiModelProperty(value = "分类名称")
...@@ -36,6 +35,8 @@ public class ProjectNodeListVo implements Serializable { ...@@ -36,6 +35,8 @@ public class ProjectNodeListVo implements Serializable {
private String projectId; private String projectId;
@ApiModelProperty(value = "状态 0:未完成 1:已完成") @ApiModelProperty(value = "状态 0:未完成 1:已完成")
private Integer status; private Integer status;
@ApiModelProperty(value = "截止时间")
private String deadline;
@ApiModelProperty(value = "子分类") @ApiModelProperty(value = "子分类")
private List<ProjectNodeListVo> list = new ArrayList<ProjectNodeListVo>(); private List<ProjectNodeListVo> children = new ArrayList<ProjectNodeListVo>();
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论