integrated_traffic/src/main/resources/mybatis/datasource/taxationManage/TaxationManageMapper.xml

463 lines
13 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?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.taxationManage.TaxationManageMapper">
<!--表名 -->
<sql id="tableName">
BUS_TRAFFIC_TAXATION_MANAGE
</sql>
<!--数据字典表名 -->
<sql id="dicTableName">
SYS_DICTIONARIES
</sql>
<!-- 字段 -->
<sql id="Field">
f.TAXATION_ID,
f.RECORD_NUMBER,
f.CORPINFO_ID,
f.PLATE_NUMBER,
f.VEHICLEOWNER,
f.CONTACT_NUMBER,
f.TRANSACTION_DATA,
f.TAXESDUES_PERIOD,
f.EXPIRE_DATE,
f.REGISTRANT,
f.TRANSPORT_ENTERPRISES,
f.REMINDER_STATUS,
f.EXPIRE_STATUS,
f.ARCHIVES_TYPE,
f.TRAILER_VEHICLE,
f.FRAMES_NUMBER,
f.VEHICLE_TYPE,
f.VEHICLEOWNER_NUMBER,
f.FIRSTSHOW_DATE,
f.PROVINCE,
f.CITY,
f.COUNTY,
f.REMINDER_DAY,
f.REMINDER_DATA,
f.TAXESDUES_MATERIAL,
f.REMARK,
f.REGISTER_NUMBER,
f.VEHICLE_MODEL,
f.VEHICLE_BRAND,
f.DRIVINGLICENSE_PHOTO,
f.ISDELETE,
f.CREATOR,
f.CREATORNAME,
f.CREATTIME,
f.OPERATOR,
f.OPERATORNAME,
f.OPERATTIME,
f.DELETOR,
f.DELETORNAME,
f.DELETTIME,
f.FREIGHTTRAILER_ID
</sql>
<!-- 字段用于新增 -->
<sql id="Field2">
TAXATION_ID,
RECORD_NUMBER,
CORPINFO_ID,
PLATE_NUMBER,
VEHICLEOWNER,
CONTACT_NUMBER,
TRANSACTION_DATA,
TAXESDUES_PERIOD,
EXPIRE_DATE,
REGISTRANT,
TRANSPORT_ENTERPRISES,
REMINDER_STATUS,
EXPIRE_STATUS,
ARCHIVES_TYPE,
TRAILER_VEHICLE,
FRAMES_NUMBER,
VEHICLE_TYPE,
VEHICLEOWNER_NUMBER,
FIRSTSHOW_DATE,
PROVINCE,
CITY,
COUNTY,
REMINDER_DAY,
REMINDER_DATA,
TAXESDUES_MATERIAL,
REMARK,
REGISTER_NUMBER,
VEHICLE_MODEL,
VEHICLE_BRAND,
DRIVINGLICENSE_PHOTO,
ISDELETE,
CREATOR,
CREATORNAME,
CREATTIME,
OPERATOR,
OPERATORNAME,
OPERATTIME,
DELETOR,
DELETORNAME,
DELETTIME,
FREIGHTTRAILER_ID
</sql>
<!-- 字段值 -->
<sql id="FieldValue">
#{TAXATION_ID},
#{RECORD_NUMBER},
#{CORPINFO_ID,},
#{PLATE_NUMBER},
#{VEHICLEOWNER},
#{CONTACT_NUMBER},
#{TRANSACTION_DATA},
#{TAXESDUES_PERIOD},
#{EXPIRE_DATE},
#{REGISTRANT},
#{TRANSPORT_ENTERPRISES},
#{REMINDER_STATUS},
#{EXPIRE_STATUS},
#{ARCHIVES_TYPE},
#{TRAILER_VEHICLE},
#{FRAMES_NUMBER},
#{VEHICLE_TYPE},
#{VEHICLEOWNER_NUMBER},
#{FIRSTSHOW_DATE},
#{PROVINCE},
#{CITY},
#{COUNTY},
#{REMINDER_DAY},
#{REMINDER_DATA},
#{TAXESDUES_MATERIAL},
#{REMARK},
#{REGISTER_NUMBER},
#{VEHICLE_MODEL},
#{VEHICLE_BRAND},
#{DRIVINGLICENSE_PHOTO},
#{ISDELETE},
#{CREATOR},
#{CREATORNAME},
#{CREATTIME},
#{OPERATOR},
#{OPERATORNAME},
#{OPERATTIME},
#{DELETOR},
#{DELETORNAME},
#{DELETTIME},
#{FREIGHTTRAILER_ID}
</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'
where
TAXATION_ID = #{TAXATION_ID}
</delete>
<!-- 修改 -->
<update id="edit" parameterType="pd">
update
<include refid="tableName"></include>
set
TAXATION_ID = #{TAXATION_ID},
RECORD_NUMBER = #{RECORD_NUMBER},
CORPINFO_ID = #{CORPINFO_ID},
PLATE_NUMBER = #{PLATE_NUMBER},
VEHICLEOWNER = #{VEHICLEOWNER},
CONTACT_NUMBER = #{CONTACT_NUMBER},
TRANSACTION_DATA = #{TRANSACTION_DATA},
TAXESDUES_PERIOD = #{TAXESDUES_PERIOD},
EXPIRE_DATE = #{EXPIRE_DATE},
REGISTRANT = #{REGISTRANT},
TRANSPORT_ENTERPRISES = #{TRANSPORT_ENTERPRISES},
REMINDER_STATUS = #{REMINDER_STATUS},
EXPIRE_STATUS = #{EXPIRE_STATUS},
ARCHIVES_TYPE = #{ARCHIVES_TYPE},
TRAILER_VEHICLE = #{TRAILER_VEHICLE},
FRAMES_NUMBER = #{FRAMES_NUMBER},
VEHICLE_TYPE = #{VEHICLE_TYPE},
VEHICLEOWNER_NUMBER = #{VEHICLEOWNER_NUMBER},
FIRSTSHOW_DATE = #{FIRSTSHOW_DATE},
PROVINCE = #{PROVINCE},
CITY = #{CITY},
COUNTY = #{COUNTY},
REMINDER_DAY = #{REMINDER_DAY},
REMINDER_DATA = #{REMINDER_DATA},
TAXESDUES_MATERIAL = #{TAXESDUES_MATERIAL},
REMARK = #{REMARK},
REGISTER_NUMBER = #{REGISTER_NUMBER},
VEHICLE_MODEL = #{VEHICLE_MODEL},
VEHICLE_BRAND = #{VEHICLE_BRAND},
DRIVINGLICENSE_PHOTO = #{DRIVINGLICENSE_PHOTO},
ISDELETE = #{ISDELETE},
CREATOR = #{CREATOR},
CREATORNAME = #{CREATORNAME},
CREATTIME = #{CREATTIME},
OPERATOR = #{OPERATOR},
OPERATORNAME = #{OPERATORNAME},
OPERATTIME = #{OPERATTIME},
DELETOR = #{DELETOR},
DELETORNAME = #{DELETORNAME},
DELETTIME = #{DELETTIME},
FREIGHTTRAILER_ID = #{FREIGHTTRAILER_ID}
where
TAXATION_ID = #{TAXATION_ID}
</update>
<!-- 通过ID获取数据 -->
<select id="findById" parameterType="pd" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include> f
where
f.TAXATION_ID = #{TAXATION_ID}
</select>
<!-- 列表 -->
<!--<select id="datalistPage" parameterType="page" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include> f
left join sys_user u on u.USER_ID = f.USER_ID
left join oa_department d on d.DEPARTMENT_ID = u.DEPARTMENT_ID
left join sys_post p on p.POST_ID = u.POST_ID
left join sys_user ru on ru.USER_ID = f.REVIEW_USER_ID
left join oa_department rd on rd.DEPARTMENT_ID = ru.DEPARTMENT_ID
where (f.ISDELETE = '0' or (f.ISDELETE = '1' and f.REVIEW_STATUS = '-1'))
and f.CORPINFO_ID = #{pd.CORPINFO_ID}
<if test="pd.KEYWORDS != null and pd.KEYWORDS != ''">&lt;!&ndash; 关键词检索 &ndash;&gt;
and
(
u.NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
)
</if>
<if test="pd.REVIEW_STATUS != null and pd.REVIEW_STATUS != ''">&lt;!&ndash; 关键词检索 &ndash;&gt;
<choose>
<when test="pd.REVIEW_STATUS == 0">
and f.REVIEW_STATUS = '0'
</when>
<when test="pd.REVIEW_STATUS == 1">
and f.REVIEW_STATUS = '1'
</when>
<when test="pd.REVIEW_STATUS == 2">
and f.REVIEW_STATUS = '2'
</when>
<when test="pd.REVIEW_STATUS == -1">
and f.ISDELETE = '0' and f.REVIEW_STATUS = '-1'
</when>
<when test="pd.REVIEW_STATUS == 3">
and f.CREATOR = f.OPERATOR and f.ISDELETE = '1' and f.REVIEW_STATUS = '-1'
</when>
<when test="pd.REVIEW_STATUS == 4">
and f.CREATOR != f.OPERATOR and f.ISDELETE = '1' and f.REVIEW_STATUS = '-1'
</when>
</choose>
</if>
<if test="pd.REVIEW_USER_NAME != null and pd.REVIEW_USER_NAME != ''">&lt;!&ndash; 关键词检索 &ndash;&gt;
and ru.NAME LIKE CONCAT(CONCAT('%', #{pd.REVIEW_USER_NAME}),'%')
</if>
<if test="pd.DEPT_DOWN_ARR != null and pd.DEPT_DOWN_ARR.size() > 0">
AND d.DEPARTMENT_ID IN
<foreach item="item" collection="pd.DEPT_DOWN_ARR" open="(" separator="," close=")">
'${item}'
</foreach>
</if>
&lt;!&ndash; <if test="pd.DEPARTMENT_ID != null and pd.DEPARTMENT_ID != ''">关键词检索
and d.DEPARTMENT_ID = #{pd.DEPARTMENT_ID}
</if>
&ndash;&gt;
<choose>
<when test='pd.ISMAIN != null and pd.ISMAIN != "" and pd.ISMAIN == "1"'>
<if test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
and
d.DEPARTMENT_ID in
<foreach item="item" index="index"
collection="pd.DEPT_IDS" open="(" separator="," close=")">
'${item}'
</foreach>
</if>
</when>
<otherwise>
<choose>
<when test='pd.ISSUPERVISE != null and pd.ISSUPERVISE != "" and pd.ISSUPERVISE == "1"'>
<choose>
<when test='pd.ISLEADER != null and pd.ISLEADER != "" and pd.ISLEADER == "1"'>
<choose>
<when test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
and
d.DEPARTMENT_ID in
<foreach item="item" index="index"
collection="pd.DEPT_IDS" open="(" separator="," close=")">
'${item}'
</foreach>
</when>
<otherwise>
and
((d.DEPARTMENT_ID in (
select
SUB_DEPARTMENT_ID
from
oa_supervision_department osd
where
osd.SUP_DEPARTMENT_ID = #{pd.DEPARTMENT_ID}
and osd.ISDELETE = '0'
and osd.CORPINFO_ID = #{pd.CORPINFO_ID}
)) or (
d.DEPARTMENT_ID in
<foreach item="item" index="index"
collection="pd.DEPARTMENT_IDS" open="(" separator="," close=")">
'${item}'
</foreach>
))
</otherwise>
</choose>
</when>
<when test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
or f.REVIEW_USER_ID = #{pd.USER_ID}
and
d.DEPARTMENT_ID in
<foreach item="item" index="index"
collection="pd.DEPT_IDS" open="(" separator="," close=")">
'${item}'
</foreach>
</when>
<otherwise>
and
d.DEPARTMENT_ID in (
select
SUB_DEPARTMENT_ID
from
oa_supervision_department osd
where
osd.SUP_DEPARTMENT_ID = #{pd.DEPARTMENT_ID}
and osd.ISDELETE = '0'
and osd.CORPINFO_ID = #{pd.CORPINFO_ID})
or f.REVIEW_USER_ID = #{pd.USER_ID}
</otherwise>
</choose>
</when>
<when test='pd.ISLEADER != null and pd.ISLEADER != "" and pd.ISLEADER == "1"'>
<choose>
<when test="pd.DEPT_IDS != null and pd.DEPT_IDS != ''">
and
d.DEPARTMENT_ID in
<foreach item="item" index="index"
collection="pd.DEPT_IDS" open="(" separator="," close=")">
'${item}'
</foreach>
</when>
<otherwise>
and
d.DEPARTMENT_ID in
<foreach item="item" index="index"
collection="pd.DEPARTMENT_IDS" open="(" separator="," close=")">
'${item}'
</foreach>
</otherwise>
</choose>
</when>
<when test="pd.DEPARTMENT_ID != null and pd.DEPARTMENT_ID != ''">
and d.DEPARTMENT_ID=#{pd.DEPARTMENT_ID}
and f.REVIEW_USER_ID = #{pd.USER_ID}
</when>
<otherwise>
</otherwise>
</choose>
</otherwise>
</choose>
<choose>
<when test="pd.STARTTIME != null and pd.STARTTIME != '' and pd.ENDTIME != null and pd.ENDTIME != ''">
and DATE_FORMAT(#{pd.STARTTIME},'%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(f.STARTTIME,'%Y-%m-%d %H:%i:%s')
and DATE_FORMAT(#{pd.ENDTIME},'%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(f.ENDTIME,'%Y-%m-%d %H:%i:%s')
</when>
<otherwise>
<if test="pd.STARTTIME != null and pd.STARTTIME != ''">
and DATE_FORMAT(#{pd.STARTTIME},'%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(f.ENDTIME,'%Y-%m-%d %H:%i:%s')
</if>
<if test="pd.ENDTIME != null and pd.ENDTIME != ''">
and DATE_FORMAT(#{pd.ENDTIME},'%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(f.STARTTIME,'%Y-%m-%d %H:%i:%s')
</if>
</otherwise>
</choose>
order by f.OPERATTIME desc
</select>-->
<!-- 列表(全部) -->
<select id="datalistPage" parameterType="page" resultType="pd">
SELECT
f.*
FROM
<include refid="tableName"></include> f
LEFT JOIN BUS_TRAFFIC_MECHANICAL_FREIGHTTRAILER btmf on btmf.FREIGHTTRAILER_ID = f.FREIGHTTRAILER_ID
WHERE f.ISDELETE = '0' AND btmf.ISSCRAP = '0'
<if test="pd.PLATE_NUMBER != null and pd.PLATE_NUMBER != ''">
AND f.PLATE_NUMBER LIKE CONCAT(CONCAT('%', #{pd.PLATE_NUMBER}), '%')
</if>
<if test="pd.VEHICLEOWNER != null and pd.VEHICLEOWNER != ''">
AND f.VEHICLEOWNER LIKE CONCAT(CONCAT('%', #{pd.VEHICLEOWNER}), '%')
</if>
<if test="pd.REGISTRANT != null and pd.REGISTRANT != ''">
AND f.REGISTRANT LIKE CONCAT(CONCAT('%', #{pd.REGISTRANT}), '%')
</if>
<!-- <if test="pd.EXPIRE_DATE != null and pd.EXPIRE_DATE != ''">-->
<!-- AND f.EXPIRE_DATE = #{pd.EXPIRE_DATE}-->
<!-- </if>-->
<if test="pd.EXPIRE_DATE != null and pd.EXPIRE_DATE != ''">
-- 添加条件只有当当前时间NOW())处于提醒时间段内时,才会返回相应的记录。
-- 提醒时间段是由两个日期定义的:
-- 1. 提前提醒的日期即从DUE_DATE字段指定的到期日期减去REMINDER_DAYS字段指定的天数。
-- 2. 到期日期DUE_DATE字段本身。
-- DATE_SUB函数用于计算提前提醒的日期。它从到期日期中减去一定天数以得到提醒开始的日期。
-- DATE_SUB的第一个参数是到期日期f.DUE_DATE
-- 第二个参数INTERVAL f.REMINDER_DAYS DAY指定从到期日期向前推算的天数f.REMINDER_DAYS字段的值
and NOW() BETWEEN DATE_SUB(f.EXPIRE_DATE, INTERVAL f.REMINDER_DAY DAY) AND f.EXPIRE_DATE
</if>
<if test="pd.EXPIRE_STATUS != null and pd.EXPIRE_STATUS != ''">
AND f.EXPIRE_STATUS = #{pd.EXPIRE_STATUS}
</if>
<if test="pd.REMINDER_STATUS != null and pd.REMINDER_STATUS != ''">
AND f.REMINDER_STATUS = #{pd.REMINDER_STATUS}
</if>
<if test="pd.TRANSPORT_ENTERPRISES != null and pd.TRANSPORT_ENTERPRISES != ''">
AND f.TRANSPORT_ENTERPRISES = #{pd.TRANSPORT_ENTERPRISES}
</if>
ORDER BY f.CREATTIME DESC
</select>
<select id="listAll" parameterType="pd" resultType="pd">
select
<include refid="Field"></include>
from
<include refid="tableName"></include> f
where f.TAXATION_ID = '0'
</select>
<select id="taxationList" parameterType="page" resultType="pd">
select
*
from
<include refid="tableName"></include> f
where f.CORPINFO_ID = #{corpId}
</select>
</mapper>