From 88f0b4f47865c4af3153049965411a7795bc5e4c Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 06 一月 2023 16:04:22 +0800
Subject: [PATCH] App生产分析接口修改

---
 VueWebApi/DLL/DAL/AppAnalyticsDAL.cs |   31 +++++++++++++------------------
 1 files changed, 13 insertions(+), 18 deletions(-)

diff --git a/VueWebApi/DLL/DAL/AppAnalyticsDAL.cs b/VueWebApi/DLL/DAL/AppAnalyticsDAL.cs
index bee0947..8adf1e8 100644
--- a/VueWebApi/DLL/DAL/AppAnalyticsDAL.cs
+++ b/VueWebApi/DLL/DAL/AppAnalyticsDAL.cs
@@ -29,15 +29,10 @@
                 // --------------鐢熶骇鎬昏--------------
                 var sql = @"select 
                              sum(CASE AA.clmname WHEN '璁″垝鏁伴噺' THEN AA.clmqty ELSE 0 END) as 'plan_qty', 
-                             sum(CASE AA.clmname WHEN '瀹屽伐鏁伴噺' THEN AA.clmqty ELSE 0 END) as 'end_qty', 
                              sum(CASE AA.clmname WHEN '鍚堟牸浜у嚭' THEN AA.clmqty ELSE 0 END) as 'good_qty', 
                              sum(CASE AA.clmname WHEN '缂洪櫡浜у嚭' THEN AA.clmqty ELSE 0 END) as 'defect_qty'
                              from(
                              select  isnull(sum(A.plan_qty),0) as clmqty,'璁″垝鏁伴噺'as clmname  from TK_Wrk_Man  A
-                             where A.lm_date between @startopendate and @endclosedate
-                             union all
-                             select (isnull(sum(P.good_qty),0)+isnull(sum(P.ng_qty),0)+isnull(sum(P.bad_qty),0)) as endqty,'瀹屽伐鏁伴噺' as 瀹屽伐鏁伴噺 from TK_Wrk_Man  A
-                             inner join TK_Wrk_Step P on A.wo_code=P.wo_code  and P.isend='Y'
                              where A.lm_date between @startopendate and @endclosedate
                              union all
                              select isnull(sum(P.good_qty),0) as report_qty,'鍚堟牸浜у嚭' as 鍚堟牸浜у嚭  from TK_Wrk_Man  A
@@ -67,21 +62,21 @@
                 switch (defecttype)
                 {
                     case "prt": //鎸変骇鍝佺粺璁�
-                         sql2 = @"select top 5  isnull(sum(AA.plan_qty),0) as plan_qty,AA.partname,isnull(sum(AA.defect_qty),0) as defect_qty  from (
-                                   select distinct A.plan_qty,M.partname,B.defect_qty,B.step_code   from TK_Wrk_Man A
-                                   inner join CSR_WorkRecord_Defect B on A.wo_code=B.wo_code and A.materiel_code=B.partnumber
-                                   inner join TMateriel_Info M on A.materiel_code=M.partcode
-                                   where A.lm_date between @startopendate and @endclosedate and B.defect_qty>0
-                                   ) as AA
-                                   group by AA.step_code,AA.partname
-                                   order by defect_qty desc";
+                         sql2 = @"select top 5 sum(AA.plan_qty) as plan_qty,AA.partname,sum(AA.ng_qty)+sum(AA.bad_qty) as defect_qty  from (
+                                  select A.plan_qty,M.partname,S.ng_qty,S.bad_qty   from TK_Wrk_Man A
+                                  inner join (select wo_code, isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty from TK_Wrk_Step group by wo_code) S on A.wo_code=S.wo_code
+                                  inner join TMateriel_Info M on A.materiel_code=M.partcode
+                                  where A.lm_date between @startopendate and @endclosedate and S.ng_qty>0 or S.bad_qty>0
+                                  ) as AA
+                                  group by AA.partname
+                                  order by defect_qty desc";
                         break;
                     case "stp"://鎸夊伐搴忕粺璁�
-                         sql2 = @"select top 5  isnull(sum(AA.plan_qty),0) as plan_qty,AA.stepname,isnull(sum(AA.defect_qty),0) as defect_qty  from(
-                                  select distinct A.plan_qty,S.stepname,B.defect_qty from TK_Wrk_Step A
-                                  inner join CSR_WorkRecord_Defect B on A.wo_code=B.wo_code and A.step_code=B.step_code
-                                  inner join TStep S on A.step_code=S.stepcode
-                                  where A.lm_date between @startopendate and @endclosedate and B.defect_qty>0
+                         sql2 = @"select top 5 sum(AA.plan_qty) as plan_qty,AA.stepname,sum(AA.ng_qty)+sum(AA.bad_qty) as defect_qty  from (
+                                  select A.plan_qty,T.stepname,S.ng_qty,S.bad_qty   from TK_Wrk_Man A
+                                  inner join (select wo_code,step_code, isnull(sum(ng_qty),0) as ng_qty,isnull(sum(bad_qty),0) as bad_qty from TK_Wrk_Step group by wo_code,step_code) S on A.wo_code=S.wo_code
+                                  inner join TStep T on S.step_code=T.stepcode
+                                  where A.lm_date between @startopendate and @endclosedate and S.ng_qty>0 or S.bad_qty>0
                                   ) as AA
                                   group by AA.stepname
                                   order by defect_qty desc";

--
Gitblit v1.9.3