141 lines
4.5 KiB
XML
141 lines
4.5 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.fizz.business.mapper.CrmPdoExcoilMapper">
|
|||
|
|
|
|||
|
|
<select id="getReportSummary" resultType="com.fizz.business.vo.ReportSummaryVO">
|
|||
|
|
SELECT
|
|||
|
|
-- 总计
|
|||
|
|
SUM(exit_width) AS totalExitWidth,
|
|||
|
|
SUM(exit_length) AS totalExitLength,
|
|||
|
|
SUM(theory_weight) AS totalTheoryWeight,
|
|||
|
|
SUM(actual_weight) AS totalActualWeight,
|
|||
|
|
SUM(exit_thickness) AS totalExitThickness,
|
|||
|
|
|
|||
|
|
-- 平均
|
|||
|
|
AVG(exit_width) AS avgExitWidth,
|
|||
|
|
AVG(exit_length) AS avgExitLength,
|
|||
|
|
AVG(theory_weight) AS avgTheoryWeight,
|
|||
|
|
AVG(actual_weight) AS avgActualWeight,
|
|||
|
|
AVG(exit_thickness) AS avgExitThickness,
|
|||
|
|
|
|||
|
|
-- 总数
|
|||
|
|
COUNT(DISTINCT exit_mat_id) AS coilCount,
|
|||
|
|
|
|||
|
|
-- 原料总重(去重 entry_mat_id)
|
|||
|
|
(SELECT SUM(t.entry_weight)
|
|||
|
|
FROM (
|
|||
|
|
SELECT entry_mat_id, MAX(entry_weight) AS entry_weight
|
|||
|
|
FROM crm_pdo_excoil
|
|||
|
|
WHERE del_flag = 0
|
|||
|
|
<if test="groupNo != null and groupNo != ''">
|
|||
|
|
AND group_no = #{groupNo}
|
|||
|
|
</if>
|
|||
|
|
<if test="shiftNo != null and shiftNo != ''">
|
|||
|
|
AND shift_no = #{shiftNo}
|
|||
|
|
</if>
|
|||
|
|
<if test="startTime != null">
|
|||
|
|
AND end_time <![CDATA[ >= ]]> #{startTime}
|
|||
|
|
</if>
|
|||
|
|
<if test="endTime != null">
|
|||
|
|
AND end_time <![CDATA[ <= ]]> #{endTime}
|
|||
|
|
</if>
|
|||
|
|
GROUP BY entry_mat_id
|
|||
|
|
) t
|
|||
|
|
) AS totalEntryWeight,
|
|||
|
|
|
|||
|
|
-- 成材率
|
|||
|
|
CASE
|
|||
|
|
WHEN (SELECT SUM(tt.entry_weight)
|
|||
|
|
FROM (
|
|||
|
|
SELECT entry_mat_id, MAX(entry_weight) AS entry_weight
|
|||
|
|
FROM crm_pdo_excoil
|
|||
|
|
WHERE del_flag = 0
|
|||
|
|
<if test="groupNo != null and groupNo != ''">
|
|||
|
|
AND group_no = #{groupNo}
|
|||
|
|
</if>
|
|||
|
|
<if test="shiftNo != null and shiftNo != ''">
|
|||
|
|
AND shift_no = #{shiftNo}
|
|||
|
|
</if>
|
|||
|
|
<if test="startTime != null">
|
|||
|
|
AND end_time <![CDATA[ >= ]]> #{startTime}
|
|||
|
|
</if>
|
|||
|
|
<if test="endTime != null">
|
|||
|
|
AND end_time <![CDATA[ <= ]]> #{endTime}
|
|||
|
|
</if>
|
|||
|
|
GROUP BY entry_mat_id
|
|||
|
|
) tt
|
|||
|
|
) > 0
|
|||
|
|
THEN SUM(actual_weight) /
|
|||
|
|
(SELECT SUM(tt.entry_weight)
|
|||
|
|
FROM (
|
|||
|
|
SELECT entry_mat_id, MAX(entry_weight) AS entry_weight
|
|||
|
|
FROM crm_pdo_excoil
|
|||
|
|
WHERE del_flag = 0
|
|||
|
|
<if test="groupNo != null and groupNo != ''">
|
|||
|
|
AND group_no = #{groupNo}
|
|||
|
|
</if>
|
|||
|
|
<if test="shiftNo != null and shiftNo != ''">
|
|||
|
|
AND shift_no = #{shiftNo}
|
|||
|
|
</if>
|
|||
|
|
<if test="startTime != null">
|
|||
|
|
AND end_time <![CDATA[ >= ]]> #{startTime}
|
|||
|
|
</if>
|
|||
|
|
<if test="endTime != null">
|
|||
|
|
AND end_time <![CDATA[ <= ]]> #{endTime}
|
|||
|
|
</if>
|
|||
|
|
GROUP BY entry_mat_id
|
|||
|
|
) tt
|
|||
|
|
)
|
|||
|
|
ELSE 0
|
|||
|
|
END AS yieldRate
|
|||
|
|
|
|||
|
|
FROM crm_pdo_excoil
|
|||
|
|
WHERE del_flag = 0
|
|||
|
|
<if test="groupNo != null and groupNo != ''">
|
|||
|
|
AND group_no = #{groupNo}
|
|||
|
|
</if>
|
|||
|
|
<if test="shiftNo != null and shiftNo != ''">
|
|||
|
|
AND shift_no = #{shiftNo}
|
|||
|
|
</if>
|
|||
|
|
<if test="startTime != null">
|
|||
|
|
AND end_time <![CDATA[ >= ]]> #{startTime}
|
|||
|
|
</if>
|
|||
|
|
<if test="endTime != null">
|
|||
|
|
AND end_time <![CDATA[ <= ]]> #{endTime}
|
|||
|
|
</if>
|
|||
|
|
</select>
|
|||
|
|
|
|||
|
|
<select id="getReportDetails" resultType="com.fizz.business.vo.ReportDetailVO">
|
|||
|
|
SELECT
|
|||
|
|
exit_mat_id AS exitMatId,
|
|||
|
|
entry_mat_id AS entryMatId,
|
|||
|
|
group_no AS groupNo,
|
|||
|
|
shift_no AS shiftNo,
|
|||
|
|
steel_grade AS steelGrade,
|
|||
|
|
exit_width AS exitWidth,
|
|||
|
|
exit_length AS exitLength,
|
|||
|
|
theory_weight AS theoryWeight,
|
|||
|
|
actual_weight AS actualWeight,
|
|||
|
|
exit_thickness AS exitThickness,
|
|||
|
|
online_time AS onlineTime,
|
|||
|
|
end_time AS endTime
|
|||
|
|
FROM crm_pdo_excoil
|
|||
|
|
WHERE del_flag = 0
|
|||
|
|
<if test="groupNo != null and groupNo != ''">
|
|||
|
|
AND group_no = #{groupNo}
|
|||
|
|
</if>
|
|||
|
|
<if test="shiftNo != null and shiftNo != ''">
|
|||
|
|
AND shift_no = #{shiftNo}
|
|||
|
|
</if>
|
|||
|
|
<if test="startTime != null">
|
|||
|
|
AND end_time <![CDATA[ >= ]]> #{startTime}
|
|||
|
|
</if>
|
|||
|
|
<if test="endTime != null">
|
|||
|
|
AND end_time <![CDATA[ <= ]]> #{endTime}
|
|||
|
|
</if>
|
|||
|
|
ORDER BY end_time ASC
|
|||
|
|
</select>
|
|||
|
|
|
|||
|
|
</mapper>
|