瀏覽代碼

产成品质量分析表和综合合格率分析表 修改取数逻辑 和之前一致

李士越 1 年之前
父節點
當前提交
b8d28dcf46
共有 1 個文件被更改,包括 38 次插入11 次删除
  1. 38 11
      DK.Service/ReportModuleLogic/ReportModuleLogic.cs

+ 38 - 11
DK.Service/ReportModuleLogic/ReportModuleLogic.cs

@@ -4346,7 +4346,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "                               ,1 cc\n" +
             "                  from tp_pm_productiondata pd\n" +
             "                 inner join tp_pm_groutingdailydetail gdd on gdd.groutingdailydetailid = pd.groutingdailydetailid\n" +
-            "                --left JOIN TP_PM_DEFECT dfc on dfc.productiondataid=pd.productiondataid\n"; // 并未使用此表,如果无缺陷的产品就查不到了 24-07-11
+            "                inner JOIN TP_PM_DEFECT dfc on dfc.productiondataid=pd.productiondataid\n"; // 并未使用此表,如果无缺陷的产品就查不到了 24-07-11
 
             if (!string.IsNullOrEmpty(se.GroutingLineLh))
             {
@@ -4475,7 +4475,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "                 ,mstgoods.goodscode) qdgroup\n";
 
             selSql.Append(sqlString);
-            return selSql.ToString();
+            return selSql.ToString() ;
         }
 
         /// <summary>
@@ -4971,7 +4971,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "                               ,1 cc\n" +
             "                  from tp_pm_productiondata pd\n" +
             "                 inner join tp_pm_groutingdailydetail gdd on gdd.groutingdailydetailid = pd.groutingdailydetailid\n" +
-            "                 --INNER JOIN TP_PM_DEFECT d on d.productiondataid=pd.productiondataid  \n" + // 并未使用此表,如果无缺陷的产品就查不到了 24-07-11
+            "                 INNER JOIN TP_PM_DEFECT d on d.productiondataid=pd.productiondataid  \n" + // 并未使用此表,如果无缺陷的产品就查不到了 24-07-11
             "                 where pd.valueflag = '1'\n" +
             "                   and pd.modeltype IN (-1, -4, -5)\n" +
             "                   and pd.CHECKBATCHNO = 1\n" +
@@ -19228,20 +19228,42 @@ ORDER BY
 
                 sqlString += "         group by p.goodsid\n" +
                 "      UNION ALL\n" +
-                "      select p.goodsid\n" +
+                "      select t.goodsid\n" +
                 "        ,0 AS OUTflag\n" +
                 "        ,0 b_out_num\n" +
-                "        ,nvl(sum(case when p.goodsleveltypeid in(6,7) and p.isrefire='0' then 1 else 0 end), 0) b_bad_num -- 本烧不合格数\n" +
+                "        ,nvl(sum(case when t.goodsleveltypeid in(6,7) and t.isrefire='0' then 1 else 0 end), 0) b_bad_num -- 本烧不合格数\n" +
                 "        ,0 c_out_num\n" +
-                "        ,nvl(sum(case when p.goodsleveltypeid in(6,7)and p.isrefire='6' then 1 else 0 end), 0) c_bad_num -- 重烧不合格数\n" +
-                "      from tp_pm_productiondata p\n" +
-                "      where p.accountid = :accountid\n" +
+                "        ,nvl(sum(case when t.goodsleveltypeid in(6,7)and t.isrefire='6' then 1 else 0 end), 0) c_bad_num -- 重烧不合格数\n" +
+                "				 from (\n" +
+                "      select distinct p.goodsid \n" +
+                "			,p.goodsleveltypeid \n" +
+                "			,p.barcode\n" +
+                "			,p.isrefire \n" +
+                "      from tp_pm_productiondata p INNER JOIN TP_PM_DEFECT dfc on dfc.productiondataid=p.productiondataid\n" +
+                "      where p.accountid = 1\n" +
                 "         AND P.VALUEFLAG = 1\n" +
                 "         and p.modeltype IN (-1, -4, -5)\n" +
                 "         and p.CHECKBATCHNO = 1\n" +
                 "         and length(p.kilncarbatchno) > 0\n" +
                 "         and p.createtime >= :datebegin\n" +
-                "         and p.createtime <  :dateend\n";
+                "         and p.createtime <  :dateend \n";
+                 
+                //sqlString += "         group by p.goodsid\n" +
+                //"      UNION ALL\n" +
+                //"      select p.goodsid\n" +
+                //"        ,0 AS OUTflag\n" +
+                //"        ,0 b_out_num\n" +
+                //"        ,nvl(sum(case when p.goodsleveltypeid in(6,7) and p.isrefire='0' then 1 else 0 end), 0) b_bad_num -- 本烧不合格数\n" +
+                //"        ,0 c_out_num\n" +
+                //"        ,nvl(sum(case when p.goodsleveltypeid in(6,7)and p.isrefire='6' then 1 else 0 end), 0) c_bad_num -- 重烧不合格数\n" +
+                //"      from tp_pm_productiondata p\n" +
+                //"      where p.accountid = :accountid\n" +
+                //"         AND P.VALUEFLAG = 1\n" +
+                //"         and p.modeltype IN (-1, -4, -5)\n" +
+                //"         and p.CHECKBATCHNO = 1\n" +
+                //"         and length(p.kilncarbatchno) > 0\n" +
+                //"         and p.createtime >= :datebegin\n" +
+                //"         and p.createtime <  :dateend\n";
 
                 // 产品编码条件修正 fenglinyong modify 2022-05-10
                 if (!string.IsNullOrWhiteSpace(cre.Properties["goodscode"] + ""))
@@ -19250,10 +19272,15 @@ ORDER BY
                     oracleParameters.Add(new OracleParameter(":GOODSCODE", cre.Properties["goodscode"]));
                 }
 
-                sqlString += "              group by p.goodsid ) pp group by pp.goodsid) ppp\n" +
+                sqlString += " 					 ) t\n" +
+                "              group by t.goodsid ) pp group by pp.goodsid) ppp\n" +
                 "     inner join tp_mst_goods g\n" +
                 "        on g.goodsid = ppp.goodsid\n" +
-                "     order by g.goodscode";
+                "     order by g.goodscode ";
+                //sqlString += "              group by p.goodsid ) pp group by pp.goodsid) ppp\n" +
+                //"     inner join tp_mst_goods g\n" +
+                //"        on g.goodsid = ppp.goodsid\n" +
+                //"     order by g.goodscode ";
 
 
                 //string sqlString = "\n" +