Ver código fonte

原料缺陷 bug修正

姜永辉 9 meses atrás
pai
commit
3a0ce3c1b5

+ 47 - 24
wwwroot/mes/rpt/rpt201/rpt.ashx

@@ -24,10 +24,10 @@ public class rpt : IHttpHandler, IReadOnlySessionState
         //	context.Response.End();
         //}
 
-        using(IDataAccess conn = DataAccess.Create())
+        using (IDataAccess conn = DataAccess.Create())
         {
             //主表
-            if(context.Request["m"].ToString()=="master")
+            if (context.Request["m"].ToString() == "master")
             {
                 DateTime dateBegin = Convert.ToDateTime(context.Request["datebeginMaster"]);
                 DateTime dateEnd = Convert.ToDateTime(context.Request["dateendMaster"]);
@@ -45,9 +45,10 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                            TP_MST_DEFECT MDF 
                             WHERE  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' )
 	                            AND MDF.VALUEFLAG = 1 ORDER BY  MDF.DEFECTID");
-                for (int i = 0; i < dt.Rows.Count; i++) {
+                for (int i = 0; i < dt.Rows.Count; i++)
+                {
                     if (i > 0) defect += ",";
-                    defect += dt.Rows[i]["DEFECTCODE"].ToString()+" "+dt.Rows[i]["DEFECTNAME"].ToString();
+                    defect += dt.Rows[i]["DEFECTCODE"].ToString() + " " + dt.Rows[i]["DEFECTNAME"].ToString();
                 }
                 string sumdefect = "";
                 DataTable dts = conn.ExecuteDatatable(@"	SELECT DISTINCT
@@ -58,9 +59,10 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                            TP_MST_DEFECT MDF 
                             WHERE MDF.DEFECTCODE in ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' )
 	                            AND MDF.VALUEFLAG = 1 ORDER BY  MDF.DEFECTID");
-                for (int i = 0; i < dts.Rows.Count; i++) {
+                for (int i = 0; i < dts.Rows.Count; i++)
+                {
                     if (i > 0) sumdefect += ",";
-                    sumdefect += dts.Rows[i]["DEFECTCODE"].ToString()+" "+dts.Rows[i]["DEFECTNAME"].ToString();
+                    sumdefect += dts.Rows[i]["DEFECTCODE"].ToString() + " " + dts.Rows[i]["DEFECTNAME"].ToString();
                 }
 
                 string sqlStr = @"SELECT * FROM(
@@ -102,8 +104,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 WHERE
 	                                PD.PROCEDUREID IN (16)  
 	                                AND PD.CREATETIME >= @DATEBEGIN@
-                                    AND PD.CREATETIME <= @DATEEND@ ".Replace("{DEFECT}",defect);
-                if (context.Request["linecodeMaster"] != null && context.Request["linecodeMaster"] != "") { //判断首个下拉框是否有值
+                                    AND PD.CREATETIME <= @DATEEND@ ".Replace("{DEFECT}", defect);
+                if (context.Request["linecodeMaster"] != null && context.Request["linecodeMaster"] != "")
+                { //判断首个下拉框是否有值
 
 
 
@@ -116,12 +119,14 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                             sqlStr += @"  AND GDL.GROUTINGLINECODE = '" + context.Request["groutinglinecodeMaster"].ToString() + "'";
 
                         }
-                        else {
+                        else
+                        {
                             //存在值 按第二下拉框值 进行条件筛选
                             if (context.Request["linesection"].ToString() == "高压")
                             {
                                 sqlStr += " AND GDL.HIGHPRESSUREFLAG =1 ";
                             }
+
                             else
                             {
                                 sqlStr += " AND GDL.GROUTINGLINECODE LIKE '%" + context.Request["linesection"] + "%' ";
@@ -131,13 +136,19 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     }
 
                     //不存在值 按第一下拉框选中值判断
-                    else {
+                    else
+                    {
                         if (context.Request["linecodeMaster"].ToString() == "高压")
                         {
-                            sqlStr +=   "  AND GDL.HIGHPRESSUREFLAG =1 ";
+                            sqlStr += "  AND GDL.HIGHPRESSUREFLAG =1 ";
                         }
-                        else {
-                            sqlStr +=   "  AND GDL.GROUTINGLINECODE LIKE '%"+(context.Request["linecodeMaster"]=="干补"?"00":(context.Request["linecodeMaster"]=="补码"?"01":context.Request["linecodeMaster"])) + "%' ";
+                        else if (context.Request["linecodeMaster"].ToString() == "补码")
+                        {
+                            sqlStr += "  AND GDL.GROUTINGLINECODE = '01' ";
+                        }
+                        else
+                        {
+                            sqlStr += "  AND GDL.GROUTINGLINECODE LIKE '%" + (context.Request["linecodeMaster"] == "干补" ? "00" : (context.Request["linecodeMaster"] == "补码" ? "01" : context.Request["linecodeMaster"])) + "%' ";
                         }
                     }
 
@@ -190,8 +201,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 
 	                                 AND PD.CREATETIME >= @DATEBEGIN@
-                                    AND PD.CREATETIME <=  @DATEEND@  ".Replace("{DEFECTSUM}",sumdefect);
-                       if (context.Request["linecodeMaster"] != null && context.Request["linecodeMaster"] != "") { //判断首个下拉框是否有值
+                                    AND PD.CREATETIME <=  @DATEEND@  ".Replace("{DEFECTSUM}", sumdefect);
+                if (context.Request["linecodeMaster"] != null && context.Request["linecodeMaster"] != "")
+                { //判断首个下拉框是否有值
 
 
 
@@ -204,28 +216,39 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                             sqlStr += @"  AND GDL.GROUTINGLINECODE = '" + context.Request["groutinglinecodeMaster"].ToString() + "'";
 
                         }
-                        else {
+                        else
+                        {
                             //存在值 按第二下拉框值 进行条件筛选
                             if (context.Request["linesection"].ToString() == "高压")
                             {
                                 sqlStr += " AND GDL.HIGHPRESSUREFLAG =1 ";
                             }
+                            else if (context.Request["linesection"].ToString() == "补码")
+                            {
+                                sqlStr += "  AND GDL.GROUTINGLINECODE = '01' ";
+                            }
                             else
                             {
-                                sqlStr += " AND GDL.GROUTINGLINECODE LIKE '%" + (context.Request["linesection"]=="干补"?"00":(context.Request["linesection"]=="补码"?"01":context.Request["linesection"])) + "%' ";
+                                sqlStr += " AND GDL.GROUTINGLINECODE LIKE '%" + (context.Request["linesection"] == "干补" ? "00" : (context.Request["linesection"] == "补码" ? "01" : context.Request["linesection"])) + "%' ";
                             }
                         }
 
                     }
 
                     //不存在值 按第一下拉框选中值判断
-                    else {
+                    else
+                    {
                         if (context.Request["linecodeMaster"].ToString() == "高压")
                         {
-                            sqlStr +=   "  AND GDL.HIGHPRESSUREFLAG =1 ";
+                            sqlStr += "  AND GDL.HIGHPRESSUREFLAG =1 ";
                         }
-                        else {
-                            sqlStr +=   "  AND GDL.GROUTINGLINECODE LIKE '%"+(context.Request["linecodeMaster"]=="干补"?"00":(context.Request["linecodeMaster"]=="补码"?"01":context.Request["linecodeMaster"])) + "%' ";
+                        else if (context.Request["linecodeMaster"].ToString() == "补码")
+                        {
+                            sqlStr += "  AND GDL.GROUTINGLINECODE = '01' ";
+                        }
+                        else
+                        {
+                            sqlStr += "  AND GDL.GROUTINGLINECODE LIKE '%" + (context.Request["linecodeMaster"] == "干补" ? "00" : (context.Request["linecodeMaster"] == "补码" ? "01" : context.Request["linecodeMaster"])) + "%' ";
                         }
                     }
 
@@ -248,9 +271,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 
                 //获取分页数据    
                 int total = 0;
-                DataTable d = conn.SelectPages(page, rows,out total, sqlStr, sqlPara.ToArray());
-                d.Columns.Remove ( "GID" );//移除GID列
-                string jsonStr =  new JsonResult(d) { total = total}.ToJson();
+                DataTable d = conn.SelectPages(page, rows, out total, sqlStr, sqlPara.ToArray());
+                d.Columns.Remove("GID");//移除GID列
+                string jsonStr = new JsonResult(d) { total = total }.ToJson();
                 context.Response.Write(jsonStr);
             }
         }

+ 35 - 3
wwwroot/mes/rpt/rpt210/rpt.ashx

@@ -53,11 +53,27 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                     ELSE TO_CHAR( SUM( CASE WHEN DF.DEFECTCODE = '86' THEN 1 ELSE 0 END ) ) END 原料泥料铜脏 
                                 FROM
 	                            TP_PM_PRODUCTIONDATA PD
+                                LEFT JOIN TP_PM_PRODUCTIONDATA PD61 -- 重烧质量检测
+                                          ON PD61.PROCEDUREID = 60
+                                         AND PD61.VALUEFLAG = 1
+                                         AND PD61.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
+                                         AND PD61.KILNCARBATCHNO = PD.KILNCARBATCHNO
+                                         AND PD61.PRODUCTIONDATAID > PD.PRODUCTIONDATAID
+                                            -- 取最近的数据
+                                         AND NOT EXISTS
+                                       (SELECT 1
+                                                FROM TP_PM_PRODUCTIONDATA PD28C -- 重烧质量登记 重复的
+                                               WHERE PD28C.PROCEDUREID = 16
+                                                 AND PD28C.VALUEFLAG = 1
+                                                 AND PD28C.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
+                                                 AND PD28C.KILNCARBATCHNO = PD.KILNCARBATCHNO
+                                                 AND PD28C.PRODUCTIONDATAID > PD.PRODUCTIONDATAID
+                                                 AND PD28C.PRODUCTIONDATAID < PD61.PRODUCTIONDATAID)
                                 LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
                                 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
                                 LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
                                 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
-                                LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1  AND DF.PROCEDUREID NOT IN(61,28)
+                                LEFT JOIN TP_PM_DEFECT DF ON NVL(PD61.PRODUCTIONDATAID, PD.PRODUCTIONDATAID) = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1  AND DF.PROCEDUREID NOT IN(61,28)
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE in('87','88','086','86')
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 
@@ -87,11 +103,27 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 										TO_CHAR(SUM( CASE WHEN DF.DEFECTCODE = '86' THEN 1 ELSE 0 END ))  原料泥料铜脏
 									FROM
 	                                TP_PM_PRODUCTIONDATA PD
+                                     LEFT JOIN TP_PM_PRODUCTIONDATA PD61 -- 重烧质量检测
+                                          ON PD61.PROCEDUREID = 60
+                                         AND PD61.VALUEFLAG = 1
+                                         AND PD61.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
+                                         AND PD61.KILNCARBATCHNO = PD.KILNCARBATCHNO
+                                         AND PD61.PRODUCTIONDATAID > PD.PRODUCTIONDATAID
+                                            -- 取最近的数据
+                                         AND NOT EXISTS
+                                       (SELECT 1
+                                                FROM TP_PM_PRODUCTIONDATA PD28C -- 重烧质量登记 重复的
+                                               WHERE PD28C.PROCEDUREID = 16
+                                                 AND PD28C.VALUEFLAG = 1
+                                                 AND PD28C.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
+                                                 AND PD28C.KILNCARBATCHNO = PD.KILNCARBATCHNO
+                                                 AND PD28C.PRODUCTIONDATAID > PD.PRODUCTIONDATAID
+                                                 AND PD28C.PRODUCTIONDATAID < PD61.PRODUCTIONDATAID)
                                 LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
                                 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
                                 LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
                                 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
-                                LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1
+                                LEFT JOIN TP_PM_DEFECT DF ON NVL(PD61.PRODUCTIONDATAID, PD.PRODUCTIONDATAID) = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE in('87','88','086','86')
 									WHERE
 	                                PD.PROCEDUREID =16
@@ -106,7 +138,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 sqlPara.Add(new CDAParameter("DATEEND", dateEnd, DataType.DateTime));
                 //获取分页参数
                 int page = HttpContext.Current.Request["page"] is object ? Convert.ToInt32(HttpContext.Current.Request["page"]) : 1;
-                int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 10000;
+                int rows =  10000;
                 string sort = HttpContext.Current.Request["sort"] is object ? HttpContext.Current.Request["sort"] : "m.REPORTCODE";
                 string order = HttpContext.Current.Request["order"] is object ? HttpContext.Current.Request["order"] : "";
 

+ 12 - 4
wwwroot/mes/rpt/rpt211/rpt.ashx

@@ -131,10 +131,14 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                         {
                             sqlStr += " AND GDL.GROUTINGLINECODE LIKE '" + context.Request["linesection"].ToString()[0] + "-" + context.Request["linesection"].ToString()[1] + "%' ";
                         }
+                        else if (context.Request["linesection"].ToString() == "补码")
+                        {
+                            sqlStr += "  AND GDL.GROUTINGLINECODE = '01' ";
+                        }
                         else
                         {
-                            sqlStr += " AND GDL.GROUTINGLINECODE LIKE '%" + (context.Request["linesection"] == "干补" 
-                                    ? "00" :   (context.Request["linesection"] == "补码" ? "01" :  context.Request["linesection"])) + "%' ";
+                            sqlStr += " AND GDL.GROUTINGLINECODE LIKE '%" + (context.Request["linesection"] == "干补"
+                                    ? "00" : (context.Request["linesection"] == "补码" ? "01" : context.Request["linesection"])) + "%' ";
                         }
                     }
 
@@ -145,10 +149,14 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                         {
                             sqlStr += " AND gl.HIGHPRESSUREFLAG =1 ";
                         }
+                         else if (context.Request["linecodeMaster"].ToString() == "补码")
+                        {
+                            sqlStr += "  AND GDL.GROUTINGLINECODE = '01' ";
+                        }
                         else
                         {
-                            sqlStr += " AND GDL.GROUTINGLINECODE LIKE '%" + (context.Request["linecodeMaster"] == "干补" 
-                                    ? "00" : (context.Request["linecodeMaster"] == "补码" ? "01" :  context.Request["linecodeMaster"])) + "%' ";
+                            sqlStr += " AND GDL.GROUTINGLINECODE LIKE '%" + (context.Request["linecodeMaster"] == "干补"
+                                    ? "00" : (context.Request["linecodeMaster"] == "补码" ? "01" : context.Request["linecodeMaster"])) + "%' ";
                         }
                     }
                 }

+ 1 - 1
wwwroot/mes/rpt/rpt216/rpt.ashx

@@ -256,7 +256,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				sqlPara.Add(new CDAParameter("GROUTINGLINECODE", context.Request["GROUTINGLINECODE"], DataType.NVarChar));
 				//获取分页参数
 				int page = HttpContext.Current.Request["page"] is object ? Convert.ToInt32(HttpContext.Current.Request["page"]) : 1;
-				int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 10000;
+				int rows =  10000;
 				string sort = HttpContext.Current.Request["sort"] is object ? HttpContext.Current.Request["sort"] : "m.REPORTCODE";
 				string order = HttpContext.Current.Request["order"] is object ? HttpContext.Current.Request["order"] : "";