Forráskód Böngészése

RFID实验室信息查询来源修改
预案级别健壮性优化

hanzhiwei 2 éve
szülő
commit
4f475ef5de

+ 4 - 4
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/RemoteLaboratoryService.java

@@ -496,10 +496,6 @@ public interface RemoteLaboratoryService {
     @PostMapping("/plan/oneClickFire")
     ResultData oneClickFire(@RequestBody OneClickFireDTO oneClickFireDTO);
 
-    @ApiOperation(value = "根据实验室id查询实验室位置信息")
-    @PostMapping("/buildFloorLayout/getPositionBySubId")
-    ResultData getPositionBySubId(@RequestParam("subIds") String subIds);
-
     @ApiOperation(value = "根据用户id查询用户关联的白名单实验室")
     @GetMapping("/whitelist/subWhiteList")
     ResultData getWhiteSubList(@RequestParam("userId") Long userId);
@@ -507,4 +503,8 @@ public interface RemoteLaboratoryService {
     @ApiOperation(value = "根据用户id查询用户关联的未过期的安全准入实验室")
     @GetMapping("/apply/getApplySubList")
     ResultData getApplySubList(@RequestParam("userId") Long userId);
+
+    @ApiOperation(value = "根据实验室id查询RFID实验室详情")
+    @GetMapping("/subject/getPositionBySubId")
+    ResultData getPositionBySubId(@RequestParam("subIds") String subIds);
 }

+ 5 - 5
zd-api/zd-laboratory-api/src/main/java/com/zd/laboratory/api/feign/fallback/RemoteLaboratoryFallbackFactory.java

@@ -457,11 +457,6 @@ public class RemoteLaboratoryFallbackFactory implements FallbackFactory<RemoteLa
             }
 
             @Override
-            public ResultData getPositionBySubId(String subIds) {
-                return ResultData.fail("查询实验室位置信息失败!"+ cause.getMessage());
-            }
-
-            @Override
             public ResultData getWhiteSubList(Long userId) {
                 return ResultData.fail("根据用户id查询用户关联的白名单实验室失败!"+ cause.getMessage());
             }
@@ -470,6 +465,11 @@ public class RemoteLaboratoryFallbackFactory implements FallbackFactory<RemoteLa
             public ResultData getApplySubList(Long userId) {
                 return ResultData.fail("根据用户id查询用户关联的安全准入实验室失败!"+ cause.getMessage());
             }
+
+            @Override
+            public ResultData getPositionBySubId(String subIds) {
+                return ResultData.fail("查询实验室位置信息失败!"+ cause.getMessage());
+            }
         };
     }
 }

+ 13 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/controller/LabSubjectController.java

@@ -26,12 +26,14 @@ import com.zd.model.domain.per.PerPrefix;
 import com.zd.model.enums.HazardTypeEnum;
 import com.zd.model.page.TableDataInfo;
 import com.zd.system.api.feign.RemoteUserService;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 
 
@@ -469,4 +471,15 @@ public class LabSubjectController extends BaseController {
     public ResultData getSubjectName(@PathVariable("labId") Long labId,@PathVariable("userId") Long userId) {
         return ResultData.success(labSubjectService.isAdminOrSafeUser(labId,userId));
     }
+
+    /**
+     * 根据实验室id查询RFID实验室详情
+     * @param subIds
+     * @return
+     */
+    @ApiOperation("根据实验室id查询RFID实验室详情")
+    @GetMapping(value = "/getPositionBySubId")
+    public ResultData<Map<Long, Map<String,Object>>> getPositionBySubId(@RequestParam(value = "subIds") String subIds) {
+        return ResultData.success(labSubjectService.getPositionBySubId(subIds));
+    }
 }

+ 7 - 0
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/mapper/LabSubjectMapper.java

@@ -337,4 +337,11 @@ public interface LabSubjectMapper {
      */
     Integer isAdminOrSafeUser(@Param("subjectId") Long subjectId,@Param("userId") Long userId);
 
+    /**
+     * 根据实验室id数组查询实验室位置信息
+     * @Param [longs]
+     * @Return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
+     **/
+    List<Map<String, Object>> getPositionBySubId(@Param("longs") Long[] longs);
+
 }

+ 6 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/ILabSubjectService.java

@@ -6,7 +6,6 @@ import com.zd.laboratory.domain.vo.LabClassifiedVo;
 import com.zd.laboratory.domain.vo.LabClasstypeVo;
 import com.zd.laboratory.domain.vo.LabSubjectVO;
 import com.zd.model.entity.TotalByID;
-import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -317,4 +316,10 @@ public interface ILabSubjectService {
      */
     Integer isAdminOrSafeUser(Long subjectId,Long userId);
 
+    /**
+     * 根据实验室id查询RFID实验室详情
+     * @Param [subIds]
+     * @Return java.util.Map<java.lang.Long, java.util.Map < java.lang.String, java.lang.Object>>
+     **/
+    Map<Long,Map<String,Object>> getPositionBySubId(String subIds);
 }

+ 1 - 1
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabRiskPlanServiceImpl.java

@@ -1732,7 +1732,7 @@ public class LabRiskPlanServiceImpl extends ServiceImpl<LabRiskPlanMapper, LabRi
         LabRiskPlanSensorRelation labRiskPlanSensorRelation = new LabRiskPlanSensorRelation();
         labRiskPlanSensorRelation.setRiskPlanId(labRiskPlanSubs.get(0).getRiskPlanId());
         List<LabRiskPlanSensorRelation> labRiskPlanSensorRelationsRemove = labRiskPlanSensorRelationMapper.selectLabRiskPlanSensorRelationListNoSelf(labRiskPlanSensorRelation);
-        LinkedHashMap<Long, List<LabRiskPlanSensorRelation>> oldRisk = Optional.ofNullable(labRiskPlanSensorRelationsRemove).orElseGet(Collections::emptyList).stream().collect(Collectors.groupingBy(LabRiskPlanSensorRelation::getRiskPlanLevelId, LinkedHashMap::new, Collectors.toList()));
+        LinkedHashMap<Long, List<LabRiskPlanSensorRelation>> oldRisk = Optional.ofNullable(labRiskPlanSensorRelationsRemove).orElseGet(Collections::emptyList).stream().filter(item->item.getRiskPlanLevelId() != null).collect(Collectors.groupingBy(LabRiskPlanSensorRelation::getRiskPlanLevelId, LinkedHashMap::new, Collectors.toList()));
         Set<Long> riskplanIds = new HashSet<>();
         //传入预案传感器信息
         enterRisk.forEach((levelId, enterSensorRelations) -> {

+ 16 - 2
zd-modules/zd-modules-laboratory/src/main/java/com/zd/laboratory/service/impl/LabSubjectServiceImpl.java

@@ -1,5 +1,6 @@
 package com.zd.laboratory.service.impl;
 
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.StrUtil;
 import com.zd.common.core.annotation.DataScope;
 import com.zd.common.core.exception.ServiceException;
@@ -10,7 +11,6 @@ import com.zd.laboratory.domain.vo.LabClassifiedVo;
 import com.zd.laboratory.domain.vo.LabClasstypeVo;
 import com.zd.laboratory.domain.vo.LabSubjectVO;
 import com.zd.laboratory.domain.vo.XxpClassifyDetailVO;
-import com.zd.laboratory.interfaces.SysProperties;
 import com.zd.laboratory.mapper.LabHazardSubjectRelationMapper;
 import com.zd.laboratory.mapper.LabQpSubjectRelationMapper;
 import com.zd.laboratory.mapper.LabSubjectMapper;
@@ -35,7 +35,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.io.File;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -689,4 +688,19 @@ public class LabSubjectServiceImpl implements ILabSubjectService {
     public Integer isAdminOrSafeUser(Long subjectId, Long userId) {
         return labSubjectMapper.isAdminOrSafeUser(subjectId,userId);
     }
+
+    @Override
+    public Map<Long, Map<String, Object>> getPositionBySubId(String subIds) {
+        Long[] longs = Convert.toLongArray(subIds.split(","));
+        List<Map<String, Object>> positionBySubId = labSubjectMapper.getPositionBySubId(longs);
+        if (positionBySubId.isEmpty()){
+            return new HashMap<>();
+        }
+        Map<Long,Map<String,Object>> map = new HashMap<>();
+        for (Map<String, Object> stringStringMap : positionBySubId) {
+            Long subId = (Long) stringStringMap.get("subId");
+            map.put(subId,stringStringMap);
+        }
+        return map;
+    }
 }

+ 16 - 0
zd-modules/zd-modules-laboratory/src/main/resources/mapper/laboratory/LabSubjectMapper.xml

@@ -1261,4 +1261,20 @@
     <select id="isAdminOrSafeUser" resultType="java.lang.Integer">
             SELECT  COUNT(*)  FROM  lab_subject WHERE id=#{subjectId} AND (admin_id=#{userId} OR LOCATE(#{userId},safe_user_id)>0)
     </select>
+
+    <select id="getPositionBySubId" resultType="java.util.Map">
+        select
+            ls.id subId,
+            CONCAT((SELECT sd.dept_name FROM sys_dept sd WHERE ls.build_id = sd.dept_id),'-',
+            (SELECT lb.name FROM lab_building lb WHERE ls.floor_id = lb.id),'-',ls.name) position,
+            (SELECT sd.dept_name FROM sys_dept sd WHERE ls.dept_id = sd.dept_id) deptName
+        from lab_subject ls
+        <where>
+            <if test="longs != null  and longs.length != 0">
+               <foreach collection="longs" item="id" open=" and ls.id in(" separator="," close=")">
+                    #{id}
+                </foreach>
+            </if>
+        </where>
+    </select>
 </mapper>