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

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

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