From 825c79963cbe3bc83c9e724266b5b4ec1d040274 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Mon, 30 Mar 2026 14:57:34 +0800 Subject: [PATCH] =?UTF-8?q?pad=E6=8C=87=E4=BB=A4=E8=BD=AE=E6=92=AD?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E3=80=81=E5=BC=80=E5=A7=8B=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=20=E8=BD=AC=E5=8D=95=E3=80=81=E5=8D=8F?= =?UTF-8?q?=E5=8A=A9=E6=89=A7=E8=A1=8C=20=E6=9F=A5=E8=AF=A2=E6=8A=A4?= =?UTF-8?q?=E7=90=86=E5=8D=95=E5=85=83=E4=B8=8B=E5=8D=B3=E6=97=B6=E6=8C=87?= =?UTF-8?q?=E4=BB=A4=E7=AD=89=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 | 64 +++--- .../directiveplan/api/CareDirectiveApi.java | 14 +- .../modules/order/api/IDirectiveOrderApi.java | 12 +- .../order/mapper/DirectiveOrderMapper.java | 3 +- .../order/mapper/xml/DirectiveOrderMapper.xml | 77 ++++++- .../impl/DirectiveOrderPadServiceImpl.java | 213 ++++++++++-------- .../mapper/xml/CareDirectivePlanMapper.xml | 139 ++++++------ 7 files changed, 303 insertions(+), 219 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 84146e57..339cf295 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 @@ -26,15 +26,11 @@ public class ServiceOrderApi { @ApiOperation(value = "服务指令工单-查询工单列表", notes = "服务指令工单-查询工单列表") @GetMapping(value = "/queryOrderList") - public Result> queryOrderList(DirectiveOrderEntity directiveOrderEntity, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - if(StringUtils.isBlank(directiveOrderEntity.getNuId())){ + public Result> queryOrderList(DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req) { + if (StringUtils.isBlank(directiveOrderEntity.getNuId())) { return Result.error("参数错误,请选择正确的护理单元"); } - IPage pageList = directiveOrderApi.queryOrderList(pageNo, pageSize, directiveOrderEntity,req); - return Result.OK(pageList); + return Result.ok(directiveOrderApi.queryOrderList(directiveOrderEntity, req)); } @@ -48,20 +44,20 @@ public class ServiceOrderApi { @ApiOperation(value = "服务指令工单-查询工单详细信息", notes = "服务指令工单-查询工单详细信息") @GetMapping(value = "/queryOrderInfoList") public Result> queryOrderInfoList(DirectiveOrderEntity directiveOrderInfoEntity, HttpServletRequest req) { - List pageList = directiveOrderApi.queryOrderInfoList(directiveOrderInfoEntity,req); + List pageList = directiveOrderApi.queryOrderInfoList(directiveOrderInfoEntity, req); return Result.OK(pageList); } - @ApiOperation(value="服务指令工单-开始服务", notes="服务指令工单-开始服务") - @AutoLog(value = "服务指令工单-开始服务",clientType="app", operateType = 2) + @ApiOperation(value = "服务指令工单-开始服务", notes = "服务指令工单-开始服务") + @AutoLog(value = "服务指令工单-开始服务", clientType = "app", operateType = 2) @PostMapping(value = "/startOrder") public Result startOrder(@RequestBody DirectiveOrderEntity directiveOrderEntity) { Map result = directiveOrderApi.startOrder(directiveOrderEntity); return Result.OK("操作成功!"); } - @ApiOperation(value="服务指令工单-结束服务", notes="服务指令工单-结束服务") - @AutoLog(value = "服务指令工单-结束服务",clientType="app", operateType = 2) + @ApiOperation(value = "服务指令工单-结束服务", notes = "服务指令工单-结束服务") + @AutoLog(value = "服务指令工单-结束服务", clientType = "app", operateType = 2) @PostMapping(value = "/endOrder") public Result endOrder(@RequestBody DirectiveOrderEntity directiveOrderEntity) { Map result = directiveOrderApi.endOrder(directiveOrderEntity); @@ -69,16 +65,16 @@ public class ServiceOrderApi { } - @ApiOperation(value="服务指令工单-上传mp4", notes="服务指令工单-上传mp4") - @AutoLog(value = "服务指令工单-上传mp4",clientType="app", operateType = 2) + @ApiOperation(value = "服务指令工单-上传mp4", notes = "服务指令工单-上传mp4") + @AutoLog(value = "服务指令工单-上传mp4", clientType = "app", operateType = 2) @PostMapping(value = "/editSubMp4") public Result editSubMp4(@RequestBody DirectiveOrderEntity directiveOrderEntity) { Map result = directiveOrderApi.editSubMp4(directiveOrderEntity); return Result.OK("操作成功!"); } - @ApiOperation(value="服务指令工单-上传照片", notes="服务指令工单-上传照片") - @AutoLog(value = "服务指令工单-上传照片",clientType="app", operateType = 2) + @ApiOperation(value = "服务指令工单-上传照片", notes = "服务指令工单-上传照片") + @AutoLog(value = "服务指令工单-上传照片", clientType = "app", operateType = 2) @PostMapping(value = "/editSubPicPath") public Result editSubPicPath(@RequestBody DirectiveOrderEntity directiveOrderEntity) { Map result = directiveOrderApi.editSubPicPath(directiveOrderEntity); @@ -88,6 +84,7 @@ public class ServiceOrderApi { /** * todo 废弃? + * * @param directiveOrderEntity * @param pageNo * @param pageSize @@ -97,43 +94,40 @@ public class ServiceOrderApi { @ApiOperation(value = "服务指令工单-查询工单列表", notes = "服务指令工单-查询工单列表") @GetMapping(value = "/queryWorkOrderList") public Result> queryWorkOrderList(DirectiveOrderEntity directiveOrderEntity, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - if(StringUtils.isBlank(directiveOrderEntity.getNuId())){ + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + if (StringUtils.isBlank(directiveOrderEntity.getNuId())) { return Result.error("参数错误,请选择正确的护理单元"); } - IPage pageList = directiveOrderApi.queryWorkOrderList(pageNo, pageSize, directiveOrderEntity,req); + IPage pageList = directiveOrderApi.queryWorkOrderList(pageNo, pageSize, directiveOrderEntity, req); return Result.OK(pageList); } - @ApiOperation(value="服务指令工单-生成即时指令工单", notes="服务指令工单-生成即时指令工单") - @AutoLog(value = "服务指令工单-生成即时指令工单",clientType="app", operateType = 2) + @ApiOperation(value = "服务指令工单-生成即时指令工单", notes = "服务指令工单-生成即时指令工单") + @AutoLog(value = "服务指令工单-生成即时指令工单", clientType = "app", operateType = 2) @PostMapping(value = "/generateInstant") public Result generateInstant(@RequestBody DirectiveOrderEntity directiveOrderEntity) { - Map result = directiveOrderApi.generateOrdersInstant(directiveOrderEntity); - return Result.OK("操作成功!"); + return directiveOrderApi.generateOrdersInstant(directiveOrderEntity); } - @ApiOperation(value="服务指令工单-转单", notes="服务指令工单-转单") - @AutoLog(value = "服务指令工单-转单",clientType="app", operateType = 3) + @ApiOperation(value = "服务指令工单-转单", notes = "服务指令工单-转单") + @AutoLog(value = "服务指令工单-转单", clientType = "app", operateType = 3) @PostMapping(value = "/transferOrder") public Result transferOrder(@RequestBody DirectiveOrderInfoEntity dto) { - if(StringUtils.isBlank(dto.getMainId()) ){ + if (StringUtils.isBlank(dto.getId())) { return Result.error("缺少参数"); } - directiveOrderApi.transferOrder(dto); - return Result.OK("操作成功!"); + return directiveOrderApi.transferOrder(dto); } - @ApiOperation(value="服务指令工单-协助执行", notes="服务指令工单-协助执行") - @AutoLog(value = "服务指令工单-协助执行",clientType="app", operateType = 3) + @ApiOperation(value = "服务指令工单-协助执行", notes = "服务指令工单-协助执行") + @AutoLog(value = "服务指令工单-协助执行", clientType = "app", operateType = 3) @PostMapping(value = "/assistOrder") public Result assistOrder(@RequestBody DirectiveOrderInfoEntity dto) { - if(StringUtils.isBlank(dto.getMainId()) ){ + if (StringUtils.isBlank(dto.getId())) { return Result.error("缺少参数"); } - directiveOrderApi.assistOrder(dto); - return Result.OK("操作成功!"); + return directiveOrderApi.assistOrder(dto); } } diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/CareDirectiveApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/CareDirectiveApi.java index 1a836619..a811d0b2 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/CareDirectiveApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/directiveplan/api/CareDirectiveApi.java @@ -466,20 +466,10 @@ public class CareDirectiveApi { @GetMapping(value = "/getImmediatelyOrderByNuID") public Result> getImmediatelyOrderByNuID(CareDirectiveEntity dto) { Map result = Maps.newHashMap(); - //护理类即时指令 List hlList = careDirectivePlanApi.queryImmediatelyOrderList(dto); - //TODO 医疗类即时指令 目前没有表 后续待开发 - List ylList = Lists.newArrayList(); - //后勤类即时指令 - List hqList = invoicingDirectivePlanApi.queryImmediatelyOrderList(dto); - //仓库类即时指令 - List ckList = logisticsDirectivePlanApi.queryImmediatelyOrderList(dto); - result.put("total", hlList.size() + ylList.size() + hqList.size() + ckList.size()); - result.put("hlList", hlList); - result.put("ylList", ylList); - result.put("hqList", hqList); - result.put("ckList", ckList); + result.put("total", hlList.size()); + result.put("jsList", hlList); return Result.ok(result); } diff --git a/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/order/api/IDirectiveOrderApi.java b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/order/api/IDirectiveOrderApi.java index f68fe962..5f76892d 100644 --- a/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/order/api/IDirectiveOrderApi.java +++ b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/order/api/IDirectiveOrderApi.java @@ -2,6 +2,7 @@ package com.nu.modules.order.api; import com.baomidou.mybatisplus.core.metadata.IPage; import com.nu.entity.*; +import org.jeecg.common.api.vo.Result; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -22,6 +23,7 @@ public interface IDirectiveOrderApi { /** * 根据工单id查询工单信息+对应服务指令信息 + * * @param id * @return */ @@ -29,7 +31,7 @@ public interface IDirectiveOrderApi { List queryList(DirectiveOrderInfoEntity directiveOrderInfoEntity); - IPage queryOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req); + List queryOrderList(DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req); List queryOrderInfoList(DirectiveOrderEntity directiveOrderInfoEntity, HttpServletRequest req); @@ -43,17 +45,17 @@ public interface IDirectiveOrderApi { IPage queryWorkOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req); - int queryTodayFinishedTotal(String type,String nuId, String elderId); + int queryTodayFinishedTotal(String type, String nuId, String elderId); List queryHistory(CareDirectiveEntity dto); List queryCurrent(CareDirectiveEntity dto); - Map generateOrdersInstant(DirectiveOrderEntity directiveOrderEntity); + Result generateOrdersInstant(DirectiveOrderEntity directiveOrderEntity); - void transferOrder(DirectiveOrderInfoEntity dto); + Result transferOrder(DirectiveOrderInfoEntity dto); - void assistOrder(DirectiveOrderInfoEntity dto); + Result assistOrder(DirectiveOrderInfoEntity dto); Map addBizLog(DirectiveOrderBizLogEntity directiveOrderBizLogEntity); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderMapper.java index 2d5170ab..b98f7d4b 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderMapper.java @@ -48,6 +48,5 @@ public interface DirectiveOrderMapper extends BaseMapper { DirectiveOrder getEmployeeById(@Param("employeeId") String employeeId); - IPage queryOrderList(Page page, - @Param("entity") DirectiveOrderEntity entity); + List queryOrderList(@Param("entity") DirectiveOrderEntity entity); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderMapper.xml index 4f7c4088..eb579bf8 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderMapper.xml @@ -559,25 +559,25 @@ LEFT JOIN nu_config_service_directive dire on t.directive_id = dire.id WHERE t.nu_id = #{entity.nuId} AND t.employee_id = #{entity.employeeId} - + AND t.serv_end_time >= NOW() AND t.emp_start_time IS NULL - + AND DATE(t.serv_start_time) = CURDATE() AND t.serv_end_time >= NOW() AND t.emp_start_time IS NOT NULL - + AND DATE(t.serv_start_time) = CURDATE() AND t.emp_end_time IS NOT NULL - + AND DATE(t.serv_start_time) = CURDATE() AND t.serv_end_time NOW() AND t.emp_start_time IS NULL - + AND ( (t.serv_start_time NOW() AND t.serv_end_time >= NOW() @@ -591,5 +591,70 @@ CASE WHEN CAST(t.service_duration AS UNSIGNED) = 0 THEN 999999 ELSE CAST(t.service_duration AS UNSIGNED) END - + 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 513f172c..3bebc793 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 @@ -21,6 +21,7 @@ import com.nu.modules.order.api.IDirectiveOrderApi; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.vo.LoginUser; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -76,20 +77,15 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl queryOrderList(Integer pageNo, Integer pageSize, DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req) { - Page page = new Page<>(pageNo, pageSize); - + public List queryOrderList(DirectiveOrderEntity directiveOrderEntity, HttpServletRequest req) { // 查询原始数据 - IPage resultPage = baseMapper.queryOrderList(page, directiveOrderEntity); - List records = resultPage.getRecords(); + List list = baseMapper.queryOrderList(directiveOrderEntity); // 处理数据,将指令集合并 - List processedRecords = mergeDirectiveSet(records); + List result = mergeDirectiveSet(list); - // 重新设置处理后的数据 - resultPage.setRecords(processedRecords); - return resultPage; + return result; } /** @@ -181,23 +177,35 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl startOrder(DirectiveOrderEntity directiveOrderEntity) { + Map map = new HashMap<>(); + map.put("success", true); + map.put("message", "操作成功"); + //服务指令集统一开始 + DirectiveOrder directiveOrder = baseMapper.selectById(directiveOrderEntity.getId()); + //如果已到服务结束时间 不允许点击开始 + if (directiveOrder.getServEndTime().before(new Date())) { + map.put("success", false); + map.put("message", "当前服务已超时,不可执行"); + return map; + } + + UpdateWrapper uw = new UpdateWrapper<>(); + uw.eq("serv_start_time", directiveOrder.getServStartTime()); + directiveOrder.setEmpStartTime(new Date()); if (StringUtils.isEmpty(directiveOrder.getEmployeeIds())) { //如果未进行转单、协助等操作,此时实际执行人字段都为空 需将实际执行人设置为派单时派发的员工 directiveOrder.setEmployeeIds(directiveOrder.getEmployeeId()); directiveOrder.setEmployeeNames(directiveOrder.getEmployeeNames()); } - baseMapper.updateById(directiveOrder); + baseMapper.update(directiveOrder, uw); // QueryWrapper queryWrapper = new QueryWrapper<>(); // List list = directiveOrderInfoMapper.selectList(queryWrapper); - Map map = new HashMap<>(); - map.put("success", true); - map.put("message", "操作成功"); - map.put("directiveOrder", directiveOrder); +// map.put("directiveOrder", directiveOrder); // map.put("directiveOrderInfo", list); return map; } @@ -205,20 +213,16 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl endOrder(DirectiveOrderEntity directiveOrderEntity) { DirectiveOrder directiveOrder = baseMapper.selectById(directiveOrderEntity.getId()); - directiveOrder.setIzFinish("Y"); - directiveOrder.setFinishTime(new Date()); - DirectiveOrder directivePrice = baseMapper.getDirectivePrice(directiveOrder.getDirectiveId());//获取服务指令价格 - directiveOrder.setTollPrice(directivePrice.getTollPrice()); - directiveOrder.setComPrice(directivePrice.getComPrice()); + directiveOrder.setEmpEndTime(new Date()); baseMapper.updateById(directiveOrder); - List list = directiveOrderInfoMapper.selectList(new QueryWrapper().eq("main_id", directiveOrder.getId())); +// List list = directiveOrderInfoMapper.selectList(new QueryWrapper().eq("main_id", directiveOrder.getId())); Map map = new HashMap<>(); map.put("success", true); map.put("message", "操作成功"); - map.put("directiveOrder", directiveOrder); - map.put("directiveOrderInfo", list); +// map.put("directiveOrder", directiveOrder); +// map.put("directiveOrderInfo", list); return map; } @@ -317,6 +321,89 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl transferOrder(DirectiveOrderInfoEntity dto) { + //服务指令集转单 一起转 + + DirectiveOrder beforeData = baseMapper.selectById(dto.getId()); + + //如果已到服务结束时间 不允许转单 + if (beforeData.getServStartTime().before(new Date())) { + return Result.error("当前服务已开始,不可转单"); + } + + UpdateWrapper uw = new UpdateWrapper<>(); + uw.eq("serv_start_time", beforeData.getServStartTime()); + + String optType = "3";//转单 + DirectiveOrder upData = new DirectiveOrder(); + //执行类型 + upData.setOptType(optType); + //实际执行人 + upData.setEmployeeIds(dto.getEmployeeId()); + upData.setEmployeeNames(dto.getEmployeeName()); + + //修改主表 + baseMapper.update(upData, uw); + + //日志 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + DirectiveOrderLogEntity log = new DirectiveOrderLogEntity(); + log.setOrderNo(dto.getId());//服务指令工单id + log.setOptType("转单");//操作描述 + log.setOptBy(sysUser.getEmployeesId());//操作人employeeId + log.setOptByName(sysUser.getRealname());//操作人名 + log.setBeforeChange(StringUtils.isBlank(beforeData.getEmployeeIds()) ? beforeData.getEmployeeId() : beforeData.getEmployeeIds());//操作前人 + log.setBeforeChangeName(StringUtils.isBlank(beforeData.getEmployeeNames()) ? beforeData.getEmployeeName() : beforeData.getEmployeeNames());//操作前人名 + log.setAfterChange(dto.getEmployeeId());//操作后人 + log.setAfterChangeName(dto.getEmployeeName());//操作后人名 + directiveOrderLogApi.addLog(log); + + return Result.ok("操作成功"); + } + + @Override + public Result assistOrder(DirectiveOrderInfoEntity dto) { + //服务指令集协助执行 统一协助 + + DirectiveOrder beforeData = baseMapper.selectById(dto.getId()); + + //如果已到服务结束时间 不允许转单 + if (beforeData.getServStartTime().before(new Date())) { + return Result.error("当前服务已开始,不可协助执行"); + } + + UpdateWrapper uw = new UpdateWrapper<>(); + uw.eq("serv_start_time", beforeData.getServStartTime()); + + String optType = "2";//协助执行 + DirectiveOrder upData = new DirectiveOrder(); + //执行类型 + upData.setOptType(optType); + //实际执行人 + upData.setEmployeeIds(dto.getEmployeeId()); + upData.setEmployeeNames(dto.getEmployeeName()); + + //修改主表 + baseMapper.update(upData, uw); + + //日志 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + DirectiveOrderLogEntity log = new DirectiveOrderLogEntity(); + log.setOrderNo(dto.getId());//服务指令工单id + log.setOptType("协助执行");//操作描述 + log.setOptBy(sysUser.getEmployeesId());//操作人employeeId + log.setOptByName(sysUser.getRealname());//操作人名 + log.setBeforeChange(StringUtils.isBlank(beforeData.getEmployeeIds()) ? beforeData.getEmployeeId() : beforeData.getEmployeeIds());//操作前人 + log.setBeforeChangeName(StringUtils.isBlank(beforeData.getEmployeeNames()) ? beforeData.getEmployeeName() : beforeData.getEmployeeNames());//操作前人名 + log.setAfterChange(dto.getEmployeeId());//操作后人 + log.setAfterChangeName(dto.getEmployeeName());//操作后人名 + directiveOrderLogApi.addLog(log); + + return Result.ok("操作成功"); + + } + /** * 生成即时服务指令工单 * @@ -324,82 +411,16 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl generateOrdersInstant(DirectiveOrderEntity directiveOrderEntity) { - DirectiveOrder directiveOrder = new DirectiveOrder(); - BeanUtils.copyProperties(directiveOrderEntity, directiveOrder); - return directiveOrderService.generateOrdersInstant(directiveOrder); - } + public Result generateOrdersInstant(DirectiveOrderEntity directiveOrderEntity) { + String nuId = directiveOrderEntity.getNuId(); + String instructionId = directiveOrderEntity.getInstructionId(); + String directiveId = directiveOrderEntity.getDirectiveId(); - @Override - public void transferOrder(DirectiveOrderInfoEntity dto) { - DirectiveOrder main = new DirectiveOrder(); - String optType = "3";//转单 - - //执行类型 - main.setOptType(optType); - //主要执行人 - main.setEmployeeIds(dto.getEmployeeId()); - main.setEmployeeNames(dto.getEmployeeName()); - //实际执行人 - main.setOptIds(dto.getEmployeeId()); - main.setOptNames(dto.getEmployeeName()); - - //修改主表 - main.setId(dto.getMainId()); - directiveOrderService.updateById(main); - - //日志 - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - DirectiveOrderLogEntity log = new DirectiveOrderLogEntity(); - log.setOrderNo(dto.getMainId());//服务指令工单id - log.setOptType("转单");//操作描述 - log.setOptBy(sysUser.getEmployeesId());//操作人employeeId - log.setOptByName(sysUser.getRealname());//操作人名 - log.setBeforeChange(dto.getBeforeBy());//操作前人 - log.setBeforeChangeName(dto.getBeforeByName());//操作前人名 - log.setAfterChange(dto.getEmployeeId());//操作后人 - log.setAfterChangeName(dto.getEmployeeName());//操作后人名 - directiveOrderLogApi.addLog(log); - - } - - @Override - public void assistOrder(DirectiveOrderInfoEntity dto) { - DirectiveOrder main = new DirectiveOrder(); - DirectiveOrderInfo sub = new DirectiveOrderInfo(); - - String optType = "2";//协助 - - //执行类型 - main.setOptType(optType); - sub.setOptType(optType); - //实际执行人 - main.setOptIds(dto.getOptIds()); - main.setOptNames(dto.getOptNames()); - sub.setOptIds(dto.getOptIds()); - sub.setOptNames(dto.getOptNames()); - - //修改主表 - main.setId(dto.getMainId()); - directiveOrderService.updateById(main); - //修改子表 - UpdateWrapper subUW = new UpdateWrapper<>(); - subUW.eq("main_id", dto.getMainId()); - directiveOrderInfoMapper.update(sub, subUW); - - //日志 - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - DirectiveOrderLogEntity log = new DirectiveOrderLogEntity(); - log.setOrderNo(dto.getMainId());//服务指令工单id - log.setOptType("协助执行");//操作描述 - log.setOptBy(sysUser.getEmployeesId());//操作人employeeId - log.setOptByName(sysUser.getRealname());//操作人名 - log.setBeforeChange(dto.getBeforeBy());//操作前人 - log.setBeforeChangeName(dto.getBeforeByName());//操作前人名 - log.setAfterChange(dto.getOptIds());//操作后人 - log.setAfterChangeName(dto.getOptNames());//操作后人名 - directiveOrderLogApi.addLog(log); + return Result.OK("派发成功,执行员工:"); +// DirectiveOrder directiveOrder = new DirectiveOrder(); +// BeanUtils.copyProperties(directiveOrderEntity, directiveOrder); +// return directiveOrderService.generateOrdersInstant(directiveOrder); } @Override diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/mapper/xml/CareDirectivePlanMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/mapper/xml/CareDirectivePlanMapper.xml index 1f5c2115..88837b69 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/mapper/xml/CareDirectivePlanMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/mapper/xml/CareDirectivePlanMapper.xml @@ -162,86 +162,99 @@ ) - + SELECT p.id, + p.nu_id, base.nu_name, - CASE WHEN plan.iz_package = 'N' THEN directive.category_id ELSE NULL END as category_id, - CASE WHEN plan.iz_package = 'N' THEN category.category_name ELSE NULL END as category_name, - CASE WHEN plan.iz_package = 'N' THEN directive.type_id ELSE NULL END as type_id, - CASE WHEN plan.iz_package = 'N' THEN stype.type_name ELSE NULL END as type_name, - plan.directive_id, - CASE - WHEN plan.iz_package = 'N' THEN directive.directive_name - WHEN plan.iz_package = 'Y' THEN package.package_name - END as directive_name, - plan.cycle_type_id, - plan.cycle_value, - CASE WHEN plan.iz_package = 'N' THEN directive.immediate_file ELSE NULL END as immediate_file, - CASE WHEN plan.iz_package = 'N' THEN directive.immediate_file_focus ELSE NULL END as immediate_file_focus, - CASE WHEN plan.iz_package = 'N' THEN directive.preview_file ELSE NULL END as preview_file, - CASE WHEN plan.iz_package = 'N' THEN directive.preview_file_small ELSE NULL END as preview_file_small, - CASE WHEN plan.iz_package = 'N' THEN directive.mp3_file ELSE NULL END as mp3_file, - CASE WHEN plan.iz_package = 'N' THEN directive.mp4_file ELSE NULL END as mp4_file, - CASE - WHEN plan.iz_package = 'N' THEN directive.service_duration - WHEN plan.iz_package = 'Y' THEN CAST(package.total_duration AS CHAR) - END as service_duration, - CASE - WHEN plan.iz_package = 'N' THEN directive.service_content - WHEN plan.iz_package = 'Y' THEN package.description - END as service_content, - plan.positioning, - plan.positioning_long, - plan.tag_name, - plan.start_time, - CASE - WHEN plan.iz_package = 'N' AND directive.service_duration IS NOT NULL AND directive.service_duration = 0 - THEN '23:59' - WHEN plan.iz_package = 'Y' AND package.total_duration IS NOT NULL AND package.total_duration = 0 - THEN '23:59' - WHEN plan.iz_package = 'N' AND directive.service_duration IS NOT NULL AND directive.service_duration > 0 - THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(directive.service_duration * 60)), - '%H:%i') - WHEN plan.iz_package = 'Y' AND package.total_duration IS NOT NULL AND package.total_duration > 0 - THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(package.total_duration * 60)), - '%H:%i') - ELSE NULL - END as end_time, - plan.create_by, - plan.create_time, - plan.update_by, - plan.update_time, - plan.sys_org_code, - plan.iz_package - FROM nu_biz_directive_plan plan - LEFT JOIN nu_base_info base ON plan.nu_id = base.nu_id - LEFT JOIN nu_config_service_directive directive ON plan.iz_package = 'N' AND plan.directive_id = directive.id - LEFT JOIN nu_config_directive_package_main package ON plan.iz_package = 'Y' AND plan.directive_id = package.id + p.instruction_tag_id, + inst.instruction_name, + directive.category_id, + category.category_name, + directive.type_id, + stype.type_name, + p.directive_id, + directive.directive_name, + p.cycle_type_id, + p.cycle_value, + p.opt_time, + p.opt_count, + p.iz_multi, + directive.immediate_file, + directive.immediate_file_focus, + directive.preview_file, + directive.preview_file_small, + directive.mp3_file, + directive.mp4_file, + directive.service_duration, + directive.service_content, + p.positioning, + p.positioning_long, + p.tag_name + + , + CONCAT( + DATE_FORMAT(#{dto.queryDate}, '%Y-%m-%d'), ' ', + p.start_time, ':00' + ) as start_time, + CASE + WHEN directive.service_duration IS NOT NULL + THEN DATE_FORMAT( + DATE_ADD( + STR_TO_DATE(CONCAT(DATE_FORMAT(#{dto.queryDate}, '%Y-%m-%d'), ' ', p.start_time, ':00'), + '%Y-%m-%d %H:%i:%s'), + INTERVAL directive.service_duration MINUTE + ), + '%Y-%m-%d %H:%i:%s' + ) + ELSE NULL + END as end_time + + , + p.create_by, + p.create_time, + p.update_by, + p.update_time, + p.sys_org_code + FROM nu_biz_directive_plan p + LEFT JOIN nu_base_info base ON p.nu_id = base.nu_id + LEFT JOIN nu_config_service_directive directive ON p.directive_id = directive.id + LEFT JOIN nu_config_service_instruction_tag inst ON directive.instruction_tag_id = inst.id LEFT JOIN nu_config_service_category category ON directive.category_id = category.id LEFT JOIN nu_config_service_type stype ON directive.type_id = stype.id - WHERE 1=1 + WHERE 1 = 1 - AND plan.nu_id = #{dto.nuId} + AND p.nu_id = #{dto.nuId} - AND plan.instruction_tag_id = #{dto.instructionTagId} + AND p.instruction_tag_id = #{dto.instructionTagId} - AND plan.cycle_type_id != '2' + AND p.cycle_type_id != '2' - AND plan.cycle_type_id = '2' + AND p.cycle_type_id = '2' + + + + + AND CONCAT(DATE_FORMAT(#{dto.queryDate}, '%Y-%m-%d'), ' ', p.start_time, ':00') >= #{dto.queryDate} + + ORDER BY p.nu_id ASC, p.instruction_tag_id ASC + + + + , start_time ASC + + + , directive.directive_name ASC - ORDER BY plan.create_time DESC +