Browse Source

任务模块分页查询修改1

yusm 1 year ago
parent
commit
b370ccd6ee

+ 0 - 5
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/TaskController.java

@@ -62,10 +62,5 @@ public class TaskController {
         return taskService.pageTask(taskDto,request);
     }
 
-    @RequestMapping("test")
-    public HttpRespMsg test(@RequestBody TaskDto taskDto){
-        return taskService.test(taskDto,request);
-    }
-
 }
 

+ 2 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/vo/TasKVo.java

@@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 import java.util.ArrayList;
+import java.util.List;
 
 @EqualsAndHashCode(callSuper = true)
 @Data
@@ -16,6 +17,6 @@ public class TasKVo extends Task {
     private Order order;
     private Clue clue;
     private Contacts contacts;
-    private ArrayList<TaskExecutor> taskExecutors;
+    private List<TaskExecutor> taskExecutors;
 
 }

+ 2 - 2
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/TaskMapper.java

@@ -57,7 +57,7 @@ public interface TaskMapper extends BaseMapper<Task> {
     @Update("update task set finish_date =null where id=#{id}")
     void updateFinishDate(Integer id);
 
-    Page<TasKVo> pageTask(TaskDto taskDto);
+    List<TasKVo> getPageListTask(TaskDto taskDto);
 
-    Page<TasKVo> test(TaskDto taskDto);
+    List<TasKVo> getPageListTotalTask(TaskDto taskDto);
 }

+ 0 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/TaskService.java

@@ -26,5 +26,4 @@ public interface TaskService extends IService<Task> {
 
     HttpRespMsg pageTask(TaskDto taskDto, HttpServletRequest request);
 
-    HttpRespMsg test(TaskDto taskDto, HttpServletRequest request);
 }

+ 19 - 13
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/TaskServiceImpl.java

@@ -2,6 +2,7 @@ package com.management.platform.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -134,21 +135,26 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
         String token = String.valueOf(request.getHeader("Token"));
         User user = userMapper.selectById(token);
         taskDto.setCompanyId(user.getCompanyId());
-        Page<TasKVo> pageTaskVo =taskMapper.pageTask(taskDto);
-        List<TasKVo> tasKVoList = pageTaskVo.getRecords();
+        List<TasKVo> taskVoList =taskMapper.getPageListTask(taskDto);
+        if (!taskVoList.isEmpty()){
+            taskVoList.forEach(tasKVo -> {
+                if (!tasKVo.getTaskExecutors().isEmpty()){
+                    Integer taskId = tasKVo.getId();
+                    LambdaQueryWrapper<TaskExecutor> lqw = new LambdaQueryWrapper<>();
+                    lqw.eq(TaskExecutor::getTaskId,taskId);
+                    List<TaskExecutor> taskExecutors = taskExecutorMapper.selectList(lqw);
+                    tasKVo.setTaskExecutors(taskExecutors);
+                }
+            });
+        }
+        List<TasKVo> taskVoTotalList= taskMapper.getPageListTotalTask(taskDto);
         HttpRespMsg msg = new HttpRespMsg();
-        msg.setData(tasKVoList);
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("record",taskVoList);
+        map.put("total",taskVoTotalList.size());
+        msg.setData(map);
         return msg;
     }
 
-    @Override
-    public HttpRespMsg test(TaskDto taskDto, HttpServletRequest request) {
-        String token = String.valueOf(request.getHeader("Token"));
-        User user = userMapper.selectById(token);
-        taskDto.setCompanyId(user.getCompanyId());
-        Page<TasKVo> tasKVoPage= taskMapper.test(taskDto);
-        HttpRespMsg msg = new HttpRespMsg();
-        msg.setData(tasKVoPage.getRecords());
-        return msg;
-    }
+
 }

+ 91 - 35
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/TaskMapper.xml

@@ -44,6 +44,36 @@
 
     <resultMap id="TaskVoMap" type="com.management.platform.entity.vo.TasKVo">
         <id column="id" property="id" />
+        <result column="task_name" property="taskName" />
+        <result column="company_id" property="companyId" />
+        <result column="owner_id" property="ownerId" />
+        <result column="contacts_id" property="contactsId" />
+        <result column="executor_id" property="executorId" />
+        <result column="clue_id" property="clueId" />
+        <result column="custom_id" property="customId" />
+        <result column="business_opportunity_id" property="businessOpportunityId" />
+        <result column="order_id" property="orderId" />
+        <result column="product_id" property="productId" />
+        <result column="status" property="status" />
+        <result column="priority" property="priority" />
+        <result column="is_repeat" property="isRepeat" />
+        <result column="repeat_type" property="repeatType" />
+        <result column="repeat_end_never" property="repeatEndNever" />
+        <result column="repeat_end_count" property="repeatEndCount" />
+        <result column="repeat_end_date" property="repeatEndDate" />
+        <result column="repeat_design_day" property="repeatDesignDay" />
+        <result column="task_desc" property="taskDesc" />
+        <result column="creater_id" property="createrId" />
+        <result column="creater_name" property="createrName" />
+        <result column="create_date" property="createDate" />
+        <result column="end_date" property="endDate" />
+        <result column="start_date" property="startDate" />
+        <result column="finish_date" property="finishDate" />
+        <result column="plate1" property="plate1" />
+        <result column="plate2" property="plate2" />
+        <result column="plate3" property="plate3" />
+        <result column="plate4" property="plate4" />
+        <result column="plate5" property="plate5" />
         <association property="custom" javaType="com.management.platform.entity.Custom">
             <id column="custom_id" property="id"/>
             <result column="custom_name" property="customName"/>
@@ -63,6 +93,7 @@
         <association property="contacts" javaType="com.management.platform.entity.Contacts">
             <id column="contacts_id" property="id"/>
             <result column="contacts_name" property="name"/>
+            <result column="phone" property="phone"/>
         </association>
         <collection property="taskExecutors"  ofType="com.management.platform.entity.TaskExecutor">
             <id column="task_executor_id" property="taskExecutorId"/>
@@ -72,7 +103,7 @@
 
     </resultMap>
 
-    <select id="pageTask" resultMap="TaskVoMap">
+    <select id="getPageListTask" resultMap="TaskVoMap">
         select task.* ,
                custom.custom_name,
                business_opportunity.name businessName,
@@ -98,6 +129,9 @@
             <if test=" customName!= null and customName != ''">
                 AND custom.custom_name LIKE CONCAT('%', #{customName}, '%')
             </if>
+            <if test=" contactsName!= null and contactsName != ''">
+                AND contacts.name LIKE CONCAT('%', #{contactsName}, '%')
+            </if>
             <if test=" businessName!= null and businessName != ''">
                 AND business_opportunity.name LIKE CONCAT('%', #{businessName}, '%')
             </if>
@@ -131,41 +165,63 @@
 
     </select>
 
-   <resultMap id="testMap" type="com.management.platform.entity.vo.TasKVo">
-       <id column="id" property="id" />
-       <result column="task_name" property="taskName" />
-       <result column="company_id" property="companyId" />
-       <result column="owner_id" property="ownerId" />
-       <result column="contacts_id" property="contactsId" />
-       <result column="executor_id" property="executorId" />
-       <result column="clue_id" property="clueId" />
-       <result column="custom_id" property="customId" />
-       <result column="business_opportunity_id" property="businessOpportunityId" />
-       <result column="order_id" property="orderId" />
-       <result column="product_id" property="productId" />
-       <result column="status" property="status" />
-       <result column="priority" property="priority" />
-       <result column="is_repeat" property="isRepeat" />
-       <result column="repeat_type" property="repeatType" />
-       <result column="repeat_end_never" property="repeatEndNever" />
-       <result column="repeat_end_count" property="repeatEndCount" />
-       <result column="repeat_end_date" property="repeatEndDate" />
-       <result column="repeat_design_day" property="repeatDesignDay" />
-       <result column="task_desc" property="taskDesc" />
-       <result column="creater_id" property="createrId" />
-       <result column="creater_name" property="createrName" />
-       <result column="create_date" property="createDate" />
-       <result column="end_date" property="endDate" />
-       <result column="start_date" property="startDate" />
-       <result column="finish_date" property="finishDate" />
-       <collection property="taskExecutors" ofType="com.management.platform.entity.TaskExecutor">
-           <id column="task_executor_id" property="taskExecutorId"/>
-           <result column="executor_name" property="executorName"/>
-       </collection>
 
-   </resultMap>
-    <select id="test" resultMap="testMap">
-        select t.*,e.task_executor_id,e.executor_name from task t left join task_executor  e ON t.id = e.task_id limit #{pageIndex},#{pageSize}
+    <select id="getPageListTotalTask" resultMap="TaskVoMap">
+        select task.* ,
+        custom.custom_name,
+        business_opportunity.name businessName,
+        `order`.order_name ,
+        clue.clue_name,
+        contacts.name contacts_name ,contacts.phone,
+        task_executor.task_executor_id, task_executor.executor_id taskExecutor_executor_id,task_executor.executor_name
+        from task
+        left join  custom on task.custom_id=custom.id
+        left join  business_opportunity on task.business_opportunity_id=business_opportunity.id
+        left join  `order` on task.order_id=`order`.id
+        left join  clue on task.clue_id=clue.id
+        left join  contacts on task.contacts_id=contacts.id
+        left join  task_executor on task.id=task_executor.task_id
+        <where>
+            <if test=" taskName!= null and taskName != ''">
+                AND task.task_name LIKE CONCAT('%', #{taskName}, '%')
+            </if>
+            <if test=" priority!= null ">
+                AND task.priority =#{priority}
+            </if>
+            <if test=" customName!= null and customName != ''">
+                AND custom.custom_name LIKE CONCAT('%', #{customName}, '%')
+            </if>
+            <if test=" contactsName!= null and contactsName != ''">
+                AND contacts.name LIKE CONCAT('%', #{contactsName}, '%')
+            </if>
+            <if test=" businessName!= null and businessName != ''">
+                AND business_opportunity.name LIKE CONCAT('%', #{businessName}, '%')
+            </if>
+            <if test=" orderName!= null and orderName != ''">
+                AND `order`.order_name LIKE CONCAT('%', #{orderName}, '%')
+            </if>
+            <if test=" clueName!= null and clueName != ''">
+                AND clue.clue_name LIKE CONCAT('%', #{clueName}, '%')
+            </if>
+            <if test=" phone!= null and phone != ''">
+                AND contacts.phone LIKE CONCAT('%', #{phone}, '%')
+            </if>
+            <if test=" status!= null ">
+                AND task.status = #{status}
+            </if>
+            <if test=" executorName!= null and executorName != '' ">
+                AND task_executor.executor_name LIKE CONCAT('%', #{executorName}, '%')
+            </if>
+            <if test=" startDate!= null and startDate != '' ">
+                AND task.start_date &gt; #{startDate}
+            </if>
+            <if test=" endDate!= null and endDate != '' ">
+                AND task.end_date &lt; #{endDate}
+            </if>
+            <if test=" companyId!= null ">
+                AND task.company_id = #{companyId}
+            </if>
+        </where>
     </select>
 
 </mapper>