<?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.casic.missiles.mapper.MeterCertificateMapper"> <insert id="addStaffCertificate" parameterType="java.util.List"> INSERT INTO meter_certificate ( `id`, `staff_id`, `certificate_no`, `certificate_name`, `certificate_date`, `certificate_company`, `valid_date`, `certificate_status`, `minio_file_name`, `remark`, `is_del` ) VALUES <foreach collection ="certificateList" item="bean" separator =","> (#{bean.id}, #{bean.staffId}, #{bean.certificateNo}, #{bean.certificateName}, DATE_FORMAT(#{bean.certificateDate},'%Y-%m-%d %H:%i:%S'), #{bean.certificateCompany}, DATE_FORMAT(#{bean.validDate},'%Y-%m-%d %H:%i:%S'), #{bean.certificateStatus}, #{bean.minioFileName}, #{bean.remark},0) </foreach > </insert> <update id="updateStaffCertificate" parameterType="com.casic.missiles.model.MeterCertificate"> UPDATE meter_certificate SET `staff_id` = #{bean.staffId}, `certificate_no` = #{bean.certificateNo}, `certificate_name` = #{bean.certificateName}, `certificate_date` = DATE_FORMAT(#{bean.certificateDate},'%Y-%m-%d %H:%i:%S'), `certificate_company` = #{bean.certificateCompany}, `valid_date` = DATE_FORMAT(#{bean.validDate},'%Y-%m-%d %H:%i:%S'), `certificate_status` = #{bean.certificateStatus}, `minio_file_name` = #{bean.minioFileName}, `remark` = #{bean.remark}, `update_time` = DATE_FORMAT(#{bean.updateTime},'%Y-%m-%d %H:%i:%S') WHERE `id` = #{bean.id} </update> <select id="queryCertificateList" resultType="com.casic.missiles.dto.MeterCertificateDto" parameterType="com.casic.missiles.dto.meter.MeterStaffRequest"> SELECT t1.id, t1.staff_id, t1.certificate_no, t1.certificate_name, t1.certificate_date, t1.certificate_company, t1.valid_date, t1.certificate_status, t1.remark, t2.NAME, t2.sex, t2.staff_no, (select `NAME` from sys_dict where id = t2.education) as education, (select `NAME` from sys_dict where id = t2.technology_job) as technology_job, (select `NAME` from sys_dict where id = t2.administration_job) as administration_job, (select `FULL_NAME` from sys_dept where id = t2.dept_id ) as dept_name, t2.dept_id FROM meter_certificate AS t1 LEFT JOIN meter_staff t2 ON t1.staff_id = t2.id <where> and t1.is_del = 0 <if test="request.staffNo != null and request.staffNo != ''"> and t2.staff_no like CONCAT('%',#{request.staffNo},'%') </if> <if test="request.name != null and request.name != ''"> and t2.`NAME` like concat('%', #{request.name}, '%') </if> <if test="request.deptId != null and request.deptId != ''"> and t2.dept_id = #{request.deptId} </if> <if test="request.verifierCertificateNo != null and request.verifierCertificateNo != ''"> and t1.certificate_no like concat('%', #{request.verifierCertificateNo}, '%') </if> <if test="request.certificateStatus != null and request.certificateStatus != ''"> and t1.certificate_status = #{request.certificateStatus} </if> </where> </select> <select id="queryReminderList" resultType="com.casic.missiles.model.MeterCertificateExpireMessage"> SELECT t1.id as certificate_id, t1.staff_id, t1.certificate_no, t1.certificate_name, t1.valid_date, t2.account as staff_no FROM meter_certificate AS t1 LEFT JOIN meter_staff t2 ON t1.staff_id = t2.id where DATE_FORMAT(t1.valid_date,'%Y-%m-%d') = DATE_SUB(curdate(),INTERVAL -30 day) </select> <update id="deleteCertificate" parameterType="long"> UPDATE meter_certificate SET `is_del` = 1 WHERE `id` = #{id} </update> </mapper>