Bonus-Cloud-JYY-Smart-Canteen/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/SupplierQualificationMapper...

163 lines
8.8 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.bonus.canteen.core.ims.mapper.SupplierQualificationMapper">
<resultMap type="com.bonus.canteen.core.ims.domain.SupplierQualification" id="SupplierQualificationResult">
<result property="id" column="id" />
<result property="supplierId" column="supplier_id" />
<result property="qualificationCode" column="qualification_code" />
<result property="qualificationType" column="qualification_type" />
<result property="qualificationName" column="qualification_name" />
<result property="certId" column="cert_id" />
<result property="imgUrl" column="img_url" />
<result property="expirationDate" column="expiration_date" />
<result property="mainFlag" column="main_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectSupplierQualificationVo">
select id, supplier_id, qualification_code, qualification_type, qualification_name, cert_id, img_url, expiration_date, main_flag, create_by, create_time, update_by, update_time from ims_supplier_qualification
</sql>
<select id="selectSupplierQualificationList" parameterType="com.bonus.canteen.core.ims.domain.SupplierQualification" resultMap="SupplierQualificationResult">
<include refid="selectSupplierQualificationVo"/>
<where>
<if test="supplierId != null "> and supplier_id = #{supplierId}</if>
<if test="qualificationCode != null and qualificationCode != ''"> and qualification_code = #{qualificationCode}</if>
<if test="qualificationType != null "> and qualification_type = #{qualificationType}</if>
<if test="qualificationName != null and qualificationName != ''"> and qualification_name like concat('%', #{qualificationName}, '%')</if>
<if test="certId != null "> and cert_id = #{certId}</if>
<if test="imgUrl != null and imgUrl != ''"> and img_url = #{imgUrl}</if>
<if test="expirationDate != null "> and expiration_date = #{expirationDate}</if>
<if test="mainFlag != null "> and main_flag = #{mainFlag}</if>
</where>
</select>
<select id="selectSupplierQualificationById" parameterType="Long" resultMap="SupplierQualificationResult">
<include refid="selectSupplierQualificationVo"/>
where id = #{id}
</select>
<insert id="insertSupplierQualification" parameterType="com.bonus.canteen.core.ims.domain.SupplierQualification" useGeneratedKeys="true" keyProperty="id">
insert into ims_supplier_qualification
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="supplierId != null">supplier_id,</if>
<if test="qualificationCode != null">qualification_code,</if>
<if test="qualificationType != null">qualification_type,</if>
<if test="qualificationName != null and qualificationName != ''">qualification_name,</if>
<if test="certId != null">cert_id,</if>
<if test="imgUrl != null">img_url,</if>
<if test="expirationDate != null">expiration_date,</if>
<if test="mainFlag != null">main_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="supplierId != null">#{supplierId},</if>
<if test="qualificationCode != null">#{qualificationCode},</if>
<if test="qualificationType != null">#{qualificationType},</if>
<if test="qualificationName != null and qualificationName != ''">#{qualificationName},</if>
<if test="certId != null">#{certId},</if>
<if test="imgUrl != null">#{imgUrl},</if>
<if test="expirationDate != null">#{expirationDate},</if>
<if test="mainFlag != null">#{mainFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateSupplierQualification" parameterType="com.bonus.canteen.core.ims.domain.SupplierQualification">
update ims_supplier_qualification
<trim prefix="SET" suffixOverrides=",">
<if test="supplierId != null">supplier_id = #{supplierId},</if>
<if test="qualificationCode != null">qualification_code = #{qualificationCode},</if>
<if test="qualificationType != null">qualification_type = #{qualificationType},</if>
<if test="qualificationName != null and qualificationName != ''">qualification_name = #{qualificationName},</if>
<if test="certId != null">cert_id = #{certId},</if>
<if test="imgUrl != null">img_url = #{imgUrl},</if>
<if test="expirationDate != null">expiration_date = #{expirationDate},</if>
<if test="mainFlag != null">main_flag = #{mainFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteSupplierQualificationById" parameterType="Long">
delete from ims_supplier_qualification where id = #{id}
</delete>
<delete id="deleteSupplierQualificationByIds" parameterType="String">
delete from ims_supplier_qualification where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<delete id="deleteSupplierQualificationBySupplierId">
delete from ims_supplier_qualification where supplier_id = #{supplierId}
</delete>
<select id="earlyWarning" resultType="com.bonus.canteen.core.ims.vo.SupplierQualificationExpireVO">
SELECT
ds.supplier_id,
ds.supplier_code,
ds.supplier_name,
ds.area_id,
aa.area_name,
ds.linkman,
ds.linkman_phone,
dsq.qualification_code,
dsq.qualification_name,
dsq.main_flag,
if(dsq.expiration_date = '1990-01-01', null, dsq.expiration_date) as expiration_date,
DATEDIFF(dsq.expiration_date , CURDATE()) as expireDays,
dsq.img_url
FROM
ims_supplier_qualification dsq
LEFT JOIN ims_supplier ds ON ds.supplier_id = dsq.supplier_id
LEFT JOIN basic_area aa on ds.area_id = aa.area_id
<where>
<if test="content.supplierName != null and content.supplierName != '' ">
and ds.supplier_name like concat('%', #{content.supplierName}, '%')
</if>
<if test="content.qualificationName != null and content.qualificationName != '' ">
and dsq.qualification_name like concat('%', #{content.qualificationName}, '%')
</if>
<if test="content.qualificationCode != null and content.qualificationCode != '' ">
and dsq.qualification_code like concat('%', #{content.qualificationCode}, '%')
</if>
<if test="content.supplierId != null and content.supplierId != '' ">
and ds.supplier_id = #{content.supplierId}
</if>
<if test="content.isLessThanMonth != null and content.isLessThanMonth != '' ">
<if test="content.isLessThanMonth == 1 ">
and (DATEDIFF(dsq.expiration_date, now())) <![CDATA[<]]> 30
</if>
<if test="content.isLessThanMonth == 2 ">
and (DATEDIFF(dsq.expiration_date, now())) <![CDATA[>=]]> 30
</if>
</if>
<if test="content.areaIdList != null and content.areaIdList.size() > 0">
and ds.area_id in
<foreach collection="content.areaIdList" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
and dsq.expiration_date is not null and dsq.expiration_date !='1990-01-01'
</where>
ORDER BY expireDays
</select>
</mapper>