diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/instruction/logistics/LogisticsDirectiveApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/instruction/logistics/LogisticsDirectiveApi.java index 593c828..513f32e 100644 --- a/nursing-unit-api/src/main/java/com/nu/modules/pad/instruction/logistics/LogisticsDirectiveApi.java +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/instruction/logistics/LogisticsDirectiveApi.java @@ -1,11 +1,12 @@ package com.nu.modules.pad.instruction.logistics; +import com.nu.entity.LogisticsDirectiveEntity; import com.nu.modules.care.api.IDirectiveConfigApi; +import com.nu.modules.care.api.ILogisticsDirectivePlanApi; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; - import java.util.List; import java.util.Map; @@ -25,6 +26,9 @@ public class LogisticsDirectiveApi { @Autowired private IDirectiveConfigApi directiveConfigApi; + @Autowired + private ILogisticsDirectivePlanApi logisticsDirectivePlanApi; + /** * 获取后勤类服务指令树-配置数据 * @@ -36,4 +40,51 @@ public class LogisticsDirectiveApi { return Result.OK(treeList); } + + /** + * PAD端获取服务指令计划表格数据 + * + * @param logisticsDirectiveEntity + * @return + */ + @GetMapping(value = "/getNclist") + public Result> getPlanList(LogisticsDirectiveEntity logisticsDirectiveEntity) { + Map pageList = logisticsDirectivePlanApi.getPlanList(logisticsDirectiveEntity); + return Result.OK(pageList); + } + + /** + * PAD端编排护理流程-新增服务指令 + * + * @param logisticsDirectiveEntity + * @return + */ + @PostMapping(value = "/addDirective") + public Result addDirective(@RequestBody LogisticsDirectiveEntity logisticsDirectiveEntity) { + return Result.OK(logisticsDirectivePlanApi.addDirective(logisticsDirectiveEntity)); + } + + /** + * PAD端编排护理流程-修改服务指令 + * + * @param logisticsDirectiveEntity + * @return + */ + @PostMapping(value = "/editDirective") + public Result editDirective(@RequestBody LogisticsDirectiveEntity logisticsDirectiveEntity) { + logisticsDirectivePlanApi.editDirective(logisticsDirectiveEntity); + return Result.OK("操作成功"); + } + + /** + * PAD端编排护理流程-删除服务指令 + * + * @param logisticsDirectiveEntity + * @return + */ + @PostMapping(value = "/deleteDirective") + public Result deleteDirective(@RequestBody LogisticsDirectiveEntity logisticsDirectiveEntity) { + logisticsDirectivePlanApi.deleteDirective(logisticsDirectiveEntity); + return Result.OK("操作成功"); + } } diff --git a/nursing-unit-common/src/main/java/com/nu/entity/LogisticsDirectiveEntity.java b/nursing-unit-common/src/main/java/com/nu/entity/LogisticsDirectiveEntity.java new file mode 100644 index 0000000..360723c --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/entity/LogisticsDirectiveEntity.java @@ -0,0 +1,105 @@ +package com.nu.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description: 护理单元客户配置后勤类服务指令 + * @Author: caolei + * @Date: 2025-11-28 + * @Version: V1.0 + */ +@Data +public class LogisticsDirectiveEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**护理单元id*/ + private String nuId; + /**护理单元名称*/ + private String nuName; + /**客户id*/ + private String customerId; + /**客户姓名*/ + private String customerName; + /**服务类别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 immediateFile; + /**即时指令图标*/ + private String netImmediateFile; + /**即时指令焦点图标*/ + private String immediateFileFocus; + /**即时指令焦点图标*/ + private String netImmediateFileFocus; + /**服务指令图片大图*/ + 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 String positioning; + /**纵向定位*/ + private String positioningLong; + /**PAD端无线循环使用*/ + private String tagName; + /**开始时间*/ + private String startTime; + /**结束时间*/ + private String endTime; + /**创建人*/ + 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; + /**所属部门*/ + private String sysOrgCode; + /**是否是服务指令包 N否 Y是*/ + private String izPackage; + + +} diff --git a/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/care/api/ILogisticsDirectivePlanApi.java b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/care/api/ILogisticsDirectivePlanApi.java new file mode 100644 index 0000000..941676d --- /dev/null +++ b/nursing-unit-services/nu-services-api/nu-services-local-api/src/main/java/com/nu/modules/care/api/ILogisticsDirectivePlanApi.java @@ -0,0 +1,11 @@ +package com.nu.modules.care.api; + +import com.nu.entity.*; +import java.util.Map; + +public interface ILogisticsDirectivePlanApi { + Map getPlanList(LogisticsDirectiveEntity logisticsDirectiveEntity); + LogisticsDirectiveEntity addDirective(LogisticsDirectiveEntity logisticsDirectiveEntity); + void editDirective(LogisticsDirectiveEntity logisticsDirectiveEntity); + void deleteDirective(LogisticsDirectiveEntity logisticsDirectiveEntity); +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/entity/CareDataPool.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/entity/CareDataPool.java index 34f7ee0..b7c1dbb 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/entity/CareDataPool.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/entity/CareDataPool.java @@ -16,7 +16,7 @@ import java.io.Serializable; import java.util.Date; /** - * @Description: 服务指令数据池主表 + * @Description: 护理类服务指令数据池主表 * @Author: caolei * @Date: 2025-11-07 * @Version: V1.0 diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/entity/CareDataPoolSub.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/entity/CareDataPoolSub.java index 69bfc25..5237295 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/entity/CareDataPoolSub.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/entity/CareDataPoolSub.java @@ -13,7 +13,7 @@ import java.io.Serializable; import java.util.Date; /** - * @Description: 服务指令数据池子表 + * @Description: 护理类服务指令数据池子表 * @Author: caolei * @Date: 2025-11-11 * @Version: V1.0 diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/job/CareDataPoolJob.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/job/CareDataPoolJob.java index 6588a4b..3ced54e 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/job/CareDataPoolJob.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/job/CareDataPoolJob.java @@ -20,7 +20,7 @@ public class CareDataPoolJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - log.error("DataPoolJob:{}-{}", DateUtils.now(),"指令计划批量生成到指令池开始"); + log.error("DataPoolJob:{}-{}", DateUtils.now(),"护理类指令计划批量生成到指令池开始"); Result result = service.generateDataPoolBatch(); log.error("DataPoolJob:{}-{}", DateUtils.now(),result.getMessage()); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/mapper/xml/CareDataPoolMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/mapper/xml/CareDataPoolMapper.xml index 5effaa6..bb9dc33 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/mapper/xml/CareDataPoolMapper.xml +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/datapool/mapper/xml/CareDataPoolMapper.xml @@ -139,65 +139,6 @@ - - - - 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/care/order/job/CareOrdersJob.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/order/job/CareOrdersJob.java index d44e808..8c58a02 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/order/job/CareOrdersJob.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/order/job/CareOrdersJob.java @@ -20,7 +20,7 @@ public class CareOrdersJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - log.error("OrdersJob:{}-{}", DateUtils.now(),"指令池批量生成工单开始"); + log.error("OrdersJob:{}-{}", DateUtils.now(),"护理类指令池批量生成工单开始"); Result result = service.generateOrdersBatch(); log.error("OrdersJob:{}-{}", DateUtils.now(),result.getMessage()); } diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/plan/entity/PlanBizNuCustomerCareServer.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/plan/entity/PlanBizNuCustomerCareServer.java index fb4a535..ccfb852 100644 --- a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/plan/entity/PlanBizNuCustomerCareServer.java +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/care/plan/entity/PlanBizNuCustomerCareServer.java @@ -13,7 +13,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - * @Description: 护理单元客户配置服务指令 + * @Description: 护理单元客户护理类服务指令计划 * @Author: yangjun * @Date: 2025-03-31 * @Version: V1.0 @@ -22,7 +22,7 @@ import lombok.experimental.Accessors; @TableName("nu_biz_nu_customer_care_server") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) -@ApiModel(value="nu_biz_nu_customer_server对象", description="护理单元客户配置服务指令") +@ApiModel(value="nu_biz_nu_customer_care_server对象", description="护理单元客户护理类服务指令计划") public class PlanBizNuCustomerCareServer implements Serializable { private static final long serialVersionUID = 1L; diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/entity/LogisticsDataPool.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/entity/LogisticsDataPool.java new file mode 100644 index 0000000..d4e03e4 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/entity/LogisticsDataPool.java @@ -0,0 +1,141 @@ +package com.nu.modules.biz.logistics.datapool.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 io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 后勤类服务指令数据池主表 + * @Author: caolei + * @Date: 2025-11-07 + * @Version: V1.0 + */ +@Data +@TableName("nu_biz_nu_logistics_directive_data_pool") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_biz_nu_logistics_directive_data_pool对象", description="后勤类服务指令数据池主表") +public class LogisticsDataPool implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId(type = IdType.ASSIGN_ID) + /**id*/ + private String id; + + /**业务id,服务指令计划id*/ + private String bizId; + + /**护理单元id*/ + private String nuId; + + /**护理单元名称*/ + private String nuName; + + /**客户id*/ + private String customerId; + + /**客户姓名*/ + private String customerName; + + /**服务指令id*/ + private String directiveId; + + /**服务指令名称*/ + private String directiveName; + + /**周期类型ID 1日常护理 2周期护理 3即时护理*/ + 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; + + /**开始时间*/ + @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; + + /**是否生成工单 Y是 N否*/ + private String izOrders; + + /**是否开始 0否 1是*/ + private String izStart; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + 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; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + 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 String tableName;//表名字 + + @TableField(exist = false) + private String operationFlag;//操作标记 1正常删除入库 2撤回删除入库 + + /**员工ID*/ + @TableField(exist = false) + private String employeeId; + /**员工姓名*/ + @TableField(exist = false) + private String employeeName; + + /**备注*/ + @TableField(exist = false) + private String remarks; +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/job/LogisticsDataPoolJob.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/job/LogisticsDataPoolJob.java new file mode 100644 index 0000000..e573104 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/job/LogisticsDataPoolJob.java @@ -0,0 +1,28 @@ +package com.nu.modules.biz.logistics.datapool.job; + +import com.nu.modules.biz.care.datapool.service.ICareDataPoolService; +import com.nu.modules.biz.logistics.datapool.service.ILogisticsDataPoolService; +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 LogisticsDataPoolJob implements Job { + + @Autowired + ILogisticsDataPoolService service; + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + log.error("DataPoolJob:{}-{}", DateUtils.now(),"后勤类指令计划批量生成到指令池开始"); + Result result = service.generateDataPoolBatch(); + log.error("DataPoolJob:{}-{}", DateUtils.now(),result.getMessage()); + } +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/mapper/LogisticsDataPoolMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/mapper/LogisticsDataPoolMapper.java new file mode 100644 index 0000000..d66b7a1 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/mapper/LogisticsDataPoolMapper.java @@ -0,0 +1,26 @@ +package com.nu.modules.biz.logistics.datapool.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.biz.logistics.datapool.entity.LogisticsDataPool; +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + * @Description: 后勤类服务指令数据池管理 + * @Author: caolei + * @Date: 2025-11-07 + * @Version: V1.0 + */ +public interface LogisticsDataPoolMapper extends BaseMapper { + List queryPlanList(LogisticsDataPool dataPool); + LogisticsDataPool queryPlanById(@Param("id") String id); + LogisticsDataPool queryPoolOne(LogisticsDataPool dataPool); + void createDataPoolLog(LogisticsDataPool dataPool); + void addDataPoolLog(LogisticsDataPool dataPool); + void deleteDataPool(LogisticsDataPool dataPool); + void createOrdersLog(LogisticsDataPool dataPool); + void addOrdersLog(LogisticsDataPool dataPool); + LogisticsDataPool queryOrdersOne(LogisticsDataPool dataPool); + void deleteOrders(LogisticsDataPool dataPool); + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/mapper/xml/LogisticsDataPoolMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/mapper/xml/LogisticsDataPoolMapper.xml new file mode 100644 index 0000000..63e9187 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/mapper/xml/LogisticsDataPoolMapper.xml @@ -0,0 +1,276 @@ + + + + + + + + + + + + CREATE TABLE IF NOT EXISTS ${tableName} ( + id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '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_logistics_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 '客户名称', + 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 '服务说明', + 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 '创建日期', + 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删除', + operation_flag varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作标记 1正常删除入库 2撤回删除入库', + PRIMARY KEY (id) USING BTREE + ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '护理单元-服务指令-数据池日志主表' ROW_FORMAT = Dynamic; + + + + insert into ${tableName} + select a.*,#{operationFlag} + from nu_biz_nu_logistics_directive_data_pool a + + + AND id = #{id} + + + AND a.create_time <= #{endTime} + + + + + + delete from nu_biz_nu_logistics_directive_data_pool a + + + AND id = #{id} + + + AND a.create_time <= #{endTime} + + + + + + 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_logistics_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 '服务说明', + 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_care_directive_order a + where id = #{id} + + + + delete from nu_biz_nu_care_directive_order + where id = #{id} + + + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/service/ILogisticsDataPoolService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/service/ILogisticsDataPoolService.java new file mode 100644 index 0000000..022dbc1 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/service/ILogisticsDataPoolService.java @@ -0,0 +1,48 @@ +package com.nu.modules.biz.logistics.datapool.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.biz.logistics.datapool.entity.LogisticsDataPool; +import com.nu.modules.biz.logistics.plan.entity.PlanBizNuCustomerLogisticsServer; +import org.jeecg.common.api.vo.Result; + +/** + * @Description: 服务指令数据池管理 + * @Author: caolei + * @Date: 2025-11-06 + * @Version: V1.0 + */ +public interface ILogisticsDataPoolService extends IService { + + /** + * 批量生成 + */ + Result generateDataPoolBatch(); + + /** + * 单一生成 + * @param planBizNuCustomerServer + */ + void generateDataPool(PlanBizNuCustomerLogisticsServer planBizNuCustomerServer); + + /** + * 删除 + * @param planBizNuCustomerServer + */ + void deleteDataPool(PlanBizNuCustomerLogisticsServer planBizNuCustomerServer); + + /** + * 修改 + * @param planBizNuCustomerServer + */ + void editDataPool(PlanBizNuCustomerLogisticsServer planBizNuCustomerServer); + + + /** + * 清理 + */ + void cleanDataPool(); + + Result addInstant(LogisticsDataPool dataPool); + + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/service/impl/LogisticsDataPoolServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/service/impl/LogisticsDataPoolServiceImpl.java new file mode 100644 index 0000000..06befa0 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/datapool/service/impl/LogisticsDataPoolServiceImpl.java @@ -0,0 +1,362 @@ +package com.nu.modules.biz.logistics.datapool.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.modules.biz.logistics.datapool.entity.LogisticsDataPool; +import com.nu.modules.biz.logistics.datapool.mapper.LogisticsDataPoolMapper; +import com.nu.modules.biz.logistics.datapool.service.ILogisticsDataPoolService; +import com.nu.modules.biz.logistics.plan.entity.PlanBizNuCustomerLogisticsServer; +import com.nu.modules.sysconfig.ISysConfigApi; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.util.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +/** + * @Description: 后勤类服务指令数据池管理 + * @Author: caolei + * @Date: 2025-11-07 + * @Version: V1.0 + */ +@Service +@Slf4j +public class LogisticsDataPoolServiceImpl extends ServiceImpl implements ILogisticsDataPoolService { + + @Autowired + private ISysConfigApi sysConfigApi; + private String serverNetUrl; + + /** + * 批量生成数据池 + */ + @Override + public Result generateDataPoolBatch() { + LogisticsDataPool entity = new LogisticsDataPool(); + Calendar c = Calendar.getInstance(); + c.set(Calendar.SECOND,0); + c.set(Calendar.MILLISECOND,0); + entity.setStartTime(c.getTime()); + c.add(Calendar.MINUTE,10); + entity.setEndTime(c.getTime()); + try{ + List planList = baseMapper.queryPlanList(entity);//获取计划 + if(planList.size()>0){ + for(LogisticsDataPool plan : planList){ + LogisticsDataPool pool = baseMapper.queryPoolOne(plan); + if(pool!=null){ + continue; + } + addDataPool(plan); + } + } + }catch(Exception e){ + log.error("计划批量生成指令池错误:{}-{}", DateUtils.now(),e.getMessage()); + return Result.error("计划批量生成指令池错误"); + } + return Result.OK("计划批量生成指令池成功"); + } + + /** + * 指令生成数据池 + */ + private void addDataPool(LogisticsDataPool dataPool){ + Date dataTime = dataPool.getStartTime(); + Calendar c = Calendar.getInstance(); + c.set(Calendar.SECOND,0); + c.set(Calendar.MILLISECOND,0); + Date startTime = c.getTime(); + c.add(Calendar.MINUTE,10); + Date endTime = c.getTime(); + if(dataTime.getTime()>=startTime.getTime()){ + if(dataTime.getTime()<=endTime.getTime()){ + dataPool.setIzOrders("N"); + dataPool.setIzStart("N"); + dataPool.setDelFlag("0"); + String typeId = dataPool.getCycleTypeId(); + if(typeId!=null){ + if(typeId.equals("1")){ + addDaily(dataPool); + } + if(typeId.equals("2")){ + //周期,先判断是星期还是月份,再判断当前时间是否命中周期 + String cycleValue = dataPool.getCycleValue(); + if(cycleValue.length()>1){ + //月周期 + addMonthDay(dataPool); + }else{ + //星期周期 + addWeekDay(dataPool); + } + } + } + } + } + } + + /** + * 日常指令生成数据池子表(非包) + */ + private void addDaily(LogisticsDataPool dataPool){ + //入指令池主表 + this.save(dataPool); + } + + /** + * 星期周期指令生成数据池子表(非包) + */ + private void addWeekDay(LogisticsDataPool dataPool){ + String cycleValue = dataPool.getCycleValue(); + Calendar calendar = Calendar.getInstance(); + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); //1周日 2周一 3周二 4周三 5周四 6周五 7周六 +// cycleValue 存js的星期 0周一 1周二 2周三 3周四 4周五 5周六 6周日 js +2 2 3 4 5 6 7 8 /7 % + Integer cv = Integer.valueOf(cycleValue); + //处理js星期,使其能和java的星期进行比较 + cv = cv + 2; + if(cv-7>0){ + cv = cv -7; + } + //计划执行星期几是当天,则入指令池 + if(dayOfWeek == cv){ + //入指令池主表 + this.save(dataPool); + } + } + + /** + * 月周期指令生成数据池子表(非包) + */ + private void addMonthDay(LogisticsDataPool dataPool){ + String cycleValue = dataPool.getCycleValue(); + Calendar calendar = Calendar.getInstance(); + int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); + Integer cv = Integer.valueOf(cycleValue); + //计划执行月中的几号是当天,则入指令池 + if(dayOfMonth == cv){ + //入指令池主表 + this.save(dataPool); + } + } + + + + /** + * 单一指令生成到数据池 + * @param planBizNuCustomerServer + */ + @Override + public void generateDataPool(PlanBizNuCustomerLogisticsServer planBizNuCustomerServer){ + LogisticsDataPool dataPool = new LogisticsDataPool(); + dataPool.setBizId(planBizNuCustomerServer.getId()); + dataPool.setNuId(planBizNuCustomerServer.getNuId()); + dataPool.setNuName(planBizNuCustomerServer.getNuName()); + dataPool.setCustomerId(planBizNuCustomerServer.getCustomerId()); + dataPool.setCustomerName(planBizNuCustomerServer.getCustomerName()); + dataPool.setDirectiveId(planBizNuCustomerServer.getDirectiveId()); + dataPool.setDirectiveName(planBizNuCustomerServer.getDirectiveName()); + dataPool.setCycleTypeId(planBizNuCustomerServer.getCycleTypeId()); + dataPool.setCycleType(planBizNuCustomerServer.getCycleType()); + dataPool.setCycleValue(planBizNuCustomerServer.getCycleValue()); + dataPool.setPreviewFile(planBizNuCustomerServer.getPreviewFile()); + dataPool.setNetPreviewFile(planBizNuCustomerServer.getNetPreviewFile()); + dataPool.setPreviewFileSmall(planBizNuCustomerServer.getPreviewFileSmall()); + dataPool.setNetPreviewFileSmall(planBizNuCustomerServer.getNetPreviewFileSmall()); + dataPool.setMp3File(planBizNuCustomerServer.getMp3File()); + dataPool.setNetMp3File(planBizNuCustomerServer.getNetMp3File()); + dataPool.setMp4File(planBizNuCustomerServer.getMp4File()); + dataPool.setNetMp4File(planBizNuCustomerServer.getNetMp4File()); + dataPool.setServiceDuration(planBizNuCustomerServer.getServiceDuration()); + dataPool.setServiceContent(planBizNuCustomerServer.getServiceContent()); + String startTime = planBizNuCustomerServer.getStartTime(); + String[] starts = startTime.split(":"); + String hour = starts[0]; + String minute = starts[1]; + Calendar c = Calendar.getInstance(); + c.set(Calendar.HOUR_OF_DAY,Integer.valueOf(hour)); + c.set(Calendar.MINUTE,Integer.valueOf(minute)); + c.set(Calendar.SECOND,0); + c.set(Calendar.MILLISECOND,0); + dataPool.setStartTime(c.getTime()); + String endTime = planBizNuCustomerServer.getEndTime(); + String[] ends = endTime.split(":"); + hour = ends[0]; + minute = ends[1]; + c.set(Calendar.HOUR_OF_DAY,Integer.valueOf(hour)); + c.set(Calendar.MINUTE,Integer.valueOf(minute)); + c.set(Calendar.SECOND,0); + c.set(Calendar.MILLISECOND,0); + dataPool.setEndTime(c.getTime()); + addDataPool(dataPool); + } + + /** + * 删除数据池 + * @param planBizNuCustomerServer + */ + @Override + public void deleteDataPool(PlanBizNuCustomerLogisticsServer planBizNuCustomerServer) { + String startTime = planBizNuCustomerServer.getStartTime(); + String[] starts = startTime.split(":"); + String hour = starts[0]; + String minute = starts[1]; + Calendar c = Calendar.getInstance(); + c.set(Calendar.HOUR_OF_DAY,Integer.valueOf(hour)); + c.set(Calendar.MINUTE,Integer.valueOf(minute)); + c.set(Calendar.SECOND,0); + c.set(Calendar.MILLISECOND,0); + LogisticsDataPool dataPool = new LogisticsDataPool(); + dataPool.setBizId(planBizNuCustomerServer.getId()); + dataPool.setNuId(planBizNuCustomerServer.getNuId()); + dataPool.setCustomerId(planBizNuCustomerServer.getCustomerId()); + dataPool.setStartTime(c.getTime()); + dataPool.setIzStart("N"); + dataPool.setDirectiveId(planBizNuCustomerServer.getDirectiveId()); + LogisticsDataPool pool = baseMapper.queryPoolOne(dataPool); + 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()); + } + } + + //删除派单 + private void deleteOrders(String dateStr, LogisticsDataPool dataPool){ + dataPool.setIzStart("N"); + //获取未开始的工单 + LogisticsDataPool pool = baseMapper.queryOrdersOne(dataPool); + if(pool!=null){ + //删除工单 + addOrdersLog(dateStr,pool); + //ws发送通知给员工,员工端删除次工单(待完善) + } + } + + /** + * 创建工单日志表 + */ + private void addOrdersLog(String dateStr, LogisticsDataPool dataPool){ + String tableName = "nu_biz_nu_care_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);//删除昨天及之前的数据 + } + + /** + * 编辑数据池 + * @param planBizNuCustomerServer + */ + @Override + public void editDataPool(PlanBizNuCustomerLogisticsServer planBizNuCustomerServer) { + deleteDataPool(planBizNuCustomerServer); + LogisticsDataPool dataPool = baseMapper.queryPlanById(planBizNuCustomerServer.getId()); + LogisticsDataPool pool = baseMapper.queryPoolOne(dataPool); + if(pool==null){ + addDataPool(dataPool); + } + } + + /** + * 创建日志表 + */ + private void addDataPoolLog(String dateStr,String id){ + String tableName = "nu_biz_nu_care_directive_data_pool_log_"+dateStr.substring(2, 4)+dateStr.substring(5, 7); + LogisticsDataPool dataPool = new LogisticsDataPool(); + dataPool.setTableName(tableName); + baseMapper.createDataPoolLog(dataPool);//创建日志主表 + dataPool.setId(id); + dataPool.setOperationFlag("2"); + baseMapper.addDataPoolLog(dataPool);//保存数据池数据到日志主表 + baseMapper.deleteDataPool(dataPool);//删除昨天及之前的数据 + } + + /** + * 清理数据池数据 + */ + @Override + @Transactional + public void cleanDataPool() { + Calendar c = Calendar.getInstance(); + c.add(Calendar.DAY_OF_MONTH,-1); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String dateStr = sdf.format(c.getTime()); + //创建日志表,保存数据池数据到日志表,删除昨天及之前的数据 + addDataPoolLogByClean(dateStr); + } + + /** + * 创建日志表 + */ + private void addDataPoolLogByClean(String dateStr){ + String tableName = "nu_biz_nu_care_directive_data_pool_log_"+dateStr.substring(2, 4)+dateStr.substring(5, 7); + LogisticsDataPool dataPool = new LogisticsDataPool(); + dataPool.setTableName(tableName); + baseMapper.createDataPoolLog(dataPool);//创建日志主表 + Calendar c = Calendar.getInstance(); + c.set(Calendar.HOUR_OF_DAY,0); + c.set(Calendar.MINUTE,0); + c.set(Calendar.SECOND,0); + c.set(Calendar.MILLISECOND,0); + dataPool.setEndTime(c.getTime()); + dataPool.setOperationFlag("1"); + baseMapper.addDataPoolLog(dataPool);//保存数据池数据到日志主表 + baseMapper.deleteDataPool(dataPool);//删除昨天及之前的数据 + } + + /** + * 生成即时指令到数据池 + * @param dataPool + * @return + */ + @Override + public Result addInstant(LogisticsDataPool dataPool){ + Calendar c = Calendar.getInstance(); + c.set(Calendar.MILLISECOND,0); + c.set(Calendar.SECOND,0); + c.add(Calendar.MINUTE,1); + dataPool.setStartTime(c.getTime()); + String serviceDuration = dataPool.getServiceDuration(); + c.add(Calendar.MINUTE,Integer.valueOf(serviceDuration)); + dataPool.setEndTime(c.getTime()); + dataPool.setCycleTypeId("3"); + 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; + } +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/entity/PlanBizNuCustomerLogisticsServer.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/entity/PlanBizNuCustomerLogisticsServer.java new file mode 100644 index 0000000..a4d6af6 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/entity/PlanBizNuCustomerLogisticsServer.java @@ -0,0 +1,133 @@ +package com.nu.modules.biz.logistics.plan.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 com.nu.modules.biz.care.plan.entity.PlanBizNuCustomerCareServerInstant; +import com.nu.modules.biz.care.plan.entity.PlanBizNuCustomerElderTag; +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.util.Date; +import java.util.List; + +/** + * @Description: 护理单元客户后勤类服务指令计划 + * @Author: yangjun + * @Date: 2025-03-31 + * @Version: V1.0 + */ +@Data +@TableName("nu_biz_nu_customer_logistics_server") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="nu_biz_nu_customer_logistics_server对象", description="护理单元客户后勤类服务指令计划") +public class PlanBizNuCustomerLogisticsServer implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + private String id; + /**护理单元id*/ + private String nuId; + /**护理单元名称*/ + private String nuName; + /**客户id*/ + private String customerId; + /**客户姓名*/ + private String customerName; + /**服务类别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 immediateFile; + /**即时指令图标*/ + private String netImmediateFile; + /**即时指令焦点图标*/ + private String immediateFileFocus; + /**即时指令焦点图标*/ + private String netImmediateFileFocus; + /**服务指令图片大图*/ + 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 String positioning; + /**纵向定位*/ + private String positioningLong; + /**PAD端无线循环使用*/ + private String tagName; + /**开始时间*/ + private String startTime; + /**结束时间*/ + private String endTime; + /**创建人*/ + 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; + /**所属部门*/ + private String sysOrgCode; + /**是否是服务指令包 N否 Y是*/ + private String izPackage; + @TableField(exist = false) + private String packageId; + + /**服务指令列表**/ + @TableField(exist = false) + private List serverList; + /**即时服务指令列表**/ + @TableField(exist = false) + private List instantList; + /**长者标签列表**/ + @TableField(exist = false) + private List tagList; + /**服务包中的服务列表**/ + @TableField(exist = false) + private List directivesList; + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/mapper/PlanBizNuCustomerLogisticsServerMapper.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/mapper/PlanBizNuCustomerLogisticsServerMapper.java new file mode 100644 index 0000000..f26bd8f --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/mapper/PlanBizNuCustomerLogisticsServerMapper.java @@ -0,0 +1,15 @@ +package com.nu.modules.biz.logistics.plan.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nu.modules.biz.logistics.plan.entity.PlanBizNuCustomerLogisticsServer; +import org.apache.ibatis.annotations.Param; + +/** + * @Description: 护理单元客户后勤类服务指令计划 + * @Author: caolei + * @Date: 2025-11-28 + * @Version: V1.0 + */ +public interface PlanBizNuCustomerLogisticsServerMapper extends BaseMapper { + int deleteByIdPhysic(@Param("id") String id); +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/mapper/xml/PlanBizNuCustomerLogisticsServerMapper.xml b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/mapper/xml/PlanBizNuCustomerLogisticsServerMapper.xml new file mode 100644 index 0000000..e80d826 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/mapper/xml/PlanBizNuCustomerLogisticsServerMapper.xml @@ -0,0 +1,7 @@ + + + + + delete from nu_biz_nu_customer_care_server where id = #{id} + + diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/service/IPlanBizNuCustomerLogisticsServerService.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/service/IPlanBizNuCustomerLogisticsServerService.java new file mode 100644 index 0000000..fd43d9e --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/service/IPlanBizNuCustomerLogisticsServerService.java @@ -0,0 +1,15 @@ +package com.nu.modules.biz.logistics.plan.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.nu.modules.biz.logistics.plan.entity.PlanBizNuCustomerLogisticsServer; + + +/** + * @Description: 护理单元客户后勤类服务指令计划 + * @Author: caolei + * @Date: 2025-11-28 + * @Version: V1.0 + */ +public interface IPlanBizNuCustomerLogisticsServerService extends IService { + +} diff --git a/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/service/impl/PlanBizNuCustomerLogisticsServerServiceImpl.java b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/service/impl/PlanBizNuCustomerLogisticsServerServiceImpl.java new file mode 100644 index 0000000..c90bd64 --- /dev/null +++ b/nursing-unit-services/nu-services-biz/src/main/java/com/nu/modules/biz/logistics/plan/service/impl/PlanBizNuCustomerLogisticsServerServiceImpl.java @@ -0,0 +1,80 @@ +package com.nu.modules.biz.logistics.plan.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.entity.LogisticsDirectiveEntity; +import com.nu.modules.biz.logistics.plan.entity.PlanBizNuCustomerLogisticsServer; +import com.nu.modules.biz.logistics.plan.mapper.PlanBizNuCustomerLogisticsServerMapper; +import com.nu.modules.biz.logistics.plan.service.IPlanBizNuCustomerLogisticsServerService; +import com.nu.modules.care.api.ILogisticsDirectivePlanApi; +import com.nu.modules.sysconfig.ISysConfigApi; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: 护理单元客户后勤类服务指令计划 + * @Author: caolei + * @Date: 2025-11-28 + * @Version: V1.0 + */ +@Service +public class PlanBizNuCustomerLogisticsServerServiceImpl extends ServiceImpl implements IPlanBizNuCustomerLogisticsServerService, ILogisticsDirectivePlanApi { + + @Autowired + private ISysConfigApi sysConfigApi; +// @Autowired +// private CareDataPoolServiceImpl dataPoolServiceImpl; + + @Override + public Map getPlanList(LogisticsDirectiveEntity logisticsDirectiveEntity) { + Map resMap = new HashMap<>(); + //服务指令计划 + QueryWrapper PlanBizNuCustomerServerQueryWrapper = new QueryWrapper<>(); + PlanBizNuCustomerServerQueryWrapper.eq(StringUtils.isNotEmpty(logisticsDirectiveEntity.getNuId()), "nu_id", logisticsDirectiveEntity.getNuId()); + PlanBizNuCustomerServerQueryWrapper.eq(StringUtils.isNotEmpty(logisticsDirectiveEntity.getCustomerId()), "customer_id", logisticsDirectiveEntity.getCustomerId()); + List groupList = baseMapper.selectList(PlanBizNuCustomerServerQueryWrapper); + resMap.put("serviceList", groupList);//服务指令计划 + return resMap; + } + + @Override + public LogisticsDirectiveEntity addDirective(LogisticsDirectiveEntity logisticsDirectiveEntity) { + PlanBizNuCustomerLogisticsServer planBizNuCustomerServer = new PlanBizNuCustomerLogisticsServer(); + BeanUtils.copyProperties(logisticsDirectiveEntity,planBizNuCustomerServer); + baseMapper.insert(planBizNuCustomerServer); + //TODO 增加日志 + + //单一指令生成到数据池 +// dataPoolServiceImpl.generateDataPool(planBizNuCustomerServer); + BeanUtils.copyProperties(planBizNuCustomerServer, logisticsDirectiveEntity); + return logisticsDirectiveEntity; + } + + @Override + public void editDirective(LogisticsDirectiveEntity logisticsDirectiveEntity) { + PlanBizNuCustomerLogisticsServer planBizNuCustomerServer = new PlanBizNuCustomerLogisticsServer(); + BeanUtils.copyProperties(logisticsDirectiveEntity,planBizNuCustomerServer); + PlanBizNuCustomerLogisticsServer entity = baseMapper.selectById(logisticsDirectiveEntity.getId()); + baseMapper.updateById(planBizNuCustomerServer); + //TODO 增加日志 + //调用方法先删除数据池中的数据,再生成数据池中的数据 +// dataPoolServiceImpl.editDataPool(entity); + } + + @Override + public void deleteDirective(LogisticsDirectiveEntity logisticsDirectiveEntity) { + PlanBizNuCustomerLogisticsServer planBizNuCustomerServer = new PlanBizNuCustomerLogisticsServer(); + BeanUtils.copyProperties(logisticsDirectiveEntity,planBizNuCustomerServer); + String id = planBizNuCustomerServer.getId(); + //调用方法删除数据池中的数据 +// dataPoolServiceImpl.deleteDataPool(planBizNuCustomerServer); + baseMapper.deleteByIdPhysic(id); + //TODO 增加日志 + } + +}