Bonus-Cloud-Material/bonus-modules/bonus-material/src/main/resources/mapper/material/clz/MaterialMachineMapper.xml

610 lines
24 KiB
XML
Raw Normal View History

2025-06-27 14:43:33 +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.clz.mapper.MaterialMachineMapper">
<select id="getMachineInfo" resultType="com.bonus.material.ma.domain.Machine">
SELECT
mt3.type_name AS materialName,
mt2.type_name AS typeName,
mt1.type_name AS typeCode,
mt.type_name AS maModel,
mm.ma_code AS maCode,
mm.qr_code AS qrCode,
mm.ma_status AS maStatus,
mm.this_check_time AS thisCheckTime,
mm.next_check_time AS nextCheckTime,
mm.inspect_man AS checkMan,
mm.out_fac_time AS outFacTime,
mm.create_time AS inputTime,
2025-07-08 15:06:27 +08:00
mm.ma_id AS maId,
bp.imp_unit AS impUnit,
bu.bzz_idcard AS idCard
2025-06-27 14:43:33 +08:00
FROM
slt_agreement_info sai
left join ma_machine mm ON sai.type_id = mm.type_id and mm.ma_id = sai.ma_id
left join ma_type mt ON mt.type_id = mm.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 ma_type mt2 ON mt1.parent_id = mt2.type_id and mt2.del_flag = 0
left join ma_type mt3 ON mt3.type_id = mt2.parent_id and mt3.del_flag = 0
2025-07-08 15:06:27 +08:00
LEFT JOIN bm_agreement_info bai ON sai.agreement_id = bai.agreement_id
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id
2025-06-27 14:43:33 +08:00
WHERE sai.`status` = '0' and mm.ma_code is not NULL
<if test="keyWord != null and keyWord != ''">
and (
mt3.type_name like concat('%', #{keyWord}, '%') or
mt2.type_name like concat('%', #{keyWord}, '%') or
mt1.type_name like concat('%', #{keyWord}, '%') or
mt.type_name like concat('%', #{keyWord}, '%') or
mm.ma_code like concat('%', #{keyWord}, '%') or
mm.qr_code like concat('%', #{keyWord}, '%') or
mm.inspect_man like concat('%', #{keyWord}, '%')
)
</if>
<if test="typeCode != null and typeCode != ''">
and mt1.type_name like concat('%', #{typeCode}, '%')
</if>
<if test="maModel != null and maModel != ''">
and mt.type_name like concat('%', #{maModel}, '%')
</if>
GROUP BY
2025-07-07 19:07:11 +08:00
mm.ma_id
2025-06-27 14:43:33 +08:00
</select>
<select id="getRetainedEquipmentList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
SELECT
mt.type_id AS typeId,
mt4.type_name AS constructionType,
mt4.type_id AS firstTypeId,
mt3.type_name AS materialType,
mt3.type_id AS secondTypeId,
mt2.type_name AS typeName,
mt2.type_id AS thirdTypeId,
mt.type_name AS typeModelName,
mt.unit_name AS unit,
2025-07-05 13:22:39 +08:00
IFNULL(mt.lease_price, 0) AS buyPrice,
2025-07-05 17:27:05 +08:00
subquery1.proId AS proId,
subquery1.proName AS proName,
subquery1.externalId AS externalId,
2025-07-08 14:35:00 +08:00
subquery1.impUnit AS impUnit,
subquery1.idCard AS idCard,
2025-07-05 17:27:05 +08:00
IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0) AS storeNum,
2025-06-27 14:43:33 +08:00
IFNULL(subquery3.usNum, 0) AS usNum,
2025-07-05 17:27:05 +08:00
IFNULL(subquery1.usNum, 0) AS allNum,
2025-06-27 14:43:33 +08:00
CASE mt.manage_type
WHEN 0 THEN
'编码'
ELSE
'数量'
END manageType
FROM ma_type mt
LEFT JOIN (
SELECT
mt.type_id,
mt4.type_name AS constructionType,
mt4.type_id AS firstTypeId,
mt3.type_name AS materialType,
mt3.type_id AS secondTypeId,
mt2.type_name AS typeName,
mt2.type_id AS thirdTypeId,
mt.type_name AS typeModelName,
2025-07-05 13:22:39 +08:00
SUM(IFNULL( sai.num, 0 )) AS usNum,
bp.pro_name as proName,
2025-07-05 17:27:05 +08:00
bp.pro_id as proId,
2025-07-08 14:35:00 +08:00
bp.external_id as externalId,
bp.imp_unit AS impUnit,
bu.bzz_idcard AS idCard
2025-06-27 14:43:33 +08:00
FROM
slt_agreement_info sai
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
2025-07-05 13:22:39 +08:00
LEFT JOIN bm_agreement_info bai ON sai.agreement_id = bai.agreement_id
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
2025-07-08 14:35:00 +08:00
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id
AND bu.del_flag = '0'
2025-06-27 14:43:33 +08:00
WHERE
sai.`status` = '0'
AND sai.end_time IS NULL
AND sai.back_id IS NULL
2025-07-05 13:22:39 +08:00
GROUP BY mt.type_id, bp.pro_id
2025-06-27 14:43:33 +08:00
) AS subquery1
ON mt.type_id = subquery1.type_id
LEFT JOIN (
SELECT
mt.type_id,
mt4.type_name AS constructionType,
2025-07-05 13:22:39 +08:00
mt4.type_id AS firstTypeId,
2025-06-27 14:43:33 +08:00
mt3.type_name AS materialType,
2025-07-05 13:22:39 +08:00
mt3.type_id AS secondTypeId,
mt2.type_name AS typeName,
mt2.type_id AS thirdTypeId,
mt.type_name AS typeModelName,
SUM(IFNULL( sai.num, 0 )) AS usNum,
bp.pro_name as proName,
2025-07-05 17:27:05 +08:00
bp.pro_id as proId,
2025-07-08 14:35:00 +08:00
bp.external_id as externalId,
bp.imp_unit AS impUnit,
bu.bzz_idcard AS idCard
2025-07-05 13:22:39 +08:00
FROM
clz_slt_agreement_info sai
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
2025-06-27 14:43:33 +08:00
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
2025-07-05 13:22:39 +08:00
LEFT JOIN clz_bm_agreement_info bai ON sai.agreement_id = bai.agreement_id
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
2025-07-08 14:35:00 +08:00
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id
AND bu.del_flag = '0'
2025-07-05 13:22:39 +08:00
WHERE
sai.`status` = '0'
AND sai.end_time IS NULL
AND sai.back_id IS NULL
GROUP BY mt.type_id, bp.pro_id
) AS subquery3
2025-06-27 14:43:33 +08:00
ON mt.type_id = subquery3.type_id
2025-07-05 17:27:05 +08:00
AND subquery1.proId = subquery3.proId
2025-06-27 14:43:33 +08:00
LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
WHERE mt.`level` = 4 and mt.del_flag = '0'
<if test="typeId != null">
<if test="level == 3">
and mt.parent_id = #{typeId}
</if>
<if test="level == 2">
and mt2.parent_id = #{typeId}
</if>
</if>
<if test="keyWord != null and keyWord != ''">
and (
mt4.type_name like concat('%',#{keyWord},'%') or
mt3.type_name like concat('%',#{keyWord},'%') or
mt2.type_name like concat('%',#{keyWord},'%') or
2025-07-05 17:27:05 +08:00
mt.type_name like concat('%',#{keyWord},'%') or
subquery1.proName like concat('%',#{keyWord},'%')
2025-06-27 14:43:33 +08:00
)
</if>
<if test="typeName != null and typeName != ''">
and mt2.type_name like concat('%',#{typeName},'%')
</if>
<if test="typeModelName != null and typeModelName != ''">
and mt.type_name like concat('%',#{typeModelName},'%')
</if>
2025-07-05 13:22:39 +08:00
GROUP BY
mt.type_id,
2025-07-05 17:27:05 +08:00
subquery1.proId
2025-06-27 14:43:33 +08:00
</select>
<select id="getMaCodeList"
resultType="com.bonus.material.clz.domain.machine.MaterialStorageInfo">
SELECT
mt2.type_name AS typeName,
mt.type_name AS typeModelName,
mt.lease_price AS buyPrice,
sai.num AS storeNum,
mm.ma_code AS maCode,
bt.unit_name AS teamName,
sai.lease_id AS leaseId,
sai.type_id AS typeId,
2025-07-05 17:27:05 +08:00
lai.code AS code,
sai.ma_id AS maId
2025-06-27 14:43:33 +08:00
FROM
slt_agreement_info sai
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id
LEFT JOIN ma_machine mm ON mm.ma_id = sai.ma_id
LEFT JOIN bm_agreement_info bai ON bai.agreement_id = sai.agreement_id
LEFT JOIN bm_unit bt ON bai.unit_id = bt.unit_id
LEFT JOIN lease_apply_info lai ON lai.id = sai.lease_id
2025-07-05 17:27:05 +08:00
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
2025-06-27 14:43:33 +08:00
WHERE
sai.status = '0'
AND sai.end_time IS NULL
AND sai.back_id IS NULL
<if test="typeId != null">
AND sai.type_id = #{typeId}
</if>
2025-07-05 17:27:05 +08:00
<if test="proId != null and proId != ''">
AND bp.pro_id = #{proId}
</if>
2025-06-27 14:43:33 +08:00
</select>
<select id="selectInFo" resultType="com.bonus.material.clz.domain.machine.MaterialStorageInfo">
SELECT
lod.create_time as inputTime,
GROUP_CONCAT( DISTINCT su.nick_name ) AS inputUser
FROM
lease_out_details lod
LEFT JOIN sys_user su on su.user_id = lod.create_by
WHERE lod.parent_id = #{leaseId}
GROUP BY lod.parent_id
LIMIT 1
</select>
<select id="getTeamUseNumList"
resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
SELECT
bt.unit_name AS teamName,
mt.type_name AS typeModelName,
mt2.type_name AS typeName,
SUM(IFNULL(sai.num, 0)) AS usNum,
2025-07-08 14:35:00 +08:00
mt2.type_id AS typeId,
bp.imp_unit AS impUnit,
bt.bzz_idcard AS idCard
2025-06-27 14:43:33 +08:00
FROM
2025-07-08 14:35:00 +08:00
clz_slt_agreement_info sai
LEFT JOIN clz_bm_agreement_info bai ON sai.agreement_id = bai.agreement_id
2025-06-27 14:43:33 +08:00
LEFT JOIN bm_unit bt ON bai.unit_id = bt.unit_id
2025-07-08 14:35:00 +08:00
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
2025-06-27 14:43:33 +08:00
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id
WHERE
sai.end_time IS NULL
AND sai.back_id IS NULL
<if test="teamId != null">
AND bt.unit_id = #{teamId}
</if>
<if test="teamName != null">
AND bt.unit_name LIKE concat('%',#{teamName},'%')
</if>
<if test="keyWord != null and keyWord != ''">
AND (
mt2.type_name LIKE concat('%',#{keyWord},'%')
OR mt.type_name LIKE concat('%',#{keyWord},'%')
OR bt.unit_name LIKE concat('%',#{keyWord},'%')
)
</if>
GROUP BY
bt.unit_name,
mt2.type_name;
</select>
<select id="getTeamUseNumDetailsList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
SELECT
bt.unit_name AS teamName,
mt.type_name AS typeModelName,
mt2.type_name AS typeName,
SUM(IFNULL(sai.num, 0)) AS usNum,
mm.ma_code AS maCode,
mm.this_check_time AS thisCheckTime,
mm.next_check_time AS nextCheckTime,
2025-07-08 14:35:00 +08:00
mt.manage_type AS manageType,
bp.imp_unit AS impUnit,
bt.bzz_idcard AS idCard
2025-06-27 14:43:33 +08:00
FROM
clz_slt_agreement_info sai
2025-07-04 18:07:30 +08:00
LEFT JOIN clz_bm_agreement_info bai ON sai.agreement_id = bai.agreement_id
2025-06-27 14:43:33 +08:00
LEFT JOIN bm_unit bt ON bai.unit_id = bt.unit_id
2025-07-08 14:35:00 +08:00
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
2025-06-27 14:43:33 +08:00
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id
LEFT JOIN ma_machine mm ON mm.ma_id = sai.ma_id
WHERE
sai.end_time IS NULL
AND sai.back_id IS NULL
<if test="typeId != null">
and mt2.type_id = #{typeId}
</if>
<if test="teamId != null">
AND bt.unit_id = #{teamId}
</if>
<if test="teamName != null">
AND bt.unit_name LIKE concat('%',#{teamName},'%')
</if>
<if test="keyWord != null and keyWord != ''">
AND (
mt2.type_name LIKE concat('%',#{keyWord},'%')
OR mt.type_name LIKE concat('%',#{keyWord},'%')
OR bt.unit_name LIKE concat('%',#{keyWord},'%')
OR mm.ma_code LIKE concat('%',#{keyWord},'%')
)
</if>
GROUP BY
mt.type_name,
mt2.type_name,
2025-07-08 14:35:00 +08:00
mm.ma_id
2025-06-27 14:43:33 +08:00
</select>
<select id="getTeamData" resultType="com.bonus.material.clz.domain.BmTeam">
SELECT
unit_id as id,
unit_name as teamName
FROM
bm_unit
WHERE bzz_idcard = #{username}
LIMIT 1
</select>
<select id="getToolsLedgerList"
resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
SELECT
mt.type_id AS typeId,
mt4.type_name AS constructionType,
mt4.type_id AS firstTypeId,
mt3.type_name AS materialType,
mt3.type_id AS secondTypeId,
mt2.type_name AS typeName,
mt2.type_id AS thirdTypeId,
mt.type_name AS typeModelName,
mt.unit_name AS unit,
IFNULL(mt.lease_price, 0) AS buyPrice,
IFNULL(subquery1.usNum, 0) AS storeNum,
CASE mt.manage_type
WHEN 0 THEN
'编码'
ELSE
'数量'
2025-07-08 14:35:00 +08:00
END manageType,
subquery1.impUnit AS impUnit,
subquery1.idCard AS idCard
2025-06-27 14:43:33 +08:00
FROM ma_type mt
LEFT JOIN (
SELECT
mt.type_id,
mt4.type_name AS constructionType,
2025-07-08 14:35:00 +08:00
mt4.type_id AS firstTypeId,
2025-06-27 14:43:33 +08:00
mt3.type_name AS materialType,
2025-07-08 14:35:00 +08:00
mt3.type_id AS secondTypeId,
mt2.type_name AS typeName,
mt2.type_id AS thirdTypeId,
mt.type_name AS typeModelName,
SUM(IFNULL( sai.num, 0 )) AS usNum,
bp.imp_unit AS impUnit,
bt.bzz_idcard AS idCard
FROM
slt_agreement_info sai
LEFT JOIN bm_agreement_info bai ON sai.agreement_id = bai.agreement_id
LEFT JOIN bm_unit bt ON bai.unit_id = bt.unit_id
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
2025-06-27 14:43:33 +08:00
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
2025-07-08 14:35:00 +08:00
WHERE
sai.`status` = '0'
AND sai.end_time IS NULL
AND sai.back_id IS NULL
GROUP BY mt.type_id ) AS subquery1
2025-06-27 14:43:33 +08:00
ON mt.type_id = subquery1.type_id
LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
WHERE mt.`level` = 4
and mt.del_flag = '0'
and mt2.type_name is not null
and mt2.type_id is not null
<if test="keyWord != null and keyWord != ''">
and (mt2.type_name like concat('%',#{keyWord},'%')
OR mt.type_name like concat('%',#{keyWord},'%') )
</if>
</select>
<select id="getToolsLedgerDetailsList"
resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
SELECT
bt.unit_name AS teamName,
mt.type_name AS typeModelName,
mt1.type_name AS typeName,
mm.ma_code AS maCode,
mm.this_check_time AS thisCheckTime,
mm.next_check_time AS nextCheckTime,
mt.manage_type AS manageType
FROM
slt_agreement_info sai
LEFT JOIN bm_agreement_info bai ON sai.agreement_id = bai.agreement_id
LEFT JOIN bm_unit bt ON bai.unit_id = bt.unit_id
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
LEFT JOIN ma_type mt1 ON mt1.parent_id = mt1.type_id
LEFT JOIN ma_machine mm ON mm.ma_id = sai.ma_id
WHERE
sai.status = '0'
AND sai.end_time IS NULL
AND sai.back_id IS NULL
<if test="typeId != null">
and mt.type_id = #{typeId}
</if>
<if test="maCode != null and maCode != ''">
AND mm.ma_code like concat('%',#{maCode},'%')
</if>
GROUP BY
mt.type_name,
mt1.type_name,
mm.ma_code
</select>
<select id="getToolsDetailsListByTeam"
resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
SELECT aa.typeName,
aa.typeModelName,
mm.ma_code as maCode,
mm.this_check_time as thisCheckTime,
mm.next_check_time as nextCheckTime
FROM (SELECT t1.maId,
t1.typeName,
t1.typeModelName,
t1.typeId,
t1.thirdTypeId,
t1.manageType
FROM (SELECT lod.ma_id as maId,
mt2.type_name as typeName,
mt1.type_name as typeModelName,
lod.type_id as typeId,
mt2.type_id as thirdTypeId,
mt1.manage_type as manageType,
mt1.buy_price as buyPrice,
mt1.unit_name as unit,
COUNT(*) as count
FROM
clz_lease_out_details lod
LEFT JOIN clz_lease_apply_info lai
on lai.id=lod.parent_id
LEFT JOIN ma_type mt1 on mt1.type_id=lod.type_id
LEFT JOIN ma_type mt2 on mt2.type_id=mt1.parent_id
WHERE
lai.team_id = #{teamId}
and lod.is_finished='1'
and lod.type_id = #{typeId}
GROUP BY lod.ma_id, lod.type_id) t1
LEFT JOIN (SELECT bcd.ma_id as maId,
COUNT(*) as count
FROM
clz_back_check_details bcd
LEFT JOIN clz_back_apply_info bai
on bai.id=bcd.parent_id
LEFT JOIN tm_task tt on tt.task_id = bai.task_id
LEFT JOIN tm_task_agreement tta on tta.task_id = tt.task_id
2025-07-04 18:07:30 +08:00
LEFT JOIN clz_bm_agreement_info bagi on bagi.agreement_id = tta.agreement_id
2025-06-27 14:43:33 +08:00
WHERE
bagi.unit_id = #{teamId}
and bcd.is_finished='1'
and bcd.type_id = #{typeId}
GROUP BY bcd.ma_id) t2 ON t1.maId = t2.maId
WHERE t1.count > IFNULL(t2.count, 0)) aa
LEFT JOIN ma_machine mm
on aa.maId = mm.ma_id
</select>
<select id="getToolsDetailsList"
resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
SELECT
bt.unit_name AS teamName,
mt.type_name AS typeModelName,
mt1.type_name AS typeName,
mm.ma_code AS maCode,
mm.this_check_time AS thisCheckTime,
mm.next_check_time AS nextCheckTime,
mt.manage_type AS manageType
FROM
slt_agreement_info sai
LEFT JOIN bm_agreement_info bai ON sai.agreement_id = bai.agreement_id
LEFT JOIN bm_unit bt ON bai.unit_id = bt.unit_id
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
LEFT JOIN ma_type mt1 ON mt1.parent_id = mt1.type_id
LEFT JOIN ma_machine mm ON mm.ma_id = sai.ma_id
WHERE
sai.status = '0'
AND sai.end_time IS NULL
AND sai.back_id IS NULL
<if test="typeId != null">
and mt.type_id = #{typeId}
</if>
<if test="keyWord != null and keyWord != ''">
AND (mm.ma_code like concat('%',#{keyWord},'%')
OR mt1.type_name like concat('%',#{keyWord},'%')
OR mt.type_name like concat('%',#{keyWord},'%'))
</if>
GROUP BY
mt.type_name,
mt1.type_name,
2025-07-08 15:06:27 +08:00
mm.ma_id
2025-06-27 14:43:33 +08:00
</select>
<select id="selectStatusById" resultType="com.bonus.material.clz.domain.vo.MaterialSltAgreementInfo">
SELECT
type_id as typeId,
ma_id as maId,
status as status
FROM clz_slt_agreement_info
WHERE status = '0' and ma_id = #{maId}
</select>
<select id="getSltAgreementInfo" resultType="com.bonus.material.ma.domain.Machine">
SELECT
mt3.type_name AS materialName,
mt2.type_name AS typeName,
mt1.type_name AS typeCode,
mt.type_name AS maModel,
mm.ma_code AS maCode,
mm.qr_code AS qrCode,
mm.ma_status AS maStatus,
mm.this_check_time AS thisCheckTime,
mm.next_check_time AS nextCheckTime,
mm.inspect_man AS checkMan,
mm.out_fac_time AS outFacTime,
mm.create_time AS inputTime,
mm.ma_id AS maId
FROM
clz_slt_agreement_info sai
left join ma_machine mm ON sai.type_id = mm.type_id and mm.ma_id = sai.ma_id
left join ma_type mt ON mt.type_id = mm.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 ma_type mt2 ON mt1.parent_id = mt2.type_id and mt2.del_flag = 0
left join ma_type mt3 ON mt3.type_id = mt2.parent_id and mt3.del_flag = 0
WHERE mm.ma_code is not NULL
<if test="keyWord != null and keyWord != ''">
and (
mt3.type_name like concat('%', #{keyWord}, '%') or
mt2.type_name like concat('%', #{keyWord}, '%') or
mt1.type_name like concat('%', #{keyWord}, '%') or
mt.type_name like concat('%', #{keyWord}, '%') or
mm.ma_code like concat('%', #{keyWord}, '%') or
mm.qr_code like concat('%', #{keyWord}, '%') or
mm.inspect_man like concat('%', #{keyWord}, '%')
)
</if>
<if test="typeCode != null and typeCode != ''">
and mt1.type_name like concat('%', #{typeCode}, '%')
</if>
<if test="maModel != null and maModel != ''">
and mt.type_name like concat('%', #{maModel}, '%')
</if>
GROUP BY
2025-07-07 19:07:11 +08:00
mm.ma_id
2025-06-27 14:43:33 +08:00
</select>
<select id="getUserRecords" resultType="com.bonus.material.clz.domain.machine.MaterialUseStorageInfo">
SELECT
mt2.type_name AS typeName,
mt.type_name AS typeModelName,
mt.lease_price AS buyPrice,
sai.num AS usNum,
mm.ma_code AS maCode,
bt.unit_name AS teamName,
sai.lease_id AS leaseId,
sai.type_id AS typeId,
2025-07-05 17:27:05 +08:00
lai.code AS code,
sai.ma_id AS maId
2025-06-27 14:43:33 +08:00
FROM
clz_slt_agreement_info sai
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id
LEFT JOIN ma_machine mm ON mm.ma_id = sai.ma_id
2025-07-04 18:07:30 +08:00
LEFT JOIN clz_bm_agreement_info bai ON bai.agreement_id = sai.agreement_id
2025-06-27 14:43:33 +08:00
LEFT JOIN bm_unit bt ON bai.unit_id = bt.unit_id
LEFT JOIN clz_lease_apply_info lai ON lai.id = sai.lease_id
2025-07-05 17:27:05 +08:00
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
2025-06-27 14:43:33 +08:00
WHERE
sai.status = '0'
AND sai.end_time IS NULL
AND sai.back_id IS NULL
<if test="typeId != null">
AND sai.type_id = #{typeId}
</if>
2025-07-05 17:27:05 +08:00
<if test="proId != null and proId != ''">
AND bp.pro_id = #{proId}
</if>
2025-06-27 14:43:33 +08:00
</select>
<select id="selectUseInFo" resultType="com.bonus.material.clz.domain.machine.MaterialUseStorageInfo">
SELECT
create_time as outTime,
GROUP_CONCAT( DISTINCT create_by ) AS creator
FROM
clz_lease_out_details
WHERE parent_id = #{leaseId}
GROUP BY parent_id
LIMIT 1
</select>
2025-07-08 15:06:27 +08:00
<select id="selectStatusByUserId" resultType="com.bonus.material.clz.domain.vo.MaterialSltAgreementInfo">
SELECT
type_id as typeId,
ma_id as maId,
status as status
FROM clz_slt_agreement_info
WHERE status = '1' and ma_id = #{maId}
</select>
2025-06-27 14:43:33 +08:00
</mapper>