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}
+
+