<iftest="overdueDays != null and overdueDays != ''">
case
when ISNULL(datediff(day,convert(varchar(100),m.mid_date,23),convert(varchar(100),f.handle_time,23)),0)<=0
then '0'
when ISNULL( datediff(day,convert(varchar(100),m.mid_date,23),convert(varchar(100),f.handle_time,23)),0)+ISNULL(m.dayOne,0)-1-cast(#{overdueDays,jdbcType=NCHAR} as int)<0
then '0'
when ISNULL(m.dayOne,0)>=0 and ISNULL( datediff(day,convert(varchar(100),m.mid_date,23),convert(varchar(100),f.handle_time,23)),0)>=0
then ISNULL( datediff(day,convert(varchar(100),m.mid_date,23),convert(varchar(100),f.handle_time,23)),0)+ISNULL(m.dayOne,0)-1-cast(#{overdueDays,jdbcType=NCHAR} as int)
else '0'
end overdue
</if>
<iftest="overdueDays == null or overdueDays == ''">
case
when ISNULL( datediff(day,convert(varchar(100),m.mid_date,23),convert(varchar(100),f.handle_time,23)),0)+ISNULL(m.dayOne,0)-1-3<0
then '0'
when ISNULL(m.dayOne,0)>=0 and ISNULL( datediff(day,convert(varchar(100),m.mid_date,23),convert(varchar(100),f.handle_time,23)),0)>=0
then ISNULL( datediff(day,convert(varchar(100),m.mid_date,23),convert(varchar(100),f.handle_time,23)),0)+ISNULL(m.dayOne,0)-1-3
<iftest="(overdueDaysTwo != null and overdueDaysTwo != '') and (overdueDays == null or overdueDays == '')">
and ISNULL( datediff(day,convert(varchar(100),m.mid_date,23),convert(varchar(100),f.handle_time,23)),0)+ISNULL(m.dayOne,0)-1-3>=#{overdueDaysTwo,jdbcType=NCHAR}
</if>
<!--<if test="(overdueDaysTwo == null or overdueDaysTwo == '') and (overdueDays == null or overdueDays == '')">
and ISNULL( datediff(day,convert(varchar(100),m.mid_date,23),convert(varchar(100),f.handle_time,23)),0)+ISNULL(m.dayOne,0)-1-3>=0
</if>-->
@ -1583,23 +1610,23 @@
select id,master_id,following_type,following_content,handle_name,handle_time,ROW_NUMBER() OVER (partition by master_id ORDER BY master_id,handle_time) as rowNumb from Archive_Master_Following where following_type='9'
)f1
LEFT JOIN (
select *,
<iftest="overdueDays != null and overdueDays != ''">
convert(varchar(10),(DATEADD(DAY,cast(#{overdueDays,jdbcType=NCHAR} as int)-1,convert(varchar(10),handle_time,23))),23) mid_date
,ISNULL(dbo.getWorkday(convert(varchar(10),handle_time,23),convert(varchar(10),(DATEADD(DAY,cast(#{overdueDays,jdbcType=NCHAR} as int),convert(varchar(10),handle_time,23))),23)) , 0) dayOne
</if>
<iftest="overdueDays == null or overdueDays == ''">
convert(varchar(10),(DATEADD(DAY,cast('2' as int),convert(varchar(10),handle_time,23))),23) mid_date
,ISNULL(dbo.getWorkday(convert(varchar(10),handle_time,23),convert(varchar(10),(DATEADD(DAY,cast('3' as int),convert(varchar(10),handle_time,23))),23)) , 0) dayOne
</if>
from(
select *,ROW_NUMBER() OVER (partition by master_id ORDER BY master_id,handle_time) as rowNumb from Archive_Master_Following where following_type='5'
)a
select *,
<iftest="overdueDays != null and overdueDays != ''">
convert(varchar(10),(DATEADD(DAY,cast(#{overdueDays,jdbcType=NCHAR} as int)-1,convert(varchar(10),handle_time,23))),23) mid_date
,ISNULL(dbo.getWorkday(convert(varchar(10),handle_time,23),convert(varchar(10),(DATEADD(DAY,cast(#{overdueDays,jdbcType=NCHAR} as int),convert(varchar(10),handle_time,23))),23)) , 0) dayOne
</if>
<iftest="overdueDays == null or overdueDays == ''">
convert(varchar(10),(DATEADD(DAY,cast('2' as int),convert(varchar(10),handle_time,23))),23) mid_date
,ISNULL(dbo.getWorkday(convert(varchar(10),handle_time,23),convert(varchar(10),(DATEADD(DAY,cast('3' as int),convert(varchar(10),handle_time,23))),23)) , 0) dayOne
</if>
from(
select *,ROW_NUMBER() OVER (partition by master_id ORDER BY master_id,handle_time) as rowNumb from Archive_Master_Following where following_type='5'
)a
)f2
on f1.master_id=f2.master_id and f1.rowNumb=f2.rowNumb-1
LEFT JOIN (
select id master_id,patient_id,inp_no,visit_id,name,dept_name,convert(varchar,discharge_date_time,120) discharge_date_time,check_doctor,first_instance,DOCTOR_IN_CHARGE,death_flag,dept_admission_to,convert(varchar,admission_date_time,120) admission_date_time
from archive_master where 1=1 and ArchiveState not in('作废','已封存','取消入院') and Is_Valid!=1
select id master_id,patient_id,inp_no,visit_id,name,dept_name,convert(varchar,discharge_date_time,120) discharge_date_time,check_doctor,first_instance,DOCTOR_IN_CHARGE,death_flag,dept_admission_to,convert(varchar,admission_date_time,120) admission_date_time
from archive_master where 1=1 and ArchiveState not in('作废','已封存','取消入院') and Is_Valid!=1
) m
on f1.master_id=m.master_id
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) c
@ -2038,4 +2065,144 @@
group by patient_id,admiss_id, admiss_times, name , convert(date, print_createtime, 8)