feat: 重新发送指定日期内的所有已办接口

This commit is contained in:
2024-09-20 11:59:56 +08:00
parent 01c27425e5
commit ed0ad26eb3
4 changed files with 64 additions and 1 deletions
@@ -170,6 +170,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/srms/syncPartData", "anon");
// PDM获取零部件号绑定的法规数据
filterChainDefinitionMap.put("/srms/bindPartStandardInfo", "anon");
filterChainDefinitionMap.put("/oldSystem/sendDoneTask", "anon");
// 添加自己的过滤器并且取名为jwt
Map<String, Filter> filterMap = new HashMap<>(1);
@@ -225,5 +225,13 @@ public class OldSystemController {
return Result.OK(oldSystemDeptRelationService.gbSplitStatusDataFix());
}
@GetMapping("/sendDoneTask")
@AutoLog(value = "老法规系统-重新发送指定日期内的所有已办")
@ApiOperation(value="老法规系统-重新发送指定日期内的所有已办", notes="老法规系统-重新发送指定日期内的所有已办")
@ApiOperationSupport(order = 100)
public Result<?> sendDoneTask(@RequestParam(value = "endTime", required = false) String endTime,
@RequestParam(value = "taskId", required = false) String taskId,
@RequestParam(value = "id", required = false) String id) {
return Result.OK(oldSystemDeptRelationService.sendDoneTask(endTime, taskId, id));
}
}
@@ -26,4 +26,6 @@ public interface OldSystemDepartRelationService extends IService<OldSystemDepart
String fbAuthDeptDataFix();
String gbSplitStatusDataFix();
String sendDoneTask(String endTime, String taskID, String id);
}
@@ -1,16 +1,22 @@
package com.jero.modules.laws.oldSystem.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.PushWorkflowIntegrationAPI;
import com.jero.common.api.dto.message.HiworkTodoAdd;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.common.util.MessageUtils;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.util.SpringContextUtil;
import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo;
import com.jero.modules.laws.documenttool.service.IDocumentSplitService;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardAuthDept;
@@ -29,6 +35,8 @@ import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.service.ISysDepartService;
import lombok.Cleanup;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.HistoryService;
import org.activiti.engine.TaskService;
import org.apache.poi.ss.usermodel.Workbook;
import org.jeecgframework.poi.excel.ExcelExportUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -83,6 +91,15 @@ public class OldSystemDepartRelationServiceImpl extends ServiceImpl<OldSystemDep
@Resource
private ILawsDomesticStandardService gbService;
@Resource
private ProcessApprovalRecordService prService;
@Resource
private TaskService taskService;
@Resource
private HistoryService historyService;
@Override
public void importDepartRelationData(MultipartFile file, HttpServletResponse response) {
List<OldSystemDepartRelation> errImportList = new ArrayList<>();
@@ -413,6 +430,41 @@ public class OldSystemDepartRelationServiceImpl extends ServiceImpl<OldSystemDep
return "处理完成";
}
@Override
public String sendDoneTask(String endTime, String taskID, String id) {
LambdaQueryWrapper<ProcessApprovalRecord> recordWrapper = new LambdaQueryWrapper<>();
recordWrapper.eq(ProcessApprovalRecord::getFinishFlag, 2);
// recordWrapper.ge(ProcessApprovalRecord::getEndTime, "2024-09-19 20:00:00");
recordWrapper.ge(StrUtil.isNotBlank(endTime), ProcessApprovalRecord::getEndTime, endTime);
recordWrapper.eq(StrUtil.isNotBlank(taskID) ,ProcessApprovalRecord::getTaskId, taskID);
recordWrapper.eq(StrUtil.isNotBlank(id), ProcessApprovalRecord::getId, id);
List<ProcessApprovalRecord> approvalRecordList = prService.list(recordWrapper);
log.info("待发送完成任务记录条数为:{}", approvalRecordList.size());
// 对接统一平台生成完成任务
PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class);
List<HiworkTodoAdd> list = new ArrayList<>();
for (ProcessApprovalRecord approvalRecord : approvalRecordList) {
taskService.deleteTask(approvalRecord.getTaskId());
// 通过 taskId 查询历史流程实例,获取流程定义 ID
String processInstanceId = historyService.createHistoricTaskInstanceQuery()
.taskId(approvalRecord.getTaskId())
.singleResult()
.getProcessInstanceId();
String processDefinitionId = historyService.createHistoricProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult()
.getProcessDefinitionId();
HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd();
hiworkTodoAdd.setRecordId(approvalRecord.getId());
hiworkTodoAdd.setProcessDefinitionId(processDefinitionId);
list.add(hiworkTodoAdd);
}
pushWorkflowIntegrationAPI.sendTodoTask(list);
return "处理完成";
}
}