<?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.example.erp.mapper.pp.DamageDetailsMapper">
|
<select id="getBehindDamageSum">
|
SELECT ifnull(SUM(a.breakage_quantity),0)
|
FROM pp.damage_details as a
|
left join pp.reporting_work as b
|
on a.reporting_work_id = b.reporting_work_id
|
WHERE a.process_id = #{processId}
|
<if test="needOrderNumber!=null">
|
and a.order_number = #{orderNumber}
|
</if>
|
and a.technology_number =#{technologyNumber}
|
and a.breakage_quantity>0
|
and a.patch_status=0
|
and b.reviewed_state>=0
|
and b.this_process in (WITH RECURSIVE cte AS (
|
SELECT 1 AS n
|
UNION ALL
|
SELECT n + 1 FROM cte WHERE n < 20 -- 这里的 20 是最大拆分个数
|
)
|
SELECT REGEXP_SUBSTR(#{behindProcess}, '[^,]+', 1, n) AS process
|
FROM cte
|
WHERE REGEXP_SUBSTR(#{behindProcess}, '[^,]+', 1, n) IS NOT NULL)
|
|
</select>
|
<select id="getNotReview">
|
select a.*
|
from damage_details as a
|
left join reporting_work as b
|
on a.reporting_work_id = b.reporting_work_id
|
where a.process_id=#{processId}
|
and b.reviewed_state>=0
|
<if test="orderNumber!=null">
|
and a.order_number = #{orderNumber}
|
</if>
|
and a.technology_number = #{technologyNumber}
|
and a.patch_status=0
|
and a.breakage_quantity>0
|
|
</select>
|
</mapper>
|