package com.ann.demo.service; import com.ann.demo.entity.filing.ArchiveDetail; import com.ann.demo.entity.filing.dto.MessageDto; import com.ann.demo.entity.interfaceEntity.ArchiveMaster; import com.ann.demo.entity.interfaceEntity.CommonTable; import com.ann.demo.entity.interfaceEntity.CommonTable1; import com.ann.demo.entity.normalEntity.OutPara; import com.ann.demo.primaryRepository.ScanningFileRepository; import com.ann.demo.primaryEntity.ScanningFile; import com.ann.demo.repository.CommonTable1Repository; import com.ann.demo.repository.CommonTableRepository; import com.ann.demo.utils.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.File; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.time.Duration; import java.time.LocalDateTime; import java.util.Date; import java.util.List; import java.util.UUID; /** * 解析逻辑 * * @Author: LeiJiaXin * @Date: 2019/8/20 16:29 */ @Component public class AnalysisService { final Logger logger = LoggerFactory.getLogger(AnalysisService.class); @Autowired private ScanningFileRepository scanningFileRepository; @Autowired private ArchiveDetailService archiveDetailService; @Autowired private CommonTableRepository commonTableRepository; @Autowired private CommonTable1Repository commonTable1Repository; @Autowired private ArchiveMasterService archiveMasterService; public void handleScanningFile(List scanningFileList) { LocalDateTime beginTime = LocalDateTime.now(); logger.error("开始时间:"+beginTime); //处理ScanningFile\ for (ScanningFile scanningFile: scanningFileList) { String remark = null; String status = "1"; try{ remark = handlePdfFile(scanningFile); }catch (Exception e){ remark = e.getMessage(); logger.error("处理扫描文件出错:{}" ,e.getMessage()); } if(remark != null){ status = "2"; }else{ remark = LocalDateTime.now().toString(); } scanningFile.setRemark(remark); scanningFile.setStatus(status); scanningFileRepository.save(scanningFile); LocalDateTime handleTime = LocalDateTime.now(); logger.error("每一条处理时间:"+handleTime); } LocalDateTime endTime = LocalDateTime.now(); logger.error("结束时间:"+endTime); } public String handlePdfFile(ScanningFile scanningFile) throws Exception{ //处理ScanningFile // 判断病案首页数据是否存在 LocalDateTime now1 = LocalDateTime.now();//删掉 CommonTable commonTable = commonTableRepository.findByInpNoAndVisitId(scanningFile.getInpNo(), scanningFile.getVisitId()); LocalDateTime end1 = LocalDateTime.now();//删掉 logger.error("判断病案首页数据是否存在耗时:"+Duration.between(now1,end1).toMillis());//删掉 if(commonTable == null){ String masterId = scanningFile.getApplyId() != null ? scanningFile.getApplyId() : UUID.randomUUID().toString(); commonTable = new CommonTable(masterId,scanningFile.getPatientId(),scanningFile.getAge(),scanningFile.getSex(),scanningFile.getVisitId(),scanningFile.getName(), scanningFile.getAdmissDate(),scanningFile.getDisDate(),scanningFile.getDisDept(),scanningFile.getAttending(),scanningFile.getInpNo(),"扫描系统"); // //保存公共表 LocalDateTime now2 = LocalDateTime.now();//删掉 commonTableRepository.save(commonTable); LocalDateTime end2 = LocalDateTime.now();//删掉 logger.error("保存公共表耗时:"+Duration.between(now2,end2).toMillis());//删掉 //保存公共表1 LocalDateTime now3 = LocalDateTime.now();//删掉 commonTable1Repository.save( new CommonTable1(commonTable.getMasterId(),scanningFile.getBirthday(),scanningFile.getIdCard(),scanningFile.getAdmissDept(),scanningFile.getAdmissDoctor())); LocalDateTime end3 = LocalDateTime.now();//删掉 logger.error("保存公共表1耗时:"+Duration.between(now3,end3).toMillis());//删掉 } LocalDateTime now4 = LocalDateTime.now();//删掉 Object[] objects = WebServiceUtils.connect(scanningFile.getPath() + "\\" + scanningFile.getFileName()); LocalDateTime end4 = LocalDateTime.now();//删掉 logger.error("WebServiceUtils.connect耗时:"+Duration.between(now4,end4).toMillis());//删掉 //Object[] objects = WebServiceUtil.urlConnectionUtil("http://10.6.0.224/cdms/cdmsservice.asmx?wsdl",scanningFile.getPath() + "\\" + scanningFile.getFileName()); //使用HttpURLConnection方式连接 // String s = WebServiceUtil.urlConnectionUtil("http://10.6.0.224/cdms/cdmsservice.asmx?wsdl", scanningFile.getPath() + "\\" + scanningFile.getFileName()); /*if(!"".equals(s)){ int w=9; } //s转Object[] String[] strArr = s.split(",");//注意分隔符是需要转译 Object[] objects = new Object[strArr.length]; for(int i=0;i