yl
2023-01-06 88f0b4f47865c4af3153049965411a7795bc5e4c
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
                         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 B.defect_qty>0
                                  where A.lm_date between @startopendate and @endclosedate and S.ng_qty>0 or S.bad_qty>0
                                   ) as AA
                                   group by AA.step_code,AA.partname
                                  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";