归档率统计表格
parent
7ddb2145a0
commit
516989c0de
@ -0,0 +1,61 @@
|
||||
package com.emr.controller;
|
||||
|
||||
import com.emr.dto.ThreeDaysFileDto;
|
||||
import com.emr.entity.OffsetLimitPage;
|
||||
import com.emr.service.StatementService;
|
||||
import com.emr.util.Msg;
|
||||
import com.emr.vo.ThreeDaysFileVo;
|
||||
import com.emr.vo.ExecuteVo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName StatementController
|
||||
* @Description 报表接口
|
||||
* @Author linjj
|
||||
* @Date 2024/1/11 14:28
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("statement")
|
||||
public class StatementController {
|
||||
|
||||
@Autowired
|
||||
StatementService statementService;
|
||||
|
||||
@RequestMapping(value = "/threeDaysFile")
|
||||
public String threeDaysFile(Model model) {
|
||||
return "statementDir/ThreeDaysFile";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/threeDaysFileList")
|
||||
@ResponseBody
|
||||
public List<ThreeDaysFileVo> threeDaysFileList(ThreeDaysFileDto dto) {
|
||||
return statementService.threeDaysFileList(dto);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/reportList")
|
||||
@ResponseBody
|
||||
public OffsetLimitPage getMedicalOverdueReportList(Integer offset, Integer limit) {
|
||||
OffsetLimitPage result = statementService.getMedicalOverdueReportList(offset, limit);
|
||||
return result;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/saveExecute")
|
||||
@ResponseBody
|
||||
public Msg saveMedicalOverdueExecute(ThreeDaysFileDto dto) {
|
||||
return statementService.saveMedicalOverdueExecute(dto);
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = "/echoExecute")
|
||||
@ResponseBody
|
||||
public ExecuteVo executeList() {
|
||||
return statementService.executeList();
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package com.emr.dao;
|
||||
|
||||
import com.emr.dto.MedicalOverdueReportDto;
|
||||
import com.emr.dto.ThreeDaysFileDto;
|
||||
import com.emr.util.Msg;
|
||||
import com.emr.vo.ExecuteVo;
|
||||
import com.emr.vo.MedicalOverdueReportVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @InterfaceName MedicalOverdueReportMapper
|
||||
* @Description medical_overdue_report表
|
||||
* @Author linjj
|
||||
* @Date 2024/1/17 8:59
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface MedicalOverdueReportMapper {
|
||||
|
||||
//查询记录表中是否有数据
|
||||
int getMedicalOverdueReport();
|
||||
|
||||
int addMedicalOverdueReport(@Param("list") List<MedicalOverdueReportDto> list);
|
||||
|
||||
int delMedicalOverdueReport();
|
||||
|
||||
List<MedicalOverdueReportVo>getMedicalOverdueReportList();
|
||||
|
||||
|
||||
int saveMedicalOverdueExecute(ThreeDaysFileDto dto);
|
||||
|
||||
ExecuteVo executeList();
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.emr.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @ClassName ThreeDaysFileDto
|
||||
* @Description 三日归档情况入参
|
||||
* @Author linjj
|
||||
* @Date 2024/1/11 16:30
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class ThreeDaysFileDto {
|
||||
|
||||
|
||||
|
||||
private String startDateTo;
|
||||
|
||||
private String endDateTo;
|
||||
|
||||
private int day;
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package com.emr.service;
|
||||
|
||||
import com.emr.dto.ThreeDaysFileDto;
|
||||
import com.emr.entity.OffsetLimitPage;
|
||||
import com.emr.util.Msg;
|
||||
import com.emr.vo.ExecuteVo;
|
||||
import com.emr.vo.MedicalOverdueReportVo;
|
||||
import com.emr.vo.ThreeDaysFileVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @InterfaceName StatementService
|
||||
* @Description 报表接口
|
||||
* @Author linjj
|
||||
* @Date 2024/1/11 14:31
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface StatementService {
|
||||
|
||||
List<ThreeDaysFileVo> threeDaysFileList(ThreeDaysFileDto dto);
|
||||
|
||||
OffsetLimitPage getMedicalOverdueReportList(Integer offset, Integer limit);
|
||||
|
||||
Msg saveMedicalOverdueExecute(ThreeDaysFileDto dto);
|
||||
|
||||
ExecuteVo executeList();
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.emr.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @ClassName ThreeDaysFileDto
|
||||
* @Description 执行计划返回
|
||||
* @Author linjj
|
||||
* @Date 2024/1/11 16:30
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class ExecuteVo {
|
||||
|
||||
|
||||
|
||||
private String startDateTo;
|
||||
|
||||
private String endDateTo;
|
||||
|
||||
private int day;
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
<?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.emr.dao.MedicalOverdueReportMapper" >
|
||||
<insert id="addMedicalOverdueReport">
|
||||
insert into medical_overdue_report(deptCode,deptName,outNum,lateNum,day3Rate,day2Rate,deptNameLate,day3RateSting,returnNumString,
|
||||
deptNameLateKpi,feedBackRecordNum,notFeedBackRecordNum,feedBackMoney,returnOverdueNum,returnOverdueMoney,day3RewardNum,
|
||||
noReturnOverdue2Day)
|
||||
values
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.deptCode},#{item.deptName},#{item.outNum},#{item.lateNum},#{item.day3Rate},#{item.day2Rate},#{item.deptNameLate},
|
||||
#{item.day3RateSting},#{item.returnNumString},#{item.deptNameLateKpi},#{item.feedBackRecordNum},#{item.notFeedBackRecordNum},
|
||||
#{item.feedBackMoney},#{item.returnOverdueNum},#{item.returnOverdueMoney},#{item.day3RewardNum},#{item.noReturnOverdue2Day})
|
||||
</foreach>
|
||||
</insert>
|
||||
<update id="saveMedicalOverdueExecute">
|
||||
update medical_overdue_execute set day=#{day},startDateTo=#{startDateTo},endDateTo=#{endDateTo} where static=1
|
||||
</update>
|
||||
<delete id="delMedicalOverdueReport">
|
||||
delete from medical_overdue_report
|
||||
</delete>
|
||||
|
||||
<select id="getMedicalOverdueReport" resultType="java.lang.Integer">
|
||||
select count(*) from medical_overdue_report
|
||||
</select>
|
||||
<select id="getMedicalOverdueReportList" resultType="com.emr.vo.MedicalOverdueReportVo">
|
||||
select * from medical_overdue_report order by day3RateSting desc
|
||||
</select>
|
||||
<select id="executeList" resultType="com.emr.vo.ExecuteVo">
|
||||
select * from medical_overdue_execute
|
||||
</select>
|
||||
</mapper>
|
@ -0,0 +1,454 @@
|
||||
<?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.emr.dao.StatementMapper" >
|
||||
|
||||
<select id="getThreeDaysFileList" resultType="com.emr.vo.ThreeDaysFileVo">
|
||||
SELECT COUNT
|
||||
( * ) AS outNum,
|
||||
dept_name as deptCode
|
||||
FROM
|
||||
Archive_Master
|
||||
WHERE
|
||||
ArchiveState NOT IN ( '作废', '已封存', '取消入院' ) AND id is not null AND dept_name is not null and id!=''
|
||||
AND inp_no NOT LIKE 'LG%'
|
||||
GROUP BY
|
||||
dept_name
|
||||
</select>
|
||||
<select id="getDay3Rate" resultType="com.emr.vo.ThreeDaysFileVo">
|
||||
SELECT
|
||||
ISNULL( COUNT ( m.id ), 0 ) day3Rate,
|
||||
dept_name AS deptCode
|
||||
FROM
|
||||
Archive_Master m
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
ROW_NUMBER ( ) OVER ( partition BY master_id ORDER BY handle_time ASC ) RowNum,
|
||||
Archive_Master_Following.*
|
||||
FROM
|
||||
Archive_Master_Following
|
||||
WHERE
|
||||
1 = 1
|
||||
AND following_type = '5'
|
||||
) AS f ON m.ID= f.master_id
|
||||
<where>
|
||||
RowNum = 1
|
||||
AND YEAR ( discharge_date_time ) != '1801'
|
||||
AND m.id IS NOT NULL
|
||||
AND dept_name IS NOT NULL
|
||||
AND m.id != ''
|
||||
AND ArchiveState not in('作废','已封存','取消入院')
|
||||
<if test="day != null and day != ''">
|
||||
AND (SELECT dbo.getWorkday(discharge_date_time,handle_time)) <=#{day}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),discharge_date_time,23) between #{startDateTo} and
|
||||
#{endDateTo}
|
||||
</when>
|
||||
<when test="startDateTo != null and startDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),discharge_date_time,23) >=#{startDateTo}
|
||||
</when>
|
||||
<when test="endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),discharge_date_time,23) <= #{endDateTo}
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
GROUP BY
|
||||
dept_name
|
||||
</select>
|
||||
<select id="getDay2Rate" resultType="com.emr.vo.ThreeDaysFileVo">
|
||||
SELECT
|
||||
ISNULL( COUNT ( m.id ), 0 ) day2Rate,
|
||||
dept_name AS deptCode
|
||||
FROM
|
||||
Archive_Master m
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
ROW_NUMBER ( ) OVER ( partition BY master_id ORDER BY handle_time ASC ) RowNum,
|
||||
Archive_Master_Following.*
|
||||
FROM
|
||||
Archive_Master_Following
|
||||
WHERE
|
||||
1 = 1
|
||||
AND following_type = '5'
|
||||
) AS f ON m.ID= f.master_id
|
||||
<where>
|
||||
RowNum = 1
|
||||
AND YEAR ( discharge_date_time ) != '1801'
|
||||
AND m.id IS NOT NULL
|
||||
AND dept_name IS NOT NULL
|
||||
AND m.id != ''
|
||||
AND ArchiveState not in('作废','已封存','取消入院')
|
||||
AND ( SELECT dbo.getWorkday ( discharge_date_time, handle_time ) ) <=2
|
||||
<choose>
|
||||
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),discharge_date_time,23) between #{startDateTo} and
|
||||
#{endDateTo}
|
||||
</when>
|
||||
<when test="startDateTo != null and startDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),discharge_date_time,23) >=#{startDateTo}
|
||||
</when>
|
||||
<when test="endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),discharge_date_time,23) <= #{endDateTo}
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
GROUP BY
|
||||
dept_name
|
||||
</select>
|
||||
<select id="getLateNum" resultType="com.emr.vo.ThreeDaysFileVo">
|
||||
SELECT
|
||||
dept_name AS deptCode,
|
||||
( SELECT dbo.getWorkday ( discharge_date_time, handle_time ) ) lateNum
|
||||
FROM
|
||||
archive_master m
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
ROW_NUMBER ( ) OVER ( partition BY master_id ORDER BY handle_time ASC ) RowNum,
|
||||
Archive_Master_Following.*
|
||||
FROM
|
||||
Archive_Master_Following
|
||||
WHERE
|
||||
1 = 1
|
||||
AND following_type = '5'
|
||||
) AS f ON m.ID= f.master_id
|
||||
<where>
|
||||
RowNum = 1
|
||||
AND YEAR ( discharge_date_time ) != '1801'
|
||||
AND ArchiveState NOT IN ( '作废', '已封存', '取消入院' )
|
||||
AND m.id IS NOT NULL
|
||||
AND dept_name IS NOT NULL
|
||||
AND m.id != ''
|
||||
<if test="day != null and day != ''">
|
||||
AND (SELECT dbo.getWorkday(discharge_date_time,handle_time)) >#{day}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),discharge_date_time,23) between #{startDateTo} and
|
||||
#{endDateTo}
|
||||
</when>
|
||||
<when test="startDateTo != null and startDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),discharge_date_time,23) >=#{startDateTo}
|
||||
</when>
|
||||
<when test="endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),discharge_date_time,23) <= #{endDateTo}
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="getReturnNum" resultType="com.emr.vo.ThreeDaysFileVo">
|
||||
SELECT COUNT
|
||||
( f1.id ) returnNum,
|
||||
m.dept_name deptCode
|
||||
FROM
|
||||
(
|
||||
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
|
||||
*
|
||||
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
|
||||
) m ON f1.master_id= m.master_id
|
||||
<where>
|
||||
m.master_id!= ''
|
||||
AND m.master_id IS NOT NULL
|
||||
AND f2.handle_time IS NOT NULL
|
||||
<if test="day != null and day != ''">
|
||||
AND ( SELECT dbo.getWorkday ( f1.handle_time, f2.handle_time ) ) <=#{day}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) between #{startDateTo} and
|
||||
#{endDateTo}
|
||||
</when>
|
||||
<when test="startDateTo != null and startDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) >=#{startDateTo}
|
||||
</when>
|
||||
<when test="endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) <= #{endDateTo}
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
GROUP BY m.dept_name
|
||||
</select>
|
||||
|
||||
|
||||
<select id="returnTimelyNum" resultType="com.emr.vo.ThreeDaysFileVo">
|
||||
SELECT ISNULL( COUNT ( f1.id ), 0 ) returnTimelyNum,
|
||||
m.dept_name deptCode
|
||||
FROM
|
||||
(
|
||||
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
|
||||
*
|
||||
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
|
||||
) m ON f1.master_id= m.master_id
|
||||
<where>1=1
|
||||
<choose>
|
||||
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) between #{startDateTo} and
|
||||
#{endDateTo}
|
||||
</when>
|
||||
<when test="startDateTo != null and startDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) >=#{startDateTo}
|
||||
</when>
|
||||
<when test="endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) <= #{endDateTo}
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
GROUP BY dept_name
|
||||
</select>
|
||||
<select id="feedBackRecord" resultType="com.emr.vo.ThreeDaysFileVo">
|
||||
SELECT
|
||||
ISNULL( COUNT ( DISTINCT m.id ), 0 ) feedBackRecordNum,
|
||||
m.dept_name deptCode
|
||||
FROM archive_master m
|
||||
INNER JOIN (SELECT ROW_NUMBER() OVER ( partition BY master_id ORDER BY handle_time ASC ) RowNum,
|
||||
Archive_Master_Following.*
|
||||
FROM Archive_Master_Following
|
||||
WHERE 1 = 1
|
||||
AND following_type = '9') AS f ON m.ID = f.master_id
|
||||
INNER JOIN emr_fault_detail d ON d.archive_detail_id = m.ID
|
||||
<where>
|
||||
RowNum = 1
|
||||
AND YEAR (discharge_date_time ) != '1801'
|
||||
AND ArchiveState NOT IN ( '作废', '已封存', '取消入院' )
|
||||
AND m.id IS NOT NULL
|
||||
AND dept_name IS NOT NULL
|
||||
AND m.id != ''
|
||||
AND d.assort_id NOT IN ( '1212', '1855', '485' )
|
||||
<choose>
|
||||
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) between #{startDateTo} and
|
||||
#{endDateTo}
|
||||
</when>
|
||||
<when test="startDateTo != null and startDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) >=#{startDateTo}
|
||||
</when>
|
||||
<when test="endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) <= #{endDateTo}
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
GROUP BY m.dept_name
|
||||
</select>
|
||||
<select id="day3RewardNum" resultType="com.emr.vo.ThreeDaysFileVo">
|
||||
SELECT
|
||||
ISNULL( COUNT ( m.id ), 0 ) day3RewardNum,
|
||||
dept_name AS deptCode
|
||||
FROM
|
||||
Archive_Master m
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
ROW_NUMBER ( ) OVER ( partition BY master_id ORDER BY handle_time ASC ) RowNum,
|
||||
Archive_Master_Following.*
|
||||
FROM
|
||||
Archive_Master_Following
|
||||
WHERE
|
||||
1 = 1
|
||||
AND following_type = '5'
|
||||
) AS f ON m.ID= f.master_id
|
||||
WHERE
|
||||
f.RowNum = 1
|
||||
AND YEAR ( discharge_date_time ) != '1801'
|
||||
AND m.id IS NOT NULL
|
||||
AND dept_name IS NOT NULL
|
||||
AND m.id != ''
|
||||
AND ArchiveState NOT IN ( '作废', '已封存', '取消入院' )
|
||||
AND ( SELECT dbo.getWorkday ( discharge_date_time, f.handle_time ) ) <= 3
|
||||
<where>1=1
|
||||
<choose>
|
||||
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) between #{startDateTo} and
|
||||
#{endDateTo}
|
||||
</when>
|
||||
<when test="startDateTo != null and startDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) >=#{startDateTo}
|
||||
</when>
|
||||
<when test="endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) <= #{endDateTo}
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
GROUP BY m.dept_name
|
||||
</select>
|
||||
<select id="returnOverdueNum" resultType="com.emr.vo.ThreeDaysFileVo">
|
||||
SELECT
|
||||
( SELECT dbo.getWorkday ( f1.handle_time, f2.handle_time ) ) returnOverdueDay,
|
||||
m.dept_name AS deptCode
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
id,
|
||||
master_id,
|
||||
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
|
||||
*
|
||||
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,
|
||||
dept_name,
|
||||
discharge_date_time
|
||||
FROM
|
||||
archive_master
|
||||
WHERE
|
||||
1 = 1
|
||||
AND ArchiveState NOT IN ( '作废', '已封存', '取消入院' )
|
||||
AND Is_Valid != 1
|
||||
) m ON f1.master_id= m.master_id
|
||||
<where>
|
||||
m.master_id!= ''
|
||||
AND m.master_id IS NOT NULL
|
||||
AND f2.handle_time IS NOT NULL
|
||||
AND YEAR ( discharge_date_time ) != '1801'
|
||||
AND dept_name IS NOT NULL
|
||||
<if test="day != null and day != ''">
|
||||
AND ( SELECT dbo.getWorkday ( f1.handle_time, f2.handle_time ) ) >#{day}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) between #{startDateTo} and
|
||||
#{endDateTo}
|
||||
</when>
|
||||
<when test="startDateTo != null and startDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) >=#{startDateTo}
|
||||
</when>
|
||||
<when test="endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) <= #{endDateTo}
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
</select>
|
||||
<select id="returnOverdue2Day" resultType="com.emr.vo.ThreeDaysFileVo">
|
||||
SELECT
|
||||
ISNULL( COUNT ( m.id ), 0 ) returnOverdue2Day,
|
||||
m.dept_name
|
||||
FROM
|
||||
Archive_Master m
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
ROW_NUMBER ( ) OVER ( partition BY master_id ORDER BY handle_time ASC ) RowNum,
|
||||
Archive_Master_Following.*
|
||||
FROM
|
||||
Archive_Master_Following
|
||||
WHERE following_type = '5')
|
||||
AS f ON m.ID = f.master_id
|
||||
INNER JOIN (SELECT ROW_NUMBER ( ) OVER ( partition BY master_id ORDER BY handle_time ASC ) RowNum,Archive_Master_Following.*
|
||||
FROM
|
||||
Archive_Master_Following
|
||||
WHERE
|
||||
following_type = '9')
|
||||
AS f1 ON m.ID = f1.master_id
|
||||
<where>
|
||||
f.RowNum = 1
|
||||
AND f1.RowNum = 1
|
||||
AND YEAR ( discharge_date_time ) != '1801'
|
||||
AND m.id IS NOT NULL
|
||||
AND dept_name IS NOT NULL
|
||||
AND m.id != ''
|
||||
AND ArchiveState NOT IN ( '作废', '已封存', '取消入院' )
|
||||
AND ( SELECT dbo.getWorkday ( discharge_date_time, f.handle_time ) ) <=2
|
||||
<choose>
|
||||
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) between #{startDateTo} and
|
||||
#{endDateTo}
|
||||
</when>
|
||||
<when test="startDateTo != null and startDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) >=#{startDateTo}
|
||||
</when>
|
||||
<when test="endDateTo != null and endDateTo != ''">
|
||||
and CONVERT(VARCHAR(20),m.discharge_date_time,23) <= #{endDateTo}
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
GROUP BY m.dept_name
|
||||
</select>
|
||||
</mapper>
|
@ -1,34 +0,0 @@
|
||||
package java.com.emr;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.support.FileSystemXmlApplicationContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(locations={"classpath:config/applicationContext.xml"})
|
||||
public class MapperTest {
|
||||
|
||||
/*@Autowired
|
||||
PaperDao paperDao;
|
||||
|
||||
*//**
|
||||
* 测试mapper
|
||||
*/
|
||||
@Test
|
||||
public void testCRUD(){
|
||||
String path = "F:\\isDelete\\mr_file\\pdf\\pdf";
|
||||
File file = new File(path);
|
||||
File[] files = file.listFiles();
|
||||
for(File file1 : files){
|
||||
String absolutePath = file1.getAbsolutePath();
|
||||
System.out.println(absolutePath);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue