update===>:修改筛查相关文件上传。

This commit is contained in:
haown 2023-10-10 11:09:01 +08:00
parent 3bcc435d29
commit fa110601b4
10 changed files with 405 additions and 61 deletions

View File

@ -72,6 +72,16 @@ xinelu:
consultation-file-url: /consultationFileUrl
#聊天图片地址
chat-record-file-url: /chatRecordFileUrl
#筛查预约条码图片地址
apply-barcode-piture-url: /applyBarcodePitureUrl
#筛查预约条码图片地址
register-barcode-piture-url: /registerBarcodePictureUrl
#血小板筛查图片地址
platelet-piture-url: /plateletPitureUrl
#眼底病变筛查左眼图片地址
left-eye-piture-url: /leftEyePitureUrl
#眼底病变筛查右眼图片地址
right-eye-piture-url: /rightEyePitureUrl
# 开发环境配置
server:

View File

@ -185,6 +185,12 @@
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-redis</artifactId>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
</project>

View File

@ -77,6 +77,30 @@ public class XinELuConfig {
*/
private String attributePitureUrl;
/**
* 筛查预约条码图片地址
*/
public String applyBarcodePitureUrl;
/**
* 筛查预约条码图片地址
*/
public String registerBarcodePitureUrl;
/**
* 血小板筛查图片地址
*/
public String plateletPitureUrl;
/**
* 眼底病变筛查左眼图片地址
*/
public String leftEyePitureUrl;
/**
* 眼底病变筛查右眼图片地址
*/
public String rightEyePitureUrl;
/**
* 修改会员App用户头像上传
*/
@ -576,4 +600,44 @@ public class XinELuConfig {
public void setItemDirectoryUrl(String itemDirectoryUrl) {
this.itemDirectoryUrl = itemDirectoryUrl;
}
public String getApplyBarcodePitureUrl() {
return applyBarcodePitureUrl;
}
public void setApplyBarcodePitureUrl(String applyBarcodePitureUrl) {
this.applyBarcodePitureUrl = applyBarcodePitureUrl;
}
public String getRegisterBarcodePitureUrl() {
return registerBarcodePitureUrl;
}
public void setRegisterBarcodePitureUrl(String registerBarcodePitureUrl) {
this.registerBarcodePitureUrl = registerBarcodePitureUrl;
}
public String getPlateletPitureUrl() {
return plateletPitureUrl;
}
public void setPlateletPitureUrl(String plateletPitureUrl) {
this.plateletPitureUrl = plateletPitureUrl;
}
public String getLeftEyePitureUrl() {
return leftEyePitureUrl;
}
public void setLeftEyePitureUrl(String leftEyePitureUrl) {
this.leftEyePitureUrl = leftEyePitureUrl;
}
public String getRightEyePitureUrl() {
return rightEyePitureUrl;
}
public void setRightEyePitureUrl(String rightEyePitureUrl) {
this.rightEyePitureUrl = rightEyePitureUrl;
}
}

View File

@ -259,6 +259,30 @@ public class Constants {
*/
public static final String ATTRIBUTE_PICTURE_URL = "attributePitureUrl";
/**
* 筛查预约条码图片地址
*/
public static final String APPLY_BARCODE_PICTURE_URL = "applyBarcodePitureUrl";
/**
* 筛查预约条码图片地址
*/
public static final String REGISTER_BARCODE_PICTURE_URL = "registerBarcodePitureUrl";
/**
* 血小板筛查图片地址
*/
public static final String PLATELET_PICTURE_URL = "plateletPitureUrl";
/**
* 眼底病变筛查左眼图片地址
*/
public static final String LEFT_EYE_PICTURE_URL = "leftEyePitureUrl";
/**
* 眼底病变筛查右眼图片地址
*/
public static final String RIGHT_EYE_PICTURE_URL = "rightEyePitureUrl";
/**
* 护理站模板信息下载
*/

View File

@ -0,0 +1,222 @@
package com.xinelu.common.utils;
import cn.hutool.core.io.FileUtil;
import cn.hutool.extra.qrcode.BufferedImageLuminanceSource;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.Result;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import com.xinelu.common.utils.uuid.IdUtils;
import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Shape;
import java.awt.geom.RoundRectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;
import java.util.concurrent.atomic.AtomicInteger;
import javax.imageio.ImageIO;
import org.apache.commons.lang3.StringUtils;
/**
* 二维码生成类
*
* @author haown
* @date 2023-01-31
*/
public class QrCodeUtils {
private static final String CHARSET = "UTF-8";
private static final String FORMAT = "JPG";
// 二维码尺寸
private static final int QRCODE_SIZE = 300;
// LOGO宽度
private static final int LOGO_WIDTH = 60;
// LOGO高度
private static final int LOGO_HEIGHT = 60;
/**
* 创建二维码图片
*
* @param content 二维码内容
* @param width 生成二维码长度
* @param height 生成二维码高度
* @param filePath 二维码存放路径
*/
public static void createEwm(String content, Integer width, Integer height, String filePath) {
// 二维码生成
QrConfig config = new QrConfig(width, height);
// 设置边距既二维码和背景之间的边距
config.setMargin(0);
QrCodeUtil.generate(content, config, FileUtil.file(filePath));
}
/**
* @return java.lang.Boolean
* @Author mengkuiliang
* @Description 生成二维码
* @Date 2023-01-04 19:58
* @Param [ ontent二维码内容
* logoPathlogo图片路径
* savePath二维码保存地址
* fileName二维码文件名
* bCompress是否压缩logo
* ]
**/
public static Boolean generate(String content, String logoPath, String savePath, String fileName, boolean bCompress) {
try {
// 生成图片
BufferedImage image = createImage(content, logoPath, bCompress);
// 创建输出目录
mkdirs(savePath);
// 生成文件名 文件名为空时自动生成
if (StringUtils.isBlank(fileName)) {
fileName = IdUtils.fastSimpleUUID() + "." + FORMAT.toLowerCase();
} else {
fileName = fileName.substring(0, fileName.lastIndexOf(".") > 0 ? fileName.lastIndexOf(".") : fileName.length()) + "." + FORMAT.toLowerCase();
}
// 写文件
ImageIO.write(image, FORMAT, new File(savePath + "/" + fileName));
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* @return java.lang.String
* @Author mengkuiliang
* @Description 解析二维码
* @Date 2023-01-04 19:58
* @Param [filePath图片路径]
**/
public static String analysis(String filePath) throws Exception {
if (StringUtils.isBlank(filePath)) {
return null;
}
BufferedImage image;
image = ImageIO.read(new File(filePath));
if (image == null) {
return null;
}
BufferedImageLuminanceSource source = new BufferedImageLuminanceSource(image);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Hashtable<DecodeHintType, Object> hints = new Hashtable<DecodeHintType, Object>();
hints.put(DecodeHintType.CHARACTER_SET, CHARSET);
Result result = new MultiFormatReader().decode(bitmap, hints);
return result.getText();
}
/**
* 生成图片
*/
private static BufferedImage createImage(String content, String logoPath, boolean bCompress) throws Exception {
Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
hints.put(EncodeHintType.MARGIN, 1);
BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints);
int width = bitMatrix.getWidth();
int height = bitMatrix.getHeight();
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for (int x = 0; x < width; x++) {
for (int y = 0; y < height; y++) {
image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
}
}
// 插入logo
if (!StringUtils.isBlank(logoPath)) {
insertLogo(image, logoPath, bCompress);
}
return image;
}
/***
* @Author mengkuiliang
* @Description 插入LOGO
* @Date 2023-01-04 19:58
* @Param [source源图片, logoPathlogo文件地址, bCompress是否压缩]
* @return void
**/
private static void insertLogo(BufferedImage source, String logoPath, boolean bCompress) throws Exception {
if (!StringUtils.isBlank(logoPath)) {
File file = new File(logoPath);
if (file.exists()) {
Image src = ImageIO.read(file);
int width = src.getWidth(null);
int height = src.getHeight(null);
// 压缩LOGO
if (bCompress) {
if (width > LOGO_WIDTH) {
width = LOGO_WIDTH;
}
if (height > LOGO_HEIGHT) {
height = LOGO_HEIGHT;
}
Image image = src.getScaledInstance(width, height, Image.SCALE_SMOOTH);
BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = tag.getGraphics();
g.drawImage(image, 0, 0, null); // 绘制缩小后的图
g.dispose();
src = image;
}
// 生成LOGO
Graphics2D graph = source.createGraphics();
int x = (QRCODE_SIZE - width) / 2;
int y = (QRCODE_SIZE - height) / 2;
graph.drawImage(src, x, y, width, height, null);
Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);
graph.setStroke(new BasicStroke(3f));
graph.draw(shape);
graph.dispose();
}
}
}
public static void createTxm(String content, String filePath, String fileName) {
// 条形码生成
BarcodeFormat barcodeFormat = BarcodeFormat.CODE_128;
AtomicInteger codeWidth = new AtomicInteger(3 + // start guard
(7 * 6) + // left bars
5 + // middle guard
(7 * 6) + // right bars
3); // end guard
codeWidth.set(Math.max(codeWidth.get(), 180));
try {
BufferedImage txmImg = QrCodeUtil.generate(content, barcodeFormat, codeWidth.get(), 50);
File imgFilePath = new File(filePath + fileName);
if (!imgFilePath.exists()) {
imgFilePath.getParentFile().mkdir();
imgFilePath.createNewFile();
}
File outputfile = new File(filePath + fileName);
ImageIO.write(txmImg, "png", outputfile);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 当文件夹不存在时自动创建多层目录
*/
public static void mkdirs(String path) {
File file = new File(path);
if (!file.exists() && !file.isDirectory()) {
file.mkdirs();
}
}
}

View File

@ -6,6 +6,7 @@ import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.DateUtils;
import com.xinelu.common.utils.StringUtils;
import com.xinelu.common.utils.uuid.IdUtils;
import java.util.Base64;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.io.IOUtils;
@ -356,6 +357,25 @@ public class FileUtils {
return ajax;
}
//将图片转换成Base64格式的数据集
public static String PicToBase64(String filePath) {
Base64.Encoder encoder = Base64.getEncoder();
byte[] ImgContainer = null;
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(filePath);
ImgContainer = new byte[fileInputStream.available()];
fileInputStream.read(ImgContainer);
String Base64ImgData = encoder.encodeToString(ImgContainer);
fileInputStream.close();
return "data:image/png" + ";base64," + Base64ImgData;
} catch (FileNotFoundException e) {
return "找不到指定文件!";
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 视频上传接口
*

View File

@ -8,6 +8,7 @@ import com.xinelu.common.core.domain.R;
import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.common.utils.DateUtils;
import com.xinelu.common.utils.StringUtils;
import com.xinelu.common.utils.file.FileUtils;
import com.xinelu.manage.dto.screeningrecord.ScreeningApplyDTO;
import com.xinelu.manage.dto.screeningrecord.ScreeningRecordDTO;
import com.xinelu.manage.service.patientinfo.IPatientInfoService;
@ -15,6 +16,7 @@ import com.xinelu.manage.service.screeningrecord.IScreeningRecordService;
import com.xinelu.manage.vo.screeningrecord.ScreeningRecordVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.io.File;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
@ -59,9 +61,12 @@ public class AppletScreeningRecordController extends BaseController {
List<ScreeningRecordVo> list = screeningRecordService.list(query);
// 二维码返回
list.forEach(record -> {
StringUtils.isNotEmpty(record.getApplyBarcode());
// TODO 居民申请条码
//record.setApplyBarcode(patientService.getPicToBase64(record.getApplyBarcode()));
if (StringUtils.isNotEmpty(record.getApplyBarcode())) {
File file = new File(record.getApplyBarcode());
if (file.exists() && file.isFile()) {
record.setApplyBarcode(FileUtils.PicToBase64(record.getApplyBarcode()));
}
}
});
return getDataTable(list);
}
@ -97,11 +102,12 @@ public class AppletScreeningRecordController extends BaseController {
public R<ScreeningRecordVo> detail(@PathVariable String screeningId) {
ScreeningRecordVo screeningRecordVo = screeningRecordService.detail(screeningId);
if (screeningRecordVo != null) {
// TODO 设置文件类型
//File fileInfo = sysFileService.getFile(screeningRecordVo.getAttachment());
//if (fileInfo != null) {
// screeningRecordVo.setFileType(fileInfo.getSuffix());
//}
File file = new File(screeningRecordVo.getAttachment());
if (file.exists() && file.isFile()) {
String fileName = file.getName();
screeningRecordVo.setFileType(fileName.substring(fileName.lastIndexOf(".") + 1));
}
if (!StringUtils.contains(screeningRecordVo.getProjectName(), ScreeningProjectConstants.ALZHEIMER)) {
screeningRecordService.getRecordDetail(screeningRecordVo);
}

View File

@ -1,14 +1,16 @@
package com.xinelu.manage.service.screeningrecord.impl;
import com.alibaba.fastjson2.JSONObject;
import com.xinelu.common.config.XinELuConfig;
import com.xinelu.common.constant.ScreeningProjectConstants;
import com.xinelu.common.core.domain.SelectVo;
import com.xinelu.common.core.domain.TimelineVo;
import com.xinelu.common.core.domain.model.LoginUser;
import com.xinelu.common.enums.UploadType;
import com.xinelu.common.utils.DateUtils;
import com.xinelu.common.utils.QrCodeUtils;
import com.xinelu.common.utils.SecurityUtils;
import com.xinelu.common.utils.bean.BeanUtils;
import com.xinelu.common.utils.file.FileUtils;
import com.xinelu.common.utils.uuid.IdUtils;
import com.xinelu.manage.domain.hospitalinfo.HospitalInfo;
import com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo;
@ -25,6 +27,7 @@ import com.xinelu.manage.service.patientinfo.IPatientInfoService;
import com.xinelu.manage.service.screeningrecord.IScreeningRecordService;
import com.xinelu.manage.vo.patientinfo.PatientInfoVO;
import com.xinelu.manage.vo.screeningrecord.ScreeningRecordVo;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@ -53,6 +56,8 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
private HospitalPersonInfoMapper hospitalPersonInfoMapper;
@Resource
private HospitalInfoMapper hospitalInfoMapper;
@Resource
private XinELuConfig xinELuConfig;
@Override
public List<ScreeningRecordVo> screeningList(ScreeningRecordDTO query) throws Exception {
@ -123,7 +128,7 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
recordBody.setApplyCode(generateCode());
recordBody.setScreeningType("1");
// 预约条码
recordBody.setApplyBarcode(generateBarcode(UploadType.SCREENING_BARCODE.getCode(), recordBody.getScreeningId(), recordBody.getApplyCode()));
recordBody.setApplyBarcode(generateBarcode(xinELuConfig.getApplyBarcodePitureUrl(), recordBody.getScreeningId(), recordBody.getApplyCode()));
int flag = screeningRecordMapper.insert(recordBody);
if(flag > 0) {
// 推送消息
@ -216,7 +221,7 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
screeningRecord.setScreeningStatus("3");
// 生成登记条码
screeningRecord.setRegistrationCode(generateCode());
screeningRecord.setRegistrationBarcode(generateBarcode(UploadType.REGISTRATION_BARCODE.getCode(), screeningRecord.getScreeningId(), screeningRecord.getRegistrationCode()));
screeningRecord.setRegistrationBarcode(generateBarcode(xinELuConfig.getRegisterBarcodePitureUrl(), screeningRecord.getScreeningId(), screeningRecord.getRegistrationCode()));
int flag = screeningRecordMapper.update(screeningRecord);
return screeningRecord.getRegistrationCode();
@ -280,12 +285,11 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
if(recordVo == null) {
return null;
}
// TODO 获取文件类型
//File fileInfo = sysFileService.getFile(recordVo.getAttachment());
//if (fileInfo != null) {
// recordVo.setFileType(fileInfo.getSuffix());
//}
File file = new File(recordVo.getAttachment());
if (file.exists() && file.isFile()) {
String fileName = file.getName();
recordVo.setFileType(fileName.substring(fileName.lastIndexOf(".") + 1));
}
if (!StringUtils.contains(recordVo.getProjectName(), ScreeningProjectConstants.ALZHEIMER)) {
getRecordDetail(recordVo);
}
@ -384,9 +388,8 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
List<String> projectName = screeningRecordVoList.stream().map(ScreeningRecordVo::getProjectName).collect(Collectors.toList());
retObject.fluentPut("projectName", String.join("," , projectName))
.fluentPut("doctorName", screeningRecordVoList.get(0).getDoctorName());
// TODO 居民信息
//PatientInfoVO patientInfoVO = patientService.selectPatientInfoById(screeningRecordVoList.get(0).getPatientId());
//retObject.fluentPut("name", patientInfoVO.getPatientName());
PatientInfoVO patientInfoVO = patientService.selectPatientInfoById(screeningRecordVoList.get(0).getPatientId());
retObject.fluentPut("name", patientInfoVO.getPatientName());
}
// 根据评估记录业务主键查询评估记录
@ -428,19 +431,18 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
/** 获取图片附件转base64 */
private void setAttachment(ScreeningRecordVo record) {
// TODO 文件转换为base64
//if(!StringUtils.isBlank(record.getAttachment())) {
// File fileInfo = sysFileService.getFile(record.getAttachment());
// if(fileInfo != null) {
// record.setAttachment(FileUtils.PicToBase64(fileInfo.getFilePath()));
// }
//}
//if(!StringUtils.isBlank(record.getAttachmentTwo())) {
// File fileInfo = sysFileService.getFile(record.getAttachmentTwo());
// if(fileInfo != null) {
// record.setAttachmentTwo(FileUtils.PicToBase64(fileInfo.getFilePath()));
// }
//}
if(!StringUtils.isBlank(record.getAttachment())) {
File file = new File(record.getAttachment());
if(file.exists()) {
record.setAttachment(FileUtils.PicToBase64(record.getAttachment()));
}
}
if(!StringUtils.isBlank(record.getAttachmentTwo())) {
File file = new File(record.getAttachmentTwo());
if (file.exists()) {
record.setAttachmentTwo(FileUtils.PicToBase64(record.getAttachmentTwo()));
}
}
}
/**
@ -453,25 +455,15 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
/**
* 生成条码
* @param code
* @param url
* @param screeningId
* @param content
*/
private String generateBarcode(String code, String screeningId, String content) {
// TODO 文件保存
//String fileDir = UploadType.getUploadType(code).getPath() + DateUtils.formatDate(new Date(), "yyyy-MM-dd") + "/";
//String fileName = screeningId + ".jpg";
//QrCodeUtils.createTxm(content, fileDir, fileName);
//File sysFile = new File();
//sysFile.setFileId(IdUtils.fastSimpleUUID());
//sysFile.setOriginalFilename(screeningId + ".jpg");
//sysFile.setFilePath(fileDir);
//sysFile.setContentType("image/jpeg");
//sysFile.setSuffix("jpg");
//sysFile.setUploadType(code);
//fileService.insert(sysFile);
//return sysFile.getFileId();
return null;
private String generateBarcode(String url, String screeningId, String content) {
String uploadPathUrl = XinELuConfig.getProfile() + url + "/";
String fileName = screeningId + ".jpg";
QrCodeUtils.createTxm(content, uploadPathUrl, fileName);
return uploadPathUrl + "/" + fileName;
}
}

View File

@ -32,7 +32,7 @@ public class ScreeningRecordVo {
* 居民业务主键
*/
@ApiModelProperty("居民业务主键")
private String patientId;
private Long patientId;
/**
* 居民姓名
@ -97,19 +97,19 @@ public class ScreeningRecordVo {
* 医院编号
*/
@ApiModelProperty("医院编号")
private String deptId;
private Long hospitalId;
/**
* 医院名称
*/
@ApiModelProperty("医院名称")
private String deptName;
private String hospitalName;
/**
* 医生编号
*/
@ApiModelProperty("医生编号")
private String doctorId;
private Long doctorId;
/**
* 医生名称

View File

@ -11,7 +11,7 @@
<result property="screeningStatus" column="screening_status" jdbcType="VARCHAR"/>
<result property="disease" column="disease" jdbcType="VARCHAR"/>
<result property="hospitalId" column="hospital_id" jdbcType="BIGINT"/>
<result property="hospitalName" column="hospita_name" jdbcType="VARCHAR"/>
<result property="hospitalName" column="hospital_name" jdbcType="VARCHAR"/>
<result property="projectId" column="project_id" jdbcType="VARCHAR"/>
<result property="projectName" column="project_name" jdbcType="VARCHAR"/>
<result property="applyStartTime" column="apply_start_time" jdbcType="TIMESTAMP"/>
@ -36,7 +36,7 @@
<sql id="Base_Column_List">
id,screening_id,patient_id,screening_status,
disease,hospital_id,IFNULL(hospita_name, '') as hospita_name,
disease,hospital_id,IFNULL(hospital_name, '') as hospital_name,
project_id, project_name,
apply_start_time,apply_end_time, screening_date,
content,diagnostic_result,attachment,attachment_two,
@ -46,7 +46,7 @@
<sql id="Insert_Column">
screening_id,patient_id,screening_status,
disease,hospital_id,hospita_name,
disease,hospital_id,hospital_name,
project_id, project_name,
apply_start_time, apply_end_time, screening_date,
content,diagnostic_result,attachment,attachment_two,
@ -78,7 +78,7 @@
hospital_id = #{hospitalId},
</if>
<if test="hospitalName != null">
hospita_name = #{hospitalName},
hospital_name = #{hospitalName},
</if>
<if test="projectId != null">
project_id = #{projectId},
@ -183,7 +183,7 @@
and hospital_id = #{hospitalId}
</if>
<if test="hospitalName != null and hospitalName != ''">
and hospita_name = #{hospitalName}
and hospital_name = #{hospitalName}
</if>
<if test="projectId != null and projectId != ''">
and project_id = #{projectId}
@ -216,7 +216,7 @@
<select id="screeningList" resultType="com.xinelu.manage.vo.screeningrecord.ScreeningRecordVo">
select r.resident_name,r.gender,r.birthday,r.phone,r.`identity`
,r.manage_status,r.manage_time,d.screening_id,d.patient_id,d.project_id,d.project_name
,d.hospital_id,d.hospita_name,d.apply_start_time,d.apply_end_time,
,d.hospital_id,d.hospital_name,d.apply_start_time,d.apply_end_time,
d.diagnostic_result,d.attachment,d.attachment_two,
d.registration_date,d.registration_code, d.registration_barcode,d.screening_type,d.push_date,
case when date_format(apply_end_time, '%y%m%d%H%i') &lt; date_format(now(), '%y%m%d%H%i') then '1'
@ -244,7 +244,7 @@
and d.hospital_id = #{hospitalId}
</if>
<if test="hospitalName != null and hospitalName != ''">
and d.hospita_name = #{hospitalName}
and d.hospital_name = #{hospitalName}
</if>
<if test="projectId != null and projectId != ''">
and d.project_id = #{projectId}
@ -318,7 +318,7 @@
<!-- 获取筛查结果记录 -->
<select id="record" resultType="com.xinelu.manage.vo.screeningrecord.ScreeningRecordVo">
select ssr.id,ssr.screening_id,ssr.patient_id,ssr.screening_status,
ssr.disease,ssr.hospital_id,IFNULL(ssr.hospita_name, '') as hospita_name,ssr.project_id, ssr.project_name,
ssr.disease,ssr.hospital_id,IFNULL(ssr.hospital_name, '') as hospital_name,ssr.project_id, ssr.project_name,
ssr.apply_start_time,ssr.apply_end_time, ssr.screening_date,ssr.content,ssr.diagnostic_result,ssr.attachment,ssr.attachment_two,
ssr.doctor_id,IFNULL(ssr.doctor_name,'') as doctor_name,ssr.apply_barcode,ssr.registration_date,ssr.screening_type,ssr.push_date,ssr.assess_record_id,
ssr.remark,sf.suffix as fileType