<?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.EquipmentInfoApprovalMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.casic.missiles.model.equipment.EquipmentInfoApproval"> <id column="id" property="id"/> <result column="approval_type" property="approvalType"/> <result column="process_id" property="processId"/> <result column="approval_status" property="approvalStatus"/> <result column="equipment_id" property="equipmentId"/> <result column="equipment_no" 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="manufacture_no" 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="certificate_valid" 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="model_id" property="modelId"/> <result column="help_instruction" property="helpInstruction"/> <result column="use_position_id" property="usePositionId"/> <result column="director_id" property="directorId"/> <result column="install_location_id" property="installLocationId"/> <result column="check_destination" property="checkDestination"/> <result column="limit_instruction" property="limitInstruction"/> <result column="group_names" property="groupNames"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id , approval_type, process_id, approval_status, equipment_id, equipment_no, equipment_name, usage_status, level, product_country, manufacturer, manufacture_no, 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, 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 ,model_id,help_instruction,use_position_id,director_id,install_location_id,check_destination,limit_instruction </sql> <select id="selectListPage" resultMap="BaseResultMap"> select<include refid="Base_Column_List"/>, ( SELECT GROUP_CONCAT( eqpt_equipment_group_info.group_name ) FROM eqpt_equipment_group_info WHERE exists ( SELECT id FROM eqpt_equipment_group_relation tmp WHERE tmp.group_id = eqpt_equipment_group_info.id AND tmp.equipment_id = eqpt_equipment_info_approval_view.id ) ) as group_names from eqpt_equipment_info_approval_view <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_approval_view <where> <if test="ew != null"> ${ew.sqlSegment} </if> </where> </select> <select id="checkRfid" resultType="java.lang.Integer"> with r2 as ( select id,rfid from eqpt_equipment_info where is_del = 0 ), r1 as ( select t.equipment_id, t.rfid from ( select row_number() over (partition by equipment_id order by id desc) as rn,e.* from eqpt_equipment_info_approval e where equipment_id not in (select id from eqpt_equipment_info where is_del = 1) and equipment_id not in (select id from r2) and approval_type != 3 and approval_status in ('1','3','4','6') ) t where t.rn = 1), r as (select * from r1 union all select * from r2) select count(DISTINCT equipment_id) from r where rfid = #{rfid} <if test="equipmentId != null and equipmentId !=''"> and equipment_id != #{equipmentId} </if> </select> <select id="checkLocation" resultType="java.lang.String"> with r2 as ( select id,install_location_id, usage_status, manufacture_no from eqpt_equipment_info where is_del = 0 ), r1 as ( select t.equipment_id, t.install_location_id, t.usage_status, t.manufacture_no from eqpt_equipment_info_approval t where approval_status = '3' and approval_type != 3), r as (select * from r1 union all select * from r2) select DISTINCT manufacture_no from r where install_location_id = #{installLocationId} and usage_status = #{usageStatus} <if test="equipmentId != null and equipmentId !=''"> and equipment_id != #{equipmentId} </if> LIMIT 1 </select> <select id="checkInfo" resultType="java.lang.Integer"> with r2 as ( select id as equipment_id,model_id,manufacture_no,manufacturer from eqpt_equipment_info where is_del = 0 ), r1 as ( select equipment_id, model_id,manufacture_no,manufacturer from eqpt_equipment_info_approval where approval_status = '3' and approval_type != 3), r as ( select * from r1 union all select * from r2 ) select count(equipment_id) from r where model_id = #{modelId} and manufacture_no = #{manufactureNo} and manufacturer = #{manufacturer} <if test="equipmentId != null and equipmentId !=''"> and equipment_id != #{equipmentId} </if> </select> </mapper>