Selaa lähdekoodia

copyScene -mq

lyhzzz 1 vuosi sitten
vanhempi
commit
64ffd5b0bd

+ 5 - 5
src/main/java/com/fdkankan/manage_jp/controller/ProjectController.java

@@ -9,11 +9,7 @@ import com.fdkankan.manage_jp.vo.request.ProjectAddSceneParam;
 import com.fdkankan.manage_jp.vo.request.ProjectParam;
 import com.fdkankan.manage_jp.vo.request.SceneParam;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -53,6 +49,10 @@ public class ProjectController extends BaseController{
         return Result.success();
     }
 
+    @PostMapping("/getScene")
+    public Result getScene(@RequestBody  ProjectParam param){
+        return Result.success(projectService.getSceneByProjectId(param));
+    }
 
     @PostMapping("/addScene")
     public Result addScene(@RequestBody ProjectAddSceneParam param){

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/mapper/IProjectSceneGpsMapper.java

@@ -1,5 +1,6 @@
 package com.fdkankan.manage_jp.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.manage_jp.entity.ProjectSceneGps;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fdkankan.manage_jp.vo.request.SceneGpsParam;
@@ -24,4 +25,5 @@ public interface IProjectSceneGpsMapper extends BaseMapper<ProjectSceneGps> {
     List<SceneGpsDb> getNotGpsScene();
 
     List<SceneGpsDbVp> listGps( SceneGpsParam param);
+    List<SceneGpsDbVp> listGps(Page<Object> page,SceneGpsParam param);
 }

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

@@ -30,4 +30,6 @@ public interface IProjectService extends IService<Project> {
     void delScene(ProjectAddSceneParam param);
 
     List<Project> listShow();
+
+    Object getSceneByProjectId( ProjectParam param);
 }

+ 7 - 3
src/main/java/com/fdkankan/manage_jp/service/impl/ProjectSceneGpsServiceImpl.java

@@ -171,7 +171,7 @@ public class ProjectSceneGpsServiceImpl extends ServiceImpl<IProjectSceneGpsMapp
             param.setNumList(numList);
 
         }
-        if(param.getType() == 1){
+        if(param.getType() == 1 && !param.getNeedPage()){
             if(roleIds.contains(5L)) {      //平台管理员
                 param.setUserId(null);
                 param.setCompanyId(null);
@@ -179,8 +179,12 @@ public class ProjectSceneGpsServiceImpl extends ServiceImpl<IProjectSceneGpsMapp
             List<String> numList = tmContractorNumService.getNumListByCompanyId(param.getCompanyId());
             param.setCooperateSceneCodes(numList);
         }
-
-        List<SceneGpsDbVp> sceneGpsDbVps = this.getBaseMapper().listGps(param);
+        List<SceneGpsDbVp> sceneGpsDbVps = new ArrayList<>();
+        if(!param.getNeedPage()){
+            sceneGpsDbVps = this.getBaseMapper().listGps(param);
+        }else {
+            sceneGpsDbVps = this.getBaseMapper().listGps(new Page<>(param.getPageNum(),param.getPageSize()) ,param);
+        }
         if(param.getType() == 1){
             return sceneGpsDbVps;
         }

+ 28 - 4
src/main/java/com/fdkankan/manage_jp/service/impl/ProjectServiceImpl.java

@@ -9,13 +9,11 @@ import com.fdkankan.manage_jp.entity.ProjectNum;
 import com.fdkankan.manage_jp.entity.User;
 import com.fdkankan.manage_jp.exception.BusinessException;
 import com.fdkankan.manage_jp.mapper.IProjectMapper;
-import com.fdkankan.manage_jp.service.ICompanyService;
-import com.fdkankan.manage_jp.service.IProjectNumService;
-import com.fdkankan.manage_jp.service.IProjectService;
+import com.fdkankan.manage_jp.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.manage_jp.service.IUserService;
 import com.fdkankan.manage_jp.vo.request.ProjectAddSceneParam;
 import com.fdkankan.manage_jp.vo.request.ProjectParam;
+import com.fdkankan.manage_jp.vo.request.SceneGpsParam;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -43,6 +41,8 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
     IUserService userService;
     @Autowired
     IProjectNumService projectNumService;
+    @Autowired
+    IProjectSceneGpsService projectSceneGpsService;
 
     @Override
     public Object pageList(ProjectParam param) {
@@ -131,4 +131,28 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
         projectNumService.delNumList(param.getProjectId(),param.getNumList());
 
     }
+
+    @Override
+    public Object getSceneByProjectId( ProjectParam param) {
+        if(param.getProjectId() == null){
+            throw new BusinessException(ResultCode.PARAM_ERROR);
+        }
+        Project project = this.getById(param.getProjectId());
+        if(project == null){
+            return PageInfo.PageInfoEmpty(param.getPageNum(),param.getPageSize());
+        }
+        List<ProjectNum> projectNumList = projectNumService.getByProjectId(Arrays.asList(param.getProjectId()));
+        if(projectNumList== null || projectNumList.isEmpty()){
+            return PageInfo.PageInfoEmpty(param.getPageNum(),param.getPageSize());
+        }
+        List<String> numList = projectNumList.stream().map(ProjectNum::getNum).collect(Collectors.toList());
+        SceneGpsParam gpsParam = new SceneGpsParam();
+        gpsParam.setProjectId(param.getProjectId());
+        gpsParam.setNumList(numList);
+        gpsParam.setNeedPage(true);
+        gpsParam.setPageNum(param.getPageNum());
+        gpsParam.setPageSize(param.getPageSize());
+        gpsParam.setType(1);
+        return projectSceneGpsService.allSceneGps(gpsParam);
+    }
 }

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

@@ -8,4 +8,5 @@ public class ProjectParam extends RequestBase {
     private String projectName;
     private String projectSn;
     private Long userId;
+    private Integer projectId;
 }

+ 6 - 1
src/main/java/com/fdkankan/manage_jp/vo/request/SceneGpsParam.java

@@ -8,13 +8,18 @@ import java.util.List;
 @Data
 public class SceneGpsParam {
     private String searchKey;   //关键字查询
-    private Integer type;       //数据类型 0 项目,1场景
+    private Integer type = 0;       //数据类型 0 项目,1场景
     private String deptId;      //组织id
 
     private Long userId;
     private Long companyId;
+    private Integer projectId;
 
     private List<String> numList;
     private List<String> cooperateSceneCodes;
 
+    private Boolean needPage = false;
+    private Integer pageNum;
+    private Integer pageSize;
+
 }