2024-12-11 13:26:02 +08:00
|
|
|
<?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.bonus.material.basic.mapper.BmQrBoxMapper">
|
|
|
|
|
|
2024-12-20 13:18:35 +08:00
|
|
|
<select id="findBoxInfoByKey" resultType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
2024-12-20 14:01:09 +08:00
|
|
|
select * from bm_qrcode_box bqb
|
2024-12-20 13:18:35 +08:00
|
|
|
<where>
|
|
|
|
|
<if test="boxId != null">and bqb.box_id = #{boxId}</if>
|
|
|
|
|
<if test="boxCode != null and boxCode != ''">and bqb.box_code = #{boxCode}</if>
|
|
|
|
|
<if test="boxType != null">and bqb.box_type = #{boxType}</if>
|
|
|
|
|
</where>
|
|
|
|
|
</select>
|
|
|
|
|
|
2024-12-11 13:26:02 +08:00
|
|
|
<select id="find" resultType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
|
|
|
|
select
|
2024-12-20 10:52:01 +08:00
|
|
|
bqb.box_id as boxId,
|
|
|
|
|
bqb.box_name as boxName,
|
|
|
|
|
bqb.box_code as boxCode,
|
|
|
|
|
bqb.box_type as boxType,
|
|
|
|
|
bqb.box_status as status,
|
2024-12-25 18:33:19 +08:00
|
|
|
case bqb.box_status
|
|
|
|
|
when '0' then '待创建'
|
|
|
|
|
when '1' then '待录入'
|
|
|
|
|
when '2' then '待移交'
|
|
|
|
|
when '3' then '待接收'
|
|
|
|
|
when '4' then '已接收'
|
|
|
|
|
when '5' then '移交被驳回'
|
|
|
|
|
else ''
|
|
|
|
|
end as statusName,
|
2024-12-20 10:52:01 +08:00
|
|
|
bqb.create_by as createBy,
|
|
|
|
|
bqb.create_time as createTime,
|
|
|
|
|
bqb.update_by as updateBy,
|
|
|
|
|
bqb.update_time as updateTime,
|
2025-01-10 17:51:49 +08:00
|
|
|
bqb.transfer_user as transferUser,
|
|
|
|
|
bqb.input_user as inputUser,
|
2024-12-20 10:52:01 +08:00
|
|
|
mm.type_id as maTypeId,
|
|
|
|
|
COUNT(qbb.box_id) as devNum
|
2024-12-12 11:10:03 +08:00
|
|
|
from bm_qrcode_box bqb
|
2024-12-20 10:52:01 +08:00
|
|
|
left join bm_qrcode_box_bind qbb on bqb.box_id = qbb.box_id
|
|
|
|
|
left join ma_machine mm on qbb.ma_id = mm.ma_id
|
2024-12-11 13:26:02 +08:00
|
|
|
<where>
|
2024-12-12 11:10:03 +08:00
|
|
|
<if test="boxId != null">and bqb.box_id = #{boxId}</if>
|
|
|
|
|
<if test="boxName != null and boxName != ''">and bqb.box_name like concat('%',#{boxName},'%')</if>
|
|
|
|
|
<if test="boxCode != null and boxCode != ''">and bqb.box_code like concat('%',#{boxCode},'%')</if>
|
|
|
|
|
<if test="boxType != null">and bqb.box_type = #{boxType}</if>
|
|
|
|
|
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
|
|
|
|
<![CDATA[ AND DATE_FORMAT( bqb.create_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} ]]>
|
|
|
|
|
</if>
|
|
|
|
|
<if test="keyWord != null and keyWord != ''">
|
2024-12-20 10:52:01 +08:00
|
|
|
AND (
|
|
|
|
|
bqb.box_name like concat('%',#{keyWord},'%')
|
|
|
|
|
OR bqb.box_code like concat('%',#{keyWord},'%')
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="statusList != null and statusList != ''">
|
|
|
|
|
AND bqb.box_status in
|
|
|
|
|
<foreach item="key" collection="statusList" open="(" separator="," close=")">
|
|
|
|
|
#{key}
|
|
|
|
|
</foreach>
|
2024-12-12 11:10:03 +08:00
|
|
|
</if>
|
2024-12-11 13:26:02 +08:00
|
|
|
</where>
|
2024-12-12 11:10:03 +08:00
|
|
|
GROUP BY bqb.box_id
|
|
|
|
|
order by bqb.create_time desc
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="countBmQrcodeInfoByBoxId" resultType="java.lang.Integer">
|
2024-12-20 10:52:01 +08:00
|
|
|
select count(1) from bm_qrcode_box_bind where box_id = #{boxId}
|
2024-12-12 11:10:03 +08:00
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="getList" resultType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
|
|
|
|
SELECT
|
2024-12-20 10:52:01 +08:00
|
|
|
qb.id as id,qb.box_id as boxId,qb.create_by as createBy,
|
2024-12-12 11:10:03 +08:00
|
|
|
mt1.type_name as typeName,
|
|
|
|
|
mt.type_name as typeModelName,
|
2025-01-10 17:51:49 +08:00
|
|
|
mm.ma_id as maId,mm.ma_code as maCode,mm.type_id as maTypeId,
|
|
|
|
|
mm.buy_task as taskId
|
2024-12-12 11:10:03 +08:00
|
|
|
FROM
|
2024-12-20 10:52:01 +08:00
|
|
|
bm_qrcode_box_bind qb
|
|
|
|
|
LEFT JOIN ma_machine mm ON qb.ma_id = mm.ma_id
|
|
|
|
|
LEFT JOIN ma_type mt ON mm.type_id = mt.type_id AND mt.del_flag = '0'
|
|
|
|
|
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0'
|
|
|
|
|
<where>
|
|
|
|
|
<if test="boxId != null">and qb.box_id = #{boxId}</if>
|
2024-12-12 11:10:03 +08:00
|
|
|
<if test="keyWord != null and keyWord != ''">
|
2024-12-20 10:52:01 +08:00
|
|
|
AND (
|
|
|
|
|
mt1.type_name like concat('%',#{keyWord},'%')
|
|
|
|
|
OR mt.type_name like concat('%',#{keyWord},'%')
|
|
|
|
|
OR mm.ma_code like concat('%',#{keyWord},'%')
|
|
|
|
|
)
|
2024-12-12 11:10:03 +08:00
|
|
|
</if>
|
2024-12-20 10:52:01 +08:00
|
|
|
</where>
|
2024-12-11 13:26:02 +08:00
|
|
|
</select>
|
|
|
|
|
|
2024-12-12 11:10:03 +08:00
|
|
|
<insert id="insertBmQrcodeInfo" parameterType="com.bonus.material.basic.domain.BmQrBoxInfo" useGeneratedKeys="true" keyProperty="boxId">
|
2024-12-11 13:26:02 +08:00
|
|
|
insert into bm_qrcode_box
|
|
|
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
2024-12-12 11:10:03 +08:00
|
|
|
<if test="boxCode != null">box_code,</if>
|
|
|
|
|
<if test="boxName != null and boxName != ''">box_name,</if>
|
|
|
|
|
<if test="boxType != null">box_type,</if>
|
2024-12-11 13:26:02 +08:00
|
|
|
<if test="createBy != null">create_by,</if>
|
|
|
|
|
<if test="createTime != null">create_time,</if>
|
|
|
|
|
</trim>
|
|
|
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
2024-12-12 11:10:03 +08:00
|
|
|
<if test="boxCode != null">#{boxCode},</if>
|
|
|
|
|
<if test="boxName != null and boxName != ''">#{boxName},</if>
|
|
|
|
|
<if test="boxType != null">#{boxType},</if>
|
2024-12-11 13:26:02 +08:00
|
|
|
<if test="createBy != null">#{createBy},</if>
|
|
|
|
|
<if test="createTime != null">#{createTime},</if>
|
|
|
|
|
</trim>
|
|
|
|
|
</insert>
|
|
|
|
|
|
2024-12-20 10:52:01 +08:00
|
|
|
<update id="updateBmQrcodeInfoById" parameterType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
2024-12-11 13:26:02 +08:00
|
|
|
update bm_qrcode_box
|
|
|
|
|
<trim prefix="SET" suffixOverrides=",">
|
2024-12-12 11:10:03 +08:00
|
|
|
<if test="boxCode != null">box_code = #{boxCode},</if>
|
|
|
|
|
<if test="boxType != null">box_type = #{boxType},</if>
|
|
|
|
|
<if test="boxName != null and boxName != ''">box_name = #{boxName},</if>
|
2024-12-20 10:52:01 +08:00
|
|
|
<if test="status != null and status != ''">box_status = #{status} ,</if>
|
2024-12-11 13:26:02 +08:00
|
|
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
|
|
|
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
2024-12-20 10:52:01 +08:00
|
|
|
<if test="transferUser != null">transfer_user = #{transferUser},</if>
|
|
|
|
|
<if test="inputUser != null">input_user = #{inputUser},</if>
|
2024-12-11 13:26:02 +08:00
|
|
|
</trim>
|
2024-12-12 11:10:03 +08:00
|
|
|
where box_id = #{boxId}
|
2024-12-11 13:26:02 +08:00
|
|
|
</update>
|
|
|
|
|
|
2024-12-20 10:52:01 +08:00
|
|
|
<update id="updateBmQrcodeInfoByCode" parameterType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
|
|
|
|
update bm_qrcode_box
|
|
|
|
|
<trim prefix="SET" suffixOverrides=",">
|
|
|
|
|
<if test="boxType != null">box_type = #{boxType},</if>
|
|
|
|
|
<if test="boxName != null and boxName != ''">box_name = #{boxName},</if>
|
|
|
|
|
<if test="status != null">box_status = #{status},</if>
|
|
|
|
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
|
|
|
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
|
|
|
|
</trim>
|
|
|
|
|
where box_code = #{boxCode}
|
|
|
|
|
</update>
|
|
|
|
|
|
2024-12-11 13:26:02 +08:00
|
|
|
<delete id="deleteById">
|
2024-12-25 18:19:23 +08:00
|
|
|
delete from bm_qrcode_box where box_id = #{boxId}
|
2024-12-11 13:26:02 +08:00
|
|
|
</delete>
|
2024-12-20 10:52:01 +08:00
|
|
|
|
|
|
|
|
<delete id="unBindQrcodeBox">
|
2024-12-25 18:19:23 +08:00
|
|
|
delete from bm_qrcode_box_bind where id = #{id}
|
2024-12-20 10:52:01 +08:00
|
|
|
</delete>
|
|
|
|
|
|
2024-12-20 16:14:23 +08:00
|
|
|
<delete id="deleteBoxBind">
|
2025-01-13 18:03:20 +08:00
|
|
|
delete from bm_qrcode_box_bind where ma_id = #{maId}
|
2024-12-20 16:14:23 +08:00
|
|
|
</delete>
|
|
|
|
|
|
2024-12-20 10:52:01 +08:00
|
|
|
<insert id="addQrcodeBoxBind">
|
|
|
|
|
insert into bm_qrcode_box_bind
|
|
|
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
|
|
|
<if test="maId != null">ma_id,</if>
|
|
|
|
|
<if test="boxId != null">box_id,</if>
|
|
|
|
|
<if test="createBy != null and createBy != ''">create_by,</if>
|
|
|
|
|
<if test="createTime != null">create_time,</if>
|
|
|
|
|
</trim>
|
|
|
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
|
|
|
<if test="maId != null">#{maId},</if>
|
|
|
|
|
<if test="boxId != null">#{boxId},</if>
|
|
|
|
|
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
|
|
|
|
<if test="createTime != null">#{createTime},</if>
|
|
|
|
|
</trim>
|
|
|
|
|
</insert>
|
|
|
|
|
|
|
|
|
|
<update id="updateBmQrcodeStatus">
|
|
|
|
|
update bm_qrcode_box
|
|
|
|
|
<trim prefix="SET" suffixOverrides=",">
|
|
|
|
|
<if test="status != null and status != ''">box_status = IF(box_status = 1,#{status},box_status) ,</if>
|
|
|
|
|
</trim>
|
|
|
|
|
where box_id = #{boxId}
|
|
|
|
|
</update>
|
|
|
|
|
|
|
|
|
|
<select id="getBoxMaTypeList" resultType="java.lang.Long">
|
|
|
|
|
SELECT DISTINCT(mm.type_id) from bm_qrcode_box_bind qbb
|
|
|
|
|
LEFT JOIN ma_machine mm on mm.ma_id = qbb.ma_id
|
|
|
|
|
WHERE qbb.box_id = #{boxId}
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="existsMaId" resultType="int">
|
|
|
|
|
select count(1) from bm_qrcode_box_bind where ma_id = #{maId}
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="getBoxBindList" resultType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
|
|
|
|
SELECT
|
|
|
|
|
qb.id as id, qb.box_id as boxId, qb.create_by as createBy, qb.create_time,
|
|
|
|
|
mt1.type_name as typeName,
|
|
|
|
|
mt.type_name as typeModelName,
|
|
|
|
|
mm.ma_id as maId,mm.ma_code as maCode,mm.type_id as maTypeId,
|
|
|
|
|
sdd.dict_label as maStatus
|
|
|
|
|
FROM
|
|
|
|
|
bm_qrcode_box_bind qb
|
|
|
|
|
LEFT JOIN ma_machine mm ON qb.ma_id = mm.ma_id
|
|
|
|
|
LEFT JOIN sys_dict_data sdd ON sdd.dict_type = 'ma_machine_status' and sdd.dict_value = mm.ma_status
|
|
|
|
|
LEFT JOIN ma_type mt ON mm.type_id = mt.type_id AND mt.del_flag = '0'
|
|
|
|
|
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0'
|
|
|
|
|
<where>
|
|
|
|
|
qb.box_id = #{boxId}
|
|
|
|
|
</where>
|
|
|
|
|
</select>
|
2024-12-20 16:14:23 +08:00
|
|
|
|
|
|
|
|
<select id="getBoxBindListByCode" resultType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
|
|
|
|
SELECT qb.id as id,
|
|
|
|
|
qb.box_id as boxId,
|
|
|
|
|
qb.create_by as createBy,
|
|
|
|
|
qb.create_time as createTime,
|
|
|
|
|
mt1.type_name as typeName,
|
|
|
|
|
mt.type_name as typeModelName,
|
|
|
|
|
mm.ma_id as maId,
|
|
|
|
|
mm.ma_code as maCode,
|
|
|
|
|
mm.type_id as maTypeId,
|
|
|
|
|
mm.ma_status as maStatus
|
|
|
|
|
FROM bm_qrcode_box_bind qb
|
|
|
|
|
LEFT JOIN ma_machine mm ON qb.ma_id = mm.ma_id
|
|
|
|
|
LEFT JOIN ma_type mt ON mm.type_id = mt.type_id AND mt.del_flag = '0'
|
|
|
|
|
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0'
|
|
|
|
|
LEFT JOIN bm_qrcode_box bqb ON qb.box_id = bqb.box_id
|
|
|
|
|
where
|
|
|
|
|
bqb.box_code = #{boxCode} AND
|
|
|
|
|
mt.type_id = #{maTypeId}
|
|
|
|
|
</select>
|
2024-12-25 18:19:23 +08:00
|
|
|
|
|
|
|
|
<select id="getMaInfoByQrCode" resultType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
|
|
|
|
select
|
2025-01-24 15:53:08 +08:00
|
|
|
bqi.id as id, bqi.qr_code as qrCode, bqi.type_id as maTypeId, bqi.ma_code as maCode, mm.ma_id as maId, mm.ma_status as maStatus
|
2024-12-25 18:19:23 +08:00
|
|
|
from
|
|
|
|
|
bm_qrcode_info bqi
|
|
|
|
|
left join
|
|
|
|
|
ma_machine mm on bqi.type_id = mm.type_id and bqi.ma_code = mm.ma_code
|
|
|
|
|
where
|
2025-01-10 14:07:24 +08:00
|
|
|
bqi.del_flag is null or bqi.del_flag = '0' and bqi.qr_code = #{qrCode}
|
2024-12-25 18:19:23 +08:00
|
|
|
group by
|
|
|
|
|
bqi.id limit 1
|
|
|
|
|
</select>
|
2025-01-03 14:07:12 +08:00
|
|
|
|
|
|
|
|
<select id="getBoxCodeList" resultType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
|
|
|
|
SELECT qb.id as id,
|
|
|
|
|
qb.box_id as boxId,
|
|
|
|
|
qb.create_by as createBy,
|
|
|
|
|
qb.create_time as createTime,
|
|
|
|
|
mt1.type_name as typeName,
|
|
|
|
|
mt.type_name as typeModelName,
|
|
|
|
|
mm.ma_id as maId,
|
|
|
|
|
mm.ma_code as maCode,
|
|
|
|
|
mm.type_id as maTypeId,
|
|
|
|
|
mm.ma_status as maStatus
|
|
|
|
|
FROM bm_qrcode_box_bind qb
|
|
|
|
|
LEFT JOIN ma_machine mm ON qb.ma_id = mm.ma_id
|
|
|
|
|
LEFT JOIN ma_type mt ON mm.type_id = mt.type_id AND mt.del_flag = '0'
|
|
|
|
|
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0'
|
|
|
|
|
LEFT JOIN bm_qrcode_box bqb ON qb.box_id = bqb.box_id
|
|
|
|
|
where
|
|
|
|
|
mm.ma_status = '5' AND
|
|
|
|
|
bqb.box_code = #{boxCode} AND
|
|
|
|
|
mt.type_id = #{maTypeId}
|
|
|
|
|
</select>
|
2025-01-10 14:07:24 +08:00
|
|
|
|
2025-01-10 14:11:26 +08:00
|
|
|
<select id="getBoxBindMaBuyTaskByBoxId" resultType="java.lang.String">
|
2025-01-10 14:07:24 +08:00
|
|
|
select
|
|
|
|
|
mm.buy_task
|
|
|
|
|
from
|
|
|
|
|
bm_qrcode_box_bind qbb
|
|
|
|
|
LEFT JOIN
|
|
|
|
|
ma_machine mm ON mm.ma_id = qbb.ma_id
|
|
|
|
|
where
|
|
|
|
|
qbb.box_id = #{boxId}
|
|
|
|
|
group by
|
|
|
|
|
qbb.box_id LIMIT 1
|
|
|
|
|
</select>
|
2025-01-10 17:51:49 +08:00
|
|
|
|
|
|
|
|
<select id="getBoxBindListById" resultType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
|
|
|
|
SELECT
|
|
|
|
|
qb.id as id,qb.box_id as boxId,qb.create_by as createBy,
|
|
|
|
|
mt1.type_name as typeName,
|
|
|
|
|
mt.type_name as typeModelName,
|
|
|
|
|
mm.ma_id as maId,mm.ma_code as maCode,mm.type_id as maTypeId,
|
|
|
|
|
mm.buy_task as taskId
|
|
|
|
|
FROM
|
|
|
|
|
bm_qrcode_box_bind qb
|
|
|
|
|
LEFT JOIN ma_machine mm ON qb.ma_id = mm.ma_id
|
|
|
|
|
LEFT JOIN ma_type mt ON mm.type_id = mt.type_id AND mt.del_flag = '0'
|
|
|
|
|
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0'
|
|
|
|
|
where
|
|
|
|
|
(mm.ma_status = 0 or mm.ma_status =5) and
|
|
|
|
|
qb.box_id = #{boxId}
|
|
|
|
|
</select>
|
2025-01-15 17:34:00 +08:00
|
|
|
|
|
|
|
|
<select id="selectByMaId" resultType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
|
|
|
|
SELECT
|
|
|
|
|
qb.id as id,qb.box_id as boxId,qb.create_by as createBy,
|
|
|
|
|
mt1.type_name as typeName,
|
|
|
|
|
mt.type_name as typeModelName,
|
|
|
|
|
mm.ma_id as maId,mm.ma_code as maCode,mm.type_id as maTypeId,
|
|
|
|
|
mm.buy_task as taskId
|
|
|
|
|
FROM
|
|
|
|
|
bm_qrcode_box_bind qb
|
|
|
|
|
LEFT JOIN ma_machine mm ON qb.ma_id = mm.ma_id
|
|
|
|
|
LEFT JOIN ma_type mt ON mm.type_id = mt.type_id AND mt.del_flag = '0'
|
|
|
|
|
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0'
|
|
|
|
|
where
|
|
|
|
|
qb.ma_id = #{maId}
|
|
|
|
|
</select>
|
2024-12-11 13:26:02 +08:00
|
|
|
</mapper>
|