commit
This commit is contained in:
@@ -80,7 +80,7 @@ public class CountersignHandler implements IHandler {
|
|||||||
}
|
}
|
||||||
if (!isMerged && CountersignTypeEnum.PARALLEL.toString().equalsIgnoreCase(countersignType)) {
|
if (!isMerged && CountersignTypeEnum.PARALLEL.toString().equalsIgnoreCase(countersignType)) {
|
||||||
// 是否所有会签任务已完成
|
// 是否所有会签任务已完成
|
||||||
isMerged = execution.getEngine().processTaskService().getDoingTaskList(execution.getProcessInstanceId(), new String[]{taskModel.getName()}).size() == 0;
|
boolean finished = execution.getEngine().processTaskService().getDoingTaskList(execution.getProcessInstanceId(), new String[]{taskModel.getName()}).size() == 0;
|
||||||
if (!isMerged) {
|
if (!isMerged) {
|
||||||
// 未通过,更新已完成实例数量
|
// 未通过,更新已完成实例数量
|
||||||
Dict addVariable = Dict.create();
|
Dict addVariable = Dict.create();
|
||||||
@@ -88,6 +88,9 @@ public class CountersignHandler implements IHandler {
|
|||||||
addVariable.put(prefix + FlowConst.NR_OF_COMPLETED_AGREE_INSTANCES, execution.getArgs().get(prefix + FlowConst.NR_OF_COMPLETED_AGREE_INSTANCES));
|
addVariable.put(prefix + FlowConst.NR_OF_COMPLETED_AGREE_INSTANCES, execution.getArgs().get(prefix + FlowConst.NR_OF_COMPLETED_AGREE_INSTANCES));
|
||||||
execution.getEngine().processInstanceService().addVariable(execution.getProcessInstanceId(), addVariable);
|
execution.getEngine().processInstanceService().addVariable(execution.getProcessInstanceId(), addVariable);
|
||||||
}
|
}
|
||||||
|
if(finished) {
|
||||||
|
execution.getEngine().processTaskService().rejectTask(execution.getProcessModel(), execution.getProcessTask());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (isMerged) {
|
if (isMerged) {
|
||||||
// 获取所有会签参数键值
|
// 获取所有会签参数键值
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ public class SysClubServiceImpl extends BaseServiceImpl<SysClub> implements SysC
|
|||||||
|
|
||||||
SysClub sysClub = dao().insertWith(club, "sponsors");
|
SysClub sysClub = dao().insertWith(club, "sponsors");
|
||||||
if(ObjectUtil.isNotEmpty(managePerson)){
|
if(ObjectUtil.isNotEmpty(managePerson)){
|
||||||
List<ClubUser> clubUsers = managePerson.stream().map(person -> {
|
List<ClubUser> clubUsers = managePerson.stream().filter(o -> StrUtil.isNotBlank(o.getString("userId"))).map(person -> {
|
||||||
ClubUser clubUser = new ClubUser();
|
ClubUser clubUser = new ClubUser();
|
||||||
clubUser.setClubId(club.getId());
|
clubUser.setClubId(club.getId());
|
||||||
clubUser.setRoleCode(List.of(person.getString("roleCode")));
|
clubUser.setRoleCode(List.of(person.getString("roleCode")));
|
||||||
@@ -193,7 +193,7 @@ public class SysClubServiceImpl extends BaseServiceImpl<SysClub> implements SysC
|
|||||||
dao().clear(ClubUser.class, Cnd.where(ClubUser::getClubId, "=", club.getId()));
|
dao().clear(ClubUser.class, Cnd.where(ClubUser::getClubId, "=", club.getId()));
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(managePerson)) {
|
if (ObjectUtil.isNotEmpty(managePerson)) {
|
||||||
List<ClubUser> clubUsers = managePerson.stream().map(person -> {
|
List<ClubUser> clubUsers = managePerson.stream().filter(o -> StrUtil.isNotBlank(o.getString("userId"))).map(person -> {
|
||||||
ClubUser clubUser = new ClubUser();
|
ClubUser clubUser = new ClubUser();
|
||||||
clubUser.setClubId(club.getId());
|
clubUser.setClubId(club.getId());
|
||||||
clubUser.setRoleCode(List.of(person.getString("roleCode")));
|
clubUser.setRoleCode(List.of(person.getString("roleCode")));
|
||||||
|
|||||||
+15
-3
@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
|
|||||||
import cn.hutool.core.lang.Dict;
|
import cn.hutool.core.lang.Dict;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.http.HtmlUtil;
|
import cn.hutool.http.HtmlUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.budwk.app.base.annotation.SLog;
|
import com.budwk.app.base.annotation.SLog;
|
||||||
import com.budwk.app.base.page.Pagination;
|
import com.budwk.app.base.page.Pagination;
|
||||||
import com.budwk.app.base.param.PageForm;
|
import com.budwk.app.base.param.PageForm;
|
||||||
@@ -44,6 +45,7 @@ import org.nutz.mvc.annotation.Param;
|
|||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
@IocBean
|
@IocBean
|
||||||
@At("/platform/proposal/mine")
|
@At("/platform/proposal/mine")
|
||||||
@@ -262,15 +264,25 @@ public class ProposalMineController {
|
|||||||
.desc(ProcessTask::getCreatedAt));
|
.desc(ProcessTask::getCreatedAt));
|
||||||
|
|
||||||
// 已完成附议的代表
|
// 已完成附议的代表
|
||||||
List<ProcessTask> taskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", processInstance.getId())
|
/*List<ProcessTask> taskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", processInstance.getId())
|
||||||
.and(ProcessTask::getTaskName, "=", "second")
|
.and(ProcessTask::getTaskName, "=", "second")
|
||||||
.and(ProcessTask::getTaskState, "in", List.of(ProcessTaskStateEnum.DOING.getCode(), ProcessTaskStateEnum.FINISHED.getCode()))
|
.and(ProcessTask::getTaskState, "in", List.of(ProcessTaskStateEnum.DOING.getCode(), ProcessTaskStateEnum.FINISHED.getCode()))
|
||||||
.and(ProcessTask::getId, ">", inviteTask.getId())
|
.and(ProcessTask::getId, ">", inviteTask.getId())
|
||||||
);
|
);*/
|
||||||
|
|
||||||
|
List<ProcessTask> taskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", processInstance.getId())
|
||||||
|
.and(ProcessTask::getTaskName, "=", "second")
|
||||||
|
.and(ProcessTask::getTaskState, "in", List.of(ProcessTaskStateEnum.DOING.getCode(), ProcessTaskStateEnum.FINISHED.getCode()))
|
||||||
|
);
|
||||||
|
|
||||||
|
List<ProcessTask> tasks = taskList.stream().filter(o -> {
|
||||||
|
Dict args = JSONUtil.toBean(o.getVariable(), Dict.class);
|
||||||
|
return Objects.equals(args.getInt("submitType"), ProcessSubmitTypeEnum.AGREE.getCode());
|
||||||
|
}).toList();
|
||||||
|
|
||||||
ProposalConfig proposalConfig = dao.fetch(ProposalConfig.class, Cnd.NEW());
|
ProposalConfig proposalConfig = dao.fetch(ProposalConfig.class, Cnd.NEW());
|
||||||
|
|
||||||
if (taskList.size() + seconders.length < proposalConfig.getSeconderNum()) {
|
if (tasks.size() + seconders.length < proposalConfig.getSeconderNum()) {
|
||||||
return Result.error("至少邀请" + proposalConfig.getSeconderNum() + "个附议人");
|
return Result.error("至少邀请" + proposalConfig.getSeconderNum() + "个附议人");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ module.exports = {
|
|||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.$message.success("设置成功")
|
this.$message.success("设置成功")
|
||||||
this.dialogVisible = false
|
this.dialogVisible = false
|
||||||
|
this.listOpinion()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ layout("/layouts/platform.html"){
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="基础类型备注" label-width="110px" prop="note">
|
<el-form-item label="基础类型备注" label-width="110px" prop="note">
|
||||||
<el-input maxlength="100" placeholder="请输入基础类型备注" type="textarea" v-model="formData.note"></el-input>
|
<el-input maxlength="50" placeholder="请输入基础类型备注" type="textarea" v-model="formData.note"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ layout("/layouts/platform.html"){
|
|||||||
code="UserType"></dict-select>
|
code="UserType"></dict-select>
|
||||||
</div>-->
|
</div>-->
|
||||||
|
|
||||||
<el-button type="primary" size="small" icon="el-icon-printer" @click="exportExcel">导出会员名单</el-button>
|
<!--<el-button type="primary" size="small" icon="el-icon-printer" @click="exportExcel">导出会员名单</el-button>-->
|
||||||
|
|
||||||
<el-popover
|
<el-popover
|
||||||
placement="bottom"
|
placement="bottom"
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
</van-form>
|
</van-form>
|
||||||
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
||||||
<van-button type="danger" block @click="handleTaskAction(6)">退回</van-button>
|
<van-button type="danger" block @click="handleTaskAction(6)">退回</van-button>
|
||||||
<van-button type="danger" block @click="handleTaskAction(20)">不同意</van-button>
|
<van-button type="danger" block @click="handleTaskAction(2)">不同意</van-button>
|
||||||
<van-button type="primary" block @click="handleTaskAction(1)">同意</van-button>
|
<van-button type="primary" block @click="handleTaskAction(1)">同意</van-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,9 +46,7 @@ const todo = {
|
|||||||
title="variable.instanceName">
|
title="variable.instanceName">
|
||||||
<template v-slot="{index,row}">
|
<template v-slot="{index,row}">
|
||||||
<table-column label="任务节点">{{row.taskName}}</table-column>
|
<table-column label="任务节点">{{row.taskName}}</table-column>
|
||||||
<table-column label="流程分类">{{categoryOptions.find(item => item.id === row.category)?.name ||
|
<table-column label="流程分类">{{row.categoryName}}</table-column>
|
||||||
'未知分类'}}
|
|
||||||
</table-column>
|
|
||||||
<table-column label="申请人">{{row.variable?.initiatorName || '未知'}}</table-column>
|
<table-column label="申请人">{{row.variable?.initiatorName || '未知'}}</table-column>
|
||||||
<table-column label="状态" v-if="activeTab === 'started'">{{processStatusMap[row.state]?.text ||
|
<table-column label="状态" v-if="activeTab === 'started'">{{processStatusMap[row.state]?.text ||
|
||||||
'未知状态'}}
|
'未知状态'}}
|
||||||
|
|||||||
Reference in New Issue
Block a user