1756 lines
72 KiB
XML
1756 lines
72 KiB
XML
<?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
|
||
sd.dept_name AS impUnitName,
|
||
bu.unit_name as leaseUnit,
|
||
bp.pro_name as leaseProject,
|
||
bp.pro_center AS departName,
|
||
mt3.type_name AS materialName,
|
||
mt1.type_name AS typeName,
|
||
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.check_man AS checkMan,
|
||
mm.out_fac_time AS outFacTime,
|
||
sai.start_time AS inputTime,
|
||
mm.ma_id AS maId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard,
|
||
bp.external_id as externalId
|
||
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
|
||
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
|
||
left join sys_dept sd on sd.dept_id = bp.imp_unit
|
||
WHERE sai.`status` = '0' and mm.ma_code is not NULL
|
||
<if test="keyWord != null and keyWord != ''">
|
||
and (
|
||
mt1.type_name like concat('%',#{keyWord},'%') or
|
||
mm.inspect_man like concat('%',#{keyWord},'%') or
|
||
mm.ma_code like concat('%',#{keyWord},'%')
|
||
)
|
||
</if>
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
and sd.dept_name like concat('%', #{impUnitName}, '%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
and bp.pro_center like concat('%', #{departName}, '%')
|
||
</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>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
and bp.imp_unit = #{impUnit}
|
||
</if>
|
||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||
<![CDATA[and DATE_FORMAT( mm.create_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} ]]>
|
||
</if>
|
||
<if test="checkStartTime != null and checkStartTime != '' and checkEndTime != null and checkEndTime != ''">
|
||
<![CDATA[and DATE_FORMAT( mm.this_check_time, '%Y-%m-%d' ) BETWEEN #{checkStartTime} AND #{checkEndTime} ]]>
|
||
</if>
|
||
<if test="nextStartTime != null and nextStartTime != '' and nextEndTime != null and nextEndTime != ''">
|
||
<![CDATA[and DATE_FORMAT( mm.next_check_time, '%Y-%m-%d' ) BETWEEN #{nextStartTime} AND #{nextEndTime} ]]>
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
and bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
GROUP BY
|
||
mm.ma_id
|
||
</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,
|
||
subquery1.proId AS proId,
|
||
subquery1.proName AS proName,
|
||
subquery1.externalId AS externalId,
|
||
subquery1.impUnit AS impUnit,
|
||
subquery1.idCard AS idCard,
|
||
IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0) AS storeNum,
|
||
IFNULL(subquery3.usNum, 0) AS usNum,
|
||
IFNULL(subquery1.usNum, 0) AS allNum,
|
||
CASE mt.manage_type
|
||
WHEN 0 THEN
|
||
'编码'
|
||
ELSE
|
||
'数量'
|
||
END manageType,
|
||
subquery1.proCenter AS proCenter
|
||
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,
|
||
bp.pro_name as proName,
|
||
bp.pro_id as proId,
|
||
bp.external_id as externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard,
|
||
bp.pro_center AS proCenter
|
||
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
|
||
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
|
||
AND bu.del_flag = '0'
|
||
WHERE
|
||
sai.`status` = '0'
|
||
AND sai.is_slt = '0'
|
||
AND sai.end_time IS NULL
|
||
AND sai.back_id IS NULL
|
||
GROUP BY mt.type_id, bp.pro_id
|
||
) AS subquery1
|
||
ON mt.type_id = subquery1.type_id
|
||
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,
|
||
bp.pro_name as proName,
|
||
bp.pro_id as proId,
|
||
bp.external_id as externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard,
|
||
bp.pro_center AS proCenter
|
||
FROM
|
||
clz_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
|
||
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
|
||
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id
|
||
AND bu.del_flag = '0'
|
||
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
|
||
ON mt.type_id = subquery3.type_id
|
||
AND subquery1.proId = subquery3.proId
|
||
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="proId != null">
|
||
and subquery1.proId = #{proId}
|
||
</if>
|
||
<if test="proCenter != null and proCenter != ''">
|
||
and subquery1.proCenter like concat('%',#{proCenter},'%')
|
||
</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},'%') or
|
||
subquery1.proName 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>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
and subquery1.impUnit = #{impUnit}
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
and subquery1.externalId in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
GROUP BY
|
||
mt.type_id,
|
||
subquery1.proId,
|
||
subquery1.proCenter
|
||
</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,
|
||
sai.ma_id AS maId
|
||
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
|
||
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_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>
|
||
<if test="proId != null and proId != ''">
|
||
AND bp.pro_id = #{proId}
|
||
</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,
|
||
bp.imp_unit AS impUnit,
|
||
bt.bzz_idcard AS idCard,
|
||
bp.external_id as externalId
|
||
FROM
|
||
clz_slt_agreement_info sai
|
||
LEFT JOIN clz_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
|
||
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 teamId != ''">
|
||
AND bt.unit_id = #{teamId}
|
||
</if>
|
||
<if test="teamName != null and teamName != ''">
|
||
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>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
and bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</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,
|
||
bp.imp_unit AS impUnit,
|
||
bt.bzz_idcard AS idCard,
|
||
bp.pro_name AS proName,
|
||
CASE
|
||
WHEN mm.next_check_time < CURDATE() THEN 3 -- 已超过当前时间
|
||
WHEN DATEDIFF(mm.next_check_time, CURDATE()) <= 30 THEN 2 -- 相差不足1个月
|
||
WHEN DATEDIFF(mm.next_check_time, CURDATE()) <= 90 THEN 1 -- 相差不足3个月
|
||
ELSE 0 -- 相差3个月以上
|
||
END AS status
|
||
FROM
|
||
clz_slt_agreement_info sai
|
||
LEFT JOIN clz_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
|
||
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.status = '0'
|
||
AND sai.end_time IS NULL
|
||
AND sai.back_id IS NULL
|
||
<if test="typeId != null">
|
||
and mt2.type_id = #{typeId}
|
||
</if>
|
||
<if test="maId != null">
|
||
and sai.ma_id = #{maId}
|
||
</if>
|
||
<if test="teamId != null and teamId != ''">
|
||
AND bt.unit_id = #{teamId}
|
||
</if>
|
||
<if test="teamName != null and teamName != ''">
|
||
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>
|
||
<if test="jiJuType != null and jiJuType != 0">
|
||
and mt.jiju_type = #{jiJuType}
|
||
</if>
|
||
GROUP BY
|
||
mt.type_name,
|
||
mt2.type_name,
|
||
mm.ma_id
|
||
</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}
|
||
</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,
|
||
subquery1.externalId AS externalId,
|
||
subquery1.impUnit AS impUnit,
|
||
subquery1.idCard AS idCard,
|
||
IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0) AS storeNum,
|
||
IFNULL(subquery3.usNum, 0) AS usNum,
|
||
IFNULL(subquery1.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,
|
||
bp.external_id as externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard
|
||
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
|
||
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
|
||
AND bu.del_flag = '0'
|
||
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
|
||
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,
|
||
bp.external_id as externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard
|
||
FROM
|
||
clz_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
|
||
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
|
||
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id
|
||
AND bu.del_flag = '0'
|
||
WHERE
|
||
sai.`status` = '0'
|
||
AND sai.end_time IS NULL
|
||
AND sai.back_id IS NULL
|
||
GROUP BY mt.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="keyWord != null and keyWord != ''">
|
||
and (mt2.type_name like concat('%',#{keyWord},'%')
|
||
OR mt.type_name like concat('%',#{keyWord},'%') )
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
and subquery1.externalId in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
GROUP BY
|
||
mt.type_id
|
||
</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,
|
||
bp.external_id as externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bt.bzz_idcard AS idCard,
|
||
CASE
|
||
WHEN mm.next_check_time < CURDATE() THEN 3 -- 已超过当前时间
|
||
WHEN DATEDIFF(mm.next_check_time, CURDATE()) <= 30 THEN 2 -- 相差不足1个月
|
||
WHEN DATEDIFF(mm.next_check_time, CURDATE()) <= 90 THEN 1 -- 相差不足3个月
|
||
ELSE 0 -- 相差3个月以上
|
||
END AS status
|
||
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
|
||
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>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
and bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
GROUP BY
|
||
mt.type_name,
|
||
mt1.type_name,
|
||
mm.ma_id
|
||
</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 clz_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,
|
||
CASE
|
||
WHEN mm.next_check_time < CURDATE() THEN 3 -- 已超过当前时间
|
||
WHEN DATEDIFF(mm.next_check_time, CURDATE()) <= 30 THEN 2 -- 相差不足1个月
|
||
WHEN DATEDIFF(mm.next_check_time, CURDATE()) <= 90 THEN 1 -- 相差不足3个月
|
||
ELSE 0 -- 相差3个月以上
|
||
END AS status
|
||
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 mt.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_id
|
||
</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,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard,
|
||
bp.external_id as externalId
|
||
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
|
||
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
|
||
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id
|
||
WHERE mm.ma_code is not NULL
|
||
<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>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
and bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
GROUP BY
|
||
mm.ma_id
|
||
</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,
|
||
sai.ma_id AS maId,
|
||
bp.pro_name AS proName
|
||
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 clz_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
|
||
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_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>
|
||
<if test="proId != null and proId != ''">
|
||
AND bp.pro_id = #{proId}
|
||
</if>
|
||
</select>
|
||
|
||
<select id="selectUseInFo" resultType="com.bonus.material.clz.domain.machine.MaterialUseStorageInfo">
|
||
SELECT
|
||
cld.create_time as outTime,
|
||
GROUP_CONCAT( DISTINCT su.nick_name ) AS creator
|
||
FROM
|
||
clz_lease_out_details cld
|
||
left join sys_user su ON su.user_id = cld.create_by
|
||
WHERE parent_id = #{leaseId}
|
||
GROUP BY parent_id
|
||
LIMIT 1
|
||
</select>
|
||
|
||
<select id="getTotalList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
SELECT * FROM (
|
||
-- 原查询(包含status计算)
|
||
SELECT
|
||
sd.dept_name as impUnitName,
|
||
bp.pro_center AS departName,
|
||
mt3.type_name as materialName,
|
||
mt2.type_name AS typeName,
|
||
mt.type_name AS typeModelName,
|
||
sai.ma_id AS maId,
|
||
mm.ma_code AS maCode,
|
||
mm.ex_code AS reportCode,
|
||
mm.ex_url AS reportUrl,
|
||
mm.this_check_time AS thisCheckTime,
|
||
mm.next_check_time AS nextCheckTime,
|
||
bp.imp_unit AS impUnit,
|
||
mt.manage_type AS manageType,
|
||
-- 计算status的CASE表达式
|
||
CASE
|
||
-- WHEN mm.next_check_time < CURDATE() THEN 3 -- 已超过当前时间
|
||
WHEN DATEDIFF(mm.next_check_time, CURDATE()) <= 30 THEN 2 -- 相差不足1个月
|
||
WHEN DATEDIFF(mm.next_check_time, CURDATE()) <= 90 THEN 1 -- 相差不足3个月
|
||
ELSE 0 -- 相差3个月以上
|
||
END AS status,
|
||
bp.pro_name AS proName,
|
||
bu.unit_name AS teamName
|
||
FROM
|
||
slt_agreement_info sai
|
||
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 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_type mt3 ON mt2.parent_id = mt3.type_id
|
||
LEFT JOIN ma_machine mm ON mm.ma_id = sai.ma_id
|
||
LEFT JOIN clz_slt_agreement_info csi ON mm.ma_id = csi.ma_id
|
||
LEFT JOIN clz_bm_agreement_info cba ON csi.agreement_id = cba.agreement_id
|
||
LEFT JOIN bm_unit bu ON cba.unit_id = bu.unit_id
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
WHERE
|
||
sai.`status` = '0'
|
||
AND mm.ma_status = 2
|
||
AND mt.jiju_type = 2
|
||
AND sai.ma_id IS NOT NULL
|
||
AND mt2.type_id not in (6032,6008,6270,6012,6761)
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
and sd.dept_name LIKE CONCAT('%', #{impUnitName}, '%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
and bp.pro_center LIKE CONCAT('%', #{departName}, '%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
and bp.pro_name LIKE CONCAT('%', #{proName}, '%')
|
||
</if>
|
||
<if test="materialName != null and materialName != ''">
|
||
and mt3.type_name LIKE CONCAT('%', #{materialName}, '%')
|
||
</if>
|
||
<if test="teamName != null and teamName != ''">
|
||
and bu.unit_name LIKE CONCAT('%', #{teamName}, '%')
|
||
</if>
|
||
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
||
<![CDATA[ AND DATE_FORMAT( mm.this_check_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} ]]>
|
||
</if>
|
||
<if test="agreementIdList != null and agreementIdList.size >0">
|
||
AND sai.agreement_id IN
|
||
<foreach item="item" collection="agreementIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="deptId != null">
|
||
AND bp.imp_unit = #{deptId}
|
||
</if>
|
||
<if test="keyWord != null and keyWord != ''">
|
||
and (
|
||
bu.unit_name like concat('%',#{keyWord},'%') or
|
||
bp.pro_name like concat('%',#{keyWord},'%') or
|
||
mt2.type_name like concat('%',#{keyWord},'%') or
|
||
mt.type_name like concat('%',#{keyWord},'%') or
|
||
mm.ma_code like concat('%',#{keyWord},'%') or
|
||
mm.ex_code like concat('%',#{keyWord},'%')
|
||
)
|
||
</if>
|
||
) AS temp -- 子查询别名
|
||
-- 对计算出的status进行筛选
|
||
<if test="status != null and status != ''">
|
||
WHERE temp.status = #{status}
|
||
</if>
|
||
-- 排序:proName和teamName都不为空的排在最前面
|
||
ORDER BY
|
||
-- 核心排序逻辑:两个字段都不为空的记录优先级最高
|
||
CASE
|
||
WHEN temp.proName IS NOT NULL AND temp.proName != ''
|
||
AND temp.teamName IS NOT NULL AND temp.teamName != '' THEN 0 -- 优先排在前面
|
||
ELSE 1 -- 其他情况排在后面
|
||
END ASC,
|
||
-- 可根据需要添加其他排序字段(如原顺序或时间)
|
||
temp.maId ASC -- 示例:按maId升序排列(可选)
|
||
</select>
|
||
|
||
<select id="getTeamNumList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedTeamTotalVo">
|
||
SELECT
|
||
sd.dept_name AS impUnitName,
|
||
bp.pro_center AS departName,
|
||
bu.unit_id as teamId,
|
||
bu.unit_name as teamName,
|
||
bu.link_man as teamLeaderIdCard,
|
||
SUM( sai.num ) as usNum,
|
||
bu.bzz_idcard as idCard,
|
||
bp.imp_unit as impUnit,
|
||
bp.pro_name as proName,
|
||
bz.ssfbdw AS subUnitName
|
||
FROM
|
||
bm_unit bu
|
||
LEFT JOIN clz_bm_agreement_info bai ON bu.unit_id = bai.unit_id
|
||
LEFT JOIN clz_slt_agreement_info sai ON bai.agreement_id = sai.agreement_id
|
||
LEFT JOIN bm_project bp ON bp.pro_id = bai.project_id
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
LEFT JOIN `micro-tool`.bzgl_bz bz ON bp.external_id = bz.project_id
|
||
AND bz.bzmc = bu.unit_name
|
||
WHERE
|
||
sai.`status` = 0 and bu.type_id = 1731
|
||
<if test="keyWord != null and keyWord != ''">
|
||
and (
|
||
bu.unit_name like concat('%',#{keyWord},'%') or
|
||
bu.link_man like concat('%',#{keyWord},'%')
|
||
)
|
||
</if>
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
and sd.dept_name LIKE CONCAT('%', #{impUnitName}, '%')
|
||
</if>
|
||
<if test="subUnitName != null and subUnitName != ''">
|
||
and bz.ssfbdw LIKE CONCAT('%', #{subUnitName}, '%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
and bp.pro_center LIKE CONCAT('%', #{departName}, '%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
and bp.pro_name LIKE CONCAT('%', #{proName}, '%')
|
||
</if>
|
||
<if test="teamName != null and teamName != ''">
|
||
and bu.unit_name LIKE CONCAT('%', #{teamName}, '%')
|
||
</if>
|
||
GROUP BY
|
||
bu.unit_id
|
||
</select>
|
||
|
||
<select id="getTeamNumSecondList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedTeamVo">
|
||
SELECT
|
||
mt2.type_name AS typeName,
|
||
mt.type_name AS typeModelName,
|
||
SUM(sai.num) AS usNum,
|
||
bt.unit_name AS teamName,
|
||
sai.lease_id AS leaseId,
|
||
sai.type_id AS typeId,
|
||
lai.code AS code,
|
||
lai.lease_person AS leasePerson,
|
||
mt.manage_type AS manageType,
|
||
sai.agreement_id AS agreementId,
|
||
mt.unit_name as unitName
|
||
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 clz_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
|
||
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
|
||
WHERE
|
||
sai.status = '0'
|
||
AND bt.unit_id = #{teamId}
|
||
<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
|
||
lai.code like concat('%',#{keyWord},'%') or
|
||
lai.lease_person like concat('%',#{keyWord},'%')
|
||
)
|
||
</if>
|
||
GROUP BY sai.type_id
|
||
</select>
|
||
|
||
<select id="getTeamNumThirdList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
SELECT
|
||
mt2.type_name AS typeName,
|
||
mt.type_name AS typeModelName,
|
||
sai.type_id AS typeId,
|
||
sai.ma_id AS maId,
|
||
mm.ma_code AS maCode
|
||
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
|
||
WHERE
|
||
sai.STATUS = '0'
|
||
AND sai.agreement_id = #{agreementId}
|
||
AND sai.type_id = #{typeId}
|
||
<if test="keyWord != null and keyWord != ''">
|
||
and (
|
||
mt2.type_name like concat('%',#{keyWord},'%') or
|
||
mt.type_name like concat('%',#{keyWord},'%') or
|
||
mm.ma_code like concat('%',#{keyWord},'%')
|
||
)
|
||
</if>
|
||
GROUP BY
|
||
sai.ma_id
|
||
</select>
|
||
|
||
<select id="getTotalInfoList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
SELECT
|
||
subquery1.externalId AS externalId,
|
||
subquery1.impUnit AS impUnit,
|
||
subquery1.idCard AS idCard,
|
||
IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0) AS storeNum,
|
||
IFNULL(subquery3.usNum, 0) AS usNum,
|
||
IFNULL(subquery1.usNum, 0) AS allNum,
|
||
CASE mt.manage_type WHEN 0 THEN '编码' ELSE '数量' END AS manageType,
|
||
subquery1.proId AS proId,
|
||
subquery1.proName AS proName,
|
||
subquery1.proCenter AS proCenter
|
||
FROM ma_type mt
|
||
LEFT JOIN (
|
||
SELECT
|
||
mt.type_id,
|
||
SUM(IFNULL(sai.num, 0)) AS usNum,
|
||
bp.pro_name AS proName,
|
||
bp.pro_id AS proId,
|
||
bp.external_id AS externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard,
|
||
bp.pro_center AS proCenter
|
||
FROM slt_agreement_info sai
|
||
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
|
||
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 AND bu.del_flag = '0'
|
||
WHERE
|
||
sai.`status` = '0'
|
||
AND sai.is_slt = '0'
|
||
AND sai.end_time IS NULL
|
||
AND sai.back_id IS NULL
|
||
<if test="proId != null">
|
||
AND bp.pro_id = #{proId}
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id IN
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
GROUP BY mt.type_id, bp.pro_id, bp.pro_name, bp.external_id, bp.imp_unit, bu.bzz_idcard, bp.pro_center
|
||
) AS subquery1 ON mt.type_id = subquery1.type_id
|
||
LEFT JOIN (
|
||
SELECT
|
||
mt.type_id,
|
||
SUM(IFNULL(sai.num, 0)) AS usNum,
|
||
bp.pro_id AS proId
|
||
FROM clz_slt_agreement_info sai
|
||
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
|
||
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
|
||
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id AND bu.del_flag = '0'
|
||
WHERE
|
||
sai.`status` = '0'
|
||
AND sai.end_time IS NULL
|
||
AND sai.back_id IS NULL
|
||
<if test="proId != null">
|
||
AND bp.pro_id = #{proId}
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id IN
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
GROUP BY mt.type_id, bp.pro_id
|
||
) AS subquery3
|
||
ON mt.type_id = subquery3.type_id
|
||
AND subquery1.proId IS NOT NULL
|
||
AND subquery1.proId = subquery3.proId
|
||
WHERE
|
||
mt.`level` = 4
|
||
AND mt.del_flag = '0'
|
||
AND subquery1.usNum > 0
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND subquery1.impUnit = #{impUnit}
|
||
</if>
|
||
</select>
|
||
|
||
<select id="getTeamInOrOutInfo" resultType="com.bonus.material.clz.domain.TeamVo">
|
||
SELECT DISTINCT
|
||
bzgl_bz.ssfbdw AS subcontractor,
|
||
bzgl_bz.bzmc AS teamName,
|
||
bzgl_bz.bzz_name AS teamLeaderName,
|
||
bzgl_bz.bz_status AS teamStatus,
|
||
CASE bzgl_bz.bz_status
|
||
WHEN '1' THEN '空闲'
|
||
WHEN '2' THEN '申报'
|
||
WHEN '3' THEN '进场'
|
||
ELSE '未知'
|
||
END AS teamStatusName,
|
||
bzgl_bz.project_name AS projectName,
|
||
org_user.mobile AS teamLeaderPhone,
|
||
bzgl_bz.sfjs AS isDismiss,
|
||
CASE bzgl_bz.sfjs
|
||
WHEN '0' THEN '否'
|
||
WHEN '1' THEN '是'
|
||
ELSE '未知'
|
||
END AS isDismissName,
|
||
bzgl_bz.sjjcsj AS actualProcessTime,
|
||
bzgl_bz.sjccsj AS actualExitTime,
|
||
bp.imp_unit AS impUnit
|
||
FROM
|
||
`micro-tool`.bzgl_bz bzgl_bz
|
||
LEFT JOIN `uni_org`.org_user org_user ON bzgl_bz.bzz_idcard = org_user.id_card
|
||
LEFT JOIN bm_project bp ON bp.external_id = bzgl_bz.project_id
|
||
WHERE 1 = 1
|
||
<if test="proId != null and proId != ''">
|
||
AND bp.pro_id = #{proId}
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
<if test="keyWord != null and keyWord != ''">
|
||
AND (
|
||
bzgl_bz.ssfbdw like concat('%',#{keyWord},'%') or
|
||
bzgl_bz.bzmc like concat('%',#{keyWord},'%') or
|
||
bzgl_bz.bzz_name like concat('%',#{keyWord},'%') or
|
||
bzgl_bz.project_name like concat('%',#{keyWord},'%')
|
||
)
|
||
</if>
|
||
GROUP BY bzgl_bz.bzmc
|
||
</select>
|
||
|
||
<select id="selectDepartNum" resultType="java.lang.Integer">
|
||
SELECT
|
||
COUNT( DISTINCT project_dept_id )
|
||
FROM
|
||
bm_project bp
|
||
LEFT JOIN data_center.dx_fb_son dx ON dx.id = bp.external_id
|
||
LEFT JOIN sys_dept sd ON bp.imp_unit = sd.dept_id
|
||
WHERE
|
||
bp.external_id IS NOT NULL
|
||
AND bp.actual_end_date IS NULL
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name like concat('%',#{proName},'%')
|
||
</if>
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name like concat('%',#{impUnitName},'%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND bp.pro_center like concat('%',#{departName},'%')
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
</select>
|
||
|
||
<select id="selectProjectNum" resultType="java.lang.Integer">
|
||
SELECT
|
||
count( DISTINCT bp.external_id ) AS total_external_id
|
||
FROM
|
||
slt_agreement_info sai
|
||
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 sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
WHERE
|
||
sai.is_slt = 0
|
||
AND bp.external_id IS NOT NULL
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name like concat('%',#{proName},'%')
|
||
</if>
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name like concat('%',#{impUnitName},'%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND bp.pro_center like concat('%',#{departName},'%')
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
</select>
|
||
|
||
<select id="selectTeamNum" resultType="java.lang.Integer">
|
||
SELECT
|
||
COUNT( DISTINCT bz.id )
|
||
FROM
|
||
`micro-tool`.bzgl_bz bz
|
||
LEFT JOIN bm_project bp ON bp.external_id = bz.project_id
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
WHERE
|
||
bp.external_id IS NOT NULL
|
||
AND bp.actual_end_date IS NULL
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name like concat('%',#{proName},'%')
|
||
</if>
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name like concat('%',#{impUnitName},'%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND bp.pro_center like concat('%',#{departName},'%')
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="teamName != null and teamName != ''">
|
||
AND bz.bzmc = #{teamName}
|
||
</if>
|
||
</select>
|
||
|
||
<select id="getRetainTotalInfo" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
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,
|
||
bp.pro_name as proName,
|
||
bp.pro_id as proId,
|
||
bp.external_id as externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard,
|
||
bp.pro_center AS proCenter,
|
||
mt.unit_value AS unitValue
|
||
FROM
|
||
clz_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
|
||
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
|
||
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id AND bu.del_flag = '0'
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
WHERE
|
||
sai.`status` = '0'
|
||
AND sai.end_time IS NULL
|
||
AND sai.back_id IS NULL
|
||
AND bu.unit_name is not null
|
||
AND bp.external_id is not NULL
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name like concat('%',#{impUnitName},'%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name like concat('%',#{proName},'%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND bp.pro_center like concat('%',#{departName},'%')
|
||
</if>
|
||
<if test="teamName != null and teamName != ''">
|
||
AND bu.unit_name like concat('%',#{teamName},'%')
|
||
</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>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
GROUP BY mt.unit_value
|
||
</select>
|
||
|
||
<select id="getRetainStoreInfo" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
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 storeNum,
|
||
bp.pro_name as proName,
|
||
bp.pro_id as proId,
|
||
bp.external_id as externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard,
|
||
bp.pro_center AS proCenter
|
||
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
|
||
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 AND bu.del_flag = '0'
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
WHERE
|
||
sai.`status` = '0'
|
||
AND sai.is_slt = '0'
|
||
AND sai.end_time IS NULL
|
||
AND sai.back_id IS NULL
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name like concat('%',#{impUnitName},'%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name like concat('%',#{proName},'%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND bp.pro_center like concat('%',#{departName},'%')
|
||
</if>
|
||
<if test="teamName != null and teamName != ''">
|
||
AND bu.unit_name like concat('%',#{teamName},'%')
|
||
</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>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
</select>
|
||
|
||
<select id="getRetainInfoList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
SELECT
|
||
mt.type_id AS typeId,
|
||
mt4.type_name AS constructionType,
|
||
mt3.type_name AS materialType,
|
||
mt2.type_name AS typeName,
|
||
mt2.type_id AS thirdTypeId,
|
||
mt.type_name AS typeModelName,
|
||
mt.unit_name AS unit,
|
||
subquery1.proId AS proId,
|
||
subquery1.proName AS proName,
|
||
subquery1.externalId AS externalId,
|
||
subquery1.impUnit AS impUnit,
|
||
subquery1.idCard AS idCard,
|
||
IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0) AS allNum,
|
||
subquery1.proCenter AS departName,
|
||
subquery1.departName AS impUnitName,
|
||
CASE mt.manage_type
|
||
WHEN 0 THEN
|
||
'编码'
|
||
ELSE
|
||
'数量'
|
||
END manageType,
|
||
'站内库存' AS teamName,
|
||
'/' AS subUnitName,
|
||
mt.unit_value AS unitValue,
|
||
CASE mt.jiju_type
|
||
WHEN 2 THEN
|
||
'安全工器具'
|
||
ELSE
|
||
'施工机具'
|
||
END jiJuType
|
||
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,
|
||
bp.pro_name as proName,
|
||
bp.pro_id as proId,
|
||
bp.external_id as externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard,
|
||
df.project_dept AS proCenter,
|
||
sd.dept_name AS departName,
|
||
'站内库存' AS teamName
|
||
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
|
||
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
|
||
AND bu.del_flag = '0'
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
LEFT JOIN data_center.dx_fb_son df ON bp.external_id = df.id
|
||
WHERE
|
||
sai.`status` = '0'
|
||
AND sai.is_slt = '0'
|
||
AND sai.end_time IS NULL
|
||
AND sai.back_id IS NULL
|
||
AND bp.external_id IS NOT NULL
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name like concat('%',#{impUnitName},'%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name like concat('%',#{proName},'%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND bp.pro_center like concat('%',#{departName},'%')
|
||
</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>
|
||
<if test="teamName != null and teamName != ''">
|
||
AND '站内库存' like concat('%',#{teamName},'%')
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
and bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
and bp.imp_unit = #{impUnit}
|
||
</if>
|
||
<if test="jiJuType != null and jiJuType != ''">
|
||
AND mt.jiju_type = #{jiJuType}
|
||
</if>
|
||
GROUP BY mt.type_id,
|
||
bp.pro_id
|
||
) AS subquery1 ON mt.type_id = subquery1.type_id
|
||
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,
|
||
bp.pro_name as proName,
|
||
bp.pro_id as proId,
|
||
bp.external_id as externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard,
|
||
df.project_dept AS proCenter,
|
||
sd.dept_name AS departName,
|
||
'站内库存' AS teamName
|
||
FROM
|
||
clz_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
|
||
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
|
||
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id
|
||
AND bu.del_flag = '0'
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
LEFT JOIN data_center.dx_fb_son df ON bp.external_id = df.id
|
||
WHERE
|
||
sai.`status` = '0'
|
||
AND sai.end_time IS NULL
|
||
AND sai.back_id IS NULL
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name like concat('%',#{impUnitName},'%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name like concat('%',#{proName},'%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND bp.pro_center like concat('%',#{departName},'%')
|
||
</if>
|
||
<if test="typeName != null and typeName != ''">
|
||
AND mt2.type_name like concat('%',#{typeName},'%')
|
||
</if>
|
||
<if test="teamName != null and teamName != ''">
|
||
AND '站内库存' like concat('%',#{teamName},'%')
|
||
</if>
|
||
<if test="typeModelName != null and typeModelName != ''">
|
||
AND mt.type_name like concat('%',#{typeModelName},'%')
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
and bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
and bp.imp_unit = #{impUnit}
|
||
</if>
|
||
<if test="jiJuType != null and jiJuType != ''">
|
||
AND mt.jiju_type = #{jiJuType}
|
||
</if>
|
||
GROUP BY mt.type_id,
|
||
bp.pro_id
|
||
) AS subquery3
|
||
ON mt.type_id = subquery3.type_id
|
||
AND subquery1.proId = subquery3.proId
|
||
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'
|
||
GROUP BY mt.type_id,
|
||
subquery1.proId
|
||
HAVING allNum > 0
|
||
</select>
|
||
|
||
<select id="getUsInfoList" 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,
|
||
SUM(IFNULL( sai.num, 0 )) AS allNum,
|
||
bu.unit_id as teamId,
|
||
bu.unit_name AS teamName,
|
||
bp.pro_name as proName,
|
||
bp.pro_id as proId,
|
||
bp.external_id as externalId,
|
||
bp.imp_unit AS impUnit,
|
||
bu.bzz_idcard AS idCard,
|
||
df.project_dept AS departName,
|
||
mt.unit_name AS unit,
|
||
sd.dept_name AS impUnitName,
|
||
CASE mt.manage_type
|
||
WHEN 0 THEN
|
||
'编码'
|
||
ELSE
|
||
'数量'
|
||
END manageType,
|
||
mt.unit_value AS unitValue,
|
||
bz.ssfbdw AS subUnitName,
|
||
CASE mt.jiju_type
|
||
WHEN 2 THEN
|
||
'安全工器具'
|
||
ELSE
|
||
'施工机具'
|
||
END jiJuType
|
||
FROM
|
||
clz_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
|
||
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
|
||
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id AND bu.del_flag = '0'
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
LEFT JOIN `micro-tool`.bzgl_bz bz ON bp.external_id = bz.project_id
|
||
AND bz.bzmc = bu.unit_name
|
||
LEFT JOIN data_center.dx_fb_son df ON bp.external_id = df.id
|
||
WHERE
|
||
sai.`status` = '0'
|
||
AND sai.end_time IS NULL
|
||
AND sai.back_id IS NULL
|
||
AND bu.unit_name is not null
|
||
AND bp.external_id is not NULL
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name LIKE CONCAT('%', #{impUnitName}, '%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name LIKE CONCAT('%', #{proName}, '%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND bp.pro_center LIKE CONCAT('%', #{departName}, '%')
|
||
</if>
|
||
<if test="teamName != null and teamName != ''">
|
||
AND bu.unit_name LIKE CONCAT('%', #{teamName}, '%')
|
||
</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>
|
||
<if test="subUnitName != null and subUnitName != ''">
|
||
AND bz.ssfbdw LIKE CONCAT('%', #{subUnitName}, '%')
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
<if test="jiJuType != null and jiJuType != ''">
|
||
AND mt.jiju_type = #{jiJuType}
|
||
</if>
|
||
GROUP BY mt.type_id,
|
||
bu.unit_name,
|
||
bp.pro_name
|
||
</select>
|
||
<select id="getMaCodeDetails" 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,
|
||
sai.ma_id AS maId
|
||
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 clz_bm_agreement_info bai ON bai.agreement_id = sai.agreement_id
|
||
LEFT JOIN bm_unit bt ON bai.unit_id = bt.unit_id AND bt.del_flag = '0'
|
||
LEFT JOIN lease_apply_info lai ON lai.id = sai.lease_id
|
||
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_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>
|
||
<if test="proId !=null ">
|
||
AND bp.pro_id = #{proId}
|
||
</if>
|
||
<if test="teamId !=null ">
|
||
AND bt.unit_id = #{teamId}
|
||
</if>
|
||
</select>
|
||
|
||
<select id="getImpUnitNameList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
SELECT
|
||
DISTINCT sd.dept_name AS impUnitName
|
||
FROM
|
||
bm_project bp
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
WHERE
|
||
sd.dept_name IS NOT NULL
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name LIKE CONCAT('%', #{impUnitName}, '%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name LIKE CONCAT('%', #{proName}, '%')
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
GROUP BY sd.dept_name
|
||
</select>
|
||
|
||
<select id="getDepartNameList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
SELECT DISTINCT
|
||
sp.`name` AS departName
|
||
FROM
|
||
bm_project bp
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
LEFT JOIN sbd_audit.sg_project_department sp ON sd.company_code = sp.parent_id
|
||
WHERE
|
||
sp.`name` IS NOT NULL
|
||
AND sp.`status` = 1
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name LIKE CONCAT('%', #{impUnitName}, '%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name LIKE CONCAT('%', #{proName}, '%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND sp.`name` LIKE CONCAT('%', #{departName}, '%')
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
GROUP BY sp.`name`
|
||
</select>
|
||
|
||
<select id="getProjectList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
SELECT
|
||
DISTINCT bp.pro_name AS proName
|
||
FROM
|
||
bm_project bp
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
LEFT JOIN data_center.dx_fb_son df ON bp.external_id = df.id
|
||
WHERE
|
||
bp.pro_center IS NOT NULL
|
||
AND bp.external_id IS NOT NULL
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name LIKE CONCAT('%', #{impUnitName}, '%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name = #{proName}
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND df.project_dept LIKE CONCAT('%', #{departName}, '%')
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
GROUP BY bp.pro_name
|
||
</select>
|
||
|
||
<select id="getTeamList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
SELECT DISTINCT
|
||
bz.bzmc AS teamName,
|
||
bz.project_name AS proName
|
||
FROM
|
||
`micro-tool`.bzgl_bz bz
|
||
LEFT JOIN bm_project bp ON bz.project_id = bp.external_id
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
LEFT JOIN data_center.dx_fb_son df ON bp.external_id = df.id
|
||
WHERE
|
||
bz.bzmc IS NOT NULL
|
||
AND bp.external_id IS NOT NULL
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name LIKE CONCAT('%', #{impUnitName}, '%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name LIKE CONCAT('%', #{proName}, '%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND df.project_dept LIKE CONCAT('%', #{departName}, '%')
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="subUnitName != null and subUnitName != ''">
|
||
AND bz.ssfbdw LIKE CONCAT('%', #{subUnitName}, '%')
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
GROUP BY bz.bzmc
|
||
</select>
|
||
|
||
<select id="getSubUnitList" resultType="com.bonus.material.clz.domain.vo.MaterialRetainedEquipmentInfo">
|
||
SELECT DISTINCT
|
||
bz.bzmc AS teamName,
|
||
bz.ssfbdw AS subUnitName
|
||
FROM
|
||
`micro-tool`.bzgl_bz bz
|
||
LEFT JOIN bm_project bp ON bz.project_id = bp.external_id
|
||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||
LEFT JOIN data_center.dx_fb_son df ON bp.external_id = df.id
|
||
WHERE
|
||
bz.bzmc IS NOT NULL
|
||
AND bp.external_id IS NOT NULL
|
||
<if test="impUnitName != null and impUnitName != ''">
|
||
AND sd.dept_name LIKE CONCAT('%', #{impUnitName}, '%')
|
||
</if>
|
||
<if test="proName != null and proName != ''">
|
||
AND bp.pro_name LIKE CONCAT('%', #{proName}, '%')
|
||
</if>
|
||
<if test="departName != null and departName != ''">
|
||
AND df.project_dept LIKE CONCAT('%', #{departName}, '%')
|
||
</if>
|
||
<if test="projectIdList != null and projectIdList.size() > 0">
|
||
AND bp.external_id in
|
||
<foreach item="item" collection="projectIdList" open="(" separator="," close=")">
|
||
#{item}
|
||
</foreach>
|
||
</if>
|
||
<if test="subUnitName != null and subUnitName != ''">
|
||
AND bz.ssfbdw LIKE CONCAT('%', #{subUnitName}, '%')
|
||
</if>
|
||
<if test="impUnit != null and impUnit != ''">
|
||
AND bp.imp_unit = #{impUnit}
|
||
</if>
|
||
GROUP BY
|
||
bz.ssfbdw
|
||
</select>
|
||
|
||
</mapper>
|