Browse Source

2026-11-05

sql优化
master
fengyuan_yang 1 week ago
parent
commit
96fe26f175
  1. 35
      src/main/resources/mapper/shopOrder/ProductionReportMapper.xml

35
src/main/resources/mapper/shopOrder/ProductionReportMapper.xml

@ -195,17 +195,14 @@
2 2
) AS ActRunRate, ) AS ActRunRate,
s.NeedDate s.NeedDate
FROM SFDC AS T
LEFT JOIN SOScheduledRouting AS SS ON T.Site = SS.Site AND T.OrderNo = SS.OrderNo AND T.ItemNo = SS.ItemNo AND T.AssJobSeqNo = SS.SeqNo,
ShopOrder AS S,
SORouting AS R,
Part AS P,
WorkCenter AS W,
Operator AS O
FROM SFDC AS T
INNER JOIN ShopOrder AS S ON T.Site = S.Site AND T.OrderNo = S.OrderNo
INNER JOIN SORouting AS R ON T.Site = R.Site AND T.OrderNo = R.OrderNo AND T.ItemNo = R.ItemNo
INNER JOIN Part AS P ON S.Site = P.Site AND S.PartNo = P.PartNo
INNER JOIN WorkCenter AS W ON R.Site = W.Site AND R.WorkCenterNo = W.WorkCenterNo
INNER JOIN Operator AS O ON T.Site = O.Site AND T.OperatorID = O.OperatorID
LEFT JOIN SOScheduledRouting AS SS ON T.Site = SS.Site AND T.OrderNo = SS.OrderNo AND T.ItemNo = SS.ItemNo AND T.AssJobSeqNo = SS.SeqNo
<where> <where>
and T.Site = S.Site and T.OrderNo = S.OrderNo and T.Site = R.Site and T.OrderNo = R.OrderNo and T.ItemNo = R.ItemNo and s.Site = p.Site
and s.PartNo = p.PartNo and R.Site = W.Site and R.WorkCenterNo = W.WorkCenterNo and T.Site = O.Site and T.OperatorID = O.OperatorID
and T.Site = R.Site and T.OrderNo = R.OrderNo and T.ItemNo = R.ItemNo
and T.Site in (Select Site from AccessSite where upper(UserID) = #{user}) and T.Site in (Select Site from AccessSite where upper(UserID) = #{user})
AND T.Reverseflag = 'N' AND T.Reverseflag = 'N'
<if test=" site != null and site != ''"> <if test=" site != null and site != ''">
@ -253,13 +250,14 @@
<select id="searchProductionLineOutputReportCount" resultType="int"> <select id="searchProductionLineOutputReportCount" resultType="int">
SELECT COUNT(1) SELECT COUNT(1)
from SFDC as T
left join SOScheduledRouting as SS on T.Site=SS.Site and T.OrderNo=SS.OrderNo and T.ItemNo=SS.ItemNo and T.AssJobSeqNo=SS.SeqNo
,ShopOrder as S,SORouting as R,Part as P,WorkCenter as W,Operator as O
FROM SFDC AS T
INNER JOIN ShopOrder AS S ON T.Site = S.Site AND T.OrderNo = S.OrderNo
INNER JOIN SORouting AS R ON T.Site = R.Site AND T.OrderNo = R.OrderNo AND T.ItemNo = R.ItemNo
INNER JOIN Part AS P ON S.Site = P.Site AND S.PartNo = P.PartNo
INNER JOIN WorkCenter AS W ON R.Site = W.Site AND R.WorkCenterNo = W.WorkCenterNo
INNER JOIN Operator AS O ON T.Site = O.Site AND T.OperatorID = O.OperatorID
LEFT JOIN SOScheduledRouting AS SS ON T.Site = SS.Site AND T.OrderNo = SS.OrderNo AND T.ItemNo = SS.ItemNo AND T.AssJobSeqNo = SS.SeqNo
<where> <where>
and T.Site=S.Site and T.OrderNo=S.OrderNo and T.Site=R.Site and T.OrderNo=R.OrderNo and T.ItemNo=R.ItemNo and s.Site=p.Site
and s.PartNo=p.PartNo and R.Site=W.Site and R.WorkCenterNo=W.WorkCenterNo and T.Site=O.Site and T.OperatorID=O.OperatorID
and T.Site=R.Site and T.OrderNo=R.OrderNo and T.ItemNo=R.ItemNo
and T.Site in (Select Site from AccessSite where upper(UserID)=#{user}) and T.Site in (Select Site from AccessSite where upper(UserID)=#{user})
AND T.Reverseflag = 'N' AND T.Reverseflag = 'N'
<if test=" site != null and site != ''"> <if test=" site != null and site != ''">
@ -402,10 +400,9 @@
A.CreatedOpsItemNo, A.CreatedOpsItemNo,
STUFF(( STUFF((
SELECT DISTINCT ',' + L.operator SELECT DISTINCT ',' + L.operator
FROM sfdc_operator_list L WITH(NOLOCK)
FROM LabelProductionPersonnel L WITH(NOLOCK)
WHERE L.site = A.site WHERE L.site = A.site
AND L.roll_No = A.OriRollNo
AND L.operator IS NOT NULL
AND L.RollNo = A.RollNo
FOR XML PATH(''), TYPE FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS Createdby, ).value('.', 'NVARCHAR(MAX)'), 1, 1, '') AS Createdby,
A.CreatedDate, A.CreatedDate,

Loading…
Cancel
Save