Bladeren bron

协作中的场景无法迁移

lyhzzz 1 jaar geleden
bovenliggende
commit
4ec95773cc

+ 3 - 0
src/main/java/com/fdkankan/manage_jp/mapper/ITmContractorNumMapper.java

@@ -4,6 +4,7 @@ import com.fdkankan.manage_jp.entity.TmContractorNum;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fdkankan.manage_jp.vo.response.GroupByCount;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -19,4 +20,6 @@ import java.util.List;
 public interface ITmContractorNumMapper extends BaseMapper<TmContractorNum> {
 
     List<GroupByCount> groupByContractorId();
+
+    List<String> getNumList(@Param("numList") List<String> numList);
 }

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

@@ -30,4 +30,6 @@ public interface ITmContractorNumService extends IService<TmContractorNum> {
     void deleteByNumList(List<String> num);
 
     List<GroupByCount> groupByContractorId();
+
+    List<String> getNumList(List<String> sceneNumList);
 }

+ 10 - 3
src/main/java/com/fdkankan/manage_jp/service/impl/SceneProServiceImpl.java

@@ -142,11 +142,16 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
                 param.setIsMigrate(false);
             }
              numList = tmContractorNumService.getNumListByCompanyId(user.getCompanyId());
-            param.setCooperateSceneCodes(numList);
+             param.setCooperateSceneCodes(numList);
         }
-        Page<SceneVo> page  = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
 
+        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());
+        if(roleIds.contains(5L)){      //平台管理员
+            if(!sceneNumList.isEmpty()){
+                numList = tmContractorNumService.getNumList(sceneNumList);
+            }
+        }
         HashMap<String,JSONObject> ssSceneMap = new HashMap<>();
         if(param.getType() == 2){
             ssSceneMap = laserService.list(sceneNumList);
@@ -175,10 +180,12 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
             record.setIsMain(param.getIsMain());
             record.setIsDownload(param.getIsDownload());
             record.setIsMigrate(param.getIsMigrate());
-            if(numList != null && numList.contains(record.getNum())){
+            if(!roleIds.contains(5L) && numList != null && numList.contains(record.getNum())){
                 record.setIsMain(false);
                 record.setIsDel(false);
                 record.setIsDownload(false);
+            }
+            if(!roleIds.contains(5L)){
                 record.setIsMigrate(false);
             }
             if(coldMap.get(record.getNum())!=null){

+ 5 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/TmContractorNumServiceImpl.java

@@ -103,4 +103,9 @@ public class TmContractorNumServiceImpl extends ServiceImpl<ITmContractorNumMapp
     public List<GroupByCount> groupByContractorId() {
         return this.getBaseMapper().groupByContractorId();
     }
+
+    @Override
+    public List<String> getNumList(List<String> sceneNumList) {
+        return this.getBaseMapper().getNumList(sceneNumList);
+    }
 }

+ 7 - 0
src/main/resources/mapper/manage_jp/TmContractorNumMapper.xml

@@ -5,4 +5,11 @@
     <select id="groupByContractorId" resultType="com.fdkankan.manage_jp.vo.response.GroupByCount">
         select contractor_id as groupKey ,count(id) as groupCount from tm_contractor_num where rec_status = 'A' group by contractor_id
     </select>
+    <select id="getNumList" resultType="java.lang.String">
+        select *  from tm_contractor_num where num in
+            <foreach collection="numList" item="num" open="(" separator="," close=")">
+                #{num}
+            </foreach>
+
+    </select>
 </mapper>