From 199dbb1383a20cde3630df633fdf3c4eac45aab9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E5=AE=8F=E7=A5=A5?= <14281818+xue-hongxiang@user.noreply.gitee.com> Date: Fri, 3 Jan 2025 15:08:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contraller/MaintenanceController.java | 3 +- .../contraller/WorkOrderController.java | 27 ++++++- .../pojo/dto/workorder/WorkOrderDTO.java | 73 ++++++++++--------- 3 files changed, 62 insertions(+), 41 deletions(-) diff --git a/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java b/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java index 5b1ec18..37f4531 100644 --- a/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java +++ b/src/main/java/org/springblade/modules/business/contraller/MaintenanceController.java @@ -3,6 +3,7 @@ package org.springblade.modules.business.contraller; import com.aliyuncs.exceptions.ClientException; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -124,7 +125,7 @@ public class MaintenanceController extends BladeController { if (Func.isNotEmpty(task.getStatusSearch())) { wrapper.in(MaintenanceTask::getTaskStatus, task.getStatusSearch().split(",")); } - + wrapper.like(StringUtils.isNotBlank(task.getDeptName()), MaintenanceTask::getDeptName, task.getDeptName()); IPage pages = taskService.page(Condition.getPage(query), wrapper); return R.data(pages); } diff --git a/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java b/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java index cd014c7..2f83809 100644 --- a/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java +++ b/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java @@ -33,6 +33,7 @@ import org.springblade.modules.business.service.IWorkOrderFlowService; import org.springblade.modules.business.service.IWorkOrderService; import org.springblade.modules.system.pojo.entity.Dept; import org.springblade.modules.system.pojo.entity.User; +import org.springblade.modules.system.service.IDeptService; import org.springblade.modules.system.service.IUserService; import org.springframework.web.bind.annotation.*; @@ -42,10 +43,8 @@ import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.function.Consumer; /** * 工单表 控制器 @@ -69,6 +68,8 @@ public class WorkOrderController extends BladeController { private final IMessageService messageService; + private final IDeptService deptService; + /** * 查询工作订单列表 @@ -117,10 +118,27 @@ public class WorkOrderController extends BladeController { wrapper.like(StringUtils.isNotBlank(workOrderDTO.getRequirementCode()), WorkOrder::getRequirementCode, workOrderDTO.getRequirementCode()); wrapper.between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime()); wrapper.orderByDesc(WorkOrder::getCreateTime); + if (StringUtils.isNotBlank(workOrderDTO.getReportUnitName())) { + List deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).like(Dept::getDeptName, workOrderDTO.getReportUnitName())); + if (!deptList.isEmpty()) { + wrapper.and(w -> { + for (Dept dept : deptList) { + w.or().eq(WorkOrder::getReportUnit, dept.getId()); + } + }); + } + } // 执行分页查询 IPage pages = workOrderService.page(Condition.getPage(query), wrapper); +// pages.getRecords().forEach( +// workOrder -> { +// Optional one = Optional.ofNullable(deptService.getOne(Wrappers.lambdaQuery(Dept.class).eq(Dept::getId, workOrder.getReportUnit()))); +// one.ifPresent(dept -> workOrder.setReportUnitName(dept.getDeptName())); +// } +// ); + pages.getRecords().forEach(order -> { Dept dept = DeptCache.getDept(order.getReportUnit()); @@ -151,6 +169,7 @@ public class WorkOrderController extends BladeController { if (StringUtils.isNotBlank(workOrderDTO.getStatusSearch())) { wrapper.in(WorkOrder::getStatus, workOrderDTO.getStatusSearch().split(",")); } + wrapper.like(StringUtils.isNotBlank(workOrderDTO.getReportUnitName()), WorkOrder::getReportUnitName, workOrderDTO.getReportUnitName()); wrapper.like(StringUtils.isNotBlank(workOrderDTO.getRequirementCode()), WorkOrder::getRequirementCode, workOrderDTO.getRequirementCode()); wrapper.between(workOrderDTO.getStartTime() != null && workOrderDTO.getEndTime() != null, WorkOrder::getCreateTime, workOrderDTO.getStartTime(), workOrderDTO.getEndTime()); wrapper.orderByDesc(WorkOrder::getCreateTime); diff --git a/src/main/java/org/springblade/modules/business/pojo/dto/workorder/WorkOrderDTO.java b/src/main/java/org/springblade/modules/business/pojo/dto/workorder/WorkOrderDTO.java index 66b85eb..9f0816c 100644 --- a/src/main/java/org/springblade/modules/business/pojo/dto/workorder/WorkOrderDTO.java +++ b/src/main/java/org/springblade/modules/business/pojo/dto/workorder/WorkOrderDTO.java @@ -15,40 +15,41 @@ import java.util.Date; * @since 2024-10-14 */ @Data -public class WorkOrderDTO extends WorkOrder{ - private static final long serialVersionUID = 1L; - - /** - * 开始时间 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8") - private Date startTime; - - /** - * 结束时间 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8") - private Date endTime; - - /** - * 故障位置 - */ - private String faultLocation; - - /** - * 故障类型 - */ - private String faultType; - - /** - * 数据权限标识(1客户 2客服 3维修负责人 4维修人员) - */ - private String dataType; - - /** - * 状态查询字段 - */ - private String statusSearch; +public class WorkOrderDTO extends WorkOrder { + private static final long serialVersionUID = 1L; + + /** + * 开始时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8") + private Date startTime; + + /** + * 结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8") + private Date endTime; + + /** + * 故障位置 + */ + private String faultLocation; + + /** + * 故障类型 + */ + private String faultType; + + /** + * 数据权限标识(1客户 2客服 3维修负责人 4维修人员) + */ + private String dataType; + + /** + * 状态查询字段 + */ + private String statusSearch; + }