From 49d3a12259ee75ff6dda1bd6bd088bc0047475fd Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Fri, 27 Mar 2026 11:23:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4pad=E5=91=98=E5=B7=A5?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../directiveorder/api/ServiceOrderApi.java | 15 ++- .../impl/DirectiveOrderPadServiceImpl.java | 100 +++++++++++++----- 2 files changed, 89 insertions(+), 26 deletions(-) diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveorder/api/ServiceOrderApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveorder/api/ServiceOrderApi.java index 29c803c4..3a1785fb 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveorder/api/ServiceOrderApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveorder/api/ServiceOrderApi.java @@ -38,7 +38,12 @@ public class ServiceOrderApi { } - + /** + * todo 改成服务指令集 + * @param directiveOrderInfoEntity + * @param req + * @return + */ @ApiOperation(value = "服务指令工单-查询工单详细信息", notes = "服务指令工单-查询工单详细信息") @GetMapping(value = "/queryOrderInfoList") public Result> queryOrderInfoList(DirectiveOrderInfoEntity directiveOrderInfoEntity, HttpServletRequest req) { @@ -83,6 +88,14 @@ public class ServiceOrderApi { } + /** + * todo 废弃? + * @param directiveOrderEntity + * @param pageNo + * @param pageSize + * @param req + * @return + */ @ApiOperation(value = "服务指令工单-查询工单列表", notes = "服务指令工单-查询工单列表") @GetMapping(value = "/queryWorkOrderList") public Result> queryWorkOrderList(DirectiveOrderEntity directiveOrderEntity, diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderPadServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderPadServiceImpl.java index 620e575f..7b2500f5 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderPadServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderPadServiceImpl.java @@ -70,35 +70,85 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl queryOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req) { - String nowDate = DateUtils.formatDate(new Date(),"yyyy-MM-dd"); + String nowDate = DateUtils.formatDate(new Date(), "yyyy-MM-dd"); DirectiveOrder directiveOrder = new DirectiveOrder(); BeanUtils.copyProperties(directiveOrderEntity, directiveOrder); QueryWrapper queryWrapper = new QueryWrapper<>(); + //查询对应护理单元+员工身上的 queryWrapper.eq("nu_id", directiveOrderEntity.getNuId()); - queryWrapper.eq(StringUtils.isNotBlank(directiveOrderEntity.getEmployeeId()),"employee_id",directiveOrderEntity.getEmployeeId()); - queryWrapper.like("start_time", nowDate);//默认查询当天 - /**工单类型 1待执行 2已执行 3已完成 4已过期 5待执行或者已执行未完成 空是全部*/ + queryWrapper.eq(StringUtils.isNotBlank(directiveOrderEntity.getEmployeeId()), "employee_id", directiveOrderEntity.getEmployeeId()); + + //工单类型 1待执行 2已执行 3已完成 4已过期 5待执行或者已执行未完成 空是全部 + //首页的对应5 if (StringUtils.equals("1", directiveOrderEntity.getWorkType())) { - queryWrapper.eq("iz_start", "N"); - queryWrapper.eq("iz_finish", "N"); - queryWrapper.apply("start_time > now()"); +// queryWrapper.like("start_time", nowDate);//默认查询当天 +// queryWrapper.eq("iz_start", "N"); +// queryWrapper.eq("iz_finish", "N"); +// queryWrapper.apply("start_time > now()"); + + //待执行:未到结束时间 未点开始 + queryWrapper.and(wrapper -> + wrapper.ge("serv_end_time", new Date()) + .isNull("emp_start_time") + ); + } else if (StringUtils.equals("2", directiveOrderEntity.getWorkType())) { - queryWrapper.eq("iz_start", "Y"); - queryWrapper.eq("iz_finish", "N"); - queryWrapper.apply("DATE_ADD(end_time, INTERVAL ifnull(timeout_duration,0) MINUTE) > NOW()"); +// queryWrapper.like("start_time", nowDate);//默认查询当天 +// queryWrapper.eq("iz_start", "Y"); +// queryWrapper.eq("iz_finish", "N"); +// queryWrapper.apply("DATE_ADD(end_time, INTERVAL ifnull(timeout_duration,0) MINUTE) > NOW()"); + + //已执行 看的是今天要开始执行的指令 没到或刚到最后时间 已经点了开始 + queryWrapper.and(wrapper -> + wrapper.apply("DATE(serv_start_time) = CURDATE()") + .ge("serv_end_time", new Date()) + .isNotNull("emp_start_time") + ); } else if (StringUtils.equals("3", directiveOrderEntity.getWorkType())) { - queryWrapper.eq("iz_start", "Y"); - queryWrapper.eq("iz_finish", "Y"); +// queryWrapper.like("start_time", nowDate);//默认查询当天 +// queryWrapper.eq("iz_start", "Y"); +// queryWrapper.eq("iz_finish", "Y"); + + //已完成:工单开始执行日期是今天 只要有完成时间就算 + queryWrapper.and(wrapper -> + wrapper.apply("DATE(serv_start_time) = CURDATE()") + .isNotNull("emp_end_time") + ); } else if (StringUtils.equals("4", directiveOrderEntity.getWorkType())) { - queryWrapper.eq("iz_start", "N"); - queryWrapper.eq("iz_finish", "N"); - queryWrapper.apply("start_time < now()"); +// queryWrapper.like("start_time", nowDate);//默认查询当天 +// queryWrapper.eq("iz_start", "N"); +// queryWrapper.eq("iz_finish", "N"); +// queryWrapper.apply("start_time < now()"); + //已过期:服务应该结束的那天的 过了最后时间了 还没点开始 + queryWrapper.and(wrapper -> + wrapper.apply("DATE(serv_end_time) = CURDATE()") + .lt("serv_end_time", new Date()) + .isNull("emp_start_time") + ); } else if (StringUtils.equals("5", directiveOrderEntity.getWorkType())) { - queryWrapper.apply("((iz_start = 'N' and iz_finish='N') or (iz_start='Y' and iz_finish='N')) and DATE_ADD(end_time, INTERVAL ifnull(timeout_duration,0) MINUTE) > NOW()"); + //首页展示的工单 + //需求:展示工单开始 ~ 结束时间范围内 未完成的单子 (serv_start_time <= now <= serv_end_time and emp_end_time = null) + // 特殊情况:工单点击开始了 只要不点结束就一直显示 or (emp_start_time !=null and emp_end_time = null) + + queryWrapper.and(wrapper -> + wrapper.le("serv_start_time", new Date()) + .ge("serv_end_time", new Date()) + .isNull("emp_end_time") + ).or(wrapper -> + wrapper.isNotNull("emp_start_time") + .isNull("emp_end_time") + ); } - queryWrapper.orderByAsc("start_time"); + queryWrapper.orderByAsc("serv_start_time"); Page page = new Page<>(pageNo, pageSize); List list = baseMapper.selectList(page, queryWrapper); IPage entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); @@ -221,8 +271,8 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl uw = new UpdateWrapper<>(); - uw.eq("main_id",directiveOrderEntity.getId()); - directiveOrderInfoService.update(directiveOrderInfo,uw); + uw.eq("main_id", directiveOrderEntity.getId()); + directiveOrderInfoService.update(directiveOrderInfo, uw); Map map = new HashMap<>(); map.put("success", true); @@ -242,8 +292,8 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl uw = new UpdateWrapper<>(); - uw.eq("main_id",directiveOrderEntity.getId()); - directiveOrderInfoService.update(directiveOrderInfo,uw); + uw.eq("main_id", directiveOrderEntity.getId()); + directiveOrderInfoService.update(directiveOrderInfo, uw); Map map = new HashMap<>(); map.put("success", true); @@ -290,8 +340,8 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl subUW = new UpdateWrapper<>(); - subUW.eq("main_id",dto.getMainId()); - directiveOrderInfoMapper.update(sub,subUW); + subUW.eq("main_id", dto.getMainId()); + directiveOrderInfoMapper.update(sub, subUW); //日志 LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -329,8 +379,8 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl subUW = new UpdateWrapper<>(); - subUW.eq("main_id",dto.getMainId()); - directiveOrderInfoMapper.update(sub,subUW); + subUW.eq("main_id", dto.getMainId()); + directiveOrderInfoMapper.update(sub, subUW); //日志 LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();