blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,45 @@ package org.springblade.mdm.flow.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.TaskService; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.support.Kv; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringUtil; import org.springblade.flow.core.pojo.entity.BladeFlow; import org.springblade.mdm.flow.service.FlowBusinessService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Map; @Slf4j @RestController @RequestMapping("/flow/mgr") @Tag(name = "æµç¨ç®¡ç", description = "æµç¨ç®¡ç") public class FlowMgrController { @Autowired private TaskService taskService; @Autowired private FlowBusinessService businessService; /** * å¾ åä»»å¡å表页 */ @GetMapping("overtime-list") @ApiOperationSupport(order = 3) @Operation(summary = "è¶ æ¶æ¥è¯¢", description = "æ¥è¯¢ææè¶ æ¶ä»»å¡") public R<IPage<BladeFlow>> todoList(@Parameter(description = "æ§è¡äººå") String assigneeName, @Parameter(description = "å ³é®å") String keyword, Query query) { IPage<BladeFlow> pages = businessService.selectOvertimePage(Condition.getPage(query), assigneeName,keyword); return R.data(pages); } } blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java
@@ -25,7 +25,7 @@ @Slf4j @RestController @RequestMapping("/flow/") @Tag(name = "派工æµç¨", description = "派工æµç¨") @Tag(name = "ç¨æ·ä¸ªäººæµç¨", description = "ç¨æ·ä¸ªäººæµç¨") public class MyFlowController { @Autowired private TaskService taskService; blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
@@ -48,6 +48,7 @@ import org.springblade.mdm.flow.util.MdmFlowCache; import org.springframework.stereotype.Service; import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -382,4 +383,52 @@ page.setRecords(flowList); return page; } /** * è¶ æ¶ä»»å¡æ¥è¯¢ * @param page * @param keyword * @return */ public IPage<BladeFlow> selectOvertimePage(IPage<BladeFlow> page, String assigneeName,String keyword) { List<BladeFlow> flowList = new LinkedList<>(); Date now = new Date(); TaskQuery todoQuery = taskService.createTaskQuery().taskDueBefore(now).active().includeProcessVariables(); if(Func.isNotEmpty(keyword)) { todoQuery.taskVariableValueLike("assigneeName", "%"+assigneeName+"%"); } if(Func.isNotEmpty(keyword)){ todoQuery.or(); keyword = "%"+keyword+"%"; todoQuery.processVariableValueLike("processNo",keyword); todoQuery.processVariableValueLike("machineCode",keyword); todoQuery.processVariableValueLike("machineMode",keyword); todoQuery.processVariableValueLike("processName",keyword); todoQuery.processVariableValueLike("processEdition",keyword); todoQuery.processVariableValueLike("craftEdition",keyword); //TODO å¤ä¸ªå段é½è¦å¹é todoQuery.endOr(); } todoQuery.orderByTaskCreateTime().desc(); // æå»ºåè¡¨æ°æ® BladeFlow bladeFlow = new BladeFlow(); buildFlowTaskList(bladeFlow, flowList, todoQuery, "todo");//FlowEngineConstant.STATUS_TODO // è®¡ç®æ»æ° long count = todoQuery.count(); // è®¾ç½®é¡µæ° page.setSize(count); // è®¾ç½®æ»æ° page.setTotal(count); // è®¾ç½®æ°æ® page.setRecords(flowList); return page; } }