diff --git a/xinelu-admin/src/main/resources/application.yml b/xinelu-admin/src/main/resources/application.yml index b226acc..847f78a 100644 --- a/xinelu-admin/src/main/resources/application.yml +++ b/xinelu-admin/src/main/resources/application.yml @@ -82,6 +82,8 @@ xinelu: left-eye-piture-url: /leftEyePitureUrl #眼底病变筛查右眼图片地址 right-eye-piture-url: /rightEyePitureUrl + #阿尔兹海默症结果文件地址 + alzheimer-file-url: /alzheimerFileUrl # 开发环境配置 server: @@ -252,10 +254,10 @@ fd: # 腾讯云音视频 trtc: - sdkappid: 1400236771 - sdksecretkey: 83ab78d1a8513af6626d58cc2bacd7b28bfb2af06515fa02b0204129ebb53422 - secretid: AKIDOBpP2ICALat0wP4lcIiAMtZ7XgUJ5vMO - secretkey: zxjJhGcx75lECyweHgphKYefWCkBPSHt + sdkappid: 1600006944 + sdksecretkey: 6ddbc3e7e4aa128b52898df27a35f8f3d5acdca6f34ffa17b87ebc33e83314f1 + secretid: AKIDjKo7GF2g9PQJ7KMBpGUTFrFZP7cw2upY + secretkey: c1HajkZCdrrhLsDRUL1XotpeUAkAOSM7 # 微信小程序参数配置信息 applet-chat-config: diff --git a/xinelu-common/src/main/java/com/xinelu/common/config/XinELuConfig.java b/xinelu-common/src/main/java/com/xinelu/common/config/XinELuConfig.java index 3c14cfa..4656529 100644 --- a/xinelu-common/src/main/java/com/xinelu/common/config/XinELuConfig.java +++ b/xinelu-common/src/main/java/com/xinelu/common/config/XinELuConfig.java @@ -101,6 +101,11 @@ public class XinELuConfig { */ public String rightEyePitureUrl; + /** + * 阿尔兹海默症筛查结果文件地址 + */ + private String alzheimerFileUrl; + /** * 修改会员App用户头像上传 */ @@ -640,4 +645,12 @@ public class XinELuConfig { public void setRightEyePitureUrl(String rightEyePitureUrl) { this.rightEyePitureUrl = rightEyePitureUrl; } + + public String getAlzheimerFileUrl() { + return alzheimerFileUrl; + } + + public void setAlzheimerFileUrl(String alzheimerFileUrl) { + this.alzheimerFileUrl = alzheimerFileUrl; + } } diff --git a/xinelu-common/src/main/java/com/xinelu/common/constant/Constants.java b/xinelu-common/src/main/java/com/xinelu/common/constant/Constants.java index 616ba50..fc17fba 100644 --- a/xinelu-common/src/main/java/com/xinelu/common/constant/Constants.java +++ b/xinelu-common/src/main/java/com/xinelu/common/constant/Constants.java @@ -283,6 +283,10 @@ public class Constants { */ public static final String RIGHT_EYE_PICTURE_URL = "rightEyePitureUrl"; + /** + * 阿尔兹海默症结果文件地址 + */ + public static final String ALZHEIMER_FILE_URL = "alzheimerFileUrl"; /** * 护理站模板信息下载 */ diff --git a/xinelu-common/src/main/java/com/xinelu/common/utils/file/FileUploadUtils.java b/xinelu-common/src/main/java/com/xinelu/common/utils/file/FileUploadUtils.java index b432747..8f25260 100644 --- a/xinelu-common/src/main/java/com/xinelu/common/utils/file/FileUploadUtils.java +++ b/xinelu-common/src/main/java/com/xinelu/common/utils/file/FileUploadUtils.java @@ -10,6 +10,12 @@ import com.xinelu.common.utils.DateUtils; import com.xinelu.common.utils.StringUtils; import com.xinelu.common.utils.uuid.Seq; import com.xinelu.common.utils.uuid.UUID; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.FileInputStream; +import java.io.InputStream; +import java.io.OutputStream; +import javax.servlet.http.HttpServletResponse; import org.apache.commons.io.FilenameUtils; import org.springframework.web.multipart.MultipartFile; @@ -352,4 +358,27 @@ public class FileUploadUtils { return StringUtils.format("{}.{}", FilenameUtils.getBaseName(file.getOriginalFilename()), getExtension(file)); } + + /** + * 读取文件 + * + * @param filePath 文件地址 + * @param response 响应流 + * @return void + * @author gaoyu + * @date 2022-01-05 11:43 + */ + @SuppressWarnings("all") + public static void read(String filePath, HttpServletResponse response) { + File file = new File(filePath); + try (InputStream in = new BufferedInputStream(new FileInputStream(file)); + OutputStream os = new BufferedOutputStream(response.getOutputStream())) { + byte[] buffer = new byte[in.available()]; + in.read(buffer); + os.write(buffer); + os.flush(); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/xinelu-common/src/main/java/com/xinelu/common/utils/file/MimeTypeUtils.java b/xinelu-common/src/main/java/com/xinelu/common/utils/file/MimeTypeUtils.java index 24e6ba6..d8f0cf6 100644 --- a/xinelu-common/src/main/java/com/xinelu/common/utils/file/MimeTypeUtils.java +++ b/xinelu-common/src/main/java/com/xinelu/common/utils/file/MimeTypeUtils.java @@ -29,6 +29,8 @@ public class MimeTypeUtils { public static final String[] VIDEO_EXTENSION = {"mp4", "avi", "rmvb"}; + public static final String[] FILE_EXTENSION = {"doc", "docx", "pdf"}; + public static final String[] DEFAULT_ALLOWED_EXTENSION = { // 图片 "bmp", "gif", "jpg", "jpeg", "png", diff --git a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletscreeningrecord/AppletScreeningRecordController.java b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletscreeningrecord/AppletScreeningRecordController.java index f6ee977..ff83f30 100644 --- a/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletscreeningrecord/AppletScreeningRecordController.java +++ b/xinelu-nurse-applet/src/main/java/com/xinelu/applet/controller/appletscreeningrecord/AppletScreeningRecordController.java @@ -2,16 +2,18 @@ package com.xinelu.applet.controller.appletscreeningrecord; import com.alibaba.fastjson2.JSONObject; import com.xinelu.common.annotation.RepeatSubmit; +import com.xinelu.common.config.XinELuConfig; import com.xinelu.common.constant.ScreeningProjectConstants; 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.exception.ServiceException; import com.xinelu.common.utils.DateUtils; import com.xinelu.common.utils.StringUtils; +import com.xinelu.common.utils.file.FileUploadUtils; 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; import com.xinelu.manage.service.screeningrecord.IScreeningRecordService; import com.xinelu.manage.vo.screeningrecord.ScreeningRecordVo; import io.swagger.annotations.Api; @@ -19,11 +21,13 @@ import io.swagger.annotations.ApiOperation; import java.io.File; import java.util.List; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** @@ -41,9 +45,6 @@ public class AppletScreeningRecordController extends BaseController { @Resource private IScreeningRecordService screeningRecordService; - @Resource - private IPatientInfoService patientService; - @GetMapping("/record") @ApiOperation(value = "获取筛查结果记录") public TableDataInfo record(ScreeningRecordDTO query) { @@ -134,4 +135,18 @@ public class AppletScreeningRecordController extends BaseController { JSONObject jsonObject = screeningRecordService.getInfo(assessRecordId); return R.ok(jsonObject); } + + @ApiOperation("阿尔兹海默症结果预览") + @GetMapping("/fileview") + public void fileview(@RequestParam("filePath") String filePath, HttpServletResponse response) { + if (StringUtils.isNotEmpty(filePath)) { + String fileDir = XinELuConfig.getProfile() + filePath.replaceAll("/profile", ""); + File file = new File(fileDir); + if (file.exists() && file.isFile()) { + FileUploadUtils.read(fileDir, response); + } else { + throw new ServiceException("未找到文件"); + } + } + } } diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/hospitalinfo/HospitalInfoController.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/hospitalinfo/HospitalInfoController.java index c821ec1..f3cb280 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/hospitalinfo/HospitalInfoController.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/hospitalinfo/HospitalInfoController.java @@ -9,7 +9,10 @@ import com.xinelu.common.custominterface.Update; import com.xinelu.common.enums.BusinessType; import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.manage.domain.hospitalinfo.HospitalInfo; +import com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo; import com.xinelu.manage.service.hospitalinfo.IHospitalInfoService; +import com.xinelu.manage.service.hospitalpersoninfo.IHospitalPersonInfoService; +import com.xinelu.system.service.ISysRoleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import java.util.List; @@ -39,6 +42,10 @@ import org.springframework.web.bind.annotation.RestController; public class HospitalInfoController extends BaseController { @Resource private IHospitalInfoService hospitalInfoService; + @Resource + private IHospitalPersonInfoService hospitalPersonInfoService; + @Resource + private ISysRoleService roleService; /** * 查询医院信息管理列表 @@ -56,9 +63,15 @@ public class HospitalInfoController extends BaseController { * 查询医院信息管理列表 */ @ApiOperation("查询医院信息管理列表") - @PreAuthorize("@ss.hasPermi('system:hospital:list')") @GetMapping("/getList") public AjaxResult getList(HospitalInfo hospitalInfo) { + // TODO 根据用户权限获取医院列表,机构管理员只能看自己机构,超级管理员查看所有 + if (!getLoginUser().getUser().isAdmin()) { + HospitalPersonInfo hospitalPersonInfo = hospitalPersonInfoService.selectHospitalPersonInfoById(getLoginUser().getUser().getHospitalPersonId()); + if (hospitalPersonInfo != null) { + hospitalInfo.setId(hospitalPersonInfo.getHospitalId()); + } + } List list = hospitalInfoService.selectHospitalInfoList(hospitalInfo); return AjaxResult.success(list); } diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/screeningproject/ScreeningProjectController.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/screeningproject/ScreeningProjectController.java index 281fe82..eec8c72 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/screeningproject/ScreeningProjectController.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/screeningproject/ScreeningProjectController.java @@ -3,7 +3,6 @@ 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; @@ -37,32 +36,44 @@ import org.springframework.web.bind.annotation.RestController; public class ScreeningProjectController extends BaseController { @Resource private IScreeningProjectService projectService; - @Resource private IHospitalPersonInfoService personInfoService; @ApiOperation("服务项目分页列表") @GetMapping("list") - public TableDataInfo list(ScreeningProject project) { + public TableDataInfo list(ScreeningProject project) throws Exception { + if (!getLoginUser().getUser().isAdmin()) { + HospitalPersonInfo personInfo = personInfoService.selectHospitalPersonInfoById(getLoginUser().getUser().getHospitalPersonId()); + if (personInfo != null) { + project.setHospitalId(personInfo.getHospitalId()); + } else { + throw new Exception("该账号未绑定医生账号"); + } + } startPage(); - List list = projectService.findList(project); - return getDataTable(list); + List list = projectService.findList(project); + return getDataTable(list); } @ApiOperation("服务项目列表") @GetMapping("getList") - public R> getList(ScreeningProject project) { - List list = projectService.findList(project); - return R.ok(list); + public R> getList(ScreeningProject project) throws Exception { + // TODO 根据角色判断查看数据范围 + if (!getLoginUser().getUser().isAdmin()) { + HospitalPersonInfo personInfo = personInfoService.selectHospitalPersonInfoById(getLoginUser().getUser().getHospitalPersonId()); + if (personInfo != null) { + project.setHospitalId(personInfo.getHospitalId()); + } else { + throw new Exception("该账号未绑定医生账号"); + } + } + List list = projectService.findList(project); + return R.ok(list); } @ApiOperation("新增服务项目") @PostMapping("add") public R add(@RequestBody ScreeningProject project) { - // 根据当前登录用户获取医生主键 - 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() + "】,不能重复添加"); } diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/screeningrecord/ScreeningRecordController.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/screeningrecord/ScreeningRecordController.java index b2998e3..2012cba 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/screeningrecord/ScreeningRecordController.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/controller/screeningrecord/ScreeningRecordController.java @@ -7,9 +7,11 @@ import com.xinelu.common.core.domain.SelectVo; import com.xinelu.common.core.domain.TimelineVo; import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.common.utils.StringUtils; +import com.xinelu.manage.domain.hospitalpersoninfo.HospitalPersonInfo; import com.xinelu.manage.domain.screeningrecord.ScreeningRecord; import com.xinelu.manage.dto.screeningrecord.ScreeningRecordDTO; import com.xinelu.manage.dto.screeningrecord.ScreeningRecordSaveDTO; +import com.xinelu.manage.service.hospitalpersoninfo.IHospitalPersonInfoService; import com.xinelu.manage.service.screeningrecord.IScreeningRecordService; import com.xinelu.manage.vo.screeningrecord.ScreeningRecordVo; import io.swagger.annotations.Api; @@ -40,9 +42,19 @@ public class ScreeningRecordController extends BaseController { @Resource private IScreeningRecordService screeningRecordService; + @Resource + private IHospitalPersonInfoService personInfoService; + @GetMapping("/screeningList") @ApiOperation(value = "居民预约筛查列表") - public TableDataInfo screeningList(ScreeningRecordDTO query) { + public TableDataInfo screeningList(ScreeningRecordDTO query) throws Exception { + if (!getLoginUser().getUser().isAdmin()) { + HospitalPersonInfo personInfo = personInfoService.selectHospitalPersonInfoById(getLoginUser().getUser().getHospitalPersonId()); + if (personInfo == null) { + throw new Exception("该账号未绑定医生账号"); + } + query.setHospitalId(personInfo.getHospitalId()); + } startPage(); try { return getDataTable(screeningRecordService.screeningList(query)); diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/screeningproject/ScreeningProjectMapper.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/screeningproject/ScreeningProjectMapper.java index d751d01..282c354 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/screeningproject/ScreeningProjectMapper.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/mapper/screeningproject/ScreeningProjectMapper.java @@ -26,6 +26,6 @@ public interface ScreeningProjectMapper { int updateByPrimaryKey(ScreeningProject record); - Integer checkSameName(@Param("projectName") String projectName, @Param("deptId") Long deptId, @Param("projectId") String projectId); + Integer checkSameName(@Param("projectName") String projectName, @Param("hospitalId") Long hospitalId, @Param("projectId") String projectId); } diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/hospitalpersoninfo/impl/HospitalPersonInfoServiceImpl.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/hospitalpersoninfo/impl/HospitalPersonInfoServiceImpl.java index c55a4fe..5c709dc 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/hospitalpersoninfo/impl/HospitalPersonInfoServiceImpl.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/hospitalpersoninfo/impl/HospitalPersonInfoServiceImpl.java @@ -196,10 +196,12 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService hospitalPersonCertificate.setUpdateBy(SecurityUtils.getUsername()); hospitalPersonCertificate.setCertificateCode(Constants.CERTIFICATE_CODE + generateSystemCodeUtil.generateSystemCode(Constants.CERTIFICATE_CODE)); } - int hospitalPersonCertificates = hospitalPersonCertificateMapper.insertHospitalPersonCertificateList(hospitalPersonInfo.getHospitalPersonCertificateList()); - if (hospitalPersonCertificates <= 0) { - throw new ServiceException("修改科室人员资质证书信息失败,请联系管理员!"); - } + if (CollectionUtils.isNotEmpty(hospitalPersonInfo.getHospitalPersonCertificateList())) { + int hospitalPersonCertificates = hospitalPersonCertificateMapper.insertHospitalPersonCertificateList(hospitalPersonInfo.getHospitalPersonCertificateList()); + if (hospitalPersonCertificates <= 0) { + throw new ServiceException("修改科室人员资质证书信息失败,请联系管理员!"); + } + } //删除人员的头像 if (StringUtils.isNotBlank(personInfo.getPersonPictureUrl()) && StringUtils.isNotBlank(hospitalPersonInfo.getPersonPictureUrl()) && !personInfo.getPersonPictureUrl().equals(hospitalPersonInfo.getPersonPictureUrl())) { this.deletePictureUrl(personInfo.getPersonPictureUrl()); diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/nursestation/impl/NurseStationServiceImpl.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/nursestation/impl/NurseStationServiceImpl.java index a65e47f..c21c4e8 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/nursestation/impl/NurseStationServiceImpl.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/nursestation/impl/NurseStationServiceImpl.java @@ -454,6 +454,18 @@ public class NurseStationServiceImpl implements INurseStationService { case Constants.PERSON_CERTIFICATE_URL: uploadPathUrl = XinELuConfig.getProfile() + xinELuConfig.getPersonCertificateUrl(); break; + case Constants.PLATELET_PICTURE_URL: + uploadPathUrl = XinELuConfig.getProfile() + xinELuConfig.getPlateletPitureUrl(); + break; + case Constants.LEFT_EYE_PICTURE_URL: + uploadPathUrl = XinELuConfig.getProfile() + xinELuConfig.getLeftEyePitureUrl(); + break; + case Constants.RIGHT_EYE_PICTURE_URL: + uploadPathUrl = XinELuConfig.getProfile() + xinELuConfig.getRightEyePitureUrl(); + break; + case Constants.ALZHEIMER_FILE_URL: + uploadPathUrl = XinELuConfig.getProfile() + xinELuConfig.getAlzheimerFileUrl(); + break; default: break; } @@ -461,7 +473,13 @@ public class NurseStationServiceImpl implements INurseStationService { return AjaxResult.success(); } //上传 - String pictureName = FileUploadUtils.uploadNurseStationPath(uploadPathUrl, multipartFile, MimeTypeUtils.IMAGE_EXTENSION); + String pictureName = ""; + if (StringUtils.isNotBlank(type) && StringUtils.equals(type, Constants.ALZHEIMER_FILE_URL)) { + pictureName = FileUploadUtils.uploadNurseStationPath(uploadPathUrl, multipartFile, MimeTypeUtils.FILE_EXTENSION); + } else { + pictureName = FileUploadUtils.uploadNurseStationPath(uploadPathUrl, multipartFile, MimeTypeUtils.IMAGE_EXTENSION); + } + if (StringUtils.isBlank(pictureName)) { throw new ServiceException("图片上传失败,请联系管理员!"); } diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningproject/IScreeningProjectService.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningproject/IScreeningProjectService.java index 67d0106..ac53644 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningproject/IScreeningProjectService.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningproject/IScreeningProjectService.java @@ -21,11 +21,11 @@ public interface IScreeningProjectService { /** * 检验机构是否存在相同名称服务项目 * @param projectName 项目名称 - * @param deptId 机构id + * @param hospitalId 机构id * @param projectId 项目业务主键 * @return {@link boolean} * @author gaoyu * @date 2022-11-23 10:20 */ - boolean checkSameProjectName(String projectName, Long deptId, String projectId); + boolean checkSameProjectName(String projectName, Long hospitalId, String projectId); } diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningproject/impl/ScreeningProjectServiceImpl.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningproject/impl/ScreeningProjectServiceImpl.java index 7920898..23046f6 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningproject/impl/ScreeningProjectServiceImpl.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningproject/impl/ScreeningProjectServiceImpl.java @@ -32,12 +32,14 @@ public class ScreeningProjectServiceImpl implements IScreeningProjectService { } @Override public int insert(ScreeningProject project) { - 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()); + if (project.getHospitalId() == null) { + 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); @@ -45,12 +47,14 @@ public class ScreeningProjectServiceImpl implements IScreeningProjectService { @Override public int update(ScreeningProject project) { - 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()); + if (project.getHospitalId() == null) { + 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); @@ -60,7 +64,7 @@ public class ScreeningProjectServiceImpl implements IScreeningProjectService { projectMapper.updateByPrimaryKeySelective(project); } - @Override public boolean checkSameProjectName(String projectName, Long deptId, String projectId) { - return projectMapper.checkSameName(projectName, deptId, projectId) != null; + @Override public boolean checkSameProjectName(String projectName, Long hospitalId, String projectId) { + return projectMapper.checkSameName(projectName, hospitalId, projectId) != null; } } diff --git a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningrecord/impl/ScreeningRecordServiceImpl.java b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningrecord/impl/ScreeningRecordServiceImpl.java index 5b2cb40..3df3655 100644 --- a/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningrecord/impl/ScreeningRecordServiceImpl.java +++ b/xinelu-nurse-manage/src/main/java/com/xinelu/manage/service/screeningrecord/impl/ScreeningRecordServiceImpl.java @@ -61,12 +61,6 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService { @Override public List 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); } @@ -463,7 +457,7 @@ public class ScreeningRecordServiceImpl implements IScreeningRecordService { String uploadPathUrl = XinELuConfig.getProfile() + url + "/"; String fileName = screeningId + ".jpg"; QrCodeUtils.createTxm(content, uploadPathUrl, fileName); - return uploadPathUrl + "/" + fileName; + return uploadPathUrl + fileName; } } diff --git a/xinelu-nurse-manage/src/main/resources/mapper/manage/hospitalinfo/HospitalInfoMapper.xml b/xinelu-nurse-manage/src/main/resources/mapper/manage/hospitalinfo/HospitalInfoMapper.xml index f13ff9a..6cc5dec 100644 --- a/xinelu-nurse-manage/src/main/resources/mapper/manage/hospitalinfo/HospitalInfoMapper.xml +++ b/xinelu-nurse-manage/src/main/resources/mapper/manage/hospitalinfo/HospitalInfoMapper.xml @@ -36,6 +36,9 @@ - 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 + select r.patient_name,r.sex as gender,r.birth_date as birthday,r.phone,r.card_no as `identity` + ,d.screening_id,d.patient_id,d.project_id,d.project_name ,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, @@ -225,9 +222,9 @@ else '0' end as hasResult, case when diagnostic_result is not null then '1' else '0' end as hasDiagnose - from screening_record d left join patient_info r on d.patient_id = r.patient_id + from screening_record d left join patient_info r on d.patient_id = r.id - d.screening_status != '2' and r.del_flag = '0' and r.status = '0' + d.screening_status != '2' and r.del_flag = '0' and d.screening_status = #{screeningStatus} @@ -235,7 +232,7 @@ and r.patient_name like concat(#{patientName}, '%') - and r.identity = #{identity} + and r.card_no = #{identity} and r.address like concat('%', #{address}, '%') @@ -321,9 +318,8 @@ 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 + ssr.remark,substring_index(ssr.attachment, '.', -1) as fileType from screening_record ssr - LEFT JOIN sys_file sf ON sf.file_id=ssr.attachment where 1=1 order by screening_date desc