2024-12-17 09:34:07 +08:00
|
|
|
<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
|
|
<!DOCTYPE mapper
|
|
|
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
|
|
<mapper namespace="com.bonus.material.basic.mapper.ComplexQueryMapper">
|
|
|
|
|
|
|
|
|
|
<select id="getProjUsingRecordList" resultType="com.bonus.material.basic.domain.ProjUsingRecord">
|
|
|
|
|
SELECT
|
|
|
|
|
subquery1.agreementCode as agreementCode,
|
|
|
|
|
subquery1.unitName as unitName,
|
|
|
|
|
subquery1.proName as proName,
|
|
|
|
|
subquery1.typeName as typeName,
|
|
|
|
|
subquery1.typeModelName as typeModelName,
|
|
|
|
|
subquery1.unit as unit,
|
|
|
|
|
IFNULL(subquery1.leaseNum, 0) as leaseNum,
|
|
|
|
|
IFNULL(subquery2.backNum, 0) as backNum,
|
|
|
|
|
CASE
|
|
|
|
|
WHEN IFNULL(subquery1.leaseNum, 0) - IFNULL(subquery2.backNum, 0) > 0
|
|
|
|
|
THEN IFNULL(subquery1.leaseNum, 0) - IFNULL(subquery2.backNum, 0)
|
|
|
|
|
ELSE 0.000
|
|
|
|
|
END as usNum,
|
|
|
|
|
CASE
|
|
|
|
|
WHEN IFNULL(subquery1.leaseNum, 0) - IFNULL(subquery2.backNum, 0) > 0 THEN
|
|
|
|
|
ROUND(IFNULL(subquery1.buy_price, 0) *
|
|
|
|
|
(IFNULL(subquery1.leaseNum, 0) - IFNULL(subquery2.backNum, 0)), 2)
|
|
|
|
|
ELSE
|
|
|
|
|
0.00
|
|
|
|
|
END as usPrice,
|
|
|
|
|
ROUND(IFNULL(subquery1.leaseNum, 0) * IFNULL(subquery1.buy_price, 0), 2) as totalPrice,
|
|
|
|
|
subquery1.isSlt as isSlt,
|
|
|
|
|
subquery1.isSltName as isSltName
|
|
|
|
|
FROM (SELECT bai.agreement_id,
|
|
|
|
|
mt.type_id,
|
|
|
|
|
mt.buy_price,
|
|
|
|
|
bai.agreement_code AS agreementCode,
|
|
|
|
|
bui.unit_name AS unitName,
|
|
|
|
|
bpl.pro_name AS proName,
|
|
|
|
|
mt2.type_name AS typeName,
|
|
|
|
|
mt.type_name AS typeModelName,
|
|
|
|
|
mt.unit_name AS unit,
|
|
|
|
|
SUM(IFNULL(lod.out_num, 0)) AS leaseNum,
|
|
|
|
|
sai.is_slt as isSlt,
|
|
|
|
|
CASE
|
|
|
|
|
sai.is_slt
|
|
|
|
|
WHEN '0' then '未结算'
|
|
|
|
|
WHEN '1' then '已结算'
|
|
|
|
|
ELSE ''
|
|
|
|
|
END as isSltName
|
|
|
|
|
FROM lease_out_details lod
|
|
|
|
|
LEFT JOIN lease_apply_info lai ON lai.id = lod.parent_id
|
|
|
|
|
LEFT JOIN tm_task_agreement tta ON tta.task_id = lai.task_id
|
|
|
|
|
LEFT JOIN bm_agreement_info bai ON bai.agreement_id = tta.agreement_id
|
|
|
|
|
LEFT JOIN (
|
|
|
|
|
SELECT agreement_id, is_slt
|
|
|
|
|
FROM slt_agreement_info
|
|
|
|
|
GROUP BY agreement_id
|
|
|
|
|
) sai ON bai.agreement_id = sai.agreement_id
|
|
|
|
|
LEFT JOIN bm_project bpl ON bpl.pro_id = bai.project_id
|
|
|
|
|
LEFT JOIN bm_unit bui ON bui.unit_id = bai.unit_id
|
|
|
|
|
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_machine mm ON mm.ma_id = lod.ma_id
|
|
|
|
|
where 1=1
|
|
|
|
|
<if test="keyWord != null and keyWord != ''">
|
|
|
|
|
and (bai.agreement_code like concat('%',#{keyWord},'%') or
|
|
|
|
|
bui.unit_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
bpl.pro_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
mt2.type_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
mt.type_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
mt.unit_name like concat('%',#{keyWord},'%')
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="unitId != null">
|
|
|
|
|
and bui.unit_id = #{unitId}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="proId != null">
|
|
|
|
|
and bpl.pro_id = #{proId}
|
|
|
|
|
</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="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
|
|
|
|
AND bai.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="isSlt != null and isSlt != ''">
|
|
|
|
|
and sai.is_slt = #{isSlt}
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY bai.agreement_id,
|
|
|
|
|
mt.type_id ORDER BY bai.agreement_code) AS subquery1
|
|
|
|
|
LEFT JOIN (SELECT bai.agreement_id,
|
|
|
|
|
mt.type_id,
|
|
|
|
|
mt.rent_price,
|
|
|
|
|
bai.agreement_code AS agreementCode,
|
|
|
|
|
bui.unit_name AS unitName,
|
|
|
|
|
bpl.pro_name AS proName,
|
|
|
|
|
mt2.type_name AS typeName,
|
|
|
|
|
mt.type_name AS typeModelName,
|
|
|
|
|
mt.unit_name AS unit,
|
|
|
|
|
SUM(IFNULL(bcd.back_num, 0)) backNum,
|
|
|
|
|
sai.is_slt as isSlt,
|
|
|
|
|
CASE
|
|
|
|
|
sai.is_slt
|
|
|
|
|
WHEN '0' then '未结算'
|
|
|
|
|
WHEN '1' then '已结算'
|
|
|
|
|
ELSE ''
|
|
|
|
|
END as isSltName
|
|
|
|
|
FROM back_check_details bcd
|
|
|
|
|
LEFT JOIN back_apply_info baif ON baif.id = bcd.parent_id
|
|
|
|
|
LEFT JOIN tm_task_agreement tta ON tta.task_id = baif.task_id
|
|
|
|
|
LEFT JOIN bm_agreement_info bai ON bai.agreement_id = tta.agreement_id
|
|
|
|
|
LEFT JOIN (
|
|
|
|
|
SELECT agreement_id, is_slt
|
|
|
|
|
FROM slt_agreement_info
|
|
|
|
|
GROUP BY agreement_id
|
|
|
|
|
) sai ON bai.agreement_id = sai.agreement_id
|
|
|
|
|
LEFT JOIN bm_project bpl ON bpl.pro_id = bai.project_id
|
|
|
|
|
LEFT JOIN bm_unit bui ON bui.unit_id = bai.unit_id
|
|
|
|
|
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_machine mm ON mm.ma_id = bcd.ma_id
|
|
|
|
|
where 1=1 and bcd.is_finished = '1'
|
|
|
|
|
<if test="keyWord != null and keyWord != ''">
|
|
|
|
|
and (bai.agreement_code like concat('%',#{keyWord},'%') or
|
|
|
|
|
bui.unit_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
bpl.pro_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
mt2.type_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
mt.type_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
mt.unit_name like concat('%',#{keyWord},'%')
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="unitId != null">
|
|
|
|
|
and bui.unit_id = #{unitId}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="proId != null">
|
|
|
|
|
and bpl.pro_id = #{proId}
|
|
|
|
|
</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="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
|
|
|
|
AND bai.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="isSlt != null and isSlt != ''">
|
|
|
|
|
and sai.is_slt = #{isSlt}
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY bai.agreement_id,
|
|
|
|
|
mt.type_id ORDER BY bai.agreement_code) AS subquery2 ON subquery1.type_id = subquery2.type_id
|
|
|
|
|
AND subquery1.agreement_id = subquery2.agreement_id
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="getMachineHistoryRecordList" resultType="com.bonus.material.basic.domain.MachineHistoryRecordBean">
|
|
|
|
|
SELECT
|
|
|
|
|
bai.agreement_id,
|
|
|
|
|
mt.type_id,
|
|
|
|
|
bai.agreement_code AS agreementCode,
|
|
|
|
|
bui.unit_name AS unitName,
|
|
|
|
|
bpl.pro_name AS proName,
|
|
|
|
|
mt2.type_name AS typeName,
|
|
|
|
|
mt.type_name AS typeModelName,
|
|
|
|
|
mt.unit_name AS unit,
|
|
|
|
|
lai.lease_person AS leaseMan,
|
|
|
|
|
lod.create_time AS leaseDate,
|
|
|
|
|
mm.ma_code AS maCode,
|
|
|
|
|
baif.back_person AS backMan,
|
|
|
|
|
bcd.create_time AS backDate,
|
|
|
|
|
CASE
|
|
|
|
|
WHEN baif.back_person IS NULL THEN '已退'
|
|
|
|
|
ELSE '在用'
|
|
|
|
|
END AS statusName
|
|
|
|
|
FROM
|
|
|
|
|
lease_out_details lod
|
|
|
|
|
LEFT JOIN lease_apply_info lai ON lai.id = lod.parent_id
|
|
|
|
|
LEFT JOIN tm_task_agreement tta ON tta.task_id = lai.task_id
|
|
|
|
|
LEFT JOIN bm_agreement_info bai ON bai.agreement_id = tta.agreement_id
|
|
|
|
|
LEFT JOIN bm_project bpl ON bpl.pro_id = bai.project_id
|
|
|
|
|
LEFT JOIN bm_unit bui ON bui.unit_id = bai.unit_id
|
|
|
|
|
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_machine mm ON mm.ma_id = lod.ma_id
|
|
|
|
|
LEFT JOIN back_check_details bcd ON bcd.ma_id = lod.ma_id
|
|
|
|
|
LEFT JOIN back_apply_info baif ON baif.id = bcd.parent_id
|
|
|
|
|
WHERE
|
|
|
|
|
1 = 1
|
|
|
|
|
AND lod.ma_id IS NOT NULL
|
|
|
|
|
<if test="keyWord != null and keyWord != ''">
|
|
|
|
|
and (bai.agreement_code like concat('%',#{keyWord},'%') or
|
|
|
|
|
bui.unit_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
bpl.pro_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
mt2.type_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
mt.type_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
mt.unit_name like concat('%',#{keyWord},'%') or
|
|
|
|
|
mm.ma_code like concat('%',#{keyWord},'%') or
|
|
|
|
|
lai.lease_person like concat('%',#{keyWord},'%') or
|
|
|
|
|
baif.back_person like concat('%',#{keyWord},'%')
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="unitId != null">
|
|
|
|
|
and bui.unit_id = #{unitId}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="proId != null">
|
|
|
|
|
and bpl.pro_id = #{proId}
|
|
|
|
|
</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="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
|
|
|
|
AND (lod.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
|
|
|
|
|
or bcd.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59'))
|
|
|
|
|
</if>
|
|
|
|
|
<if test="statusName != null and statusName != ''">
|
|
|
|
|
AND (
|
|
|
|
|
CASE
|
|
|
|
|
WHEN baif.back_person IS NULL THEN '已退'
|
|
|
|
|
ELSE '在用'
|
|
|
|
|
END = #{statusName}
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY
|
|
|
|
|
mm.ma_code
|
|
|
|
|
ORDER BY
|
|
|
|
|
bai.agreement_code
|
|
|
|
|
</select>
|
|
|
|
|
|
2024-12-18 09:15:58 +08:00
|
|
|
<select id="getInputRecordList" resultType="com.bonus.material.basic.domain.InputRecordInfo">
|
|
|
|
|
SELECT
|
|
|
|
|
bs.type_name as typeName,
|
|
|
|
|
bs.type_model_name as typeModelName,
|
|
|
|
|
bs.ma_code as maCode,
|
|
|
|
|
mt.unit_name as unit,
|
|
|
|
|
bs.in_num as inputNum,
|
|
|
|
|
bs.creator as inputUser,
|
|
|
|
|
bs.create_time as inputTime,
|
|
|
|
|
tt.`code` as inputCode,
|
|
|
|
|
CASE
|
|
|
|
|
WHEN tt.`code` LIKE 'XG%' THEN '新购入库'
|
|
|
|
|
WHEN tt.`code` LIKE 'R%' THEN '修饰入库'
|
|
|
|
|
WHEN tt.`code` LIKE 'PD%' THEN '盘点入库'
|
|
|
|
|
ELSE '未知入库类型'
|
|
|
|
|
END AS inputType,
|
|
|
|
|
CASE
|
|
|
|
|
WHEN bs.input_type = '0' THEN '编码'
|
|
|
|
|
WHEN bs.input_type = '1' THEN '数量'
|
|
|
|
|
WHEN bs.input_type = '2' THEN '二维码'
|
|
|
|
|
WHEN bs.input_type = '3' THEN '标准箱'
|
|
|
|
|
ELSE '未知入库方式'
|
|
|
|
|
END AS inputStyle
|
|
|
|
|
FROM
|
|
|
|
|
bm_storage_log bs
|
|
|
|
|
LEFT JOIN ma_type mt ON bs.type_id = mt.type_id
|
|
|
|
|
AND mt.del_flag = '0'
|
|
|
|
|
LEFT JOIN tm_task tt ON bs.task_id = tt.task_id
|
|
|
|
|
WHERE bs.in_num != 0
|
|
|
|
|
<if test="inputType != null and inputType != ''">
|
|
|
|
|
and (
|
|
|
|
|
CASE
|
|
|
|
|
WHEN tt.`code` LIKE 'XG%' THEN '新购入库'
|
|
|
|
|
WHEN tt.`code` LIKE 'R%' THEN '修饰入库'
|
|
|
|
|
WHEN tt.`code` LIKE 'PD%' THEN '盘点入库'
|
|
|
|
|
ELSE '未知入库类型'
|
|
|
|
|
END = #{inputType}
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="typeName != null and typeName != ''">
|
|
|
|
|
and bs.type_name like CONCAT('%',#{typeName},'%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="typeModelName != null and typeModelName != ''">
|
|
|
|
|
and bs.type_model_name like CONCAT('%',#{typeModelName},'%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
|
|
|
|
|
AND bs.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
|
|
|
|
|
</if>
|
|
|
|
|
</select>
|
|
|
|
|
|
2024-12-17 09:34:07 +08:00
|
|
|
</mapper>
|