yurk 3 years ago
parent
commit
dae509de98

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectRequirementController.java

@@ -89,8 +89,8 @@ public class ProjectRequirementController {
             projectIds = taskGroups.stream().map(TaskGroup::getProjectId).collect(Collectors.toList());
             projectIds = taskGroups.stream().map(TaskGroup::getProjectId).collect(Collectors.toList());
         }
         }
         List<ProjectRequirement> projectRequirements = projectRequirementMapper.customSelect(companyId, startDate, projectId, projectIds.size()==0?null:projectIds, startIndex, pageSize,reStartDate,reEndDate);
         List<ProjectRequirement> projectRequirements = projectRequirementMapper.customSelect(companyId, startDate, projectId, projectIds.size()==0?null:projectIds, startIndex, pageSize,reStartDate,reEndDate);
-        List<Integer> collect = projectRequirements.stream().map(pr -> pr.getProjectId()).collect(Collectors.toList());
-        List<Task> milepostList=taskMapper.selectMilepost(collect);
+        List<Integer> ids = projectRequirements.stream().map(pr -> pr.getProjectId()).collect(Collectors.toList());
+        List<Task> milepostList=taskMapper.selectMilepost(ids.size()==0?null:ids);
         projectRequirements.forEach(pr->{
         projectRequirements.forEach(pr->{
             milepostList.forEach(mp->{
             milepostList.forEach(mp->{
                 if(pr.getProjectId().equals(mp.getProjectId())){
                 if(pr.getProjectId().equals(mp.getProjectId())){

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

@@ -42,5 +42,5 @@ public interface TaskMapper extends BaseMapper<Task> {
     @Update("update task set executor_id = null, executor_name = null, executor_color=null where id=#{id}")
     @Update("update task set executor_id = null, executor_name = null, executor_color=null where id=#{id}")
     void removeTaskExecutor(Integer id);
     void removeTaskExecutor(Integer id);
 
 
-    List<Task> selectMilepost(List<Integer> collect);
+    List<Task> selectMilepost(@Param("ids") List<Integer> ids);
 }
 }

+ 18 - 10
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/TaskMapper.xml

@@ -190,15 +190,23 @@
         and task_status = 0 order by task.id desc limit 50
         and task_status = 0 order by task.id desc limit 50
     </select>
     </select>
     <select id="selectMilepost" resultType="com.management.platform.entity.Task">
     <select id="selectMilepost" resultType="com.management.platform.entity.Task">
-        select * from task where task.project_id in
-        <foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
-            #{item}
-        </foreach>
-        and task.task_type=1 and task.finish_date in
-        (select MAX(task.finish_date)from task where  task.project_id in
-        <foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
-            #{item}
-        </foreach>
-         and task.task_type=1   group by project_id) group by task.project_id
+        select * from task where
+        task.task_type=1
+        <if test="ids!=null">
+        and task.project_id in
+            <foreach collection="ids" index="index" close=")" open="(" separator="," item="item">
+                #{item}
+            </foreach>
+        </if>
+        and task.finish_date in
+        (select MAX(task.finish_date)from task where
+        task.task_type=1
+        <if test="ids!=null">
+            and task.project_id in
+            <foreach collection="ids" index="index" close=")" open="(" separator="," item="item">
+                #{item}
+            </foreach>
+        </if>
+        group by project_id) group by task.project_id
     </select>
     </select>
 </mapper>
 </mapper>