From 655a6794aec43ba707d559efda970bdfa71eabf5 Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Mon, 30 May 2022 08:56:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-test.yml | 2 +- .../resources/mapper_dao/QuestionnaireDao.xml | 67 +++++++------------ 2 files changed, 26 insertions(+), 43 deletions(-) diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 84c28bb..bac781d 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -52,4 +52,4 @@ wisdom: question: template: /home/cloud/carbasics/uploads/template/暴风眼问卷导出表格模板.xlsx pdftemplate: /home/cloud/carbasics/uploads/template/卒中绿色通道时间节点控制表form版备用.pdf - screeningUrl: https://test.tall.wiki/carbasics-1/screen-survey \ No newline at end of file + screeningUrl: https://test.tall.wiki/carbasics/screen-survey diff --git a/src/main/resources/mapper_dao/QuestionnaireDao.xml b/src/main/resources/mapper_dao/QuestionnaireDao.xml index 5dfb65b..e34c85b 100644 --- a/src/main/resources/mapper_dao/QuestionnaireDao.xml +++ b/src/main/resources/mapper_dao/QuestionnaireDao.xml @@ -175,9 +175,9 @@ r.answer, CASE 1 WHEN IF(LENGTH(r.answer) - LENGTH(REPLACE(r.answer,",","")) >= 2, 1, 0 ) THEN '1' - WHEN IF((FIND_IN_SET('09',r.answer) = 1) or (FIND_IN_SET('10',r.answer) = 1), 1, 0) THEN '1' - WHEN IF((FIND_IN_SET('01',r.answer) = 1) or (FIND_IN_SET('03',r.answer) = 1) or (FIND_IN_SET('04',r.answer) = 1), 1, 0) THEN '2' - WHEN IF((FIND_IN_SET('02',r.answer) = 1) or (FIND_IN_SET('05',r.answer) = 1) or (FIND_IN_SET('06',r.answer) = 1) or (FIND_IN_SET('07',r.answer) = 1) or (FIND_IN_SET('08',r.answer) = 1) , 1, 0) THEN '3' + WHEN IF((FIND_IN_SET('09',r.answer) > -1) or (FIND_IN_SET('10',r.answer) > -1), 1, 0) THEN '1' + WHEN IF((FIND_IN_SET('01',r.answer) > -1) or (FIND_IN_SET('03',r.answer) > -1) or (FIND_IN_SET('04',r.answer) > -1), 1, 0) THEN '2' + WHEN IF((FIND_IN_SET('02',r.answer) > -1) or (FIND_IN_SET('05',r.answer) > -1) or (FIND_IN_SET('06',r.answer) > -1) or (FIND_IN_SET('07',r.answer) > -1) or (FIND_IN_SET('08',r.answer) > -1) , 1, 0) THEN '3' ELSE '0' END as type FROM @@ -213,7 +213,14 @@ ( SELECT q.id, - q.submitTime + q.submitTime, + CASE 1 + WHEN IF(LENGTH(r1.answer) - LENGTH(REPLACE(r1.answer,",","")) >= 2, 1, 0 ) THEN '1' + WHEN IF((FIND_IN_SET('09',r1.answer) > -1) or (FIND_IN_SET('10',r1.answer) > -1), 1, 0) THEN '1' + WHEN IF((FIND_IN_SET('01',r1.answer) > -1) or (FIND_IN_SET('03',r1.answer) > -1) or (FIND_IN_SET('04',r1.answer) > -1), 1, 0) THEN '2' + WHEN IF((FIND_IN_SET('02',r1.answer) > -1) or (FIND_IN_SET('05',r1.answer) > -1) or (FIND_IN_SET('06',r1.answer) > -1) or (FIND_IN_SET('07',r1.answer) > -1) or (FIND_IN_SET('08',r1.answer) > -1) , 1, 0) THEN '3' + ELSE '0' + END as type FROM ( SELECT @@ -232,43 +239,14 @@ and qd.user_id = #{userId} and qd.submit_status = 1 ) q - LEFT JOIN t_qcp_questionnaire_record r - on q.id = r.questionnaire_detail_id and r.rec_status = 0 + LEFT JOIN t_qcp_questionnaire_record r1 + on q.id = r1.questionnaire_detail_id and r1.rec_status = 0 + LEFT JOIN t_qcp_questionnaire_record r2 ON q.id = r2.questionnaire_detail_id + AND r2.rec_status = 0 - and r.question_code = 'SCWJ-NAME' - and r.answer like CONCAT('%',#{name},'%') - - - and r.question_code = 'SCWJ-ILLNESS' - and - ( - LENGTH(r.answer) - LENGTH(REPLACE(r.answer,",","")) >= 2 - or (FIND_IN_SET('09',r.answer) = 1) - or (FIND_IN_SET('10',r.answer) = 1) - ) - - - and r.question_code = 'SCWJ-ILLNESS' - and LENGTH(r.answer) - LENGTH(REPLACE(r.answer,",","")) < 2 - and - ( - (FIND_IN_SET('01',r.answer) = 1) - or (FIND_IN_SET('03',r.answer) = 1) - or (FIND_IN_SET('04',r.answer) = 1) - ) - - - and r.question_code = 'SCWJ-ILLNESS' - and LENGTH(r.answer) - LENGTH(REPLACE(r.answer,",","")) < 2 - and - ( - (FIND_IN_SET('02',r.answer) = 1) - or (FIND_IN_SET('05',r.answer) = 1) - or (FIND_IN_SET('06',r.answer) = 1) - or (FIND_IN_SET('07',r.answer) = 1) - or (FIND_IN_SET('08',r.answer) = 1) - ) + and r2.question_code = 'SCWJ-NAME' + and r2.answer like CONCAT('%',#{name},'%') GROUP BY q.id @@ -276,6 +254,11 @@ LEFT JOIN t_qcp_questionnaire_record r1 on a.id = r1.questionnaire_detail_id and r1.question_code = 'SCWJ-NAME' and r1.rec_status = 0 LEFT JOIN t_qcp_questionnaire_record r2 on a.id = r2.questionnaire_detail_id and r2.question_code = 'SCWJ-PHONE'and r2.rec_status = 0 LEFT JOIN t_qcp_questionnaire_record r3 on a.id = r3.questionnaire_detail_id and r3.question_code = 'SCWJ-ILLNESS'and r3.rec_status = 0 + + where + a.type = #{type} + +