<?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.meter.MeterFileMapper"> <select id="selectMaxFileNo" resultType="java.lang.Long"> SELECT IFNULL(max(RIGHT(file_no, 12)), 0) from meter_file </select> <update id="updateEffectiveStatusByTime"> UPDATE meter_file SET effective_status = CASE WHEN DATE_FORMAT(NOW(), '%Y-%m-%d') < DATE_FORMAT(effectiveTime, '%Y-%m-%d') THEN 2 WHEN DATE_FORMAT(NOW(), '%Y-%m-%d') >= DATE_FORMAT(effectiveTime, '%Y-%m-%d') THEN 1 ELSE effective_status END WHERE effective_status <> 3 </update> <select id="selectApprovalList" resultType="com.casic.missiles.dto.meter.FileApprovalListResponse"> SELECT id, file_no, file_name, file_code, file_type, publish_time, publisher, effective_time, effective_status, create_user, minio_file_name, remark, approval_status, create_time FROM meter_file WHERE is_del = 0 <if test="request.approvalStatus != null and request.approvalStatus !=''"> and approval_status = #{request.approvalStatus} </if> <if test="request.fileNo != null and request.fileNo !=''"> and file_no like concat('%',#{request.fileNo},'%') </if> <if test="request.fileName != null and request.fileName !=''"> and file_name like concat('%',#{request.fileName},'%') </if> <if test="request.fileCode != null and request.fileCode !=''"> and file_code like concat('%',#{request.fileCode},'%') </if> <if test="request.fileType != null and request.fileType !=''"> and file_type = #{request.fileType} </if> <if test="request.createUser != null and request.createUser !=''"> and create_user like concat('%',#{request.createUser},'%') </if> <if test="request.createTime != null and request.createTime !=''"> and create_time <= #{request.createTime} </if> <if test="request.createUserId != null and request.createUserId !=''"> and create_user_id = #{request.createUserId} </if> </select> <select id="selectDraftListForApproval" resultType="com.casic.missiles.model.meter.MeterFile"> SELECT * FROM meter_file WHERE is_del = 0 AND approval_status = #{request.approvalStatus} AND create_user_id = #{request.createUserId} <if test="request.fileNo != null and request.fileNo !=''"> and file_no like concat('%',#{request.fileNo},'%') </if> <if test="request.fileName != null and request.fileName !=''"> and file_name like concat('%',#{request.fileName},'%') </if> <if test="request.fileCode != null and request.fileCode !=''"> and file_code like concat('%',#{request.fileCode},'%') </if> <if test="request.fileType != null and request.fileType !=''"> and file_type = #{request.fileType} </if> <if test="request.createUser != null and request.createUser !=''"> and create_user like concat('%',#{request.createUser},'%') </if> <if test="request.createStartTime != null and request.createStartTime !=''"> and create_time >= #{request.createStartTime} </if> <if test="request.createEndTime != null and request.createEndTime !=''"> and create_time <= #{request.createEndTime} </if> ORDER BY create_time DESC </select> <select id="selectBatchForApproval" resultType="com.casic.missiles.model.meter.MeterFile"> SELECT * FROM meter_file WHERE is_del = 0 <if test="request.fileNo != null and request.fileNo !=''"> and file_no like concat('%',#{request.fileNo},'%') </if> <if test="request.fileName != null and request.fileName !=''"> and file_name like concat('%',#{request.fileName},'%') </if> <if test="request.fileCode != null and request.fileCode !=''"> and file_code like concat('%',#{request.fileCode},'%') </if> <if test="request.fileType != null and request.fileType !=''"> and file_type = #{request.fileType} </if> <if test="request.createUser != null and request.createUser !=''"> and create_user like concat('%',#{request.createUser},'%') </if> <if test="request.createStartTime != null and request.createStartTime !=''"> and create_time >= #{request.createStartTime} </if> <if test="request.createEndTime != null and request.createEndTime !=''"> and create_time <= #{request.createEndTime} </if> <!-- 保证已取消中不出现已通过的 --> <if test="request.approvalStatus != null and request.approvalStatus !='' and request.approvalStatus == 6"> and approval_status != 4 </if> and id in <foreach collection="businessKey" item="id" index="index" open="(" close=")" separator=","> #{id} </foreach> ORDER BY create_time DESC </select> </mapper>