lyhzzz преди 1 година
родител
ревизия
a5b6c8ee14

+ 6 - 0
src/main/java/com/fdkankan/manage_jp/controller/ProjectSceneController.java

@@ -46,6 +46,12 @@ public class ProjectSceneController extends BaseController{
         param.setCompanyId(getUser().getCompanyId());
         return Result.success(projectSceneGpsService.allSceneGps(param));
     }
+    @PostMapping("/listSceneGps")
+    public Result listSceneGps(@RequestBody SceneGpsParam param){
+        param.setUserId(getUser().getId());
+        param.setCompanyId(getUser().getCompanyId());
+        return Result.success(projectSceneGpsService.listSceneGps(param));
+    }
 
     @PostMapping("/createSceneShare")
     public Result createSceneShare(@RequestBody SceneGpsParam param)  {

+ 3 - 0
src/main/java/com/fdkankan/manage_jp/service/IProjectSceneGpsService.java

@@ -26,6 +26,9 @@ public interface IProjectSceneGpsService extends IService<ProjectSceneGps> {
 
 
     Object allSceneGps(SceneGpsParam param);
+    Object listSceneGps(SceneGpsParam param);
 
     ProjectSceneGps getByNum(String num);
+
+    void deleteByNumList(List<String> numList);
 }

+ 31 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/ProjectSceneGpsServiceImpl.java

@@ -133,6 +133,27 @@ public class ProjectSceneGpsServiceImpl extends ServiceImpl<IProjectSceneGpsMapp
     @Autowired
     IProjectNumService projectNumService;
 
+    private void commonParam(SceneGpsParam param){
+
+    }
+
+    @Override
+    public Object listSceneGps(SceneGpsParam param){
+        if(param.getUserId() == null){
+            return new ArrayList<>();
+        }
+        List<UserRole> roleIdList = userRoleService.getByUserId((param.getUserId()));
+        List<Long> roleIds = roleIdList.stream().map(UserRole::getRoleId).collect(Collectors.toList());
+        if(roleIds.contains(5L)) {      //平台管理员
+            param.setUserId(null);
+            param.setCompanyId(null);
+        }
+        List<String> numList = tmContractorNumService.getNumListByCompanyId(param.getCompanyId());
+        param.setCooperateSceneCodes(numList);
+        Page<SceneGpsDbVp> sceneGpsDbVpPage = this.getBaseMapper().listGps(new Page<>(param.getPageNum(), param.getPageSize()), param);
+        return PageInfo.PageInfo(sceneGpsDbVpPage);
+    }
+
     @Override
     public Object allSceneGps(SceneGpsParam param) {
         if(param.getUserId() == null){
@@ -238,4 +259,14 @@ public class ProjectSceneGpsServiceImpl extends ServiceImpl<IProjectSceneGpsMapp
         wrapper.eq(ProjectSceneGps::getNum,num);
         return this.getOne(wrapper);
     }
+
+    @Override
+    public void deleteByNumList(List<String> numList) {
+        if(numList == null || numList.isEmpty()){
+            return;
+        }
+        LambdaQueryWrapper<ProjectSceneGps> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(ProjectSceneGps::getNum,numList);
+        this.remove(wrapper);
+    }
 }

+ 3 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/TmColdStorageServiceImpl.java

@@ -56,6 +56,8 @@ public class TmColdStorageServiceImpl extends ServiceImpl<ITmColdStorageMapper,
     ITmContractorService contractorService;
     @Autowired
     ITmContractorNumService contractorNumService;
+    @Autowired
+    IProjectSceneGpsService projectSceneGpsService;
 
     @Override
     public Object pageList(ColdStorageParam param) {
@@ -164,6 +166,7 @@ public class TmColdStorageServiceImpl extends ServiceImpl<ITmColdStorageMapper,
         if(!param.getNumList().isEmpty()){
             contractorNumService.deleteByNumList(param.getNumList());
             contractorService.checkDel();
+            projectSceneGpsService.deleteByNumList(param.getNumList());
         }
 
     }

+ 1 - 0
src/main/java/com/fdkankan/manage_jp/vo/response/SceneGpsDbVp.java

@@ -13,4 +13,5 @@ public class SceneGpsDbVp {
     private String lon;
     private String alt;
     private String webSite;
+    private String snCode;
 }

+ 8 - 5
src/main/resources/mapper/manage_jp/ProjectSceneGpsMapper.xml

@@ -3,18 +3,21 @@
 <mapper namespace="com.fdkankan.manage_jp.mapper.IProjectSceneGpsMapper">
 
     <select id="getNotGpsScene" resultType="com.fdkankan.manage_jp.vo.response.SceneGpsDb">
-        SELECT s.num,s.scene_source,e.web_site,e.gps,e.data_source ,'v4' as scene_version FROM t_scene_plus s
-                LEFT JOIN t_scene_plus_ext e on s.id = e.plus_id
-                LEFT JOIN t_project_scene_gps gps on s.num = gps.num
-        WHERE s.rec_status = 'A' and e.gps is not null and s.scene_status = -2 and s.scene_source in (4,5) and gps.num is null
+        SELECT s.num,s.scene_source,e.web_site,e.gps,e.data_source ,'v4' as scene_version
+        FROM t_scene_plus s
+                 LEFT JOIN t_scene_plus_ext e on s.id = e.plus_id
+                 LEFT JOIN t_project_scene_gps gps on s.num = gps.num
+                 LEFT JOIN tm_cold_storage cs on s.num = cs.scene_num
+        WHERE s.rec_status = 'A' and e.gps is not null and s.scene_status = -2 and s.scene_source in (4,5) and gps.num is null and cs.rec_status = 'A' and cs.scene_num is null
         LIMIT 1000
     </select>
     
     <select id="listGps" resultType="com.fdkankan.manage_jp.vo.response.SceneGpsDbVp">
-        SELECT s.num,s.title ,s.laser_title,s.scene_source,'v4' as scene_version  ,gps.lat,gps.lon,gps.alt,gps.web_site
+        SELECT s.num,s.title ,s.laser_title,s.scene_source,'v4' as scene_version  ,gps.lat,gps.lon,gps.alt,gps.web_site,c.sn_code
             FROM t_project_scene_gps gps
             LEFT JOIN t_scene_plus s on gps.num = s.num
             LEFT JOIN t_scene_plus_ext e on s.id = e.plus_id
+            LEFT JOIN t_camera c on s.camera_id = c.id
             LEFT JOIN t_user u on s.user_id = u.id
             LEFT JOIN t_company co on u.company_id = co.id
         WHERE s.rec_status = 'A'  and s.scene_status = -2 and s.map_show = 1 and s.num is not null