yangys
2025-07-23 46929f181707162f21eb6e7735350969097fe21d
增加字典查询接口
已修改4个文件
83 ■■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/MdmSystemController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
@@ -107,16 +107,24 @@
    @GetMapping("search-list")
    @ApiOperationSupport(order = 3)
    @Operation(summary = "流程查询", description = "查询进行中的所有流程")
    public R<IPage<FlowVO>> overtimeList(@Parameter(description = "任务到达时间开始") LocalDate createTimeBegin, @Parameter(description = "任务到达时间截止")LocalDate createTimeEnd, @Parameter(description = "关键字") String keyword, Query query) {
    public R<IPage<FlowVO>> searchList(@Parameter(description = "任务到达时间开始") LocalDate createTimeBegin, @Parameter(description = "任务到达时间截止")LocalDate createTimeEnd, @Parameter(description = "关键字") String keyword, Query query) {
        IPage<FlowVO> pages = businessService.selectSearchPage(Condition.getPage(query), createTimeBegin,createTimeEnd,keyword);
        return R.data(pages);
    }
    @GetMapping("finished-list")
    @ApiOperationSupport(order = 3)
    @Operation(summary = "历史流程查询", description = "查询已完结的所有流程")
    public R<IPage<FlowVO>> finishedList(@Parameter(description = "流程类型")String processDefinitionKey,@Parameter(description = "任务到达时间开始") LocalDate createTimeBegin, @Parameter(description = "任务到达时间截止")LocalDate createTimeEnd, @Parameter(description = "关键字") String keyword, Query query) {
        IPage<FlowVO> pages = businessService.selectFinishedPage(Condition.getPage(query), processDefinitionKey,createTimeBegin,createTimeEnd,keyword);
        return R.data(pages);
    }
    @PostMapping("delete-instance")
    @Operation(summary = "流程删除", description = "删除id指定的流程实例")
    public R<Void> deleteInstance(@Parameter(description = "任务到达时间开始") String processInstancesId) {
    public R<Void> deleteInstance(@Parameter(description = "任务到达时间开始") String processInstanceId) {
        try {
            businessService.deleteProcessInstance(processInstancesId);
            businessService.deleteProcessInstance(processInstanceId);
        } catch (Exception e) {
            log.error("删除流程失败",e);
@@ -137,7 +145,7 @@
            response.setContentType("application/octet-stream");
            approveTableService.exportApproveTable(processInstanceId,response.getOutputStream());
        } catch (Exception e) {
            log.error("导出DNC异常", e);
            log.error("导出审批表异常", e);
            throw new RuntimeException(e);
        }
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ApproveTableService.java
@@ -69,6 +69,9 @@
        List<ApproveRecord> records = approveRecordService.lambdaQuery().eq(ApproveRecord::getProcessInstanceId, processInstanceId).orderByAsc(ApproveRecord::getCreateTime).list();
        for(int i=0;i<records.size();i++){
            ApproveRecord record = records.get(i);
            if(record.getNcProgramId() ==null){
                continue;
            }
            printStep(document,bfChinese,record);
            if(i<records.size()-1){
                document.newPage();
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
@@ -7,6 +7,7 @@
import org.flowable.engine.RuntimeService;
import org.flowable.engine.TaskService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.history.HistoricProcessInstanceQuery;
import org.flowable.engine.task.Comment;
import org.flowable.task.api.Task;
import org.flowable.task.api.TaskQuery;
@@ -80,7 +81,7 @@
        // 构建列表数据
        FlowVO bladeFlow = new FlowVO();
        buildFlowTaskList(bladeFlow, flowList, todoQuery);//FlowEngineConstant.STATUS_TODO , "todo"
        buildFlowTaskList(bladeFlow, flowList, todoQuery);
        flowList.forEach(flowVO -> {
            if(flowVO.getVariables().containsKey("machineCode")){
                //Machine machinemachineService.getByCode((String)flowVO.getVariables().get("machineCode"))
@@ -89,7 +90,7 @@
        // 计算总数
        long count = todoQuery.count();
        // 设置页数
        page.setSize(count);
        //page.setSize(count);
        // 设置总数
        page.setTotal(count);
        // 设置数据
@@ -376,7 +377,7 @@
        // 计算总数
        long count = todoQuery.count();
        // 设置页数
        page.setSize(count);
        //page.setSize(count);
        // 设置总数
        page.setTotal(count);
        // 设置数据
@@ -468,4 +469,51 @@
        runtimeService.deleteProcessInstance(processInstancesId, "流程查询-删除");
        //TODO 删除出关联字段
    }
    /**
     * 已完结的流程分页列表
     * @param page
     * @param createTimeBegin
     * @param createTimeEnd
     * @param keyword
     * @return
     */
    public IPage<FlowVO> selectFinishedPage(IPage<FlowVO> page, String processDefinitionKey,LocalDate createTimeBegin, LocalDate createTimeEnd, String keyword) {
        HistoricProcessInstanceQuery query = this.historyService.createHistoricProcessInstanceQuery().includeProcessVariables();
            //.finished() // 只查询已完成的流程.unfinished() // 查询未完成的流程
        if(Func.isNotEmpty(processDefinitionKey)) {
            query.processDefinitionKey(processDefinitionKey);
        }
        if(createTimeBegin!=null) {
            query.startedAfter(DateUtil.toDate(createTimeBegin));
        }
        if(createTimeEnd!=null) {
            query.startedBefore(DateUtil.toDate(createTimeEnd));
        }
        query.orderByProcessInstanceEndTime().desc(); // 按结束时间降序排列
        page.setTotal(query.count());
        long firstResult = (page.getCurrent()-1) * page.getSize() + 1;
        List<HistoricProcessInstance> processes = query
            .listPage((int)firstResult, (int)page.getSize());
        List<FlowVO> records = new LinkedList<>();
        for(HistoricProcessInstance processInstance : processes) {
            FlowVO vo = new FlowVO();
            vo.setProcessDefinitionKey(processInstance.getProcessDefinitionKey());
            vo.setProcessInstanceId(processInstance.getId());
            vo.setProcessDefinitionName(processInstance.getProcessDefinitionName());
            vo.setVariables(processInstance.getProcessVariables());
            vo.setProcessCreateTime(processInstance.getStartTime());
            vo.setHistoryTaskEndTime(processInstance.getEndTime());
            records.add(vo);
        }
        page.setRecords(records);
        return page;
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/MdmSystemController.java
@@ -9,8 +9,10 @@
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.pojo.entity.Dept;
import org.springblade.system.pojo.entity.Dict;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@@ -31,7 +33,7 @@
@Slf4j
public class MdmSystemController {
    private final ISysClient sysClient;
    private final IDictClient dictClient;
    @GetMapping("/dept/lazy-list")
    @ApiOperationSupport(order = 2)
    @Operation(summary = "懒加载部门列表")
@@ -46,4 +48,10 @@
        }
    }
    @Operation(summary = "字典列表")
    @GetMapping("/dict/dictionary")
    public R<List<Dict>> dictionary(@Parameter(description = "字典编码") String code) {
        return dictClient.getList(code);
    }
}