diff --git a/ant-design-vue-jeecg/src/views/task/TaskList.vue b/ant-design-vue-jeecg/src/views/task/TaskList.vue index 48aed84..b5762f5 100644 --- a/ant-design-vue-jeecg/src/views/task/TaskList.vue +++ b/ant-design-vue-jeecg/src/views/task/TaskList.vue @@ -21,7 +21,22 @@ style="width: 100%"> - + + + + + + + + + + + + - + + + + + 查询 diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/controller/TaskController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/controller/TaskController.java index 0af3095..f378790 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/controller/TaskController.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/controller/TaskController.java @@ -42,10 +42,7 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Optional; +import java.util.*; /** * @Description: 任务管理 @@ -101,17 +98,114 @@ public class TaskController extends JeecgController { @ApiOperation(value = "任务管理-分页列表查询", notes = "任务管理-分页列表查询") @GetMapping(value = "/list") public Result queryPageList(Task task, + @RequestParam(name = "type", required = false) List type, + @RequestParam(name = "userName", defaultValue = "") String userName, + @RequestParam(name = "time", required = false) Integer time, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(task, req.getParameterMap()); + HttpServletRequest req) throws ParseException { + QueryWrapper queryWrapper = new QueryWrapper<>(); Page page = new Page(pageNo, pageSize); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (!StringUtils.equals(ADMIN, user.getUsername())) { queryWrapper.like("manager_users", user.getId()); } - queryWrapper.orderByDesc("create_time"); + if (type != null && type.size() > 0) + queryWrapper.and(qw -> { + for (int i = 0; i < type.size(); i++) { + qw.eq("type_id", type.get(i)); + if (i != type.size() - 1) + qw.or(); + } + }); +// projectId + Calendar now = Calendar.getInstance(); + int year = now.get(Calendar.YEAR); + int month = now.get(Calendar.MONTH) + 1; + int day = now.get(Calendar.DAY_OF_MONTH); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if (time != null) { + switch (time) { + case 1: {//当前天 + Date startTime = sdf.parse(year + "-" + month + "-" + day + " 00:00:00"); + Date endTime = sdf.parse(year + "-" + month + "-" + day + " 23:59:59"); + queryWrapper.ge("start_time", startTime); + queryWrapper.le("start_time", endTime); + break; + } + case 2: {//当前周 + Calendar now1 = Calendar.getInstance(); + now1.set(Calendar.DAY_OF_WEEK, 2); + int year1 = now1.get(Calendar.YEAR); + int month1 = now1.get(Calendar.MONTH) + 1; + int day1 = now1.get(Calendar.DAY_OF_MONTH); + now1.set(Calendar.DATE, now1.get(Calendar.DATE) + 6); + int year2 = now1.get(Calendar.YEAR); + int month2 = now1.get(Calendar.MONTH) + 1; + int day2 = now1.get(Calendar.DAY_OF_MONTH); + Date startTime = sdf.parse(year1 + "-" + month1 + "-" + day1 + " 00:00:00"); + Date endTime = sdf.parse(year2 + "-" + month2 + "-" + day2 + " 23:59:59"); + queryWrapper.ge("start_time", startTime); + queryWrapper.le("start_time", endTime); + } + case 3: {//当前月 + int minDay = now.getActualMinimum(Calendar.DAY_OF_MONTH); + int lastDay = now.getActualMaximum(Calendar.DAY_OF_MONTH); + Date startTime = sdf.parse(year + "-" + month + "-" + minDay + " 00:00:00"); + Date endTime = sdf.parse(year + "-" + month + "-" + lastDay + " 23:59:59"); + queryWrapper.ge("start_time", startTime); + queryWrapper.le("start_time", endTime); + break; + } +// case 4: { +// Date startTime = sdf.parse(year + "-" + month + "-" + day + " 00:00:00"); +// Date endTime = sdf.parse(year + "-" + month + "-" + day + " 23:59:59"); +// queryWrapper.ge("create_time", startTime); +// queryWrapper.le("create_time", endTime); +// break; +// } + } + } + if (task != null && StringUtils.isNotBlank(task.getModuleId())) { + String moduleId = task.getModuleId(); + queryWrapper.like("module_id", moduleId); + } + if (task != null && StringUtils.isNotBlank(task.getProjectId())) { + String projectId = task.getProjectId(); + queryWrapper.like("project_id", projectId); + } + if (task != null && StringUtils.isNotBlank(task.getTypeId())) { + String typeId = task.getTypeId(); + queryWrapper.like("type_id", typeId); + } + + if (task != null && StringUtils.isNotBlank(task.getManagerUsers())) { + String managerUsers = task.getManagerUsers(); + queryWrapper.like("manager_users", managerUsers); + } +// List sysUsers = taskService.UserIdByUserName(userName); +// queryWrapper.and(qw -> { +// for (int i = 0; i < sysUsers.size(); i++) { +// qw.like("manager_users", sysUsers.get(i).getId()); +// if (i != sysUsers.size() - 1) +// qw.or(); +// } +// }); + if (task != null && StringUtils.isNotBlank(task.getTaskName())) { + String tas = task.getTaskName(); + if (tas.startsWith("*") && tas.endsWith("*")) + tas = tas.substring(1, tas.length() - 1); + queryWrapper.like("task_name", tas); + } + if (task != null && task.getWorkStatus() != null && (task.getWorkStatus() == 0 || task.getWorkStatus() == 1)) { + queryWrapper.in("work_status", 0, 1); + } else if (task != null && task.getWorkStatus() != null && (task.getWorkStatus() == 2 || task.getWorkStatus() == 9)) { + queryWrapper.in("work_status", 2, 9); + } else if (task != null && task.getWorkStatus() != null) { + queryWrapper.eq("work_status", task.getWorkStatus()); + } + queryWrapper.orderByDesc("update_time"); IPage pageList = taskService.page(page, queryWrapper); pageList.getRecords().stream().forEach(e -> { String startDate = DateUtils.date2Str(e.getStartTime(), new SimpleDateFormat(FORMAT)); @@ -138,18 +232,89 @@ public class TaskController extends JeecgController { e.setUpperTaskName(taskUpper.getTaskName()); } } - if (e.getTaskFile()!=null&& !e.getTaskFile().equals("")){ + if (e.getTaskFile() != null && !e.getTaskFile().equals("")) { e.setContentType("file"); - }else if(e.getTaskPic()!=null&& !e.getTaskPic().equals("")){ + } else if (e.getTaskPic() != null && !e.getTaskPic().equals("")) { e.setContentType("image"); - }else{ + } else { e.setContentType("text"); } String managerUsers = e.getManagerUsers(); - if (managerUsers!=null&&!managerUsers.equals("")) { - SysUser byId = iSysUserService.getById(managerUsers); - if (byId!=null) - e.setHeadpic(byId.getAvatar()); + if (managerUsers != null && !managerUsers.equals("")) { + String[] managerUsers1 = managerUsers.split(","); + StringBuilder avatars = new StringBuilder(); + for (String managerUser : managerUsers1) { + SysUser byId = iSysUserService.getById(managerUser); + if (byId != null) + + avatars.append(byId.getAvatar()).append(","); + } + avatars = new StringBuilder(avatars.substring(0, avatars.length() - 1)); + e.setHeadpic(avatars.toString()); + } + + }); + return Result.OK(pageList); + } + + @AutoLog(value = "任务管理-分页列表查询") + @ApiOperation(value = "任务管理-分页列表查询", notes = "任务管理-分页列表查询") + @GetMapping(value = "/list1") + public Result queryPageList1(Task task, + @RequestParam(name = "userId") String userId, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(task, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + queryWrapper.like("manager_users", userId); + queryWrapper.like("work_status", 3); + queryWrapper.orderByDesc("update_time"); + IPage pageList = taskService.page(page, queryWrapper); + pageList.getRecords().stream().forEach(e -> { + String startDate = DateUtils.date2Str(e.getStartTime(), new SimpleDateFormat(FORMAT)); + String endDate = DateUtils.date2Str(e.getExpectedEndTime(), new SimpleDateFormat(FORMAT)); + String startEndTime = startDate + "-" + endDate; + e.setStartEndTime(startEndTime); + Projectx projectx = iProjectxService.getById(e.getProjectId()); + e.setUnion(projectx.getProjectName()); + if (StringUtils.isNotBlank(e.getModuleId())) { + Modulex modulex = iModulexService.getById(e.getModuleId()); + e.setUnion(e.getUnion() + "-" + modulex.getModuleName()); + } + if (StringUtils.isNotBlank(e.getFunctionId())) { + Functionx functionx = iFunctionxService.getById(e.getFunctionId()); + e.setUnion(e.getUnion() + "-" + functionx.getFunctionName()); + } + if (StringUtils.isNotBlank(e.getRuleId())) { + Rulex rulex = iRulexService.getById(e.getRuleId()); + e.setUnion(e.getUnion() + "-" + rulex.getRuleCode()); + } + if (StringUtils.isNotBlank(e.getUpperId())) { + Task taskUpper = taskService.getById(e.getUpperId()); + if (ObjectUtils.isNotEmpty(taskUpper)) { + e.setUpperTaskName(taskUpper.getTaskName()); + } + } + if (e.getTaskFile() != null && !e.getTaskFile().equals("")) { + e.setContentType("file"); + } else if (e.getTaskPic() != null && !e.getTaskPic().equals("")) { + e.setContentType("image"); + } else { + e.setContentType("text"); + } + String managerUsers = e.getManagerUsers(); + if (managerUsers != null && !managerUsers.equals("")) { + String[] managerUsers1 = managerUsers.split(","); + StringBuilder avatars = new StringBuilder(); + for (String managerUser : managerUsers1) { + SysUser byId = iSysUserService.getById(managerUser); + if (byId != null) + + avatars.append(byId.getAvatar()).append(","); + } + avatars = new StringBuilder(avatars.substring(0, avatars.length() - 1)); + e.setHeadpic(avatars.toString()); } }); diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/entity/Task.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/entity/Task.java index c7f4af9..e75d257 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/entity/Task.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/entity/Task.java @@ -97,6 +97,7 @@ public class Task implements Serializable { */ @Excel(name = "模块id", width = 15) @ApiModelProperty(value = "模块id") + @Dict(dictTable = "modulex", dicText = "module_name",dicCode = "id") private java.lang.String moduleId; /** * 功能id diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/service/ITaskService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/service/ITaskService.java index 52aae34..1cc1fb4 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/service/ITaskService.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/service/ITaskService.java @@ -2,8 +2,11 @@ package org.jeecg.modules.task.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.task.entity.Task; +import java.util.List; + /** * @Description: 任务管理 * @Author: jeecg-boot @@ -26,4 +29,6 @@ public interface ITaskService extends IService { Result fabu(String id); String fillTaskName(String projectId, String typeId); + +// List UserIdByUserName(String userName); } diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/service/impl/TaskServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/service/impl/TaskServiceImpl.java index 2a63008..ec6f254 100644 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/service/impl/TaskServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/task/service/impl/TaskServiceImpl.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.projectx.entity.Projectx; import org.jeecg.modules.projectx.service.IProjectxService; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.task.entity.Task; import org.jeecg.modules.task.mapper.TaskMapper; import org.jeecg.modules.task.service.ITaskService; @@ -35,7 +37,10 @@ public class TaskServiceImpl extends ServiceImpl implements IT @Resource private ITaskTypeService iTaskTypeService; +// @Resource +// private ISysUserService sysUserService; /** + * 责任人回显 * 责任人回显 */ @Override @@ -145,4 +150,14 @@ public class TaskServiceImpl extends ServiceImpl implements IT String fillName = taskType.getTypeName() + "-" + projectx.getProjectName(); return fillName; } +// @Override +// public List UserIdByUserName(String userName) { +// if (userName==null) +// return null; +// LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); +// if(userName.startsWith("*")&&userName.endsWith("*")) +// userName = userName.substring(1, userName.length() - 1); +// wrapper.eq(SysUser::getUsername,userName); +// return sysUserService.list(wrapper); +// } }