| | |
| | | package org.sxkj.gd.workorder.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
| | | import lombok.AllArgsConstructor; |
| | | import javax.validation.Valid; |
| | | |
| | | import org.springblade.core.secure.BladeUser; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.excel.util.ExcelUtil; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.secure.BladeUser; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.core.tool.constant.BladeConstant; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.sxkj.gd.workorder.entity.GdWorkOrderFlowEntity; |
| | | import org.sxkj.gd.workorder.excel.GdWorkOrderFlowExcel; |
| | | import org.sxkj.gd.workorder.service.IGdWorkOrderFlowService; |
| | | import org.sxkj.gd.workorder.vo.GdWorkOrderFlowVO; |
| | | import org.sxkj.gd.workorder.vo.WorkOrderStageVO; |
| | | import org.sxkj.gd.workorder.excel.GdWorkOrderFlowExcel; |
| | | import org.sxkj.gd.workorder.wrapper.GdWorkOrderFlowWrapper; |
| | | import org.sxkj.gd.workorder.service.IGdWorkOrderFlowService; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springblade.core.excel.util.ExcelUtil; |
| | | import org.springblade.core.tool.constant.BladeConstant; |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | | import java.util.Map; |
| | | import java.util.List; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 流程记录表 控制器 |
| | |
| | | @ApiOperationSupport(order = 2) |
| | | @ApiOperation(value = "工单流程列表", notes = "传入gdWorkOrderFlow") |
| | | public R<List<WorkOrderStageVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdWorkOrderFlow) { |
| | | // 手动构建查询条件,避免 Long 类型字段使用 LIKE 导致 Kingbase8 类型错误 |
| | | QueryWrapper<GdWorkOrderFlowEntity> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.lambda().eq(GdWorkOrderFlowEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); |
| | | |
| | | // 处理 workOrderId (Long 类型,使用 EQ 而非 LIKE) |
| | | Object workOrderId = gdWorkOrderFlow.get("workOrderId"); |
| | | if (workOrderId != null && !"".equals(workOrderId.toString())) { |
| | | queryWrapper.lambda().eq(GdWorkOrderFlowEntity::getWorkOrderId, Long.parseLong(workOrderId.toString())); |
| | | } |
| | | |
| | | // 处理 type 字段 (String 类型,可以使用 LIKE) |
| | | Object type = gdWorkOrderFlow.get("type"); |
| | | if (type != null && !"".equals(type.toString())) { |
| | | queryWrapper.lambda().like(GdWorkOrderFlowEntity::getType, type.toString()); |
| | | } |
| | | queryWrapper.lambda().orderByDesc(GdWorkOrderFlowEntity::getCreateTime); |
| | | // 调用服务层方法获取分层结构的流程数据 |
| | | List<WorkOrderStageVO> stages = gdWorkOrderFlowService.getHierarchicalFlow(Condition.getQueryWrapper(gdWorkOrderFlow, GdWorkOrderFlowEntity.class)); |
| | | List<WorkOrderStageVO> stages = gdWorkOrderFlowService.getHierarchicalFlow(queryWrapper); |
| | | |
| | | return R.data(stages); |
| | | } |