<?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.BaseInventoryMapper" >
<resultMap type= "BaseInventory" id= "BaseInventoryResult" >
<result property= "id" column= "id" />
<result property= "tyreRfid" column= "tyre_rfid" />
<result property= "tyreOutsideId" column= "tyre_outside_id" />
<result property= "selfNo" column= "self_no" />
<result property= "tyreBrand" column= "tyre_brand" />
<result property= "tyreModel" column= "tyre_model" />
<result property= "number" column= "number" />
<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= "status" column= "status" />
<result property= "team" column= "team" />
</resultMap>
<sql id= "selectBaseInventoryVo" >
select id, tyre_rfid, tyre_outside_id, number, create_by, create_time, update_by, update_time, remark,status from base_inventory
</sql>
<select id= "selectBaseInventoryList" parameterType= "BaseInventory" resultMap= "BaseInventoryResult" >
select bi.id, bi.tyre_rfid, bi.tyre_outside_id,bt.self_no,bt.tyre_model,bi.number, su.user_name as create_by, bi.create_time, bi.update_by, bi.update_time, bi.remark,bi.status,
bt.tyre_brand,bt.team
from base_inventory bi
LEFT JOIN base_tyre bt ON bi.tyre_rfid = bt.tyre_epc
left join sys_user su ON su.login_name = bi.create_by
where bi.id is not null
<if test= "tyreRfid != null and tyreRfid != ''" > and bi.tyre_rfid = #{tyreRfid}</if>
<if test= "tyreOutsideId != null and tyreOutsideId != ''" > and bi.tyre_outside_id = #{tyreOutsideId}</if>
<if test= "selfNo != null and selfNo != ''" > and bt.self_no = #{selfNo}</if>
<if test= "number != null " > and bi.number = #{number}</if>
<if test= "status != null and status != ''" > and bi.status = #{status}</if>
<if test= "tyreModel != null and tyreModel != ''" > and bt.tyre_model = #{tyreModel}</if>
<if test= "deptId != null and deptId != ''" > and bt.dept_id IN (SELECT dept_id FROM sys_dept WHERE dept_id = #{deptId} OR find_in_set(#{deptId}, ancestors))</if>
${params.dataScope}
</select>
<select id= "selectBaseInventoryById" parameterType= "Long" resultMap= "BaseInventoryResult" >
<include refid= "selectBaseInventoryVo" />
where id = #{id}
</select>
<select id= "selectBaseInventoryByEpc" parameterType= "BaseInventory" resultMap= "BaseInventoryResult" >
<include refid= "selectBaseInventoryVo" />
<where >
<if test= "tyreRfid != null and tyreRfid != ''" > and tyre_rfid = #{tyreRfid}</if>
<if test= "tyreOutsideId != null and tyreOutsideId != ''" > and tyre_outside_id = #{tyreOutsideId}</if>
<if test= "number != null " > and number = #{number}</if>
</where>
</select>
<select id= "queryInCar" resultType= "java.lang.Integer" >
SELECT COUNT(*) FROM `base_tyre` WHERE `car_no` is not null
</select>
<select id= "queryCarTotal" resultType= "java.lang.Integer" >
SELECT COUNT(*) FROM `base_car`
</select>
<select id= "querytotal" resultType= "java.util.Map" >
SELECT
COUNT(bi.id) AS total,
COUNT(CASE WHEN bt.tyre_type IN ('全新胎', 'new') THEN 1 END) AS new,
COUNT(CASE WHEN bt.tyre_type IN ('circulating') THEN 1 END) AS circulating,
COUNT(CASE WHEN bt.tyre_type IN ('renovate') THEN 1 END) AS renovate,
COUNT(CASE WHEN bt.tyre_type IN ('experimental') THEN 1 END) AS experimental
FROM base_inventory bi
INNER JOIN base_tyre bt ON bi.tyre_rfid = bt.tyre_epc
WHERE bi.status = '0';
</select>
<insert id= "insertBaseInventory" parameterType= "BaseInventory" >
insert into base_inventory
<trim prefix= "(" suffix= ")" suffixOverrides= "," >
<if test= "tyreRfid != null and tyreRfid != ''" > tyre_rfid,</if>
<if test= "tyreOutsideId != null and tyreOutsideId != ''" > tyre_outside_id,</if>
<if test= "number != null " > number,</if>
<if test= "createBy != null and createBy != ''" > create_by,</if>
<if test= "createTime != null " > create_time,</if>
<if test= "updateBy != null and updateBy != ''" > update_by,</if>
<if test= "updateTime != null " > update_time,</if>
<if test= "remark != null and remark != ''" > remark,</if>
<if test= "status != null and status != ''" > status,</if>
</trim>
<trim prefix= "values (" suffix= ")" suffixOverrides= "," >
<if test= "id != null " > #{id},</if>
<if test= "tyreRfid != null and tyreRfid != ''" > #{tyreRfid},</if>
<if test= "tyreOutsideId != null and tyreOutsideId != ''" > #{tyreOutsideId},</if>
<if test= "number != null " > #{number},</if>
<if test= "createBy != null and createBy != ''" > #{createBy},</if>
<if test= "createTime != null " > #{createTime},</if>
<if test= "updateBy != null and updateBy != ''" > #{updateBy},</if>
<if test= "updateTime != null " > #{updateTime},</if>
<if test= "remark != null and remark != ''" > #{remark},</if>
<if test= "status != null and status != ''" > #{status},</if>
</trim>
</insert>
<update id= "updateBaseInventory" parameterType= "BaseInventory" >
update base_inventory
<trim prefix= "SET" suffixOverrides= "," >
<if test= "tyreRfid != null and tyreRfid != ''" > tyre_rfid = #{tyreRfid},</if>
<if test= "tyreOutsideId != null and tyreOutsideId != ''" > tyre_outside_id = #{tyreOutsideId},</if>
<if test= "number != null " > number = #{number},</if>
<if test= "createBy != null and createBy != ''" > create_by = #{createBy},</if>
<if test= "createTime != null " > create_time = #{createTime},</if>
<if test= "updateBy != null and updateBy != ''" > update_by = #{updateBy},</if>
<if test= "updateTime != null " > update_time = #{updateTime},</if>
<if test= "remark != null and remark != ''" > remark = #{remark},</if>
<if test= "status != null and status != ''" > status = #{status},</if>
</trim>
where id = #{id}
</update>
<update id= "updateBaseInventoryByEpc" parameterType= "BaseInventory" >
update base_inventory
<trim prefix= "SET" suffixOverrides= "," >
<if test= "updateBy != null and updateBy != ''" > update_by = #{updateBy},</if>
<if test= "updateTime != null " > update_time = #{updateTime},</if>
<if test= "status != null and status != ''" > status = #{status},</if>
</trim>
where tyre_rfid = #{tyreRfid}
</update>
<delete id= "deleteBaseInventoryById" parameterType= "Long" >
delete from base_inventory where id = #{id}
</delete>
<delete id= "deleteBaseInventoryByIds" parameterType= "String" >
delete from base_inventory where id in
<foreach item= "id" collection= "array" open= "(" separator= "," close= ")" >
#{id}
</foreach>
</delete>
<delete id= "deleteBaseInventoryByEpc" >
delete from base_inventory where tyre_rfid = #{tyreRfid}
</delete>
</mapper>