Merge branch 'jihan_0920_护理服务、商城、积分兑换、在线问诊功能分支' into dev_gy_0920
# Conflicts: # xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/screeningproject/ScreeningProjectController.java # xinelu-nurse-manage/src/main/java/com/xinelu/manage/domain/screeningproject/ScreeningProject.java # xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/screeningproject/ScreeningProjectMapper.java # xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningproject/impl/ScreeningProjectServiceImpl.java # xinelu-nurse-manage/src/main/resources/mapper/manage/screeningproject/ScreeningProjectMapper.xml
This commit is contained in:
commit
151dae3aff
@ -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:
|
||||
@ -219,7 +229,7 @@ swagger:
|
||||
# 是否开启swagger
|
||||
enabled: true
|
||||
# 请求前缀
|
||||
pathMapping: /dev-api
|
||||
pathMapping:
|
||||
|
||||
swagger-ui:
|
||||
base-url: com.xinelu
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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";
|
||||
|
||||
/**
|
||||
* 护理站模板信息下载
|
||||
*/
|
||||
|
||||
@ -113,6 +113,11 @@ public class SysUser extends BaseEntity {
|
||||
*/
|
||||
private String stationPersonPassword;
|
||||
|
||||
/**
|
||||
* 医生主键
|
||||
*/
|
||||
private Long hospitalPersonId;
|
||||
|
||||
/**
|
||||
* 部门对象
|
||||
*/
|
||||
@ -334,7 +339,15 @@ public class SysUser extends BaseEntity {
|
||||
this.roleId = roleId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getHospitalPersonId() {
|
||||
return hospitalPersonId;
|
||||
}
|
||||
|
||||
public void setHospitalPersonId(Long hospitalPersonId) {
|
||||
this.hospitalPersonId = hospitalPersonId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("userId", getUserId())
|
||||
|
||||
@ -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:二维码内容
|
||||
* logoPath:logo图片路径
|
||||
* 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:源图片, logoPath:logo文件地址, 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
/**
|
||||
* 视频上传接口
|
||||
*
|
||||
|
||||
@ -1,16 +0,0 @@
|
||||
package com.xinelu.applet.controller.appletSchedulePlan;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @description: 小程序医生排班计划控制器
|
||||
* @author: haown
|
||||
* @create: 2023-09-22 10:28
|
||||
**/
|
||||
@Api(tags = "小程序医生排班计划控制器")
|
||||
@RestController
|
||||
@RequestMapping("/nurseApplet/schedule/plan")
|
||||
public class AppletSchedulePlanController {
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package com.xinelu.applet.controller.applethospitalinfo;
|
||||
|
||||
import com.xinelu.common.core.controller.BaseController;
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.manage.domain.hospitalinfo.HospitalInfo;
|
||||
import com.xinelu.manage.service.hospitalinfo.IHospitalInfoService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @description: 小程序医院信息管理控制器
|
||||
* @author: haown
|
||||
* @create: 2023-10-09 11:06
|
||||
**/
|
||||
@Api(tags = "小程序医院信息管理控制器")
|
||||
@RestController
|
||||
@RequestMapping("/nurseApplet/hospital")
|
||||
public class AppletHospitalInfoController extends BaseController {
|
||||
@Resource
|
||||
private IHospitalInfoService hospitalInfoService;
|
||||
|
||||
/**
|
||||
* 查询医院信息管理列表
|
||||
*/
|
||||
@ApiOperation("查询医院信息管理列表")
|
||||
@GetMapping("/getList")
|
||||
public AjaxResult getList(HospitalInfo hospitalInfo) {
|
||||
List<HospitalInfo> list = hospitalInfoService.selectHospitalInfoList(hospitalInfo);
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package com.xinelu.applet.controller.appletscheduleplandetail;
|
||||
|
||||
import com.xinelu.common.core.controller.BaseController;
|
||||
import com.xinelu.common.core.domain.R;
|
||||
import com.xinelu.manage.domain.scheduleplandetail.SchedulePlanDetail;
|
||||
import com.xinelu.manage.service.scheduleplandetail.ISchedulePlanDetailService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @description: 小程序医生排班计划控制器
|
||||
* @author: haown
|
||||
* @create: 2023-09-22 10:28
|
||||
**/
|
||||
@Api(tags = "小程序医生排班计划控制器")
|
||||
@RestController
|
||||
@RequestMapping("/nurseApplet/schedule/plandetail")
|
||||
public class AppletSchedulePlanController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private ISchedulePlanDetailService planDetailService;
|
||||
|
||||
@ApiOperation("通过排班计划查询明细")
|
||||
@GetMapping("/getList")
|
||||
public R<List<SchedulePlanDetail>> getList(SchedulePlanDetail planDetail) {
|
||||
List<SchedulePlanDetail> list = planDetailService.getList(planDetail);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -0,0 +1,130 @@
|
||||
package com.xinelu.manage.controller.patientinfo;
|
||||
|
||||
import com.xinelu.common.annotation.Log;
|
||||
import com.xinelu.common.core.controller.BaseController;
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.common.core.page.TableDataInfo;
|
||||
import com.xinelu.common.enums.BusinessType;
|
||||
import com.xinelu.common.utils.poi.ExcelUtil;
|
||||
import com.xinelu.manage.domain.patientinfo.PatientInfo;
|
||||
import com.xinelu.manage.dto.cancelpicture.CancelPictureDTO;
|
||||
import com.xinelu.manage.service.patientinfo.IPatientInfoService;
|
||||
import com.xinelu.manage.vo.patientinfo.PatientInfoVO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 被护理人基本信息Controller
|
||||
*
|
||||
* @author xinyilu
|
||||
* @date 2022-09-02
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/patientArchives")
|
||||
public class PatientArchivesInfoController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private IPatientInfoService patientInfoService;
|
||||
|
||||
/**
|
||||
* 查询被护理人基本信息列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:patientArchives:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(PatientInfoVO patientInfo) {
|
||||
startPage();
|
||||
List<PatientInfoVO> list = patientInfoService.selectPatientInfoList(patientInfo);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出被护理人基本信息列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:patientArchives:export')")
|
||||
@Log(title = "被护理人基本信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, PatientInfoVO patientInfo) {
|
||||
List<PatientInfoVO> list = patientInfoService.selectPatientInfoList(patientInfo);
|
||||
ExcelUtil<PatientInfoVO> util = new ExcelUtil<>(PatientInfoVO.class);
|
||||
util.exportExcel(response, list, "被护理人基本信息数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取被护理人基本信息详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:patientArchives:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
||||
return AjaxResult.success(patientInfoService.selectPatientInfoById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增被护理人基本信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:patientArchives:add')")
|
||||
@Log(title = "被护理人基本信息", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/add")
|
||||
public AjaxResult add(@RequestBody PatientInfo patientInfo) {
|
||||
return toAjax(patientInfoService.insertPatientInfo(patientInfo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改被护理人基本信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:patientArchives:edit')")
|
||||
@Log(title = "被护理人基本信息", businessType = BusinessType.UPDATE)
|
||||
@PostMapping(value = "edit")
|
||||
public AjaxResult edit(@RequestBody PatientInfo patientInfo) {
|
||||
return patientInfoService.updatePatientInfo(patientInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除被护理人基本信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:patientArchives:remove')")
|
||||
@Log(title = "被护理人基本信息", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids) {
|
||||
return toAjax(patientInfoService.deletePatientInfoByIds(ids));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除旧图片
|
||||
*
|
||||
* @param cancelPictureDTO 路径参数
|
||||
* @return 结果
|
||||
*/
|
||||
@PostMapping("/updatePicture")
|
||||
public AjaxResult updatePicture(@RequestBody CancelPictureDTO cancelPictureDTO) {
|
||||
if (CollectionUtils.isEmpty(cancelPictureDTO.getPictureUrlList())) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
return patientInfoService.updatePicture(cancelPictureDTO.getPictureUrlList());
|
||||
}
|
||||
|
||||
/**
|
||||
* PC端重置密码
|
||||
*
|
||||
* @param id 会员id
|
||||
* @param password 密码
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@PostMapping("/updatePassword")
|
||||
public AjaxResult updatePassword(Long id, String password) {
|
||||
if (Objects.isNull(id)) {
|
||||
return AjaxResult.error("用户信息有误,请联系管理员!");
|
||||
}
|
||||
if (StringUtils.isBlank(password)) {
|
||||
return AjaxResult.error("请输入密码!");
|
||||
}
|
||||
return patientInfoService.updatePasswordById(id, password);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,8 +3,11 @@ package com.xinelu.manage.controller.screeningproject;
|
||||
import com.xinelu.common.core.controller.BaseController;
|
||||
import com.xinelu.common.core.domain.R;
|
||||
import com.xinelu.common.core.page.TableDataInfo;
|
||||
import com.xinelu.common.utils.SecurityUtils;
|
||||
import com.xinelu.common.utils.uuid.IdUtils;
|
||||
import com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo;
|
||||
import com.xinelu.manage.domain.screeningproject.ScreeningProject;
|
||||
import com.xinelu.manage.service.hospitalpersoninfo.IHospitalPersonInfoService;
|
||||
import com.xinelu.manage.service.screeningproject.IScreeningProjectService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@ -35,6 +38,9 @@ public class ScreeningProjectController extends BaseController {
|
||||
@Resource
|
||||
private IScreeningProjectService projectService;
|
||||
|
||||
@Resource
|
||||
private IHospitalPersonInfoService personInfoService;
|
||||
|
||||
@ApiOperation("服务项目分页列表")
|
||||
@GetMapping("list")
|
||||
public TableDataInfo list(ScreeningProject project) {
|
||||
@ -53,7 +59,11 @@ public class ScreeningProjectController extends BaseController {
|
||||
@ApiOperation("新增服务项目")
|
||||
@PostMapping("add")
|
||||
public R<String> add(@RequestBody ScreeningProject project) {
|
||||
if (projectService.checkSameProjectName(project.getProjectName(), project.getHospitalId(), null)) {
|
||||
// 根据当前登录用户获取医生主键
|
||||
HospitalPersonInfo hospitalPersonInfo = personInfoService.selectHospitalPersonInfoById(SecurityUtils.getLoginUser().getUser().getHospitalPersonId());
|
||||
project.setHospitalId(hospitalPersonInfo.getHospitalId());
|
||||
project.setHospitalName(hospitalPersonInfo.getPersonName());
|
||||
if (projectService.checkSameProjectName(project.getProjectName(), project.getHospitalId(), null)) {
|
||||
return R.fail("【" + project.getHospitalName() + "】已存在服务项目【" + project.getProjectName() + "】,不能重复添加");
|
||||
}
|
||||
//价格校验
|
||||
@ -72,7 +82,7 @@ public class ScreeningProjectController extends BaseController {
|
||||
if (StringUtils.isBlank(project.getStatus())) {
|
||||
project.setStatus("1");
|
||||
}
|
||||
project.setDiscountPrice(project.getPrice().multiply(new BigDecimal(project.getDiscount())).multiply(new BigDecimal("0.1")).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
project.setDiscountPrice(project.getPrice().multiply(new BigDecimal(project.getDiscount())).multiply(new BigDecimal("0.1")));
|
||||
project.setProjectId(IdUtils.fastSimpleUUID());
|
||||
project.setCreateBy(getUsername());
|
||||
project.setCreateTime(new Date());
|
||||
@ -102,7 +112,7 @@ public class ScreeningProjectController extends BaseController {
|
||||
if (StringUtils.isBlank(project.getStatus())) {
|
||||
project.setStatus("1");
|
||||
}
|
||||
project.setDiscountPrice(project.getPrice().multiply(new BigDecimal(project.getDiscount())).multiply(new BigDecimal("0.1")).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
project.setDiscountPrice(project.getPrice().multiply(new BigDecimal(project.getDiscount())).multiply(new BigDecimal("0.1")));
|
||||
project.setUpdateBy(getUsername());
|
||||
project.setUpdateTime(new Date());
|
||||
projectService.update(project);
|
||||
|
||||
@ -44,7 +44,11 @@ public class ScreeningRecordController extends BaseController {
|
||||
@ApiOperation(value = "居民预约筛查列表")
|
||||
public TableDataInfo screeningList(ScreeningRecordDTO query) {
|
||||
startPage();
|
||||
return getDataTable(screeningRecordService.screeningList(query));
|
||||
try {
|
||||
return getDataTable(screeningRecordService.screeningList(query));
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/list")
|
||||
|
||||
@ -128,6 +128,16 @@ public class HospitalPersonInfo extends BaseDomain implements Serializable {
|
||||
*/
|
||||
private String personPictureUrl;
|
||||
|
||||
/**
|
||||
* 科室人员账号
|
||||
*/
|
||||
private String personAccount;
|
||||
|
||||
/**
|
||||
* 科室人员密码
|
||||
*/
|
||||
private String personPassword;
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
@ -60,7 +60,7 @@ public class ScreeningProject extends BaseEntity {
|
||||
* 医院编号
|
||||
*/
|
||||
@ApiModelProperty("医院编号")
|
||||
private String hospitalId;
|
||||
private Long hospitalId;
|
||||
|
||||
/**
|
||||
* 医院名称
|
||||
|
||||
@ -49,12 +49,12 @@ public class ScreeningRecord implements Serializable {
|
||||
/**
|
||||
* 医院编号
|
||||
*/
|
||||
private String deptId;
|
||||
private Long hospitalId;
|
||||
|
||||
/**
|
||||
* 医院名称
|
||||
*/
|
||||
private String deptName;
|
||||
private String hospitalName;
|
||||
|
||||
/**
|
||||
* 预约项目业务主键
|
||||
@ -108,7 +108,7 @@ public class ScreeningRecord implements Serializable {
|
||||
* 医生编号
|
||||
*/
|
||||
@ApiModelProperty("医生编号")
|
||||
private String doctorId;
|
||||
private Long doctorId;
|
||||
|
||||
/**
|
||||
* 医生名称
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
package com.xinelu.manage.dto.cancelpicture;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description 取消图片参数实体类
|
||||
* @Author 纪寒
|
||||
* @Date 2022-11-09 14:26:28
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class CancelPictureDTO implements Serializable {
|
||||
private static final long serialVersionUID = 3470954431511861546L;
|
||||
/**
|
||||
* 图片集合
|
||||
*/
|
||||
private List<String> pictureUrlList;
|
||||
}
|
||||
@ -43,10 +43,10 @@ public class ScreeningApplyDTO implements Serializable {
|
||||
private Date applyEndTime;
|
||||
|
||||
@ApiModelProperty(value = "预约机构业务主键", required = true)
|
||||
private String deptId;
|
||||
private Long hospitalId;
|
||||
|
||||
@ApiModelProperty(value = "预约机构名称", required = true)
|
||||
private String deptName;
|
||||
private String hospitalName;
|
||||
|
||||
@ApiModelProperty(value = "预约项目业务主键", required = true)
|
||||
private String projectId;
|
||||
|
||||
@ -52,13 +52,13 @@ public class ScreeningRecordApplyDTO implements Serializable {
|
||||
* 医院编号
|
||||
*/
|
||||
@ApiModelProperty("医院编号")
|
||||
private String deptId;
|
||||
private Long hospitalId;
|
||||
|
||||
/**
|
||||
* 医院名称
|
||||
*/
|
||||
@ApiModelProperty("医院名称")
|
||||
private String deptName;
|
||||
private String hospitalName;
|
||||
|
||||
@ApiModelProperty("项目业务主键")
|
||||
private String projectId;
|
||||
@ -87,7 +87,7 @@ public class ScreeningRecordApplyDTO implements Serializable {
|
||||
* 医生编号
|
||||
*/
|
||||
@ApiModelProperty("医生编号")
|
||||
private String doctorId;
|
||||
private Long doctorId;
|
||||
|
||||
/**
|
||||
* 医生名称
|
||||
|
||||
@ -52,13 +52,13 @@ public class ScreeningRecordDTO extends BaseEntity {
|
||||
* 医院编号
|
||||
*/
|
||||
@ApiModelProperty("医院编号")
|
||||
private String deptId;
|
||||
private Long hospitalId;
|
||||
|
||||
/**
|
||||
* 医院名称
|
||||
*/
|
||||
@ApiModelProperty("医院名称")
|
||||
private String deptName;
|
||||
private String hospitalName;
|
||||
|
||||
@ApiModelProperty("预约项目业务主键")
|
||||
private String projectId;
|
||||
|
||||
@ -26,6 +26,6 @@ public interface ScreeningProjectMapper {
|
||||
|
||||
int updateByPrimaryKey(ScreeningProject record);
|
||||
|
||||
Integer checkSameName(@Param("projectName") String projectName, @Param("hospitalId") String hospitalId, @Param("projectId") String projectId);
|
||||
Integer checkSameName(@Param("projectName") String projectName, @Param("deptId") Long deptId, @Param("projectId") String projectId);
|
||||
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.xinelu.manage.service.hospitalpersoninfo.impl;
|
||||
import com.xinelu.common.config.XinELuConfig;
|
||||
import com.xinelu.common.constant.Constants;
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.common.core.domain.entity.SysUser;
|
||||
import com.xinelu.common.exception.ServiceException;
|
||||
import com.xinelu.common.utils.SecurityUtils;
|
||||
import com.xinelu.common.utils.codes.GenerateSystemCodeUtil;
|
||||
@ -14,6 +15,7 @@ import com.xinelu.manage.mapper.hospitalpersoncertificate.HospitalPersonCertific
|
||||
import com.xinelu.manage.mapper.hospitalpersoninfo.HospitalPersonInfoMapper;
|
||||
import com.xinelu.manage.service.hospitalpersoninfo.IHospitalPersonInfoService;
|
||||
import com.xinelu.manage.vo.hospitalpersoninfo.HospitalPersonInfoVO;
|
||||
import com.xinelu.system.mapper.SysUserMapper;
|
||||
import java.io.File;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
@ -48,6 +50,9 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
|
||||
@Resource
|
||||
private HospitalPersonCertificateMapper hospitalPersonCertificateMapper;
|
||||
|
||||
@Resource
|
||||
private SysUserMapper userMapper;
|
||||
|
||||
/**
|
||||
* 查询健康咨询-科室人员信息
|
||||
*
|
||||
@ -126,6 +131,15 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
|
||||
throw new ServiceException("新增科室人员资质证书信息失败,请联系管理员!");
|
||||
}
|
||||
}
|
||||
// 保存到sys_user表
|
||||
SysUser sysUser = new SysUser();
|
||||
sysUser.setUserName(hospitalPersonInfo.getPersonAccount());
|
||||
sysUser.setPassword(SecurityUtils.encryptPassword(hospitalPersonInfo.getPersonPassword()));
|
||||
sysUser.setNickName(hospitalPersonInfo.getPersonName());
|
||||
sysUser.setHospitalPersonId(hospitalPersonInfo.getId());
|
||||
sysUser.setStatus("0");
|
||||
sysUser.setDelFlag("0");
|
||||
userMapper.insertUser(sysUser);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
||||
@ -27,5 +27,5 @@ public interface IScreeningProjectService {
|
||||
* @author gaoyu
|
||||
* @date 2022-11-23 10:20
|
||||
*/
|
||||
boolean checkSameProjectName(String projectName, String deptId, String projectId);
|
||||
boolean checkSameProjectName(String projectName, Long deptId, String projectId);
|
||||
}
|
||||
|
||||
@ -1,9 +1,13 @@
|
||||
package com.xinelu.manage.service.screeningproject.impl;
|
||||
|
||||
import com.xinelu.common.utils.SecurityUtils;
|
||||
import com.xinelu.manage.domain.hospitalinfo.HospitalInfo;
|
||||
import com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo;
|
||||
import com.xinelu.manage.domain.screeningproject.ScreeningProject;
|
||||
import com.xinelu.manage.mapper.hospitalinfo.HospitalInfoMapper;
|
||||
import com.xinelu.manage.mapper.hospitalpersoninfo.HospitalPersonInfoMapper;
|
||||
import com.xinelu.manage.mapper.screeningproject.ScreeningProjectMapper;
|
||||
import com.xinelu.manage.service.screeningproject.IScreeningProjectService;
|
||||
import com.xinelu.system.mapper.SysDeptMapper;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -19,22 +23,36 @@ public class ScreeningProjectServiceImpl implements IScreeningProjectService {
|
||||
@Resource
|
||||
private ScreeningProjectMapper projectMapper;
|
||||
@Resource
|
||||
private SysDeptMapper deptMapper;
|
||||
private HospitalPersonInfoMapper hospitalPersonInfoMapper;
|
||||
@Resource
|
||||
private HospitalInfoMapper hospitalInfoMapper;
|
||||
|
||||
@Override public List<ScreeningProject> findList(ScreeningProject project) {
|
||||
return projectMapper.findList(project);
|
||||
}
|
||||
|
||||
@Override public int insert(ScreeningProject project) {
|
||||
// TODO 设置机构
|
||||
// project.setDeptName(deptMapper.selectDeptById(project.getDeptId()).getDeptName());
|
||||
HospitalPersonInfo hospitalPersonInfo = hospitalPersonInfoMapper.selectHospitalPersonInfoById(SecurityUtils.getLoginUser().getUser().getHospitalPersonId());
|
||||
if (hospitalPersonInfo != null) {
|
||||
project.setHospitalId(hospitalPersonInfo.getHospitalId());
|
||||
HospitalInfo hospital = hospitalInfoMapper.selectHospitalInfoById(hospitalPersonInfo.getHospitalId());
|
||||
if (hospital != null) {
|
||||
project.setHospitalName(hospital.getHospitalName());
|
||||
}
|
||||
}
|
||||
return projectMapper.insertSelective(project);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int update(ScreeningProject project) {
|
||||
// TODO 设置机构
|
||||
// project.setDeptName(deptMapper.selectDeptById(project.getDeptId()).getDeptName());
|
||||
HospitalPersonInfo hospitalPersonInfo = hospitalPersonInfoMapper.selectHospitalPersonInfoById(SecurityUtils.getLoginUser().getUser().getHospitalPersonId());
|
||||
if (hospitalPersonInfo != null) {
|
||||
project.setHospitalId(hospitalPersonInfo.getHospitalId());
|
||||
HospitalInfo hospital = hospitalInfoMapper.selectHospitalInfoById(hospitalPersonInfo.getHospitalId());
|
||||
if (hospital != null) {
|
||||
project.setHospitalName(hospital.getHospitalName());
|
||||
}
|
||||
}
|
||||
return projectMapper.updateByPrimaryKey(project);
|
||||
}
|
||||
|
||||
@ -42,7 +60,7 @@ public class ScreeningProjectServiceImpl implements IScreeningProjectService {
|
||||
projectMapper.updateByPrimaryKeySelective(project);
|
||||
}
|
||||
|
||||
@Override public boolean checkSameProjectName(String projectName, String hospitalId, String projectId) {
|
||||
return projectMapper.checkSameName(projectName, hospitalId, projectId) != null;
|
||||
@Override public boolean checkSameProjectName(String projectName, Long deptId, String projectId) {
|
||||
return projectMapper.checkSameName(projectName, deptId, projectId) != null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ import java.util.List;
|
||||
*/
|
||||
public interface IScreeningRecordService {
|
||||
|
||||
List<ScreeningRecordVo> screeningList(ScreeningRecordDTO query);
|
||||
List<ScreeningRecordVo> screeningList(ScreeningRecordDTO query) throws Exception;
|
||||
|
||||
/**
|
||||
* @Author mengkuiliang
|
||||
|
||||
@ -1,26 +1,33 @@
|
||||
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;
|
||||
import com.xinelu.manage.domain.screeningproject.ScreeningProject;
|
||||
import com.xinelu.manage.domain.screeningrecord.ScreeningRecord;
|
||||
import com.xinelu.manage.dto.screeningrecord.ScreeningApplyDTO;
|
||||
import com.xinelu.manage.dto.screeningrecord.ScreeningRecordApplyDTO;
|
||||
import com.xinelu.manage.dto.screeningrecord.ScreeningRecordDTO;
|
||||
import com.xinelu.manage.dto.screeningrecord.ScreeningRecordSaveDTO;
|
||||
import com.xinelu.manage.mapper.hospitalinfo.HospitalInfoMapper;
|
||||
import com.xinelu.manage.mapper.hospitalpersoninfo.HospitalPersonInfoMapper;
|
||||
import com.xinelu.manage.mapper.screeningrecord.ScreeningRecordMapper;
|
||||
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;
|
||||
@ -45,13 +52,21 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
|
||||
private ScreeningRecordMapper screeningRecordMapper;
|
||||
@Resource
|
||||
private IPatientInfoService patientService;
|
||||
//@Resource
|
||||
//private IScreeningProjectRecordService projectRecordService;
|
||||
@Resource
|
||||
private HospitalPersonInfoMapper hospitalPersonInfoMapper;
|
||||
@Resource
|
||||
private HospitalInfoMapper hospitalInfoMapper;
|
||||
@Resource
|
||||
private XinELuConfig xinELuConfig;
|
||||
|
||||
@Override
|
||||
public List<ScreeningRecordVo> screeningList(ScreeningRecordDTO query) {
|
||||
// TODO 通过机构查询
|
||||
// query.setDeptId(SecurityUtils.getDeptId());
|
||||
public List<ScreeningRecordVo> screeningList(ScreeningRecordDTO query) throws Exception {
|
||||
HospitalPersonInfo hospitalPersonInfo = hospitalPersonInfoMapper.selectHospitalPersonInfoById(SecurityUtils.getLoginUser().getUser().getHospitalPersonId());
|
||||
if (hospitalPersonInfo != null) {
|
||||
query.setHospitalId(hospitalPersonInfo.getHospitalId());
|
||||
} else {
|
||||
throw new Exception("该账号未关联医生");
|
||||
}
|
||||
return screeningRecordMapper.screeningList(query);
|
||||
}
|
||||
|
||||
@ -97,7 +112,7 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
|
||||
// 查询 同一机构的同一筛查项目在同一天是否有预约
|
||||
ScreeningRecordDTO query = new ScreeningRecordDTO();
|
||||
query.setPatientId(body.getPatientId());
|
||||
query.setDeptId(body.getDeptId());
|
||||
query.setHospitalId(body.getHospitalId());
|
||||
query.setProjectId(body.getProjectId());
|
||||
query.setApplyStartDate(body.getApplyStartTime());
|
||||
query.setApplyEndDate(body.getApplyEndTime());
|
||||
@ -113,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) {
|
||||
// 推送消息
|
||||
@ -136,9 +151,17 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
|
||||
|
||||
@Override
|
||||
public Integer update(ScreeningRecord body) {
|
||||
// TODO 用户id
|
||||
//body.setDoctorId(SecurityUtils.getUserId());
|
||||
body.setDeptName(SecurityUtils.getLoginUser().getUser().getDept().getDeptName());
|
||||
HospitalPersonInfo hospitalPersonInfo = hospitalPersonInfoMapper.selectHospitalPersonInfoById(SecurityUtils.getLoginUser().getUser().getHospitalPersonId());
|
||||
if (hospitalPersonInfo != null) {
|
||||
body.setDoctorId(hospitalPersonInfo.getId());
|
||||
body.setDoctorName(hospitalPersonInfo.getPersonName());
|
||||
HospitalInfo hospitalInfo = hospitalInfoMapper.selectHospitalInfoById(hospitalPersonInfo.getHospitalId());
|
||||
if (hospitalInfo != null) {
|
||||
body.setHospitalId(hospitalInfo.getId());
|
||||
body.setHospitalName(hospitalInfo.getHospitalName());
|
||||
}
|
||||
}
|
||||
|
||||
body.setScreeningStatus("4");
|
||||
body.setScreeningDate(new Date());
|
||||
int flag = screeningRecordMapper.update(body);
|
||||
@ -192,14 +215,13 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
|
||||
if (StringUtils.equals("3", screeningRecord.getScreeningStatus()) || StringUtils.equals("4", screeningRecord.getScreeningStatus())) {
|
||||
throw new Exception("该预约已登记,请勿重复登记。");
|
||||
}
|
||||
// TODO 当前登录用户id
|
||||
//screeningRecord.setDoctorId(loginUser.getUserId());
|
||||
screeningRecord.setDoctorId(loginUser.getUser().getHospitalPersonId());
|
||||
screeningRecord.setDoctorName(loginUser.getUser().getNickName());
|
||||
screeningRecord.setRegistrationDate(new Date());
|
||||
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();
|
||||
|
||||
@ -263,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);
|
||||
}
|
||||
@ -320,12 +341,18 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService {
|
||||
screeningRecord.setProjectId(project.getProjectId());
|
||||
screeningRecord.setProjectName(project.getProjectName());
|
||||
screeningRecord.setPatientId(body.getPatientId());
|
||||
// TODO 用户id
|
||||
//screeningRecord.setDoctorId(SecurityUtils.getUserId());
|
||||
screeningRecord.setDoctorId(SecurityUtils.getLoginUser().getUser().getHospitalPersonId());
|
||||
screeningRecord.setDoctorName(SecurityUtils.getLoginUser().getUser().getNickName());
|
||||
// TODO 机构id
|
||||
//screeningRecord.setDeptId(SecurityUtils.getDeptId());
|
||||
screeningRecord.setDeptName(SecurityUtils.getLoginUser().getUser().getDept().getDeptName());
|
||||
HospitalPersonInfo hospitalPersonInfo = hospitalPersonInfoMapper.selectHospitalPersonInfoById(SecurityUtils.getLoginUser().getUser().getHospitalPersonId());
|
||||
if (hospitalPersonInfo == null) {
|
||||
throw new Exception("当前用户未绑定医生账号");
|
||||
} else {
|
||||
HospitalInfo hospitalInfo = hospitalInfoMapper.selectHospitalInfoById(hospitalPersonInfo.getHospitalId());
|
||||
if (hospitalInfo != null) {
|
||||
screeningRecord.setHospitalId(hospitalInfo.getId());
|
||||
screeningRecord.setHospitalName(hospitalInfo.getHospitalName());
|
||||
}
|
||||
}
|
||||
screeningRecord.setScreeningStatus("1");
|
||||
screeningRecord.setScreeningType("2");
|
||||
screeningRecord.setApplyStartTime(new Date());
|
||||
@ -361,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());
|
||||
}
|
||||
|
||||
// 根据评估记录业务主键查询评估记录
|
||||
@ -405,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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -430,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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* 医生名称
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
<result property="discount" column="discount" jdbcType="INTEGER"/>
|
||||
<result property="discountPrice" column="discount_price" jdbcType="VARCHAR"/>
|
||||
<result property="status" column="status" jdbcType="CHAR"/>
|
||||
<result property="hospitalId" column="hospital_id" jdbcType="VARCHAR"/>
|
||||
<result property="hospitalId" column="hospital_id" jdbcType="BIGINT"/>
|
||||
<result property="hospitalName" column="hospital_name" jdbcType="VARCHAR"/>
|
||||
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="createTime" column="create_time" jdbcType="DATE"/>
|
||||
@ -75,7 +75,7 @@
|
||||
,remark)
|
||||
values (#{id,jdbcType=BIGINT},#{projectId,jdbcType=VARCHAR},#{projectName,jdbcType=VARCHAR}
|
||||
,#{projectType,jdbcType=CHAR},#{price,jdbcType=DECIMAL},#{discount,jdbcType=INTEGER}
|
||||
,#{discountPrice,jdbcType=VARCHAR},#{status,jdbcType=CHAR},#{hospitalId,jdbcType=VARCHAR}
|
||||
,#{discountPrice,jdbcType=VARCHAR},#{status,jdbcType=CHAR},#{hospitalId,jdbcType=BIGINT}
|
||||
,#{hospitalName,jdbcType=VARCHAR},#{createBy,jdbcType=VARCHAR},#{createTime,jdbcType=DATE}
|
||||
,#{updateBy,jdbcType=VARCHAR},#{updateTime,jdbcType=DATE},#{delFlag,jdbcType=CHAR}
|
||||
,#{remark,jdbcType=VARCHAR})
|
||||
@ -109,7 +109,7 @@
|
||||
<if test="discount != null">#{discount,jdbcType=INTEGER},</if>
|
||||
<if test="discountPrice != null">#{discountPrice,jdbcType=DECIMAL},</if>
|
||||
<if test="status != null">#{status,jdbcType=CHAR},</if>
|
||||
<if test="hospitalId != null">#{hospitalId,jdbcType=VARCHAR},</if>
|
||||
<if test="hospitalId != null">#{hospitalId,jdbcType=BIGINT},</if>
|
||||
<if test="hospitalName != null">#{hospitalName,jdbcType=VARCHAR},</if>
|
||||
<if test="createBy != null">#{createBy,jdbcType=VARCHAR},</if>
|
||||
<if test="createTime != null">#{createTime,jdbcType=DATE},</if>
|
||||
@ -141,7 +141,7 @@
|
||||
status = #{status,jdbcType=CHAR},
|
||||
</if>
|
||||
<if test="hospitalId != null">
|
||||
hospital_id = #{hospitalId,jdbcType=VARCHAR},
|
||||
hospital_id = #{hospitalId,jdbcType=BIGINT},
|
||||
</if>
|
||||
<if test="hospitalName != null">
|
||||
hospital_name = #{hospitalName,jdbcType=VARCHAR},
|
||||
@ -176,7 +176,7 @@
|
||||
discount = #{discount,jdbcType=INTEGER},
|
||||
discount_price = #{discountPrice,jdbcType=VARCHAR},
|
||||
status = #{status,jdbcType=CHAR},
|
||||
hospital_id = #{hospitalId,jdbcType=VARCHAR},
|
||||
hospital_id = #{hospitalId,jdbcType=BIGINT},
|
||||
hospital_name = #{hospitalName,jdbcType=VARCHAR},
|
||||
create_by = #{createBy,jdbcType=VARCHAR},
|
||||
create_time = #{createTime,jdbcType=DATE},
|
||||
|
||||
@ -10,8 +10,8 @@
|
||||
<result property="patientId" column="patient_id" jdbcType="VARCHAR"/>
|
||||
<result property="screeningStatus" column="screening_status" jdbcType="VARCHAR"/>
|
||||
<result property="disease" column="disease" jdbcType="VARCHAR"/>
|
||||
<result property="deptId" column="dept_id" jdbcType="VARCHAR"/>
|
||||
<result property="deptName" column="dept_name" jdbcType="VARCHAR"/>
|
||||
<result property="hospitalId" column="hospital_id" jdbcType="BIGINT"/>
|
||||
<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"/>
|
||||
@ -21,7 +21,7 @@
|
||||
<result property="diagnosticResult" column="diagnostic_result" jdbcType="VARCHAR"/>
|
||||
<result property="attachment" column="attachment" jdbcType="VARCHAR"/>
|
||||
<result property="attachmentTwo" column="attachment_two" jdbcType="VARCHAR"/>
|
||||
<result property="doctorId" column="doctor_id" jdbcType="VARCHAR"/>
|
||||
<result property="doctorId" column="doctor_id" jdbcType="BIGINT"/>
|
||||
<result property="doctorName" column="doctor_name" jdbcType="VARCHAR"/>
|
||||
<result property="applyCode" column="apply_code" jdbcType="VARCHAR"/>
|
||||
<result property="applyBarcode" column="apply_barcode" jdbcType="VARCHAR"/>
|
||||
@ -36,7 +36,7 @@
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,screening_id,patient_id,screening_status,
|
||||
disease,dept_id,IFNULL(dept_name, '') as dept_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,dept_id,dept_name,
|
||||
disease,hospital_id,hospital_name,
|
||||
project_id, project_name,
|
||||
apply_start_time, apply_end_time, screening_date,
|
||||
content,diagnostic_result,attachment,attachment_two,
|
||||
@ -57,7 +57,7 @@
|
||||
<insert id="insert">
|
||||
insert into screening_record (<include refid="Insert_Column"></include>)
|
||||
values (#{screeningId}, #{patientId}, #{screeningStatus},
|
||||
#{disease}, #{deptId}, #{deptName},
|
||||
#{disease}, #{hospitalId}, #{hospitalName},
|
||||
#{projectId},#{projectName},
|
||||
#{applyStartTime}, #{applyEndTime},#{screeningDate},
|
||||
#{content}, #{diagnosticResult},#{attachment},#{attachmentTwo},
|
||||
@ -74,11 +74,11 @@
|
||||
<if test="screeningStatus != null">
|
||||
screening_status = #{screeningStatus},
|
||||
</if>
|
||||
<if test="deptId != null">
|
||||
dept_id = #{deptId},
|
||||
<if test="hospitalId != null">
|
||||
hospital_id = #{hospitalId},
|
||||
</if>
|
||||
<if test="deptName != null">
|
||||
dept_name = #{deptName},
|
||||
<if test="hospitalName != null">
|
||||
hospital_name = #{hospitalName},
|
||||
</if>
|
||||
<if test="projectId != null">
|
||||
project_id = #{projectId},
|
||||
@ -179,11 +179,11 @@
|
||||
<if test="address != null and address != ''">
|
||||
and address like concat('%', #{address}, '%')
|
||||
</if>
|
||||
<if test="deptId != null and deptId != ''">
|
||||
and dept_id = #{deptId}
|
||||
<if test="hospitalId != null and hospitalId != ''">
|
||||
and hospital_id = #{hospitalId}
|
||||
</if>
|
||||
<if test="deptName != null and deptName != ''">
|
||||
and dept_name = #{deptName}
|
||||
<if test="hospitalName != null and 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.dept_id,d.dept_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') < date_format(now(), '%y%m%d%H%i') then '1'
|
||||
@ -240,11 +240,11 @@
|
||||
<if test="address != null and address != ''">
|
||||
and r.address like concat('%', #{address}, '%')
|
||||
</if>
|
||||
<if test="deptId != null and deptId != ''">
|
||||
and d.dept_id = #{deptId}
|
||||
<if test="hospitalId != null and hospitalId != ''">
|
||||
and d.hospital_id = #{hospitalId}
|
||||
</if>
|
||||
<if test="deptName != null and deptName != ''">
|
||||
and d.dept_name = #{deptName}
|
||||
<if test="hospitalName != null and 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.dept_id,IFNULL(ssr.dept_name, '') as dept_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
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="hospitalPersonId" column="hospital_person_id"/>
|
||||
<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult"/>
|
||||
<collection property="roles" javaType="java.util.List" resultMap="RoleResult"/>
|
||||
</resultMap>
|
||||
@ -47,7 +48,8 @@
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectUserVo">
|
||||
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
|
||||
select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status,
|
||||
u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.hospital_person_id,
|
||||
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
|
||||
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
|
||||
from sys_user u
|
||||
@ -160,6 +162,7 @@
|
||||
<if test="status != null and status != ''">status,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
<if test="hospitalPersonId != null and hospitalPersonId != ''">hospital_person_id,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="userId != null and userId != ''">#{userId},</if>
|
||||
@ -174,6 +177,7 @@
|
||||
<if test="status != null and status != ''">#{status},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
<if test="hospitalPersonId != null and hospitalPersonId != ''">#{hospitalPersonId},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user