From 0456ad3ad14e6e76c08e7e505aa839d8a4a410dd Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Mon, 19 Jan 2026 10:47:47 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DirectiveOrderPadServiceImpl.java | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) 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 bdc7d533..ddf9fcc5 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 @@ -69,14 +69,34 @@ 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 HH:mm:ss"); DirectiveOrder directiveOrder = new DirectiveOrder(); BeanUtils.copyProperties(directiveOrderEntity, directiveOrder); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("nu_id", directiveOrderEntity.getNuId()); - queryWrapper.eq("iz_finish", "N"); - queryWrapper.like("start_time",nowDate); queryWrapper.eq(StringUtils.isNotBlank(directiveOrderEntity.getEmployeeId()),"employee_id",directiveOrderEntity.getEmployeeId()); + /**工单类型 1待执行 2已执行 3已完成 4已过期 5待执行或者已执行未完成 空是全部*/ + if (StringUtils.equals("1", directiveOrderEntity.getWorkType())) { + queryWrapper.eq("iz_start", "N"); + queryWrapper.eq("iz_finish", "N"); + queryWrapper.apply("start_time > now()"); + queryWrapper.orderByAsc("start_time"); + } else if (StringUtils.equals("2", directiveOrderEntity.getWorkType())) { + queryWrapper.eq("iz_start", "Y"); + queryWrapper.eq("iz_finish", "N"); + queryWrapper.orderByAsc("start_time"); + } else if (StringUtils.equals("3", directiveOrderEntity.getWorkType())) { + queryWrapper.eq("iz_start", "Y"); + queryWrapper.eq("iz_finish", "Y"); + } else if (StringUtils.equals("4", directiveOrderEntity.getWorkType())) { + queryWrapper.eq("iz_start", "N"); + queryWrapper.eq("iz_finish", "N"); + queryWrapper.apply("start_time < now()"); + } else if (StringUtils.equals("5", directiveOrderEntity.getWorkType())) { + queryWrapper.apply("((iz_start = 'N' and iz_finish='N') or (iz_start='Y' and iz_finish='N'))"); + } + + Page page = new Page<>(pageNo, pageSize); List list = baseMapper.selectList(page, queryWrapper); IPage entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); From 5a33f8bdd555930cf0673a8a4616454d97d2b0c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Mon, 19 Jan 2026 14:32:46 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4-?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=9C=8D=E5=8A=A1=E5=AE=B9=E9=94=99=E6=97=B6?= =?UTF-8?q?=E9=95=BF=E5=AD=97=E6=AE=B5=E8=B0=83=E6=95=B4=EF=BC=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=B1=A0=E5=8E=BB=E6=8E=89=E5=86=97=E4=BD=99=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../directiveplan/api/CareDirectiveApi.java | 2 +- .../com/nu/entity/DirectiveOrderEntity.java | 4 +- .../nu/entity/DirectiveOrderSubEntity.java | 5 +- .../mapper/xml/DirectiveDataPoolMapper.xml | 7 +- .../service/impl/CareDataPoolServiceImpl.java | 2 +- .../impl/DirectiveDataPoolServiceImpl.java | 12 ++- .../biz/order/entity/DirectiveOrder.java | 9 +- .../biz/order/entity/DirectiveOrderSub.java | 5 +- .../order/mapper/DirectiveOrderMapper.java | 4 + .../order/mapper/xml/DirectiveOrderMapper.xml | 82 ++++++++++++++----- 10 files changed, 92 insertions(+), 40 deletions(-) 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 51d7b855..c5b5b0f4 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 @@ -290,7 +290,7 @@ public class CareDirectiveApi { Date ygkssj = item.getStartTime(); // 应该开始时间 Date sjkssj = item.getBeginTime(); // 实际开始时间 Date sjjssj = item.getFinishTime(); // 实际结束时间 - String rcsc = item.getServiceAllowedTimeout(); // 容错时长(分钟) + String rcsc = item.getTimeoutDuration(); // 容错时长(分钟) String fwsc = item.getServiceDuration(); // 服务时长(分钟) // 判断是否超时(实际开始时间 > 应该开始时间 + 容错时长) diff --git a/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderEntity.java index 0ba80adf..0ce218b5 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderEntity.java @@ -34,8 +34,6 @@ public class DirectiveOrderEntity implements Serializable { /**执行类型 1单人 2协助 3转单*/ private String optType; private String optTypeName; - /**服务容错时长(end_time + 这个时间) 小于 begin_time算超时*/ - private String serviceAllowedTimeout; /**是否超时 Y超时 N未超时*/ private String izTimeout; /**实际执行人id(多个); 主要执行人+协助人*/ @@ -90,6 +88,8 @@ public class DirectiveOrderEntity implements Serializable { private String serviceDuration; /**服务说明*/ private String serviceContent; + /**超时时长(分钟)*/ + private String timeoutDuration; /**服务指令包ID*/ private String packageId; /**服务指令包名称*/ diff --git a/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderSubEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderSubEntity.java index 740a94a2..fdefba40 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderSubEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/DirectiveOrderSubEntity.java @@ -89,6 +89,8 @@ public class DirectiveOrderSubEntity implements Serializable { private String serviceDuration; /**服务说明*/ private String serviceContent; + /**超时时长(分钟)*/ + private String timeoutDuration; /**收费价格*/ private BigDecimal tollPrice; /**提成价格*/ @@ -137,8 +139,7 @@ public class DirectiveOrderSubEntity implements Serializable { /**执行类型 1单人 2协助 3转单*/ private String optType; private String optTypeName; - /**服务容错时长(end_time + 这个时间) 小于 begin_time算超时*/ - private String serviceAllowedTimeout; + /**是否超时 Y超时 N未超时*/ private String izTimeout; /**实际执行人id(多个); 主要执行人+协助人*/ diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/mapper/xml/DirectiveDataPoolMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/mapper/xml/DirectiveDataPoolMapper.xml index 558db4a0..1dc7302f 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/mapper/xml/DirectiveDataPoolMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/mapper/xml/DirectiveDataPoolMapper.xml @@ -177,7 +177,12 @@ iz_start from nu_biz_nu_directive_order where pool_id = #{id} - AND iz_start = #{izStart} + + AND iz_start = #{izStart} + + + AND start_time >= #{startTime} + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java index 7f51125b..baa9a874 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java @@ -219,7 +219,7 @@ public class CareDataPoolServiceImpl extends ServiceImpl { List queryCurrent(@Param("dto") CareDirectiveEntity dto); + DirectiveOrder getInstantById(DirectiveOrder orders); + DirectiveOrder getDirectiveById(DirectiveOrder orders); + DirectiveOrder getPackageById(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/xml/DirectiveOrderMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/mapper/xml/DirectiveOrderMapper.xml index 65e26606..766807da 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 @@ -53,7 +53,7 @@ - + @@ -114,6 +114,30 @@ + + - select m.id as bizId, m.nu_id as nuId, - m.nu_name as nuName, - elder_id as elderId, - elder_name as elderName, + b.nu_name as nuName, + c.id as elderId, + c.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, - net_preview_file_small as netPreviewFileSmall, - mp3_file as mp3File, - net_mp3_file as netMp3File, - mp4_file as mp4File, - net_mp4_file as netMp4File, - service_duration as serviceDuration, - service_content as serviceContent, + '2' as cycleTypeId, + (select item_text from view_sys_dict where dict_code = 'period_type' and item_value = '2') as cycleType, iz_package, - (case when b.orderly is null then 2 else 1 end) as orderEmp + (case when c.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 + inner join nu_base_info b on m.nu_id = b.nu_id and b.del_flag = '0' + left join nu_biz_elder_info c on m.nu_id = c.nu_id and c.del_flag = '0' where m.id = #{id} + + + + + + + + CREATE TABLE IF NOT EXISTS ${tableName} ( id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID', diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/IDirectiveDataPoolService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/IDirectiveDataPoolService.java index fa36dff0..1887d381 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/IDirectiveDataPoolService.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/IDirectiveDataPoolService.java @@ -15,6 +15,10 @@ public interface IDirectiveDataPoolService extends IService { DirectiveDataPool queryPoolOne(DirectiveDataPool directiveDataPool); + DirectiveDataPool getDirectiveById(String id); + + DirectiveDataPool getPackageById(String id); + void deleteOrders(String dateStr, DirectiveDataPool dataPool); void addDataPoolLog(String dateStr,String id); diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java index baa9a874..0f597272 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java @@ -49,6 +49,17 @@ public class CareDataPoolServiceImpl extends ServiceImpl { - 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 766807da..a8d2b578 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 @@ -479,6 +479,8 @@ a.timeout_duration as timeoutDuration from nu_config_service_directive a where a.id = #{directiveId} + and a.del_flag = '0' + and a.iz_enabled = 'Y' - select - id as poolSubId, - pool_type as orderType, - nu_id as nuId, - nu_name as nuName, - elder_id as elderId, - elder_name as elderName, - instruction_tag_id as instructionTagId, - instruction_tag_name as instructionTagName, - category_id as categoryId, - category_name AS categoryName, - type_id as typeId, - type_name as typeName, - directive_id as directiveId, - directive_name as directiveName, - cycle_type_id as cycleTypeId, - cycle_type as cycleType, - cycle_value as cycleValue, - preview_file as previewFile, - net_preview_file as netPeviewFile, - preview_file_small as previewFileSmall, - net_preview_file_small as netPreviewFileSmall, - mp3_file as mp3File, - net_mp3_file as netMp3File, - mp4_file as mp4File, - net_mp4_file as netMp4File, - service_duration as serviceDuration, - service_content as serviceContent, - package_id as packageId, - package_name as packageName, - iz_package as izPackage, - start_time as startTime, - end_time as endTime - from nu_biz_nu_directive_data_pool_sub - where main_id = #{poolId} - - \ 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 fdf68521..13d41668 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 @@ -14,7 +14,6 @@ import java.util.List; * @Version: V1.0 */ 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 4870cf44..ec09d5f3 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 @@ -49,29 +49,11 @@ public class DirectiveOrderServiceImpl extends ServiceImpl ruleSubList; - private String allowedTimeout; private String serverNetUrl; @Autowired private SdWebsocket sdWebsocket; - /** - * 获取容错时长 - * - * @return - */ - private void getAllowedTimeout() { - if (allowedTimeout == null || allowedTimeout.equals("")) { - JSONObject json = sysConfigApi.getByKey("fwzl_rcsc"); - if (json != null) { - allowedTimeout = json.getString("configValue"); - } - } - if (allowedTimeout == null || allowedTimeout.equals("")) { - allowedTimeout = "0"; - } - } - /** * 获取派单规则 */ @@ -131,10 +113,43 @@ public class DirectiveOrderServiceImpl extends ServiceImpl generateOrdersBatch() { //获取派单规则 getSendOrderRule(); - getAllowedTimeout(); List ordersList = baseMapper.queryDataPoolList(null); for (int i = 0; i < ordersList.size(); i++) { DirectiveOrder orders = ordersList.get(i); + if(orders.getIzPackage().equals("N")){ + //获取有效服务指令 + DirectiveOrder directiveEntity = baseMapper.getDirectiveById(orders); + if(directiveEntity==null){ + continue; + } + orders.setDirectiveName(directiveEntity.getDirectiveName()); + orders.setPreviewFile(directiveEntity.getPreviewFile()); + orders.setPreviewFileSmall(directiveEntity.getPreviewFileSmall()); + orders.setMp3File(directiveEntity.getMp3File()); + orders.setMp4File(directiveEntity.getMp4File()); + orders.setServiceContent(directiveEntity.getServiceContent()); + orders.setServiceDuration(directiveEntity.getServiceDuration()); + orders.setTimeoutDuration(directiveEntity.getTimeoutDuration()); + }else{ + //获取有效服务指令包 + DirectiveOrder packageEntity = baseMapper.getPackageById(orders); + if(packageEntity==null){ + continue; + } + orders.setDirectiveName(packageEntity.getDirectiveName()); + orders.setServiceContent(packageEntity.getServiceContent()); + orders.setServiceDuration(packageEntity.getServiceDuration()); + orders.setTimeoutDuration(packageEntity.getTimeoutDuration()); + } + getNetImages(orders); + String orderNo = getOrderNo(orders.getOrderType()); + orders.setOrderNo(orderNo); + orders.setOptType("1"); + orders.setIzStart("N"); + orders.setIzFinish("N"); + orders.setIzTimeout("N"); + orders.setDelFlag("0"); + generateOrdersSub(orders); //发送websocket消息 try { @@ -162,88 +177,78 @@ public class DirectiveOrderServiceImpl extends ServiceImpl ordersSubList = ordersSubService.queryDataPoolSubList(orders); - String directiveIds = ordersSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(",")); +// System.out.println("护理单元:" + orders.getNuId() + ",服务时间" + orders.getStartTime()); if (orders.getIzPackage().equals("N")) { - //获取满足条件的员工 - DirectiveOrder employee = employeeScreening(directiveIds, orders.getElderId(), null, orders.getStartTime()); - if(employee!=null){ - String orderNo = getOrderNo(orders.getOrderType()); - orders.setOrderNo(orderNo); - orders.setEmployeeId(employee.getEmployeeId()); - orders.setEmployeeName(employee.getEmployeeName()); - orders.setIzStart("N"); - orders.setIzFinish("N"); - orders.setOrderType("1"); - orders.setOptType("1"); - orders.setIzTimeout("N"); - orders.setOptIds(employee.getEmployeeId()); - orders.setOptNames(employee.getEmployeeName()); - orders.setServiceAllowedTimeout(allowedTimeout); - this.save(orders);//生成工单主表 - for (int i = 0; i < ordersSubList.size(); i++) { - DirectiveOrderSub ordersSub = ordersSubList.get(i); - ordersSub.setOrderNo(getOrderSubNo(orderNo)); - ordersSub.setMainId(orders.getId()); - ordersSub.setEmployeeId(employee.getEmployeeId()); - ordersSub.setEmployeeName(employee.getEmployeeName()); - ordersSub.setIzStart("N"); - ordersSub.setIzFinish("N"); - ordersSub.setOptType("1"); - ordersSub.setIzTimeout("N"); - ordersSub.setOptIds(employee.getEmployeeId()); - ordersSub.setOptNames(employee.getEmployeeName()); - ordersSub.setServiceAllowedTimeout(allowedTimeout); - ordersSubService.save(ordersSub);//生成工单子表 - } - baseMapper.updatePoolIzOrder(orders.getPoolId()); - System.out.println("护理单元:" + orders.getNuId() + ",服务时间:" + orders.getStartTime() + ",服务员工:" + employee.getEmployeeName() + ",获得积分:" + employee.getLevel()); - System.out.println(""); - System.out.println(""); - System.out.println(""); - } - } else { - List 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(orders.getOrderType()); - orders.setOrderNo(orderNo); - orders.setEmployeeId(employee.getEmployeeId()); - orders.setEmployeeName(employee.getEmployeeName()); - orders.setIzStart("N"); - orders.setIzFinish("N"); - orders.setOrderType("1"); - orders.setOptType("1"); - orders.setIzTimeout("N"); - orders.setOptIds(employee.getEmployeeId()); - orders.setOptNames(employee.getEmployeeName()); - orders.setServiceAllowedTimeout(allowedTimeout); - this.save(orders);//生成工单主表 - for (int i = 0; i < ordersSubList.size(); i++) { - DirectiveOrderSub ordersSub = ordersSubList.get(i); - ordersSub.setOrderNo(getOrderSubNo(orderNo)); - ordersSub.setMainId(orders.getId()); - ordersSub.setEmployeeId(employee.getEmployeeId()); - ordersSub.setEmployeeName(employee.getEmployeeName()); - ordersSub.setIzStart("N"); - ordersSub.setIzFinish("N"); - ordersSub.setOptType("1"); - ordersSub.setIzTimeout("N"); - ordersSub.setOptIds(employee.getEmployeeId()); - ordersSub.setOptNames(employee.getEmployeeName()); - ordersSub.setServiceAllowedTimeout(allowedTimeout); - ordersSubService.save(ordersSub);//生成工单子表 - } - baseMapper.updatePoolIzOrder(orders.getPoolId()); - System.out.println("护理单元:" + orders.getNuId() + ",服务时间:" + orders.getStartTime() + ",服务员工:" + employee.getEmployeeName() + ",获得积分:" + employee.getLevel()); - System.out.println(""); - System.out.println(""); - System.out.println(""); + List ordersSubList = ordersSubService.getDirectiveList(orders.getDirectiveId()); + if(ordersSubList!=null&&ordersSubList.size()>0){ + String directiveIds = ordersSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(",")); + //获取满足条件的员工 + DirectiveOrder employee = employeeScreening(directiveIds, orders.getElderId(), null, orders.getStartTime()); + if(employee!=null){ + orders.setEmployeeId(employee.getEmployeeId()); + orders.setEmployeeName(employee.getEmployeeName()); + orders.setOptIds(employee.getEmployeeId()); + orders.setOptNames(employee.getEmployeeName()); + this.save(orders);//生成工单主表 + for (int i = 0; i < ordersSubList.size(); i++) { + DirectiveOrderSub ordersSub = ordersSubList.get(i); + ordersSub.setOrderNo(getOrderSubNo(orders.getOrderNo())); + ordersSub.setMainId(orders.getId()); + ordersSub.setEmployeeId(employee.getEmployeeId()); + ordersSub.setEmployeeName(employee.getEmployeeName()); + ordersSub.setIzStart("N"); + ordersSub.setIzFinish("N"); + ordersSub.setOptType("1"); + ordersSub.setIzTimeout("N"); + ordersSub.setOptIds(employee.getEmployeeId()); + ordersSub.setOptNames(employee.getEmployeeName()); + ordersSubService.save(ordersSub);//生成工单子表 + } + baseMapper.updatePoolIzOrder(orders.getPoolId()); +// System.out.println("护理单元:" + orders.getNuId() + ",服务时间:" + orders.getStartTime() + ",服务员工:" + employee.getEmployeeName() + ",获得积分:" + employee.getLevel()); +// System.out.println(""); +// System.out.println(""); +// System.out.println(""); } + } + } else { + + List ordersSubList = ordersSubService.getSubDirectiveList(orders.getDirectiveId()); + if(ordersSubList!=null&&ordersSubList.size()>0){ + String directiveIds = ordersSubList.stream().map(DirectiveOrderSub::getDirectiveId).collect(Collectors.joining(",")); + + List 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){ + orders.setEmployeeId(employee.getEmployeeId()); + orders.setEmployeeName(employee.getEmployeeName()); + orders.setOptIds(employee.getEmployeeId()); + orders.setOptNames(employee.getEmployeeName()); + this.save(orders);//生成工单主表 + for (int i = 0; i < ordersSubList.size(); i++) { + DirectiveOrderSub ordersSub = ordersSubList.get(i); + ordersSub.setOrderNo(getOrderSubNo(orders.getOrderNo())); + ordersSub.setMainId(orders.getId()); + ordersSub.setEmployeeId(employee.getEmployeeId()); + ordersSub.setEmployeeName(employee.getEmployeeName()); + ordersSub.setIzStart("N"); + ordersSub.setIzFinish("N"); + ordersSub.setOptType("1"); + ordersSub.setIzTimeout("N"); + ordersSub.setOptIds(employee.getEmployeeId()); + ordersSub.setOptNames(employee.getEmployeeName()); + ordersSubService.save(ordersSub);//生成工单子表 + } + baseMapper.updatePoolIzOrder(orders.getPoolId()); +// System.out.println("护理单元:" + orders.getNuId() + ",服务时间:" + orders.getStartTime() + ",服务员工:" + employee.getEmployeeName() + ",获得积分:" + employee.getLevel()); +// System.out.println(""); +// System.out.println(""); +// System.out.println(""); + } + } } } @@ -272,10 +277,10 @@ public class DirectiveOrderServiceImpl extends ServiceImpl empList = getEmpPermissionAndOnline(directiveIds, employeeIds, startTime); if (empList.size() > 0) { - for (int i = 0; i < empList.size(); i++) { - DirectiveOrder emp = empList.get(i); - System.out.println("员工信息:" + emp.getEmployeeName() + "," + emp.getOrderCap() + "," + emp.getOrderNum() + "," + emp.getTotalDuration() + "," + emp.getTotalComPrice() + "," + emp.getMaxTime() + "," + emp.getOwnCn() + "," + emp.getIzFree()); - } +// for (int i = 0; i < empList.size(); i++) { +// DirectiveOrder emp = empList.get(i); +// System.out.println("员工信息:" + emp.getEmployeeName() + "," + emp.getOrderCap() + "," + emp.getOrderNum() + "," + emp.getTotalDuration() + "," + emp.getTotalComPrice() + "," + emp.getMaxTime() + "," + emp.getOwnCn() + "," + emp.getIzFree()); +// } if (ruleSubList.size() > 0) { for (SendOrderRuleSub ruleSub : ruleSubList) { switch (ruleSub.getRuleCode()) { @@ -331,10 +336,10 @@ public class DirectiveOrderServiceImpl extends ServiceImpl 0) { List newList = new ArrayList(); newList.addAll(empList); - for (int i = 0; i < empList.size(); i++) { - DirectiveOrder emp = empList.get(i); - System.out.println("员工信息:" + emp.getEmployeeName() + "," + emp.getOrderCap() + "," + emp.getOrderNum() + "," + emp.getTotalDuration() + "," + emp.getTotalComPrice() + "," + emp.getMaxTime() + "," + emp.getOwnCn() + "," + emp.getIzFree()); - } +// for (int i = 0; i < empList.size(); i++) { +// DirectiveOrder emp = empList.get(i); +// System.out.println("员工信息:" + emp.getEmployeeName() + "," + emp.getOrderCap() + "," + emp.getOrderNum() + "," + emp.getTotalDuration() + "," + emp.getTotalComPrice() + "," + emp.getMaxTime() + "," + emp.getOwnCn() + "," + emp.getIzFree()); +// } //****************获取指定护理员工列表,不指定的排除掉=============================> getByOrderly(empList, elderId); @@ -398,7 +403,7 @@ public class DirectiveOrderServiceImpl extends ServiceImpl packageSubList = null; String employeeId = ""; String employeeName = ""; Calendar c = Calendar.getInstance(); Date startTime = c.getTime(); + if(orders.getIzPackage().equals("N")){ + //获取服务指令 + DirectiveOrder directiveEntity = baseMapper.getDirectiveById(orders); + orders.setDirectiveName(directiveEntity.getDirectiveName()); + orders.setPreviewFile(directiveEntity.getPreviewFile()); + orders.setPreviewFileSmall(directiveEntity.getPreviewFileSmall()); + orders.setMp3File(directiveEntity.getMp3File()); + orders.setMp4File(directiveEntity.getMp4File()); + orders.setServiceContent(directiveEntity.getServiceContent()); + orders.setServiceDuration(directiveEntity.getServiceDuration()); + orders.setTimeoutDuration(directiveEntity.getTimeoutDuration()); + }else{ + //获取服务指令包 + DirectiveOrder packageEntity = baseMapper.getPackageById(orders); + orders.setDirectiveName(packageEntity.getDirectiveName()); + orders.setServiceContent(packageEntity.getServiceContent()); + orders.setServiceDuration(packageEntity.getServiceDuration()); + orders.setTimeoutDuration(packageEntity.getTimeoutDuration()); + } + + //需改造 String duration = orders.getServiceDuration(); if(duration.equals("")||duration.equals("0")){ c.set(Calendar.YEAR,3000); @@ -724,11 +750,9 @@ public class DirectiveOrderServiceImpl extends ServiceImpl implements IDirectiveOrderSubService { - @Override - public List queryDataPoolSubList(DirectiveOrder orders){ - return baseMapper.queryDataPoolSubList(orders); - } - @Override public List getDirectiveList(String directiveId){ return baseMapper.getDirectiveList(directiveId); From 24bc000f8d2e9a9605225099bcd28d86b7217ef5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Mon, 19 Jan 2026 16:10:28 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4-?= =?UTF-8?q?=E6=97=A5=E5=B8=B8=E6=8C=87=E4=BB=A4=E7=94=9F=E6=88=90=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=B1=A0BUG=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/datapool/service/impl/CareDataPoolServiceImpl.java | 6 +++--- .../datapool/service/impl/InvoicingDataPoolServiceImpl.java | 6 +++--- .../datapool/service/impl/LogisticsDataPoolServiceImpl.java | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java index 0f597272..80dea361 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/datapool/service/impl/CareDataPoolServiceImpl.java @@ -49,13 +49,13 @@ public class CareDataPoolServiceImpl extends ServiceImpl Date: Mon, 19 Jan 2026 16:35:00 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4-?= =?UTF-8?q?=E6=8A=A4=E7=90=86=E7=B1=BB=E9=9D=9E=E5=8C=85=E6=AF=8F=E6=97=A5?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=95=B0=E6=8D=AE=E6=B1=A0=E3=80=81=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nu/entity/CareOrdersSubEntity.java | 2 - .../biz/order/entity/DirectiveOrderSub.java | 2 - .../impl/DirectiveOrderServiceImpl.java | 61 +++++++++++++++++-- 3 files changed, 57 insertions(+), 8 deletions(-) diff --git a/nursing-unit-common/src/main/java/com/nu/entity/CareOrdersSubEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/CareOrdersSubEntity.java index 670c8eb0..dadbd705 100644 --- a/nursing-unit-common/src/main/java/com/nu/entity/CareOrdersSubEntity.java +++ b/nursing-unit-common/src/main/java/com/nu/entity/CareOrdersSubEntity.java @@ -29,8 +29,6 @@ public class CareOrdersSubEntity implements Serializable { private String orderNo; /**主表id*/ private String mainId; - /**数据池子表ID*/ - private String poolSubId; /**护理单元id*/ private String nuId; /**护理单元名称*/ diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/entity/DirectiveOrderSub.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/entity/DirectiveOrderSub.java index b4b68efd..bb017f72 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/entity/DirectiveOrderSub.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/order/entity/DirectiveOrderSub.java @@ -36,8 +36,6 @@ public class DirectiveOrderSub implements Serializable { private String orderType; /**主表id*/ private String mainId; - /**数据池子表ID*/ - private String poolSubId; /**护理单元id*/ private String nuId; /**护理单元名称*/ 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 ec09d5f3..6a0fecd5 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 @@ -141,6 +141,25 @@ public class DirectiveOrderServiceImpl extends ServiceImpl