From cd6c55e420b244e3a59da5389bad3cf6ac557a9d Mon Sep 17 00:00:00 2001 From: zengwh <81383286@qq.com> Date: Wed, 30 Sep 2020 01:45:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=98=E5=85=88=E9=87=87?= =?UTF-8?q?=E9=9B=86=E6=B2=A1=E6=9C=89fileId=E6=96=B0=E9=9C=80=E6=B1=82?= =?UTF-8?q?=EF=BC=8C=E6=8C=89=E8=AE=B0=E8=B4=A6=E5=8F=B7=E5=92=8C=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E7=BC=96=E5=8F=B7=E8=BF=BD=E6=BA=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/beHospitaledController.java | 64 +++++++++++-------- .../emr/dao/ArchiveSumbitdateInfoMapper.java | 8 +-- .../com/emr/entity/ArchiveSumbitdateInfo.java | 52 ++++++++++----- src/main/java/com/emr/util/OracleConnect.java | 11 ++-- .../mapper/ArchiveSumbitdateInfoMapper.xml | 55 +++++++++------- .../views/beHospitaledDir/beHospList.jsp | 5 +- 6 files changed, 120 insertions(+), 75 deletions(-) diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java index f793e7d..5279ca2 100644 --- a/src/main/java/com/emr/controller/beHospitaledController.java +++ b/src/main/java/com/emr/controller/beHospitaledController.java @@ -235,9 +235,9 @@ public class beHospitaledController { obj1.setFrecName("标题" + i); obj1.setFentryNo((808+i)+""); obj1.setFentryName("分类"+(808+i)); - obj1.setFfileId((4234+i)+""); if(i>=2){ obj1.setPdfflag("1"); + obj1.setFfileId((4234+i)+""); }else{ obj1.setPdfflag("0"); } @@ -268,34 +268,42 @@ public class beHospitaledController { //赋值两时间:最近上传时间与最新手动提交时间 private void setTwoTimeForList(List list) { StringBuilder fileIdsStr = new StringBuilder(); - for (int i = 0; i < list.size(); i++) { - String ffileId = list.get(i).getFfileId(); - if(i != 0){ - fileIdsStr.append(","); + for (HisCollectInfo hisCollectInfo1 : list) { + String ffileId = hisCollectInfo1.getFfileId(); + if (StringUtils.isNotBlank(ffileId)) { + if (StringUtils.isNotBlank(fileIdsStr)) { + fileIdsStr.append(","); + } + fileIdsStr.append("'").append(ffileId).append("'"); } - fileIdsStr.append("'").append(ffileId).append("'"); } //查询detail表的上传时间 List archiveDetails = detailMapper.selectUpdateTimeBySubAssort(fileIdsStr.toString()); //查询archive_sumbitDate_info的提交时间 - List archiveSumbitdateInfoList = sumbitdateInfoMapper.selectOneByFileId(fileIdsStr.toString()); + List archiveSumbitdateInfoList = sumbitdateInfoMapper.selectOneByPatientId(list.get(0).getFpatno(),null,null); if(!CollectionUtils.isEmpty(archiveDetails) || !CollectionUtils.isEmpty(archiveSumbitdateInfoList)){ for (HisCollectInfo hisCollectInfo : list) { String ffileId = hisCollectInfo.getFfileId(); - if(StringUtils.isNotBlank(ffileId)) { - if (!CollectionUtils.isEmpty(archiveDetails)) { - for (Archive_Detail archiveDetail : archiveDetails) { - if (ffileId.equals(archiveDetail.getSubassort())) { - hisCollectInfo.setUpdateLoadTime(archiveDetail.getUploaddatetime()); - break; - } + //分类编号 + String fentryNo = hisCollectInfo.getFentryNo(); + if (!CollectionUtils.isEmpty(archiveDetails) && StringUtils.isNotBlank(ffileId)) { + for (Archive_Detail archiveDetail : archiveDetails) { + if (ffileId.equals(archiveDetail.getSubassort())) { + hisCollectInfo.setUpdateLoadTime(archiveDetail.getUploaddatetime()); + break; } } - if (!CollectionUtils.isEmpty(archiveSumbitdateInfoList)) { - for (ArchiveSumbitdateInfo info : archiveSumbitdateInfoList) { - if (ffileId.equals(info.getFileId())) { + } + if (!CollectionUtils.isEmpty(archiveSumbitdateInfoList)) { + for (ArchiveSumbitdateInfo info : archiveSumbitdateInfoList) { + String fentryNoTemp = info.getFentryNo(); + if(StringUtils.isNotBlank(fentryNo) && StringUtils.isNotBlank(fentryNoTemp) && fentryNo.equals(fentryNoTemp)){ + if (StringUtils.isNotBlank(ffileId) && StringUtils.isNotBlank(ffileId) && ffileId.equals(info.getFileId())) { hisCollectInfo.setSumbitTime(info.getCreateTime()); break; + }else{ + //取分类的最后一个 + hisCollectInfo.setSumbitTime(info.getCreateTime()); } } } @@ -306,7 +314,7 @@ public class beHospitaledController { //组织sql语句查询orcle查询文件完成情况 private String getSelectSqlForGetPdfCollect(HisCollectInfo collectInfo){ - String sql = "select FENTRY_NO,FENTRY_NAME,FREC_NAME,FFILE_ID,PDF_FLAG from pacs.v_emrpdf_rec where fpatno = '"+collectInfo.getFpatno()+"'"; + String sql = "select FPATNO,FENTRY_NO,FENTRY_NAME,FREC_NAME,FFILE_ID,PDF_FLAG from pacs.v_emrpdf_rec where fpatno = '"+collectInfo.getFpatno()+"'"; //标题 String frecName = collectInfo.getFrecName(); if(StringUtils.isNotBlank(frecName)){ @@ -342,14 +350,15 @@ public class beHospitaledController { if(StringUtils.isBlank(fentryNos)){ return Msg.fail("分类编号不能为空"); } - if(StringUtils.isBlank(ffileIds)){ - return Msg.fail("文件id不能为空"); - } String[] fentryNoList = fentryNos.split(","); String[] ffileIdList = ffileIds.split(","); for (int i = 0; i < fentryNoList.length; i++) { if(StringUtils.isNotBlank(fentryNoList[i])){ - String sql = "insert into pacs.p_pdf_print(FENTRYNO,FPATNO,FAPPLYTIME,FFILE_ID) values('"+fentryNoList[i]+"','"+fpatno+"','"+fapplytime+"','"+ffileIdList[i]+"')"; + String fileId = null; + if(StringUtils.isNotBlank(ffileIdList[i]) && !"undefined".equals(ffileIdList[i])){ + fileId = "'" + ffileIdList[i] + "'"; + } + String sql = "insert into pacs.p_pdf_print(FENTRYNO,FPATNO,FAPPLYTIME,FFILE_ID) values('"+fentryNoList[i]+"','"+fpatno+"','"+fapplytime+"',"+fileId+")"; log.info("优先采集插入语句:"+sql); try { OracleConnect.insert(sql); @@ -359,7 +368,7 @@ public class beHospitaledController { log.info("优先采集插入oracle失败,请查看error.log文件"); ExceptionPrintUtil.printException(e); } - if (insertSubmitDateInfo(fapplytime, ffileIdList[i])){ + if (insertSubmitDateInfo(fpatno,fapplytime,fentryNoList[i], ffileIdList[i])){ return Msg.fail("服务器内部出错,请联系系统管理员!"); } } @@ -367,13 +376,18 @@ public class beHospitaledController { return Msg.success(); } - private boolean insertSubmitDateInfo(String fapplytime, String fileId) { + private boolean insertSubmitDateInfo(String fpatno, String fapplytime, String fentryNo,String fileId) { //插入记录 ArchiveSumbitdateInfo info = new ArchiveSumbitdateInfo(); + info.setPatientId(fpatno); + info.setFentryNo(fentryNo); + if(StringUtils.isBlank(fileId) || "undefined".equals(fileId)) { + fileId = null; + } info.setFileId(fileId); //查询时候存在,存在更新,不存在添加 try { - List archiveSumbitdateInfoList = sumbitdateInfoMapper.selectOneByFileId("'"+ fileId +"'"); + List archiveSumbitdateInfoList = sumbitdateInfoMapper.selectOneByPatientId(fpatno,fentryNo,fileId); info.setCreateTime(fapplytime); if(!CollectionUtils.isEmpty(archiveSumbitdateInfoList)){ ArchiveSumbitdateInfo archiveSumbitdateInfo = archiveSumbitdateInfoList.get(0); diff --git a/src/main/java/com/emr/dao/ArchiveSumbitdateInfoMapper.java b/src/main/java/com/emr/dao/ArchiveSumbitdateInfoMapper.java index ed8234d..65397e3 100644 --- a/src/main/java/com/emr/dao/ArchiveSumbitdateInfoMapper.java +++ b/src/main/java/com/emr/dao/ArchiveSumbitdateInfoMapper.java @@ -8,15 +8,13 @@ import java.util.List; public interface ArchiveSumbitdateInfoMapper { int deleteByPrimaryKey(Integer id); - int insert(ArchiveSumbitdateInfo record); - int insertSelective(ArchiveSumbitdateInfo record); ArchiveSumbitdateInfo selectByPrimaryKey(Integer id); int updateByPrimaryKeySelective(ArchiveSumbitdateInfo record); - int updateByPrimaryKey(ArchiveSumbitdateInfo record); - - List selectOneByFileId(@Param("fileId")String fileId); + List selectOneByPatientId(@Param("patientId")String patientId, + @Param("fentryNo")String fentryNo, + @Param("fileId")String fileId); } \ No newline at end of file diff --git a/src/main/java/com/emr/entity/ArchiveSumbitdateInfo.java b/src/main/java/com/emr/entity/ArchiveSumbitdateInfo.java index d95e286..9c79c9f 100644 --- a/src/main/java/com/emr/entity/ArchiveSumbitdateInfo.java +++ b/src/main/java/com/emr/entity/ArchiveSumbitdateInfo.java @@ -5,6 +5,10 @@ import java.io.Serializable; public class ArchiveSumbitdateInfo implements Serializable { private Integer id; + private String patientId; + + private String fentryNo; + private String fileId; private String createTime; @@ -31,6 +35,26 @@ public class ArchiveSumbitdateInfo implements Serializable { this.id = id; } + public String getPatientId() { + return patientId; + } + + public void setPatientId(String patientId) { + this.patientId = patientId; + } + + public String getFentryNo() { + return fentryNo; + } + + public void setFentryNo(String fentryNo) { + this.fentryNo = fentryNo; + } + + public static long getSerialVersionUID() { + return serialVersionUID; + } + public String getFileId() { return fileId; } @@ -97,20 +121,18 @@ public class ArchiveSumbitdateInfo implements Serializable { @Override public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(getClass().getSimpleName()); - sb.append(" ["); - sb.append("Hash = ").append(hashCode()); - sb.append(", id=").append(id); - sb.append(", fileId=").append(fileId); - sb.append(", createTime=").append(createTime); - sb.append(", int1=").append(int1); - sb.append(", int2=").append(int2); - sb.append(", int3=").append(int3); - sb.append(", str1=").append(str1); - sb.append(", str2=").append(str2); - sb.append(", str3=").append(str3); - sb.append("]"); - return sb.toString(); + return "ArchiveSumbitdateInfo{" + + "id=" + id + + ", patientId='" + patientId + '\'' + + ", fentryNo='" + fentryNo + '\'' + + ", fileId='" + fileId + '\'' + + ", createTime='" + createTime + '\'' + + ", int1=" + int1 + + ", int2=" + int2 + + ", int3=" + int3 + + ", str1='" + str1 + '\'' + + ", str2='" + str2 + '\'' + + ", str3='" + str3 + '\'' + + '}'; } } \ No newline at end of file diff --git a/src/main/java/com/emr/util/OracleConnect.java b/src/main/java/com/emr/util/OracleConnect.java index 9b34769..893d84c 100644 --- a/src/main/java/com/emr/util/OracleConnect.java +++ b/src/main/java/com/emr/util/OracleConnect.java @@ -110,11 +110,12 @@ public class OracleConnect { if(rs.next()) { while (rs.next()) { HisCollectInfo info = new HisCollectInfo(); - info.setFentryNo(rs.getString(1)); - info.setFentryName(rs.getString(2)); - info.setFrecName(rs.getString(3)); - info.setFfileId(rs.getString(4)); - info.setPdfflag(rs.getString(5)); + info.setFpatno(rs.getString(1)); + info.setFentryNo(rs.getString(2)); + info.setFentryName(rs.getString(3)); + info.setFrecName(rs.getString(4)); + info.setFfileId(rs.getString(5)); + info.setPdfflag(rs.getString(6)); list.add(info); } } diff --git a/src/main/resources/mapper/ArchiveSumbitdateInfoMapper.xml b/src/main/resources/mapper/ArchiveSumbitdateInfoMapper.xml index 67e3bdd..01553b3 100644 --- a/src/main/resources/mapper/ArchiveSumbitdateInfoMapper.xml +++ b/src/main/resources/mapper/ArchiveSumbitdateInfoMapper.xml @@ -3,6 +3,8 @@ + + @@ -13,7 +15,7 @@ - id, file_id, create_time, int1, int2, int3, str1, str2, str3 + id, patient_id,fentry_no,file_id, create_time, int1, int2, int3, str1, str2, str3 - select id,file_id,create_time from archive_sumbitDate_info + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp index f8e8883..1db05c2 100644 --- a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp +++ b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp @@ -338,7 +338,7 @@ @@ -2266,6 +2266,9 @@ var fentryNos = row.fentryNo; //文件id var ffileIds = row.ffileId; + if(ffileIds == null || ffileIds == ''){ + ffileIds = 'undefined'; + } //提交请求 sumbitFirstCollect(fentryNos,ffileIds); $(this).removeAttr("disabled");