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

470 lines
13 KiB
XML
Raw Normal View History

2024-03-07 10:23:53 +08:00
<?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,
2024-03-27 18:05:14 +08:00
f.ARCHIVES_TYPE,
2024-03-07 10:23:53 +08:00
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
2024-03-07 10:23:53 +08:00
</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,
2024-03-27 18:05:14 +08:00
ARCHIVES_TYPE,
2024-03-07 10:23:53 +08:00
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
2024-03-07 10:23:53 +08:00
</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},
2024-03-27 18:05:14 +08:00
#{ARCHIVES_TYPE},
2024-03-07 10:23:53 +08:00
#{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}
2024-03-07 10:23:53 +08:00
</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},
2024-03-27 18:05:14 +08:00
ARCHIVES_TYPE = #{ARCHIVES_TYPE},
2024-03-07 10:23:53 +08:00
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}
2024-03-07 10:23:53 +08:00
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">
2024-03-27 18:05:14 +08:00
SELECT
f.*,
CASE
WHEN btsm.PLATE_NUMBER IS NOT NULL THEN '1'
WHEN bta.RAW_PLATE_NUMBER IS NOT NULL THEN '2'
ELSE '0'
END AS NEW_ARCHIVES_TYPE
FROM
2024-03-07 10:23:53 +08:00
<include refid="tableName"></include> f
2024-03-27 18:05:14 +08:00
LEFT JOIN BUS_TRAFFIC_SCRAP_MANAGEMENT btsm ON f.PLATE_NUMBER = btsm.PLATE_NUMBER
LEFT JOIN BUS_TRAFFIC_ASSIGNED bta ON f.PLATE_NUMBER = bta.RAW_PLATE_NUMBER
WHERE f.ISDELETE = '0'
<if test="pd.PLATE_NUMBER != null and pd.PLATE_NUMBER != ''">
AND f.PLATE_NUMBER LIKE CONCAT(CONCAT('%', #{pd.PLATE_NUMBER}), '%')
2024-03-07 10:23:53 +08:00
</if>
2024-03-27 18:05:14 +08:00
<if test="pd.VEHICLEOWNER != null and pd.VEHICLEOWNER != ''">
AND f.VEHICLEOWNER LIKE CONCAT(CONCAT('%', #{pd.VEHICLEOWNER}), '%')
2024-03-07 10:23:53 +08:00
</if>
2024-03-27 18:05:14 +08:00
<if test="pd.REGISTRANT != null and pd.REGISTRANT != ''">
AND f.REGISTRANT LIKE CONCAT(CONCAT('%', #{pd.REGISTRANT}), '%')
2024-03-07 10:23:53 +08:00
</if>
2024-03-27 18:05:14 +08:00
<!-- <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
2024-03-07 10:23:53 +08:00
</if>
2024-03-27 18:05:14 +08:00
<if test="pd.EXPIRE_STATUS != null and pd.EXPIRE_STATUS != ''">
AND f.EXPIRE_STATUS = #{pd.EXPIRE_STATUS}
2024-03-07 10:23:53 +08:00
</if>
2024-03-27 18:05:14 +08:00
<if test="pd.REMINDER_STATUS != null and pd.REMINDER_STATUS != ''">
AND f.REMINDER_STATUS = #{pd.REMINDER_STATUS}
2024-03-07 10:23:53 +08:00
</if>
2024-03-27 18:05:14 +08:00
<if test="pd.TRANSPORT_ENTERPRISES != null and pd.TRANSPORT_ENTERPRISES != ''">
AND f.TRANSPORT_ENTERPRISES = #{pd.TRANSPORT_ENTERPRISES}
2024-03-07 10:23:53 +08:00
</if>
2024-03-27 18:05:14 +08:00
ORDER BY f.OPERATTIME DESC
2024-03-27 10:04:49 +08:00
ORDER BY OPERATTIME DESC
2024-03-07 10:23:53 +08:00
</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>