From 4190b077b98fde3ee6497c6d7d714e8f001505a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Mon, 12 Jan 2026 17:13:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4-=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=8D=B3=E6=97=B6=E6=8C=87=E4=BB=A4=E5=B7=A5=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IInvoicingDataPoolService.java | 3 - .../order/mapper/DirectiveOrderMapper.java | 2 + .../order/mapper/DirectiveOrderSubMapper.java | 4 + .../order/mapper/xml/DirectiveOrderMapper.xml | 20 +- .../mapper/xml/DirectiveOrderSubMapper.xml | 54 ++++ .../service/IDirectiveOrderSubService.java | 4 + .../impl/DirectiveOrderServiceImpl.java | 243 ++++++++++++++++-- .../impl/DirectiveOrderSubServiceImpl.java | 10 + .../impl/CareDirectivePlanServiceImpl.java | 12 - 9 files changed, 318 insertions(+), 34 deletions(-) diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/IInvoicingDataPoolService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/IInvoicingDataPoolService.java index a3f99200..ec14ef99 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/IInvoicingDataPoolService.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/IInvoicingDataPoolService.java @@ -37,7 +37,4 @@ public interface IInvoicingDataPoolService extends IService { */ void editDataPool(InvoicingDirectivePlan invoicingDirectivePlan); -// Result addInstant(InvoicingDataPool dataPool); - - } 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 c651c589..8366d6b8 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 @@ -38,4 +38,6 @@ public interface DirectiveOrderMapper extends BaseMapper { List queryCurrent(@Param("dto") CareDirectiveEntity dto); DirectiveOrder getDirectiveById(DirectiveOrder orders); + + DirectiveOrder getEmployeeById(@Param("employeeId") String employeeId); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderSubMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderSubMapper.java index 15122167..c230e0e6 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderSubMapper.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/DirectiveOrderSubMapper.java @@ -3,6 +3,8 @@ package com.nu.modules.biz.order.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.nu.modules.biz.order.entity.DirectiveOrder; import com.nu.modules.biz.order.entity.DirectiveOrderSub; +import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -13,4 +15,6 @@ import java.util.List; */ public interface DirectiveOrderSubMapper extends BaseMapper { List queryDataPoolSubList(DirectiveOrder orders); + List getDirectiveList(@Param("directiveId") String directiveId); + List getSubDirectiveList(@Param("packageId") String packageId); } 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 1eb09706..ac871413 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 @@ -116,6 +116,7 @@ select - id, - nu_id as nuId, - nu_name as nuName, + m.id as bizId, + m.nu_id as nuId, + m.nu_name as nuName, elder_id as elderId, elder_name as elderName, directive_id as directiveId, directive_name as directiveName, + '3' as cycleTypeId, + (select item_text from sys_dict_item where dict_id = '1900374791386140674' and item_value = '3') as cycleType, preview_file as previewFile, net_preview_file as netPreviewFile, preview_file_small as previewFileSmall, @@ -443,9 +446,18 @@ net_mp4_file as netMp4File, service_duration as serviceDuration, service_content as serviceContent, - iz_package + iz_package, + (case when b.orderly is null then 2 else 1 end) as orderEmp from ${tableName} m + left join nu_biz_elder_info b on m.elder_id = b.id where m.id = #{id} + + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderSubMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderSubMapper.xml index 5458a351..9b915f0e 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderSubMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderSubMapper.xml @@ -5,6 +5,7 @@ + + + + \ No newline at end of file diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/IDirectiveOrderSubService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/IDirectiveOrderSubService.java index d16a877c..fdf68521 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/IDirectiveOrderSubService.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/IDirectiveOrderSubService.java @@ -3,6 +3,8 @@ package com.nu.modules.biz.order.service; import com.baomidou.mybatisplus.extension.service.IService; import com.nu.modules.biz.order.entity.DirectiveOrder; import com.nu.modules.biz.order.entity.DirectiveOrderSub; +import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -13,4 +15,6 @@ import java.util.List; */ public interface IDirectiveOrderSubService extends IService { List queryDataPoolSubList(DirectiveOrder orders); + List getDirectiveList(String directiveId); + List getSubDirectiveList(String packageId); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderServiceImpl.java index 505392fb..e6db5cd6 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/service/impl/DirectiveOrderServiceImpl.java @@ -50,6 +50,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl ruleSubList; private String allowedTimeout; + private String serverNetUrl; @Autowired private SdWebsocket sdWebsocket; @@ -167,8 +168,8 @@ public class DirectiveOrderServiceImpl extends ServiceImpl emps = baseMapper.getPermissionEmps(directiveIds);//获取服务标签中的员工和数量 emps.removeIf(data -> data.getOwnCn() < ordersSubList.size());//删除没有权限的数据 String employeeIds = emps.stream().map(DirectiveOrder::getEmployeeId).collect(Collectors.joining(",")); - DirectiveOrder employee = employeeScreening(directiveIds, orders.getElderId(), employeeIds, orders.getStartTime()); - if (employee != null) { - String orderNo = getOrderNo(); + DirectiveOrder employee = employeeScreening(directiveIds,orders.getElderId(),employeeIds,orders.getStartTime()); + if(employee!=null){ + String orderNo = getOrderNo(orders.getOrderType()); orders.setOrderNo(orderNo); orders.setEmployeeId(employee.getEmployeeId()); orders.setEmployeeName(employee.getEmployeeName()); @@ -223,7 +227,10 @@ public class DirectiveOrderServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.likeRight("order_no", todayPrefix); qw.select("order_no"); @@ -668,19 +688,212 @@ public class DirectiveOrderServiceImpl extends ServiceImpl packageSubList = null; + String employeeId = ""; + String employeeName = ""; + Calendar c = Calendar.getInstance(); + Date startTime = c.getTime(); + String duration = orders.getServiceDuration(); + if(duration.equals("")||duration.equals("0")){ + c.set(Calendar.YEAR,3000); + c.set(Calendar.MONTH,Calendar.DECEMBER); + c.set(Calendar.DAY_OF_MONTH,31); + c.set(Calendar.HOUR_OF_DAY,0); + c.set(Calendar.MINUTE,0); + c.set(Calendar.SECOND,0); + c.set(Calendar.MILLISECOND,0); + }else{ + c.add(Calendar.MINUTE,Integer.valueOf(duration)); + } + Date endTime = c.getTime(); + orders.setStartTime(startTime); + orders.setEndTime(endTime); + if(orders.getIzPackage().equals("N")){ + packageSubList = ordersSubService.getDirectiveList(orders.getDirectiveId()); + String directiveIds = packageSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(",")); + if(!directiveOrder.getTriggerMode().equals("1")){ + DirectiveOrder employee = employeeScreening(directiveIds,orders.getElderId(),null,orders.getStartTime()); + employeeId = employee.getEmployeeId(); + employeeName = employee.getEmployeeName(); + } + }else{ + orders.setPackageId(orders.getDirectiveId()); + orders.setPackageName(orders.getDirectiveName()); + orders.setDirectiveId(null); + orders.setDirectiveName(null); + packageSubList = ordersSubService.getSubDirectiveList(orders.getPackageId()); + String directiveIds = packageSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(",")); + if(!directiveOrder.getTriggerMode().equals("1")){ + List emps = baseMapper.getPermissionEmps(directiveIds);//获取服务标签中的员工和数量 + if(packageSubList!=null){ + int size = packageSubList.size(); + emps.removeIf(data -> data.getOwnCn() < size);//删除没有权限的数据 + } + String employeeIds = emps.stream().map(DirectiveOrder::getEmployeeId).collect(Collectors.joining(",")); + DirectiveOrder employee = employeeScreening(directiveIds,orders.getElderId(),employeeIds,orders.getStartTime()); + employeeId = employee.getEmployeeId(); + employeeName = employee.getEmployeeName(); + } + } if (directiveOrder.getTriggerMode().equals("1")) { //直接派单给发起人 LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - String employeeId = sysUser.getEmployessId(); - } else { - //按规则派单 - getSendOrderRule(); - + employeeId = sysUser.getEmployessId(); + employeeName = getEmployeeName(employeeId); } + + getNetImages(orders); + String orderNo = getOrderNo(orderType); + orders.setOrderNo(orderNo); + orders.setOrderType(orderType); + orders.setOptType("1"); + orders.setEmployeeId(employeeId); + orders.setEmployeeName(employeeName); + orders.setIzStart("N"); + orders.setIzFinish("N"); + orders.setOptIds(employeeId); + orders.setOptNames(employeeName); + orders.setServiceAllowedTimeout(allowedTimeout); + orders.setDelFlag("0"); + this.save(orders);//生成工单主表 + if(packageSubList!=null){ + for(int i=0;i queryDataPoolSubList(DirectiveOrder orders){ return baseMapper.queryDataPoolSubList(orders); } + + @Override + public List getDirectiveList(String directiveId){ + return baseMapper.getDirectiveList(directiveId); + } + + @Override + public List getSubDirectiveList(String packageId){ + return baseMapper.getSubDirectiveList(packageId); + } } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/service/impl/CareDirectivePlanServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/service/impl/CareDirectivePlanServiceImpl.java index 62e435b2..cdefabcb 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/service/impl/CareDirectivePlanServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/plan/care/service/impl/CareDirectivePlanServiceImpl.java @@ -363,18 +363,6 @@ public class CareDirectivePlanServiceImpl extends ServiceImpl