diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java index f28024f..e9124a5 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java @@ -60,7 +60,7 @@ public class PasswordAuthStrategy implements IAuthStrategy { boolean captchaEnabled = captchaProperties.getEnable(); // 验证码开关 if (captchaEnabled) { - validateCaptcha(tenantId, username, code, uuid); + //validateCaptcha(tenantId, username, code, uuid); } LoginUser loginUser = TenantHelper.dynamic(tenantId, () -> { SysUserVo user = loadUserByUsername(username); diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WorkOrderInfoController.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WorkOrderInfoController.java index 4b9b3f5..e74ffd0 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WorkOrderInfoController.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/WorkOrderInfoController.java @@ -189,6 +189,12 @@ public class WorkOrderInfoController extends BaseController { return rs; } + @GetMapping("/dealWithListForApp") + public TableDataInfo dealWithListForApp(WorkOrderInfoBo bo, PageQuery pageQuery) { + TableDataInfo rs = workOrderInfoService.dealWithListForApp(bo, pageQuery); + return rs; + } + //@SaCheckPermission("platform:workOrder:reviewList") @GetMapping("/reviewList") public TableDataInfo reviewList(WorkOrderInfoBo bo, PageQuery pageQuery) { diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IWorkOrderInfoService.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IWorkOrderInfoService.java index 5c9d8c0..b0c7e29 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IWorkOrderInfoService.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IWorkOrderInfoService.java @@ -134,4 +134,6 @@ public interface IWorkOrderInfoService { void dispatchOrder(WorkOrderInfoBo bo); String getMaintenanceUnit(String workOrderId); + + TableDataInfo dealWithListForApp(WorkOrderInfoBo bo, PageQuery pageQuery); } diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/WorkOrderInfoServiceImpl.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/WorkOrderInfoServiceImpl.java index a15423a..c2808c7 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/WorkOrderInfoServiceImpl.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/WorkOrderInfoServiceImpl.java @@ -1210,4 +1210,59 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService { return null; } + @Override + public TableDataInfo dealWithListForApp(WorkOrderInfoBo bo, PageQuery pageQuery) { + LoginUser loginUser = LoginHelper.getLoginUser(); + String username = loginUser.getUsername(); + + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + List records = result.getRecords(); + List filterRecords = records.stream() + .filter(record -> record.getStatus() != null + && ( record.getStatus() == 2 || record.getStatus() == 7) + ) + // TODO 角色过滤 + .filter(item -> "admin".equals(username) || item.getMaintenanceUnit().equals(loginUser.getDeptName())) + .collect(Collectors.toList()); + + // 封装 + for (WorkOrderInfoVo record : filterRecords) { + String workOrderId = record.getId(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(WorkOrderProcess::getWorkOrderId, workOrderId); + queryWrapper.eq(WorkOrderProcess::getStage, "故障接单"); + + WorkOrderProcess target = workOrderProcessMapper.selectOne(queryWrapper); + + if (target != null && target.getOperationTime() != null) { + Date operationTime = target.getOperationTime(); + // 单位:小时 + Long responseTime = record.getResponseTime(); + // 设置剩余时间提示 + record.setRestTime(getTimeLeft(operationTime, responseTime)); + } else { + // 如果没有找到接单记录或没有接单时间,可以设为默认值 + record.setRestTime("暂无接单信息"); + } + // 设置延期信息 + if (record.getStatus() == 7){ + WorkOrderDelayVo delayVo = workOrderDelayService.queryById(Long.valueOf(workOrderId)); + if (delayVo != null){ + Date afterDelayTime = delayVo.getAfterDelayTime(); + // 将 Date 转换为 Instant + Instant instant = afterDelayTime.toInstant(); + ZoneId zone = ZoneId.of("Asia/Shanghai"); + LocalDateTime dueDateTime = instant.atZone(zone).toLocalDateTime(); + record.setRestTime(getTimeLeft(dueDateTime)); + } + } + } + + + result.setRecords(filterRecords); + result.setTotal(filterRecords.size()); + return TableDataInfo.build(result); + } + }