新增pad接口:可按天查询(仅可今天或历史)已下发服务指令工单、执行中服务指令工单、待执行服务指令工单

This commit is contained in:
1378012178@qq.com 2026-01-08 16:54:33 +08:00
parent db40fd9752
commit 77eabd7616
10 changed files with 525 additions and 54 deletions

View File

@ -1,24 +1,29 @@
package com.nu.modules.pad.directiveplan.api;
import com.nu.entity.CareDirectiveEntity;
import com.nu.entity.CareDirectiveInstantEntity;
import com.nu.entity.CareDirectivePackageEntity;
import cn.hutool.core.date.DateUtil;
import com.google.common.collect.Maps;
import com.nu.entity.*;
import com.nu.modules.config.IDirectiveConfigApi;
import com.nu.modules.care.api.ICareDirectivePlanApi;
import com.nu.modules.order.api.IDirectiveOrderApi;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
import org.jeecg.common.api.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @Description: 护理类服务指令计划API
* @Author: caolei
* @Date: 2025-11-26
* @Version: V1.0
*/
* @Description: 护理类服务指令计划API
* @Author: caolei
* @Date: 2025-11-26
* @Version: V1.0
*/
@RestController
@RequestMapping("/api/pad/care/directive")
@ -27,9 +32,10 @@ public class CareDirectiveApi {
@Autowired
private IDirectiveConfigApi directiveConfigApi;
@Autowired
private ICareDirectivePlanApi careDirectivePlanApi;
@Autowired
private IDirectiveOrderApi directiveOrderApi;
/**
* 获取护理类服务指令树-配置数据
@ -37,22 +43,22 @@ public class CareDirectiveApi {
* @return
*/
@GetMapping(value = "/getServiceTree")
public Result<List<Map<String,Object>>> getServiceTree() {
List<Map<String,Object>> treeList = directiveConfigApi.getServiceTree("1");
public Result<List<Map<String, Object>>> getServiceTree() {
List<Map<String, Object>> treeList = directiveConfigApi.getServiceTree("1");
return Result.OK(treeList);
}
/**
* PAD端获取服务指令计划表格数据
*
* @param careDirectiveEntity
* @return
*/
@GetMapping(value = "/getNclist")
public Result<Map<String,Object>> getPlanList(CareDirectiveEntity careDirectiveEntity) {
Map<String,Object> pageList = careDirectivePlanApi.getPlanList(careDirectiveEntity);
return Result.OK(pageList);
}
/**
* PAD端获取服务指令计划表格数据
*
* @param careDirectiveEntity
* @return
*/
@GetMapping(value = "/getNclist")
public Result<Map<String, Object>> getPlanList(CareDirectiveEntity careDirectiveEntity) {
Map<String, Object> pageList = careDirectivePlanApi.getPlanList(careDirectiveEntity);
return Result.OK(pageList);
}
/**
* 获取指令包集合数据
@ -235,4 +241,46 @@ public class CareDirectiveApi {
// return Result.OK("操作成功");
// }
/**
* 获取护理单元+老人 当天服务指令
* <p>
* 入参
* dto.nuId
* elderId
* startTime
* endTime
*
* @return history 已结束指令
* current 正在执行指令
* future 将来待执行指令
* all 所有
* @return
*/
@GetMapping(value = "/getDirectiveOrders")
public Result<Map<String, Object>> getDirectiveOrders(CareDirectiveEntity dto) {
Map<String, Object> result = Maps.newHashMap();
List<DirectiveOrderEntity> history = Lists.newArrayList();
List<DirectiveOrderEntity> current = Lists.newArrayList();
List<DirectiveOrderEntity> future = Lists.newArrayList();
List<DirectiveOrderEntity> all = Lists.newArrayList();
//历史
history = directiveOrderApi.queryHistory(dto);
if (DateUtil.isSameDay(new Date(), dto.getQueryDate())) {
//正在执行
current = directiveOrderApi.queryCurrent(dto);
//将来
future = careDirectivePlanApi.queryFuture(dto);
}
//所有
all.addAll(history);
all.addAll(current);
all.addAll(future);
result.put("history", history);
result.put("current", current);
result.put("future", future);
result.put("all", all);
return Result.OK(result);
}
}

View File

@ -108,4 +108,10 @@ public class CareDirectiveEntity implements Serializable {
/**长者标签列表**/
private List<ElderTagEntity> tagList;
/**查询时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date queryDate;
private String orderTimeType;
}

View File

@ -1,9 +1,6 @@
package com.nu.modules.care.api;
import com.nu.entity.CareDirectiveEntity;
import com.nu.entity.CareDirectiveInstantEntity;
import com.nu.entity.CareDirectivePackageEntity;
import com.nu.entity.ElderTagEntity;
import com.nu.entity.*;
import java.util.List;
import java.util.Map;
@ -22,6 +19,8 @@ public interface ICareDirectivePlanApi {
CareDirectiveInstantEntity addInstant(CareDirectiveInstantEntity careDirectiveInstantEntity);
void editInstant(CareDirectiveInstantEntity careDirectiveInstantEntity);
void deleteInstant(CareDirectiveInstantEntity careDirectiveInstantEntity);
List<DirectiveOrderEntity> queryFuture(CareDirectiveEntity dto);
// ElderTagEntity addElderTag(ElderTagEntity elderTagEntity);
// void editElderTag(ElderTagEntity elderTagEntity);
// void deleteElderTag(ElderTagEntity elderTagEntity);

View File

@ -45,4 +45,8 @@ public interface IDirectiveOrderApi {
int queryTodayFinishedTotal(String type,String nuId, String elderId);
List<DirectiveOrderEntity> queryHistory(CareDirectiveEntity dto);
List<DirectiveOrderEntity> queryCurrent(CareDirectiveEntity dto);
}

View File

@ -1,6 +1,9 @@
package com.nu.modules.biz.order.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nu.entity.CareDirectiveEntity;
import com.nu.entity.DirectiveOrderEntity;
import com.nu.entity.DirectiveOrderSubEntity;
import com.nu.modules.biz.order.entity.DirectiveOrder;
import org.apache.ibatis.annotations.Param;
@ -30,4 +33,6 @@ public interface DirectiveOrderMapper extends BaseMapper<DirectiveOrder> {
int queryTodayFinishedTotal(@Param("type") String type, @Param("nuId") String nuId, @Param("elderId") String elderId);
List<DirectiveOrderEntity> queryOrderByTimeType(@Param("dto") CareDirectiveEntity dto);
}

View File

@ -2,6 +2,112 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nu.modules.biz.order.mapper.DirectiveOrderMapper">
<resultMap id="DirectiveOrderMap" type="com.nu.entity.DirectiveOrderEntity">
<id column="id" property="id"/>
<result column="order_no" property="orderNo"/>
<result column="order_type" property="orderType"/>
<result column="opt_type" property="optType"/>
<result column="pool_id" property="poolId"/>
<result column="biz_id" property="bizId"/>
<result column="biz_type" property="bizType"/>
<result column="nu_id" property="nuId"/>
<result column="nu_name" property="nuName"/>
<result column="elder_id" property="elderId"/>
<result column="elder_name" property="elderName"/>
<result column="employee_id" property="employeeId"/>
<result column="employee_name" property="employeeName"/>
<result column="directive_id" property="directiveId"/>
<result column="directive_name" property="directiveName"/>
<result column="cycle_type_id" property="cycleTypeId"/>
<result column="cycle_type" property="cycleType"/>
<result column="cycle_value" property="cycleValue"/>
<result column="preview_file" property="previewFile"/>
<result column="net_preview_file" property="netPreviewFile"/>
<result column="preview_file_small" property="previewFileSmall"/>
<result column="net_preview_file_small" property="netPreviewFileSmall"/>
<result column="mp3_file" property="mp3File"/>
<result column="net_mp3_file" property="netMp3File"/>
<result column="mp4_file" property="mp4File"/>
<result column="net_mp4_file" property="netMp4File"/>
<result column="service_duration" property="serviceDuration"/>
<result column="service_content" property="serviceContent"/>
<result column="package_id" property="packageId"/>
<result column="package_name" property="packageName"/>
<result column="iz_package" property="izPackage"/>
<result column="toll_price" property="tollPrice"/>
<result column="com_price" property="comPrice"/>
<result column="real_com_price" property="realComPrice"/>
<result column="start_time" property="startTime"/>
<result column="end_time" property="endTime"/>
<result column="begin_emp" property="beginEmp"/>
<result column="begin_time" property="beginTime"/>
<result column="finish_emp" property="finishEmp"/>
<result column="finish_time" property="finishTime"/>
<result column="iz_start" property="izStart"/>
<result column="iz_finish" property="izFinish"/>
<result column="initiator_id" property="initiatorId"/>
<result column="initiator_name" property="initiatorName"/>
<result column="create_emp" property="createEmp"/>
<result column="create_time" property="createTime"/>
<result column="update_emp" property="updateEmp"/>
<result column="update_time" property="updateTime"/>
<result column="del_flag" property="delFlag"/>
<result column="remarks" property="remarks"/>
<collection property="subList" ofType="com.nu.entity.DirectiveOrderSubEntity">
<id column="sub_id" property="id"/>
<result column="sub_order_type" property="orderType"/>
<result column="sub_main_id" property="mainId"/>
<result column="sub_pool_sub_id" property="poolSubId"/>
<result column="sub_nu_id" property="nuId"/>
<result column="sub_nu_name" property="nuName"/>
<result column="sub_elder_id" property="elderId"/>
<result column="sub_elder_name" property="elderName"/>
<result column="sub_employee_id" property="employeeId"/>
<result column="sub_employee_name" property="employeeName"/>
<result column="sub_instruction_tag_id" property="instructionTagId"/>
<result column="sub_instruction_tag_name" property="instructionTagName"/>
<result column="sub_category_id" property="categoryId"/>
<result column="sub_category_name" property="categoryName"/>
<result column="sub_type_id" property="typeId"/>
<result column="sub_type_name" property="typeName"/>
<result column="sub_directive_id" property="directiveId"/>
<result column="sub_directive_name" property="directiveName"/>
<result column="sub_cycle_type_id" property="cycleTypeId"/>
<result column="sub_cycle_type" property="cycleType"/>
<result column="sub_cycle_value" property="cycleValue"/>
<result column="sub_preview_file" property="previewFile"/>
<result column="sub_net_preview_file" property="netPreviewFile"/>
<result column="sub_preview_file_small" property="previewFileSmall"/>
<result column="sub_net_preview_file_small" property="netPreviewFileSmall"/>
<result column="sub_mp3_file" property="mp3File"/>
<result column="sub_net_mp3_file" property="netMp3File"/>
<result column="sub_mp4_file" property="mp4File"/>
<result column="sub_net_mp4_file" property="netMp4File"/>
<result column="sub_service_duration" property="serviceDuration"/>
<result column="sub_service_content" property="serviceContent"/>
<result column="sub_toll_price" property="tollPrice"/>
<result column="sub_com_price" property="comPrice"/>
<result column="sub_real_com_price" property="realComPrice"/>
<result column="sub_package_id" property="packageId"/>
<result column="sub_package_name" property="packageName"/>
<result column="sub_iz_package" property="izPackage"/>
<result column="sub_start_time" property="startTime"/>
<result column="sub_end_time" property="endTime"/>
<result column="sub_begin_time" property="beginTime"/>
<result column="sub_finish_time" property="finishTime"/>
<result column="sub_iz_start" property="izStart"/>
<result column="sub_iz_finish" property="izFinish"/>
<result column="sub_create_by" property="createBy"/>
<result column="sub_create_time" property="createTime"/>
<result column="sub_update_by" property="updateBy"/>
<result column="sub_update_time" property="updateTime"/>
<result column="sub_del_flag" property="delFlag"/>
<result column="sub_tplink_path" property="tplinkPath"/>
<result column="sub_manually_pic_path" property="manuallyPicPath"/>
<result column="sub_manually_mp4_path" property="manuallyMp4Path"/>
</collection>
</resultMap>
<select id="queryDataPoolList" resultType="com.nu.modules.biz.order.entity.DirectiveOrder">
select a.id as poolId,
a.biz_id as bizId,
@ -153,4 +259,71 @@
</where>
</select>
<select id="queryOrderByTimeType" resultMap="DirectiveOrderMap">
SELECT
o.id, o.order_no, o.order_type, o.opt_type, o.pool_id, o.biz_id, o.biz_type,
o.nu_id, o.nu_name, o.elder_id, o.elder_name, o.employee_id, o.employee_name,
o.directive_id, o.directive_name, o.cycle_type_id, o.cycle_type, o.cycle_value,
o.preview_file, o.net_preview_file, o.preview_file_small, o.net_preview_file_small,
o.mp3_file, o.net_mp3_file, o.mp4_file, o.net_mp4_file, o.service_duration,
o.service_content, o.package_id, o.package_name, o.iz_package, o.toll_price,
o.com_price, o.real_com_price, o.start_time, o.end_time, o.begin_emp, o.begin_time,
o.finish_emp, o.finish_time, o.iz_start, o.iz_finish, o.initiator_id, o.initiator_name,
o.create_emp, o.create_time, o.update_emp, o.update_time, o.del_flag, o.remarks,
s.id as sub_id, s.order_type as sub_order_type, s.main_id as sub_main_id,
s.pool_sub_id as sub_pool_sub_id, s.nu_id as sub_nu_id, s.nu_name as sub_nu_name,
s.elder_id as sub_elder_id, s.elder_name as sub_elder_name, s.employee_id as sub_employee_id,
s.employee_name as sub_employee_name, s.instruction_tag_id as sub_instruction_tag_id,
s.instruction_tag_name as sub_instruction_tag_name, s.category_id as sub_category_id,
s.category_name as sub_category_name, s.type_id as sub_type_id, s.type_name as sub_type_name,
s.directive_id as sub_directive_id, s.directive_name as sub_directive_name,
s.cycle_type_id as sub_cycle_type_id, s.cycle_type as sub_cycle_type,
s.cycle_value as sub_cycle_value, s.preview_file as sub_preview_file,
s.net_preview_file as sub_net_preview_file, s.preview_file_small as sub_preview_file_small,
s.net_preview_file_small as sub_net_preview_file_small, s.mp3_file as sub_mp3_file,
s.net_mp3_file as sub_net_mp3_file, s.mp4_file as sub_mp4_file, s.net_mp4_file as sub_net_mp4_file,
s.service_duration as sub_service_duration, s.service_content as sub_service_content,
s.toll_price as sub_toll_price, s.com_price as sub_com_price, s.real_com_price as sub_real_com_price,
s.package_id as sub_package_id, s.package_name as sub_package_name, s.iz_package as sub_iz_package,
s.start_time as sub_start_time, s.end_time as sub_end_time, s.begin_time as sub_begin_time,
s.finish_time as sub_finish_time, s.iz_start as sub_iz_start, s.iz_finish as sub_iz_finish,
s.create_by as sub_create_by, s.create_time as sub_create_time, s.update_by as sub_update_by,
s.update_time as sub_update_time, s.del_flag as sub_del_flag, s.tplink_path as sub_tplink_path,
s.manually_pic_path as sub_manually_pic_path, s.manually_mp4_path as sub_manually_mp4_path
FROM nu_biz_nu_directive_order o
LEFT JOIN nu_biz_nu_directive_order_sub s ON o.id = s.main_id
WHERE o.order_type = '1'
<if test="dto.orderTimeType != null and dto.orderTimeType != ''">
<if test="dto.orderTimeType == 'history'">
<choose>
<when test="@cn.hutool.core.date.DateUtil@isSameDay(dto.queryDate, new java.util.Date())">
<![CDATA[
AND (
(DATE(o.start_time) = DATE(#{dto.queryDate}) AND o.end_time < NOW())
OR
(DATE(o.start_time) = DATE(#{dto.queryDate}) AND o.start_time < NOW() AND o.iz_finish = 'Y')
)
]]>
</when>
<otherwise>
<![CDATA[
AND DATE(o.start_time) = DATE(#{dto.queryDate})
]]>
</otherwise>
</choose>
</if>
<if test="dto.orderTimeType == 'current'">
<![CDATA[
AND (DATE(o.start_time) = DATE(#{dto.queryDate}) AND o.start_time <= #{dto.queryDate} AND #{dto.queryDate} >= o.end_time AND o.iz_finish = 'N')
]]>
</if>
</if>
<if test="dto.nuId != null and dto.nuId != ''">
AND o.nu_id = #{dto.nuId}
</if>
<if test="dto.elderId != null and dto.elderId != ''">
AND o.elder_id = #{dto.elderId}
</if>
ORDER BY o.start_time, s.start_time
</select>
</mapper>

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nu.entity.CareDirectiveEntity;
import com.nu.entity.DirectiveOrderEntity;
import com.nu.entity.DirectiveOrderSubEntity;
import com.nu.modules.biz.order.entity.DirectiveOrder;
@ -177,6 +178,18 @@ public class DirectiveOrderPadServiceImpl extends ServiceImpl<DirectiveOrderMapp
return baseMapper.queryTodayFinishedTotal(type,nuId, elderId);
}
@Override
public List<DirectiveOrderEntity> queryHistory(CareDirectiveEntity dto) {
dto.setOrderTimeType("history");
return baseMapper.queryOrderByTimeType(dto);
}
@Override
public List<DirectiveOrderEntity> queryCurrent(CareDirectiveEntity dto) {
dto.setOrderTimeType("current");
return baseMapper.queryOrderByTimeType(dto);
}
@Override
public Map<String, Object> editSubMp4(DirectiveOrderSubEntity directiveOrderSubEntity) {
DirectiveOrderSub directiveOrderSub = new DirectiveOrderSub();

View File

@ -1,6 +1,9 @@
package com.nu.modules.biz.plan.care.mapper;
import java.util.List;
import com.nu.entity.CareDirectiveEntity;
import com.nu.entity.DirectiveOrderEntity;
import com.nu.modules.biz.plan.care.entity.CareDirectivePlan;
import com.nu.modules.biz.plan.care.entity.DirectivePackagePlan;
import org.apache.ibatis.annotations.Param;
@ -23,4 +26,6 @@ public interface CareDirectivePlanMapper extends BaseMapper<CareDirectivePlan> {
int deleteByIdPhysic(@Param("id") String id);
int queryTotal(@Param("nuId") String nuId, @Param("elderId") String elderId);
List<DirectiveOrderEntity> queryFuture( @Param("dto") CareDirectiveEntity dto);
}

View File

@ -1,6 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nu.modules.biz.plan.care.mapper.CareDirectivePlanMapper">
<resultMap id="DirectiveOrderMap" type="com.nu.entity.DirectiveOrderEntity">
<id column="id" property="id"/>
<result column="order_no" property="orderNo"/>
<result column="order_type" property="orderType"/>
<result column="opt_type" property="optType"/>
<result column="pool_id" property="poolId"/>
<result column="biz_id" property="bizId"/>
<result column="biz_type" property="bizType"/>
<result column="nu_id" property="nuId"/>
<result column="nu_name" property="nuName"/>
<result column="elder_id" property="elderId"/>
<result column="elder_name" property="elderName"/>
<result column="employee_id" property="employeeId"/>
<result column="employee_name" property="employeeName"/>
<result column="directive_id" property="directiveId"/>
<result column="directive_name" property="directiveName"/>
<result column="cycle_type_id" property="cycleTypeId"/>
<result column="cycle_type" property="cycleType"/>
<result column="cycle_value" property="cycleValue"/>
<result column="preview_file" property="previewFile"/>
<result column="net_preview_file" property="netPreviewFile"/>
<result column="preview_file_small" property="previewFileSmall"/>
<result column="net_preview_file_small" property="netPreviewFileSmall"/>
<result column="mp3_file" property="mp3File"/>
<result column="net_mp3_file" property="netMp3File"/>
<result column="mp4_file" property="mp4File"/>
<result column="net_mp4_file" property="netMp4File"/>
<result column="service_duration" property="serviceDuration"/>
<result column="service_content" property="serviceContent"/>
<result column="package_id" property="packageId"/>
<result column="package_name" property="packageName"/>
<result column="iz_package" property="izPackage"/>
<result column="toll_price" property="tollPrice"/>
<result column="com_price" property="comPrice"/>
<result column="real_com_price" property="realComPrice"/>
<result column="start_time" property="startTime"/>
<result column="end_time" property="endTime"/>
<result column="begin_emp" property="beginEmp"/>
<result column="begin_time" property="beginTime"/>
<result column="finish_emp" property="finishEmp"/>
<result column="finish_time" property="finishTime"/>
<result column="iz_start" property="izStart"/>
<result column="iz_finish" property="izFinish"/>
<result column="initiator_id" property="initiatorId"/>
<result column="initiator_name" property="initiatorName"/>
<result column="create_emp" property="createEmp"/>
<result column="create_time" property="createTime"/>
<result column="update_emp" property="updateEmp"/>
<result column="update_time" property="updateTime"/>
<result column="del_flag" property="delFlag"/>
<result column="remarks" property="remarks"/>
<collection property="subList" ofType="com.nu.entity.DirectiveOrderSubEntity">
<id column="sub_id" property="id"/>
<result column="sub_order_type" property="orderType"/>
<result column="sub_main_id" property="mainId"/>
<result column="sub_pool_sub_id" property="poolSubId"/>
<result column="sub_nu_id" property="nuId"/>
<result column="sub_nu_name" property="nuName"/>
<result column="sub_elder_id" property="elderId"/>
<result column="sub_elder_name" property="elderName"/>
<result column="sub_employee_id" property="employeeId"/>
<result column="sub_employee_name" property="employeeName"/>
<result column="sub_instruction_tag_id" property="instructionTagId"/>
<result column="sub_instruction_tag_name" property="instructionTagName"/>
<result column="sub_category_id" property="categoryId"/>
<result column="sub_category_name" property="categoryName"/>
<result column="sub_type_id" property="typeId"/>
<result column="sub_type_name" property="typeName"/>
<result column="sub_directive_id" property="directiveId"/>
<result column="sub_directive_name" property="directiveName"/>
<result column="sub_cycle_type_id" property="cycleTypeId"/>
<result column="sub_cycle_type" property="cycleType"/>
<result column="sub_cycle_value" property="cycleValue"/>
<result column="sub_preview_file" property="previewFile"/>
<result column="sub_net_preview_file" property="netPreviewFile"/>
<result column="sub_preview_file_small" property="previewFileSmall"/>
<result column="sub_net_preview_file_small" property="netPreviewFileSmall"/>
<result column="sub_mp3_file" property="mp3File"/>
<result column="sub_net_mp3_file" property="netMp3File"/>
<result column="sub_mp4_file" property="mp4File"/>
<result column="sub_net_mp4_file" property="netMp4File"/>
<result column="sub_service_duration" property="serviceDuration"/>
<result column="sub_service_content" property="serviceContent"/>
<result column="sub_toll_price" property="tollPrice"/>
<result column="sub_com_price" property="comPrice"/>
<result column="sub_real_com_price" property="realComPrice"/>
<result column="sub_package_id" property="packageId"/>
<result column="sub_package_name" property="packageName"/>
<result column="sub_iz_package" property="izPackage"/>
<result column="sub_start_time" property="startTime"/>
<result column="sub_end_time" property="endTime"/>
<result column="sub_begin_time" property="beginTime"/>
<result column="sub_finish_time" property="finishTime"/>
<result column="sub_iz_start" property="izStart"/>
<result column="sub_iz_finish" property="izFinish"/>
<result column="sub_create_by" property="createBy"/>
<result column="sub_create_time" property="createTime"/>
<result column="sub_update_by" property="updateBy"/>
<result column="sub_update_time" property="updateTime"/>
<result column="sub_del_flag" property="delFlag"/>
<result column="sub_tplink_path" property="tplinkPath"/>
<result column="sub_manually_pic_path" property="manuallyPicPath"/>
<result column="sub_manually_mp4_path" property="manuallyMp4Path"/>
</collection>
</resultMap>
<delete id="deleteByIdPhysic">
delete
from nu_biz_nu_care_directive_plan
@ -41,14 +148,11 @@
</where>
</select>
<select id="queryTotal" resultType="java.lang.Integer">
SELECT
COUNT(*) as total_count
FROM
nu_biz_nu_care_directive_plan p
LEFT JOIN
nu_config_package_directive pd ON p.directive_id = pd.package_id
WHERE
p.nu_id = #{nuId}
SELECT COUNT(*) as total_count
FROM nu_biz_nu_care_directive_plan p
LEFT JOIN
nu_config_package_directive pd ON p.directive_id = pd.package_id
WHERE p.nu_id = #{nuId}
AND p.elder_id = #{elderId}
AND (
-- 条件1: 包数据 (cycle_type_id为空或空字符串)
@ -57,16 +161,16 @@
AND (
-- 包数据按星期执行
(
pd.cycle_value IN ('0','1','2','3','4','5','6')
pd.cycle_value IN ('0', '1', '2', '3', '4', '5', '6')
AND pd.cycle_value = (
CASE DAYOFWEEK(CURDATE())
WHEN 1 THEN '6' -- 星期天
WHEN 2 THEN '0' -- 星期一
WHEN 3 THEN '1' -- 星期二
WHEN 4 THEN '2' -- 星期三
WHEN 5 THEN '3' -- 星期四
WHEN 6 THEN '4' -- 星期五
WHEN 7 THEN '5' -- 星期六
WHEN 1 THEN '6' -- 星期天
WHEN 2 THEN '0' -- 星期一
WHEN 3 THEN '1' -- 星期二
WHEN 4 THEN '2' -- 星期三
WHEN 5 THEN '3' -- 星期四
WHEN 6 THEN '4' -- 星期五
WHEN 7 THEN '5' -- 星期六
END
)
)
@ -86,16 +190,128 @@
AND (
-- 周期指令按星期执行
(
p.cycle_value IN ('0','1','2','3','4','5','6')
p.cycle_value IN ('0', '1', '2', '3', '4', '5', '6')
AND p.cycle_value = (
CASE DAYOFWEEK(CURDATE())
WHEN 1 THEN '6' -- 星期天
WHEN 2 THEN '0' -- 星期一
WHEN 3 THEN '1' -- 星期二
WHEN 4 THEN '2' -- 星期三
WHEN 5 THEN '3' -- 星期四
WHEN 6 THEN '4' -- 星期五
WHEN 7 THEN '5' -- 星期六
WHEN 1 THEN '6' -- 星期天
WHEN 2 THEN '0' -- 星期一
WHEN 3 THEN '1' -- 星期二
WHEN 4 THEN '2' -- 星期三
WHEN 5 THEN '3' -- 星期四
WHEN 6 THEN '4' -- 星期五
WHEN 7 THEN '5' -- 星期六
END
)
)
OR
-- 周期指令按日期执行
(
LENGTH(p.cycle_value) = 2
AND p.cycle_value = DATE_FORMAT(CURDATE(), '%d')
)
)
)
);
</select>
<select id="queryFuture" resultMap="DirectiveOrderMap">
select p.id,
p.nu_id,
p.nu_name,
p.elder_id,
p.elder_name,
p.category_id,
p.category_name,
p.type_id,
p.type_name,
CASE
WHEN p.iz_package = 'Y' THEN p.directive_id
ELSE NULL
END AS directive_id,
CASE
WHEN p.iz_package = 'Y' THEN p.directive_name
ELSE NULL
END AS directive_name,
p.preview_file,
p.net_preview_file,
p.preview_file_small,
p.net_preview_file_small,
p.mp3_file,
p.net_mp3_file,
p.mp4_file,
p.net_mp4_file,
p.immediate_file,
p.net_immediate_file,
p.immediate_file_focus,
p.net_immediate_file_focus,
p.cycle_type_id,
p.cycle_type,
p.cycle_value,
p.service_duration,
p.service_content,
p.positioning,
p.positioning_long,
p.tag_name,
p.start_time,
p.end_time,
p.create_by,
p.create_time,
p.update_by,
p.update_time,
p.sys_org_code,
p.iz_package,
pd.directive_id AS sub_id,
pd.directive_id AS sub_directive_id
FROM nu_biz_nu_care_directive_plan p
LEFT JOIN
nu_config_package_directive pd ON p.directive_id = pd.package_id
WHERE p.nu_id = #{dto.nuId}
AND p.elder_id = #{dto.elderId}
AND (
-- 条件1: 包数据 (cycle_type_id为空或空字符串)
(
(p.cycle_type_id IS NULL OR p.cycle_type_id = '')
AND (
-- 包数据按星期执行
(
pd.cycle_value IN ('0', '1', '2', '3', '4', '5', '6')
AND pd.cycle_value = (
CASE DAYOFWEEK(CURDATE())
WHEN 1 THEN '6' -- 星期天
WHEN 2 THEN '0' -- 星期一
WHEN 3 THEN '1' -- 星期二
WHEN 4 THEN '2' -- 星期三
WHEN 5 THEN '3' -- 星期四
WHEN 6 THEN '4' -- 星期五
WHEN 7 THEN '5' -- 星期六
END
)
)
OR
-- 包数据按日期执行
(
LENGTH(pd.cycle_value) = 2
AND pd.cycle_value = DATE_FORMAT(CURDATE(), '%d')
)
)
)
-- 条件2: 日常类型指令 (cycle_type_id = '1')
OR p.cycle_type_id = '1'
-- 条件3: 周期类型指令 (cycle_type_id = '2')
OR (
p.cycle_type_id = '2'
AND (
-- 周期指令按星期执行
(
p.cycle_value IN ('0', '1', '2', '3', '4', '5', '6')
AND p.cycle_value = (
CASE DAYOFWEEK(CURDATE())
WHEN 1 THEN '6' -- 星期天
WHEN 2 THEN '0' -- 星期一
WHEN 3 THEN '1' -- 星期二
WHEN 4 THEN '2' -- 星期三
WHEN 5 THEN '3' -- 星期四
WHEN 6 THEN '4' -- 星期五
WHEN 7 THEN '5' -- 星期六
END
)
)

View File

@ -1,15 +1,12 @@
package com.nu.modules.biz.plan.care.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.nu.entity.CareDirectiveInstantEntity;
import com.nu.entity.CareDirectivePackageEntity;
import com.nu.entity.ElderTagEntity;
import com.nu.entity.*;
import com.nu.modules.biz.datapool.service.ICareDataPoolService;
import org.springframework.beans.BeanUtils;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.nu.entity.CareDirectiveEntity;
import com.nu.modules.biz.common.entity.BizConfigServiceCategory;
import com.nu.modules.biz.common.entity.BizConfigServiceDirective;
import com.nu.modules.biz.common.entity.BizConfigServiceType;
@ -396,6 +393,11 @@ public class CareDirectivePlanServiceImpl extends ServiceImpl<CareDirectivePlanM
//TODO 增加日志
}
@Override
public List<DirectiveOrderEntity> queryFuture(CareDirectiveEntity dto) {
return baseMapper.queryFuture(dto);
}
// @Override
// public ElderTagEntity addElderTag(ElderTagEntity elderTagEntity) {
// ElderTagPlan bizNuElderTagPlan = new ElderTagPlan();