2025-01-23 15:51:16 +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.push.mapper.IwsCostPushMapper">
|
|
|
|
|
|
|
|
|
|
<select id="findAgreement" resultType="com.bonus.material.push.domain.IwsCostPushBean">
|
|
|
|
|
SELECT
|
2025-01-24 17:08:03 +08:00
|
|
|
bp.pro_id AS projectId, bp.pro_name AS projectName, bp.pro_code AS projectCode,
|
2025-01-23 15:51:16 +08:00
|
|
|
bu.unit_name AS unitName,
|
2025-09-01 01:39:44 +08:00
|
|
|
bma.agreement_id AS agreementId,bma.`agreement_code` AS agreementCode, bma.sign_time AS signTime, bma.is_push AS isPush,
|
|
|
|
|
IF(saa.audit_time IS NULL,0,1) AS isSettlement, saa.audit_time AS settlementTime,
|
|
|
|
|
IF(saas.audit_time IS NULL,0,1) AS safetyIsSettlement, saas.audit_time AS safetySettlementTime
|
|
|
|
|
FROM
|
|
|
|
|
bm_agreement_info bma
|
2025-01-23 15:51:16 +08:00
|
|
|
LEFT JOIN bm_project bp ON bp.pro_id = bma.project_id
|
|
|
|
|
LEFT JOIN bm_unit bu ON bu.unit_id = bma.unit_id
|
2025-09-01 01:39:44 +08:00
|
|
|
LEFT JOIN slt_agreement_apply saa ON saa.agreement_id = bma.agreement_id AND saa.`status` = '2' AND saa.settlement_type = 1
|
|
|
|
|
LEFT JOIN slt_agreement_apply saas ON saas.agreement_id = bma.agreement_id AND saas.`status` = '2' AND saas.settlement_type = 2
|
2025-01-23 15:51:16 +08:00
|
|
|
<where>
|
|
|
|
|
<if test="agreementCode != null and agreementCode != ''">
|
|
|
|
|
AND bma.agreement_code LIKE CONCAT('%',#{agreementCode},'%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="projectId != null and projectId != ''">
|
|
|
|
|
AND bma.project_id = #{projectId}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="unitId != null and unitId != ''">
|
|
|
|
|
AND bma.unit_id = #{unitId}
|
|
|
|
|
</if>
|
2025-01-23 16:13:37 +08:00
|
|
|
<if test="isPush != null">
|
2025-01-23 15:51:16 +08:00
|
|
|
AND bma.is_push = #{isPush}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="isSettlement != null and isSettlement != ''">
|
|
|
|
|
AND bma.is_slt = #{isSettlement}
|
|
|
|
|
</if>
|
|
|
|
|
</where>
|
2025-01-24 17:08:03 +08:00
|
|
|
GROUP BY bma.agreement_id
|
2025-01-23 15:51:16 +08:00
|
|
|
</select>
|
|
|
|
|
|
2025-01-23 16:40:53 +08:00
|
|
|
<update id="updateAgreementIsPush">
|
2025-01-24 17:08:03 +08:00
|
|
|
UPDATE bm_agreement_info SET is_push = #{isPush} WHERE agreement_id = #{agreementId}
|
2025-01-23 16:40:53 +08:00
|
|
|
</update>
|
2025-01-23 17:51:20 +08:00
|
|
|
|
|
|
|
|
<select id="getCostPushCheckList" resultType="com.bonus.material.push.domain.IwsCostPushBean">
|
|
|
|
|
SELECT
|
|
|
|
|
pmc.id AS id, pmc.AGREEMENT_ID AS agreementId, IF(ISNULL(pmc.check_status), 0, pmc.check_status) AS checkStatus,
|
|
|
|
|
pmc.LEASE_MONEY AS leaseMoney, pmc.LOST_MONEY AS lostMoney, pmc.REPAIR_MONEY AS repairMoney, pmc.SCRAP_MONEY AS scrapMoney,
|
2025-08-30 22:16:48 +08:00
|
|
|
bma.agreement_code AS agreementCode, bma.is_slt AS isSettlement, pmc.TYPE AS settlementType,
|
|
|
|
|
bp.pro_name AS projectName, bu.unit_name AS unitName,
|
2025-01-23 17:51:20 +08:00
|
|
|
ROUND(
|
|
|
|
|
SUM(ifnull( pmc.LEASE_MONEY, 0 )+ ifnull( pmc.LOST_MONEY, 0 )+ ifnull( pmc.REPAIR_MONEY, 0 )+ ifnull( pmc.SCRAP_MONEY, 0 )), 2
|
|
|
|
|
) AS money
|
|
|
|
|
FROM
|
|
|
|
|
project_month_costs pmc
|
2025-08-30 22:16:48 +08:00
|
|
|
LEFT JOIN calc_project_month cpm on pmc.task_id = cpm.id
|
2025-01-24 17:08:03 +08:00
|
|
|
LEFT JOIN bm_agreement_info bma ON pmc.AGREEMENT_ID = bma.agreement_id
|
|
|
|
|
LEFT JOIN bm_project bp ON bp.pro_id = bma.project_id
|
|
|
|
|
LEFT JOIN bm_unit bu ON bu.unit_id = bma.unit_id
|
2025-01-23 17:51:20 +08:00
|
|
|
WHERE
|
|
|
|
|
( pmc.LEASE_MONEY > 0 OR pmc.LOST_MONEY > 0 OR pmc.REPAIR_MONEY > 0 OR pmc.SCRAP_MONEY > 0 )
|
|
|
|
|
<if test="checkStatus != null">
|
|
|
|
|
AND pmc.check_status = #{checkStatus}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="agreementCode != null and agreementCode != ''">
|
|
|
|
|
AND bma.agreement_code LIKE CONCAT('%',#{agreementCode},'%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="projectId != null and projectId != ''">
|
|
|
|
|
AND bma.project_id = #{projectId}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="unitId != null and unitId != ''">
|
|
|
|
|
AND bma.unit_id = #{unitId}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="isSettlement != null and isSettlement != ''">
|
|
|
|
|
AND bma.is_slt = #{isSettlement}
|
|
|
|
|
</if>
|
2025-08-30 22:16:48 +08:00
|
|
|
<if test="month != null">
|
|
|
|
|
AND cpm.month = #{month}
|
|
|
|
|
</if>
|
2025-09-08 18:57:58 +08:00
|
|
|
<if test="settlementType != null">
|
|
|
|
|
AND pmc.TYPE = #{settlementType}
|
|
|
|
|
</if>
|
2025-01-23 17:51:20 +08:00
|
|
|
|
|
|
|
|
GROUP BY
|
2025-08-30 22:16:48 +08:00
|
|
|
pmc.AGREEMENT_ID, pmc.TYPE
|
2025-01-23 17:51:20 +08:00
|
|
|
</select>
|
2025-01-24 17:08:03 +08:00
|
|
|
|
2025-08-30 22:16:48 +08:00
|
|
|
<insert id="insertCalcMonthRecord" parameterType="com.bonus.material.push.domain.IwsCostPushBean" useGeneratedKeys="true" keyProperty="taskId">
|
2025-01-24 17:08:03 +08:00
|
|
|
INSERT INTO calc_project_month (MONTH)
|
|
|
|
|
VALUES (#{month})
|
|
|
|
|
</insert>
|
|
|
|
|
|
|
|
|
|
<select id="getPaidSltBaseInfo" resultType="com.bonus.material.push.domain.IwsCostPushBean">
|
|
|
|
|
SELECT
|
|
|
|
|
mt1.type_name as typeName,
|
|
|
|
|
mt.type_name as modelName,
|
|
|
|
|
mt.unit_name AS unitName,
|
|
|
|
|
sai.lease_price as leasePrice,
|
|
|
|
|
bma.agreement_id AS agreementId,sai.type_id as typeId,
|
|
|
|
|
IFNULL(mt.lease_price ,0) as nowLeasePrice,
|
|
|
|
|
sai.buy_price as buyPrice,sai.num AS leaseNum,sai.start_time AS leaseDate,sai.end_time AS backDate,
|
|
|
|
|
IF(sai.`status` = 0,sai.num,0) as returnNum,
|
|
|
|
|
(datediff(sai.end_time,sai.start_time)+1) * (sai.num) * (sai.lease_price) AS leaseMoney,
|
|
|
|
|
bma.`agreement_code` AS agreementCode,bma.project_id as projectId,
|
|
|
|
|
bma.is_slt AS isSettlement,
|
|
|
|
|
bma.sign_time AS settlementTime,
|
|
|
|
|
bma.is_push AS isPush
|
|
|
|
|
FROM bm_agreement_info bma
|
|
|
|
|
LEFT JOIN slt_agreement_info sai ON bma.agreement_id = sai.agreement_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
|
2025-01-24 17:58:58 +08:00
|
|
|
<where>
|
|
|
|
|
bma.agreement_id = #{agreementId}
|
|
|
|
|
</where>
|
2025-01-24 17:08:03 +08:00
|
|
|
</select>
|
2025-02-15 16:38:24 +08:00
|
|
|
|
2025-09-01 01:39:44 +08:00
|
|
|
<select id="getLeaseCostsByAgreementIdAndMonth" resultType="com.bonus.material.push.domain.IwsCostPushBean">
|
|
|
|
|
SELECT
|
|
|
|
|
pmi.typeId as typeId, pmi.leaseNum as leaseNum, pmi.leaseDate, pmi.returnDate as backDate,
|
|
|
|
|
pmi.leasePrice as leasePrice, pmi.leaseMoney as leaseMoney, pmi.jiju_type as settlementType,
|
|
|
|
|
mt1.type_name as typeName,
|
|
|
|
|
mt.type_name as modelName,
|
|
|
|
|
mt.unit_name AS unitName
|
|
|
|
|
FROM
|
|
|
|
|
project_month_info pmi
|
|
|
|
|
INNER JOIN calc_project_month cpm ON pmi.taskId = cpm.ID AND cpm.`MONTH` = #{month}
|
|
|
|
|
LEFT JOIN ma_type mt ON mt.type_id = pmi.typeId
|
|
|
|
|
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
|
|
|
|
WHERE
|
|
|
|
|
pmi.agreementId = #{agreementId}
|
|
|
|
|
AND pmi.jiju_type = #{settlementType,jdbcType=TINYINT}
|
|
|
|
|
</select>
|
|
|
|
|
|
2025-02-15 16:38:24 +08:00
|
|
|
<insert id="insertProjectMonthCosts">
|
|
|
|
|
INSERT INTO project_month_costs(
|
|
|
|
|
AGREEMENT_ID,
|
|
|
|
|
LEASE_MONEY,
|
2025-08-30 22:16:48 +08:00
|
|
|
CONSUME_MONEY,
|
2025-02-15 16:38:24 +08:00
|
|
|
LOST_MONEY,
|
|
|
|
|
REPAIR_MONEY,
|
|
|
|
|
SCRAP_MONEY,
|
2025-08-30 22:16:48 +08:00
|
|
|
TASK_ID,
|
|
|
|
|
TYPE
|
2025-02-15 16:38:24 +08:00
|
|
|
)
|
|
|
|
|
VALUES
|
|
|
|
|
<foreach collection="list" item="item" index="index" separator=",">
|
|
|
|
|
(
|
|
|
|
|
#{item.agreementId},
|
|
|
|
|
#{item.leaseMoney},
|
2025-08-30 22:16:48 +08:00
|
|
|
#{item.consumeMoney},
|
2025-02-15 16:38:24 +08:00
|
|
|
#{item.lostMoney},
|
|
|
|
|
#{item.repairMoney},
|
|
|
|
|
#{item.scrapMoney},
|
2025-08-30 22:16:48 +08:00
|
|
|
#{item.taskId},
|
|
|
|
|
#{item.settlementType}
|
2025-02-15 16:38:24 +08:00
|
|
|
)
|
|
|
|
|
</foreach>
|
|
|
|
|
</insert>
|
2025-07-04 15:30:07 +08:00
|
|
|
|
|
|
|
|
<select id="getProLeaseInfo" resultType="com.bonus.material.push.domain.IwsCostPushBean">
|
|
|
|
|
SELECT
|
|
|
|
|
mt1.type_name as typeName,
|
|
|
|
|
mt.type_name as modelName,
|
|
|
|
|
mt.unit_name AS unitName,
|
|
|
|
|
sai.lease_price as leasePrice,
|
|
|
|
|
bma.agreement_id AS agreementId,sai.type_id as typeId,
|
|
|
|
|
IFNULL(mt.lease_price ,0) as nowLeasePrice,
|
|
|
|
|
sai.buy_price as buyPrice,sai.num AS leaseNum,sai.start_time AS leaseDate,sai.end_time AS backDate,
|
|
|
|
|
IF(sai.`status` = 0,sai.num,0) as returnNum,
|
|
|
|
|
(datediff(sai.end_time,sai.start_time)+1) * (sai.num) * (sai.lease_price) AS leaseMoney,
|
|
|
|
|
bma.`agreement_code` AS agreementCode,bma.project_id as projectId,
|
|
|
|
|
bma.is_slt AS isSettlement,
|
|
|
|
|
bma.sign_time AS settlementTime,
|
|
|
|
|
bma.is_push AS isPush
|
|
|
|
|
FROM bm_agreement_info bma
|
|
|
|
|
LEFT JOIN slt_agreement_info sai ON bma.agreement_id = sai.agreement_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
|
|
|
|
|
where 1=1
|
|
|
|
|
<if test="projectId != null and projectId != ''">
|
|
|
|
|
and bma.project_id in (${projectId})
|
|
|
|
|
</if>
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="getTotalInfo" resultType="com.bonus.material.push.domain.IwsCostPushBean">
|
|
|
|
|
SELECT
|
|
|
|
|
parent_id as parentId,
|
|
|
|
|
pre_num AS preNum
|
|
|
|
|
FROM
|
|
|
|
|
clz_lease_apply_details
|
|
|
|
|
WHERE
|
|
|
|
|
type_id = #{typeId}
|
|
|
|
|
AND parent_id = #{parentId}
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="getEquipmentListByType" 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
|
|
|
|
|
left join bm_agreement_info bai on sai.agreement_id=bai.agreement_id
|
|
|
|
|
WHERE
|
|
|
|
|
sai.`status` = '0'
|
|
|
|
|
<if test="agreementCode != null and agreementCode != ''">
|
|
|
|
|
and bai.agreement_code =#{agreementCode}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="projectId != null and projectId != ''">
|
|
|
|
|
and bai.project_id in (${projectId})
|
|
|
|
|
</if>
|
|
|
|
|
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="deviceName != null and deviceName != ''">
|
|
|
|
|
and mt2.type_name like concat('%',#{deviceName},'%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="deviceModel != null and deviceModel != ''">
|
|
|
|
|
and mt.type_name like concat('%',#{deviceModel},'%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="maType != null and maType != ''">
|
|
|
|
|
and mt3.type_name like concat('%',#{maType},'%')
|
|
|
|
|
</if>
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="getEquipmentListByAgreementCode" 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="maModelName != null and maModelName != ''">
|
|
|
|
|
and mt.type_name like concat('%',#{maModelName},'%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="maTypeName != null and maTypeName != ''">
|
|
|
|
|
and mt2.type_name like concat('%',#{maTypeName},'%')
|
|
|
|
|
</if>
|
|
|
|
|
</select>
|
2025-08-30 22:16:48 +08:00
|
|
|
|
|
|
|
|
<insert id="insertProjectMonthCostsDetails" parameterType="com.bonus.material.settlement.domain.vo.PeriodCostResultVo">
|
|
|
|
|
insert into project_month_info(agreementId, typeId, leaseNum, leaseDate, returnDate,
|
|
|
|
|
leasePrice, leaseMoney, taskId, buy_price, money, jiju_type)
|
|
|
|
|
values
|
|
|
|
|
<foreach collection="list" item="item" separator=",">
|
|
|
|
|
(
|
|
|
|
|
#{item.agreementId},
|
|
|
|
|
#{item.typeId},
|
|
|
|
|
#{item.num},
|
|
|
|
|
#{item.calcStartTime},
|
|
|
|
|
#{item.calcEndTime},
|
|
|
|
|
#{item.leasePrice},
|
|
|
|
|
#{item.leaseCost},
|
|
|
|
|
#{item.taskId},
|
2025-09-08 17:05:07 +08:00
|
|
|
#{item.buyPrice},
|
|
|
|
|
#{item.consumeCost},
|
2025-08-30 22:16:48 +08:00
|
|
|
#{item.equipmentType}
|
|
|
|
|
)
|
|
|
|
|
</foreach>
|
|
|
|
|
</insert>
|
2025-09-01 01:39:44 +08:00
|
|
|
|
|
|
|
|
|
2025-07-04 15:30:07 +08:00
|
|
|
</mapper>
|