You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: backend/src/main/java/com/park/utmstack/repository/network_scan/UtmNetworkScanRepository.java
+22-11Lines changed: 22 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -43,43 +43,54 @@ public interface UtmNetworkScanRepository extends JpaRepository<UtmNetworkScan,
43
43
"AND ((:ports) IS NULL OR ns.id IN (SELECT DISTINCT ins.id FROM UtmNetworkScan ins INNER JOIN UtmPorts p ON ins.id = p.scanId WHERE p.port IN :ports))")*/
44
44
@Query("SELECT DISTINCT ns FROM UtmNetworkScan ns " +
45
45
"WHERE (:assetIpMacName IS NULL OR (ns.assetIp LIKE :assetIpMacName OR lower(ns.assetMac) LIKE lower(:assetIpMacName) OR lower(ns.assetName) LIKE lower(:assetIpMacName))) " +
46
-
"AND (:assetOs IS NULL OR ns.assetOs IN :assetOs) " +
47
-
"AND (:assetType IS NULL OR ns.assetTypeId IN (SELECT types.id FROM UtmAssetTypes types WHERE types.typeName IN :assetType)) " +
48
-
"AND (:groups IS NULL OR ns.groupId IN (SELECT group.id FROM UtmAssetGroup group WHERE group.groupName IN :groups)) " +
49
-
"AND (:assetAlive IS NULL OR ns.assetAlive IN :assetAlive) " +
50
-
"AND (:assetStatus IS NULL OR ns.assetStatus IN :assetStatus) " +
46
+
"AND (:hasAssetOs = false OR ns.assetOs IN :assetOs) " +
47
+
"AND (:hasAssetType = false OR ns.assetTypeId IN (SELECT types.id FROM UtmAssetTypes types WHERE types.typeName IN :assetType)) " +
48
+
"AND (:hasGroups = false OR ns.groupId IN (SELECT group.id FROM UtmAssetGroup group WHERE group.groupName IN :groups)) " +
49
+
"AND (:hasAssetAlive = false OR ns.assetAlive IN :assetAlive) " +
50
+
"AND (:hasAssetStatus = false OR ns.assetStatus IN :assetStatus) " +
51
51
"AND (:registeredMode IS NULL OR ns.registeredMode = :registeredMode) " +
52
-
"AND (:assetAlias IS NULL OR ns.assetAlias IN :assetAlias) " +
53
-
"AND (:serverName IS NULL OR ns.serverName IN :serverName) " +
54
-
"AND (:isAgent IS NULL OR ns.isAgent IN :isAgent) " +
55
-
"AND (:assetOsPlatform IS NULL OR ns.assetOsPlatform IN :assetOsPlatform) " +
52
+
"AND (:hasAssetAlias = false OR ns.assetAlias IN :assetAlias) " +
53
+
"AND (:hasServerName = false OR ns.serverName IN :serverName) " +
54
+
"AND (:hasIsAgent = false OR ns.isAgent IN :isAgent) " +
55
+
"AND (:hasAssetOsPlatform = false OR ns.assetOsPlatform IN :assetOsPlatform) " +
56
56
"AND ((cast(:initDate as timestamp) is null) or (cast(:endDate as timestamp) is null) or (ns.discoveredAt BETWEEN :initDate AND :endDate)) " +
57
-
"AND (:dataTypes IS NULL OR EXISTS (\n" +
57
+
"AND (:hasDataTypes = false OR EXISTS (\n" +
58
58
" SELECT 1 FROM UtmDataInputStatus ip\n" +
59
59
" WHERE ip.source = ns.assetIp AND ip.dataType IN :dataTypes\n" +
60
60
" ) \n" +
61
61
" OR EXISTS (\n" +
62
62
" SELECT 1 FROM UtmDataInputStatus src\n" +
63
63
" WHERE src.source = ns.assetName AND src.dataType IN :dataTypes\n" +
64
64
" ))" +
65
-
"AND (:ports IS NULL OR ns.id IN (" +
65
+
"AND (:hasPorts = false OR ns.id IN (" +
66
66
" SELECT p.scanId FROM UtmPorts p WHERE p.port IN :ports))")
67
67
@QueryHints(@QueryHint(name = org.hibernate.jpa.QueryHints.HINT_PASS_DISTINCT_THROUGH, value = "false"))
0 commit comments