<?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.equipment.EquipmentInfoMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.casic.missiles.model.equipment.EquipmentInfo"> <id column="id" property="id" /> <result column="equipmentNo" property="equipmentNo" /> <result column="equipment_name" property="equipmentName" /> <result column="usage_status" property="usageStatus" /> <result column="level" property="level" /> <result column="product_country" property="productCountry" /> <result column="manufacturer" property="manufacturer" /> <result column="manufactureNo" property="manufactureNo" /> <result column="product_date" property="productDate" /> <result column="unit_price" property="unitPrice" /> <result column="purchase_date" property="purchaseDate" /> <result column="model" property="model" /> <result column="quality_condition" property="qualityCondition" /> <result column="company_id" property="companyId" /> <result column="dept_id" property="deptId" /> <result column="category" property="category" /> <result column="check_cycle" property="checkCycle" /> <result column="remark" property="remark" /> <result column="instructions_file" property="instructionsFile" /> <result column="check_organization" property="checkOrganization" /> <result column="check_date" property="checkDate" /> <result column="certificateValid" property="certificateValid" /> <result column="meter_identify" property="meterIdentify" /> <result column="use_position" property="usePosition" /> <result column="director_name" property="directorName" /> <result column="RFID" property="rfid" /> <result column="use_sign" property="useSign" /> <result column="install_location" property="installLocation" /> <result column="install_location_ext" property="installLocationExt" /> <result column="test_task" property="testTask" /> <result column="remark_ext" property="remarkExt" /> <result column="create_user_id" property="createUserId" /> <result column="create_user_name" property="createUserName" /> <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> <result column="is_del" property="isDel" /> <result column="model_id" property="modelId" /> <result column="help_instruction" property="helpInstruction" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, equipment_no as equipmentNo, equipment_name, usage_status, level, product_country, manufacturer, manufacture_no as manufactureNo, product_date, unit_price, purchase_date, model, quality_condition, company_id, dept_id, category, check_cycle, remark, instructions_file, check_organization, check_date, certificate_valid as certificateValid, meter_identify, use_position, director_name, RFID, use_sign, install_location, install_location_ext, test_task, remark_ext, create_user_id, create_user_name, create_time, update_time, is_del,model_id,help_instruction </sql> <select id="selectListPage" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from eqpt_equipment_info <where> <if test="ew != null"> ${ew.sqlSegment} </if> </where> </select> <select id="selectList" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from eqpt_equipment_info <where> <if test="ew != null"> ${ew.sqlSegment} </if> </where> </select> <select id="isBindLabel" resultType="java.lang.Long"> SELECT id FROM eqpt_equipment_info WHERE 1=1 <if test="label != null and label !=''"> and RFID =#{label} </if> </select> <select id="bindLabel" resultType="java.lang.Integer"> UPDATE eqpt_equipment_info SET RFID = #{request.label} WHERE id = #{request.sampleId} </select> <sql id="equipmentRemindList"> with remind_config_info as ( select c.remind_time as remind_time, r.task_id as task_id, r.model_id as model_id, e.id as equipment_id from eqpt_remind_config c left join eqpt_remind_relation r on c.id = r.remind_id left join eqpt_equipment_task_relation t on r.task_id = t.task_id left join eqpt_equipment_info e on (r.model_id = e.model_id or t.equipment_id = e.id) where e.id is not null ), eqpt_remind as ( select equipment_id,min(remind_time) as remind_time from remind_config_info group by equipment_id ), eqpt_remind_all as ( select e.id as equipment_id, IFNULL(m.remind_time,0) as remind_time from eqpt_equipment_info e left join eqpt_remind m on e.id = m.equipment_id ), task_ext as ( select id,task_name,CONCAT(DATE_FORMAT(start_time,'%Y-%m-%d'),"~",DATE_FORMAT(end_time,'%Y-%m-%d')) as time_ext,start_time,end_time from eqpt_equipment_task_info ), eqpt_ext as ( select e.* , DATE_SUB(e.certificate_valid,INTERVAL a.remind_time DAY) AS remind_valid, GROUP_CONCAT(t.task_name) as taskNames, GROUP_CONCAT(t.time_ext) as taskTimes, GROUP_CONCAT(t.id) as taskIds, min(t.start_time) as task_start_time, max(t.end_time) as task_end_time from eqpt_equipment_info e left join eqpt_remind_all a on e.id = a.equipment_id left join eqpt_equipment_task_relation r on e.id = r.equipment_id left join task_ext t on r.task_id = t.id where e.certificate_valid is not null group by e.id,e.certificate_valid,a.remind_time ) select * from eqpt_ext <where> <if test="ew != null"> ${ew.sqlSegment} </if> </where> ORDER BY remind_valid asc </sql> <select id="selectRemindListPage" resultType="com.casic.missiles.dto.equipment.EquipmentRemindList"> select * from ( <include refid="equipmentRemindList"/> )A </select> <select id="selectRemindList" resultType="com.casic.missiles.dto.equipment.EquipmentRemindList"> select * from ( <include refid="equipmentRemindList"/> )A </select> <sql id="selectBizCertificate"> select c.id as id, e.id as equipmentId, e.equipment_no as equipmentNo, e.equipment_name as equipmentName, e.meter_identify as meterIdentify, e.dept_id as deptId, c.certificate_report_no as certificateNo, c.certificate_report_name as certificateName, '西昌卫星发射中心计量测试站' as checkOrganization, c.calibration_time as checkDate, c.expiration_date as certificateValid, c.certificate_report_file as minioFileName, c.create_time as createTime, c.update_time as updateTime, '1' as certificateType, c.remark as remark from biz_business_certificate_report c ,eqpt_equipment_info e where c.sample_id = e.id </sql> <select id="bizCertificateListPage" resultType="com.casic.missiles.dto.equipment.EquipmentCertificateDTO"> <include refid="selectBizCertificate"/> <if test="ew != null"> and ${ew.sqlSegment} </if> </select> <select id="bizCertificateList" resultType="com.casic.missiles.dto.equipment.EquipmentCertificateDTO"> <include refid="selectBizCertificate"/> and e.is_del = 0 and c.approval_status = '4' and e.id = #{equipmentId} </select> </mapper>