Commit 99c0a3d4 authored by 雍欢's avatar 雍欢

orgTree可根据密级和涉密等级过滤人员

parent c5ef5ce6
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</parent> </parent>
<artifactId>huigou-common</artifactId> <artifactId>huigou-common</artifactId>
<name>huigou-common</name> <name>huigou-common</name>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</parent> </parent>
<artifactId>huigou-core-api</artifactId> <artifactId>huigou-core-api</artifactId>
<name>huigou-core-api</name> <name>huigou-core-api</name>
......
...@@ -5,6 +5,7 @@ import java.util.Arrays; ...@@ -5,6 +5,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.ListIterator; import java.util.ListIterator;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import com.huigou.cache.SystemCache; import com.huigou.cache.SystemCache;
...@@ -282,7 +283,7 @@ public class OrgQueryModel extends QueryModel { ...@@ -282,7 +283,7 @@ public class OrgQueryModel extends QueryModel {
// 密级 // 密级
List<String> securityGrades = inputParams.getStringList("securityGrade"); List<String> securityGrades = inputParams.getStringList("securityGrade");
if (securityGrades != null && securityGrades.size() > 0) { if (securityGrades != null && securityGrades.size() > 0) {
condition.append(" and (o.org_kind_id='psm' and p.security_grade_id in ("); condition.append(" and (o.org_kind_id<>'psm' or p.security_grade_id in (");
int i = 0; int i = 0;
for (ListIterator<String> ltr = securityGrades.listIterator(); ltr.hasNext(); ) { for (ListIterator<String> ltr = securityGrades.listIterator(); ltr.hasNext(); ) {
String securityGrade = ltr.next(); String securityGrade = ltr.next();
...@@ -293,12 +294,23 @@ public class OrgQueryModel extends QueryModel { ...@@ -293,12 +294,23 @@ public class OrgQueryModel extends QueryModel {
} }
this.putParam(paramName, securityGrade); this.putParam(paramName, securityGrade);
} }
condition.append(") or o.org_kind_id<>'psm')"); condition.append("))");
} }
String minSecurityGrade = inputParams.getString("minSecurityGrade");
if (StringUtils.isNotBlank(minSecurityGrade)) {
condition.append(" and (o.org_kind_id<>'psm' or p.security_grade_id >= :minSecurityGrade)");
putParam("minSecurityGrade", minSecurityGrade);
}
String maxSecurityGrade = inputParams.getString("maxSecurityGrade");
if (StringUtils.isNotBlank(maxSecurityGrade)) {
condition.append(" and (o.org_kind_id<>'psm' or p.security_grade_id <= :maxSecurityGrade)");
putParam("maxSecurityGrade", maxSecurityGrade);
}
// 人员等级 // 人员等级
List<String> personSecurityGrades = inputParams.getStringList("personSecurityGrade"); List<String> personSecurityGrades = inputParams.getStringList("personSecurityGrade");
if (personSecurityGrades!=null && personSecurityGrades.size() > 0) { if (personSecurityGrades != null && personSecurityGrades.size() > 0) {
condition.append(" and (o.org_kind_id='psm' and p.person_security_grade_id in ("); condition.append(" and (o.org_kind_id<>'psm' or p.person_security_grade_id in (");
int i = 0; int i = 0;
for (ListIterator<String> ltr = personSecurityGrades.listIterator(); ltr.hasNext(); ) { for (ListIterator<String> ltr = personSecurityGrades.listIterator(); ltr.hasNext(); ) {
String personSecurityGrade = ltr.next(); String personSecurityGrade = ltr.next();
...@@ -309,7 +321,17 @@ public class OrgQueryModel extends QueryModel { ...@@ -309,7 +321,17 @@ public class OrgQueryModel extends QueryModel {
} }
this.putParam(paramName, personSecurityGrade); this.putParam(paramName, personSecurityGrade);
} }
condition.append(") or o.org_kind_id<>'psm')"); condition.append("))");
}
String minPersonSecurityGrade = inputParams.getString("minPersonSecurityGrade");
if (StringUtils.isNotBlank(minPersonSecurityGrade)) {
condition.append(" and (o.org_kind_id<>'psm' or p.person_security_grade_id >= :minPersonSecurityGrade)");
putParam("minPersonSecurityGrade", minPersonSecurityGrade);
}
String maxPersonSecurityGrade = inputParams.getString("maxPersonSecurityGrade");
if (StringUtils.isNotBlank(maxPersonSecurityGrade)) {
condition.append(" and (o.org_kind_id<>'psm' or p.person_security_grade_id <= :maxPersonSecurityGrade)");
putParam("maxPersonSecurityGrade", maxPersonSecurityGrade);
} }
this.countCondition.append(condition); this.countCondition.append(condition);
if (first != last) { if (first != last) {
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</parent> </parent>
<artifactId>huigou-core-impl</artifactId> <artifactId>huigou-core-impl</artifactId>
<name>huigou-core-impl</name> <name>huigou-core-impl</name>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</parent> </parent>
<artifactId>huigou-core-proxy</artifactId> <artifactId>huigou-core-proxy</artifactId>
<name>huigou-core-proxy</name> <name>huigou-core-proxy</name>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</parent> </parent>
<artifactId>huigou-data</artifactId> <artifactId>huigou-data</artifactId>
<name>huigou-data</name> <name>huigou-data</name>
......
...@@ -9,7 +9,6 @@ import java.util.Arrays; ...@@ -9,7 +9,6 @@ import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Stream;
/** /**
* 查询模型描述符 * 查询模型描述符
...@@ -43,14 +42,14 @@ public class QueryDescriptor { ...@@ -43,14 +42,14 @@ public class QueryDescriptor {
return queries.stream() return queries.stream()
.filter(query -> Arrays.stream(query.getSqlArray()).filter(sql -> sql.getName().equals(sqlName)).findFirst().isPresent()) .filter(query -> Arrays.stream(query.getSqlArray()).filter(sql -> sql.getName().equals(sqlName)).findFirst().isPresent())
.findFirst() .findFirst()
.get(); .orElse(null);
} }
public Query getQuery() { public Query getQuery() {
// 优先从方言xml中取 // 优先从方言xml中取
return queries.stream() return queries.stream()
.filter(query -> StringUtils.isNotBlank(query.getSqlQuery())) .filter(query -> StringUtils.isNotBlank(query.getSqlQuery()))
.findFirst().get(); .findFirst().orElse(null);
} }
public void setQuery(Query query) { public void setQuery(Query query) {
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</parent> </parent>
<artifactId>huigou-loader</artifactId> <artifactId>huigou-loader</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</parent> </parent>
<artifactId>huigou-system-common</artifactId> <artifactId>huigou-system-common</artifactId>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</parent> </parent>
<artifactId>huigou-uasp</artifactId> <artifactId>huigou-uasp</artifactId>
<name>huigou-uasp</name> <name>huigou-uasp</name>
...@@ -348,7 +348,7 @@ ...@@ -348,7 +348,7 @@
<dependency> <dependency>
<groupId>com.topsunit</groupId> <groupId>com.topsunit</groupId>
<artifactId>query-spring</artifactId> <artifactId>query-spring</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.sf.cssbox</groupId> <groupId>net.sf.cssbox</groupId>
......
...@@ -28,6 +28,18 @@ ...@@ -28,6 +28,18 @@
<condition column="org_kind_id" name="orgKindId" symbol="in"/> <condition column="org_kind_id" name="orgKindId" symbol="in"/>
<condition column="status" name="status" symbol="in"/> <condition column="status" name="status" symbol="in"/>
<condition column="is_virtual" name="isVirtual" symbol="in"/> <condition column="is_virtual" name="isVirtual" symbol="in"/>
<condition column="security_grade_id" name="minSecurityGrade" symbol=">=">
(org_kind_id <![CDATA[<>]]> 'psm' or org_kind_id='psm' and (exists (select 1 from sa_opperson p where p.id=person_id and p.security_grade_id <![CDATA[>=]]> :minSecurityGrade)))
</condition>
<condition column="security_grade_id" name="maxSecurityGrade" type="java.lang.Integer" symbol="&lt;=">
(org_kind_id <![CDATA[<>]]> 'psm' or org_kind_id='psm' and (exists (select 1 from sa_opperson p where p.id=person_id and p.security_grade_id <![CDATA[<=]]> :maxSecurityGrade)))
</condition>
<condition column="person_security_grade_id" name="minPersonSecurityGrade" symbol=">=">
(org_kind_id <![CDATA[<>]]> 'psm' or org_kind_id='psm' and (exists (select 1 from sa_opperson p where p.id=person_id and p.person_security_grade_id <![CDATA[>=]]> :minPersonSecurityGrade)))
</condition>
<condition column="person_security_grade_id" name="maxPersonSecurityGrade" type="java.lang.Integer" symbol="&lt;=">
(org_kind_id <![CDATA[<>]]> 'psm' or org_kind_id='psm' and (exists (select 1 from sa_opperson p where p.id=person_id and p.person_security_grade_id <![CDATA[<=]]> :maxPersonSecurityGrade)))
</condition>
</dataModel> </dataModel>
</tree> </tree>
...@@ -44,7 +56,18 @@ ...@@ -44,7 +56,18 @@
<!--<orderby>FULL_SEQUENCE</orderby>--> <!--<orderby>FULL_SEQUENCE</orderby>-->
<condition column="org_kind_id" name="orgKindId" symbol="in"/> <condition column="org_kind_id" name="orgKindId" symbol="in"/>
<condition column="status" name="status" type="java.lang.Integer" symbol="in"/> <condition column="status" name="status" type="java.lang.Integer" symbol="in"/>
<condition column="is_virtual" name="isVirtual" type="java.lang.Integer" symbol="in"/> <condition column="security_grade_id" name="minSecurityGrade" symbol=">=">
(org_kind_id <![CDATA[<>]]> 'psm' or (exists (select 1 from sa_opperson p where p.id=person_id and p.security_grade_id >= :minSecurityGrade)))
</condition>
<condition column="security_grade_id" name="maxSecurityGrade" type="java.lang.Integer" symbol="&lt;=">
(org_kind_id <![CDATA[<>]]> 'psm' or (exists (select 1 from sa_opperson p where p.id=person_id and p.security_grade_id <![CDATA[<=]]> :maxSecurityGrade)))
</condition>
<condition column="person_security_grade_id" name="minPersonSecurityGrade" symbol=">=">
(org_kind_id <![CDATA[<>]]> 'psm' or (exists (select 1 from sa_opperson p where p.id=person_id and p.person_security_grade_id >= :minPersonSecurityGrade)))
</condition>
<condition column="person_security_grade_id" name="maxPersonSecurityGrade" type="java.lang.Integer" symbol="&lt;=">
(org_kind_id <![CDATA[<>]]> 'psm' or (exists (select 1 from sa_opperson p where p.id=person_id and p.person_security_grade_id <![CDATA[<=]]> :maxPersonSecurityGrade)))
</condition>
</dataModel> </dataModel>
</tree> </tree>
<!-- 功能菜单 --> <!-- 功能菜单 -->
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</parent> </parent>
<artifactId>huigou-xt</artifactId> <artifactId>huigou-xt</artifactId>
<name>huigou-xt</name> <name>huigou-xt</name>
...@@ -15,6 +15,13 @@ ...@@ -15,6 +15,13 @@
<profiles> <profiles>
<profile> <profile>
<id>deploy</id> <id>deploy</id>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build> <build>
<finalName>huigou-xt</finalName> <finalName>huigou-xt</finalName>
<plugins> <plugins>
...@@ -462,11 +469,11 @@ ...@@ -462,11 +469,11 @@
<groupId>net.sf.cssbox</groupId> <groupId>net.sf.cssbox</groupId>
<artifactId>jstyleparser</artifactId> <artifactId>jstyleparser</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId> <artifactId>spring-test</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>huigou-xt</finalName> <finalName>huigou-xt</finalName>
......
pub.db.url=jdbc:mysql://192.168.222.108:3306/ssrf?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false pub.db.url=jdbc:oracle:thin:@192.168.3.52:1521:gk
pub.db.user=root pub.db.user=avic_sys
pub.db.password=topsunit.com pub.db.password=avic_sys
log.db.url=jdbc:mysql://192.168.222.108:3306/ssrf?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false log.db.url=jdbc:oracle:thin:@192.168.3.52:1521:gk
log.db.user=root log.db.user=avic_sys
log.db.password=topsunit.com log.db.password=avic_sys
shiro.host=127.0.0.1 shiro.host=127.0.0.1
shiro.port=6379 shiro.port=6379
...@@ -12,8 +12,8 @@ shiro.expire=18000 ...@@ -12,8 +12,8 @@ shiro.expire=18000
shiro.passwod=1233 shiro.passwod=1233
system.dataSource=dataSource system.dataSource=dataSource
system.hibernate.dialect=com.huigou.data.dialect.MySQL5InnoDBDialect system.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
sqlDialect=mysql sqlDialect=oracle
#shiroFilter loginUrl #shiroFilter loginUrl
shiro.loginUrl=/Login.jsp shiro.loginUrl=/Login.jsp
......
...@@ -247,7 +247,11 @@ ...@@ -247,7 +247,11 @@
showVirtualOrg: inputParams.showVirtualOrg, showVirtualOrg: inputParams.showVirtualOrg,
showPosition: inputParams.showPosition, showPosition: inputParams.showPosition,
securityGrade: inputParams.securityGrade, securityGrade: inputParams.securityGrade,
personSecurityGrade: inputParams.personSecurityGrade personSecurityGrade: inputParams.personSecurityGrade,
minSecurityGrade: inputParams.minSecurityGrade,
maxSecurityGrade: inputParams.maxSecurityGrade,
minPersonSecurityGrade: inputParams.minPersonSecurityGrade,
maxPersonSecurityGrade: inputParams.maxPersonSecurityGrade
}, function (data) { }, function (data) {
g.treeManager.append(node.target, data.Rows); g.treeManager.append(node.target, data.Rows);
}); });
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
<!-- test --> <!-- test -->
<junit.version>4.13</junit.version> <junit.version>4.13</junit.version>
<spring-data-mongodb.version>1.9.3.RELEASE</spring-data-mongodb.version> <spring-data-mongodb.version>1.9.3.RELEASE</spring-data-mongodb.version>
<huigou.uasp.version>1.2.8-SNAPSHOT</huigou.uasp.version> <huigou.uasp.version>1.2.8</huigou.uasp.version>
<classgraph.version>4.8.43</classgraph.version> <classgraph.version>4.8.43</classgraph.version>
<fastjson.version>1.2.59</fastjson.version> <fastjson.version>1.2.59</fastjson.version>
<jstyleparser.version>3.5</jstyleparser.version> <jstyleparser.version>3.5</jstyleparser.version>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<parent> <parent>
<groupId>com.huigou</groupId> <groupId>com.huigou</groupId>
<artifactId>root</artifactId> <artifactId>root</artifactId>
<version>1.2.8-SNAPSHOT</version> <version>1.2.8</version>
</parent> </parent>
<groupId>com.topsunit</groupId> <groupId>com.topsunit</groupId>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment