integrated_traffic/src/main/resources/mybatis/datasource/comprehensive/TrafficSecurityNoticeMapper...

243 lines
5.9 KiB
XML

<?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.zcloud.mapper.datasource.comprehensive.TrafficSecurityNoticeMapper">
<!--表名 -->
<sql id="tableName">
BUS_TRAFFIC_COMPREHENSIVEMANAGEMENT_SECURITYNOTICE
</sql>
<!--数据字典表名 -->
<sql id="dicTableName">
SYS_DICTIONARIES
</sql>
<!-- 字段 -->
<sql id="Field">
f.NOTIFICATION_ID,
f.TITLE,
f.LEVEL,
f.REPLY,
f.SIGNING,
f.TRANSPORTATIONCOMPANY,
f.PERSON_ID,
f.PERSON,
f.NOTIFICATIONCONTENT,
f.ISDELETE,
f.DELETOR,
f.DELETETIME,
f.CREATOR,
f.CREATORNAME,
f.CREATETIME,
f.OPERATOR,
f.OPERATORNAME,
f.OPERATTIME,
f.PRACTITIONER,
f.PRACTITIONERTYPE,
f.ATTACHMENT_ROUTE,
f.ATTACHMENT_NAME,
f.VIDEO_ROUTE,
f.VIDEO_NAME,
f.REPLYSTATUS,
f.POSTSTATUS
</sql>
<!-- 字段用于新增 -->
<sql id="Field2">
NOTIFICATION_ID,
TITLE,
LEVEL,
REPLY,
SIGNING,
TRANSPORTATIONCOMPANY,
PERSON_ID,
PERSON,
NOTIFICATIONCONTENT,
ISDELETE,
DELETOR,
DELETETIME,
CREATOR,
CREATORNAME,
CREATETIME,
OPERATOR,
OPERATORNAME,
OPERATTIME,
REPLYSTATUS,
PRACTITIONER,
PRACTITIONERTYPE,
ATTACHMENT_ROUTE,
ATTACHMENT_NAME,
VIDEO_ROUTE,
VIDEO_NAME,
POSTSTATUS
</sql>
<!-- 字段值 -->
<sql id="FieldValue">
#{NOTIFICATION_ID},
#{TITLE},
#{LEVEL},
#{REPLY},
#{SIGNING},
#{TRANSPORTATIONCOMPANY},
#{PERSON_ID},
#{PERSON},
#{NOTIFICATIONCONTENT},
#{ISDELETE},
#{DELETOR},
#{DELETETIME},
#{CREATOR},
#{CREATORNAME},
#{CREATETIME},
#{OPERATOR},
#{OPERATORNAME},
#{OPERATTIME},
#{REPLYSTATUS},
#{PRACTITIONER},
#{PRACTITIONERTYPE},
#{ATTACHMENT_ROUTE},
#{ATTACHMENT_NAME},
#{VIDEO_ROUTE},
#{VIDEO_NAME},
#{POSTSTATUS}
</sql>
<!-- 新增-->
<insert id="save" parameterType="pd">
insert into
<include refid="tableName"></include>
(
<include refid="Field2"></include>
) values (
<include refid="FieldValue"></include>
)
</insert>
<!-- 删除-->
<delete id="delete" parameterType="pd">
update
<include refid="tableName"></include>
set
ISDELETE = '1',
DELETOR = #{DELETOR},
DELETETIME = #{DELETETIME}
where
NOTIFICATION_ID = #{NOTIFICATION_ID}
</delete>
<!-- 修改 -->
<update id="edit" parameterType="pd">
update
<include refid="tableName"/> f
set
NOTIFICATION_ID = #{NOTIFICATION_ID},
TITLE = #{TITLE},
LEVEL = #{LEVEL},
REPLY = #{REPLY},
SIGNING = #{SIGNING},
TRANSPORTATIONCOMPANY = #{TRANSPORTATIONCOMPANY},
PERSON_ID = #{PERSON_ID},
PERSON = #{PERSON},
NOTIFICATIONCONTENT = #{NOTIFICATIONCONTENT},
ISDELETE = #{ISDELETE},
DELETOR = #{DELETOR},
DELETETIME = #{DELETETIME},
CREATOR = #{CREATOR},
CREATORNAME = #{CREATORNAME},
CREATETIME = #{CREATETIME},
OPERATOR = #{OPERATOR},
OPERATORNAME = #{OPERATORNAME},
OPERATTIME = #{OPERATTIME},
REPLYSTATUS = #{REPLYSTATUS},
PRACTITIONER = #{PRACTITIONER},
PRACTITIONERTYPE = #{PRACTITIONERTYPE},
ATTACHMENT_ROUTE = #{ATTACHMENT_ROUTE},
ATTACHMENT_NAME = #{ATTACHMENT_NAME},
VIDEO_ROUTE = #{VIDEO_ROUTE},
VIDEO_NAME = #{VIDEO_NAME},
POSTSTATUS = #{POSTSTATUS}
where
f.NOTIFICATION_ID = #{NOTIFICATION_ID}
</update>
<!--列表-->
<select id="datalistPage" parameterType="page" resultType="pd">
select
f.*,
i.CORP_NAME
from
<include refid="tableName"></include> f
left join bus_corp_info i on f.TRANSPORTATIONCOMPANY = i.CORPINFO_ID
where f.ISDELETE = '0'
<if test="pd.TITLE != null and pd.TITLE != ''"><!-- 关键词检索-通知标题 -->
and f.TITLE like CONCAT ('%',#{pd.TITLE},'%')
</if>
<if test="pd.REPLYSTATUS != null and pd.REPLYSTATUS != ''"><!-- 关键词检索-回复情况 -->
and f.REPLYSTATUS = #{pd.REPLYSTATUS}
</if>
<if test="pd.SIGNEDSTATUS != null and pd.SIGNEDSTATUS != ''"><!-- 关键词检索-签收情况 -->
and f.SIGNEDSTATUS = #{pd.SIGNEDSTATUS}
</if>
<if test="pd.PRACTITIONERTYPE != null and pd.PRACTITIONERTYPE != ''"><!-- 关键词检索-从业类型 -->
and f.PRACTITIONERTYPE = #{pd.PRACTITIONERTYPE}
</if>
<if test="pd.PRACTITIONER != null and pd.PRACTITIONER != ''"><!-- 关键词检索-从业人员 -->
and f.PRACTITIONER = #{pd.PRACTITIONER}
</if>
ORDER BY f.CREATETIME DESC
</select>
<select id="findById" resultType="com.zcloud.entity.PageData" parameterType="com.zcloud.entity.PageData">
select
<include refid="Field"></include>
from
<include refid="tableName"></include> f
where
f.NOTIFICATION_ID = #{NOTIFICATION_ID}
</select>
<select id="getAllNotifications" parameterType="page" resultType="pd">
select
<include refid="Field"></include>,
d.NAME as practitionerTypeName
from
<include refid="tableName"></include> f
left join <include refid="dicTableName"></include> d on f.PRACTITIONERTYPE = d.DICTIONARIES_ID
where f.ISDELETE = '0'
<if test="PERSON != null and PERSON != ''"><!-- 关键词检索-从业人员 -->
and f.PERSON = #{PERSON}
</if>
<if test="PRACTITIONERTYPE != null and PRACTITIONERTYPE != ''"><!-- 关键词检索-从业类型 -->
and f.PRACTITIONERTYPE = #{PRACTITIONERTYPE}
</if>
<if test="REPLYSTATUS != null and REPLYSTATUS != ''"><!-- 关键词检索-回复情况 -->
and f.REPLYSTATUS = #{REPLYSTATUS}
</if>
<if test="SIGNEDSTATUS != null and SIGNEDSTATUS != ''"><!-- 关键词检索-签收情况 -->
and f.SIGNEDSTATUS = #{SIGNEDSTATUS}
</if>
</select>
<select id="getRedPoint" parameterType="pd" resultType="int">
SELECT
count(*)
FROM
bus_traffic_read_detail u
LEFT JOIN bus_traffic_comprehensivemanagement_securitynotice c ON c.NOTIFICATION_ID = u.NOTIFICATION_ID
where u.PERSON_ID = #{USER_ID} and c.ISDELETE ='0'
</select>
<!-- 修改发布状态 -->
<update id="issueSecurityNotice" parameterType="pd">
update
<include refid="tableName"/> f
set
POSTSTATUS = '1'
where
f.NOTIFICATION_ID = #{NOTIFICATION_ID}
</update>
</mapper>