Bläddra i källkod

Merge branch 'V0.1.1_alarm' of http://10.87.21.221:8000/jzyd_yyds/soc into V0.1.1_alarm

zhulu 1 år sedan
förälder
incheckning
94a6bfa4c1

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/mapper/ProtectionMapper.java

@@ -26,6 +26,8 @@ public interface ProtectionMapper extends BaseMapper<IotAlarmSubsystem> {
     void updateInBookStatus(@Param("orgId") Long orgId, @Param("id") Long id);
 
     int checkExitDevice(@Param("orgId") Long orgId, @Param("deviceId") Long deviceId);
+
+    Integer checkDeviceBySync(@Param("orgId") Long orgId, @Param("deviceId") Long deviceId);
 //    MePage<pageSensorVo> pageSensorList(@Param("mePage") MePage<pageSensorVo> mePage, @Param("request") pageSensorDto request);
 //
 //    MePage<ProtectionPageVo4Mybatis> pageByMybatis(@Param("request") ProtectionPageDto4Mybatis request, MePage<ProtectionPageVo4Mybatis> mePage);

+ 16 - 13
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/ProtectionServiceImpl.java

@@ -296,25 +296,28 @@ public class ProtectionServiceImpl extends ServiceImpl<ProtectionMapper, IotAlar
 
     @Override
     public int checkExitDevice(Long orgId, Long deviceId) {
-       /*  LambdaQueryWrapper<IotAlarmSubsystem> wrapper=new LambdaQueryWrapper<>();
-        wrapper.eq(IotAlarmSubsystem::getOrgId,orgId);
-        wrapper.eq(IotAlarmSubsystem::getDeleted,0);
+
+        LambdaQueryWrapper<IotAlarmSubsystem> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(IotAlarmSubsystem::getOrgId, orgId);
+        wrapper.eq(IotAlarmSubsystem::getDeleted, 0);
         final List<IotAlarmSubsystem> subsystemList = baseMapper.selectList(wrapper);
-        if (subsystemList.isEmpty()){
+        if (subsystemList.isEmpty()) {
             return 0;
         }
         final boolean match = subsystemList.stream().anyMatch(r -> ObjectUtil.equal(r.getSource(), 1));
-        if (!match){
+        if (!match) {
+            //说明没有从主机同步过来的设备
+            return 0;
+        }else {
+            if (deviceId != null) {
+                Integer exit = baseMapper.checkDeviceBySync(orgId, deviceId);
+                if (ObjectUtil.equal(1, exit)) {
+                    //说明这个设备是通过主机同步的
+                    return 0;
+                }
+            }
             return 1;
         }
-       return lambdaQuery()
-                .eq(IotAlarmSubsystem::getOrgId, orgId)
-                .ne(ObjectUtil.isNotNull(deviceId), IotAlarmSubsystem::getDeviceId, deviceId)
-                .eq(IotAlarmSubsystem::getSource, 1)
-                .eq(IotAlarmSubsystem::getDeleted, 0)
-                .count()
-                .intValue();*/
-        return  baseMapper.checkExitDevice(orgId,deviceId);
     }
 
     @Override

+ 8 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/device/ProtectionMapper.xml

@@ -71,6 +71,14 @@
         AND source = 1
         AND deleted = 0
     </select>
+
+    <select id="checkDeviceBySync" resultType="java.lang.Integer">
+        select 1
+        from sys_device d
+                 inner join iot_alarm_subsystem s on d.business_device_id = s.id
+        where d.id = #{deviceId}
+          and d.org_id = #{orgId}
+    </select>
     <!--    <select id="pageLog" resultType="com.xunmei.core.resumption.vo.protection.ProtectionLogPageVo">-->
     <!--        select a.id, a.name as name,a.status as status,a.status_update_time,a.status_updator_name-->
     <!--        from iot_alarm_subsystem_log a-->