From fd8cd63f41c232a2880ba01828f8b14e5cae75e9 Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Fri, 7 May 2021 15:52:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=9E=90=E5=AF=BC=E5=87=BA=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ht/service/PatientReportService.java | 40 ++++++++++--------- .../mapper_dao/HtPatientReportDao.xml | 6 ++- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java b/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java index 23bdf02e..025114b6 100644 --- a/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java +++ b/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java @@ -798,6 +798,7 @@ public class PatientReportService implements IPatientReportService { hzQuery.setQuestionId(hzId); List patientCanvas = questionService.getCanvas(hzQuery, null); if (CollectionUtil.isNotEmpty(patientCanvas)) { + Integer height = patientCanvas.get(0).getCanvas().getHeight(); QuestionVo.Parameter parameters = patientCanvas.get(0).getParameters(); // 完成总时间 row.get(38).setValue(parameters.getTotalDuration() + "ms"); @@ -805,12 +806,12 @@ public class PatientReportService implements IPatientReportService { row.get(40).setValue(parameters.getReflectOnTime() + "ms"); row.get(44).setValue(String.valueOf(parameters.getLineParameterList().size())); row.get(45).setValue(String.valueOf(parameters.getAveTimes())); - row.get(46).setValue(pxToMm(parameters.getAveLength()) + "mm"); - row.get(47).setValue(pxToMm(parameters.getLongLine()) + "mm"); - row.get(51).setValue(pxToMm(parameters.getLongSpeed()) + "mm/s"); - row.get(52).setValue(pxToSquare(parameters.getMinCircleAcreage().doubleValue()) + "mm²"); - row.get(53).setValue(pxToMm(parameters.getShowCentreCoordinate().getX()) + "mm"); - row.get(54).setValue(pxToMm(parameters.getShowCentreCoordinate().getY()) + "mm"); + row.get(46).setValue(pxToMm(parameters.getAveLength(), height) + "mm"); + row.get(47).setValue(pxToMm(parameters.getLongLine(), height) + "mm"); + row.get(51).setValue(pxToMm(parameters.getLongSpeed() * 1000, height) + "mm/s"); + row.get(52).setValue(pxToSquare(parameters.getMinCircleAcreage().doubleValue(), height) + "mm²"); + row.get(53).setValue(pxToMm(parameters.getShowCentreCoordinate().getX(), height) + "mm"); + row.get(54).setValue(pxToMm(parameters.getShowCentreCoordinate().getY(), height) + "mm"); } Long simpleId = getQuestionId("EasyOne", 4); @@ -822,11 +823,11 @@ public class PatientReportService implements IPatientReportService { initSimple(row, analyse, simpleTwentyId, 101); } - public String pxToMm(double length) { - return new BigDecimal(144).multiply(new BigDecimal(length)).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).toString(); + public String pxToMm(double length, Integer height) { + return new BigDecimal(144).multiply(new BigDecimal(length)).divide(new BigDecimal(height), 2, BigDecimal.ROUND_HALF_UP).toString(); } - public String pxToSquare(double length) { - return new BigDecimal(144 * 144).multiply(new BigDecimal(length)).divide(new BigDecimal(100 * 100)).setScale(2, BigDecimal.ROUND_HALF_UP).toString(); + public String pxToSquare(double length, Integer height) { + return new BigDecimal(144 * 144).multiply(new BigDecimal(length)).divide(new BigDecimal(height * height), 2, BigDecimal.ROUND_HALF_UP).toString(); } private void initSimple(List row, PatientReportVo.Analyse analyse, Long simpleId, int startIndex) { @@ -836,20 +837,21 @@ public class PatientReportService implements IPatientReportService { List simpleCanvas = questionService.getCanvas(simpleQuery, null); if (CollectionUtil.isNotEmpty(simpleCanvas)) { QuestionVo.Parameter parameters = simpleCanvas.get(0).getParameters(); + Integer height = simpleCanvas.get(0).getCanvas().getHeight(); // 完成总时间 row.get(startIndex).setValue(parameters.getTotalDuration() + "ms"); row.get(startIndex + 1).setValue(parameters.getPaintTime() + "ms"); row.get(startIndex + 2).setValue(parameters.getReflectOnTime() + "ms"); row.get(startIndex + 3).setValue(String.valueOf(parameters.getLineParameterList().size())); - row.get(startIndex + 4).setValue(parameters.getAveTimes() + "ms"); - row.get(startIndex + 5).setValue(pxToMm(parameters.getAveLength()) + "mm"); - row.get(startIndex + 6).setValue(pxToMm(parameters.getLongLine()) + "mm"); - row.get(startIndex + 8).setValue(pxToMm(parameters.getLongSpeed()) + "mm/s"); - row.get(startIndex + 9).setValue(pxToSquare(parameters.getMinRectangleAcreage()) + "mm²"); - row.get(startIndex + 10).setValue(pxToMm(parameters.getShowCentreCoordinate().getX()) + "mm"); - row.get(startIndex + 11).setValue(pxToMm(parameters.getShowCentreCoordinate().getY()) + "mm"); - row.get(startIndex + 12).setValue(pxToMm(parameters.getRight().getX()) + "mm"); - row.get(startIndex + 13).setValue(pxToMm(parameters.getRight().getY()) + "mm"); + row.get(startIndex + 4).setValue(parameters.getAveTimes() + ""); + row.get(startIndex + 5).setValue(pxToMm(parameters.getAveLength(), height) + "mm"); + row.get(startIndex + 6).setValue(pxToMm(parameters.getLongLine(), height) + "mm"); + row.get(startIndex + 8).setValue(pxToMm(parameters.getLongSpeed() * 1000, height) + "mm/s"); + row.get(startIndex + 9).setValue(pxToSquare(parameters.getMinRectangleAcreage(), height) + "mm²"); + row.get(startIndex + 10).setValue(pxToMm(parameters.getShowCentreCoordinate().getX(), height) + "mm"); + row.get(startIndex + 11).setValue(pxToMm(parameters.getShowCentreCoordinate().getY(), height) + "mm"); + row.get(startIndex + 12).setValue(pxToMm(parameters.getRight().getX(), height) + "mm"); + row.get(startIndex + 13).setValue(pxToMm(parameters.getRight().getY(), height) + "mm"); row.get(startIndex + 15).setValue(String.valueOf(parameters.getLongNums())); row.get(startIndex + 16).setValue(String.valueOf(parameters.getShortNums())); row.get(startIndex + 17).setValue(parameters.getTransitionTime() + "ms"); diff --git a/ht/src/main/resources/mapper_dao/HtPatientReportDao.xml b/ht/src/main/resources/mapper_dao/HtPatientReportDao.xml index a07db687..375f239f 100644 --- a/ht/src/main/resources/mapper_dao/HtPatientReportDao.xml +++ b/ht/src/main/resources/mapper_dao/HtPatientReportDao.xml @@ -420,14 +420,16 @@ on report.id = mmse.mmseReportId left join -- MOCA - (select s.patient_report_id as mocaReportId, q.sort as mocaSort, s.score as mocaScore from + (select s.patient_report_id as mocaReportId, q.sort as mocaSort, sum(s.score) as mocaScore from (select * from t_ht_question where evaluation_code = 'MOCA' AND is_del = 0) q left join t_ht_patient_score s on q.id = s.question_id and s.patient_report_id in #{id} and s.type in (0, 2) - and s.is_del = 0 ) moca + and s.is_del = 0 + group by s.patient_report_id,q.sort + ) moca on report.id = moca.mocaReportId left join -- 总成绩