提交 37893ef4 authored 作者: 任建宇's avatar 任建宇

提交任务历史记录

上级 6f8f6d7f
......@@ -12,5 +12,10 @@ public interface ProjectFileDao extends BaseMapper<ProjectFile> {
+ "delete FROM t_project_file where project_id = #{id} "
+ "</script>")
int deleteByEntity(String id);
@Delete("<script>"
+ "delete FROM t_project_file where task_id = #{id} "
+ "</script>")
int deleteByIdEntity(Integer id);
}
......@@ -34,5 +34,7 @@ public class ProjectFile {
private String size;
@ApiModelProperty("上传时间")
private Date uploadTime;
@ApiModelProperty("项目Id")
private Integer taskId;
}
package com.zrqx.olive.ttask.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.common.CheckAdminToken;
import com.common.CommonPage;
......@@ -15,7 +16,10 @@ import com.zrqx.olive.article.request.ArticleSearchRequest;
import com.zrqx.olive.article.service.ArticleService;
import com.zrqx.olive.article.vo.ArticleVo;
import com.zrqx.olive.dept.model.Department;
import com.zrqx.olive.project.dao.ProjectFileDao;
import com.zrqx.olive.project.model.ProjectFile;
import com.zrqx.olive.project.model.Team;
import com.zrqx.olive.project.service.ProjectFileService;
import com.zrqx.olive.project.service.TeamService;
import com.zrqx.olive.system.response.SystemAdminResponse;
import com.zrqx.olive.system.service.SystemAdminService;
......@@ -85,6 +89,9 @@ public class TaskController {
@Autowired
private TaskRecordService taskRecordService;
@Autowired
private ProjectFileDao projectFileMapper;
/**
* 分页显示文章管理表
......@@ -101,6 +108,19 @@ public class TaskController {
@Validated PageParamRequest pageParamRequest) {
return CommonResult.success(CommonPage.restPage(taskService.getpage(taskRequest, pageParamRequest)));
}
@ApiOperation(value = "历史记录")
@RequestMapping(value = "/recordlist", method = RequestMethod.GET)
@ApiImplicitParam(name = "record", value = "搜索历史记录")
public CommonResult<List<TaskRecord>> getList(@Validated TaskRecordRequest taskRecordRequest) {
QueryWrapper<TaskRecord> qw = new QueryWrapper<>();
qw.orderByDesc("upload_time");
qw.eq("task_id", taskRecordRequest.getTaskId());
List<TaskRecord> list = taskRecordService.list(qw);
return CommonResult.success(list);
}
/**
* 新增任务管理表
......@@ -112,19 +132,30 @@ public class TaskController {
public CommonResult<String> save(@RequestBody @Validated TaskRequest taskRequest, HttpServletRequest request) {
Task task = new Task();
BeanUtils.copyProperties(taskRequest, task);
task.setUpdateTime(new Date());
task.setCreateTime(new Date());
task.setTaskStatus(1);
if (taskService.save(task)) {
if(taskRequest.getFile()!=null) {
for (ProjectFile projectFile : taskRequest.getFile()) {
projectFile.setTaskId(task.getId());
projectFile.setUploadTime(new Date());
projectFileMapper.insert(projectFile);
}
}
try {
// 处理项目工时
QueryWrapper<Team> qw = new QueryWrapper<>();
qw.eq("project_id", taskRequest.getProjectId());
List<Team> teamlist = teamService.list(qw);
System.out.println(teamlist);
if (teamlist.size() > 0) {
BigDecimal allocateSurplus = teamlist.get(0).getAllocateSurplus();
if (taskRequest.getWorkingHours() != null) {
BigDecimal result = allocateSurplus.subtract(taskRequest.getWorkingHours());
if (result.floatValue() < 0) {
throw new BaseException("当前项目工时不足");
return CommonResult.failed("当前项目工时不足");
}
Team team = teamlist.get(0);
team.setAllocateSurplus(result);
......@@ -151,7 +182,7 @@ public class TaskController {
public CommonResult<Boolean> close(@RequestBody TaskRecordRequest form, HttpServletRequest request)
throws Exception {
if (form.getIds().size() == 0) {
throw new Exception("没有选中任何数据,请重新选择");
return CommonResult.failed("没有选中任何数据,请重新选择");
}
List<Integer> list = form.getIds();
list.stream().forEach(id -> {
......@@ -207,12 +238,21 @@ public class TaskController {
throws Exception {
QueryWrapper<Task> qw = new QueryWrapper<>();
Task task = taskService.getById(form.getTaskId());
// 关闭任务
//完成任务
task.setTaskStatus(3);
task.setUserId(form.getUserId());
task.setUpdateTime(new Date());
qw.like("id", form.getTaskId());
taskService.updateById(task);
//保存附件到任务里
if(form.getFile()!=null) {
for (ProjectFile projectFile : form.getFile()) {
projectFile.setTaskId(task.getId());
projectFile.setUploadTime(new Date());
projectFileMapper.insert(projectFile);
}
}
// 保存历史记录
record(form, request);
return CommonResult.success(true);
......@@ -233,6 +273,15 @@ public class TaskController {
public CommonResult<String> update(@RequestBody @Validated TaskRequest taskRequest, HttpServletRequest request) {
Task task = new Task();
BeanUtils.copyProperties(taskRequest, task);
projectFileMapper.deleteByIdEntity(taskRequest.getId());
if(taskRequest.getFile()!=null) {
for (ProjectFile projectFile : taskRequest.getFile()) {
projectFile.setTaskId(task.getId());
projectFile.setUploadTime(new Date());
projectFileMapper.insert(projectFile);
}
}
// 保存历史记录
TaskRecordRequest taskRecord = new TaskRecordRequest();
taskRecord.setTaskId(taskRequest.getId());
......@@ -258,6 +307,7 @@ public class TaskController {
taskRecord.setType(form.getType());
taskRecord.setUploadTime(new Date());
taskRecord.setUserId(systemAdminResponse.getId());
System.out.println("任建宇"+taskRecord);
taskRecordService.save(taskRecord);
} catch (Exception e) {
// TODO Auto-generated catch block
......@@ -274,9 +324,17 @@ public class TaskController {
@ApiOperation(value = "详情")
@RequestMapping(value = "/info", method = RequestMethod.GET)
@ApiImplicitParam(name = "id", value = "任务ID")
public CommonResult<Task> info(@RequestParam(value = "id") Integer id) {
public CommonResult<TaskVo> info(@RequestParam(value = "id") Integer id) {
Task task = taskService.getById(id);
return CommonResult.success(task);
TaskVo taskvo = new TaskVo();
BeanUtils.copyProperties(task, taskvo);
LambdaQueryWrapper<ProjectFile> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
if(id != null){
lambdaQueryWrapper1.eq(ProjectFile::getProjectId, id);
}
List<ProjectFile> fileList = projectFileMapper.selectList(lambdaQueryWrapper1);
taskvo.setFile(fileList);
return CommonResult.success(taskvo);
}
@ApiOperation(value = "导出任务信息Excel")
......
......@@ -46,7 +46,7 @@ public interface TaskDao extends BaseMapper<Task> {
+ "</if>"
+ "<if test = 'request.id!=null'> "
+ " AND id = #{request.id} "
+ " AND a.id = #{request.id} "
+ "</if>"
+ "<if test = 'request.projectId!=null'> "
+ " AND a.project_id = #{request.projectId} "
......
......@@ -39,7 +39,7 @@ public class TaskRecord implements Serializable {
@Id
@TableId(value = "id", type = IdType.ASSIGN_UUID)
@ApiModelProperty("id,新增时不需要填写")
private Integer id;
private String id;
@ApiModelProperty(value = "任务ID")
private Integer taskId;
......
......@@ -10,6 +10,7 @@ import org.springframework.data.annotation.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.zrqx.olive.project.model.ProjectFile;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
......@@ -59,4 +60,7 @@ public class TaskRecordRequest implements Serializable {
@ApiModelProperty(value = "任务id集合")
private List<Integer> ids;
@ApiModelProperty("附件")
private List<ProjectFile> file;
}
......@@ -10,6 +10,7 @@ import org.springframework.data.annotation.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.zrqx.olive.project.model.ProjectFile;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
......@@ -90,4 +91,7 @@ public class TaskRequest implements Serializable {
@ApiModelProperty(value = "导出ids")
private List<Integer> ids;
@ApiModelProperty("附件")
private List<ProjectFile> file;
}
......@@ -3,6 +3,8 @@ package com.zrqx.olive.ttask.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zrqx.olive.project.model.ProjectFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -99,4 +101,7 @@ public class TaskVo implements Serializable {
@ApiModelProperty(value = "创建时间")
private Date updateTime;
@ApiModelProperty("附件")
private List<ProjectFile> file;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论