diff --git a/pom.xml b/pom.xml
index 47ab067..2e0e885 100644
--- a/pom.xml
+++ b/pom.xml
@@ -105,6 +105,15 @@
${pagehelper.version}
+
+
+ com.itextpdf
+ itext7-core
+ 7.2.5
+ pom
+
+
+
diff --git a/src/main/java/com/emr/controller/quality/QualityController.java b/src/main/java/com/emr/controller/quality/QualityController.java
new file mode 100644
index 0000000..207757a
--- /dev/null
+++ b/src/main/java/com/emr/controller/quality/QualityController.java
@@ -0,0 +1,104 @@
+package com.emr.controller.quality;
+
+import com.alibaba.fastjson.JSON;
+import com.emr.annotation.OptionalLog;
+import com.emr.service.quality.QualityService;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+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.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * @ClassName QualityController
+ * @Description 文件质检模块
+ * @Author linjj
+ * @Date 2023/4/13 14:51
+ * @Version 1.0
+ */
+@Controller
+@RequestMapping("qualityModel/")
+public class QualityController {
+
+ @Autowired
+ QualityService qualityService;
+
+
+ @RequiresPermissions("/qualityModel/qualityJsp")
+ @OptionalLog(module = "查看", methods = "常用查询页面")
+ @RequestMapping("qualityJsp")
+ public String qualityModel(Model model) {
+ return "quality/quality";
+ }
+
+ /**
+ * @description: 查询功能
+ * @params: startRange
+ * @params: endRange
+ * @return: String
+ * @author linjj
+ * @date: 2023/4/13 15:24
+ */
+ @RequestMapping(value = "getPhAndDocumentNum", method = RequestMethod.POST)
+ @ResponseBody
+ public String getPhAndDocumentNum(String startRange, String endRange) {
+ if (StringUtils.isEmpty(startRange) && StringUtils.isEmpty(endRange)) {
+ return "开始范围,结束范围不能全部为空";
+ }
+ if (StringUtils.isNotEmpty(startRange) && StringUtils.isNotEmpty(endRange)) {
+ if (startRange.compareTo(endRange) > 0) {
+ return "开始范围不能小于结束范围";
+ }
+ }
+ String phAndDocumentNum = qualityService.getPhAndDocumentNum(startRange, endRange);
+ return JSON.toJSONString(phAndDocumentNum);
+ }
+
+ /**
+ * @description: 检查功能
+ * @params: startRange
+ * @params: endRange
+ * @return: String
+ * @author linjj
+ * @date: 2023/4/14 9:32
+ */
+ @RequestMapping(value = "examineDocument", method = RequestMethod.POST)
+ @ResponseBody
+ public String examineDocument(String startRange, String endRange) {
+ if (StringUtils.isEmpty(startRange) && StringUtils.isEmpty(endRange)) {
+ return "开始范围,结束范围不能全部为空";
+ }
+ if (StringUtils.isNotEmpty(startRange) && StringUtils.isNotEmpty(endRange)) {
+ if (startRange.compareTo(endRange) > 0) {
+ return "开始范围不能小于结束范围";
+ }
+ }
+ String s = qualityService.examineDocument(startRange, endRange);
+ return JSON.toJSONString(s);
+ }
+ /**
+ * @description: 高级检查
+ * @params: startRange
+ * @params: endRange
+ * @return: String
+ * @author linjj
+ * @date: 2023/4/14 9:32
+ */
+ @RequestMapping(value = "SeniorExamine", method = RequestMethod.POST)
+ @ResponseBody
+ public String SeniorExamine(String startRange, String endRange) {
+ if (StringUtils.isEmpty(startRange) && StringUtils.isEmpty(endRange)) {
+ return "开始范围,结束范围不能全部为空";
+ }
+ if (StringUtils.isNotEmpty(startRange) && StringUtils.isNotEmpty(endRange)) {
+ if (startRange.compareTo(endRange) > 0) {
+ return "开始范围不能小于结束范围";
+ }
+ }
+ String s = qualityService.SeniorExamine(startRange, endRange);
+ return JSON.toJSONString(s);
+ }
+}
diff --git a/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java b/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java
index 771cc5e..03d201d 100644
--- a/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java
+++ b/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java
@@ -35,6 +35,7 @@ import com.emr.vo.commomSearch.ScanPathVo;
import com.emr.vo.templateSearch.Emr_Modle_RelatedVo;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
@@ -45,6 +46,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
+import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
@@ -1089,35 +1091,111 @@ public class TemplateSearchController {
if (StringUtils.isNoneBlank(patientIds)) {
try {
List scanPathVos = scanPathMapper.selectScanFileByBloodPatientIds(patientIds, null, flag);
+ List filePaths = new ArrayList<>();
+// if (null != scanPathVos && !scanPathVos.isEmpty()) {
+// for (int i = 0; i < scanPathVos.size(); i++) {
+// String fileRealPath = scanPathVos.get(i).getFileRealPath();
+// if(StringUtils.isNoneBlank(fileRealPath)){
+// filePaths.add(fileRealPath);
+// }
+// }
+// String zipName = "数字病案图片压缩包";
+// downloadZip1(response,zipName,filePaths);
+// }
if (null != scanPathVos && !scanPathVos.isEmpty()) {
- Set list = new LinkedHashSet<>();
- Set patientIdSet = new LinkedHashSet<>();
- //批量添加下载记录
- printOrDownLoadInfoService.SimpleInsert(scanPathVos, null, Short.valueOf("2"));
- for (ScanPathVo scanPathVo : scanPathVos) {
- patientIdSet.add(scanPathVo.getPatientId());
+ // 创建临时路径,存放压缩文件
+ String zipFilePath = "D://tmp";
+ File file = new File(zipFilePath);
+ //查询保存文件目录是否存在
+ createFile(file);
+ // 压缩输出流,包装流,将临时文件输出流包装成压缩流,将所有文件输出到这里,打成zip包
+ ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(file));
+ // 循环调用压缩文件方法,将一个一个需要下载的文件打入压缩文件包
+ for (int i = 0; i < scanPathVos.size(); i++) {
+ String fileRealPath = scanPathVos.get(i).getFileRealPath();
+ if(StringUtils.isNoneBlank(fileRealPath)){
+ filePaths.add(fileRealPath);
+ }
+ }
+ for (String path : filePaths) {
+ // 该方法在下面定义
+ fileToZip(path, zipOut);
}
- for (String patinetId : patientIdSet) {
- ScanPathForPatientListVo vo = new ScanPathForPatientListVo();
- List filePaths = new ArrayList<>();
- for (ScanPathVo scanPathVo : scanPathVos) {
- if (scanPathVo.getPatientId().equals(patinetId)) {
- vo.setName(scanPathVo.getName());
- vo.setInpatientNo(scanPathVo.getInpatientNo());
- vo.setDisDate(scanPathVo.getDisDate());
- String fileRealPath = scanPathVo.getFileRealPath();
- if (StringUtils.isNoneBlank(fileRealPath) && new File(fileRealPath).exists()) {
- filePaths.add(fileRealPath);
- }
- }
- }
- if (!filePaths.isEmpty()) {
- vo.setScanPathList(filePaths);
- list.add(vo);
+ // 压缩完成后,关闭压缩流
+ zipOut.close();
+
+ //拼接下载默认名称并转为ISO-8859-1格式
+ String fileName = new String(("我的压缩文件.zip").getBytes(),"ISO-8859-1");
+ response.setHeader("Content-Disposition", "attchment;filename="+fileName);
+
+ //该流不可以手动关闭,手动关闭下载会出问题,下载完成后会自动关闭
+ ServletOutputStream outputStream = response.getOutputStream();
+ FileInputStream inputStream = new FileInputStream(zipFilePath);
+ // 如果是SpringBoot框架,在这个路径
+ // org.apache.tomcat.util.http.fileupload.IOUtils产品
+ // 否则需要自主引入apache的 commons-io依赖
+ // copy方法为文件复制,在这里直接实现了下载效果
+ IOUtils.copy(inputStream, outputStream);
+
+ // 关闭输入流
+ inputStream.close();
+
+ //下载完成之后,删掉这个zip包
+ File fileTempZip = new File(zipFilePath);
+ fileTempZip.delete();
+ }
+ } catch (Exception e) {
+ ExceptionPrintUtil.printException(e);
+ e.printStackTrace();
+ }
+ }
+ }
+
+ public void createFile(File file) {
+ //如果文件夹不存在则创建
+ if (!file.exists() && !file.isDirectory()) {
+ file.mkdir();
+ }
+ }
+ public static void fileToZip(String filePath,ZipOutputStream zipOut) throws IOException {
+ // 需要压缩的文件
+ File file = new File(filePath);
+ // 获取文件名称,如果有特殊命名需求,可以将参数列表拓展,传fileName
+ String fileName = file.getName();
+ FileInputStream fileInput = new FileInputStream(filePath);
+ // 缓冲
+ byte[] bufferArea = new byte[1024 * 10];
+ BufferedInputStream bufferStream = new BufferedInputStream(fileInput, 1024 * 10);
+ // 将当前文件作为一个zip实体写入压缩流,fileName代表压缩文件中的文件名称
+ zipOut.putNextEntry(new ZipEntry(fileName));
+ int length = 0;
+ // 最常规IO操作,不必紧张
+ while ((length = bufferStream.read(bufferArea, 0, 1024 * 10)) != -1) {
+ zipOut.write(bufferArea, 0, length);
+ }
+ //关闭流
+ fileInput.close();
+ // 需要注意的是缓冲流必须要关闭流,否则输出无效
+ bufferStream.close();
+ // 压缩流不必关闭,使用完后再关
+ }
+
+
+
+ public void downloadBloodZip1(HttpServletResponse response, String patientIds, String flag) {
+ if (StringUtils.isNoneBlank(patientIds)) {
+ try {
+ List scanPathVos = scanPathMapper.selectScanFileByBloodPatientIds(patientIds, null, flag);
+ List filePaths = new ArrayList<>();
+ if (null != scanPathVos && !scanPathVos.isEmpty()) {
+ for (int i = 0; i < scanPathVos.size(); i++) {
+ String fileRealPath = scanPathVos.get(i).getFileRealPath();
+ if(StringUtils.isNoneBlank(fileRealPath)){
+ filePaths.add(fileRealPath);
}
}
- String zipName = "档案pdf压缩包";
- downloadPdfZip(response, zipName, list);
+ String zipName = "数字病案图片压缩包";
+ downloadZip1(response,zipName,filePaths);
}
} catch (Exception e) {
ExceptionPrintUtil.printException(e);
@@ -1127,6 +1205,51 @@ public class TemplateSearchController {
}
+
+
+
+ public static void downloadZip1(HttpServletResponse response,String zipName,List filePaths){
+ try {
+ zipName = java.net.URLEncoder.encode(zipName, "UTF-8");
+ response.reset();
+ response.setContentType("application/vnd.ms-excel;charset=UTF-8");
+ response.setHeader("Content-Disposition", "attachment;filename=" + zipName + "("+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) +").zip");
+ ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());
+ BufferedOutputStream bos = new BufferedOutputStream(zos);
+ for (int i = 0; i < filePaths.size(); i++) {
+ String base = filePaths.get(i);
+ File realFile = new File(base);
+ if(realFile.exists()) {
+ String fileName = base.substring(base.lastIndexOf("\\")+1); //每个文件名
+ zos.putNextEntry(new ZipEntry(fileName));
+ //读入转字节流
+ InputStream in = new FileInputStream(base);
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ byte[] buffer = new byte[1024 * 4];
+ int n = 0;
+ while ((n = in.read(buffer)) != -1) {
+ out.write(buffer, 0, n);
+ }
+ byte[] file = out.toByteArray(); //这个zip文件的字节
+ BufferedInputStream bis = new BufferedInputStream(new ByteArrayInputStream(file));
+ //输出
+ int len = 0;
+ byte[] buf = new byte[10 * 1024];
+ while( (len=bis.read(buf, 0, buf.length)) != -1){
+ bos.write(buf, 0, len);
+ }
+ bis.close();
+ bos.flush();
+ }
+ }
+ bos.close();
+ } catch (Exception e) {
+ ExceptionPrintUtil.printException(e);
+ e.printStackTrace();
+ }
+ }
+
+
//封装下载pdf压缩包方法
private void downloadPdfZip(HttpServletResponse response, String zipName, Set list) {
response.reset();
diff --git a/src/main/java/com/emr/dao/quality/QualityMapper.java b/src/main/java/com/emr/dao/quality/QualityMapper.java
new file mode 100644
index 0000000..f44f98b
--- /dev/null
+++ b/src/main/java/com/emr/dao/quality/QualityMapper.java
@@ -0,0 +1,23 @@
+package com.emr.dao.quality;
+
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @ClassName QualityMapper
+ * @Description 文件质检
+ * @Author linjj
+ * @Date 2023/4/13 15:29
+ * @Version 1.0
+ */
+public interface QualityMapper {
+
+ Integer getPhNum(@Param("startRange")String startRange, @Param("endRange")String endRange);
+
+ Integer getFileNum(@Param("startRange")String startRange, @Param("endRange")String endRange);
+
+ ListgetFliePath(@Param("ph")String ph);
+
+ ListgetPh(@Param("startRange")String startRange, @Param("endRange")String endRange);
+}
diff --git a/src/main/java/com/emr/service/CommomService.java b/src/main/java/com/emr/service/CommomService.java
index ec107ad..9e41bdc 100644
--- a/src/main/java/com/emr/service/CommomService.java
+++ b/src/main/java/com/emr/service/CommomService.java
@@ -578,33 +578,6 @@ public class CommomService {
//组织输出地址
}
outSrc = EMRRECORDJSP + File.separator + "reload" + File.separator + patientId + File.separator + sourceList[i] + File.separator + nameList[i];
- /*if (srcPath.substring(srcPath.length() - 3).equals("tif")) {
- //需要水印
- //组织加水印后图片存放目录
- String waterJpgRoot = WATERTIFTOJPGPATH + patientId + File.separator + sourceList[i] + File.separator;
- //目录不存在则创建
- if (!new File(waterJpgRoot).isDirectory()) {
- new File(waterJpgRoot).mkdirs();
- }
- //获取到转换后jpg图像存放的位置
- String filePathPrefix = waterJpgRoot + nameList[i];
- String tifToJpgRoot = filePathPrefix.substring(0, filePathPrefix.lastIndexOf("."))+ ".jpg" ;
- if (!new File(tifToJpgRoot).exists()) {
- tifToJpg(srcPath, tifToJpgRoot);
- //加水印存放的地址
- String waterPicPath = waterPicRoot + nameList[i].substring(0, nameList[i].lastIndexOf("."))+ ".jpg";
- img2PdfUtil.addWatermarkPic1(new File(tifToJpgRoot), emrPdfWaterSet, waterPicPath);
- }
- outSrc = EMRRECORDJSP + "\\reload\\" + patientId + File.separator + sourceList[i] + File.separator + nameList[i].substring(0, nameList[i].lastIndexOf("."))+ ".jpg";
- } else {
- //组织加水印后图片存放地址
- String waterPicPath = waterPicRoot + nameList[i];
- if (!new File(waterPicPath).exists()) {
- img2PdfUtil.addWatermarkPic1(new File(srcPath), emrPdfWaterSet, waterPicPath);
- //组织输出地址
- }
- outSrc = EMRRECORDJSP + "\\reload\\" + patientId + File.separator + sourceList[i] + File.separator + nameList[i];
- }*/
} else {
//不需要水印
String root = "";
diff --git a/src/main/java/com/emr/service/quality/QualityService.java b/src/main/java/com/emr/service/quality/QualityService.java
new file mode 100644
index 0000000..6368ea6
--- /dev/null
+++ b/src/main/java/com/emr/service/quality/QualityService.java
@@ -0,0 +1,17 @@
+package com.emr.service.quality;
+
+/**
+ * @InterfaceName QualityService
+ * @Description 文件质检服务
+ * @Author linjj
+ * @Date 2023/4/13 15:26
+ * @Version 1.0
+ */
+public interface QualityService {
+
+ String getPhAndDocumentNum(String startRange,String endRange);
+
+ String examineDocument(String startRange,String endRange);
+
+ String SeniorExamine(String startRange,String endRange);
+}
diff --git a/src/main/java/com/emr/service/quality/QualityServiceImpl.java b/src/main/java/com/emr/service/quality/QualityServiceImpl.java
new file mode 100644
index 0000000..0139c2c
--- /dev/null
+++ b/src/main/java/com/emr/service/quality/QualityServiceImpl.java
@@ -0,0 +1,98 @@
+package com.emr.service.quality;
+
+import com.emr.dao.quality.QualityMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.List;
+
+
+/**
+ * @ClassName QualityServiceImpl
+ * @Description
+ * @Author linjj
+ * @Date 2023/4/13 15:26
+ * @Version 1.0
+ */
+
+@Service
+@Transactional
+public class QualityServiceImpl implements QualityService {
+
+ @Autowired
+ QualityMapper qualityMapper;
+
+ @Override
+ public String getPhAndDocumentNum(String startRange, String endRange) {
+ StringBuffer sb = new StringBuffer();
+ Integer phNum = qualityMapper.getPhNum(startRange, endRange);
+ Integer fileNum = qualityMapper.getFileNum(startRange, endRange);
+ String s = sb.append("查询结果:" + phNum + "盘," + fileNum + "个文件数据").toString();
+ return s;
+ }
+
+ @Override
+ public String examineDocument(String startRange, String endRange) {
+ //用来记录确实记录
+ int i = 0;
+ //用来拼接缺失文件地址
+ StringBuffer lackPath = new StringBuffer();
+ //用来返回记录
+ StringBuffer sb = new StringBuffer();
+ List phList = qualityMapper.getPh(startRange, endRange);
+ for (String ph : phList) {
+ List fliePathList = qualityMapper.getFliePath(ph);
+ for (String fliePath : fliePathList) {
+ File file = new File(fliePath);// 图片存放路径
+ if (!file.exists() && !file.isDirectory()) {
+ i++;
+ lackPath.append(fliePath + ",");
+ }
+ }
+ }
+ String s = sb.append("缺失" + i + "个文件," + "缺失文件为:" + lackPath).toString();
+ return s;
+ }
+
+ @Override
+ public String SeniorExamine(String startRange, String endRange) {
+ //用来记录缺失数量
+ int i = 0;
+ //用来继续故障数量
+ int faultNum = 0;
+ //用来拼接缺失文件地址
+ StringBuffer lackPath = new StringBuffer();
+ //用来拼接故障文件地址
+ StringBuffer faultPath = new StringBuffer();
+ //用来返回记录
+ StringBuffer sb = new StringBuffer();
+ List phList = qualityMapper.getPh(startRange, endRange);
+ for (String ph : phList) {
+ List fliePathList = qualityMapper.getFliePath(ph);
+ for (String fliePath : fliePathList) {
+ File file = new File(fliePath);// 图片存放路径
+ if (!file.exists() && !file.isDirectory()) {
+ i++;
+ lackPath.append(fliePath + ",");
+ }
+ }
+ for (String list : fliePathList) {
+ try {
+ Image image = ImageIO.read(new FileInputStream(list));
+ } catch (IOException e) {
+ faultNum++;
+ faultPath.append(list + ",");
+ }
+ }
+ }
+ String s = sb.append("缺失" + i + "个文件," + "缺失文件为:" + lackPath+"故障文件"+faultNum+"个文件,"+"故障文件为:"+faultPath).toString();
+ return s;
+ }
+
+}
diff --git a/src/main/java/com/emr/util/NewPdfUtil.java b/src/main/java/com/emr/util/NewPdfUtil.java
new file mode 100644
index 0000000..b2e752c
--- /dev/null
+++ b/src/main/java/com/emr/util/NewPdfUtil.java
@@ -0,0 +1,68 @@
+package com.emr.util;
+
+
+import com.itextpdf.io.image.ImageDataFactory;
+import com.itextpdf.kernel.geom.PageSize;
+import com.itextpdf.kernel.pdf.PdfDocument;
+import com.itextpdf.kernel.pdf.PdfPage;
+import com.itextpdf.kernel.pdf.PdfReader;
+import com.itextpdf.kernel.pdf.PdfWriter;
+import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
+import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;
+import com.itextpdf.layout.Document;
+import com.itextpdf.layout.element.Image;
+import com.itextpdf.layout.element.Paragraph;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.rendering.PDFRenderer;
+
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 合并pdf并加上水印
+ * @date 2023-03-07
+ */
+@Slf4j
+public class NewPdfUtil {
+
+
+ /***
+ * 图片转pdf
+ * @param source
+ * @param target
+ */
+ public static void img2Pdf(String source, String target) {
+ File file = new File(source);
+ if (!file.exists()) {
+ log.error("文件不存在");
+ return;
+ }
+ Document document;
+ try {
+ PdfWriter writer = new PdfWriter(target);
+ PdfDocument pdf = new PdfDocument(writer);
+ document = new Document(pdf);
+ Image image = new Image(ImageDataFactory.create(source));
+ image.setAutoScale(true);
+ image.setAutoScaleHeight(true);
+ image.setAutoScaleWidth(true);
+ Paragraph p = new Paragraph().add(image);
+ document.add(p);
+ //关闭文档
+ document.close();
+ writer.close();
+ } catch (Exception e) {
+ log.error("图片:{},转pdf失败:{}", source, e.getMessage());
+ }
+ }
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/src/main/resources/mapper/commomSearch/ScanPathMapper.xml b/src/main/resources/mapper/commomSearch/ScanPathMapper.xml
index bcddac4..63e0c7d 100644
--- a/src/main/resources/mapper/commomSearch/ScanPathMapper.xml
+++ b/src/main/resources/mapper/commomSearch/ScanPathMapper.xml
@@ -58,9 +58,9 @@
ON
dbo.zd_assort.assort_id = dbo.t_scan_assort.assort_id
- dbo.commomtable.patient_id =#{patientIds}
+ dbo.commomtable.patient_id in (${patientIds})
AND t_scan_assort.is_del != 1
-
+
AND dbo.t_scan_assort.scan_page in (${assortIds})
diff --git a/src/main/resources/mapper/quality/QualityMapper.xml b/src/main/resources/mapper/quality/QualityMapper.xml
new file mode 100644
index 0000000..52e9ba1
--- /dev/null
+++ b/src/main/resources/mapper/quality/QualityMapper.xml
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/views/otherManage/browseRecords.jsp b/src/main/webapp/WEB-INF/views/otherManage/browseRecords.jsp
index 7e1ee4c..c1498a4 100644
--- a/src/main/webapp/WEB-INF/views/otherManage/browseRecords.jsp
+++ b/src/main/webapp/WEB-INF/views/otherManage/browseRecords.jsp
@@ -86,7 +86,7 @@
diff --git a/src/main/webapp/WEB-INF/views/quality/quality.jsp b/src/main/webapp/WEB-INF/views/quality/quality.jsp
new file mode 100644
index 0000000..fc58294
--- /dev/null
+++ b/src/main/webapp/WEB-INF/views/quality/quality.jsp
@@ -0,0 +1,167 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+
+<%@ include file="/WEB-INF/jspf/common.jspf" %>
+
+
+
+
+ 文件质检
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp b/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp
index 138060c..85fc986 100644
--- a/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp
+++ b/src/main/webapp/WEB-INF/views/recordManage/commomSearch/commomListqf.jsp
@@ -198,7 +198,7 @@
-
+
@@ -751,9 +751,9 @@
-
+<%-- --%>
diff --git a/src/main/webapp/static/js/font/commomListSouth.js b/src/main/webapp/static/js/font/commomListSouth.js
index f832e47..cf3e68f 100644
--- a/src/main/webapp/static/js/font/commomListSouth.js
+++ b/src/main/webapp/static/js/font/commomListSouth.js
@@ -299,10 +299,10 @@ function getSql() {
whereNames += commomtable + "." + name + " IN (" + disDepts + ") AND ";
}
//病状转归
- if ($("#dis_thing").val() != '') {
- name = 'main_dis_thing';
- whereNames += commomtable + "." + name + " = '" + $("#dis_thing").val() + "' AND ";
- }
+ // if ($("#dis_thing").val() != '') {
+ // name = 'main_dis_thing';
+ // whereNames += commomtable + "." + name + " = '" + $("#dis_thing").val() + "' AND ";
+ // }
//入院日期
if ($("#startTime1").val() != '' && $("#endTime1").val() != '') {
name = 'admiss_date';
diff --git a/src/main/webapp/static/js/otherManage/quality.js b/src/main/webapp/static/js/otherManage/quality.js
new file mode 100644
index 0000000..8c7d0f6
--- /dev/null
+++ b/src/main/webapp/static/js/otherManage/quality.js
@@ -0,0 +1,73 @@
+function getPhAndDocumentNum() {
+ var startRange = $("#startRange").val();
+ var endRange = $("#endRange").val();
+ if (!startRange &&!endRange) {
+ return toastr.warning("开始范围,结束范围不能全部为空")
+ }
+ if (!startRange &&!endRange) {
+ if (startRange > endRange) {
+ return toastr.warning("开始范围不能小于结束范围")
+ }
+ }
+ $.ajax({
+ type:'post',
+ url:path+"/qualityModel/getPhAndDocumentNum",
+ data:{startRange:startRange,endRange:endRange},
+ dataType:'json',
+ success:function(data){
+ $('.documentNum').html(data)
+ },
+ })
+ $('.examineDocument').html("")
+ $('.seniorExamine').html("")
+
+}
+function examineDocument(){
+ var startRange = $("#startRange").val();
+ var endRange = $("#endRange").val();
+ if (!startRange &&!endRange) {
+ return toastr.warning("开始范围,结束范围不能全部为空")
+ }
+ if (!startRange &&!endRange) {
+ if (startRange > endRange) {
+ return toastr.warning("开始范围不能小于结束范围")
+ }
+ }
+ $.ajax({
+ type:'post',
+ url:path+"/qualityModel/examineDocument",
+ data:{startRange:startRange,endRange:endRange},
+ dataType:'json',
+ success:function(data){
+ $('.examineDocument').html(data)
+ },
+ })
+ $('.seniorExamine').html("")
+ $('.documentNum').html("")
+}
+
+function SeniorExamine(){
+ var startRange = $("#startRange").val();
+ var endRange = $("#endRange").val();
+ if (!startRange &&!endRange) {
+ return toastr.warning("开始范围,结束范围不能全部为空")
+ }
+ if (!startRange &&!endRange) {
+ if (startRange > endRange) {
+ return toastr.warning("开始范围不能小于结束范围")
+ }
+ }
+ $.ajax({
+ type:'post',
+ url:path+"/qualityModel/SeniorExamine",
+ data:{startRange:startRange,endRange:endRange},
+ dataType:'json',
+ success:function(data){
+ $('.seniorExamine').html(data)
+ },
+ })
+ $('.examineDocument').html("")
+ $('.documentNum').html("")
+}
+
+
diff --git a/src/main/webapp/static/js/recordManage/templateSearch/searchCommomMethodqf.js b/src/main/webapp/static/js/recordManage/templateSearch/searchCommomMethodqf.js
index 8a21626..e195e2d 100644
--- a/src/main/webapp/static/js/recordManage/templateSearch/searchCommomMethodqf.js
+++ b/src/main/webapp/static/js/recordManage/templateSearch/searchCommomMethodqf.js
@@ -87,6 +87,21 @@ function freshTable(){
$("#mytab").bootstrapTable('destroy');
$("#checks").val('');
var columns = [];
+ var map1 = {};
+ map1['title'] = '操作';
+ map1['field'] = 'Button';
+ map1['align'] = 'center';
+ map1['formatter'] = 'AddFunctionAlty';
+ columns.push(map1)
+ var flag = $("#showPrint").val();
+ //固定列标识
+ var mixFlag = false;
+ if(flag == 1){
+ flag = true;
+ }else{
+ flag = false;
+ mixFlag = true;
+ }
columns.push({
title:'全选',
field:'select',
@@ -130,21 +145,6 @@ function freshTable(){
}
$("#fieldCns").val(fieldCns);
}
- var map1 = {};
- map1['title'] = '操作';
- map1['field'] = 'Button';
- map1['align'] = 'center';
- map1['formatter'] = 'AddFunctionAlty';
- columns.push(map1)
- var flag = $("#showPrint").val();
- //固定列标识
- var mixFlag = false;
- if(flag == 1){
- flag = true;
- }else{
- flag = false;
- mixFlag = true;
- }
//生成用户数据
$('#mytab').bootstrapTable({
method: 'post',