From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能

---
 java110-db/src/main/resources/mapper/user/UserQuestionAnswerServiceDaoImplMapper.xml |  237 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 133 insertions(+), 104 deletions(-)

diff --git a/java110-db/src/main/resources/mapper/user/UserQuestionAnswerServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/user/UserQuestionAnswerServiceDaoImplMapper.xml
old mode 100644
new mode 100755
index fc72388..9ced418
--- a/java110-db/src/main/resources/mapper/user/UserQuestionAnswerServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/user/UserQuestionAnswerServiceDaoImplMapper.xml
@@ -5,129 +5,158 @@
 <mapper namespace="userQuestionAnswerServiceDaoImpl">
 
 
-
-
-
     <!-- 淇濆瓨绛斿嵎淇℃伅 add by wuxw 2018-07-03 -->
     <insert id="saveUserQuestionAnswerInfo" parameterType="Map">
         insert into user_question_answer(
-score,evaluation_score,obj_id,user_qa_id,person_id,state,obj_type,qa_id
-) values (
-#{score},#{evaluationScore},#{objId},#{userQaId},#{personId},#{state},#{objType},#{qaId}
-)
+        score,evaluation_score,obj_id,user_qa_id,person_id,state,obj_type,qa_id
+        ) values (
+        #{score},#{evaluationScore},#{objId},#{userQaId},#{personId},#{state},#{objType},#{qaId}
+        )
     </insert>
-
 
 
     <!-- 鏌ヨ绛斿嵎淇℃伅 add by wuxw 2018-07-03 -->
     <select id="getUserQuestionAnswerInfo" parameterType="Map" resultType="Map">
-        select  t.score,t.evaluation_score,t.evaluation_score evaluationScore,t.obj_id,t.obj_id objId,t.user_qa_id,t.user_qa_id userQaId,t.person_id,t.person_id personId,t.status_cd,t.status_cd statusCd,t.state,t.obj_type,t.obj_type objType,t.qa_id,t.qa_id qaId 
-from user_question_answer t 
-where 1 =1 
-<if test="score !=null and score != ''">
-   and t.score= #{score}
-</if> 
-<if test="evaluationScore !=null and evaluationScore != ''">
-   and t.evaluation_score= #{evaluationScore}
-</if> 
-<if test="objId !=null and objId != ''">
-   and t.obj_id= #{objId}
-</if> 
-<if test="userQaId !=null and userQaId != ''">
-   and t.user_qa_id= #{userQaId}
-</if> 
-<if test="personId !=null and personId != ''">
-   and t.person_id= #{personId}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="state !=null and state != ''">
-   and t.state= #{state}
-</if> 
-<if test="objType !=null and objType != ''">
-   and t.obj_type= #{objType}
-</if> 
-<if test="qaId !=null and qaId != ''">
-   and t.qa_id= #{qaId}
-</if> 
-order by t.create_time desc
-<if test="page != -1 and page != null ">
-   limit #{page}, #{row}
-</if> 
+        SELECT
+            t.qa_name qaName,
+            t.qa_type qaType,
+            t.start_time startTime,
+            t.end_time endTime,
+            t.remark,
+            t.obj_type objType,
+            t.obj_id objId,
+            t.qa_id qaId,
+            td.`name` qaTypeName,
+            uqa.score,
+            uqa.evaluation_score evaluationScore,
+            uqa.user_qa_id userQaId,
+            uqa.person_id personId,
+            uu.name personName,
+            uqa.state
+        FROM
+            question_answer t
+            LEFT JOIN user_question_answer uqa ON t.qa_id = uqa.qa_id AND t.obj_type = uqa.obj_type AND t.obj_id = uqa.obj_id AND uqa.status_cd = '0'
+            left join u_user uu on uqa.person_id = uu.user_id and uu.status_cd = '0'
+            LEFT JOIN t_dict td ON td.status_cd = t.qa_type AND td.table_name = 'question_answer' AND td.table_columns = 'qa_type'
+        WHERE
+        <if test="personId !=null and personId != ''">
+            (
+            uqa.person_id IS NULL
+            OR uqa.person_id = #{personId}
+            )
+        </if>
+        <if test="userQaId !=null and userQaId != ''">
+            and uqa.user_qa_id= #{userQaId}
+        </if>
+        <if test="state !=null and state != ''">
+            and uqa.state= #{state}
+        </if>
+        <if test="qaId !=null and qaId != ''">
+            and t.qa_id= #{qaId}
+        </if>
+        <if test="qaName !=null and qaName != ''">
+            and t.qa_name= #{qaName}
+        </if>
+        <if test="objType !=null and objType != ''">
+            and t.obj_type= #{objType}
+        </if>
+        <if test="objId !=null and objId != ''">
+            and t.obj_id= #{objId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="qaTypes !=null ">
+            and t.qa_type in
+            <foreach collection="qaTypes" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        order by t.create_time desc
+        <if test="page != -1 and page != null ">
+            limit #{page}, #{row}
+        </if>
 
     </select>
 
 
-
-
     <!-- 淇敼绛斿嵎淇℃伅 add by wuxw 2018-07-03 -->
     <update id="updateUserQuestionAnswerInfo" parameterType="Map">
-        update  user_question_answer t set t.status_cd = #{statusCd}
-<if test="newBId != null and newBId != ''">
-,t.b_id = #{newBId}
-</if> 
-<if test="score !=null and score != ''">
-, t.score= #{score}
-</if> 
-<if test="evaluationScore !=null and evaluationScore != ''">
-, t.evaluation_score= #{evaluationScore}
-</if> 
-<if test="objId !=null and objId != ''">
-, t.obj_id= #{objId}
-</if> 
-<if test="personId !=null and personId != ''">
-, t.person_id= #{personId}
-</if> 
-<if test="state !=null and state != ''">
-, t.state= #{state}
-</if> 
-<if test="objType !=null and objType != ''">
-, t.obj_type= #{objType}
-</if> 
-<if test="qaId !=null and qaId != ''">
-, t.qa_id= #{qaId}
-</if> 
- where 1=1 <if test="userQaId !=null and userQaId != ''">
-and t.user_qa_id= #{userQaId}
-</if> 
+        update user_question_answer t set t.status_cd = #{statusCd}
+        <if test="newBId != null and newBId != ''">
+            ,t.b_id = #{newBId}
+        </if>
+        <if test="score !=null and score != ''">
+            , t.score= #{score}
+        </if>
+        <if test="evaluationScore !=null and evaluationScore != ''">
+            , t.evaluation_score= #{evaluationScore}
+        </if>
+        <if test="objId !=null and objId != ''">
+            , t.obj_id= #{objId}
+        </if>
+        <if test="personId !=null and personId != ''">
+            , t.person_id= #{personId}
+        </if>
+        <if test="state !=null and state != ''">
+            , t.state= #{state}
+        </if>
+        <if test="objType !=null and objType != ''">
+            , t.obj_type= #{objType}
+        </if>
+        <if test="qaId !=null and qaId != ''">
+            , t.qa_id= #{qaId}
+        </if>
+        where 1=1
+        <if test="userQaId !=null and userQaId != ''">
+            and t.user_qa_id= #{userQaId}
+        </if>
 
     </update>
 
     <!-- 鏌ヨ绛斿嵎鏁伴噺 add by wuxw 2018-07-03 -->
-     <select id="queryUserQuestionAnswersCount" parameterType="Map" resultType="Map">
-        select  count(1) count 
-from user_question_answer t 
-where 1 =1 
-<if test="score !=null and score != ''">
-   and t.score= #{score}
-</if> 
-<if test="evaluationScore !=null and evaluationScore != ''">
-   and t.evaluation_score= #{evaluationScore}
-</if> 
-<if test="objId !=null and objId != ''">
-   and t.obj_id= #{objId}
-</if> 
-<if test="userQaId !=null and userQaId != ''">
-   and t.user_qa_id= #{userQaId}
-</if> 
-<if test="personId !=null and personId != ''">
-   and t.person_id= #{personId}
-</if> 
-<if test="statusCd !=null and statusCd != ''">
-   and t.status_cd= #{statusCd}
-</if> 
-<if test="state !=null and state != ''">
-   and t.state= #{state}
-</if> 
-<if test="objType !=null and objType != ''">
-   and t.obj_type= #{objType}
-</if> 
-<if test="qaId !=null and qaId != ''">
-   and t.qa_id= #{qaId}
-</if> 
+    <select id="queryUserQuestionAnswersCount" parameterType="Map" resultType="Map">
+        select count(1) count
+        FROM
+        question_answer t
+        LEFT JOIN user_question_answer uqa ON t.qa_id = uqa.qa_id AND t.obj_type = uqa.obj_type AND t.obj_id = uqa.obj_id AND uqa.status_cd = '0'
+        LEFT JOIN t_dict td ON td.status_cd = t.qa_type AND td.table_name = 'question_answer' AND td.table_columns = 'qa_type'
+        WHERE
+        <if test="personId !=null and personId != ''">
+            (
+            uqa.person_id IS NULL
+            OR uqa.person_id = #{personId}
+            )
+        </if>
+        <if test="userQaId !=null and userQaId != ''">
+            and uqa.user_qa_id= #{userQaId}
+        </if>
+        <if test="state !=null and state != ''">
+            and uqa.state= #{state}
+        </if>
+        <if test="qaId !=null and qaId != ''">
+            and t.qa_id= #{qaId}
+        </if>
+        <if test="qaName !=null and qaName != ''">
+            and t.qa_name= #{qaName}
+        </if>
+        <if test="objType !=null and objType != ''">
+            and t.obj_type= #{objType}
+        </if>
+        <if test="objId !=null and objId != ''">
+            and t.obj_id= #{objId}
+        </if>
+        <if test="statusCd !=null and statusCd != ''">
+            and t.status_cd= #{statusCd}
+        </if>
+        <if test="qaTypes !=null ">
+            and t.qa_type in
+            <foreach collection="qaTypes" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
 
 
-     </select>
+    </select>
 
 </mapper>

--
Gitblit v1.8.0