<?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="com.dg.core.db.gen.mapper.GuideRepairOrderMapper">
|
|
<resultMap type="com.dg.core.db.gen.entity.GuideRepairOrder" id="GuideRepairOrderResult">
|
<id property="id" column="id" />
|
<id property="orderNum" column="order_num" />
|
<id property="matterId" column="matter_id" />
|
<id property="matterName" column="matter_name" />
|
<id property="departmentId" column="department_id" />
|
<id property="classifyId" column="classify_id" />
|
<id property="consultContent" column="consult_content" />
|
<id property="consultUserName" column="consult_user_name" />
|
<id property="submitUserId" column="submit_user_id" />
|
<id property="guideUserId" column="guide_user_id" />
|
<id property="guideDepartmentId" column="guide_department_id" />
|
<id property="state" column="state" />
|
<id property="consultUserPhone" column="consult_user_phone" />
|
<id property="submitUserPhone" column="submit_user_phone" />
|
<id property="guideUserPhone" column="guide_user_phone" />
|
<id property="areaCode" column="area_code" />
|
<id property="detailedAddress" column="detailed_address" />
|
<id property="createTime" column="create_time" />
|
<id property="updateTime" column="update_time" />
|
<id property="evaluateContent" column="evaluate_content" />
|
<id property="suggest" column="suggest" />
|
<id property="evaluateState" column="evaluate_state" />
|
<id property="serviceState" column="service_state" />
|
<id property="images" column="images" />
|
<id property="video" column="video" />
|
<id property="isTimeout" column="is_timeout" />
|
<id property="submitType" column="submit_type" />
|
<id property="timeoutTime" column="timeout_time" />
|
<id property="isPush" column="is_push" />
|
<id property="isHideComments" column="is_hide_comments" />
|
<id property="isRemindPush" column="is_remind_push" />
|
|
</resultMap>
|
|
<sql id="selectGuideRepairOrderVo">
|
SELECT
|
id,
|
order_num,
|
matter_id,
|
submit_type,
|
matter_name,
|
timeout_time,
|
is_hide_comments,
|
is_push,
|
(select organization_name from automessage_organization_chart where a.department_id=id)organizationName,
|
concat(
|
(select classify_name from automessage_classify_administration where id=(select parent_id from automessage_classify_administration where id=a.classify_id)),
|
'-',(select classify_name from automessage_classify_administration where id=a.classify_id)
|
) sumClassifyName,
|
department_id,
|
classify_id,
|
consult_content,
|
concat((IFNULL(consult_user_name,'')),(IFNULL(consult_user_phone,''))) consultUser,
|
consult_user_name,
|
concat((IFNULL((select user_name from automessage_sys_user where a.submit_user_id=user_id ),'')), (IFNULL(submit_user_phone,''))) submitUser,
|
submit_user_id,
|
concat((IFNULL((select user_name from automessage_sys_user where a.guide_user_id=user_id ),'')), (ifnull(guide_user_phone,''))) guideUser,
|
guide_user_id,
|
(select organization_name from automessage_organization_chart where a.guide_department_id=id)guideDepartmentName,
|
guide_department_id,
|
state,
|
consult_user_phone,
|
submit_user_phone,
|
guide_user_phone,
|
(select name from automessage_area_code_2022 where code=a.area_code)areaName,
|
area_code,
|
detailed_address,
|
create_time,
|
update_time,
|
evaluate_content,
|
suggest,
|
evaluate_state,
|
service_state,
|
video,
|
images,
|
is_timeout
|
FROM
|
automessage_guide_repair_order a
|
</sql>
|
|
<select id="selectConfigList" resultMap="GuideRepairOrderResult">
|
<include refid="selectGuideRepairOrderVo"/>
|
<where>
|
<if test="ids != null">
|
and guide_department_id IN
|
<foreach collection="ids" item="param" open="(" close=")" separator=",">
|
#{param}
|
</foreach>
|
</if>
|
<if test="guideUserId != null and guideUserId != ''">
|
AND a.guide_user_id=#{guideUserId}
|
</if>
|
<if test="matterName != null and matterName != ''">
|
AND (
|
(matter_name like concat('%', #{matterName}, '%')) or
|
( classify_id in ( SELECT id FROM automessage_classify_administration WHERE classify_name like concat('%', #{matterName}, '%') ) )
|
or (classify_id in (SELECT id FROM automessage_classify_administration WHERE automessage_classify_administration.parent_id in
|
(SELECT id FROM automessage_classify_administration WHERE classify_name like concat('%', #{matterName}, '%')))
|
or (select user_name from automessage_sys_user where a.guide_user_id=automessage_sys_user.user_id ) like concat('%', #{matterName}, '%')
|
or order_num like concat('%', #{matterName}, '%') or
|
(select user_name from automessage_sys_user where a.submit_user_id=automessage_sys_user.user_id ) like concat('%', #{matterName}, '%')
|
or consult_user_name like concat('%', #{matterName}, '%') or
|
guide_department_id in (SELECT id FROM automessage_organization_chart WHERE organization_name like concat('%', #{matterName}, '%') ) )
|
)
|
</if>
|
<if test="status != null and status != ''">
|
AND a.state=#{status}
|
</if>
|
<if test="createTimeStartTime != null and createTimeStartTime != ''">
|
and create_time > #{createTimeStartTime}
|
</if>
|
<if test="createTimeTimeEndTime != null and createTimeTimeEndTime != ''">
|
and #{createTimeTimeEndTime} > create_time
|
</if>
|
<if test="classifyId != null and classifyId != ''">
|
and classify_id in (select id FROM automessage_classify_administration where parent_id = #{classifyId})
|
</if>
|
|
</where>
|
order by update_time desc , create_time desc
|
</select>
|
|
<select id="countConfigList" resultType="integer">
|
select count(id) from automessage_guide_repair_order
|
<where>
|
<if test="ids != null">
|
and guide_department_id IN
|
<foreach collection="ids" item="param" open="(" close=")" separator=",">
|
#{param}
|
</foreach>
|
</if>
|
<if test="guideUserId != null and guideUserId != ''">
|
AND automessage_guide_repair_order.guide_user_id=#{guideUserId}
|
</if>
|
<if test="matterName != null and matterName != ''">
|
AND (
|
(matter_name like concat('%', #{matterName}, '%')) or
|
( classify_id in ( SELECT id FROM automessage_classify_administration WHERE classify_name like concat('%', #{matterName}, '%') ) )
|
or (classify_id in (SELECT id FROM automessage_classify_administration WHERE automessage_classify_administration.parent_id in
|
(SELECT id FROM automessage_classify_administration WHERE classify_name like concat('%', #{matterName}, '%')))
|
or (select user_name from automessage_sys_user where automessage_guide_repair_order.guide_user_id=automessage_sys_user.user_id ) like concat('%', #{matterName}, '%')
|
or order_num like concat('%', #{matterName}, '%') or
|
(select user_name from automessage_sys_user where automessage_guide_repair_order.submit_user_id=automessage_sys_user.user_id ) like concat('%', #{matterName}, '%')
|
or consult_user_name like concat('%', #{matterName}, '%') or
|
guide_department_id in (SELECT id FROM automessage_organization_chart WHERE organization_name like concat('%', #{matterName}, '%') ) )
|
)
|
</if>
|
<if test="status != null and status != ''">
|
AND automessage_guide_repair_order.state=#{status}
|
</if>
|
|
</where>
|
</select>
|
|
<select id="selectConfigData" resultMap="GuideRepairOrderResult">
|
<include refid="selectGuideRepairOrderVo"/>
|
<where>
|
<if test="Id != null and Id != ''">
|
AND id=#{Id}
|
</if>
|
<if test="orderNum != null and orderNum != ''">
|
AND order_num=#{orderNum}
|
</if>
|
</where>
|
</select>
|
|
|
<select id="selectBySubmitId" resultMap="GuideRepairOrderResult">
|
<include refid="selectGuideRepairOrderVo"/>
|
where submit_user_id=#{id} and ( state not in (3,5) or ( state in (3,5) and 60>datediff(now(),create_time)
|
)) order by create_time desc
|
</select>
|
|
|
|
<update id="updateConfig" parameterType="com.dg.core.db.gen.entity.GuideRepairOrder">
|
update automessage_guide_repair_order
|
<set>
|
<if test="guideUserId != null and guideUserId != '' ">guide_user_id=#{guideUserId},</if>
|
<if test="guideDepartmentId != null and guideDepartmentId != '' ">guide_department_id=#{guideDepartmentId},</if>
|
<if test="state != null and state != '' ">state=#{state},</if>
|
<if test="guideUserPhone != null and guideUserPhone != '' ">guide_user_phone=#{guideUserPhone},</if>
|
<if test="evaluateState != null and evaluateState != '' ">evaluate_state=#{evaluateState},</if>
|
<if test="evaluateContent != null and evaluateContent != '' ">evaluate_content=#{evaluateContent},</if>
|
<if test="suggest != null and suggest != '' ">suggest=#{suggest},</if>
|
<if test="serviceState != null ">service_state=#{serviceState},</if>
|
<if test="isTimeout != null ">is_timeout=#{isTimeout},</if>
|
<if test="timeoutTime != null ">timeout_time=#{timeoutTime},</if>
|
update_time=sysdate()
|
</set>
|
where id= #{id}
|
</update>
|
|
<select id="countNum" resultType="integer">
|
select count(id) from automessage_guide_repair_order
|
</select>
|
|
|
<select id="countUser" resultType="integer">
|
select count(id) from automessage_guide_repair_order
|
<where>
|
<if test="userId != null and userId != ''">
|
AND guide_user_id=#{userId}
|
</if>
|
<if test="state != null and state != ''">
|
AND automessage_guide_repair_order.state = #{state}
|
</if>
|
</where>
|
</select>
|
|
|
<delete id="deleteConfigById" parameterType="string">
|
delete from automessage_guide_repair_order where id= #{Id}
|
</delete>
|
|
|
|
<!-- 首页统计 勿动 -->
|
<select id="countStatisticsNum" parameterType="string" resultType="integer">
|
select count(id) from automessage_guide_repair_order
|
<where>
|
<if test="state != null and state != ''">
|
automessage_guide_repair_order.state=#{state}
|
</if>
|
<if test="isTimeout != null and isTimeout != ''">
|
and is_timeout=#{isTimeout}
|
</if>
|
<if test="evaluateState != null and evaluateState != ''">
|
and evaluate_state=#{evaluateState}
|
</if>
|
<if test="guideUserId != null and guideUserId != ''">
|
AND guide_user_id=#{guideUserId}
|
</if>
|
<if test="ids != null">
|
and guide_department_id IN
|
<foreach collection="ids" item="param" open="(" close=")" separator=",">
|
#{param}
|
</foreach>
|
</if>
|
<if test="classifyIds != null">
|
and classify_id IN
|
<foreach collection="classifyIds" item="param" open="(" close=")" separator=",">
|
#{param}
|
</foreach>
|
</if>
|
<if test="serviceState != null and serviceState != ''">
|
and automessage_guide_repair_order.service_state=#{serviceState}
|
</if>
|
<if test="time != null and time == 1 ">
|
and to_days(automessage_guide_repair_order.create_time) = to_days(now())
|
</if>
|
<if test="time != null and time == 2 ">
|
and TO_DAYS(NOW()) - TO_DAYS(automessage_guide_repair_order.create_time) = 1
|
</if>
|
<if test="time != null and time == 3 ">
|
and DATE_FORMAT( automessage_guide_repair_order.create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
|
</if>
|
<if test="time != null and time == 4 ">
|
and YEAR(automessage_guide_repair_order.create_time)=YEAR(NOW())
|
</if>
|
</where>
|
</select>
|
<!-- 首页统计 勿动 -->
|
<select id="countListNum" resultType="com.dg.core.db.gen.entity.CountListNum">
|
select create_time,count(id) as num from automessage_guide_repair_order
|
<where>
|
<if test="state != null and state != ''">
|
automessage_guide_repair_order.state=#{state}
|
</if>
|
<if test="ids != null">
|
and guide_department_id IN
|
<foreach collection="ids" item="param" open="(" close=")" separator=",">
|
#{param}
|
</foreach>
|
</if>
|
</where>
|
GROUP BY
|
date_format(create_time,'%y%m%d')
|
ORDER BY
|
create_time DESC
|
LIMIT #{time}
|
</select>
|
|
<select id="selectOvertime" resultMap="GuideRepairOrderResult">
|
<include refid="selectGuideRepairOrderVo"/>
|
<where>
|
state=2 and is_push=2 and SYSDATE()>timeout_time and 1>(select count(*) from automessage_guide_evolve where state=9 and a.id=guide_id )
|
</where>
|
</select>
|
|
<select id="selectNoticeTime" resultMap="GuideRepairOrderResult">
|
<include refid="selectGuideRepairOrderVo"/>
|
<where>
|
state=2 and is_remind_push=2 and SYSDATE()>subdate(timeout_time, interval ${minute} minute ) and 1>(select count(*) from automessage_guide_evolve where state=9 and a.id=guide_id )
|
</where>
|
</select>
|
<select id="selectEvaluate" resultMap="GuideRepairOrderResult">
|
<include refid="selectGuideRepairOrderVo"/>
|
<where>
|
state=4 and datediff(now(),update_time)>=1
|
</where>
|
</select>
|
|
|
|
|
|
</mapper>
|