From 265026883f5fc5b91f6a0d415fed0c19090a70f1 Mon Sep 17 00:00:00 2001 From: hujl Date: Thu, 20 Jan 2022 18:09:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AC=A1=E6=8F=90=E4=BA=A4=E5=BD=92?= =?UTF-8?q?=E3=80=81=E4=BD=8F=E9=99=A2=E8=BF=94=E4=BF=AE=E7=97=85=E5=8E=86?= =?UTF-8?q?=E7=9A=84=E8=B6=85=E6=9C=9F=E6=97=A5=E6=9C=9F=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=EF=BC=9A=E6=89=A3=E9=99=A4=E8=B6=85=E6=9C=9F=E5=A4=A9=E6=95=B0?= =?UTF-8?q?=E5=86=85=E7=9A=84=E8=8A=82=E5=81=87=E6=97=A5=E3=80=81=E9=9D=9E?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=97=A5=E6=9C=9F=EF=BC=8C=E7=84=B6=E5=90=8E?= =?UTF-8?q?=E5=9C=A8=E6=89=A3=E9=99=A4=E5=BD=93=E5=A4=A9=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E5=92=8C=E8=B6=85=E6=9C=9F=E5=A4=A9=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/emr/controller/faultController.java | 9 +- .../ipml/Archive_MasterServiceImpl.java | 29 +----- .../resources/mapper/Archive_MasterMapper.xml | 98 +++++++++++++------ 3 files changed, 72 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/emr/controller/faultController.java b/src/main/java/com/emr/controller/faultController.java index 8ac93657..113b9917 100644 --- a/src/main/java/com/emr/controller/faultController.java +++ b/src/main/java/com/emr/controller/faultController.java @@ -99,10 +99,10 @@ public class faultController { faultInfo.setPrice(masertInfo.getScore()); faultInfo.setTotalBackNum(masertInfo.getTotalBackNum()); faultInfo.setTotalBackFee(masertInfo.getTotalBackFee()); + }else{ + //匹配不到退回相关的ArchiveDetailId,分数暂时为100 + faultInfo.setPrice(new BigDecimal(100)); } - /*else{ - //匹配不到退回相关的ArchiveDetailId - }*/ } //获取病案退回是第几次 updater为退回人 for (Emr_Fault_Vo backInfo : backList) { @@ -137,9 +137,6 @@ public class faultController { faultInfo.setContent(backInfo.getContent()); } } - /*else{ - faultInfo.setBackFee("0"); - }*/ } } diff --git a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java index 1a58651a..c6c93229 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -73,34 +73,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { @Override public OffsetLimitPage selectByCol(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); - List list= archiveMasterMapper.selectByCol(archiveMasterVo); - if(list!=null && list.size()>0) { - JSONArray powerUsers = powerUserService.getPowerUserList("1"); - List powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); - if (powerUserList != null) { - Map mappedMovies = Maps.uniqueIndex(powerUserList, new Function() { - @Override - public String apply(JSONObject temp) { - return temp.getString("userName"); - } - }); - for (Archive_Master archiveMaster : list) { - JSONObject userInfo = mappedMovies.get(archiveMaster.getDoctorName()); - if (userInfo == null) { - archiveMaster.setDoctorName(archiveMaster.getDoctorName()); - } else { - archiveMaster.setDoctorName(userInfo.getString("name")); - } - - userInfo = mappedMovies.get(archiveMaster.getNurseName()); - if (userInfo == null) { - archiveMaster.setNurseName(archiveMaster.getNurseName()); - } else { - archiveMaster.setNurseName(userInfo.getString("name")); - } - } - } - } + List list= selectByCol(archiveMasterVo); return new OffsetLimitPage((Page) list); } diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index ce4aef72..1de6513b 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -1469,13 +1469,25 @@ select f1.id,f1.following_content,f1.handle_name,CONVERT(VARCHAR(20),f1.handle_time,120) handle_time,ISNULL(DATEDIFF(dd,CONVERT(VARCHAR(20),f1.handle_time,23),CONVERT(VARCHAR(20),f2.handle_time,23)), 0) diffDay, - case when ISNULL(dbo.f_WorkDay(DATEADD(DAY,1,CONVERT(VARCHAR(10),f1.handle_time,23)),CONVERT(VARCHAR(10),f2.handle_time,23)) , 0)-#{overdueDays,jdbcType=NCHAR}>0 then ISNULL(dbo.f_WorkDay(DATEADD(DAY,1,CONVERT(VARCHAR(10),f1.handle_time,23)),CONVERT(VARCHAR(10),f2.handle_time,23)) , 0)-#{overdueDays,jdbcType=NCHAR} + case + when ISNULL( datediff(day,convert(varchar(100),f2.mid_date,23),convert(varchar(100),f1.handle_time,23)),0)<=0 + then '0' + when ISNULL( datediff(day,convert(varchar(100),f2.mid_date,23),convert(varchar(100),f1.handle_time,23)),0)+ISNULL(f2.dayOne,0)-1-cast(#{overdueDays,jdbcType=NCHAR} as int)<0 + then '0' + when ISNULL(f2.dayOne,0)>=0 and ISNULL( datediff(day,convert(varchar(100),f2.mid_date,23),convert(varchar(100),f1.handle_time,23)),0)>=0 + then ISNULL( datediff(day,convert(varchar(100),f2.mid_date,23),convert(varchar(100),f1.handle_time,23)),0)+ISNULL(f2.dayOne,0)-1-cast(#{overdueDays,jdbcType=NCHAR} as int) + else '0' + end overdue - case when ISNULL(dbo.f_WorkDay(DATEADD(DAY,1,CONVERT(VARCHAR(10),f1.handle_time,23)),CONVERT(VARCHAR(10),f2.handle_time,23)) , 0)-'3'>0 then ISNULL(dbo.f_WorkDay(DATEADD(DAY,1,CONVERT(VARCHAR(10),f1.handle_time,23)),CONVERT(VARCHAR(10),f2.handle_time,23)) , 0)-'3' + case + when ISNULL( datediff(day,convert(varchar(100),f2.mid_date,23),convert(varchar(100),f1.handle_time,23)),0)<=0 + then '0' + when ISNULL( datediff(day,convert(varchar(100),f2.mid_date,23),convert(varchar(100),f1.handle_time,23)),0)+ISNULL(f2.dayOne,0)-1-3<0 + then '0' + when ISNULL(f2.dayOne,0)>=0 and ISNULL( datediff(day,convert(varchar(100),f2.mid_date,23),convert(varchar(100),f1.handle_time,23)),0)>=0 + then ISNULL( datediff(day,convert(varchar(100),f2.mid_date,23),convert(varchar(100),f1.handle_time,23)),0)+ISNULL(f2.dayOne,0)-1-3 + else '0' + end overdue - else 0 - end overdue ,m.master_id,m.patient_id,m.inp_no,m.visit_id,m.name,ISNULL(c.name,m.dept_name) dept_name,m.discharge_date_time,m.DOCTOR_IN_CHARGE,m.first_instance,m.death_flag,ISNULL(e.name,m.dept_admission_to) dept_admission_to,admission_date_time 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 *,ROW_NUMBER() OVER (partition by master_id ORDER BY master_id,handle_time) as rowNumb from Archive_Master_Following where following_type='5' + select *, + + 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 + + + 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 + + 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 ( @@ -1581,21 +1626,14 @@ 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 on m.dept_name=c.code - LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) e on m.dept_admission_to=e.code - 1=1 and m.master_id!='' and m.master_id is not null - - and ISNULL(dbo.f_WorkDay(DATEADD(DAY,1,CONVERT(VARCHAR(10),f1.handle_time,23)),CONVERT(VARCHAR(10),f2.handle_time,23)) , 0)-#{overdueDays,jdbcType=NCHAR}>=#{overdueDaysTwo,jdbcType=NCHAR} - - - and ISNULL(dbo.f_WorkDay(DATEADD(DAY,1,CONVERT(VARCHAR(10),f1.handle_time,23)),CONVERT(VARCHAR(10),f2.handle_time,23)) , 0)-#{overdueDays,jdbcType=NCHAR}>=0 - - - and ISNULL(dbo.f_WorkDay(DATEADD(DAY,1,CONVERT(VARCHAR(10),f1.handle_time,23)),CONVERT(VARCHAR(10),f2.handle_time,23)) , 0)-'3'>=#{overdueDaysTwo,jdbcType=NCHAR} + 1=1 and m.master_id!='' and m.master_id is not null and f2.handle_time is not null + + and ISNULL( datediff(day,convert(varchar(100),f2.mid_date,23),convert(varchar(100),f1.handle_time,23)),0)+ISNULL(f2.dayOne,0)-1-cast(#{overdueDays,jdbcType=NCHAR} as int)>=#{overdueDaysTwo,jdbcType=NCHAR} - - and ISNULL(dbo.f_WorkDay(DATEADD(DAY,1,CONVERT(VARCHAR(10),f1.handle_time,23)),CONVERT(VARCHAR(10),f2.handle_time,23)) , 0)-'3'>=0 + + and ISNULL( datediff(day,convert(varchar(100),f2.mid_date,23),convert(varchar(100),f1.handle_time,23)),0)+ISNULL(f2.dayOne,0)-1-3>=#{overdueDaysTwo,jdbcType=NCHAR} and m.id = #{id,jdbcType=NVARCHAR}