..
This commit is contained in:
+2
-1
@@ -117,12 +117,13 @@ public class ProposalConfigUnitController {
|
||||
List<Sys_unit> sysUnits = dao.query(Sys_unit.class, Cnd.where(Sys_unit::getUnitcode, "not in", sql).and(Sys_unit::getUnitTypeCode, "=", 1));
|
||||
List<ProposalUndertake> proposalUndertakes = sysUnits.stream().map(unit -> {
|
||||
ProposalUndertake proposalUndertake = new ProposalUndertake();
|
||||
proposalUndertake.setId(unit.getId());
|
||||
proposalUndertake.setCode(unit.getUnitcode());
|
||||
proposalUndertake.setEnable(true);
|
||||
proposalUndertake.setName(unit.getName());
|
||||
return proposalUndertake;
|
||||
}).toList();
|
||||
dao.insert(proposalUndertakes);
|
||||
dao.fastInsert(proposalUndertakes);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -84,7 +84,7 @@ public class ProposalExpeditingController {
|
||||
IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName,
|
||||
IFNULL(GROUP_CONCAT(DISTINCT nt.taskName),'结束') curTaskKey,
|
||||
CASE WHEN t.taskState = 20 AND ( rt.id IS NULL OR rt.taskState = 10 ) THEN 1 ELSE 0 END AS canRevoke,
|
||||
t.variable->>'$.unitName' AS taskUnitName,
|
||||
t.variable->>'$.underTakeName' AS underTakeName,
|
||||
IF(JSON_EXTRACT(t.variable, '$.isMaster') = true, 1, 0) AS taskIsMaster,
|
||||
ta.actorName,
|
||||
ta.actorAccount
|
||||
@@ -101,7 +101,7 @@ public class ProposalExpeditingController {
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("t.taskName", "in", List.of("85cf23da-2dd5-4007-a1e9-bd9bfddc68f0", "c9a1586e-272b-41b8-b438-0be9f9e3781d","5ed5a1be-0cd3-4b47-a0d5-238d53b61f34"));
|
||||
cnd.and("t.taskName", "in", List.of("master_reply", "slave_reply", "opinion_master_reply"));
|
||||
|
||||
if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) {
|
||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||
@@ -122,10 +122,10 @@ public class ProposalExpeditingController {
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
@SaCheckPermission("proposal.senior.expediting")
|
||||
@SLog(tag = "提案-高级管理", msg = "提案催办")
|
||||
public Result submit(@Param(value = "taskIds") String[] taskIds,
|
||||
public Result submit(@Param(value = "taskIds") Long[] taskIds,
|
||||
@Param(value = "content") String content) {
|
||||
|
||||
for (String taskId : taskIds) {
|
||||
for (Long taskId : taskIds) {
|
||||
|
||||
ProcessTask task = dao.fetch(ProcessTask.class, taskId);
|
||||
|
||||
|
||||
+1
-1
@@ -116,7 +116,7 @@ public class ProposalFeedbackEvaluationController {
|
||||
@ApiOperation("获取立案信息")
|
||||
public Result caseInfo(@Param("instId") String instId) {
|
||||
ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", instId)
|
||||
.and(ProcessTask::getTaskName, "=", "9846ab38-40c5-4093-bafc-a9b3b443338b")
|
||||
.and(ProcessTask::getTaskName, "=", "committee")
|
||||
.and(ProcessTask::getTaskState, "=", ProcessTaskStateEnum.FINISHED.getCode())
|
||||
.desc(ProcessTask::getCreatedAt)
|
||||
);
|
||||
|
||||
+1
-1
@@ -95,7 +95,7 @@ public class ProposalWriteController {
|
||||
args.set(FlowConst.FORM_DATA, proposalInfo);
|
||||
args.set(FlowConst.TASK_FORM_DATA_PREFIX + "source", proposalInfo.getSource());
|
||||
|
||||
ProcessInstance instance = flowEngine.startProcessInstanceByKey("JDHTA", proposalInfo.getId(), SecurityUtil.getUserId(), args);
|
||||
ProcessInstance instance = flowEngine.startProcessInstanceByKey("JDHTA_NC", proposalInfo.getId(), SecurityUtil.getUserId(), args);
|
||||
|
||||
// 自动完成第一个申请任务
|
||||
List<ProcessTask> doingTaskList = flowEngine.processTaskService().getDoingTaskList(instance.getId(), null);
|
||||
|
||||
+16
-7
@@ -1,6 +1,6 @@
|
||||
package com.budwk.app.zhgh.democratic.proposal.handler;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
import com.budwk.app.base.exception.BaseException;
|
||||
import com.budwk.app.flow.engine.AssignmentHandler;
|
||||
@@ -10,6 +10,7 @@ import com.budwk.app.flow.engine.model.TaskModel;
|
||||
import com.budwk.app.sys.models.Sys_role;
|
||||
import com.budwk.app.sys.models.Sys_user_role;
|
||||
import com.budwk.app.sys.services.SysRoleService;
|
||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalReplyUnit;
|
||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalUndertake;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
@@ -25,15 +26,16 @@ public class ProposalMasterUnitAssignmentHandler implements AssignmentHandler {
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
SysRoleService sysRoleService = ServiceContext.find(SysRoleService.class);
|
||||
|
||||
// 主办单位id
|
||||
String masterUnitId = execution.getArgs().getStr("tf_masterUnitId");
|
||||
// 提案ID
|
||||
String proposalId = execution.getProcessInstance().getBusinessNo();
|
||||
|
||||
if (StrUtil.isBlank(masterUnitId)) {
|
||||
throw new BaseException("请选择主办单位");
|
||||
// 主办单位
|
||||
ProposalReplyUnit masterUnit = dao.fetch(ProposalReplyUnit.class, Cnd.where(ProposalReplyUnit::getProposalId, "=", proposalId).and(ProposalReplyUnit::getIsMaster, "=", 1));
|
||||
if (masterUnit == null) {
|
||||
throw new BaseException("提案没有主办单位");
|
||||
}
|
||||
|
||||
// 获取主办单位
|
||||
ProposalUndertake undertake = dao.fetch(ProposalUndertake.class, masterUnitId);
|
||||
ProposalUndertake undertake = dao.fetch(ProposalUndertake.class, masterUnit.getUnitId());
|
||||
|
||||
if (undertake == null) {
|
||||
throw new BaseException("主办单位不存在");
|
||||
@@ -49,6 +51,13 @@ public class ProposalMasterUnitAssignmentHandler implements AssignmentHandler {
|
||||
throw new BaseException("主办单位没有负责人");
|
||||
}
|
||||
|
||||
|
||||
// 参数
|
||||
Dict args = execution.getArgs();
|
||||
args.set("underTakeName", undertake.getName());
|
||||
args.set("underTakeId", undertake.getId());
|
||||
args.set("underTakeIsMaster",true);
|
||||
|
||||
return selectUserIds;
|
||||
}
|
||||
|
||||
|
||||
+21
-25
@@ -1,5 +1,6 @@
|
||||
package com.budwk.app.zhgh.democratic.proposal.interceptor;
|
||||
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.constant.RoleConstant;
|
||||
@@ -7,6 +8,7 @@ import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.flow.engine.util.FlowUtil;
|
||||
import com.budwk.app.flow.entity.ProcessInstance;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.entity.ProcessTaskActor;
|
||||
@@ -27,38 +29,16 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* 提案委员会立案后置拦截器
|
||||
* 把承办单位单独储存 便于统计
|
||||
*/
|
||||
public class ProposalCaseFilingInterceptor implements FlowInterceptor {
|
||||
@Override
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public void intercept(Execution execution) {
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
SysRoleService sysRoleService = ServiceContext.find(SysRoleService.class);
|
||||
|
||||
// 获取负责人
|
||||
Sys_role sysRole = sysRoleService.getByCode(RoleConstant.PROPOSAL_UNIT_LEADER);
|
||||
|
||||
// 提案ID
|
||||
String proposalId = execution.getProcessInstance().getBusinessNo();
|
||||
|
||||
List<ProcessTask> processTaskList = execution.getProcessTaskList();
|
||||
|
||||
for (ProcessTask task : processTaskList) {
|
||||
NutMap variable = Json.fromJson(NutMap.class, task.getVariable());
|
||||
ProcessTaskActor taskActor = dao.fetch(ProcessTaskActor.class, Cnd.where(ProcessTaskActor::getProcessTaskId, "=", task.getId()));
|
||||
|
||||
// 单位名称
|
||||
|
||||
variable.setv("underTakeName", taskActor.getActorUnitName());
|
||||
variable.setv("underTakeId", taskActor.getActorUnitId());
|
||||
|
||||
// 是否主办
|
||||
variable.setv("isMaster", task.getTaskName().equals("master_reply") || task.getTaskName().equals("opinion_master_reply"));
|
||||
variable.setv("underTakeIsMaster", List.of("master_reply", "opinion_master_reply").contains(task.getTaskName()));
|
||||
|
||||
task.setVariable(Json.toJson(variable));
|
||||
}
|
||||
|
||||
// 立案结果
|
||||
String caseFilingResult = execution.getArgs().getStr(FlowConst.TASK_FORM_DATA_PREFIX + "caseFilingResult");
|
||||
|
||||
@@ -94,7 +74,6 @@ public class ProposalCaseFilingInterceptor implements FlowInterceptor {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 更新立案结果、立案类型
|
||||
ProcessInstance processInstance = execution.getProcessInstance();
|
||||
String businessNo = processInstance.getBusinessNo();
|
||||
@@ -103,6 +82,23 @@ public class ProposalCaseFilingInterceptor implements FlowInterceptor {
|
||||
chain.add("caseFilingType", execution.getArgs().getStr(FlowConst.TASK_FORM_DATA_PREFIX + "caseFilingType"));
|
||||
dao.update(ProposalInfo.class, chain, Cnd.where(ProposalInfo::getId, "=", businessNo));
|
||||
|
||||
dao.update(processTaskList, "variable");
|
||||
|
||||
// 当前任务
|
||||
List<ProcessTask> processTaskList = execution.getProcessTaskList();
|
||||
|
||||
for (ProcessTask task : processTaskList) {
|
||||
// 办理人
|
||||
ProcessTaskActor taskActor = dao.fetch(ProcessTaskActor.class, Cnd.where(ProcessTaskActor::getProcessTaskId, "=", task.getId()));
|
||||
String actorUnitId = taskActor.getActorUnitId();
|
||||
ProposalReplyUnit replyUnit = dao.fetch(ProposalReplyUnit.class, Cnd.where(ProposalReplyUnit::getProposalId, "=", proposalId).and(ProposalReplyUnit::getUnitId, "=", actorUnitId));
|
||||
|
||||
Dict variable = FlowUtil.variableToDict(task.getVariable());
|
||||
variable.set("underTakeName", replyUnit.getUnitName());
|
||||
variable.set("underTakeId", replyUnit.getUnitId());
|
||||
variable.set("underTakeIsMaster", replyUnit.getIsMaster());
|
||||
task.setVariable(Json.toJson(variable));
|
||||
}
|
||||
dao.update(processTaskList,"variable");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
package com.budwk.app.zhgh.democratic.proposal.interceptor;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.budwk.app.base.exception.BaseException;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.entity.ProcessTaskActor;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.json.Json;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 提案反馈评价拦截器
|
||||
*/
|
||||
public class ProposalFeedBackInterceptor implements FlowInterceptor {
|
||||
@Override
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public void intercept(Execution execution) {
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
|
||||
String feedback = execution.getArgs().getStr(FlowConst.TASK_FORM_DATA_PREFIX + "feedback");
|
||||
if (feedback.equals("DISSATISFIED")) {
|
||||
// 不满意
|
||||
List<ProcessTask> processTaskList = execution.getProcessTaskList();
|
||||
for (ProcessTask task : processTaskList) {
|
||||
NutMap variable = Json.fromJson(NutMap.class, task.getVariable());
|
||||
ProcessTaskActor taskActor = dao.fetch(ProcessTaskActor.class, Cnd.where(ProcessTaskActor::getProcessTaskId, "=", task.getId()));
|
||||
|
||||
// 单位名称
|
||||
|
||||
variable.setv("underTakeName", taskActor.getActorUnitName());
|
||||
variable.setv("underTakeId", taskActor.getActorUnitId());
|
||||
|
||||
// 是否主办
|
||||
variable.setv("isMaster", task.getTaskName().equals("master_reply") || task.getTaskName().equals("opinion_master_reply"));
|
||||
variable.setv("underTakeIsMaster", List.of("master_reply", "opinion_master_reply").contains(task.getTaskName()));
|
||||
|
||||
task.setVariable(Json.toJson(variable));
|
||||
}
|
||||
dao.update(processTaskList, "variable");
|
||||
}
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.budwk.app.zhgh.democratic.proposal.interceptor;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.flow.engine.util.FlowUtil;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
|
||||
/**
|
||||
* 提案反馈前拦截器
|
||||
* 不满意的时候需要设置主办单位变量
|
||||
*/
|
||||
public class ProposalFeedBackPreInterceptor implements FlowInterceptor {
|
||||
@Override
|
||||
public void intercept(Execution execution) {
|
||||
String approval = execution.getArgs().get(FlowConst.TASK_FORM_DATA_PREFIX + "feedback", "");
|
||||
if (StrUtil.isNotBlank(approval) && approval.equals("DISSATISFIED")) {
|
||||
// 找到主办单位
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", execution.getProcessInstanceId())
|
||||
.and(ProcessTask::getTaskName, "=", "committee")
|
||||
.and(ProcessTask::getTaskState, "=", ProcessTaskStateEnum.FINISHED.getCode())
|
||||
.desc(ProcessTask::getCreatedAt)
|
||||
);
|
||||
String masterUnitId = FlowUtil.variableToDict(task.getVariable()).getStr(FlowConst.TASK_FORM_DATA_PREFIX + "masterUnitId");
|
||||
execution.getArgs().set(FlowConst.TASK_FORM_DATA_PREFIX + "masterUnitId", masterUnitId);
|
||||
}
|
||||
}
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package com.budwk.app.zhgh.democratic.proposal.interceptor;
|
||||
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.entity.ProcessTaskActor;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.json.Json;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 提案分管领导审批拦截器
|
||||
* 用于设置主办单位任务变量 name、id、isMaster、underTakeIsMaster等等
|
||||
*/
|
||||
public class ProposalFgxldPostInterceptor implements FlowInterceptor {
|
||||
@Override
|
||||
public void intercept(Execution execution) {
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
|
||||
String approval = execution.getArgs().getStr(FlowConst.TASK_FORM_DATA_PREFIX + "approval");
|
||||
if (approval.equals("back")) {
|
||||
// 退回
|
||||
List<ProcessTask> processTaskList = execution.getProcessTaskList();
|
||||
for (ProcessTask task : processTaskList) {
|
||||
NutMap variable = Json.fromJson(NutMap.class, task.getVariable());
|
||||
ProcessTaskActor taskActor = dao.fetch(ProcessTaskActor.class, Cnd.where(ProcessTaskActor::getProcessTaskId, "=", task.getId()));
|
||||
|
||||
// 单位名称
|
||||
|
||||
variable.setv("underTakeName", taskActor.getActorUnitName());
|
||||
variable.setv("underTakeId", taskActor.getActorUnitId());
|
||||
|
||||
// 是否主办
|
||||
variable.setv("isMaster", task.getTaskName().equals("master_reply") || task.getTaskName().equals("opinion_master_reply"));
|
||||
variable.setv("underTakeIsMaster", List.of("master_reply", "opinion_master_reply").contains(task.getTaskName()));
|
||||
|
||||
task.setVariable(Json.toJson(variable));
|
||||
}
|
||||
dao.update(processTaskList, "variable");
|
||||
}
|
||||
}
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.budwk.app.zhgh.democratic.proposal.interceptor;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.flow.engine.util.FlowUtil;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
|
||||
/**
|
||||
* 提案分管领导审批前缀拦截器
|
||||
* 用于设置主办单位变量 tf_masterUnitId
|
||||
*/
|
||||
public class ProposalFgxldPrefixInterceptor implements FlowInterceptor {
|
||||
@Override
|
||||
public void intercept(Execution execution) {
|
||||
String approval = execution.getArgs().get(FlowConst.TASK_FORM_DATA_PREFIX + "approval", "");
|
||||
if (StrUtil.isNotBlank(approval) && approval.equals("back")) {
|
||||
// 找到主办单位
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", execution.getProcessInstanceId())
|
||||
.and(ProcessTask::getTaskName, "=", "committee")
|
||||
.and(ProcessTask::getTaskState, "=", ProcessTaskStateEnum.FINISHED.getCode())
|
||||
.desc(ProcessTask::getCreatedAt)
|
||||
);
|
||||
String masterUnitId = FlowUtil.variableToDict(task.getVariable()).getStr(FlowConst.TASK_FORM_DATA_PREFIX + "masterUnitId");
|
||||
execution.getArgs().set(FlowConst.TASK_FORM_DATA_PREFIX + "masterUnitId", masterUnitId);
|
||||
}
|
||||
}
|
||||
}
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
package com.budwk.app.zhgh.democratic.proposal.interceptor;
|
||||
|
||||
import com.budwk.app.flow.constant.FlowConst;
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 提案分管领导审批拦截器
|
||||
*/
|
||||
@IocBean
|
||||
public class ProposalSchoolLeaderApprovalInterceptor implements FlowInterceptor {
|
||||
@Override
|
||||
public void intercept(Execution execution) {
|
||||
Integer submitType = execution.getArgs().getInt(FlowConst.SUBMIT_TYPE);
|
||||
|
||||
// 退回到承办单位答复 需要设置退回节点及单位ID
|
||||
if (Objects.equals(submitType, ProcessSubmitTypeEnum.JUMP.getCode())) {
|
||||
// execution.getArgs().set(FlowConst.TASK_FORM_DATA_PREFIX + "hostUnitId", "da59e22f2a744a128b4f71c037c8d32e");
|
||||
}
|
||||
}
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
package com.budwk.app.zhgh.democratic.proposal.interceptor;
|
||||
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import com.budwk.app.flow.engine.FlowInterceptor;
|
||||
import com.budwk.app.flow.engine.core.Execution;
|
||||
import com.budwk.app.flow.engine.core.ServiceContext;
|
||||
import com.budwk.app.flow.engine.util.FlowUtil;
|
||||
import com.budwk.app.flow.entity.ProcessTask;
|
||||
import com.budwk.app.flow.entity.ProcessTaskActor;
|
||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalReplyUnit;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.json.Json;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 提案承办单位答复任务设置信息拦截器
|
||||
* 承办单位名称、ID、是否主办等信息
|
||||
*/
|
||||
public class ProposalUnderTakeInfoInterceptor implements FlowInterceptor {
|
||||
@Override
|
||||
public void intercept(Execution execution) {
|
||||
Dao dao = ServiceContext.find(Dao.class);
|
||||
|
||||
// 提案ID
|
||||
String proposalId = execution.getProcessInstance().getBusinessNo();
|
||||
// 当前任务
|
||||
List<ProcessTask> processTaskList = execution.getProcessTaskList();
|
||||
|
||||
for (ProcessTask task : processTaskList) {
|
||||
// 办理人
|
||||
ProcessTaskActor taskActor = dao.fetch(ProcessTaskActor.class, Cnd.where(ProcessTaskActor::getProcessTaskId, "=", task.getId()));
|
||||
String actorUnitId = taskActor.getActorUnitId();
|
||||
ProposalReplyUnit replyUnit = dao.fetch(ProposalReplyUnit.class, Cnd.where(ProposalReplyUnit::getProposalId, "=", proposalId).and(ProposalReplyUnit::getUnitId, "=", actorUnitId));
|
||||
|
||||
Dict variable = FlowUtil.variableToDict(task.getVariable());
|
||||
variable.set("underTakeName", replyUnit.getUnitName());
|
||||
variable.set("underTakeId", replyUnit.getUnitId());
|
||||
variable.set("underTakeIsMaster", replyUnit.getIsMaster());
|
||||
task.setVariable(Json.toJson(variable));
|
||||
}
|
||||
dao.update(processTaskList,"variable");
|
||||
}
|
||||
}
|
||||
+10
@@ -18,6 +18,16 @@ public class ProposalConsolidation extends BaseModel {
|
||||
@Comment("id")
|
||||
private Long id;
|
||||
|
||||
@Column
|
||||
@Comment("分组id")
|
||||
@ColDefine(type = ColType.VARCHAR,width = 32)
|
||||
private Integer groupId;
|
||||
|
||||
@Column
|
||||
@Comment("提案id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String proposalId;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.MYSQL_JSON)
|
||||
@Comment("并案id")
|
||||
|
||||
@@ -16,7 +16,6 @@ public class ProposalUndertake extends BaseModel {
|
||||
@Name
|
||||
@Comment("id")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@PrevInsert(uu32 = true)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.guildhall.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHall;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHallSeat;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.service.GuildHallService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Api("会议厅管理")
|
||||
@IocBean
|
||||
@At("/platform/guildHall")
|
||||
@Ok("json:full")
|
||||
public class GuildHallController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@Inject
|
||||
private GuildHallService guildHallService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("guildHall.management")
|
||||
@Ok("beetl:/platform/zhgh/democratic/teachercongress/guildhall/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.management")
|
||||
@ApiOperation("会议厅列表")
|
||||
public Result pageData(PageForm pageForm) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.asc(GuildHall::getSortCode);
|
||||
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
cnd.where().andLike(GuildHall::getName, pageForm.getSearchKeyword());
|
||||
}
|
||||
Pagination pagination = guildHallService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.management")
|
||||
@SLog(tag = "会议厅", msg = "保存会议厅")
|
||||
@ApiOperation("保存会议厅")
|
||||
public Result save(GuildHall guildHall) {
|
||||
dao.insert(guildHall);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.management")
|
||||
@SLog(tag = "会议厅", msg = "修改会议厅")
|
||||
@ApiOperation("修改会议厅")
|
||||
public Result update(GuildHall guildHall) {
|
||||
dao.update(guildHall);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.management")
|
||||
@SLog(tag = "会议厅", msg = "删除会议厅")
|
||||
@ApiOperation("删除会议厅")
|
||||
public Result delete(String id) {
|
||||
dao.delete(GuildHall.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.management")
|
||||
@ApiOperation("查询会议厅")
|
||||
public Result selectOne(String id) {
|
||||
return Result.success(dao.fetch(GuildHall.class, id));
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.management")
|
||||
@ApiOperation("查询座位")
|
||||
public Result selectSeat(String hallId) {
|
||||
List<GuildHallSeat> list = dao.query(GuildHallSeat.class, Cnd.where(GuildHallSeat::getHallId, "=", hallId)
|
||||
.asc(GuildHallSeat::getRowNumber).asc(GuildHallSeat::getColNumber));
|
||||
|
||||
// 先按行号升序,再按列号升序
|
||||
|
||||
return Result.success(list);
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.management")
|
||||
@ApiOperation("保存座位")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result saveSeat(String hallId, @Param("seats") GuildHallSeat[] seats) {
|
||||
dao.clear(GuildHallSeat.class, Cnd.where(GuildHallSeat::getHallId, "=", hallId));
|
||||
for (GuildHallSeat seat : seats) {
|
||||
seat.setHallId(hallId);
|
||||
}
|
||||
dao.insert(seats);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.guildhall.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.budwk.app.base.annotation.SLog;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.param.PageForm;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHallMeeting;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.service.GuildHallMeetingService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
|
||||
@Api("会议厅会议")
|
||||
@IocBean
|
||||
@At("/platform/guildHall/meeting")
|
||||
@Ok("json:full")
|
||||
public class GuildHallMeetingController {
|
||||
|
||||
@Inject
|
||||
private Dao dao;
|
||||
|
||||
@Inject
|
||||
private GuildHallMeetingService guildHallMeetingService;
|
||||
|
||||
@At("")
|
||||
@SaCheckPermission("guildHall.meeting")
|
||||
@Ok("beetl:/platform/zhgh/democratic/teachercongress/guildhall/meeting/index.html")
|
||||
public void index() {
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.meeting")
|
||||
@ApiOperation("会议厅会议列表")
|
||||
public Result pageData(PageForm pageForm, Integer year) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX(GuildHallMeeting::getYear, "=", year);
|
||||
cnd.desc(GuildHallMeeting::getStartTime);
|
||||
Pagination pagination = guildHallMeetingService.listPage(pageForm.getPageNumber(), pageForm.getPageSize(), cnd);
|
||||
return Result.success(pagination);
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.meeting")
|
||||
@SLog(tag = "会议厅会议", msg = "保存会议厅会议")
|
||||
@ApiOperation("保存会议厅会议")
|
||||
public Result save(GuildHallMeeting meeting) {
|
||||
dao.insert(meeting);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.meeting")
|
||||
@SLog(tag = "会议厅会议", msg = "修改会议厅会议")
|
||||
@ApiOperation("修改会议厅会议")
|
||||
public Result update(GuildHallMeeting meeting) {
|
||||
dao.update(meeting);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@At
|
||||
@SaCheckPermission("guildHall.meeting")
|
||||
@SLog(tag = "会议厅会议", msg = "删除会议厅会议")
|
||||
@ApiOperation("删除会议厅会议")
|
||||
public Result delete(String id) {
|
||||
dao.delete(GuildHallMeeting.class, id);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.guildhall.models;
|
||||
|
||||
import com.budwk.app.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Table("guild_hall")
|
||||
@TableMeta("{'mysql-charset':'utf8mb4'}")
|
||||
@Comment("会议厅")
|
||||
@Accessors(chain = true)
|
||||
public class GuildHall extends BaseModel {
|
||||
|
||||
@Name
|
||||
@PrevInsert(uu32 = true)
|
||||
@Comment("ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String name;
|
||||
|
||||
@Column
|
||||
@Comment("地址")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String address;
|
||||
|
||||
@Column
|
||||
@Comment("封面")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 255)
|
||||
private String cover;
|
||||
|
||||
@Column
|
||||
@Comment("排序字段")
|
||||
@ColDefine(type = ColType.INT)
|
||||
@Default(value = "0")
|
||||
private Integer sortCode;
|
||||
|
||||
@Column
|
||||
@Comment("是否启用")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
@Default("1")
|
||||
private Boolean enabled;
|
||||
|
||||
@Column
|
||||
@Comment("描述")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String introduce;
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.guildhall.models;
|
||||
|
||||
import com.budwk.app.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Table("guild_hall_meeting")
|
||||
@TableMeta("{'mysql-charset':'utf8mb4'}")
|
||||
@Comment("会厅会议")
|
||||
@Accessors(chain = true)
|
||||
public class GuildHallMeeting extends BaseModel {
|
||||
|
||||
@Name
|
||||
@PrevInsert(uu32 = true)
|
||||
@Comment("ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 100)
|
||||
private String name;
|
||||
|
||||
@Column
|
||||
@Comment("年份")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer year;
|
||||
|
||||
@Column
|
||||
@Comment("开始时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
@NotNull(message = "开始时间不能为空")
|
||||
private Date startTime;
|
||||
|
||||
@Column
|
||||
@Comment("结束时间")
|
||||
@ColDefine(type = ColType.DATETIME)
|
||||
@NotNull(message = "开始时间不能为空")
|
||||
private Date endTime;
|
||||
|
||||
@Column
|
||||
@Comment("内容")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String content;
|
||||
|
||||
@Column
|
||||
@Comment("参与活动组别")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer groupId;
|
||||
|
||||
}
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.guildhall.models;
|
||||
|
||||
import com.budwk.app.base.model.BaseModel;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
import org.nutz.dao.interceptor.annotation.PrevInsert;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Table("guild_hall_seat")
|
||||
@TableMeta("{'mysql-charset':'utf8mb4'}")
|
||||
@Comment("会议厅座位")
|
||||
@Accessors(chain = true)
|
||||
@TableIndexes(value = {
|
||||
@Index(name = "INDEX_GUILD_HALL_SEAT_HALL_ID", fields = "hallId",unique = false)
|
||||
})
|
||||
public class GuildHallSeat extends BaseModel {
|
||||
|
||||
@Name
|
||||
@PrevInsert(uu32 = true)
|
||||
@Comment("ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("会议厅ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String hallId;
|
||||
|
||||
@Column
|
||||
@Comment("排号")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer rowNumber;
|
||||
|
||||
@Column
|
||||
@Comment("列号")
|
||||
@ColDefine(type = ColType.INT)
|
||||
private Integer colNumber;
|
||||
|
||||
@Column
|
||||
@Comment("是否启用")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
@Default("1")
|
||||
private Boolean enable;
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.guildhall.service;
|
||||
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHallMeeting;
|
||||
|
||||
public interface GuildHallMeetingService extends BaseService<GuildHallMeeting> {
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.guildhall.service;
|
||||
|
||||
import com.budwk.app.base.service.BaseService;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHall;
|
||||
|
||||
public interface GuildHallService extends BaseService<GuildHall> {
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.guildhall.service.impl;
|
||||
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHallMeeting;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.service.GuildHallMeetingService;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class GuildHallMeetingServiceImpl extends BaseServiceImpl<GuildHallMeeting> implements GuildHallMeetingService {
|
||||
public GuildHallMeetingServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.budwk.app.zhgh.democratic.teachercongress.guildhall.service.impl;
|
||||
|
||||
import com.budwk.app.base.service.impl.BaseServiceImpl;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.models.GuildHall;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.guildhall.service.GuildHallService;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
|
||||
@IocBean(args = {"refer:dao"})
|
||||
public class GuildHallServiceImpl extends BaseServiceImpl<GuildHall> implements GuildHallService {
|
||||
public GuildHallServiceImpl(Dao dao) {
|
||||
super(dao);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user