Browse Source

修改对接pdf页面接口

hnzxyjhyy
zhangye 2 weeks ago
parent
commit
e3974d9d44
  1. 6
      ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/RmsDto.java
  2. 19
      ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/vo/RmsVo.java
  3. 14
      ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/controller/ReportPdfController.java
  4. 4
      ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/persist/dao/RmsDao.java
  5. 2
      ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/IRmsService.java
  6. 20
      ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/impl/RmsServiceImpl.java
  7. 48
      ruisi_java/ruisi-web-admin/src/main/resources/mapper/dao/RmsDao.xml

6
ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/dto/RmsDto.java

@ -256,10 +256,10 @@ public class RmsDto {
@ApiModel("导出历史报告单-DTO")
@Data
public static class ReportPDF{
@ApiModelProperty("患者的就诊流水号")
@ApiModelProperty("患者唯一标识")
private String patientNo;
@ApiModelProperty("医护人员工号")
private String emplCode;
@ApiModelProperty("就诊流水号")
private String visitNo;
}
}

19
ruisi_java/ruisi-system/src/main/java/com/ccsens/system/domain/vo/RmsVo.java

@ -1148,4 +1148,23 @@ public class RmsVo {
private Integer optionNum;
}
@ApiModel("导出历史报告单(对接)-VO")
@Data
public static class ReportPDF{
@ApiModelProperty("患者名称")
private String patientName;
@ApiModelProperty("性别")
private Byte sex;
@ApiModelProperty("年龄")
private int Age;
@ApiModelProperty("就诊号")
private String visitNo;
@ApiModelProperty("评估人")
private String assessor;
@ApiModelProperty("评估时间")
private String assessTime;
@ApiModelProperty("报告单文件路径")
private String url;
}
}

14
ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/controller/ReportPdfController.java

@ -2,13 +2,17 @@ package com.ccsens.admin.controller;
import com.ccsens.admin.service.IRmsService;
import com.ccsens.common.annotation.Anonymous;
import com.ccsens.common.core.domain.BaseDto;
import com.ccsens.common.core.domain.JsonResponse;
import com.ccsens.system.domain.dto.PmsPatientDto;
import com.ccsens.system.domain.dto.RmsDto;
import com.ccsens.system.domain.vo.RmsVo;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@ -16,6 +20,9 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.List;
import static com.github.pagehelper.page.PageMethod.startPage;
/**
* @author zy
@ -32,9 +39,10 @@ public class ReportPdfController {
@Anonymous
@ApiOperation(value = "通过就诊号查询患者的评估报告单",notes = "")
@PostMapping(value="/reportPDF")
public JsonResponse<String> generate(@RequestBody @ApiParam @Valid RmsDto.ReportPDF dto){
public JsonResponse<PageInfo<RmsVo.ReportPDF>> generate(@RequestBody @Validated BaseDto<RmsDto.ReportPDF> dto){
log.info("通过就诊号查询患者的评估报告单:{}", dto);
String url = rmsService.viewReportPDF(dto);
return JsonResponse.ok(url);
startPage(dto);
List<RmsVo.ReportPDF> list = rmsService.viewReportPDF(dto.getParam());
return JsonResponse.ok(new PageInfo<>(list));
}
}

4
ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/persist/dao/RmsDao.java

@ -88,4 +88,8 @@ public interface RmsDao {
* @return
*/
List<AmsVo.QuestionRecordDto> queryRecord(@Param("evaluationId")Long evaluationId, @Param("questionId")Long questionId);
List<RmsVo.ReportPDF> viewReportPdfByVisitNo(@Param("visitNo")String visitNo);
List<RmsVo.ReportPDF> viewReportPdfByPatientNo(@Param("patientNo")String patientNo);
}

2
ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/IRmsService.java

@ -38,7 +38,7 @@ public interface IRmsService {
Workbook exportAnalyse(List<Long> ids);
String viewReportPDF(RmsDto.ReportPDF dto);
List<RmsVo.ReportPDF> viewReportPDF(RmsDto.ReportPDF dto);
}

20
ruisi_java/ruisi-web-admin/src/main/java/com/ccsens/admin/service/impl/RmsServiceImpl.java

@ -930,22 +930,12 @@ public class RmsServiceImpl implements IRmsService {
}
@Override
public String viewReportPDF(RmsDto.ReportPDF dto) {
if(StrUtil.isBlank(dto.getPatientNo())){
throw new ServiceException("患者就诊号不能为空");
public List<RmsVo.ReportPDF> viewReportPDF(RmsDto.ReportPDF dto) {
if(StrUtil.isNotBlank(dto.getVisitNo())){
return rmsDao.viewReportPdfByVisitNo(dto.getVisitNo());
}else{
return rmsDao.viewReportPdfByPatientNo(dto.getPatientNo());
}
//根据就诊流水号查询患者的
RmsReport report;
RmsReportExample example = new RmsReportExample();
example.createCriteria().andVisitNoEqualTo(dto.getPatientNo()).andDelFlagEqualTo((byte) 0);
List<RmsReport> reports = rmsReportMapper.selectByExample(example);
if (CollectionUtil.isNotEmpty(reports)) {
report = reports.get(0);
if(ObjectUtil.isNotNull(report)){
return report.getUrl();
}
}
return null;
}
private void dealMMSEScored(List<RmsVo.Analyse> analyses) {

48
ruisi_java/ruisi-web-admin/src/main/resources/mapper/dao/RmsDao.xml

@ -1183,4 +1183,52 @@
</where>
order by r.sort
</select>
<select id="viewReportPdfByVisitNo" resultType="com.ccsens.system.domain.vo.RmsVo$ReportPDF">
SELECT
p.name as patientName,
p.sex,
r.patient_age as age,
b.outpatient_no as visitNo,
u.nick_name as assessor,
FROM_UNIXTIME(r.report_time /1000, '%Y-%m-%d') as assessTime,
r.url
FROM
rms_report r
LEFT JOIN pms_patient_body b on b.outpatient_no = r.visit_no
LEFT JOIN pms_patient p on b.patient_id = p.id
LEFT JOIN ems_evaluation e on r.evaluation_id = e.id and e.del_flag = 0
LEFT JOIN ums_user u on e.tester_id = u.user_id
WHERE
r.del_flag = 0
and p.del_flag = 0
and r.visit_no = #{visitNo}
GROUP BY r.id
</select>
<select id="viewReportPdfByPatientNo" resultType="com.ccsens.system.domain.vo.RmsVo$ReportPDF">
SELECT
p.name as patientName,
p.sex,
r.patient_age as age,
r.visit_no as visitNo,
u.nick_name as assessor,
FROM_UNIXTIME(r.report_time /1000, '%Y-%m-%d') as assessTime,
r.url
FROM
rms_report r
LEFT JOIN pms_patient_body b on b.outpatient_no = r.visit_no
LEFT JOIN pms_patient p on b.patient_id = p.id
LEFT JOIN ems_evaluation e on r.evaluation_id = e.id and e.del_flag = 0
LEFT JOIN ums_user u on e.tester_id = u.user_id
WHERE
r.del_flag = 0
and p.del_flag = 0
and p.patient_no = #{patientNo}
GROUP BY r.id
</select>
</mapper>
Loading…
Cancel
Save