查询护理医疗仓库行政类对应指令数量:调整sql
This commit is contained in:
parent
1dcb83514d
commit
c1d816fc34
|
|
@ -138,70 +138,43 @@
|
|||
</where>
|
||||
</select>
|
||||
<select id="queryTotal" resultType="java.lang.Integer">
|
||||
SELECT COUNT(*) as total_count
|
||||
SELECT COUNT(p.id) 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}
|
||||
WHERE p.nu_id = #{dto.nuId}
|
||||
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
|
||||
)
|
||||
)
|
||||
OR
|
||||
-- 周期指令按日期执行
|
||||
(
|
||||
LENGTH(p.cycle_value) = 2
|
||||
AND p.cycle_value = DATE_FORMAT(CURDATE(), '%d')
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
-- 1: 每天执行
|
||||
p.cycle_type_id = '1'
|
||||
|
||||
-- 3: 按星期执行
|
||||
OR (p.cycle_type_id = '3' AND p.cycle_value = (
|
||||
CASE DAYOFWEEK(now())
|
||||
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
|
||||
))
|
||||
|
||||
-- 4: 按日期执行
|
||||
OR (p.cycle_type_id = '4' AND p.cycle_value = DATE_FORMAT(now(), '%d'))
|
||||
|
||||
-- 5: 频次执行
|
||||
OR (p.cycle_type_id = '5' AND (
|
||||
-- 不限次数
|
||||
(p.opt_count = 0
|
||||
AND DATEDIFF(now(), DATE(p.opt_time)) >= 0
|
||||
AND MOD(DATEDIFF(now(), DATE(p.opt_time)), (CAST(p.cycle_value AS UNSIGNED) + 1)) = 0)
|
||||
|
||||
-- 有限次数
|
||||
OR (p.opt_count > 0
|
||||
AND DATEDIFF(now(), DATE(p.opt_time)) >= 0
|
||||
AND MOD(DATEDIFF(now(), DATE(p.opt_time)), (CAST(p.cycle_value AS UNSIGNED) + 1)) = 0
|
||||
AND (DATEDIFF(now(), DATE(p.opt_time)) / (CAST(p.cycle_value AS UNSIGNED) + 1)) < p.opt_count)
|
||||
))
|
||||
)
|
||||
</select>
|
||||
|
||||
<select id="list" resultType="com.nu.modules.biz.plan.care.entity.CareDirectivePlan">
|
||||
|
|
@ -244,9 +217,11 @@
|
|||
WHEN plan.iz_package = 'Y' AND package.total_duration IS NOT NULL AND package.total_duration = 0
|
||||
THEN '23:59'
|
||||
WHEN plan.iz_package = 'N' AND directive.service_duration IS NOT NULL AND directive.service_duration > 0
|
||||
THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(directive.service_duration * 60)), '%H:%i')
|
||||
THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(directive.service_duration * 60)),
|
||||
'%H:%i')
|
||||
WHEN plan.iz_package = 'Y' AND package.total_duration IS NOT NULL AND package.total_duration > 0
|
||||
THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(package.total_duration * 60)), '%H:%i')
|
||||
THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(package.total_duration * 60)),
|
||||
'%H:%i')
|
||||
ELSE NULL
|
||||
END as end_time,
|
||||
plan.create_by,
|
||||
|
|
|
|||
|
|
@ -7,69 +7,43 @@
|
|||
where id = #{id}
|
||||
</delete>
|
||||
<select id="queryTotal" resultType="java.lang.Integer">
|
||||
SELECT COUNT(*) as total_count
|
||||
SELECT COUNT(p.id) as total_count
|
||||
FROM nu_biz_nu_invoicing_directive_plan p
|
||||
LEFT JOIN
|
||||
nu_config_package_directive pd ON p.directive_id = pd.package_id
|
||||
WHERE p.nu_id = #{nuId}
|
||||
WHERE p.nu_id = #{dto.nuId}
|
||||
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
|
||||
)
|
||||
)
|
||||
OR
|
||||
-- 周期指令按日期执行
|
||||
(
|
||||
LENGTH(p.cycle_value) = 2
|
||||
AND p.cycle_value = DATE_FORMAT(CURDATE(), '%d')
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
-- 1: 每天执行
|
||||
p.cycle_type_id = '1'
|
||||
|
||||
-- 3: 按星期执行
|
||||
OR (p.cycle_type_id = '3' AND p.cycle_value = (
|
||||
CASE DAYOFWEEK(now())
|
||||
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
|
||||
))
|
||||
|
||||
-- 4: 按日期执行
|
||||
OR (p.cycle_type_id = '4' AND p.cycle_value = DATE_FORMAT(now(), '%d'))
|
||||
|
||||
-- 5: 频次执行
|
||||
OR (p.cycle_type_id = '5' AND (
|
||||
-- 不限次数
|
||||
(p.opt_count = 0
|
||||
AND DATEDIFF(now(), DATE(p.opt_time)) >= 0
|
||||
AND MOD(DATEDIFF(now(), DATE(p.opt_time)), (CAST(p.cycle_value AS UNSIGNED) + 1)) = 0)
|
||||
|
||||
-- 有限次数
|
||||
OR (p.opt_count > 0
|
||||
AND DATEDIFF(now(), DATE(p.opt_time)) >= 0
|
||||
AND MOD(DATEDIFF(now(), DATE(p.opt_time)), (CAST(p.cycle_value AS UNSIGNED) + 1)) = 0
|
||||
AND (DATEDIFF(now(), DATE(p.opt_time)) / (CAST(p.cycle_value AS UNSIGNED) + 1)) < p.opt_count)
|
||||
))
|
||||
)
|
||||
</select>
|
||||
<select id="list" resultType="com.nu.modules.biz.plan.invoicing.entity.InvoicingDirectivePlan">
|
||||
SELECT
|
||||
|
|
|
|||
|
|
@ -2,76 +2,48 @@
|
|||
<!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.logistics.mapper.LogisticsDirectivePlanMapper">
|
||||
<delete id="deleteByIdPhysic">
|
||||
delete from nu_biz_nu_logistics_directive_plan where id = #{id}
|
||||
delete
|
||||
from nu_biz_nu_logistics_directive_plan
|
||||
where id = #{id}
|
||||
</delete>
|
||||
<select id="queryTotal" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
COUNT(*) as total_count
|
||||
FROM
|
||||
nu_biz_nu_logistics_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}
|
||||
SELECT COUNT(p.id) as total_count
|
||||
FROM nu_biz_nu_logistics_directive_plan p
|
||||
WHERE p.nu_id = #{dto.nuId}
|
||||
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
|
||||
)
|
||||
)
|
||||
OR
|
||||
-- 周期指令按日期执行
|
||||
(
|
||||
LENGTH(p.cycle_value) = 2
|
||||
AND p.cycle_value = DATE_FORMAT(CURDATE(), '%d')
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
-- 1: 每天执行
|
||||
p.cycle_type_id = '1'
|
||||
|
||||
-- 3: 按星期执行
|
||||
OR (p.cycle_type_id = '3' AND p.cycle_value = (
|
||||
CASE DAYOFWEEK(now())
|
||||
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
|
||||
))
|
||||
|
||||
-- 4: 按日期执行
|
||||
OR (p.cycle_type_id = '4' AND p.cycle_value = DATE_FORMAT(now(), '%d'))
|
||||
|
||||
-- 5: 频次执行
|
||||
OR (p.cycle_type_id = '5' AND (
|
||||
-- 不限次数
|
||||
(p.opt_count = 0
|
||||
AND DATEDIFF(now(), DATE(p.opt_time)) >= 0
|
||||
AND MOD(DATEDIFF(now(), DATE(p.opt_time)), (CAST(p.cycle_value AS UNSIGNED) + 1)) = 0)
|
||||
|
||||
-- 有限次数
|
||||
OR (p.opt_count > 0
|
||||
AND DATEDIFF(now(), DATE(p.opt_time)) >= 0
|
||||
AND MOD(DATEDIFF(now(), DATE(p.opt_time)), (CAST(p.cycle_value AS UNSIGNED) + 1)) = 0
|
||||
AND (DATEDIFF(now(), DATE(p.opt_time)) / (CAST(p.cycle_value AS UNSIGNED) + 1)) < p.opt_count)
|
||||
))
|
||||
)
|
||||
</select>
|
||||
|
||||
<select id="list" resultType="com.nu.modules.biz.plan.logistics.entity.LogisticsDirectivePlan">
|
||||
|
|
@ -114,9 +86,11 @@
|
|||
WHEN plan.iz_package = 'Y' AND package.total_duration IS NOT NULL AND package.total_duration = 0
|
||||
THEN '23:59'
|
||||
WHEN plan.iz_package = 'N' AND directive.service_duration IS NOT NULL AND directive.service_duration > 0
|
||||
THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(directive.service_duration * 60)), '%H:%i')
|
||||
THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(directive.service_duration * 60)),
|
||||
'%H:%i')
|
||||
WHEN plan.iz_package = 'Y' AND package.total_duration IS NOT NULL AND package.total_duration > 0
|
||||
THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(package.total_duration * 60)), '%H:%i')
|
||||
THEN DATE_FORMAT(ADDTIME(STR_TO_DATE(plan.start_time, '%H:%i'),SEC_TO_TIME(package.total_duration * 60)),
|
||||
'%H:%i')
|
||||
ELSE NULL
|
||||
END as end_time,
|
||||
plan.create_by,
|
||||
|
|
|
|||
Loading…
Reference in New Issue