From 181b747ba9425e25e2033e1ba99edd0ad50dd505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Thu, 20 Nov 2025 17:21:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4=E6=B4=BE?= =?UTF-8?q?=E5=8D=95=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/NuBizNuCustomerServer.java | 142 ++++----- .../entity/NuBizNuCustomerServerInstant.java | 45 +-- .../NuBizNuCustomerServerServiceImpl.java | 98 +++++-- .../directive/datapool/entity/DataPool.java | 59 +++- .../datapool/entity/DataPoolSub.java | 4 + .../datapool/mapper/DataPoolMapper.java | 10 + .../datapool/mapper/xml/DataPoolMapper.xml | 254 ++++++++++++++-- .../service/impl/DataPoolServiceImpl.java | 127 +++++++- .../directive/order/entity/Orders.java | 162 ++++++++++ .../directive/order/entity/OrdersSub.java | 137 +++++++++ .../directive/order/job/OrdersJob.java | 27 ++ .../directive/order/mapper/OrdersMapper.java | 20 ++ .../order/mapper/OrdersSubMapper.java | 17 ++ .../order/mapper/xml/OrdersMapper.xml | 109 +++++++ .../order/mapper/xml/OrdersSubMapper.xml | 42 +++ .../order/service/IOrdersService.java | 15 + .../order/service/IOrdersSubService.java | 17 ++ .../order/service/impl/OrdersServiceImpl.java | 277 ++++++++++++++++++ .../service/impl/OrdersSubServiceImpl.java | 27 ++ .../NuConfigServiceCategoryServiceImpl.java | 28 +- .../java/com/nu/entity/ElderServerEntity.java | 4 + .../elderinfo/mapper/xml/ElderInfoMapper.xml | 7 +- 22 files changed, 1438 insertions(+), 190 deletions(-) create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/entity/Orders.java create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/entity/OrdersSub.java create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/job/OrdersJob.java create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/OrdersMapper.java create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/OrdersSubMapper.java create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/xml/OrdersMapper.xml create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/xml/OrdersSubMapper.xml create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/IOrdersService.java create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/IOrdersSubService.java create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/impl/OrdersServiceImpl.java create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/impl/OrdersSubServiceImpl.java diff --git a/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServer.java b/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServer.java index 8e733a6..99e582b 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServer.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServer.java @@ -35,132 +35,89 @@ public class NuBizNuCustomerServer implements Serializable { /**id*/ @TableId(type = IdType.ASSIGN_ID) - @ApiModelProperty(value = "id") - private java.lang.String id; + private String id; /**护理单元id*/ - @Excel(name = "护理单元id", width = 15) - @ApiModelProperty(value = "护理单元id") - private java.lang.String nuId; + private String nuId; /**护理单元名称*/ - @Excel(name = "护理单元名称", width = 15) - @ApiModelProperty(value = "护理单元名称") - private java.lang.String nuName; + private String nuName; /**客户id*/ - @Excel(name = "客户id", width = 15) - @ApiModelProperty(value = "客户id") - private java.lang.String customerId; + private String customerId; /**客户姓名*/ - @Excel(name = "客户姓名", width = 15) - @ApiModelProperty(value = "客户姓名") - private java.lang.String customerName; + private String customerName; /**服务类别id*/ - @Excel(name = "服务类别id", width = 15) - @ApiModelProperty(value = "服务类别id") - private java.lang.String categoryId; + private String categoryId; /**服务类别名称*/ - @Excel(name = "服务类别名称", width = 15) - @ApiModelProperty(value = "服务类别名称") - private java.lang.String categoryName; + private String categoryName; /**服务类型id*/ - @Excel(name = "服务类型id", width = 15) - @ApiModelProperty(value = "服务类型id") - private java.lang.String typeId; + private String typeId; /**服务类型名称*/ - @Excel(name = "服务类型名称", width = 15) - @ApiModelProperty(value = "服务类型名称") - private java.lang.String typeName; + private String typeName; /**服务指令id*/ - @Excel(name = "服务指令id", width = 15) - @ApiModelProperty(value = "服务指令id") - private java.lang.String directiveId; + private String directiveId; /**服务指令名称*/ - @Excel(name = "服务指令名称", width = 15) - @ApiModelProperty(value = "服务指令名称") - private java.lang.String directiveName; + private String directiveName; /**周期类型ID*/ - @Excel(name = "周期类型ID", width = 15) - @ApiModelProperty(value = "周期类型ID") - private java.lang.String cycleTypeId; + private String cycleTypeId; /**周期类型*/ - @Excel(name = "周期类型", width = 15) - @ApiModelProperty(value = "周期类型") - private java.lang.String cycleType; + private String cycleType; /**周期值*/ - @Excel(name = "周期值", width = 15) - @ApiModelProperty(value = "周期值") - private java.lang.String cycleValue; + private String cycleValue; /**即时指令图标*/ - @ApiModelProperty(value = "即时指令图标") - private java.lang.String immediateFile; - /**即时指令焦点图标*/ - @ApiModelProperty(value = "即时指令图标") - private java.lang.String immediateFileFocus; - /**服务指令图片大图*/ - @ApiModelProperty(value = "服务指令图片大图") - private java.lang.String previewFile; - /**服务指令图片小图*/ - @ApiModelProperty(value = "服务指令图片小图") - private java.lang.String previewFileSmall; + private String immediateFile; /**即时指令图标*/ - @ApiModelProperty(value = "即时指令图标") - @TableField(exist = false) - private java.lang.String netImmediateFile; + private String netImmediateFile; /**即时指令焦点图标*/ - @ApiModelProperty(value = "即时指令图标") - @TableField(exist = false) - private java.lang.String netImmediateFileFocus; + private String immediateFileFocus; + /**即时指令焦点图标*/ + private String netImmediateFileFocus; /**服务指令图片大图*/ - @ApiModelProperty(value = "服务指令图片大图") - @TableField(exist = false) - private java.lang.String netPreviewFile; + private String previewFile; + /**服务指令图片大图*/ + private String netPreviewFile; /**服务指令图片小图*/ - @ApiModelProperty(value = "服务指令图片小图") - @TableField(exist = false) - private java.lang.String netPreviewFileSmall; + private String previewFileSmall; + /**服务指令图片小图*/ + private String netPreviewFileSmall; + /**指令音频文件*/ + private String mp3File; + /**指令音频文件-网络地址*/ + private String netMp3File; + /**指令视频文件*/ + private String mp4File; + /**指令视频文件-网络地址*/ + private String netMp4File; + /**服务指令时长*/ + private String serviceDuration; + /**服务描述*/ + private String serviceContent; /**定位*/ - @Excel(name = "定位", width = 15) - @ApiModelProperty(value = "定位") - private java.lang.String positioning; + private String positioning; /**纵向定位*/ - @Excel(name = "纵向定位", width = 15) - @ApiModelProperty(value = "纵向定位") - private java.lang.String positioningLong; + private String positioningLong; /**PAD端无线循环使用*/ - @Excel(name = "PAD端无线循环使用", width = 15) - @ApiModelProperty(value = "PAD端无线循环使用") - private java.lang.String tagName; + private String tagName; /**开始时间*/ - @ApiModelProperty(value = "开始时间") - private java.lang.String startTime; + private String startTime; /**结束时间*/ - @ApiModelProperty(value = "结束时间") - private java.lang.String endTime; + private String endTime; /**创建人*/ - @ApiModelProperty(value = "创建人") - private java.lang.String createBy; + private String createBy; /**创建日期*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "创建日期") private java.util.Date createTime; /**更新人*/ - @ApiModelProperty(value = "更新人") - private java.lang.String updateBy; + private String updateBy; /**更新日期*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "更新日期") private java.util.Date updateTime; /**所属部门*/ - @ApiModelProperty(value = "所属部门") - private java.lang.String sysOrgCode; - /**是否是服务指令包 0否 1是*/ - @ApiModelProperty(value = "是否是服务指令包") - private java.lang.String izPackage; - + private String sysOrgCode; + /**是否是服务指令包 N否 Y是*/ + private String izPackage; @TableField(exist = false) - @ApiModelProperty(value = "指令包ID") - private java.lang.String packageId; + private String packageId; /**服务指令列表**/ @TableField(exist = false) @@ -174,6 +131,5 @@ public class NuBizNuCustomerServer implements Serializable { /**服务包中的服务列表**/ @TableField(exist = false) private List directivesList; - /**服务指令时长*/ - private String serviceDuration; + } diff --git a/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServerInstant.java b/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServerInstant.java index 538b706..c9e4142 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServerInstant.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/entity/NuBizNuCustomerServerInstant.java @@ -77,31 +77,43 @@ public class NuBizNuCustomerServerInstant implements Serializable { /**即时指令图标*/ @ApiModelProperty(value = "即时指令图标") private java.lang.String immediateFile; - /**即时指令焦点图标*/ - @ApiModelProperty(value = "即时指令图标") - private java.lang.String immediateFileFocus; - /**服务指令图片大图*/ - @ApiModelProperty(value = "服务指令图片大图") - private java.lang.String previewFile; - /**服务指令图片小图*/ - @ApiModelProperty(value = "服务指令图片小图") - private java.lang.String previewFileSmall; /**即时指令图标*/ @ApiModelProperty(value = "即时指令图标") - @TableField(exist = false) private java.lang.String netImmediateFile; /**即时指令焦点图标*/ @ApiModelProperty(value = "即时指令图标") - @TableField(exist = false) + private java.lang.String immediateFileFocus; + /**即时指令焦点图标*/ + @ApiModelProperty(value = "即时指令图标") private java.lang.String netImmediateFileFocus; /**服务指令图片大图*/ @ApiModelProperty(value = "服务指令图片大图") - @TableField(exist = false) + private java.lang.String previewFile; + /**服务指令图片大图*/ + @ApiModelProperty(value = "服务指令图片大图") private java.lang.String netPreviewFile; /**服务指令图片小图*/ @ApiModelProperty(value = "服务指令图片小图") - @TableField(exist = false) + private java.lang.String previewFileSmall; + /**服务指令图片小图*/ + @ApiModelProperty(value = "服务指令图片小图") private java.lang.String netPreviewFileSmall; + /**指令音频文件*/ + @ApiModelProperty(value = "指令音频文件") + private String mp3File; + /**指令音频文件-网络地址*/ + @ApiModelProperty(value = "指令音频文件") + private String netMp3File; + /**指令视频文件*/ + @ApiModelProperty(value = "指令视频文件") + private String mp4File; + /**指令视频文件-网络地址*/ + @ApiModelProperty(value = "指令视频文件") + private String netMp4File; + /**服务时长(分钟)*/ + private String serviceDuration; + /**服务描述*/ + private String serviceContent; /**创建人*/ @ApiModelProperty(value = "创建人") private String createBy; @@ -121,13 +133,10 @@ public class NuBizNuCustomerServerInstant implements Serializable { /**所属部门*/ @ApiModelProperty(value = "所属部门") private String sysOrgCode; - /**是否是服务指令包 0否 1是*/ + /**是否是服务指令包 N否 Y是*/ @ApiModelProperty(value = "是否是服务指令包") private java.lang.String izPackage; @ApiModelProperty(value = "排序") private java.lang.Long sort; - /** - * 服务时长(分钟) - */ - private String serviceDuration; + } diff --git a/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/service/impl/NuBizNuCustomerServerServiceImpl.java b/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/service/impl/NuBizNuCustomerServerServiceImpl.java index 8de8ef1..ad34a7a 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/service/impl/NuBizNuCustomerServerServiceImpl.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/NuBizNuCustomerServer/service/impl/NuBizNuCustomerServerServiceImpl.java @@ -136,9 +136,10 @@ public class NuBizNuCustomerServerServiceImpl extends ServiceImpl instantList = nuBizNuCustomerServerInstantService.list(instantQueryWrapper); - for (NuBizNuCustomerServerInstant pari : instantList) { - if (pari.getImmediateFile() != null) { - String immediateFile = getImageNetUrl(pari.getImmediateFile()); - pari.setNetImmediateFile(immediateFile); - } else { - pari.setImmediateFile(""); - pari.setNetImmediateFile(""); - } - if (pari.getImmediateFileFocus() != null) { - String immediateFileFocus = getImageNetUrl(pari.getImmediateFileFocus()); - pari.setNetImmediateFileFocus(immediateFileFocus); - } else { - pari.setImmediateFileFocus(""); - pari.setNetImmediateFileFocus(""); - } - if (pari.getPreviewFile() != null) { - String previewFile = getImageNetUrl(pari.getPreviewFile()); - pari.setNetPreviewFile(previewFile); - } else { - pari.setPreviewFile(""); - pari.setNetPreviewFile(""); - } - if (pari.getPreviewFileSmall() != null) { - String previewFileSmall = getImageNetUrl(pari.getPreviewFileSmall()); - pari.setNetPreviewFileSmall(previewFileSmall); - } else { - pari.setPreviewFileSmall(""); - pari.setNetPreviewFileSmall(""); - } - } +// for (NuBizNuCustomerServerInstant pari : instantList) { +// getInstantNetImages(pari); +// } resMap.put("instantList", instantList); NuBizNuCustomerElderTag elderTag = new NuBizNuCustomerElderTag(); //体型标签 @@ -254,6 +228,66 @@ public class NuBizNuCustomerServerServiceImpl extends ServiceImpl { void deleteDataPool(DataPool dataPool); void deleteDataPoolSub(DataPool dataPool); + + void createOrdersLog(DataPool dataPool); + void createOrdersLogSub(DataPool dataPool); + + void addOrdersLog(DataPool dataPool); + void addOrdersSubLog(DataPool dataPool); + + DataPool queryOrdersOne(DataPool dataPool); + void deleteOrders(DataPool dataPool); + void deleteOrdersSub(DataPool dataPool); } diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/datapool/mapper/xml/DataPoolMapper.xml b/nursing-unit-api/src/main/java/com/nu/modules/directive/datapool/mapper/xml/DataPoolMapper.xml index c7de04f..adfaeb1 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/directive/datapool/mapper/xml/DataPoolMapper.xml +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/datapool/mapper/xml/DataPoolMapper.xml @@ -18,7 +18,17 @@ CONCAT(CURDATE(), ' ',STR_TO_DATE(end_time, '%H:%i')) as endTime, cycle_type_id as cycleTypeId, cycle_type as cycleType, - cycle_value as cycleValue + cycle_value as cycleValue, + 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 from nu_biz_nu_customer_care_server @@ -44,21 +54,31 @@ @@ -74,11 +94,24 @@ directive_id, directive_name, cycle_type_id, + cycle_type, + cycle_value, + preview_file, + net_preview_file, + preview_file_small, + net_preview_file_small, + mp3_file, + net_mp3_file, + mp4_file, + net_mp4_file, + service_duration, + service_content, package_id, package_name, iz_package, start_time, end_time, + iz_orders, iz_start from nu_biz_nu_directive_data_pool @@ -117,6 +150,18 @@ directive_id, directive_name, cycle_type_id, + cycle_type, + cycle_value, + preview_file, + net_preview_file, + preview_file_small, + net_preview_file_small, + mp3_file, + net_mp3_file, + mp4_file, + net_mp4_file, + service_duration, + service_content, package_id, package_name, iz_package, @@ -166,11 +211,22 @@ cycle_type_id varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期类型ID', cycle_type varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期类型', cycle_value varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期值', + preview_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令图片大图', + net_preview_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令图片大图-网络地址', + preview_file_small varchar(300) CHARACTER SET utf32 COLLATE utf32_general_ci NULL DEFAULT NULL COMMENT '服务指令图片小图', + net_preview_file_small varchar(300) CHARACTER SET utf32 COLLATE utf32_general_ci NULL DEFAULT NULL COMMENT '服务指令图片小图-网络地址', + mp3_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音文件', + net_mp3_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音文件-网络地址', + mp4_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频文件', + net_mp4_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频文件-网络地址', + service_duration varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务时长(分钟)', + service_content varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务说明', package_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令包ID', package_name varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令包名称', iz_package varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否是服务指令包 Y是 N否', start_time datetime(0) NULL DEFAULT NULL COMMENT '开始时间', end_time datetime(0) NULL DEFAULT NULL COMMENT '结束时间', + iz_orders varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否生成工单 Y是 N否', iz_start varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否开始 Y是 N否', create_by varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', create_time datetime(0) NULL DEFAULT NULL COMMENT '创建日期', @@ -188,10 +244,10 @@ main_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主表ID,nu_biz_nu_directive_data_pool.id', nu_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '护理单元ID,nu_base_info.id', nu_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '护理单元名称', - instruction_tag_id varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类标签', - instruction_tag_name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类标签名称', customer_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户ID,nu_biz_customer_info.id', customer_name varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户名称', + instruction_tag_id varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类标签', + instruction_tag_name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类标签名称', category_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务类别ID,nu_config_service_category.id', category_name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务类别名称', type_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务类型ID,nu_config_service_type.id', @@ -202,9 +258,13 @@ cycle_type varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期类型', cycle_value varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期值', preview_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令图片大图', + net_preview_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令图片大图-网络地址', preview_file_small varchar(300) CHARACTER SET utf32 COLLATE utf32_general_ci NULL DEFAULT NULL COMMENT '服务指令图片小图', + net_preview_file_small varchar(300) CHARACTER SET utf32 COLLATE utf32_general_ci NULL DEFAULT NULL COMMENT '服务指令图片小图-网络地址', mp3_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音文件', + net_mp3_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音文件-网络地址', mp4_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频文件', + net_mp4_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频文件-网络地址', service_duration varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务时长(分钟)', service_content varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务说明', package_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令包ID', @@ -274,4 +334,162 @@ + + CREATE TABLE IF NOT EXISTS ${tableName} ( + id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID', + pool_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据池主表ID,nu_biz_nu_directive_data_pool.id', + biz_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令计划ID,nu_biz_nu_customer_server.id;即时指令计划ID,nu_biz_nu_customer_care_server_instant.id', + nu_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '护理单元ID,nu_base_info.id', + nu_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '护理单元名称', + customer_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户ID,nu_biz_customer_info.id', + customer_name varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户名称', + employee_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '员工ID', + employee_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '员工姓名', + directive_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令ID,nu_config_service_directive.id', + directive_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令名称', + cycle_type_id varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期类型ID', + cycle_type varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期类型', + cycle_value varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期值', + preview_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令图片大图', + net_preview_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令图片大图-网络地址', + preview_file_small varchar(300) CHARACTER SET utf32 COLLATE utf32_general_ci NULL DEFAULT NULL COMMENT '服务指令图片小图', + net_preview_file_small varchar(300) CHARACTER SET utf32 COLLATE utf32_general_ci NULL DEFAULT NULL COMMENT '服务指令图片小图-网络地址', + mp3_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音文件', + net_mp3_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音文件-网络地址', + mp4_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频文件', + net_mp4_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频文件-网络地址', + service_duration varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务时长(分钟)', + service_content varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务说明', + package_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令包ID', + package_name varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令包名称', + iz_package varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否是服务指令包 Y是 N否', + start_time datetime(0) NULL DEFAULT NULL COMMENT '开始时间', + end_time datetime(0) NULL DEFAULT NULL COMMENT '结束时间', + begin_time datetime(0) NULL DEFAULT NULL COMMENT '开始时间', + finish_time datetime(0) NULL DEFAULT NULL COMMENT '结束时间', + iz_start varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否开始 Y是 N否', + iz_finish varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否开始 Y是 N否', + create_by varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + create_time datetime(0) NULL DEFAULT NULL COMMENT '创建日期', + update_by varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + update_time datetime(0) NULL DEFAULT NULL COMMENT '更新日期', + del_flag varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否删除 0未删除 1删除', + remarks varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (id) USING BTREE + ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '护理单元-服务指令-工单日志主表' ROW_FORMAT = Dynamic; + + + + CREATE TABLE IF NOT EXISTS ${tableName} ( + id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ID', + main_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主表ID,nu_biz_nu_directive_data_pool.id', + pool_sub_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据池子表ID,nu_biz_nu_directive_data_pool_sub.id', + nu_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '护理单元ID,nu_base_info.id', + nu_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '护理单元名称', + customer_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户ID,nu_biz_customer_info.id', + customer_name varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户名称', + employee_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '员工ID', + employee_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '员工姓名', + instruction_tag_id varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类标签', + instruction_tag_name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分类标签名称', + category_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务类别ID,nu_config_service_category.id', + category_name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务类别名称', + type_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务类型ID,nu_config_service_type.id', + type_name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务类型名称', + directive_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令ID,nu_config_service_directive.id', + directive_name varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令名称', + cycle_type_id varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期类型ID', + cycle_type varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期类型', + cycle_value varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '周期值', + preview_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令图片大图', + net_preview_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令图片大图-网络地址', + preview_file_small varchar(300) CHARACTER SET utf32 COLLATE utf32_general_ci NULL DEFAULT NULL COMMENT '服务指令图片小图', + net_preview_file_small varchar(300) CHARACTER SET utf32 COLLATE utf32_general_ci NULL DEFAULT NULL COMMENT '服务指令图片小图-网络地址', + mp3_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音文件', + net_mp3_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音文件-网络地址', + mp4_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频文件', + net_mp4_file varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频文件-网络地址', + service_duration varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务时长(分钟)', + service_content varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务说明', + toll_price decimal(12, 6) NULL DEFAULT NULL COMMENT '收费价格', + com_price decimal(12, 6) NULL DEFAULT NULL COMMENT '收费价格', + real_com_price decimal(12, 6) NULL DEFAULT NULL COMMENT '收费价格', + package_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令包ID', + package_name varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '服务指令包名称', + iz_package varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '是否是服务指令包 Y是 N否', + start_time datetime(0) NULL DEFAULT NULL COMMENT '开始时间', + end_time datetime(0) NULL DEFAULT NULL COMMENT '结束时间', + begin_time datetime(0) NULL DEFAULT NULL COMMENT '开始时间', + finish_time datetime(0) NULL DEFAULT NULL COMMENT '结束时间', + iz_start varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否开始 Y是 N否', + iz_finish varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否开始 Y是 N否', + create_by varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人', + create_time datetime(0) NULL DEFAULT NULL COMMENT '创建日期', + update_by varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人', + update_time datetime(0) NULL DEFAULT NULL COMMENT '更新日期', + del_flag varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '是否删除 0未删除 1删除', + remarks varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', + PRIMARY KEY (id) USING BTREE + ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '护理单元-服务指令-工单日志子表' ROW_FORMAT = Dynamic; + + + + + + insert into ${tableName} + select a.*,#{remarks} + from nu_biz_nu_directive_order a + where id = #{id} + + + + insert into ${tableName} + select a.*,#{remarks} + from nu_biz_nu_directive_order_sub a + where main_id = #{id} + + + + delete from nu_biz_nu_directive_order + where id = #{id} + + + + delete from nu_biz_nu_directive_order_sub a + where main_id = #{id} + + diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/datapool/service/impl/DataPoolServiceImpl.java b/nursing-unit-api/src/main/java/com/nu/modules/directive/datapool/service/impl/DataPoolServiceImpl.java index bc64c9b..808ed39 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/directive/datapool/service/impl/DataPoolServiceImpl.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/datapool/service/impl/DataPoolServiceImpl.java @@ -1,5 +1,6 @@ package com.nu.modules.directive.datapool.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nu.modules.NuBizNuCustomerServer.entity.NuBizNuCustomerServer; import com.nu.modules.directive.datapool.entity.DataPool; @@ -7,6 +8,8 @@ import com.nu.modules.directive.datapool.entity.DataPoolSub; import com.nu.modules.directive.datapool.mapper.DataPoolMapper; import com.nu.modules.directive.datapool.service.IDataPoolService; import com.nu.modules.directive.datapool.service.IDataPoolSubService; +import com.nu.modules.directive.order.entity.OrdersSub; +import com.nu.modules.sysconfig.ISysConfigApi; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.jeecg.common.util.DateUtils; @@ -31,6 +34,10 @@ public class DataPoolServiceImpl extends ServiceImpl i @Autowired IDataPoolSubService dataPoolSubService; + @Autowired + private ISysConfigApi sysConfigApi; + + private String serverNetUrl; /** * 批量生成数据池 @@ -75,6 +82,7 @@ public class DataPoolServiceImpl extends ServiceImpl i Date endTime = c.getTime(); if(dataTime.getTime()>=startTime.getTime()){ if(dataTime.getTime()<=endTime.getTime()){ + dataPool.setIzOrders("N"); dataPool.setIzStart("N"); dataPool.setDelFlag("0"); String izPackage = dataPool.getIzPackage(); @@ -160,6 +168,7 @@ public class DataPoolServiceImpl extends ServiceImpl i DataPoolSub entity = new DataPoolSub(); entity.setDirectiveId(dataPool.getDirectiveId()); DataPoolSub dataPoolSub = dataPoolSubService.queryDirectiveOne(entity); + getNetImagesSub(dataPoolSub);//获取网络地址 dataPoolSub.setCycleValue(dataPool.getCycleValue()); dataPoolSub.setNuId(dataPool.getNuId()); dataPoolSub.setNuName(dataPool.getNuName()); @@ -192,6 +201,7 @@ public class DataPoolServiceImpl extends ServiceImpl i List subList = dataPoolSubService.queryDirectiveList(entity); for(int i=0;i i dataPool.setNuName(nuBizNuCustomerServer.getNuName()); dataPool.setCustomerId(nuBizNuCustomerServer.getCustomerId()); dataPool.setCustomerName(nuBizNuCustomerServer.getCustomerName()); - dataPool.setServiceDuration(nuBizNuCustomerServer.getServiceDuration()); - dataPool.setCycleTypeId(nuBizNuCustomerServer.getCycleTypeId()); - dataPool.setCycleType(nuBizNuCustomerServer.getCycleType()); - dataPool.setCycleValue(nuBizNuCustomerServer.getCycleValue()); - dataPool.setIzPackage(nuBizNuCustomerServer.getIzPackage()); if(nuBizNuCustomerServer.getIzPackage().equals("Y")){ dataPool.setPackageId(nuBizNuCustomerServer.getDirectiveId()); dataPool.setPackageName(nuBizNuCustomerServer.getDirectiveName()); @@ -268,6 +273,20 @@ public class DataPoolServiceImpl extends ServiceImpl i dataPool.setDirectiveId(nuBizNuCustomerServer.getDirectiveId()); dataPool.setDirectiveName(nuBizNuCustomerServer.getDirectiveName()); } + dataPool.setCycleTypeId(nuBizNuCustomerServer.getCycleTypeId()); + dataPool.setCycleType(nuBizNuCustomerServer.getCycleType()); + dataPool.setCycleValue(nuBizNuCustomerServer.getCycleValue()); + dataPool.setPreviewFile(nuBizNuCustomerServer.getPreviewFile()); + dataPool.setNetPreviewFile(nuBizNuCustomerServer.getNetPreviewFile()); + dataPool.setPreviewFileSmall(nuBizNuCustomerServer.getPreviewFileSmall()); + dataPool.setNetPreviewFileSmall(nuBizNuCustomerServer.getNetPreviewFileSmall()); + dataPool.setMp3File(nuBizNuCustomerServer.getMp3File()); + dataPool.setNetMp3File(nuBizNuCustomerServer.getNetMp3File()); + dataPool.setMp4File(nuBizNuCustomerServer.getMp4File()); + dataPool.setNetMp4File(nuBizNuCustomerServer.getNetMp4File()); + dataPool.setIzPackage(nuBizNuCustomerServer.getIzPackage()); + dataPool.setServiceDuration(nuBizNuCustomerServer.getServiceDuration()); + dataPool.setServiceContent(nuBizNuCustomerServer.getServiceContent()); String startTime = nuBizNuCustomerServer.getStartTime(); String[] starts = startTime.split(":"); String hour = starts[0]; @@ -310,6 +329,7 @@ public class DataPoolServiceImpl extends ServiceImpl i dataPool.setNuId(nuBizNuCustomerServer.getNuId()); dataPool.setCustomerId(nuBizNuCustomerServer.getCustomerId()); dataPool.setStartTime(c.getTime()); +// dataPool.setIzOrders("N"); dataPool.setIzStart("N"); String izPackage = nuBizNuCustomerServer.getIzPackage(); if(izPackage.equals("Y")){ @@ -321,11 +341,52 @@ public class DataPoolServiceImpl extends ServiceImpl i if(pool!=null){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = sdf.format(c.getTime()); + if(pool.getIzOrders().equals("Y")){ + //删除派单 + deleteOrders(dateStr,pool); + } addDataPoolLog(dateStr,pool.getId()); addDataPoolSubLog(dateStr,pool.getId()); } } + //删除派单 + private void deleteOrders(String dateStr,DataPool dataPool){ + dataPool.setIzStart("N"); + //获取未开始的工单 + DataPool pool = baseMapper.queryOrdersOne(dataPool); + if(pool!=null){ + //删除工单 + addOrdersLog(dateStr,pool); + addOrdersSubLog(dateStr,pool); + //ws发送通知给员工,员工端删除次工单(待完善) + } + } + + /** + * 创建工单日志表 + */ + private void addOrdersLog(String dateStr,DataPool dataPool){ + String tableName = "nu_biz_nu_directive_order_log_"+dateStr.substring(2, 4)+dateStr.substring(5, 7); + dataPool.setTableName(tableName); + baseMapper.createOrdersLog(dataPool);//创建日志主表 + dataPool.setRemarks("计划删除,删除未开始工单"); + baseMapper.addOrdersLog(dataPool);//保存数据池数据到日志主表 + baseMapper.deleteOrders(dataPool);//删除昨天及之前的数据 + } + + /** + * 创建工单日志表 + */ + private void addOrdersSubLog(String dateStr,DataPool dataPool){ + String tableName = "nu_biz_nu_directive_order_sub_log_"+dateStr.substring(2, 4)+dateStr.substring(5, 7); + dataPool.setTableName(tableName); + baseMapper.createOrdersLogSub(dataPool);//创建日志子表 + dataPool.setRemarks("计划删除,删除未开始工单"); + baseMapper.addOrdersSubLog(dataPool);//保存数据池数据到日志子表 + baseMapper.deleteOrdersSub(dataPool);//删除昨天及之前的数据 + } + /** * 编辑数据池 * @param nuBizNuCustomerServer @@ -438,10 +499,66 @@ public class DataPoolServiceImpl extends ServiceImpl i dataPool.setEndTime(c.getTime()); dataPool.setCycleTypeId("3"); dataPool.setIzPackage("N"); + dataPool.setIzOrders("N"); dataPool.setIzStart("N"); dataPool.setDelFlag("0"); addDaily(dataPool); return Result.OK(); } + /** + * 获取管理平台静态资源路径 + * + * @return + */ + private void getOpeMediaAddress() { + if (serverNetUrl == null || serverNetUrl.equals("")) { + JSONObject json = sysConfigApi.getByKey("ope_media_address"); + if (json != null) { + String configValue = json.getString("configValue"); + if (!configValue.endsWith("/")) { + configValue += "/"; + } + serverNetUrl = configValue; + } + } + } + + private String getImageNetUrl(String imageUrl) { + getOpeMediaAddress(); + return serverNetUrl + imageUrl; + } + + private DataPoolSub getNetImagesSub(DataPoolSub par) { + if (par.getPreviewFile() != null && !par.getPreviewFile().equals("")) { + String netPreviewFile = getImageNetUrl(par.getPreviewFile()); + par.setNetPreviewFile(netPreviewFile); + } else { + par.setPreviewFile(""); + par.setNetPreviewFile(""); + } + if (par.getPreviewFileSmall() != null && !par.getPreviewFileSmall().equals("")) { + String netPreviewFileSmall = getImageNetUrl(par.getPreviewFileSmall()); + par.setNetPreviewFileSmall(netPreviewFileSmall); + } else { + par.setPreviewFileSmall(""); + par.setNetPreviewFileSmall(""); + } + if (par.getMp3File() != null && !par.getMp3File().equals("")) { + String netMp3File = getImageNetUrl(par.getMp3File()); + par.setNetMp3File(netMp3File); + } else { + par.setMp3File(""); + par.setNetMp3File(""); + } + if (par.getMp4File() != null && !par.getMp4File().equals("")) { + String netMp4File = getImageNetUrl(par.getMp4File()); + par.setNetMp4File(netMp4File); + } else { + par.setMp4File(""); + par.setNetMp4File(""); + } + return par; + } + } diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/entity/Orders.java b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/entity/Orders.java new file mode 100644 index 0000000..f2a90a2 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/entity/Orders.java @@ -0,0 +1,162 @@ +package com.nu.modules.directive.order.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.apache.poi.hpsf.Decimal; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Description: 服务指令工单主表 + * @Author: caolei + * @Date: 2025-11-14 + * @Version: V1.0 + */ +@Data +@TableName("nu_biz_nu_directive_order") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_biz_nu_directive_order对象", description="服务指令工单主表") +public class Orders implements Serializable { + private static final long serialVersionUID = 1L; + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + private String id; + /**数据池子表ID*/ + private String poolId; + /**主表id*/ + private String bizId; + /**护理单元id*/ + private String nuId; + /**护理单元名称*/ + private String nuName; + /**客户id*/ + private String customerId; + /**客户姓名*/ + private String customerName; + /**员工ID*/ + private String employeeId; + /**员工姓名*/ + private String employeeName; + /**服务指令id*/ + private String directiveId; + /**服务指令名称*/ + private String directiveName; + /**周期类型ID*/ + private String cycleTypeId; + /**周期类型*/ + private String cycleType; + /**周期值*/ + private String cycleValue; + /**服务指令图片大图*/ + private String previewFile; + /**服务指令图片大图-网络地址*/ + private String netPreviewFile; + /**服务指令图片小图*/ + private String previewFileSmall; + /**服务指令图片小图-网络地址*/ + private String netPreviewFileSmall; + /**指令音频文件*/ + private String mp3File; + /**指令音频文件-网络地址*/ + private String netMp3File; + /**指令视频文件*/ + private String mp4File; + /**指令视频文件-网络地址*/ + private String netMp4File; + /**服务时长(分钟)*/ + private String serviceDuration; + /**服务描述*/ + private String serviceContent; + /**指令包id*/ + private String packageId; + /**指令包名称*/ + private String packageName; + /**是否是服务指令包 Y是 N否*/ + private String izPackage; + /**开始时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date startTime; + /**结束时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date endTime; + /**实际开始时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date beginTime; + /**实际结束时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date finishTime; + /**是否开始 Y是 N否*/ + private String izStart; + /**是否完成 Y是 N否*/ + private String izFinish; + /**创建人*/ + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + /**更新人*/ + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + /**是否删除 0未删除 1删除*/ + private String delFlag; + + /**接单上限*/ + @TableField(exist = false) + private Integer orderCap; + + /**最大时间*/ + @TableField(exist = false) + private Date maxTime; + + /**单次*/ + @TableField(exist = false) + private Integer orderNum; + + /**总服务时长*/ + @TableField(exist = false) + private Integer totalDuration; + + /**总服务收益*/ + @TableField(exist = false) + private BigDecimal totalComPrice; + + /**是否空闲 1空闲 0非空闲*/ + @TableField(exist = false) + private Integer izFree; + + /**员工身上挂载的工单数,未完成工单即为挂单*/ + @TableField(exist = false) + private Integer ownCn; + + /**员工id集合逗号分隔*/ + @TableField(exist = false) + private String employeeIds; + + /**服务指令id集合逗号分隔*/ + @TableField(exist = false) + private String directiveIds; + + /**优先级 数值越高优先级越高*/ + //空闲状态提高3级 指定护理员提高2级 + @TableField(exist = false) + private Integer level; +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/entity/OrdersSub.java b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/entity/OrdersSub.java new file mode 100644 index 0000000..98eb743 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/entity/OrdersSub.java @@ -0,0 +1,137 @@ +package com.nu.modules.directive.order.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Description: 服务指令工单子表 + * @Author: caolei + * @Date: 2025-11-13 + * @Version: V1.0 + */ +@Data +@TableName("nu_biz_nu_directive_order_sub") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_biz_nu_directive_order_sub对象", description="服务指令工单子表") +public class OrdersSub implements Serializable { + private static final long serialVersionUID = 1L; + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + private String id; + /**主表id*/ + private String mainId; + /**数据池子表ID*/ + private String poolSubId; + /**护理单元id*/ + private String nuId; + /**护理单元名称*/ + private String nuName; + /**客户id*/ + private String customerId; + /**客户姓名*/ + private String customerName; + /**员工ID*/ + private String employeeId; + /**员工姓名*/ + private String employeeName; + /**分类标签id*/ + private String instructionTagId; + /**分类标签*/ + private String instructionTagName; + /**服务类别id*/ + private String categoryId; + /**服务类别名称*/ + private String categoryName; + /**服务类型id*/ + private String typeId; + /**服务类型名称*/ + private String typeName; + /**服务指令id*/ + private String directiveId; + /**服务指令名称*/ + private String directiveName; + /**周期类型ID*/ + private String cycleTypeId; + /**周期类型*/ + private String cycleType; + /**周期值*/ + private String cycleValue; + /**服务指令图片大图*/ + private String previewFile; + /**服务指令图片大图-网络地址*/ + private String netPreviewFile; + /**服务指令图片小图*/ + private String previewFileSmall; + /**服务指令图片小图-网络地址*/ + private String netPreviewFileSmall; + /**指令音频文件*/ + private String mp3File; + /**指令音频文件-网络地址*/ + private String netMp3File; + /**指令视频文件*/ + private String mp4File; + /**指令视频文件-网络地址*/ + private String netMp4File; + /**服务时长(分钟)*/ + private String serviceDuration; + /**服务描述*/ + private String serviceContent; + /**收费价格*/ + private BigDecimal tollPrice; + /**提成价格*/ + private BigDecimal comPrice; + /**实际提成价格*/ + private BigDecimal realComPrice; + /**指令包id*/ + private String packageId; + /**指令包名称*/ + private String packageName; + /**是否是服务指令包 Y是 N否*/ + private String izPackage; + /**开始时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date startTime; + /**结束时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date endTime; + /**实际开始时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date beginTime; + /**实际结束时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date finishTime; + /**是否开始 Y是 N否*/ + private String izStart; + /**是否完成 Y是 N否*/ + private String izFinish; + /**创建人*/ + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + /**更新人*/ + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + /**是否删除 0未删除 1删除*/ + private String delFlag; +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/job/OrdersJob.java b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/job/OrdersJob.java new file mode 100644 index 0000000..0ecd515 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/job/OrdersJob.java @@ -0,0 +1,27 @@ +package com.nu.modules.directive.order.job; + +import com.nu.modules.directive.order.service.IOrdersService; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.util.DateUtils; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 指令池批量生成工单 + */ +@Slf4j +public class OrdersJob implements Job { + + @Autowired + IOrdersService service; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + log.error("OrdersJob:{}-{}", DateUtils.now(),"指令池批量生成工单开始"); + Result result = service.generateOrdersBatch(); + log.error("OrdersJob:{}-{}", DateUtils.now(),result.getMessage()); + } +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/OrdersMapper.java b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/OrdersMapper.java new file mode 100644 index 0000000..67a279b --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/OrdersMapper.java @@ -0,0 +1,20 @@ +package com.nu.modules.directive.order.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.directive.order.entity.Orders; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Description: 服务指令工单主表 + * @Author: caolei + * @Date: 2025-11-18 + * @Version: V1.0 + */ +public interface OrdersMapper extends BaseMapper { + List queryDataPoolList(Orders orders); + List getEmpPermissionAndOnline(@Param("directiveIds") String directiveIds,@Param("employeeIds") String employeeIds); + Orders getEmpOrderly(@Param("customerId") String customerId); + List getPermissionEmps(@Param("directiveIds") String directiveIds); +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/OrdersSubMapper.java b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/OrdersSubMapper.java new file mode 100644 index 0000000..7d66094 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/OrdersSubMapper.java @@ -0,0 +1,17 @@ +package com.nu.modules.directive.order.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.directive.order.entity.Orders; +import com.nu.modules.directive.order.entity.OrdersSub; + +import java.util.List; + +/** + * @Description: 服务指令工单子表 + * @Author: caolei + * @Date: 2025-11-18 + * @Version: V1.0 + */ +public interface OrdersSubMapper extends BaseMapper { + List queryDataPoolSubList(Orders orders); +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/xml/OrdersMapper.xml b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/xml/OrdersMapper.xml new file mode 100644 index 0000000..7ca4f45 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/xml/OrdersMapper.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/xml/OrdersSubMapper.xml b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/xml/OrdersSubMapper.xml new file mode 100644 index 0000000..88487b1 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/mapper/xml/OrdersSubMapper.xml @@ -0,0 +1,42 @@ + + + + + + + \ No newline at end of file diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/IOrdersService.java b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/IOrdersService.java new file mode 100644 index 0000000..1dc2ded --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/IOrdersService.java @@ -0,0 +1,15 @@ +package com.nu.modules.directive.order.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.directive.order.entity.Orders; +import org.jeecg.common.api.vo.Result; + +/** + * @Description: 服务指令工单主表 + * @Author: caolei + * @Date: 2025-11-18 + * @Version: V1.0 + */ +public interface IOrdersService extends IService { + Result generateOrdersBatch(); +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/IOrdersSubService.java b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/IOrdersSubService.java new file mode 100644 index 0000000..7dae3d3 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/IOrdersSubService.java @@ -0,0 +1,17 @@ +package com.nu.modules.directive.order.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.directive.order.entity.Orders; +import com.nu.modules.directive.order.entity.OrdersSub; + +import java.util.List; + +/** + * @Description: 服务指令工单子表 + * @Author: caolei + * @Date: 2025-11-18 + * @Version: V1.0 + */ +public interface IOrdersSubService extends IService { + List queryDataPoolSubList(Orders orders); +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/impl/OrdersServiceImpl.java b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/impl/OrdersServiceImpl.java new file mode 100644 index 0000000..42ba179 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/impl/OrdersServiceImpl.java @@ -0,0 +1,277 @@ +package com.nu.modules.directive.order.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.directive.order.entity.Orders; +import com.nu.modules.directive.order.entity.OrdersSub; +import com.nu.modules.directive.order.mapper.OrdersMapper; +import com.nu.modules.directive.order.service.IOrdersService; +import com.nu.modules.directive.order.service.IOrdersSubService; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @Description: 服务指令工单主表 + * @Author: caolei + * @Date: 2025-11-18 + * @Version: V1.0 + */ +@Service +@Slf4j +public class OrdersServiceImpl extends ServiceImpl implements IOrdersService { + + @Autowired + IOrdersSubService ordersSubService; + + /** + * 获取在线,有指令权限的员工,并获取员工的接单上限、收益、服务时长、单次 + * @param directiveId + * @return + */ + private List getEmpPermissionAndOnline(String directiveId,String employeeIds){ + return baseMapper.getEmpPermissionAndOnline(directiveId,employeeIds); + } + + /** + * 获取次长者指定所有护理员 + * @param customerId + * @return + */ + private Map getEmpOrderly(String customerId){ + Map map = null; + Orders orders = baseMapper.getEmpOrderly(customerId); + String empIds = orders.getEmployeeIds(); + String[] pairs = empIds.split(","); + if(pairs.length>0){ + map = new HashMap<>(); + for (String pair : pairs) { + map.put(pair, pair); + } + } + return map; + } + + /** + * 指令池批量生成工单-定时调用 + * @return + */ + @Override + public Result generateOrdersBatch(){ + List ordersList = baseMapper.queryDataPoolList(null); + for(int i=0;i ordersSubList = ordersSubService.queryDataPoolSubList(orders); + if(orders.getIzPackage().equals("N")){ + OrdersSub ordersSub = ordersSubList.get(0); + //获取满足条件的员工 + Orders employee = employeeScreening(ordersSub.getDirectiveId(),orders.getCustomerId(),null); + if(employee!=null){ + orders.setEmployeeId(employee.getEmployeeId()); + orders.setEmployeeName(employee.getEmployeeName()); + orders.setIzStart("N"); + orders.setIzFinish("N"); + this.save(orders);//生成工单主表 + + ordersSub.setMainId(orders.getId()); + ordersSub.setEmployeeId(employee.getEmployeeId()); + ordersSub.setEmployeeName(employee.getEmployeeName()); + ordersSub.setIzStart("N"); + ordersSub.setIzFinish("N"); + ordersSubService.save(ordersSub);//生成工单子表 + } + }else{ + String directiveIds = ordersSubList.stream().map(OrdersSub::getDirectiveId).collect(Collectors.joining(",")); + List emps = baseMapper.getPermissionEmps(directiveIds);//获取服务标签中的员工和数量 + emps.removeIf(data -> data.getOwnCn() < ordersSubList.size());//删除没有权限的数据 + String employeeIds = emps.stream().map(Orders::getEmployeeId).collect(Collectors.joining(",")); + Orders employee = employeeScreening(directiveIds,orders.getCustomerId(),employeeIds); + if(employee!=null){ + orders.setEmployeeId(employee.getEmployeeId()); + orders.setEmployeeName(employee.getEmployeeName()); + orders.setIzStart("N"); + orders.setIzFinish("N"); + this.save(orders);//生成工单主表 + + for(int i=0;i empList = getEmpPermissionAndOnline(directiveIds,employeeIds); + Map orderlyMap = getEmpOrderly(customerId); + if(empList.size()>0){ + for(int i=0;i empList) { + // 根据orderNum倒序排序,并为level顺序赋值 + List sortedEmployees = empList.stream() + .sorted(Comparator.comparing(Orders::getOrderNum).reversed()) + .collect(Collectors.toList()); + + // 为level字段顺序赋值1,2,3... + for (int i = 0; i < sortedEmployees.size(); i++) { + Integer levle = sortedEmployees.get(i).getLevel()+i+1; + sortedEmployees.get(i).setLevel(levle); + } + + // 如果需要返回新列表,可以返回sortedEmployees + // 如果要在原列表上修改,可以清空原列表并添加所有元素 + empList.clear(); + empList.addAll(sortedEmployees); + } + + /** + * 通过总收益排序数据来设置优先级 + * @param empList + */ + public void sortByPriceAndSetLevel(List empList) { + // 根据totalComPrice倒序排序,并为level顺序赋值 + List sortedEmployees = empList.stream() + .sorted(Comparator.comparing(Orders::getTotalComPrice).reversed()) + .collect(Collectors.toList()); + + // 为level字段顺序赋值1,2,3... + for (int i = 0; i < sortedEmployees.size(); i++) { + Integer levle = sortedEmployees.get(i).getLevel()+i+1; + sortedEmployees.get(i).setLevel(levle); + } + + // 如果需要返回新列表,可以返回sortedEmployees + // 如果要在原列表上修改,可以清空原列表并添加所有元素 + empList.clear(); + empList.addAll(sortedEmployees); + } + + /** + * 通过服务时长排序数据来设置优先级 + * @param empList + */ + public void sortByDurationAndSetLevel(List empList) { + // 根据totalDuration倒序排序,并为level顺序赋值 + List sortedEmployees = empList.stream() + .sorted(Comparator.comparing(Orders::getTotalDuration).reversed()) + .collect(Collectors.toList()); + + // 为level字段顺序赋值1,2,3... + for (int i = 0; i < sortedEmployees.size(); i++) { + Integer levle = sortedEmployees.get(i).getLevel()+i+1; + sortedEmployees.get(i).setLevel(levle); + } + + // 如果需要返回新列表,可以返回sortedEmployees + // 如果要在原列表上修改,可以清空原列表并添加所有元素 + empList.clear(); + empList.addAll(sortedEmployees); + } + + /** + * 通过最后一次接收派单时间排序数据来设置优先级 + * @param empList + */ + public void sortByMaxTimeAndSetLevel(List empList) { + // 根据totalDuration倒序排序,并为level顺序赋值 + List sortedEmployees = empList.stream() + .sorted(Comparator.comparing(Orders::getMaxTime).reversed()) + .collect(Collectors.toList()); + + // 为level字段顺序赋值1,2,3... + for (int i = 0; i < sortedEmployees.size(); i++) { + Integer levle = sortedEmployees.get(i).getLevel()+i+1; + sortedEmployees.get(i).setLevel(levle); + } + + // 如果需要返回新列表,可以返回sortedEmployees + // 如果要在原列表上修改,可以清空原列表并添加所有元素 + empList.clear(); + empList.addAll(sortedEmployees); + } + + /** + * 按优先级排序数据 + * @param empList + */ + public void sortByLevel(List empList) { + for (int i = 0; i < empList.size(); i++) { + //工单超出接单上限,将4级 + if(empList.get(i).getOrderNum()>=empList.get(i).getOrderCap()){ + Integer levle = empList.get(i).getLevel()-4; + empList.get(i).setLevel(levle); + } + } + //为level顺序 + List sortedEmployees = empList.stream() + .sorted(Comparator.comparing(Orders::getLevel).reversed()) + .collect(Collectors.toList()); + + // 如果需要返回新列表,可以返回sortedEmployees + // 如果要在原列表上修改,可以清空原列表并添加所有元素 + empList.clear(); + empList.addAll(sortedEmployees); + } +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/impl/OrdersSubServiceImpl.java b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/impl/OrdersSubServiceImpl.java new file mode 100644 index 0000000..0e97caf --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/directive/order/service/impl/OrdersSubServiceImpl.java @@ -0,0 +1,27 @@ +package com.nu.modules.directive.order.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.directive.order.entity.Orders; +import com.nu.modules.directive.order.entity.OrdersSub; +import com.nu.modules.directive.order.mapper.OrdersSubMapper; +import com.nu.modules.directive.order.service.IOrdersSubService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description: 服务指令工单子表 + * @Author: caolei + * @Date: 2025-11-18 + * @Version: V1.0 + */ +@Service +@Slf4j +public class OrdersSubServiceImpl extends ServiceImpl implements IOrdersSubService { + + @Override + public List queryDataPoolSubList(Orders orders){ + return baseMapper.queryDataPoolSubList(orders); + } +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/nuApiServiceCategory/service/impl/NuConfigServiceCategoryServiceImpl.java b/nursing-unit-api/src/main/java/com/nu/modules/nuApiServiceCategory/service/impl/NuConfigServiceCategoryServiceImpl.java index 204042e..2da5be8 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/nuApiServiceCategory/service/impl/NuConfigServiceCategoryServiceImpl.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/nuApiServiceCategory/service/impl/NuConfigServiceCategoryServiceImpl.java @@ -79,10 +79,14 @@ public class NuConfigServiceCategoryServiceImpl extends ServiceImpl> directiceMapList = new ArrayList>(); for (NuConfigServiceDirective directicePar : directiveList) { if (StringUtils.equals(directicePar.getTypeId(), par.getId())) { + if(directicePar.getId().equals("10129a2a776db9a44588fdaf4926659b9bc")){ + System.out.println("111"); + } Map directiceMap = new HashMap(); directiceMap.put("id", directicePar.getId()); directiceMap.put("title", directicePar.getDirectiveName()); directiceMap.put("serviceDuration", directicePar.getServiceDuration()); + directiceMap.put("serviceContent", directicePar.getServiceContent()); directiceMap.put("categoryId", directicePar.getCategoryId()); directiceMap.put("categoryName", directicePar.getCategoryName()); directiceMap.put("typeId", directicePar.getTypeId()); @@ -90,7 +94,7 @@ public class NuConfigServiceCategoryServiceImpl extends ServiceImpl