chengf
2026-01-30 b8bf2507bc7b23c90bc6dc71ea2460e277d3800a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="questionTitleValueV1ServiceDaoImpl">
 
 
    <!-- 保存问卷题目选项信息 add by wuxw 2018-07-03 -->
    <insert id="saveQuestionTitleValueInfo" parameterType="Map">
        insert into question_title_value(
        score,value_id,title_id,community_id,qa_value,seq
        ) values (
        #{score},#{valueId},#{titleId},#{communityId},#{qaValue},#{seq}
        )
    </insert>
 
 
    <!-- 查询问卷题目选项信息 add by wuxw 2018-07-03 -->
    <select id="getQuestionTitleValueInfo" parameterType="Map" resultType="Map">
        select t.score,t.value_id,t.value_id valueId,t.title_id,t.title_id titleId,t.status_cd,t.status_cd
        statusCd,t.community_id,t.community_id communityId,t.qa_value,t.qa_value qaValue,t.seq,count(uqav.user_qa_id) personCount
        from question_title_value t
        left join user_question_answer_value uqav on  t.value_id = uqav.value_id and t.title_id = uqav.title_id and uqav.status_cd = '0'
        where 1 =1
        <if test="score !=null and score != ''">
            and t.score= #{score}
        </if>
        <if test="valueId !=null and valueId != ''">
            and t.value_id= #{valueId}
        </if>
        <if test="titleId !=null and titleId != ''">
            and t.title_id= #{titleId}
        </if>
        <if test="titleIds !=null">
            and t.title_id in
            <foreach collection="titleIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="qaValue !=null and qaValue != ''">
            and t.qa_value= #{qaValue}
        </if>
        <if test="seq !=null and seq != ''">
            and t.seq= #{seq}
        </if>
        group by t.score,t.value_id,t.title_id,t.status_cd,t.community_id,t.qa_value,t.seq
        order by t.seq
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
 
    </select>
 
 
    <!-- 修改问卷题目选项信息 add by wuxw 2018-07-03 -->
    <update id="updateQuestionTitleValueInfo" parameterType="Map">
        update question_title_value 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="qaValue !=null and qaValue != ''">
            , t.qa_value= #{qaValue}
        </if>
        <if test="seq !=null and seq != ''">
            , t.seq= #{seq}
        </if>
        where 1=1
        <if test="valueId !=null and valueId != ''">
            and t.value_id= #{valueId}
        </if>
        <if test="titleId !=null and titleId != ''">
            and t.title_id= #{titleId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
 
    </update>
 
    <!-- 查询问卷题目选项数量 add by wuxw 2018-07-03 -->
    <select id="queryQuestionTitleValuesCount" parameterType="Map" resultType="Map">
        select count(1) count
        from question_title_value t
        where 1 =1
        <if test="score !=null and score != ''">
            and t.score= #{score}
        </if>
        <if test="valueId !=null and valueId != ''">
            and t.value_id= #{valueId}
        </if>
        <if test="titleId !=null and titleId != ''">
            and t.title_id= #{titleId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="qaValue !=null and qaValue != ''">
            and t.qa_value= #{qaValue}
        </if>
        <if test="seq !=null and seq != ''">
            and t.seq= #{seq}
        </if>
 
 
    </select>
 
    <select id="queryQuestionOwnerTitleValues" parameterType="Map" resultType="Map">
        select qt.qa_title qaTitle,qt.title_id titleId, qt.title_type titleType,qa.qa_id qaId,t.qa_value qaValue,t.seq,count(uqav.user_qa_id) personCount
        from question_title_value t
        inner join question_title qt on t.title_id = qt.title_id and qt.status_cd = '0'
        inner join question_answer_title_rel qatr on t.title_id = qatr.title_id and qatr.status_cd = '0'
        inner join question_answer qa on qatr.qa_id = qa.qa_id and qa.status_cd = '0'
        left join user_question_answer_value uqav on qa.qa_id = uqav.qa_id and t.value_id = uqav.value_id and t.title_id = uqav.title_id and uqav.status_cd = '0'
        where 1=1
 
        and t.community_id = #{communityId}
        <if test="titleId !=null and titleId != ''">
            and t.title_id= #{titleId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="qaIds !=null">
            and qa.qa_id in
            <foreach collection="qaIds" item="item" index="index" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        group by qt.qa_title,qt.title_id , qt.title_type,qa.qa_id,t.qa_value,t.seq
        order by t.seq
 
 
    </select>
</mapper>