lyhzzz vor 2 Jahren
Ursprung
Commit
b32b08a206

+ 9 - 8
src/main/java/com/fdkankan/site/controller/AppController.java

@@ -1,5 +1,6 @@
 package com.fdkankan.site.controller;
 
+import com.fdkankan.site.common.BaseController;
 import com.fdkankan.site.common.ResultCode;
 import com.fdkankan.site.common.ResultData;
 import com.fdkankan.site.entity.ProjectNum;
@@ -7,6 +8,7 @@ import com.fdkankan.site.exception.BusinessException;
 import com.fdkankan.site.request.AppGetSceneInfoParam;
 import com.fdkankan.site.service.IProjectNumService;
 import com.fdkankan.site.service.IProjectService;
+import com.fdkankan.site.service.IProjectTeamService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -19,7 +21,7 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/app")
-public class AppController {
+public class AppController extends BaseController {
 
     @Autowired
     IProjectNumService projectNumService;
@@ -29,17 +31,16 @@ public class AppController {
         if(param.getNumList() == null || param.getNumList().size() <=0 ){
             throw new BusinessException(ResultCode.PARAM_MISS);
         }
-        List<ProjectNum> projectNums = projectNumService.getByNumList(param.getNumList());
+        List<ProjectNum> projectNums = projectNumService.getByNumList(param.getNumList(),getToken());
         return ResultData.ok(projectNums);
     }
 
-    @PostMapping("/updateProjectSceneStatus")
-    public ResultData updateProjectSceneStatus(@RequestBody AppGetSceneInfoParam param){
-        if(param.getNumList() == null || param.getNumList().size() <=0 ||
-                param.getEditableFlag() == null || param.getEditableFlag()!=0 || param.getEditableFlag()!= 1){
+    @PostMapping("/updateProjectScene")
+    public ResultData updateProjectScene(@RequestBody AppGetSceneInfoParam param){
+        if(param.getNumList() == null || param.getNumList().size() <=0 ){
             throw new BusinessException(ResultCode.PARAM_MISS);
-        }
-        projectNumService.updateProjectSceneStatus(param.getNumList(),param.getEditableFlag());
+         }
+        projectNumService.updateProjectScene(param,getToken());
         return ResultData.ok();
     }
 

+ 6 - 1
src/main/java/com/fdkankan/site/entity/ProjectNum.java

@@ -54,7 +54,12 @@ public class ProjectNum implements Serializable {
      * 0,锁定,不可继续拍摄,可参照拍摄 1,未锁定,可继续拍摄,不可参照拍摄
      */
     @TableField("editable_flag ")
-    private String editableFlag ;
+    private Integer editableFlag ;
+    /**
+     * 参照拍摄的工程sceneDirName
+     */
+    @TableField("parent_scene ")
+    private String parentScene ;
 
 
 }

+ 2 - 0
src/main/java/com/fdkankan/site/request/AppGetSceneInfoParam.java

@@ -8,4 +8,6 @@ import java.util.List;
 public class AppGetSceneInfoParam {
     private List<String> numList;       //场景码
     private Integer editableFlag;       //0,锁定,不可继续拍摄,可参照拍摄 1,未锁定,可继续拍摄,不可参照拍摄
+    private String parentScene ;
+
 }

+ 4 - 2
src/main/java/com/fdkankan/site/service/IProjectNumService.java

@@ -2,6 +2,7 @@ package com.fdkankan.site.service;
 
 import com.fdkankan.site.entity.ProjectNum;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.site.request.AppGetSceneInfoParam;
 
 import java.util.HashMap;
 import java.util.List;
@@ -29,7 +30,8 @@ public interface IProjectNumService extends IService<ProjectNum> {
 
     void addByNumList(Integer projectId, HashMap<String, Integer> numType, List<String> addNumList);
 
-    List<ProjectNum> getByNumList(List<String> numList);
+    List<ProjectNum> getByNumList(List<String> numList,String token);
 
-    void updateProjectSceneStatus(List<String> numList,Integer editableFlag);
+
+    void updateProjectScene(AppGetSceneInfoParam param,String token);
 }

+ 29 - 6
src/main/java/com/fdkankan/site/service/impl/ProjectNumServiceImpl.java

@@ -2,12 +2,17 @@ package com.fdkankan.site.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.fdkankan.site.common.util.JwtUtil;
 import com.fdkankan.site.entity.ProjectNum;
+import com.fdkankan.site.entity.ProjectTeam;
 import com.fdkankan.site.mapper.IProjectNumMapper;
+import com.fdkankan.site.request.AppGetSceneInfoParam;
 import com.fdkankan.site.service.IProjectNumService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.site.service.IProjectTeamService;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -15,6 +20,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -27,6 +33,9 @@ import java.util.stream.Collectors;
 @Service
 public class ProjectNumServiceImpl extends ServiceImpl<IProjectNumMapper, ProjectNum> implements IProjectNumService {
 
+    @Autowired
+    IProjectTeamService projectTeamService;
+
     @Override
     public List<ProjectNum> getListByProjectIds(Set<Integer> projectIds) {
         if(projectIds == null || projectIds.size() <=0){
@@ -81,21 +90,35 @@ public class ProjectNumServiceImpl extends ServiceImpl<IProjectNumMapper, Projec
     }
 
     @Override
-    public List<ProjectNum> getByNumList(List<String> numList) {
-        if(numList.size() >0){
+    public List<ProjectNum> getByNumList(List<String> numList,String token) {
+        String userName = JwtUtil.getUserName(token);
+        List<ProjectTeam> projectTeamList = projectTeamService.getListByUserName(userName);
+        Set<Integer> projectIds = projectTeamList.stream().map(ProjectTeam::getProjectId).collect(Collectors.toSet());
+
+        if(numList.size() >0 &&projectIds.size() >0){
             LambdaQueryWrapper<ProjectNum> wrapper = new LambdaQueryWrapper<>();
             wrapper.in(ProjectNum::getNum,numList);
+            wrapper.in(ProjectNum::getProjectId,projectIds);
             return this.list(wrapper);
         }
         return new ArrayList<>();
     }
 
     @Override
-    public void updateProjectSceneStatus(List<String> numList,Integer editableFlag) {
-        if(numList.size() >0){
+    public void updateProjectScene(AppGetSceneInfoParam param,String token) {
+        String userName = JwtUtil.getUserName(token);
+        List<ProjectTeam> projectTeamList = projectTeamService.getListByUserName(userName);
+        Set<Integer> projectIds = projectTeamList.stream().map(ProjectTeam::getProjectId).collect(Collectors.toSet());
+
+        if(param.getNumList().size() >0 && projectIds.size() >0){
             LambdaUpdateWrapper<ProjectNum> wrapper = new LambdaUpdateWrapper<>();
-            wrapper.in(ProjectNum::getNum,numList);
-            wrapper.set(ProjectNum::getEditableFlag,editableFlag);
+            wrapper.in(ProjectNum::getNum,param.getNumList());
+            if(param.getEditableFlag()!= null){
+                wrapper.set(ProjectNum::getEditableFlag,param.getEditableFlag());
+            }
+            if(StringUtils.isNotBlank(param.getParentScene())){
+                wrapper.set(ProjectNum::getParentScene,param.getParentScene());
+            }
             this.update(wrapper);
         }
     }

+ 4 - 1
src/main/java/com/fdkankan/site/service/impl/ProjectServiceImpl.java

@@ -128,7 +128,10 @@ public class ProjectServiceImpl extends ServiceImpl<IProjectMapper, Project> imp
         ProjectBim bim = null;
         List<ProjectBim> projectBims = projectBimService.getByProjectId(projectId);
         for (ProjectBim projectBim : projectBims) {
-            bim = projectBim;
+            if(projectBim.getBimStatus().equals(BusinessStatus.DONE.getInfo()) ||
+                projectBim.getBimStatus().equals(BusinessStatus.UPLOAD.getInfo())){
+                bim = projectBim;
+            }
         }
         infoVo.setBimData(bim);
         return infoVo;