提交 82457eba authored 作者: 任建宇's avatar 任建宇

tijiao

上级 590d6b1c
......@@ -115,6 +115,8 @@ public class CommonResult<T> {
return new CommonResult<T>(ExceptionCodeEnum.FAILED.getCode(), message, null);
}
/**
* 失败返回结果
*/
......
......@@ -26,6 +26,7 @@ import com.zrqx.olive.system.service.SystemAdminService;
import com.zrqx.olive.system.service.SystemAttachmentService;
import com.zrqx.olive.ttask.model.Task;
import com.zrqx.olive.ttask.model.TaskRecord;
import com.zrqx.olive.ttask.request.TaskForm;
import com.zrqx.olive.ttask.request.TaskRecordRequest;
import com.zrqx.olive.ttask.request.TaskRequest;
import com.zrqx.olive.ttask.service.TaskRecordService;
......@@ -141,7 +142,7 @@ public class TaskController {
}
try {
if (taskRequest.getUserId() != null) {
// 处理项目工时
QueryWrapper<Team> qw = new QueryWrapper<>();
// 售前项目
......@@ -152,6 +153,7 @@ public class TaskController {
if (taskRequest.getStatus() == 1) {
qw.eq("project_id", taskRequest.getProjectId());
}
qw.eq("department_id", taskRequest.getDepartmentId());
List<Team> teamlist = teamService.list(qw);
if (teamlist.size() > 0) {
......@@ -166,7 +168,7 @@ public class TaskController {
teamService.updateById(team);
}
}
}
// 保存历史记录
TaskRecordRequest taskRecord = new TaskRecordRequest();
taskRecord.setTaskId(task.getId());
......@@ -201,7 +203,6 @@ public class TaskController {
taskService.updateById(task);
// 处理项目工时
if (task.getWorkingHours() != null) {
QueryWrapper<Team> qw1 = new QueryWrapper<>();
// 售前项目
if (task.getStatus() == 2) {
......@@ -365,10 +366,10 @@ public class TaskController {
@ApiOperation(value = "导入任务信息", notes = "导入任务信息")
@PostMapping(value = "/impor/excel", produces = "application/json;charset=UTF-8")
public CommonResult<Integer> imporTask(@RequestParam("file") MultipartFile file,
@RequestBody @Validated TaskRequest taskRequest) throws BaseException, IOException {
public CommonResult<Object> imporTask(@RequestParam("file") MultipartFile file,
TaskForm taskRequest) throws BaseException, IOException {
taskService.imporTask(file, taskRequest);
return CommonResult.success();
return null;
}
}
......@@ -53,6 +53,9 @@ public class Task implements Serializable {
@ApiModelProperty(value = "指派给成员id")
private Integer userId;
@ApiModelProperty(value = "部门id")
private Integer departmentId;
@ApiModelProperty(value = "优先级 可选值:1、2、3、4 仅支持单选,默认值为1。")
private Integer priority;
......
package com.zrqx.olive.ttask.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
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;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 任务管理 Request
* +---------------------------------------------------------------------- |
* CRMEB [ CRMEB赋能开发者,助力企业发展 ]
* +---------------------------------------------------------------------- |
* Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
* +---------------------------------------------------------------------- |
* Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
* +---------------------------------------------------------------------- |
* Author: CRMEB Team <admin@crmeb.com>
* +----------------------------------------------------------------------
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "TaskForm对象", description = "任务管理表")
public class TaskForm implements Serializable {
@ApiModelProperty(value = "部门id")
private Integer departmentId;
@ApiModelProperty(value = "可选值:1:项目任务 2:BUG任务 3:部门任务")
private Integer taskType;
@ApiModelProperty(value = "项目id")
private String projectId;
@ApiModelProperty(value = "1:任务管理 2:售前管理")
private Integer status;
}
......@@ -38,8 +38,6 @@ public class TaskRecordRequest implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "任务ID")
private Integer taskId;
......
......@@ -40,6 +40,9 @@ public class TaskRequest implements Serializable {
@ApiModelProperty("id,新增时不需要填写")
private Integer id;
@ApiModelProperty(value = "部门id")
private Integer departmentId;
@ApiModelProperty(value = "可选值:1:项目任务 2:BUG任务 3:部门任务")
private Integer taskType;
......
......@@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;
import com.baomidou.mybatisplus.extension.service.IService;
import com.common.CommonResult;
import com.common.PageParamRequest;
import com.github.pagehelper.PageInfo;
import com.utils.excelutil.BaseException;
......@@ -15,6 +16,7 @@ import com.zrqx.olive.article.model.Article;
import com.zrqx.olive.article.request.ArticleSearchRequest;
import com.zrqx.olive.article.vo.ArticleVo;
import com.zrqx.olive.ttask.model.Task;
import com.zrqx.olive.ttask.request.TaskForm;
import com.zrqx.olive.ttask.request.TaskRequest;
import com.zrqx.olive.ttask.vo.TaskVo;
......@@ -36,6 +38,6 @@ public interface TaskService extends IService<Task> {
List<TaskVo> getList(TaskRequest request);
Integer imporTask(MultipartFile file, TaskRequest taskRequest) throws BaseException, IOException;
CommonResult<Object> imporTask(MultipartFile file, TaskForm taskRequest) throws BaseException, IOException;
}
......@@ -25,10 +25,13 @@ import com.zrqx.olive.article.vo.ArticleVo;
import com.zrqx.olive.category.model.Category;
import com.zrqx.olive.category.service.CategoryService;
import com.zrqx.olive.project.model.DiyType;
import com.zrqx.olive.project.model.Team;
import com.zrqx.olive.project.service.DiyTypeService;
import com.zrqx.olive.project.service.TeamService;
import com.zrqx.olive.system.service.SystemConfigService;
import com.zrqx.olive.ttask.dao.TaskDao;
import com.zrqx.olive.ttask.model.Task;
import com.zrqx.olive.ttask.request.TaskForm;
import com.zrqx.olive.ttask.request.TaskRequest;
import com.zrqx.olive.ttask.service.TaskService;
import com.zrqx.olive.ttask.vo.ExcelTaskVo;
......@@ -71,6 +74,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskDao, Task> implements TaskS
@Autowired
private DiyTypeService service;
@Autowired
private TeamService teamService;
/**
* 列表
......@@ -96,12 +102,43 @@ public class TaskServiceImpl extends ServiceImpl<TaskDao, Task> implements TaskS
}
@Override
public Integer imporTask(MultipartFile file, TaskRequest taskRequest) throws BaseException, IOException {
public CommonResult<Object> imporTask(MultipartFile file, TaskForm taskRequest) throws BaseException, IOException {
List<ExcelTaskVo> list = ImportExcelUtil.importExcel(file.getInputStream(), ExcelTaskVo.class,
file.getOriginalFilename());
for (ExcelTaskVo excelTaskVo : list) {
// 处理项目工时
QueryWrapper<Team> qw1 = new QueryWrapper<>();
// 售前项目
if (taskRequest.getStatus() == 2) {
qw1.eq("sales_project_id", taskRequest.getProjectId());
}
// 正常项目
if (taskRequest.getStatus() == 1) {
qw1.eq("project_id", taskRequest.getProjectId());
}
qw1.eq("department_id", taskRequest.getDepartmentId());
List<Team> teamlist = teamService.list(qw1);
if (teamlist.size() > 0) {
BigDecimal allocateSurplus = teamlist.get(0).getAllocateSurplus();
if (excelTaskVo.getHours() != null) {
BigDecimal hours = new BigDecimal(excelTaskVo.getHours());
BigDecimal result = allocateSurplus.subtract(hours);
if (result.floatValue() < 0) {
return CommonResult.failed("当前项目工时不足");
}
Team team = teamlist.get(0);
team.setAllocateSurplus(result);
teamService.updateById(team);
}
}
Task task = new Task();
BeanUtils.copyProperties(excelTaskVo, task);
task.setTaskStatus(1);
task.setUpdateTime(new Date());
task.setCreateTime(new Date());
// 可选值:1:项目任务 2:BUG任务 3:部门任务"
......@@ -122,17 +159,21 @@ public class TaskServiceImpl extends ServiceImpl<TaskDao, Task> implements TaskS
qw.eq("project_id", taskRequest.getProjectId());
// 查询一级模块是否存在
List<DiyType> listDiy = service.list(qw);
System.out.println("是否存在"+listDiy);
if (listDiy.size() > 0) {
// 二级模块是否为空
if (StringUtils.isNotBlank(excelTaskVo.getTwoModuleName())) {
qw = new QueryWrapper<>();
qw.eq("type_name", excelTaskVo.getTwoModuleName());
qw.eq("project_id", taskRequest.getProjectId());
// 查询二级模块是否存在
List<DiyType> listTwoDiy = service.list(qw);
System.out.println("是否存在"+listTwoDiy);
if (listTwoDiy.size() > 0) {
// 二级模块存在赋值模块id
task.setCode(listTwoDiy.get(0).getCode());
} else {
// 二级模块不为空,不存在创建新二级模块
QueryWrapper<DiyType> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("parent_id", listDiy.get(0).getId());
......@@ -141,9 +182,12 @@ public class TaskServiceImpl extends ServiceImpl<TaskDao, Task> implements TaskS
type.setShowName(excelTaskVo.getTwoModuleName());
type.setTypeName(excelTaskVo.getTwoModuleName());
type.setCreateTime(new Date());
type.setParentId(listDiy.get(0).getId());
type.setProjectId(taskRequest.getProjectId());
if (list1 != null && list1.size() > 0) {
// 查询到子分类,获取最大code生成新的code
String code = list1.get(0).getCode();
System.out.println("新code值"+code);
try {
type.setCode(UUIDUtil.newCode(code));
} catch (Exception e) {
......@@ -163,11 +207,12 @@ public class TaskServiceImpl extends ServiceImpl<TaskDao, Task> implements TaskS
} else {
// 创建一级二级
QueryWrapper<DiyType> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("parent_id", 0);
queryWrapper.eq("parent_id", "0");
queryWrapper.orderByDesc("code");
List<DiyType> list1 = service.list(queryWrapper);
// 查询到子分类,获取最大code生成新的code
String code = list1.get(0).getCode();
System.out.println("新code值"+code);
type.setParentId("0");
try {
type.setCode(UUIDUtil.newCode(code));
......@@ -175,6 +220,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskDao, Task> implements TaskS
// TODO Auto-generated catch block
e.printStackTrace();
}
type.setProjectId(taskRequest.getProjectId());
type.setShowName(excelTaskVo.getModuleName());
type.setTypeName(excelTaskVo.getModuleName());
type.setCreateTime(new Date());
......@@ -183,23 +229,21 @@ public class TaskServiceImpl extends ServiceImpl<TaskDao, Task> implements TaskS
// 二级分类创建
DiyType type2 = new DiyType();
type2.setCode(type.getCode() + "01");
type2.setParentId(type.getParentId());
type2.setParentId(type.getId());
type2.setProjectId(taskRequest.getProjectId());
type2.setShowName(excelTaskVo.getTwoModuleName());
type2.setTypeName(excelTaskVo.getTwoModuleName());
System.out.println("二级分类"+ type2);
service.save(type2);
task.setCode(type2.getCode());
}else {
task.setCode(type.getCode());
}
}
//增加后端工时
task.setTaskName("bg"+excelTaskVo.getTaskName());
task.setWorkingHours(new BigDecimal(excelTaskVo.getBackHours()));
this.save(task);
//增加前端工时
task.setId(null);
task.setTaskName("fg"+excelTaskVo.getTaskName());
task.setWorkingHours(new BigDecimal(excelTaskVo.getFrontHours()));
//增加工时
task.setTaskName(excelTaskVo.getTaskName());
task.setWorkingHours(new BigDecimal(excelTaskVo.getHours()));
this.save(task);
}
......
......@@ -30,10 +30,8 @@ public class ExcelTaskVo {
@ExcelResources(title = "备注")
private String taskDescription;
@ExcelResources(title = "后端")
private String backHours;
@ExcelResources(title = "工时")
private String hours;
@ExcelResources(title = "前端")
private String frontHours;
}
......@@ -45,6 +45,9 @@ public class TaskVo implements Serializable {
@ApiModelProperty(value = "可选值:1:项目任务 2:BUG任务 3:部门任务")
private Integer taskType;
@ApiModelProperty(value = "部门id")
private Integer departmentId;
@ApiModelProperty(value = "任务类型名")
private String taskTypeName;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论