Commit 6b511073 authored by 雍欢's avatar 雍欢

支持多数据源

parent d3e9c4b9
......@@ -6,7 +6,7 @@
<parent>
<groupId>com.huigou</groupId>
<artifactId>root</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.2.1</version>
</parent>
<artifactId>huigou-common</artifactId>
<name>huigou-common</name>
......
......@@ -4,6 +4,8 @@ import java.io.Serializable;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import com.huigou.cache.service.ICache;
import com.huigou.util.ClassHelper;
......@@ -11,7 +13,7 @@ import com.huigou.util.StringUtil;
/**
* 单态模式保存系统常量使用ehcache缓存数据
*
*
* @ClassName: Singleton
* @author xx
* @version V1.0
......@@ -173,16 +175,24 @@ public class SystemCache {
}
public static String getDictionaryDetailText(String code, Object value) {
if (value == null) return null;
if (value == null) {
return null;
}
String v = ClassHelper.convert(value, String.class);
if (StringUtil.isBlank(v)) return null;
if (StringUtil.isBlank(v)) {
return null;
}
Map<String, DictionaryDesc> map = getDictionary(code);
if (map != null) {
DictionaryDesc model = map.get(v);
if (model != null) {
return model.getName();
} else {
return Arrays.stream(v.split(",")).map(map::get)
.filter(Objects::nonNull)
.map(DictionaryDesc::getName)
.collect(Collectors.joining(","));
}
return "";
}
return null;
}
......
......@@ -6,7 +6,7 @@
<parent>
<groupId>com.huigou</groupId>
<artifactId>root</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.2.1</version>
</parent>
<artifactId>huigou-core-api</artifactId>
<name>huigou-core-api</name>
......
......@@ -53,4 +53,6 @@ public interface OrgRepository extends JpaRepository<Org, String> {
@Query(name="org.findDeltaOrg", value="select o from Org o where o.version > ?1 order by version desc")
List<Org> findDeltaOrg(Integer version);
List<Org> findByParentId(String parentId);
}
......@@ -186,6 +186,17 @@ public interface ActApplication {
*/
Map<String, Object> queryBackTasksByBizCode(String bizCode, String procUnitId, Integer groupId);
/**
* 查询回退任务
*
* @param bizId 业务id
* @param procUnitId 流程环节ID
* @param groupId 组ID
* @return
* @since 1.1.7
*/
Map<String, Object> queryBackTasksByBizId(String bizId, String procUnitId, Integer groupId);
/**
* 查询流程申请人
*
......
......@@ -647,6 +647,17 @@ public interface WorkflowApplication {
*/
Map<String, Object> queryBackTasksByBizCode(String bizCode, String procUnitId, Integer groupId);
/**
* 查询回退任务
*
* @param bizId 业务id
* @param procUnitId 环节id
* @param groupId 分组id
* @return
* @since 1.1.7
*/
Map<String, Object> queryBackTasksByBizId(String bizId, String procUnitId, Integer groupId);
/**
* 查询加签处理人
*
......
......@@ -6,7 +6,7 @@
<parent>
<groupId>com.huigou</groupId>
<artifactId>root</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.2.1</version>
</parent>
<artifactId>huigou-core-impl</artifactId>
<name>huigou-core-impl</name>
......@@ -60,12 +60,6 @@
<groupId>com.huigou</groupId>
<artifactId>huigou-data</artifactId>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
......
......@@ -6,7 +6,7 @@
<parent>
<groupId>com.huigou</groupId>
<artifactId>root</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.2.1</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.1.3-SNAPSHOT</version>
<version>1.2.1</version>
</parent>
<artifactId>huigou-data</artifactId>
<name>huigou-data</name>
......@@ -62,10 +62,6 @@
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</dependency>
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-pdf-itext5</artifactId>
......
......@@ -5,7 +5,7 @@
<parent>
<groupId>com.huigou</groupId>
<artifactId>root</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.2.1</version>
</parent>
<artifactId>huigou-loader</artifactId>
<packaging>jar</packaging>
......
......@@ -5,7 +5,7 @@
<parent>
<groupId>com.huigou</groupId>
<artifactId>root</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.2.1</version>
</parent>
<artifactId>huigou-system-common</artifactId>
......
......@@ -4,7 +4,7 @@
<parent>
<groupId>com.huigou</groupId>
<artifactId>root</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.2.1</version>
</parent>
<artifactId>huigou-uasp</artifactId>
<name>huigou-uasp</name>
......@@ -243,12 +243,6 @@
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
</dependency>-->
<!-- 生成PDF报表 -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
......@@ -351,6 +345,11 @@
<groupId>com.huigou</groupId>
<artifactId>huigou-common</artifactId>
</dependency>
<dependency>
<groupId>com.topsunit</groupId>
<artifactId>query-spring</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>
<build>
<plugins>
......
......@@ -426,12 +426,23 @@ public class ActApplicationImpl extends BaseApplication implements ActApplicatio
Assert.hasText(bizCode, MessageSourceContext.getMessage(MessageConstants.PARAMETER_NOT_NULL_FORMAT, "bizCode"));
Assert.hasText(procUnitId, MessageSourceContext.getMessage(MessageConstants.PARAMETER_NOT_NULL_FORMAT, "procUnitId"));
Assert.notNull(groupId, MessageSourceContext.getMessage(MessageConstants.PARAMETER_NOT_NULL_FORMAT, "groupId"));
return queryBackTasksInternal("queryBackTasksByBizCode", bizCode, procUnitId, groupId);
}
@Override
public Map<String, Object> queryBackTasksByBizId(String bizId, String procUnitId, Integer groupId) {
Assert.hasText(bizId, MessageSourceContext.getMessage(MessageConstants.PARAMETER_NOT_NULL_FORMAT, "bizId"));
Assert.hasText(procUnitId, MessageSourceContext.getMessage(MessageConstants.PARAMETER_NOT_NULL_FORMAT, "procUnitId"));
Assert.notNull(groupId, MessageSourceContext.getMessage(MessageConstants.PARAMETER_NOT_NULL_FORMAT, "groupId"));
return queryBackTasksInternal("queryBackTasksByBizId", bizId, procUnitId, groupId);
}
private Map<String, Object> queryBackTasksInternal(String sqlName, String identifierValue, String procUnitId, Integer groupId) {
// 申请环节不能回退
Assert.state(!ActivityKind.isApplyActivity(procUnitId), "申请环节不能回退。");
String sql = this.getQuerySqlByName("queryBackTasksByBizCode");
List<BackTaskInfo> backTasks = this.sqlExecutorDao.queryToList(sql, BackTaskInfo.class, bizCode, bizCode);
String sql = this.getQuerySqlByName(sqlName);
List<BackTaskInfo> backTasks = this.sqlExecutorDao.queryToList(sql, BackTaskInfo.class, identifierValue, identifierValue);
if (backTasks.size() == 0) {
Map<String, Object> result = new HashMap<String, Object>(1);
result.put(Constants.ROWS, backTasks);
......
package com.huigou.uasp.bpm.engine.application.impl;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -137,8 +138,9 @@ public class ProcApprovalRuleParseServiceImpl extends BaseApplication implements
matchSuccess = !inputStringValue.equals(ruleElement.getFvalueId());
break;
case OIN:
setStringValue = String.format(",%s,", ruleElement.getFvalueId());
matchSuccess = setStringValue.contains(String.format(",%s,", inputStringValue));
List<String> setStringValues = Arrays.asList(ruleElement.getFvalueId().split(","));
List<String> inputStringValues = Arrays.asList(inputStringValue.split(","));
matchSuccess = setStringValues.containsAll(inputStringValues);
break;
case LT:
case LE:
......
......@@ -1674,6 +1674,11 @@ public class WorkflowApplicationImpl extends BaseApplication implements Workflow
return this.actApplication.queryBackTasksByBizCode(bizCode, procUnitId, groupId);
}
@Override
public Map<String, Object> queryBackTasksByBizId(String bizId, String procUnitId, Integer groupId) {
return this.actApplication.queryBackTasksByBizId(bizId, procUnitId, groupId);
}
@Override
public Map<String, Object> queryBackProcUnit(String procInstId, String approvalRuleId, Integer groupId) {
ApprovalRule ApprovalRule = this.approvalRuleApplication.loadApprovalRule(approvalRuleId);
......
......@@ -590,6 +590,18 @@ public class WorkflowController extends CommonController {
return success(toResult(data));
}
/**
* @since 1.1.7
*/
public String queryBackTasksByBizId() {
SDO params = this.getSDO();
String bizId = params.getProperty("bizId", String.class);
String procUnitId = params.getProperty("procUnitId", String.class);
Integer groupId = params.getProperty("groupId", Integer.class);
Map<String, Object> data = workflowApplication.queryBackTasksByBizId(bizId, procUnitId, groupId);
return success(toResult(data));
}
public String queryBackProcUnit() {
SDO params = this.getSDO();
String processInstanceId = params.getString("procInstId");
......
......@@ -82,7 +82,7 @@ public interface ProcUnitHandlerRepository extends JpaRepository<ProcUnitHandler
@Query(name = "procUnitHandler.getMaxGrouId", value = "select max(groupId) from ProcUnitHandler o where o.bizId = :bizId and o.procUnitId = :procUnitId and cooperationModelId = 'chief'")
Integer getMaxGrouId(@Param("bizId") String bizId, @Param("procUnitId") String procUnitId);
@Query(name = "procUnitHandler.getExecutionTimes", value = "select coalesce(max(executionTimes), 0) from ProcUnitHandler o where o.bizId = :bizId and o.procUnitId = :procUnitId and cooperationModelId = 'chief'")
@Query(name = "procUnitHandler.getExecutionTimes", value = "select coalesce(max(o.executionTimes), 0) from ProcUnitHandler o where o.bizId = :bizId and o.procUnitId = :procUnitId and o.cooperationModelId = 'chief'")
Integer getExecutionTimes(@Param("bizId") String bizId, @Param("procUnitId") String procUnitId);
@Query(name = "procUnitHandler.getMaxSequence", value = "select coalesce(max(sequence), 0) from ProcUnitHandler o where o.bizId = :bizId and o.procUnitId = :procUnitId and cooperationModelId = 'chief'")
......
......@@ -177,6 +177,25 @@
and (case when te.cooperation_model_id_ is null then 'chief' else te.cooperation_model_id_ end)='chief'
order by te.version_
</sql>
<sql name="queryBackTasksByBizId">
select te.id_ id, te.task_def_key_ task_def_key, te.name_ as name, p.sub_proc_unit_name,
concat(te.executor_dept_name_,concat('.',te.executor_person_member_name_)) executor_full_name,
te.status_name_ status_name, (case when p.group_id is null then 0 else p.group_id end) group_id, pd.sequence process_definition_group_id,
te.proc_unit_handler_id_ proc_unit_handler_id
from act_hi_taskinst_extension te
left join wf_procdef pd
on te.process_definition_key_ = pd.proc_id
and te.task_def_key_ = pd.code
left join wf_procunithandler p
on te.task_def_key_ = p.proc_unit_id
and te.proc_unit_handler_id_ = p.id
and p.biz_id = ?
where te.business_key_ = ?
and te.status_id_ in ('completed')
and te.kind_id_ in ('task')
and (case when te.cooperation_model_id_ is null then 'chief' else te.cooperation_model_id_ end)='chief'
order by te.version_
</sql>
<sql name="queryApplicantByProcInstId">
select te.id_ id,
te.task_def_key_ task_def_key,
......
......@@ -135,7 +135,7 @@
o.status, o.full_Sequence, p.sex, p.certificate_no, p.status as personStatus,
o.full_Org_Kind_Id, p.main_Org_Id, o.is_Virtual, o.sequence,
o.version
from V_SA_OPOrg_Exclude_Pos o left join SA_OPPerson on p o.person_id = p.id
from V_SA_OPOrg_Exclude_Pos o left join SA_OPPerson p on o.person_id = p.id
where 1=1
</sql>
<sql name="queryCount">
......
......@@ -135,7 +135,7 @@
o.status, o.full_Sequence, p.sex, p.certificate_no, p.status as personStatus,
o.full_Org_Kind_Id, p.main_Org_Id, o.is_Virtual, o.sequence,
o.version
from V_SA_OPOrg_Exclude_Pos o left join SA_OPPerson on p o.person_id = p.id
from V_SA_OPOrg_Exclude_Pos o left join SA_OPPerson p on o.person_id = p.id
where 1=1
</sql>
<sql name="queryCount">
......
......@@ -4,7 +4,7 @@
<parent>
<groupId>com.huigou</groupId>
<artifactId>root</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.2.1</version>
</parent>
<artifactId>huigou-xt</artifactId>
<name>huigou-xt</name>
......@@ -327,12 +327,6 @@
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
</dependency>-->
<!-- 生成PDF报表 -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
......
pub.db.url=jdbc:postgresql://192.168.3.61:5432/topsunit?useSSL=false
pub.db.user=postgres
pub.db.password=topsunit
pub.db.url=jdbc:mysql://192.168.3.57:3306/bpmtest?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
pub.db.user=topsun
pub.db.password=topsunit.com
log.db.url=jdbc:postgresql://192.168.3.61:5432/topsunit?useSSL=false
log.db.user=postgres
log.db.password=topsunit
log.db.url=jdbc:mysql://192.168.3.57:3306/bpmtest?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
log.db.user=topsun
log.db.password=topsunit.com
shiro.host=127.0.0.1
shiro.port=6379
shiro.expire=18000
system.dataSource=dataSource
system.hibernate.dialect=com.huigou.data.dialect.PostgreSQL10Dialect
sqlDialect=postgresql
system.hibernate.dialect=com.huigou.data.dialect.MySQL5InnoDBDialect
sqlDialect=mysql
#shiroFilter loginUrl
shiro.loginUrl=/Login.jsp
......
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.huigou</groupId>
<artifactId>root</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.2.1</version>
<packaging>pom</packaging>
<modules>
......@@ -19,6 +19,7 @@
<module>huigou-uasp</module>
<module>huigou-loader</module>
<module>huigou-xt</module>
<module>query-spring</module>
</modules>
<properties>
......@@ -157,8 +158,9 @@
<!-- test -->
<junit.version>4.9</junit.version>
<spring-data-mongodb.version>1.9.3.RELEASE</spring-data-mongodb.version>
<huigou.uasp.version>1.1.3-SNAPSHOT</huigou.uasp.version>
<query.spring.version>1.0.1-SNAPSHOT</query.spring.version>
<huigou.uasp.version>1.2.1</huigou.uasp.version>
<classgraph.version>4.8.43</classgraph.version>
<fastjson.version>1.2.59</fastjson.version>
</properties>
<dependencyManagement>
......@@ -447,18 +449,6 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.lowagie.text</groupId>
<artifactId>iTextAsian</artifactId>
<version>${itext-asian.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
......@@ -1133,19 +1123,6 @@
</exclusion>
</exclusions>
</dependency>
<!-- iText 很古老的版本 -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>${itext.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>flying-saucer-core</artifactId>
......@@ -1730,7 +1707,7 @@
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.3-SNAPSHOT</version>
<version>1.2.0</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
......@@ -1942,6 +1919,16 @@
<artifactId>spring-data-mongodb</artifactId>
<version>${spring-data-mongodb.version}</version>
</dependency>
<dependency>
<groupId>io.github.classgraph</groupId>
<artifactId>classgraph</artifactId>
<version>${classgraph.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<distributionManagement>
......
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