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

718 lines
29 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,
mm.ma_id AS maId
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
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
mm.ma_code
</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,
IFNULL(mt.lease_price, 0) AS buyPrice,
IFNULL(subquery1.usNum, 0) AS storeNum,
IFNULL(subquery3.usNum, 0) AS usNum,
IFNULL(subquery1.usNum, 0) + IFNULL(subquery3.usNum, 0)
AS allNum,
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,
SUM(IFNULL( sai.num, 0 )) AS usNum
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
WHERE
sai.`status` = '0'
AND sai.end_time IS NULL
AND sai.back_id IS NULL
GROUP BY mt.type_id
) AS subquery1
ON mt.type_id = subquery1.type_id
LEFT JOIN (
SELECT
subquery3.type_id,
subquery3.typeName,
subquery3.typeModelName,
IFNULL(subquery3.outNum, 0) AS outNum,
IFNULL(subquery4.backNum, 0) AS backNum,
CASE
WHEN IFNULL(subquery3.outNum, 0) - IFNULL(subquery4.backNum, 0) > 0 THEN
IFNULL(subquery3.outNum, 0) - IFNULL(subquery4.backNum, 0)
ELSE 0
END AS usNum
FROM (
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,
SUM(IFNULL(lod.out_num, 0)) AS outNum
FROM clz_lease_out_details lod
LEFT JOIN ma_type mt ON mt.type_id = lod.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 lod.is_finished = '1'
GROUP BY mt.type_id) AS subquery3
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,
SUM(IFNULL(bcd.back_num, 0)) backNum
FROM clz_back_check_details bcd
LEFT JOIN ma_type mt ON mt.type_id = bcd.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
LEFT JOIN ma_machine mm ON mm.ma_id = bcd.ma_id
WHERE bcd.is_finished = '1'
GROUP BY mt.type_id) AS subquery4
ON subquery3.type_id = subquery4.type_id) AS subquery3
ON mt.type_id = subquery3.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'
<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
mt.type_name like concat('%',#{keyWord},'%')
)
</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>
</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,
lai.code AS code
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
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>
</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,
mt2.type_id AS typeId
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 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,
mt.manage_type AS manageType
FROM
clz_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 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="teamLeaderIdCard != null">
AND bt.bzz_idcard = #{teamLeaderIdCard}
</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,
mm.ma_code
</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="getToolsLedgerListByTeam" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
SELECT
COALESCE(t1.typeName, t2.typeName) AS typeName,
COALESCE(t1.typeModelName, t2.typeModelName) AS typeModelName,
COALESCE(t1.typeId, t2.typeId) AS typeId,
COALESCE(t1.thirdTypeId, t2.thirdTypeId) AS thirdTypeId,
CASE COALESCE(t1.manageType, t2.manageType)
WHEN 0 THEN
'编码'
ELSE
'数量'
END manageType,
COALESCE(t1.buyPrice, t2.buyPrice) AS buyPrice,
COALESCE(t1.unit, t2.unit) AS unit,
COALESCE(t1.storeNum, 0) - COALESCE(t2.storeNum, 0) AS storeNum
FROM (
SELECT
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,
SUM(lod.out_num) as storeNum
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 = #{id}
AND lod.is_finished = '1'
GROUP BY lod.type_id
) AS t1
LEFT JOIN (
SELECT
mt2.type_name as typeName,
mt1.type_name as typeModelName,
bcd.type_id as typeId,
mt2.type_id as thirdTypeId,
mt1.manage_type as manageType,
mt1.buy_price as buyPrice,
mt1.unit_name as unit,
SUM(bcd.back_num) as storeNum
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
LEFT JOIN bm_agreement_info bagi ON bagi.agreement_id = tta.agreement_id
LEFT JOIN ma_type mt1 ON mt1.type_id = bcd.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt1.parent_id
WHERE bagi.unit_id = #{id}
AND bcd.is_finished = '1'
GROUP BY bcd.type_id
) AS t2 ON t1.typeId = t2.typeId
UNION
SELECT
COALESCE(t1.typeName, t2.typeName) AS typeName,
COALESCE(t1.typeModelName, t2.typeModelName) AS typeModelName,
COALESCE(t1.typeId, t2.typeId) AS typeId,
COALESCE(t1.thirdTypeId, t2.thirdTypeId) AS thirdTypeId,
COALESCE(t1.manageType, t2.manageType) AS manageType,
COALESCE(t1.buyPrice, t2.buyPrice) AS buyPrice,
COALESCE(t1.unit, t2.unit) AS unit,
COALESCE(t1.storeNum, 0) - COALESCE(t2.storeNum, 0) AS diff_num
FROM (
SELECT
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,
SUM(lod.out_num) as storeNum
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 = #{id}
AND lod.is_finished = '1'
GROUP BY lod.type_id
) AS t1
RIGHT JOIN (
SELECT
mt2.type_name as typeName,
mt1.type_name as typeModelName,
bcd.type_id as typeId,
mt2.type_id as thirdTypeId,
mt1.manage_type as manageType,
mt1.buy_price as buyPrice,
mt1.unit_name as unit,
SUM(bcd.back_num) as storeNum
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
LEFT JOIN bm_agreement_info bagi ON bagi.agreement_id = tta.agreement_id
LEFT JOIN ma_type mt1 ON mt1.type_id = bcd.type_id
LEFT JOIN ma_type mt2 ON mt2.type_id = mt1.parent_id
WHERE bagi.unit_id = #{id}
AND bcd.is_finished = '1'
GROUP BY bcd.type_id
) AS t2 ON t1.typeId = t2.typeId
WHERE t1.typeId IS NULL
</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
'数量'
END manageType
FROM ma_type mt
LEFT JOIN (
SELECT
subquery1.type_id,
subquery1.constructionType,
subquery1.firstTypeId,
subquery1.materialType,
subquery1.secondTypeId,
subquery1.typeName,
subquery1.thirdTypeId,
subquery1.typeModelName,
IFNULL(subquery1.outNum, 0) AS outNum,
IFNULL(subquery2.backNum, 0) AS backNum,
CASE
WHEN IFNULL(subquery1.outNum, 0) - IFNULL(subquery2.backNum, 0) > 0 THEN
IFNULL(subquery1.outNum, 0) - IFNULL(subquery2.backNum, 0)
ELSE 0
END AS usNum
FROM (
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,
SUM(IFNULL(lod.out_num, 0)) AS outNum
FROM lease_out_details lod
LEFT JOIN ma_type mt ON mt.type_id = lod.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
GROUP BY mt.type_id) AS subquery1
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,
SUM(IFNULL(bcd.back_num, 0)) backNum
FROM back_check_details bcd
LEFT JOIN ma_type mt ON mt.type_id = bcd.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
LEFT JOIN ma_machine mm ON mm.ma_id = bcd.ma_id
WHERE bcd.is_finished = '1'
GROUP BY mt.type_id) AS subquery2
ON subquery1.type_id = subquery2.type_id) AS subquery1
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
LEFT JOIN bm_agreement_info bagi on bagi.agreement_id = tta.agreement_id
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,
mm.ma_code
</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
mm.ma_code
</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,
lai.code AS code
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
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 clz_lease_apply_info lai ON lai.id = sai.lease_id
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>
</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>
</mapper>