lyhzzz 3 месяцев назад
Родитель
Сommit
3ac04544c4

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/service/IManageFolderSceneService.java

@@ -23,4 +23,6 @@ public interface IManageFolderSceneService extends IService<ManageFolderScene> {
     HashMap<String,ManageFolderScene> getByNumList(List<String> numList, Integer type);
 
     void delByNumList(List<String> numList, Integer type);
+
+    List<ManageFolderScene> getType(Integer type);
 }

+ 7 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/ManageFolderSceneServiceImpl.java

@@ -30,6 +30,13 @@ public class ManageFolderSceneServiceImpl extends ServiceImpl<IManageFolderScene
     }
 
     @Override
+    public List<ManageFolderScene> getType(Integer type) {
+        LambdaQueryWrapper<ManageFolderScene> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ManageFolderScene::getType,type);
+        return this.list(wrapper);
+    }
+
+    @Override
     public List<ManageFolderScene> getByFolderIds(List<Integer> folderIds) {
         if(folderIds.isEmpty()){
             return new ArrayList<>();

+ 12 - 5
src/main/java/com/fdkankan/manage_jp/service/impl/SceneProServiceImpl.java

@@ -159,11 +159,18 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             }
             param.setProjectNums(projectNums);
         }
-//        if(param.getFolderId() != null){
-//            List<ManageFolderScene> byFolderId = manageFolderSceneService.getByFolderId(param.getFolderId());
-//            List<String> collect = byFolderId.stream().map(ManageFolderScene::getNum).collect(Collectors.toList());
-//            param.getProjectNums().addAll(collect);
-//        }
+        if(param.getHaveFolder() == 1){
+            if(param.getFolderId() != null){
+                List<ManageFolderScene> byFolderId = manageFolderSceneService.getByFolderId(param.getFolderId());
+                List<String> collect = byFolderId.stream().map(ManageFolderScene::getNum).collect(Collectors.toList());
+                param.getProjectNums().addAll(collect);
+            }else {
+                List<ManageFolderScene> byFolderId = manageFolderSceneService.getType(param.getType());
+                List<String> collect = byFolderId.stream().map(ManageFolderScene::getNum).collect(Collectors.toList());
+                param.getNoInNums().addAll(collect);
+            }
+        }
+
 
         Page<SceneVo> page  = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
         List<String> sceneNumList = page.getRecords().stream().map(SceneVo::getNum).collect(Collectors.toList());

+ 1 - 0
src/main/java/com/fdkankan/manage_jp/vo/request/SceneParam.java

@@ -35,6 +35,7 @@ public class SceneParam extends RequestBase {
     private Integer id;
     private Integer projectId;
     private List<String> projectNums = new ArrayList<>();
+    private List<String> noInNums = new ArrayList<>();
     private Integer mapShow;
     private Integer isLaser;
 

+ 6 - 8
src/main/resources/mapper/manage_jp/SceneProMapper.xml

@@ -68,14 +68,7 @@
         left join t_camera c on s.camera_id = c.id
         left join t_camera_detail d on c.id = d.camera_id
         left join t_company co on u.company_id = co.id
-        left join t_manage_folder_scene fs on s.num = fs.num
         where s.rec_status = 'A'
-        <if test="param.haveFolder != null and param.haveFolder ==0 and param.folderId == null">
-            and fs.id is null
-        </if>
-        <if test="param.haveFolder != null and param.haveFolder ==1 and param.folderId != null">
-            and fs.folder_id = #{param.folderId}
-        </if>
 
         <if test="param.num != null and param.num !='' ">
             and s.num like concat ('%',#{param.num},'%')
@@ -139,7 +132,12 @@
                 #{num}
             </foreach>
         </if>
-
+        <if test="param.noInNums !=null and param.noInNums.size >0">
+            and  s.num not in
+            <foreach collection="param.noInNums" item="num" open="(" separator="," close=")">
+                #{num}
+            </foreach>
+        </if>
 
     </sql>