Commit d382ecaa authored by 雍欢's avatar 雍欢

流程节点审批(大于多少人通过或超过一半人通过)

parent f980a78d
...@@ -3,6 +3,7 @@ package com.huigou.uasp.bpm.configuration.domain.model; ...@@ -3,6 +3,7 @@ package com.huigou.uasp.bpm.configuration.domain.model;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
...@@ -27,7 +28,7 @@ import com.huigou.data.domain.model.TreeEntity; ...@@ -27,7 +28,7 @@ import com.huigou.data.domain.model.TreeEntity;
@Entity @Entity
@Table(name = "WF_ApprovalRule") @Table(name = "WF_ApprovalRule")
@EntityListeners({ CreatorAndModifierListener.class }) @EntityListeners({CreatorAndModifierListener.class})
public class ApprovalRule extends TreeEntity { public class ApprovalRule extends TreeEntity {
public static final String ROOT_ID = "1"; public static final String ROOT_ID = "1";
...@@ -291,9 +292,12 @@ public class ApprovalRule extends TreeEntity { ...@@ -291,9 +292,12 @@ public class ApprovalRule extends TreeEntity {
} }
public ApprovalRuleHandlerGroup findApprovalRuleHandlerGroup(Integer groupId) { public ApprovalRuleHandlerGroup findApprovalRuleHandlerGroup(Integer groupId) {
for (ApprovalRuleHandlerGroup item : this.getApprovalRuleHandlerGroups()) { List<ApprovalRuleHandlerGroup> approvalRuleHandlerGroups = this.getApprovalRuleHandlerGroups();
if (item.getGroupId().equals(groupId)) { if (approvalRuleHandlerGroups != null) {
return item; for (ApprovalRuleHandlerGroup group : approvalRuleHandlerGroups) {
if (Objects.equals(group.getGroupId(), groupId)) {
return group;
}
} }
} }
return null; return null;
...@@ -348,7 +352,7 @@ public class ApprovalRule extends TreeEntity { ...@@ -348,7 +352,7 @@ public class ApprovalRule extends TreeEntity {
return result; return result;
} }
public static boolean isCategory(int id){ public static boolean isCategory(int id) {
return CATEGORY.getId() == id; return CATEGORY.getId() == id;
} }
} }
......
...@@ -31,6 +31,13 @@ public class ApprovalRuleHandlerGroup extends AbstractEntity { ...@@ -31,6 +31,13 @@ public class ApprovalRuleHandlerGroup extends AbstractEntity {
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
@Column(name = "task_execute_mode_id") @Column(name = "task_execute_mode_id")
private TaskExecuteMode taskExecuteMode; private TaskExecuteMode taskExecuteMode;
/**
* 最少审批人数
*
* @since 1.3.3
*/
@Column(name = "limit_handler")
private Integer limitHandler;
public TaskExecuteMode getTaskExecuteMode() { public TaskExecuteMode getTaskExecuteMode() {
return taskExecuteMode; return taskExecuteMode;
...@@ -40,4 +47,11 @@ public class ApprovalRuleHandlerGroup extends AbstractEntity { ...@@ -40,4 +47,11 @@ public class ApprovalRuleHandlerGroup extends AbstractEntity {
this.taskExecuteMode = taskExecuteMode; this.taskExecuteMode = taskExecuteMode;
} }
public Integer getLimitHandler() {
return limitHandler;
}
public void setLimitHandler(Integer limitHandler) {
this.limitHandler = limitHandler;
}
} }
...@@ -36,7 +36,7 @@ import com.huigou.util.StringUtil; ...@@ -36,7 +36,7 @@ import com.huigou.util.StringUtil;
* @author gongmm * @author gongmm
*/ */
@MappedSuperclass @MappedSuperclass
@EntityListeners({ VersionListener.class }) @EntityListeners({VersionListener.class})
public class ProcUnitHandlerBase implements IdentifiedEntity, Cloneable, Serializable { public class ProcUnitHandlerBase implements IdentifiedEntity, Cloneable, Serializable {
private static final long serialVersionUID = 7627740680619707939L; private static final long serialVersionUID = 7627740680619707939L;
...@@ -214,6 +214,13 @@ public class ProcUnitHandlerBase implements IdentifiedEntity, Cloneable, Seriali ...@@ -214,6 +214,13 @@ public class ProcUnitHandlerBase implements IdentifiedEntity, Cloneable, Seriali
private String clientName; private String clientName;
private Integer sequence; private Integer sequence;
/**
* 分组最少审批人数。
*
* @since 1.1.3
*/
@Column(name = "limit_handler")
private Integer limitHandler;
@Override @Override
public String getId() { public String getId() {
...@@ -475,6 +482,14 @@ public class ProcUnitHandlerBase implements IdentifiedEntity, Cloneable, Seriali ...@@ -475,6 +482,14 @@ public class ProcUnitHandlerBase implements IdentifiedEntity, Cloneable, Seriali
this.sendMessage = sendMessage; this.sendMessage = sendMessage;
} }
public Integer getLimitHandler() {
return limitHandler;
}
public void setLimitHandler(Integer limitHandler) {
this.limitHandler = limitHandler;
}
public void updateHandleResult(int result, String opinion, int status) { public void updateHandleResult(int result, String opinion, int status) {
this.setResult(result); this.setResult(result);
this.setOpinion(opinion); this.setOpinion(opinion);
...@@ -546,7 +561,8 @@ public class ProcUnitHandlerBase implements IdentifiedEntity, Cloneable, Seriali ...@@ -546,7 +561,8 @@ public class ProcUnitHandlerBase implements IdentifiedEntity, Cloneable, Seriali
} }
public enum Status { public enum Status {
INITIAL(-2, "补审初始化状态"), MERGED(-1, "已合并"), READY(0, "未处理"), COMPLETED(1, "已处理"), RETURNED(2, "已回退"), ; INITIAL(-2, "补审初始化状态"), MERGED(-1, "已合并"), READY(0, "未处理"), COMPLETED(1, "已处理"), RETURNED(2, "已回退"),
;
private final int id; private final int id;
private final String displayName; private final String displayName;
...@@ -581,7 +597,7 @@ public class ProcUnitHandlerBase implements IdentifiedEntity, Cloneable, Seriali ...@@ -581,7 +597,7 @@ public class ProcUnitHandlerBase implements IdentifiedEntity, Cloneable, Seriali
case 2: case 2:
return RETURNED; return RETURNED;
default: default:
throw new ApplicationException(String.format("无效的流程环节处理状态“%s”。", new Object[] { Integer.valueOf(id) })); throw new ApplicationException(String.format("无效的流程环节处理状态“%s”。", new Object[]{Integer.valueOf(id)}));
} }
} }
} }
......
package com.huigou.data.query.parser.impl; package com.huigou.data.query.parser.impl;
import java.util.Map;
import java.util.regex.Matcher;
import com.huigou.data.domain.query.QueryAbstractRequest; import com.huigou.data.domain.query.QueryAbstractRequest;
import com.huigou.data.query.QueryPermissionBuilder; import com.huigou.data.query.QueryPermissionBuilder;
import com.huigou.data.query.SQLExecutor; import com.huigou.data.query.SQLExecutor;
import com.huigou.data.query.XMLParseUtil; import com.huigou.data.query.XMLParseUtil;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.parser.SQLBuilder; import com.huigou.data.query.parser.SQLBuilder;
import com.huigou.data.query.parser.model.ConditionModel; import com.huigou.data.query.parser.model.ConditionModel;
import com.huigou.data.query.parser.model.DataFilterGroup; import com.huigou.data.query.parser.model.DataFilterGroup;
...@@ -21,6 +17,9 @@ import com.huigou.uasp.bmp.query.QueryDocument.Query; ...@@ -21,6 +17,9 @@ import com.huigou.uasp.bmp.query.QueryDocument.Query;
import com.huigou.uasp.bmp.query.SqlDocument.Sql; import com.huigou.uasp.bmp.query.SqlDocument.Sql;
import com.huigou.util.StringUtil; import com.huigou.util.StringUtil;
import java.util.Map;
import java.util.regex.Matcher;
/** /**
* 根据查询对象组合SQL * 根据查询对象组合SQL
* *
......
...@@ -461,10 +461,16 @@ public class ApprovalRuleApplicationImpl extends BaseApplication implements Appr ...@@ -461,10 +461,16 @@ public class ApprovalRuleApplicationImpl extends BaseApplication implements Appr
} }
@Override @Override
@Transactional @Transactional(rollbackFor = RuntimeException.class)
public void saveApprovalRuleHandler(String approvalRuleId, ApprovalRuleHandler approvalRuleHandler, TaskExecuteMode taskExecuteMode, public void saveApprovalRuleHandler(String approvalRuleId, ApprovalRuleHandler approvalRuleHandler, TaskExecuteMode taskExecuteMode,
List<ApprovalRuleHandlerAssist> assistants, List<ApprovalRuleHandlerAssist> ccs, List<ApprovalRuleHandlerAssist> assistants, List<ApprovalRuleHandlerAssist> ccs,
List<ApprovalRuleHandlerUIElmentPermission> uiElmentPermissions) { List<ApprovalRuleHandlerUIElmentPermission> fieldAuthorizations) {
saveApprovalRuleHandler(approvalRuleId, approvalRuleHandler, taskExecuteMode, null, assistants, ccs, fieldAuthorizations);
}
@Transactional(rollbackFor = RuntimeException.class)
@Override
public void saveApprovalRuleHandler(String approvalRuleId, ApprovalRuleHandler approvalRuleHandler, TaskExecuteMode taskExecuteMode, Integer limitHandler, List<ApprovalRuleHandlerAssist> assistants, List<ApprovalRuleHandlerAssist> ccs, List<ApprovalRuleHandlerUIElmentPermission> fieldAuthorizations) {
Assert.hasText(approvalRuleId, "参数approvalRuleId不能为空。"); Assert.hasText(approvalRuleId, "参数approvalRuleId不能为空。");
Assert.notNull(approvalRuleHandler, "参数approvalRuleHandler不能为空。"); Assert.notNull(approvalRuleHandler, "参数approvalRuleHandler不能为空。");
...@@ -473,13 +479,18 @@ public class ApprovalRuleApplicationImpl extends BaseApplication implements Appr ...@@ -473,13 +479,18 @@ public class ApprovalRuleApplicationImpl extends BaseApplication implements Appr
ApprovalRuleHandler sourceApprovalRuleHandler = approvalRule.findApprovalRuleHandler(approvalRuleHandler.getId()); ApprovalRuleHandler sourceApprovalRuleHandler = approvalRule.findApprovalRuleHandler(approvalRuleHandler.getId());
ApprovalRuleHandlerGroup approvalRuleHandlerGroup = approvalRule.findApprovalRuleHandlerGroup(sourceApprovalRuleHandler.getGroupId()); ApprovalRuleHandlerGroup approvalRuleHandlerGroup = approvalRule.findApprovalRuleHandlerGroup(sourceApprovalRuleHandler.getGroupId());
sourceApprovalRuleHandler.fromEntity(approvalRuleHandler); sourceApprovalRuleHandler.fromEntity(approvalRuleHandler);
if (taskExecuteMode == null) { if(taskExecuteMode == null && limitHandler == null) {
if (approvalRuleHandlerGroup != null) { if (approvalRuleHandlerGroup != null) {
approvalRule.getApprovalRuleHandlerGroups().remove(approvalRuleHandlerGroup); approvalRule.getApprovalRuleHandlerGroups().remove(approvalRuleHandlerGroup);
} }
}
if (taskExecuteMode == null) {
if (approvalRuleHandlerGroup != null) {
approvalRuleHandlerGroup.setTaskExecuteMode(null);
}
} else { } else {
if (approvalRuleHandlerGroup == null) { if (approvalRuleHandlerGroup == null) {
approvalRuleHandlerGroup = new ApprovalRuleHandlerGroup(); approvalRuleHandlerGroup = new ApprovalRuleHandlerGroup();
...@@ -488,6 +499,21 @@ public class ApprovalRuleApplicationImpl extends BaseApplication implements Appr ...@@ -488,6 +499,21 @@ public class ApprovalRuleApplicationImpl extends BaseApplication implements Appr
approvalRuleHandlerGroup.setGroupId(sourceApprovalRuleHandler.getGroupId()); approvalRuleHandlerGroup.setGroupId(sourceApprovalRuleHandler.getGroupId());
approvalRuleHandlerGroup.setTaskExecuteMode(taskExecuteMode); approvalRuleHandlerGroup.setTaskExecuteMode(taskExecuteMode);
} }
if(limitHandler == null) {
if(approvalRuleHandlerGroup != null) {
approvalRuleHandlerGroup.setLimitHandler(null);
}
} else {
if (approvalRuleHandlerGroup == null) {
approvalRuleHandlerGroup = new ApprovalRuleHandlerGroup();
approvalRule.getApprovalRuleHandlerGroups().add(approvalRuleHandlerGroup);
}
approvalRuleHandlerGroup.setGroupId(sourceApprovalRuleHandler.getGroupId());
approvalRuleHandlerGroup.setLimitHandler(limitHandler);
}
// 协审 抄送 // 协审 抄送
sourceApprovalRuleHandler.getAssists().clear(); sourceApprovalRuleHandler.getAssists().clear();
if (assistants != null) { if (assistants != null) {
...@@ -498,8 +524,8 @@ public class ApprovalRuleApplicationImpl extends BaseApplication implements Appr ...@@ -498,8 +524,8 @@ public class ApprovalRuleApplicationImpl extends BaseApplication implements Appr
} }
// 权限字段 // 权限字段
sourceApprovalRuleHandler.getUIElmentPermissions().clear(); sourceApprovalRuleHandler.getUIElmentPermissions().clear();
if (uiElmentPermissions != null) { if (fieldAuthorizations != null) {
sourceApprovalRuleHandler.getUIElmentPermissions().addAll(uiElmentPermissions); sourceApprovalRuleHandler.getUIElmentPermissions().addAll(fieldAuthorizations);
} }
this.commonDomainService.saveTreeEntity(approvalRule, this.approvalRuleRepository, approvalRule.getName(), false); this.commonDomainService.saveTreeEntity(approvalRule, this.approvalRuleRepository, approvalRule.getName(), false);
} }
...@@ -521,7 +547,7 @@ public class ApprovalRuleApplicationImpl extends BaseApplication implements Appr ...@@ -521,7 +547,7 @@ public class ApprovalRuleApplicationImpl extends BaseApplication implements Appr
if (procunithandlerIds != null && procunithandlerIds.size() > 0) { if (procunithandlerIds != null && procunithandlerIds.size() > 0) {
List<Object[]> updateIds = new ArrayList<>(procunithandlerIds.size()); List<Object[]> updateIds = new ArrayList<>(procunithandlerIds.size());
for (String procunithandlerId : procunithandlerIds) { for (String procunithandlerId : procunithandlerIds) {
updateIds.add(new Object[] { procunithandlerId }); updateIds.add(new Object[]{procunithandlerId});
} }
if (updateIds.size() > 0) { if (updateIds.size() > 0) {
this.sqlExecutorDao.batchUpdate("update wf_procunithandler t set t.approval_rule_handler_id='' where t.id=?", updateIds); this.sqlExecutorDao.batchUpdate("update wf_procunithandler t set t.approval_rule_handler_id='' where t.id=?", updateIds);
......
...@@ -343,7 +343,7 @@ public class ApprovalRuleController extends CommonController { ...@@ -343,7 +343,7 @@ public class ApprovalRuleController extends CommonController {
return success(); return success();
} }
@RequiresPermissions(value = { "ProcApprovalRuleConfig:create", "ProcApprovalRuleConfig:update" }, logical = Logical.OR) @RequiresPermissions(value = {"ProcApprovalRuleConfig:create", "ProcApprovalRuleConfig:update"}, logical = Logical.OR)
@LogInfo(logType = LogType.SYS, subType = "", operaionType = OperationType.SAVE, description = "保存流程审批规则处理人") @LogInfo(logType = LogType.SYS, subType = "", operaionType = OperationType.SAVE, description = "保存流程审批规则处理人")
public String saveApprovalRuleHandlers() { public String saveApprovalRuleHandlers() {
SDO params = this.getSDO(); SDO params = this.getSDO();
...@@ -356,7 +356,7 @@ public class ApprovalRuleController extends CommonController { ...@@ -356,7 +356,7 @@ public class ApprovalRuleController extends CommonController {
return success(); return success();
} }
@RequiresPermissions(value = { "ProcApprovalRuleConfig:create", "ProcApprovalRuleConfig:update" }, logical = Logical.OR) @RequiresPermissions(value = {"ProcApprovalRuleConfig:create", "ProcApprovalRuleConfig:update"}, logical = Logical.OR)
@LogInfo(logType = LogType.SYS, subType = "", operaionType = OperationType.SAVE, description = "保存流程审批规则处理人") @LogInfo(logType = LogType.SYS, subType = "", operaionType = OperationType.SAVE, description = "保存流程审批规则处理人")
public String saveApprovalRuleHandler() { public String saveApprovalRuleHandler() {
SDO params = this.getSDO(); SDO params = this.getSDO();
...@@ -365,6 +365,8 @@ public class ApprovalRuleController extends CommonController { ...@@ -365,6 +365,8 @@ public class ApprovalRuleController extends CommonController {
ApprovalRuleHandler approvalRuleHandler = params.toObject(ApprovalRuleHandler.class); ApprovalRuleHandler approvalRuleHandler = params.toObject(ApprovalRuleHandler.class);
// 分组 任务执行模式 // 分组 任务执行模式
TaskExecuteMode taskExecuteMode = TaskExecuteMode.fromId(params.getString("taskExecuteMode")); TaskExecuteMode taskExecuteMode = TaskExecuteMode.fromId(params.getString("taskExecuteMode"));
// 最少审批人数
Integer limitHandler = params.getInteger("limitHandler");
// 协审 // 协审
List<ApprovalRuleHandlerAssist> assistants = params.getList("assistantList", ApprovalRuleHandlerAssist.class); List<ApprovalRuleHandlerAssist> assistants = params.getList("assistantList", ApprovalRuleHandlerAssist.class);
// 抄送 // 抄送
...@@ -372,7 +374,7 @@ public class ApprovalRuleController extends CommonController { ...@@ -372,7 +374,7 @@ public class ApprovalRuleController extends CommonController {
// 字段权限 // 字段权限
List<ApprovalRuleHandlerUIElmentPermission> uiElmentPermissions = params.getList("fieldPermissionList", ApprovalRuleHandlerUIElmentPermission.class); List<ApprovalRuleHandlerUIElmentPermission> uiElmentPermissions = params.getList("fieldPermissionList", ApprovalRuleHandlerUIElmentPermission.class);
this.approvalRuleApplication.saveApprovalRuleHandler(approvalRuleId, approvalRuleHandler, taskExecuteMode, assistants, ccs, uiElmentPermissions); this.approvalRuleApplication.saveApprovalRuleHandler(approvalRuleId, approvalRuleHandler, taskExecuteMode, limitHandler, assistants, ccs, uiElmentPermissions);
return success(); return success();
} }
...@@ -409,7 +411,7 @@ public class ApprovalRuleController extends CommonController { ...@@ -409,7 +411,7 @@ public class ApprovalRuleController extends CommonController {
return toResult(data); return toResult(data);
} }
@RequiresPermissions(value = { "ProcApprovalRuleConfig:create", "ProcApprovalRuleConfig:update" }, logical = Logical.OR) @RequiresPermissions(value = {"ProcApprovalRuleConfig:create", "ProcApprovalRuleConfig:update"}, logical = Logical.OR)
@LogInfo(logType = LogType.SYS, subType = "", operaionType = OperationType.SAVE, description = "保存流程审批规则审批要素") @LogInfo(logType = LogType.SYS, subType = "", operaionType = OperationType.SAVE, description = "保存流程审批规则审批要素")
public String saveApprovalRuleElements() { public String saveApprovalRuleElements() {
SDO params = this.getSDO(); SDO params = this.getSDO();
...@@ -448,6 +450,7 @@ public class ApprovalRuleController extends CommonController { ...@@ -448,6 +450,7 @@ public class ApprovalRuleController extends CommonController {
if (approvalRuleHandlerGroup != null) { if (approvalRuleHandlerGroup != null) {
this.putAttribute("taskExecuteMode", approvalRuleHandlerGroup.getTaskExecuteMode()); this.putAttribute("taskExecuteMode", approvalRuleHandlerGroup.getTaskExecuteMode());
this.putAttribute("limitHandler", approvalRuleHandlerGroup.getLimitHandler());
} }
return forward("ApprovalHandlerDetailConfig", approvalRuleHandler); return forward("ApprovalHandlerDetailConfig", approvalRuleHandler);
......
package com.huigou.uasp.bpm.engine.application.impl; package com.huigou.uasp.bpm.engine.application.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import com.huigou.data.query.executor.SQLExecutorDao;
import com.huigou.util.*;
import org.activiti.engine.impl.context.Context;
import org.activiti.engine.impl.persistence.entity.HistoricProcessInstanceEntity;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import com.huigou.cache.SystemCache; import com.huigou.cache.SystemCache;
import com.huigou.context.MessageSourceContext; import com.huigou.context.MessageSourceContext;
import com.huigou.context.Operator; import com.huigou.context.Operator;
...@@ -29,28 +12,28 @@ import com.huigou.data.query.model.QueryModel; ...@@ -29,28 +12,28 @@ import com.huigou.data.query.model.QueryModel;
import com.huigou.uasp.bmp.common.application.BaseApplication; import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.uasp.bmp.fn.impl.ProcessFun; import com.huigou.uasp.bmp.fn.impl.ProcessFun;
import com.huigou.uasp.bmp.opm.domain.model.org.Org; import com.huigou.uasp.bmp.opm.domain.model.org.Org;
import com.huigou.uasp.bpm.ActivityKind; import com.huigou.uasp.bpm.*;
import com.huigou.uasp.bpm.HandleResult;
import com.huigou.uasp.bpm.ProcessStatus;
import com.huigou.uasp.bpm.TaskKind;
import com.huigou.uasp.bpm.TaskScope;
import com.huigou.uasp.bpm.TaskStatus;
import com.huigou.uasp.bpm.engine.application.ActApplication; import com.huigou.uasp.bpm.engine.application.ActApplication;
import com.huigou.uasp.bpm.engine.application.ProcUnitHandlerApplication; import com.huigou.uasp.bpm.engine.application.ProcUnitHandlerApplication;
import com.huigou.uasp.bpm.engine.application.WorkflowApplication; import com.huigou.uasp.bpm.engine.application.WorkflowApplication;
import com.huigou.uasp.bpm.engine.domain.dto.BackTaskInfo; import com.huigou.uasp.bpm.engine.domain.dto.BackTaskInfo;
import com.huigou.uasp.bpm.engine.domain.model.HistoricProcessInstanceExtension; import com.huigou.uasp.bpm.engine.domain.model.*;
import com.huigou.uasp.bpm.engine.domain.model.HistoricTaskInstanceExtension;
import com.huigou.uasp.bpm.engine.domain.model.HistoricTaskInstanceRelation;
import com.huigou.uasp.bpm.engine.domain.model.ProcUnitHandler;
import com.huigou.uasp.bpm.engine.domain.model.ProcUnitHandlerManuscript;
import com.huigou.uasp.bpm.engine.domain.model.RuntimeTaskExtension;
import com.huigou.uasp.bpm.engine.domain.query.TaskDetail; import com.huigou.uasp.bpm.engine.domain.query.TaskDetail;
import com.huigou.uasp.bpm.engine.repository.HistoricProcInstanceExtensionRepository; import com.huigou.uasp.bpm.engine.repository.HistoricProcInstanceExtensionRepository;
import com.huigou.uasp.bpm.engine.repository.HistoricTaskInstanceExtensionRepository; import com.huigou.uasp.bpm.engine.repository.HistoricTaskInstanceExtensionRepository;
import com.huigou.uasp.bpm.engine.repository.HistoricTaskInstanceRelationRepository; import com.huigou.uasp.bpm.engine.repository.HistoricTaskInstanceRelationRepository;
import com.huigou.uasp.bpm.engine.repository.RuntimeTaskExtensionRepository; import com.huigou.uasp.bpm.engine.repository.RuntimeTaskExtensionRepository;
import com.huigou.uasp.bpm.managment.application.ProcDefinitionApplication; import com.huigou.uasp.bpm.managment.application.ProcDefinitionApplication;
import com.huigou.util.*;
import org.activiti.engine.impl.context.Context;
import org.activiti.engine.impl.persistence.entity.HistoricProcessInstanceEntity;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.*;
@Service("actApplication") @Service("actApplication")
public class ActApplicationImpl extends BaseApplication implements ActApplication { public class ActApplicationImpl extends BaseApplication implements ActApplication {
...@@ -536,6 +519,11 @@ public class ActApplicationImpl extends BaseApplication implements ActApplicatio ...@@ -536,6 +519,11 @@ public class ActApplicationImpl extends BaseApplication implements ActApplicatio
return this.sqlExecutorDao.queryToMap(sql, taskId); return this.sqlExecutorDao.queryToMap(sql, taskId);
} }
@Override
public RuntimeTaskExtension queryByRuntimeTaskById(String taskId) {
return runtimeTaskExtensionRepository.findOne(taskId);
}
@Override @Override
public Map<String, Object> loadRuntimeTaskByBizId(String bizId) { public Map<String, Object> loadRuntimeTaskByBizId(String bizId) {
String sql = this.getQuerySqlByName("loadRuntimeTaskByBizId"); String sql = this.getQuerySqlByName("loadRuntimeTaskByBizId");
......
...@@ -39,8 +39,11 @@ ...@@ -39,8 +39,11 @@
label="任务执行模式" emptyOption="true" fieldCol="4" /> label="任务执行模式" emptyOption="true" fieldCol="4" />
</div> </div>
<div class="hg-form-row"> <div class="hg-form-row">
<x:inputC name="limitHandler" label="最少审批人数" spinner="true" mask="nnn" fieldCol="4" />
<x:inputC name="groupId" spinner="true" mask="nnn" <x:inputC name="groupId" spinner="true" mask="nnn"
dataOptions="min:1" required="true" label="审批分组" fieldCol="4" /> dataOptions="min:1" required="true" label="审批分组" fieldCol="4" />
</div>
<div class="hg-form-row">
<x:inputC name="sequence" spinner="true" mask="nnn" <x:inputC name="sequence" spinner="true" mask="nnn"
dataOptions="min:1" required="true" label="审批序号" fieldCol="4" /> dataOptions="min:1" required="true" label="审批序号" fieldCol="4" />
</div> </div>
......
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