wuxw
2024-01-08 ff0fb0cea37179f3b7406548dcf290f15b79ec06
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
147
148
149
150
151
152
153
<?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="questionAnswerV1ServiceDaoImpl">
 
 
    <!-- 保存问卷投票信息 add by wuxw 2018-07-03 -->
    <insert id="saveQuestionAnswerInfo" parameterType="Map">
        insert into question_answer(
        qa_name,qa_type,start_time,remark,end_time,community_id,content,qa_id,state
        ) values (
        #{qaName},#{qaType},#{startTime},#{remark},#{endTime},#{communityId},#{content},#{qaId},#{state}
        )
    </insert>
 
 
    <!-- 查询问卷投票信息 add by wuxw 2018-07-03 -->
    <select id="getQuestionAnswerInfo" parameterType="Map" resultType="Map">
        select t.qa_name,t.qa_name qaName,t.qa_type,t.qa_type qaType,t.start_time,t.start_time
        startTime,t.remark,t.status_cd,t.status_cd statusCd,t.end_time,t.end_time endTime,t.community_id,t.community_id
        communityId,t.content,t.qa_id,t.qa_id qaId,t.create_time createTime,t.state,count(uqa1.user_qa_id) voteCount
        from question_answer t
        left join user_question_answer uqa1 on t.qa_id = uqa1.qa_id and uqa1.status_cd = '0'
        where 1 =1
        <if test="qaName !=null and qaName != ''">
            and t.qa_name= #{qaName}
        </if>
        <if test="qaType !=null and qaType != ''">
            and t.qa_type= #{qaType}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.start_time= #{startTime}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.end_time= #{endTime}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="content !=null and content != ''">
            and t.content= #{content}
        </if>
        <if test="qaId !=null and qaId != ''">
            and t.qa_id= #{qaId}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        group by t.qa_name,t.qa_type,t.start_time,t.remark,t.status_cd,t.end_time,t.community_id,t.content,t.qa_id,t.create_time,t.state
        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="updateQuestionAnswerInfo" parameterType="Map">
        update question_answer t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="qaName !=null and qaName != ''">
            , t.qa_name= #{qaName}
        </if>
        <if test="qaType !=null and qaType != ''">
            , t.qa_type= #{qaType}
        </if>
        <if test="startTime !=null and startTime != ''">
            , t.start_time= #{startTime}
        </if>
        <if test="remark !=null and remark != ''">
            , t.remark= #{remark}
        </if>
        <if test="endTime !=null and endTime != ''">
            , t.end_time= #{endTime}
        </if>
        <if test="state !=null and state != ''">
            , t.state= #{state}
        </if>
        <if test="content !=null and content != ''">
            , t.content= #{content}
        </if>
        where 1=1
        <if test="qaId !=null and qaId != ''">
            and t.qa_id= #{qaId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
 
    </update>
 
    <!-- 查询问卷投票数量 add by wuxw 2018-07-03 -->
    <select id="queryQuestionAnswersCount" parameterType="Map" resultType="Map">
        select count(1) count
        from question_answer t
        where 1 =1
        <if test="qaName !=null and qaName != ''">
            and t.qa_name= #{qaName}
        </if>
        <if test="qaType !=null and qaType != ''">
            and t.qa_type= #{qaType}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.start_time= #{startTime}
        </if>
        <if test="remark !=null and remark != ''">
            and t.remark= #{remark}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.end_time= #{endTime}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="content !=null and content != ''">
            and t.content= #{content}
        </if>
        <if test="qaId !=null and qaId != ''">
            and t.qa_id= #{qaId}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
 
 
    </select>
 
 
    <select id="queryVotedCountAndScore" parameterType="Map" resultType="Map">
        select qa_id qaId, count(1) votedCount,SUM(t.score) score
        from user_question_answer t
        where
        t.state = '1202'
        and t.qa_id in
        <foreach collection="qaIds" item="item" index="index" open="(" close=")" separator=",">
            #{item}
        </foreach>
        GROUP BY qa_id
    </select>
</mapper>