姜永辉 10 miesięcy temu
rodzic
commit
5710766094

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

@@ -380,7 +380,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 WHERE
                                     ACCOUNTID = @ACCOUNTID@ 
 	                                AND VALUEFLAG = '1' 
-                                    AND MODELTYPE = - 1
+                                    AND MODELTYPE = - 1 and PROCEDUREID!=55
                                 ORDER BY
 	                                PRODUCTIONLINEID,NODENO
                             ",
@@ -409,6 +409,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                  WHERE accountid =  @ACCOUNTID@
                                    AND valueflag = '1'
                                    AND modeltype = -1
+                                   and PROCEDUREID!=55
                                 UNION ALL
                                 SELECT 999
                                       ,'999'

+ 99 - 2
wwwroot/mes/rpt/rpt014/rptnew.ashx

@@ -86,6 +86,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
             {
                 buding = "IN(" + "'1#','2#'" + ")";
             }
+            #region 可选缺陷  删除 插入
             //d可选缺陷  删除 插入
             string[] denames = new string[] { };
             if (context.Request["defectMaster[]"] is object)
@@ -107,13 +108,23 @@ public class rpt : IHttpHandler, IReadOnlySessionState
             bool flg = true;
             for (int i = 0; i < denames.Length; i++)
             {
+                if (string.IsNullOrEmpty(denames[i]))
+                {
+                    continue;
+                }
+                defectallnames.Remove(denames[i]);
                 // 前台传过来的 可选缺陷的字符串
                 if (!context.Request["name"].ToString().Contains(denames[i]))
                 {
                     flg = false;
+                    break;
                 }
             }
-			//d可选缺陷  删除 插入
+            if (context.Request["name"].ToString().Split(',').Length != denames.Length)
+            {
+                flg = false;
+            }
+            //d可选缺陷  删除 插入
             if (!flg)
             {
                 using (IDataAccess conn = DataAccess.Create())
@@ -127,7 +138,6 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                         {
                             continue;
                         }
-                        defectallnames.Remove(denames[i]);
                         int result = conn.ExecuteNonQuery(@"
 					INSERT INTO tp_mst_defectgroup_user ( 
 						DEFECTGROUPTYPE,
@@ -148,6 +158,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     }
                 }
             }
+            #endregion
+
+
             using (IDataAccess conn = DataAccess.Create())
             {
                 col = conn.ExecuteDatatable(@"
@@ -912,6 +925,80 @@ DECODE( TA.GID, 3, '合计', TA.GOODSTYPENAME ) AS 产品类别,
                 {
                     buding = "IN(" + "'1#','2#'" + ")";
                 }
+                #region 可选缺陷  删除 插入
+                //d可选缺陷  删除 插入
+                string[] denames = new string[] { };
+                if (context.Request["defectMaster[]"] is object)
+                {
+                    if (context.Request["defectMaster[]"].ToString() != "")
+                    {
+                        denames = context.Request["defectMaster[]"].ToString().Split(',');
+                    }
+                }
+                if (context.Request["defectMaster"] is object)
+                {
+                    if (context.Request["defectMaster"].ToString() != "")
+                    {
+                        denames = context.Request["defectMaster"].ToString().Split(',');
+                    }
+
+                }
+                // 判断可选缺陷 是否发生变化,如果没有变化则不用调用数据库
+                bool flg = true;
+                for (int i = 0; i < denames.Length; i++)
+                {
+                    if (string.IsNullOrEmpty(denames[i]))
+                    {
+                        continue;
+                    }
+                    defectallnames.Remove(denames[i]);
+                    // 前台传过来的 可选缺陷的字符串
+                    if (!context.Request["name"].ToString().Contains(denames[i]))
+                    {
+                        flg = false;
+                        break;
+                    }
+                }
+                if (context.Request["name"].ToString().Split(',').Length != denames.Length)
+                {
+                    flg = false;
+                }
+                //d可选缺陷  删除 插入
+                if (!flg)
+                {
+                    using (IDataAccess connn = DataAccess.Create())
+                    {
+                        connn.ExecuteNonQuery(@"delete from tp_mst_defectgroup_user where USERID = @USERID@",
+                            new CDAParameter("USERID", HttpContext.Current.Session["userId"].ToString()));
+
+                        for (int i = 0; i < denames.Length; i++)
+                        {
+                            if (string.IsNullOrEmpty(denames[i]))
+                            {
+                                continue;
+                            }
+                            int result = connn.ExecuteNonQuery(@"
+					INSERT INTO tp_mst_defectgroup_user ( 
+						DEFECTGROUPTYPE,
+						DEFECTGROUPNAME, 
+						ACCOUNTID,CREATEUSERID,USERID
+					) VALUES ( 
+						@DEFECTGROUPTYPE@,
+						@DEFECTGROUPNAME@,                    
+						@ACCOUNTID@,@CREATEUSERID@,@USERID@
+					)
+					",
+                           new CDAParameter("DEFECTGROUPTYPE", denames[i]),
+                           new CDAParameter("DEFECTGROUPNAME", denames[i]),
+                           new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"].ToString()),
+                           new CDAParameter("CREATEUSERID", HttpContext.Current.Session["userId"].ToString()),
+                           new CDAParameter("USERID", HttpContext.Current.Session["userId"].ToString())
+                        );
+                        }
+                    }
+                }
+                #endregion
+
                 string sqlStr = @"
 					SELECT
 		                
@@ -1117,6 +1204,16 @@ DECODE( TA.GID, 3, '合计', TA.GOODSTYPENAME ) AS 产品类别,
                 //获取分页数据    
                 int total = 0;
                 DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
+                for (int m = dt.Columns.Count - 1; m > 0; m--)
+                {
+                    for (int mn = 0; mn < defectallnames.Count; mn++)
+                    {
+                        if (dt.Columns[m].ColumnName.Contains(defectallnames[mn]))
+                        {
+                            dt.Columns.Remove(dt.Columns[m].ColumnName);
+                        }
+                    }
+                }
                 string jsonStr = new JsonResult(dt) { total = total }.ToJson();
                 context.Response.Write(jsonStr);
             }

+ 205 - 3
wwwroot/mes/rpt/rpt014/rptnew_detail.ashx

@@ -123,27 +123,229 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                     }
                 case "U级":
                     {
+                        sqlDetail = @" SELECT  DISTINCT '" + gs + @"' 产品编码,  Barcode  产品条码				            
+			            FROM
+				            (SELECT to_char(pd.Barcode)  Barcode
+                              ,MAX(pmax.productiondataid) mpdid
+                              ,pd.goodsleveltypeid
+                              ,pd.goodsid 
+                              ,CASE
+                                   WHEN SUM(pmax.productiondataid) > 0 THEN
+                                    1
+                                   ELSE
+                                    0
+                               END h_flag 
+                          FROM tp_pm_productiondata pd
+                          LEFT JOIN tp_pm_productiondata pmax
+                            ON pmax.groutingdailydetailid = pd.groutingdailydetailid
+                           AND pmax.productiondataid < pd.productiondataid
+                           AND pmax.valueflag = '1'
+                           AND pmax.proceduremodel = '1'
+                              /*20  研磨 22  直接冷补 23  研磨后冷补(非回收) 37  堵漏气 41  刷洗不良*/
+                           AND pmax.procedureid IN (20, 22, 23, 37, 41)
+                         INNER JOIN tp_pc_groutingline gl
+                            ON gl.groutinglineid = pd.groutinglineid
+                         WHERE pd.valueflag = '1'
+                           AND pd.procedureid = @PROCEDUREID@
+                           AND pd.checkbatchno = 1
+                           AND pd.createtime >= @DATEBEGIN@
+                           AND pd.createtime < @DATEEND@
+                           AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
+                           AND pd.goodscode IN( '" + gs + @"' )
+                           AND gl.buildingno {BUILDINGNO}
+                         GROUP BY pd.Barcode
+                                 ,pd.goodsleveltypeid
+                                 ,pd.goodsid  ) T where T.GOODSLEVELTYPEID = 4 and T.H_FLAG = 0";
+
                         break;
                     }
                 case "A级":
                     {
+                         sqlDetail = @" SELECT  DISTINCT '" + gs + @"' 产品编码,  Barcode  产品条码				            
+			            FROM
+				            (SELECT to_char(pd.Barcode) Barcode
+                              ,MAX(pmax.productiondataid) mpdid
+                              ,pd.goodsleveltypeid
+                              ,pd.goodsid 
+                              ,CASE
+                                   WHEN SUM(pmax.productiondataid) > 0 THEN
+                                    1
+                                   ELSE
+                                    0
+                               END h_flag 
+                          FROM tp_pm_productiondata pd
+                          LEFT JOIN tp_pm_productiondata pmax
+                            ON pmax.groutingdailydetailid = pd.groutingdailydetailid
+                           AND pmax.productiondataid < pd.productiondataid
+                           AND pmax.valueflag = '1'
+                           AND pmax.proceduremodel = '1'
+                              /*20  研磨 22  直接冷补 23  研磨后冷补(非回收) 37  堵漏气 41  刷洗不良*/
+                           AND pmax.procedureid IN (20, 22, 23, 37, 41)
+                         INNER JOIN tp_pc_groutingline gl
+                            ON gl.groutinglineid = pd.groutinglineid
+                         WHERE pd.valueflag = '1'
+                           AND pd.procedureid = @PROCEDUREID@
+                           AND pd.checkbatchno = 1
+                           AND pd.createtime >= @DATEBEGIN@
+                           AND pd.createtime < @DATEEND@
+                           AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
+                           AND pd.goodscode IN( '" + gs + @"' )
+                           AND gl.buildingno {BUILDINGNO}
+                         GROUP BY pd.Barcode
+                                 ,pd.goodsleveltypeid
+                                 ,pd.goodsid  ) T where T.GOODSLEVELTYPEID = 5 and T.H_FLAG = 0";
                         break;
                     }
                 case "AA级":
                     {
+                            sqlDetail = @" SELECT  DISTINCT '" + gs + @"' 产品编码, T.Barcode  产品条码				            
+			            FROM
+				            (SELECT to_char(pd.Barcode) Barcode
+                              ,MAX(pmax.productiondataid) mpdid
+                              ,pd.goodsleveltypeid
+                              ,pd.goodsid 
+                              ,CASE
+                                   WHEN SUM(pmax.productiondataid) > 0 THEN
+                                    1
+                                   ELSE
+                                    0
+                               END h_flag 
+                          FROM tp_pm_productiondata pd
+                          LEFT JOIN tp_pm_productiondata pmax
+                            ON pmax.groutingdailydetailid = pd.groutingdailydetailid
+                           AND pmax.productiondataid < pd.productiondataid
+                           AND pmax.valueflag = '1'
+                           AND pmax.proceduremodel = '1'
+                              /*20  研磨 22  直接冷补 23  研磨后冷补(非回收) 37  堵漏气 41  刷洗不良*/
+                           AND pmax.procedureid IN (20, 22, 23, 37, 41)
+                         INNER JOIN tp_pc_groutingline gl
+                            ON gl.groutinglineid = pd.groutinglineid
+                         WHERE pd.valueflag = '1'
+                           AND pd.procedureid = @PROCEDUREID@
+                           AND pd.checkbatchno = 1
+                           AND pd.createtime >= @DATEBEGIN@
+                           AND pd.createtime < @DATEEND@
+                           AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
+                           AND pd.goodscode IN( '" + gs + @"' )
+                           AND gl.buildingno {BUILDINGNO}
+                         GROUP BY pd.Barcode
+                                 ,pd.goodsleveltypeid
+                                 ,pd.goodsid  ) T  LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID where  T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 )  ";
                         break;
                     }
                 case "去AA":
                     {
-                        break;
+                        sqlDetail = @" SELECT  DISTINCT '" + gs + @"' 产品编码,   T.Barcode  产品条码				            
+			            FROM
+				            (SELECT to_char(pd.Barcode) Barcode
+                              ,MAX(pmax.productiondataid) mpdid
+                              ,pd.goodsleveltypeid
+                              ,pd.goodsid 
+                              ,CASE
+                                   WHEN SUM(pmax.productiondataid) > 0 THEN
+                                    1
+                                   ELSE
+                                    0
+                               END h_flag 
+                          FROM tp_pm_productiondata pd
+                          LEFT JOIN tp_pm_productiondata pmax
+                            ON pmax.groutingdailydetailid = pd.groutingdailydetailid
+                           AND pmax.productiondataid < pd.productiondataid
+                           AND pmax.valueflag = '1'
+                           AND pmax.proceduremodel = '1'
+                              /*20  研磨 22  直接冷补 23  研磨后冷补(非回收) 37  堵漏气 41  刷洗不良*/
+                           AND pmax.procedureid IN (20, 22, 23, 37, 41)
+                         INNER JOIN tp_pc_groutingline gl
+                            ON gl.groutinglineid = pd.groutinglineid
+                         WHERE pd.valueflag = '1'
+                           AND pd.procedureid = @PROCEDUREID@
+                           AND pd.checkbatchno = 1
+                           AND pd.createtime >= @DATEBEGIN@
+                           AND pd.createtime < @DATEEND@
+                           AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
+                           AND pd.goodscode IN( '" + gs + @"' )
+                           AND gl.buildingno {BUILDINGNO}
+                         GROUP BY pd.Barcode
+                                 ,pd.goodsleveltypeid
+                                 ,pd.goodsid  ) T LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID 
+                                where  RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) ";
+                            break;
                     }
                 case "F级":
                     {
-                        break;
+                         sqlDetail = @" SELECT  DISTINCT '" + gs + @"' 产品编码,  Barcode  产品条码				            
+			            FROM
+				            (SELECT to_char(pd.Barcode) Barcode
+                              ,MAX(pmax.productiondataid) mpdid
+                              ,pd.goodsleveltypeid
+                              ,pd.goodsid 
+                              ,CASE
+                                   WHEN SUM(pmax.productiondataid) > 0 THEN
+                                    1
+                                   ELSE
+                                    0
+                               END h_flag 
+                          FROM tp_pm_productiondata pd
+                          LEFT JOIN tp_pm_productiondata pmax
+                            ON pmax.groutingdailydetailid = pd.groutingdailydetailid
+                           AND pmax.productiondataid < pd.productiondataid
+                           AND pmax.valueflag = '1'
+                           AND pmax.proceduremodel = '1'
+                              /*20  研磨 22  直接冷补 23  研磨后冷补(非回收) 37  堵漏气 41  刷洗不良*/
+                           AND pmax.procedureid IN (20, 22, 23, 37, 41)
+                         INNER JOIN tp_pc_groutingline gl
+                            ON gl.groutinglineid = pd.groutinglineid
+                         WHERE pd.valueflag = '1'
+                           AND pd.procedureid = @PROCEDUREID@
+                           AND pd.checkbatchno = 1
+                           AND pd.createtime >= @DATEBEGIN@
+                           AND pd.createtime < @DATEEND@
+                           AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
+                           AND pd.goodscode IN( '" + gs + @"' )
+                           AND gl.buildingno {BUILDINGNO}
+                         GROUP BY pd.Barcode
+                                 ,pd.goodsleveltypeid
+                                 ,pd.goodsid  ) T where T.GOODSLEVELTYPEID = 20   and T.H_FLAG = 0";
+                            break;
                     }
                 case "R级":
                     {
-                        break;
+                         sqlDetail = @" SELECT  DISTINCT '" + gs + @"' 产品编码,  Barcode  产品条码				            
+			            FROM
+				            (SELECT to_char(pd.Barcode) Barcode
+                              ,MAX(pmax.productiondataid) mpdid
+                              ,pd.goodsleveltypeid
+                              ,pd.goodsid 
+                              ,PD.REWORKPROCEDUREID
+                              ,CASE
+                                   WHEN SUM(pmax.productiondataid) > 0 THEN
+                                    1
+                                   ELSE
+                                    0
+                               END h_flag 
+                          FROM tp_pm_productiondata pd
+                          LEFT JOIN tp_pm_productiondata pmax
+                            ON pmax.groutingdailydetailid = pd.groutingdailydetailid
+                           AND pmax.productiondataid < pd.productiondataid
+                           AND pmax.valueflag = '1'
+                           AND pmax.proceduremodel = '1'
+                              /*20  研磨 22  直接冷补 23  研磨后冷补(非回收) 37  堵漏气 41  刷洗不良*/
+                           AND pmax.procedureid IN (20, 22, 23, 37, 41)
+                         INNER JOIN tp_pc_groutingline gl
+                            ON gl.groutinglineid = pd.groutinglineid
+                         WHERE pd.valueflag = '1'
+                           AND pd.procedureid = @PROCEDUREID@
+                           AND pd.checkbatchno = 1
+                           AND pd.createtime >= @DATEBEGIN@
+                           AND pd.createtime < @DATEEND@
+                           AND (pd.kilnid = @KILNID@ OR @KILNID@ IS NULL)
+                           AND pd.goodscode IN( '" + gs + @"' )
+                           AND gl.buildingno {BUILDINGNO}
+                         GROUP BY pd.Barcode
+                                 ,pd.goodsleveltypeid
+                                 ,pd.goodsid
+                                 ,pd.reworkprocedureid ) T where T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 and T.H_FLAG = 0";
+                            break;
                     }
                 default:
                     {