<?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.ruoyi.system.mapper.TBatteryGroupMapper">
|
<resultMap type="TBatteryGroup" id="TBatteryGroupResult">
|
<id property="groupId" column="group_id" /><result property="groupName" column="group_name" />
|
<result property="model" column="model" /><result property="purpose" column="purpose" />
|
<result property="z" column="z" /><result property="h" column="h" /><result property="f" column="f" />
|
<result property="a" column="a" /><result property="b" column="b" /><result property="status" column="status" />
|
<result property="createBy" column="create_by" /><result property="createTime" column="create_time" />
|
<result property="updateBy" column="update_by" /><result property="updateTime" column="update_time" />
|
<result property="remark" column="remark" /><result property="delFlag" column="del_flag" />
|
<result property="batteryCount" column="battery_count" />
|
</resultMap>
|
<resultMap type="TBatteryGroupBattery" id="TBatteryGroupBatteryResult">
|
<id property="relationId" column="relation_id" /><result property="groupId" column="group_id" />
|
<result property="batteryNo" column="battery_no" /><result property="sortOrder" column="sort_order" />
|
<result property="delFlag" column="del_flag" />
|
</resultMap>
|
<resultMap type="TBatteryGroupRelationField" id="TBatteryGroupRelationFieldResult">
|
<id property="relationId" column="relation_id" /><result property="groupId" column="group_id" />
|
<result property="templateId" column="template_id" /><result property="batteryGroupFieldId" column="battery_group_field_id" />
|
<result property="fieldName" column="field_name" /><result property="fieldType" column="field_type" />
|
<result property="delFlag" column="del_flag" />
|
</resultMap>
|
<sql id="groupColumns">select group_id, group_name, model, purpose, z, h, f, a, b, status, create_by, create_time, update_by, update_time, remark, del_flag from t_battery_group</sql>
|
<select id="selectBatteryGroupList" parameterType="TBatteryGroup" resultMap="TBatteryGroupResult">
|
select bg.group_id, bg.group_name, bg.model, bg.purpose, bg.z, bg.h, bg.f, bg.a, bg.b, bg.status,
|
bg.create_by, bg.create_time, bg.update_by, bg.update_time, bg.remark, bg.del_flag,
|
(select count(1) from t_battery_group_battery bgb where bgb.group_id = bg.group_id and bgb.del_flag = '0') as battery_count
|
from t_battery_group bg
|
<where>bg.del_flag = '0'
|
<if test="groupId != null">and bg.group_id = #{groupId}</if>
|
<if test="groupName != null and groupName != ''">and bg.group_name like concat('%', #{groupName}, '%')</if>
|
<if test="model != null and model != ''">and bg.model like concat('%', #{model}, '%')</if>
|
<if test="status != null and status != ''">and bg.status = #{status}</if>
|
<if test="createBy != null and createBy != ''">and bg.create_by like concat('%', #{createBy}, '%')</if>
|
<if test="beginCreateTime != null">and bg.create_time >= #{beginCreateTime}</if>
|
<if test="endCreateTime != null">and bg.create_time <= #{endCreateTime}</if>
|
</where> order by bg.create_time desc, bg.group_id desc
|
</select>
|
<select id="selectBatteryGroupCreatorOptions" resultType="map">
|
select distinct bg.create_by as userName, u.nick_name as nickName
|
from t_battery_group bg
|
left join sys_user u on u.user_name collate utf8mb4_general_ci = bg.create_by collate utf8mb4_general_ci
|
where bg.del_flag = '0' and bg.create_by is not null and bg.create_by != ''
|
order by bg.create_by
|
</select>
|
<select id="selectBatteryGroupById" parameterType="Long" resultMap="TBatteryGroupResult"><include refid="groupColumns"/> where group_id = #{groupId} and del_flag = '0'</select>
|
<select id="selectBatteryGroupByName" resultMap="TBatteryGroupResult"> <include refid="groupColumns"/> where group_name = #{groupName} and del_flag = '0' limit 1</select>
|
<select id="selectBatteries" parameterType="Long" resultMap="TBatteryGroupBatteryResult">select relation_id, group_id, battery_no, sort_order, del_flag from t_battery_group_battery where group_id = #{groupId} and del_flag = '0' order by sort_order, relation_id</select>
|
<select id="selectRelationFields" parameterType="Long" resultMap="TBatteryGroupRelationFieldResult">select r.relation_id, r.group_id, r.template_id, r.battery_group_field_id, f.field_name, f.field_type, r.del_flag from t_battery_group_relation_field r inner join t_battery_group_field f on f.field_id = r.battery_group_field_id and f.del_flag = '0' where r.group_id = #{groupId} and r.del_flag = '0' order by r.relation_id</select>
|
<select id="selectTemplate" resultType="TBatteryGroup">select template_id, template_name from t_battery_group_template where template_id = #{templateId}</select>
|
<select id="selectTemplateFieldIds" resultType="Long">select field_id from t_battery_group_template_field where template_id = #{templateId} and del_flag = '0' order by sort_order, relation_id</select>
|
<select id="selectValidTemplateFields" resultMap="TBatteryGroupRelationFieldResult">select r.relation_id, r.template_id, r.field_id as battery_group_field_id, f.field_name, f.field_type, '0' as del_flag from t_battery_group_template_field r inner join t_battery_group_field f on f.field_id = r.field_id and f.del_flag = '0' where r.template_id = #{templateId} and r.del_flag = '0' and r.field_id in <foreach collection="fieldIds" item="fieldId" open="(" separator="," close=")">#{fieldId}</foreach></select>
|
<select id="selectBatteryByNo" resultMap="TBatteryGroupBatteryResult">select relation_id, group_id, battery_no, sort_order, del_flag from t_battery_group_battery where battery_no = #{batteryNo} and del_flag = '0' limit 1</select>
|
<insert id="insertBatteryGroup" parameterType="TBatteryGroup" useGeneratedKeys="true" keyProperty="groupId">insert into t_battery_group (group_name, model, purpose, z, h, f, a, b, status, create_by, create_time, remark, del_flag) values (#{groupName}, #{model}, #{purpose}, #{z}, #{h}, #{f}, #{a}, #{b}, #{status}, #{createBy}, sysdate(), #{remark}, '0')</insert>
|
<update id="updateBatteryGroup" parameterType="TBatteryGroup">update t_battery_group set group_name=#{groupName}, model=#{model}, purpose=#{purpose}, z=#{z}, h=#{h}, f=#{f}, a=#{a}, b=#{b}, update_by=#{updateBy}, update_time=sysdate(), remark=#{remark} where group_id=#{groupId} and del_flag='0'</update>
|
<update id="updateBatteryGroupStatus" parameterType="TBatteryGroup">update t_battery_group set status=#{status}, update_by=#{updateBy}, update_time=sysdate() where group_id=#{groupId} and del_flag='0'</update>
|
<update id="deleteBatteryGroup">update t_battery_group set del_flag=cast(group_id as char), update_by=#{updateBy}, update_time=sysdate() where group_id=#{groupId} and del_flag='0'</update>
|
<update id="deleteBatteries">update t_battery_group_battery set del_flag=cast(relation_id as char) where group_id=#{groupId} and del_flag='0'</update>
|
<update id="deleteRelationFields">update t_battery_group_relation_field set del_flag=cast(relation_id as char) where group_id=#{groupId} and del_flag='0'</update>
|
<insert id="batchInsertBatteries">insert into t_battery_group_battery (group_id,battery_no,sort_order,del_flag) values <foreach collection="items" item="item" separator=",">(#{item.groupId},#{item.batteryNo},#{item.sortOrder},#{item.delFlag})</foreach></insert>
|
<insert id="batchInsertRelationFields">insert into t_battery_group_relation_field (group_id,template_id,battery_group_field_id,del_flag) values <foreach collection="items" item="item" separator=",">(#{item.groupId},#{item.templateId},#{item.batteryGroupFieldId},#{item.delFlag})</foreach></insert>
|
<select id="countTestingByGroupId" resultType="int">select count(1) from t_test_battery b inner join t_test t on t.test_id = b.test_id and t.del_flag = '0' where b.group_id=#{groupId} and b.del_flag='0' and t.status='1'</select>
|
</mapper>
|