Browse Source

我的任务查询列表和总数优化

LLL 1 year ago
parent
commit
90c1793e47

+ 10 - 26
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/controller/itdmFirstPageController.java

@@ -1,31 +1,21 @@
 package org.jeecg.modules.itdmFirstPage.controller;
 
 
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.itdmFirstPage.entity.ItdmTask;
+import org.jeecg.modules.itdmFirstPage.dto.ItdmTaskQueryDTO;
 import org.jeecg.modules.itdmFirstPage.service.IItdmTaskService;
 import org.jeecg.modules.itdmFirstPage.vo.ItdmFirstPageVO;
-import org.jeecg.modules.system.entity.SysUserRole;
 import org.jeecg.modules.system.service.ISysRoleService;
 import org.jeecg.modules.system.service.ISysUserRoleService;
-import org.jeecg.modules.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
 
 @Api(tags="...首页")
 @RestController
@@ -48,27 +38,21 @@ public class itdmFirstPageController {
         String username = loginUser.getUsername(); // 登录账号
         System.out.println("realName:"+ realName+ "  username:"+ username);
 
-        ItdmTask itdmTask = new ItdmTask();
-        List<String> roles = new ArrayList<>();
+        ItdmTaskQueryDTO dto = new ItdmTaskQueryDTO();
         if(!username.equals("admin")){
-            itdmTask.setTaskUser(realName);
+            dto.setTaskUser(realName);
         }
 
-        QueryWrapper<ItdmTask> taskWrapper = new QueryWrapper<>(itdmTask);
-
-        Long totalNum = taskService.count(taskWrapper);
+        Long totalNum = taskService.queryTaskTotal(dto);
 
-        itdmTask.setTaskStatus(0);
-        taskWrapper = new QueryWrapper<>(itdmTask);
-        Long daibanNum = taskService.count(taskWrapper);
+        dto.setTaskStatus(0);
+        Long daibanNum = taskService.queryTaskTotal(dto);
 
-        itdmTask.setTaskStatus(1);
-        taskWrapper = new QueryWrapper<>(itdmTask);
-        Long jinxingNum = taskService.count(taskWrapper);
+        dto.setTaskStatus(1);
+        Long jinxingNum = taskService.queryTaskTotal(dto);
 
-        itdmTask.setTaskStatus(2);
-        taskWrapper = new QueryWrapper<>(itdmTask);
-        Long wanchengNum =taskService.count(taskWrapper);
+        dto.setTaskStatus(2);
+        Long wanchengNum =taskService.queryTaskTotal(dto);
 
         ItdmFirstPageVO firstPageVO = new ItdmFirstPageVO();
         firstPageVO.setDaibanNum(daibanNum);

+ 4 - 4
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/dto/ItdmTaskQueryDTO.java

@@ -19,10 +19,10 @@ public class ItdmTaskQueryDTO implements Serializable {
     @Dict(dicCode = "task_status")
     @ApiModelProperty(value = "任务状态(0待办1进行2完成)")
     private java.lang.Integer taskStatus;
-    /**待办角色*/
-    @Excel(name = "待办角色", width = 15)
-    @ApiModelProperty(value = "待办角色")
-    private List<String> taskRoleList;
+//    /**待办角色*/
+//    @Excel(name = "待办角色", width = 15)
+//    @ApiModelProperty(value = "待办角色")
+//    private List<String> taskRoleList;
     /**待办人员*/
     @Excel(name = "待办人员", width = 15)
     @ApiModelProperty(value = "待办人员")

+ 3 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/mapper/ItdmTaskMapper.java

@@ -16,6 +16,9 @@ import java.util.List;
  */
 public interface ItdmTaskMapper extends BaseMapper<ItdmTask> {
 
+    /**查询对应的任务总数*/
+    public Long queryTaskTotal(ItdmTaskQueryDTO dto);
+
     /**将对应委托id的左右任务状态都修改为完结状态*/
     @Select("update itdm_task set task_status = 2 where weituo_id = #{weituoId}")
     public void updateByWeituoId(String weituoId);

+ 13 - 1
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/mapper/xml/ItdmTaskMapper.xml

@@ -2,15 +2,27 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.itdmFirstPage.mapper.ItdmTaskMapper">
 
+    <!--    查询对应的任务总数-->
+    <select id="queryTaskTotal" parameterType="org.jeecg.modules.itdmFirstPage.dto.ItdmTaskQueryDTO" resultType="java.lang.Long">
+        select count(1) from itdm_task t
+        left join itdm_weituo_info w on t.weituo_id = w.id
+        <where>
+            <if test="taskUser != null and taskUser != ''"> FIND_IN_SET(#{taskUser}, task_user) </if>
+            <if test="taskStatus != null "> and task_status = #{taskStatus}</if>
+        </where>
+    </select>
+
+    <!--    查询对应的任务列表-->
     <select id="queryTaskList" parameterType="org.jeecg.modules.itdmFirstPage.dto.ItdmTaskQueryDTO" resultType="org.jeecg.modules.itdmFirstPage.vo.ItdmTaskListVO">
         select t.id ,t.task_content,t.task_status,t.task_role ,t.task_user,t.weituo_id,t.remark,
         w.weituo_client, w.weituo_no
         from itdm_task t
         left join itdm_weituo_info w on t.weituo_id = w.id
         <where>
-            <if test="taskUser != null and taskUser != ''"> task_user = #{taskUser}</if>
+            <if test="taskUser != null and taskUser != ''"> FIND_IN_SET(#{taskUser}, task_user) </if>
             <if test="taskStatus != null "> and task_status = #{taskStatus}</if>
         </where>
+        order by t.create_time desc
     </select>
 
 </mapper>

+ 3 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/service/IItdmTaskService.java

@@ -15,6 +15,9 @@ import java.util.List;
  */
 public interface IItdmTaskService extends IService<ItdmTask> {
 
+    /**查询对应的任务总数*/
+    public Long queryTaskTotal(ItdmTaskQueryDTO dto);
+
     /**将对应委托id的左右任务状态都修改为完结状态*/
     public void updateByWeituoId(String weituoId);
 

+ 5 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmFirstPage/service/impl/ItdmTaskServiceImpl.java

@@ -26,6 +26,11 @@ public class ItdmTaskServiceImpl extends ServiceImpl<ItdmTaskMapper, ItdmTask> i
     @SuppressWarnings("all")
     private ItdmTaskMapper taskMapper;
 
+    /**查询对应的任务总数*/
+    public Long queryTaskTotal(ItdmTaskQueryDTO dto){
+        return taskMapper.queryTaskTotal(dto);
+    }
+
     /**将对应委托id的左右任务状态都修改为完结状态*/
     public void updateByWeituoId(String weituoId){
         taskMapper.updateByWeituoId(weituoId);