commit
This commit is contained in:
+26
-25
@@ -153,39 +153,40 @@ public class ProposalCommitteeFilingController {
|
||||
@SaCheckPermission("proposal.committeeFiling")
|
||||
@ApiOperation("并案撤回")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result revokeTask(@Valid String taskId) {
|
||||
public Result revokeTask(@Valid Long taskId) {
|
||||
ProcessTask processTask = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getId, "=", taskId));
|
||||
|
||||
NutMap json = Json.fromJson(NutMap.class, processTask.getVariable());
|
||||
|
||||
List<String> proposalIds = json.getList("proposalIds", String.class);
|
||||
if (!proposalIds.isEmpty()){
|
||||
dao.clear(ProposalMerge.class, Cnd.where(ProposalMerge::getProposalId, "in", proposalIds));
|
||||
List<String> processTaskIds = json.getList("processTaskIds", String.class);
|
||||
processTaskIds.forEach(processTaskId -> {
|
||||
// 自己任务
|
||||
ProcessTask selfTask = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getId, "=", processTaskId));
|
||||
selfTask.setTaskState(ProcessTaskStateEnum.DOING.getCode());
|
||||
|
||||
dao.clear(ProposalMerge.class, Cnd.where(ProposalMerge::getProposalId, "in", proposalIds));
|
||||
// 撤销任务
|
||||
List<ProcessTask> taskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getTaskParentId, "=", processTaskId));
|
||||
for (ProcessTask task : taskList) {
|
||||
task.setTaskState(ProcessTaskStateEnum.WITHDRAW.getCode());
|
||||
dao.update(task);
|
||||
}
|
||||
// 激活
|
||||
dao.update(selfTask);
|
||||
|
||||
// 流程激活
|
||||
dao.update(ProcessInstance.class, Chain.make("state", ProcessInstanceStateEnum.DOING.getCode()), Cnd.where(ProcessInstance::getId, "=", selfTask.getProcessInstanceId()));
|
||||
|
||||
List<String> processTaskIds = json.getList("processTaskIds", String.class);
|
||||
processTaskIds.forEach(processTaskId -> {
|
||||
// 自己任务
|
||||
ProcessTask selfTask = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getId, "=", processTaskId));
|
||||
selfTask.setTaskState(ProcessTaskStateEnum.DOING.getCode());
|
||||
|
||||
// 撤销任务
|
||||
List<ProcessTask> taskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getTaskParentId, "=", processTaskId));
|
||||
for (ProcessTask task : taskList) {
|
||||
task.setTaskState(ProcessTaskStateEnum.WITHDRAW.getCode());
|
||||
dao.update(task);
|
||||
}
|
||||
// 激活
|
||||
dao.update(selfTask);
|
||||
|
||||
// 流程激活
|
||||
dao.update(ProcessInstance.class, Chain.make("state", ProcessInstanceStateEnum.DOING.getCode()), Cnd.where(ProcessInstance::getId, "=", selfTask.getProcessInstanceId()));
|
||||
|
||||
// 发送任务撤回事件 确保上面执行成功
|
||||
for (ProcessTask task : taskList) {
|
||||
ProcessPublisher.notify(ProcessEvent.builder().eventType(ProcessEventTypeEnum.PROCESS_TASK_REVOKE).sourceId(task.getId()).build());
|
||||
}
|
||||
});
|
||||
// 发送任务撤回事件 确保上面执行成功
|
||||
for (ProcessTask task : taskList) {
|
||||
ProcessPublisher.notify(ProcessEvent.builder().eventType(ProcessEventTypeEnum.PROCESS_TASK_REVOKE).sourceId(task.getId()).build());
|
||||
}
|
||||
});
|
||||
}else{
|
||||
flowCommonService.revokeTask(taskId);
|
||||
}
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
+15
-9
@@ -231,23 +231,29 @@ public class ProposalCommitteeFilingUnitController {
|
||||
|
||||
@At
|
||||
@SaCheckPermission("proposal.committeeFilingUnit")
|
||||
@ApiOperation("并案撤回")
|
||||
@ApiOperation("撤回")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result revokeTask(@Valid String taskId) {
|
||||
public Result revokeTask(@Valid Long taskId, String proposalId) {
|
||||
ProcessTask processTask = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getId, "=", taskId));
|
||||
|
||||
NutMap json = Json.fromJson(NutMap.class, processTask.getVariable());
|
||||
|
||||
List<String> proposalIds = json.getList("proposalIds", String.class);
|
||||
if (!proposalIds.isEmpty()) {
|
||||
List<ProcessInstance> list = dao.query(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", proposalIds));
|
||||
List<Long> list1 = list.stream().map(ProcessInstance::getId).toList();
|
||||
for (Long id : list1) {
|
||||
ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", id).and(ProcessTask::getTaskState, "=", 20).limit(1).desc(ProcessTask::getId));
|
||||
flowCommonService.revokeTask(task.getId());
|
||||
}
|
||||
dao.update(ProposalInfo.class, Chain.make("caseFilingResult", null), Cnd.where(ProposalInfo::getId, "in", proposalIds));
|
||||
} else {
|
||||
flowCommonService.revokeTask(taskId);
|
||||
dao.update(ProposalInfo.class, Chain.make("caseFilingResult", null), Cnd.where(ProposalInfo::getId, "=", proposalId));
|
||||
|
||||
List<ProcessInstance> list = dao.query(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", proposalIds));
|
||||
List<Long> list1 = list.stream().map(ProcessInstance::getId).toList();
|
||||
|
||||
for (Long id : list1) {
|
||||
ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", id).and(ProcessTask::getTaskState,"=", 20).limit(1).desc(ProcessTask::getId));
|
||||
flowCommonService.revokeTask(task.getId());
|
||||
}
|
||||
dao.update(ProposalInfo.class, Chain.make("caseFilingResult", null), Cnd.where(ProposalInfo::getId, "in", proposalIds));
|
||||
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
+13
-8
@@ -105,7 +105,7 @@ public class ProposalUnderTakeReplyController {
|
||||
t.variable taskVariable,
|
||||
IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName,
|
||||
IFNULL(GROUP_CONCAT(DISTINCT nt.taskName),'结束') curTaskKey,
|
||||
IF(rt.id IS NOT NULL, 1, 0) AS canRevoke,
|
||||
CASE WHEN t.taskState = 20 AND ( rt.id IS NOT NULL OR rt.taskState = 10 ) THEN 1 ELSE 0 END AS canRevoke,
|
||||
t.variable->>'$.underTakeName' AS underTakeName,
|
||||
IF(JSON_EXTRACT(t.variable, '$.underTakeIsMaster') = true, 1, 0) AS underTakeIsMaster,
|
||||
t.variable->>'$.tf_transferUserId' AS tf_transferUserId,
|
||||
@@ -243,17 +243,22 @@ public class ProposalUnderTakeReplyController {
|
||||
@SaCheckPermission("proposal.unitReply")
|
||||
@ApiOperation("并案撤回")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result revokeTask(@Valid String taskId, String proposalId) {
|
||||
public Result revokeTask(@Valid Long taskId, String proposalId) {
|
||||
|
||||
List<String> proposalIds = proposalCommonService.mergeProposal(proposalId);
|
||||
if (ObjectUtil.isNotEmpty(proposalIds)){
|
||||
List<ProcessInstance> list = dao.query(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", proposalIds));
|
||||
List<Long> list1 = list.stream().map(ProcessInstance::getId).toList();
|
||||
|
||||
List<ProcessInstance> list = dao.query(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", proposalIds));
|
||||
List<Long> list1 = list.stream().map(ProcessInstance::getId).toList();
|
||||
|
||||
for (Long id : list1) {
|
||||
ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", id).and(ProcessTask::getTaskState,"=", 20).limit(1).desc(ProcessTask::getId));
|
||||
flowCommonService.revokeTask(task.getId());
|
||||
for (Long id : list1) {
|
||||
ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", id).and(ProcessTask::getTaskState,"=", 20).limit(1).desc(ProcessTask::getId));
|
||||
flowCommonService.revokeTask(task.getId());
|
||||
}
|
||||
}else{
|
||||
flowCommonService.revokeTask(taskId);
|
||||
}
|
||||
|
||||
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
+11
-4
@@ -23,12 +23,10 @@ import com.budwk.app.sys.models.Sys_user;
|
||||
import com.budwk.app.sys.models.Sys_user_role;
|
||||
import com.budwk.app.sys.services.SysDictService;
|
||||
import com.budwk.app.sys.services.SysRoleService;
|
||||
import com.budwk.app.web.commons.auth.utils.AuthUtil;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.web.commons.base.Globals;
|
||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalConsolidation;
|
||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalInfo;
|
||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalMerge;
|
||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalUndertake;
|
||||
import com.budwk.app.zhgh.democratic.proposal.models.*;
|
||||
import com.budwk.app.zhgh.democratic.teachercongress.prepare.models.Teacher_congress_session;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
@@ -143,6 +141,15 @@ public class ProposalCommonServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
||||
List<NutMap> commissionerOpinions = listMap(commissionerSql);
|
||||
info.put("commissionerOpinions", commissionerOpinions);
|
||||
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and(ProposalUndertakeSuggestion::getProposalId, "=", id);
|
||||
if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) {
|
||||
cnd.and(ProposalUndertakeSuggestion::getUnitId, "=", getSelfManageUndertake().getId());
|
||||
}
|
||||
cnd.desc(ProposalUndertakeSuggestion::getTime);
|
||||
List<ProposalUndertakeSuggestion> undertakeSuggestions = dao().query(ProposalUndertakeSuggestion.class, cnd);
|
||||
info.put("undertakeSuggestions", undertakeSuggestions);
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
@@ -100,6 +100,27 @@ const PROPOSAL_INFO = {
|
||||
</el-table>
|
||||
</template>
|
||||
|
||||
|
||||
<template v-if="viewData.undertakeSuggestions&&viewData.undertakeSuggestions.length>0">
|
||||
<div class="process-title">
|
||||
承办单位意见
|
||||
</div>
|
||||
<template v-for="item,index in viewData.undertakeSuggestions">
|
||||
<div class="process-title">
|
||||
{{item.unitName}}-意见{{ index + 1 }}
|
||||
</div>
|
||||
<el-descriptions :column="2" border>
|
||||
<el-descriptions-item label="反馈人">{{ item.userName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="所属单位">{{ item.unitName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="反馈时间">{{ item.time }}</el-descriptions-item>
|
||||
<el-descriptions-item label="反馈结果">{{ item.result }}</el-descriptions-item>
|
||||
<el-descriptions-item label="反馈意见">
|
||||
<span v-html="item.opinion"></span>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<el-dialog title="提案详情" :visible.sync="viewDialogVisible" width="1200px" append-to-body top="5vh">
|
||||
<div style="max-height: 80vh;overflow-y: auto">
|
||||
<proposal-info ref="infoDialogRef"></proposal-info>
|
||||
|
||||
+4
-1
@@ -264,7 +264,10 @@ layout("/layouts/platform.html"){
|
||||
cancelButtonText: "取消",
|
||||
type: "info"
|
||||
}).then(() => {
|
||||
this.$axios.post("/platform/proposal/committeeFilingUnit/revokeTask", {taskId: row.taskId}).then((res) => {
|
||||
this.$axios.post("/platform/proposal/committeeFilingUnit/revokeTask", {
|
||||
taskId: row.taskId,
|
||||
proposalId: row.proposalId
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.doSearch()
|
||||
|
||||
Reference in New Issue
Block a user