<?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.plan.PlanEquipmentRelationMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.casic.missiles.model.plan.PlanEquipmentRelation"> <id column="id" property="id" /> <result column="plan_id" property="planId" /> <result column="equipment_id" property="equipmentId" /> <result column="create_time" property="createTime" /> <result column="update_time" property="updateTime" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, plan_id, equipment_id, create_time, update_time </sql> <select id="listByPlanAndName" resultType="com.casic.missiles.model.plan.PlanEquipmentRelation"> SELECT r1.id AS id, r1.plan_id AS planId, e.id AS equipmentId, e.equipment_no AS equipmentNo, e.equipment_name AS equipmentName, e.model AS model, e.company_id AS companyId, e.use_position AS usePosition, e.check_organization AS checkOrganization, e.certificate_valid AS certificateValid, e.director_name AS director_name, e.dept_id AS deptId, e.usage_status AS usageStatus, e.manufacture_no AS manufactureNo, r1.execute_status AS executeStatus, r1.execute_time AS executeTime, r1.check_completion AS checkCompletion, r1.check_finish_time AS checkFinishTime, r1.create_time AS createTime, r1.update_time AS updateTime FROM eqpt_equipment_info e, eqpt_plan_equipment_relation r1 WHERE e.id = r1.equipment_id <if test="planId != null and planId !=''"> AND r1.plan_id = #{planId} </if> <if test="equipmentName != null and equipmentName != ''"> AND e.equipment_name = #{equipmentName} </if> </select> <select id="getPlanEquipmentStatus" resultType="com.casic.missiles.dto.plan.PlanEquipmentStatus"> SELECT i.receive_status AS receiveStatus, i.undertake_time AS receiveTime, r.sample_status AS sampleStatus, r.measure_complete_time AS measureCompleteTime FROM `biz_business_order_info` i INNER JOIN biz_business_order_sample_relation r ON r.order_id = i.id WHERE YEAR ( i.update_time ) = YEAR (NOW()) AND YEAR ( r.update_time ) = YEAR (NOW()) AND r.sample_id = #{equipmentId} ORDER BY i.update_time DESC LIMIT 1 </select> <select id="planFinishStatistics" resultType="com.casic.missiles.dto.board.PlanFinishDTO"> select e.dept_id as deptId, sum(if(r.check_completion = #{checkedStatus},1,0)) as finished, count(r.id) as total from eqpt_plan_equipment_relation r left join eqpt_equipment_info e on r.equipment_id = e.id where e.is_del = '0' AND YEAR ( r.update_time ) = YEAR (NOW()) group by e.dept_id <if test="deptIds != null"> having e.dept_id in <foreach collection="deptIds" item="item" index="index" open="(" close=")" separator=","> #{item} </foreach> </if> </select> <update id="inspectionStatusUpdate"> update eqpt_plan_equipment_relation r1, eqpt_plan p, eqpt_inspection_equipment_relation r2 set r1.execute_status = #{executeStatus}, r1.execute_time = r2.inspection_time where r1.plan_id = p.id and p.year = YEAR(NOW()) and r1.execute_status = '0' and r1.equipment_id = r2.equipment_id and r2.inspection_id = #{inspectionId} </update> </mapper>