<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~
  ~      Copyright (c) 2018-2025, lengleng All rights reserved.
  ~
  ~  Redistribution and use in source and binary forms, with or without
  ~  modification, are permitted provided that the following conditions are met:
  ~
  ~ Redistributions of source code must retain the above copyright notice,
  ~  this list of conditions and the following disclaimer.
  ~  Redistributions in binary form must reproduce the above copyright
  ~  notice, this list of conditions and the following disclaimer in the
  ~  documentation and/or other materials provided with the distribution.
  ~  Neither the name of the yifu4cloud.com developer nor the names of its
  ~  contributors may be used to endorse or promote products derived from
  ~  this software without specific prior written permission.
  ~  Author: lengleng (wangiegie@gmail.com)
  ~
  -->

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialDeadlineInfoMapper">

  <resultMap id="tSocialDeadlineInfoMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.TSocialDeadlineInfo">
    <id property="id" column="ID"/>
    <result property="month" column="MONTH"/>
    <result property="province" column="PROVINCE"/>
    <result property="city" column="CITY"/>
    <result property="town" column="TOWN"/>
    <result property="socialEndDate" column="SOCIAL_END_DATE"/>
    <result property="medicalEndDate" column="MEDICAL_END_DATE"/>
    <result property="createBy" column="CREATE_BY"/>
    <result property="createName" column="CREATE_NAME"/>
    <result property="createTime" column="CREATE_TIME"/>
    <result property="updateBy" column="UPDATE_BY"/>
    <result property="updateName" column="UPDATE_NAME"/>
    <result property="updateTime" column="UPDATE_TIME"/>
    <result property="status" column="STATUS"/>
	<result property="type" column="TYPE"/>
  </resultMap>
    <sql id="Base_Column_List">
                a.ID,
                a.MONTH,
                a.PROVINCE,
                a.CITY,
                a.TOWN,
                a.SOCIAL_END_DATE,
                a.MEDICAL_END_DATE,
                a.CREATE_BY,
                a.CREATE_NAME,
                a.CREATE_TIME,
                a.UPDATE_BY,
                a.UPDATE_NAME,
                a.UPDATE_TIME,
                a.STATUS,a.TYPE
    </sql>
    <sql id="tSocialDeadlineInfo_where">
        <if test="tSocialDeadlineInfo != null">
		<if test="tSocialDeadlineInfo.id != null and tSocialDeadlineInfo.id.trim() != ''">
			AND a.ID = #{tSocialDeadlineInfo.id}
		</if>
		<if test="tSocialDeadlineInfo.month != null and tSocialDeadlineInfo.month.trim() != ''">
			AND a.MONTH = #{tSocialDeadlineInfo.month}
		</if>
		<if test="tSocialDeadlineInfo.province != null and tSocialDeadlineInfo.province.trim() != ''">
			AND a.PROVINCE = #{tSocialDeadlineInfo.province}
		</if>
		<if test="tSocialDeadlineInfo.city != null and tSocialDeadlineInfo.city.trim() != ''">
			AND a.CITY = #{tSocialDeadlineInfo.city}
		</if>
		<if test="tSocialDeadlineInfo.town != null and tSocialDeadlineInfo.town.trim() != ''">
			AND a.TOWN = #{tSocialDeadlineInfo.town}
		</if>
		<if test="tSocialDeadlineInfo.socialEndDate != null">
			AND a.SOCIAL_END_DATE = #{tSocialDeadlineInfo.socialEndDate}
		</if>
		<if test="tSocialDeadlineInfo.medicalEndDate != null">
			AND a.MEDICAL_END_DATE = #{tSocialDeadlineInfo.medicalEndDate}
		</if>
		<if test="tSocialDeadlineInfo.createBy != null and tSocialDeadlineInfo.createBy.trim() != ''">
			AND a.CREATE_BY = #{tSocialDeadlineInfo.createBy}
		</if>
		<if test="tSocialDeadlineInfo.createName != null and tSocialDeadlineInfo.createName.trim() != ''">
			AND a.CREATE_NAME = #{tSocialDeadlineInfo.createName}
		</if>
		<if test="tSocialDeadlineInfo.createTime != null">
			AND a.CREATE_TIME = #{tSocialDeadlineInfo.createTime}
		</if>
		<if test="tSocialDeadlineInfo.updateBy != null and tSocialDeadlineInfo.updateBy.trim() != ''">
			AND a.UPDATE_BY = #{tSocialDeadlineInfo.updateBy}
		</if>
		<if test="tSocialDeadlineInfo.updateName != null and tSocialDeadlineInfo.updateName.trim() != ''">
			AND a.UPDATE_NAME = #{tSocialDeadlineInfo.updateName}
		</if>
		<if test="tSocialDeadlineInfo.updateTime != null">
			AND a.UPDATE_TIME = #{tSocialDeadlineInfo.updateTime}
		</if>
		<if test="tSocialDeadlineInfo.status != null and tSocialDeadlineInfo.status.trim() != ''">
			AND a.STATUS = #{tSocialDeadlineInfo.status}
		</if>
		<if test="tSocialDeadlineInfo.monthEnd != 0">
			AND a.MONTH <![CDATA[<=]]> #{tSocialDeadlineInfo.monthEnd}
		</if>
		<if test="tSocialDeadlineInfo.monthStart != 0">
			AND a.MONTH <![CDATA[>=]]> #{tSocialDeadlineInfo.monthStart}
		</if>
		<if test="tSocialDeadlineInfo.type != null and tSocialDeadlineInfo.type.trim() != ''">
			AND a.TYPE = #{tSocialDeadlineInfo.type}
		</if>
        </if>
    </sql>
    <!--tSocialDeadlineInfo简单分页查询-->
    <select id="getTSocialDeadlineInfoPage" resultMap="tSocialDeadlineInfoMap">
        SELECT
        <include refid="Base_Column_List"/>
        FROM t_social_deadline_info a
        <where>
            1=1
            <include refid="tSocialDeadlineInfo_where"/>
        </where>
		order by a.month DESC
    </select>
</mapper>