Przeglądaj źródła

质量报表修正,重烧带出本烧缺陷修正

qinqi 3 lat temu
rodzic
commit
06624b03ec

+ 40 - 6
DK.Service/PMModuleLogic/PMModuleLogicPartial.cs

@@ -1880,18 +1880,52 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
                                     LEFT JOIN TP_MST_DataDictionary glaze ON glaze.DICTIONARYID = gdd.GLAZETYPEID
 									where TP_PM_InProduction.BarCode=:barcode";
 
-							string sqlString2 = @"SELECT pi.* FROM TP_PM_ProductionDataIn pi
+							paras = new OracleParameter[]{
+								new OracleParameter(":barcode",barcode),
+							};
+
+							ds = oracleConn.GetSqlResultToDs(sqlString, paras);
+
+							string sqlString2 = @"SELECT pi.isrefire FROM tp_pm_inproduction pi
+                                    where pi.Barcode= :barcode";
+
+							
+							object isrefire = oracleConn.GetSqlResultToObj(sqlString2, paras);
+
+							DataSet dataTable = new DataSet();
+							if (isrefire.ToString().Equals("0"))
+							{
+								sqlString2 = @"SELECT pi.* FROM TP_PM_ProductionDataIn pi
                                     where pi.Barcode= :barcode
                                     and pi.MODELTYPE IN (-1, -4, -5)
                                     and pi.ValueFlag = '1'
+                                    and pi.isrefire = '0' 
                                     order by pi.CREATETIME desc";
 
-							paras = new OracleParameter[]{
-								new OracleParameter(":barcode",barcode),
-							};
-							ds = oracleConn.GetSqlResultToDs(sqlString, paras);
+								paras = new OracleParameter[]{
+									new OracleParameter(":barcode",barcode),
+								};
+
+								dataTable = oracleConn.GetSqlResultToDs(sqlString2, paras);
+							}
+							else
+							{
+								sqlString2 = @"SELECT pi.* FROM TP_PM_ProductionDataIn pi
+                                    where pi.Barcode= :barcode
+                                    and pi.MODELTYPE IN (-1, -4, -5)
+                                    and pi.ValueFlag = '1'
+                                    and pi.isrefire = '6' 
+                                    order by pi.CREATETIME desc";
+
+								paras = new OracleParameter[]{
+									new OracleParameter(":barcode",barcode),
+								};
+
+								dataTable = oracleConn.GetSqlResultToDs(sqlString2, paras);
+							}
+
+							
 							//缺陷
-							DataSet dataTable = oracleConn.GetSqlResultToDs(sqlString2, paras);
 							if (dataTable != null && dataTable.Tables.Count > 0 && dataTable.Tables[0].Rows.Count > 0)
 							{
 								dr["DefectFlagID"] = Convert.ToInt32(dataTable.Tables[0].Rows[0]["goodsleveltypeid"]);

+ 15 - 2
DK.Service/ReportModuleLogic/ReportModuleLogic.cs

@@ -4684,13 +4684,11 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
 
             if (se.RptSProcedureID == 58)
             {
-                selSql.Append("  and pd.procedureid IN(58)  ");
                 // 首检标识和重烧标识都不对,这里先用窑炉ID限制一下
                 selSql.Append("  AND PD.KILNID IN(3,4,6)  ");
             }
             else
             {
-                selSql.Append("  and pd.procedureid IN(11,104)  ");
                 // 首检标识和重烧标识都不对,这里先用窑炉ID限制一下
                 selSql.Append("  AND PD.KILNID IN(1,2,5)  ");
             }
@@ -4843,6 +4841,21 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                     "            ON TP_PM_Defect.DefectID = TP_MST_Defect.DefectID\n" +
                     "          LEFT JOIN TP_MST_DefectType\n" +
                     "            ON TP_MST_Defect.DefectTypeID = TP_MST_DefectType.DefectTypeID\n" +
+                     "INNER JOIN (SELECT T.*\n" +
+                "             FROM (SELECT PD.*,\n" +
+                "                          RANK() OVER(PARTITION BY PD.BARCODE, PD.KILNID ORDER BY PD.PRODUCTIONDATAID DESC) AS RK\n" +
+                "                     FROM TP_PM_PRODUCTIONDATA PD\n" +
+                "                    INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD\n" +
+                "                       ON GDD.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID\n" +
+                "                    WHERE PD.VALUEFLAG = '1'\n" +
+                "                      AND PD.MODELTYPE IN (-1, -4, -5)\n" +
+                "                      AND PD.CREATETIME >= :createtimebegin\n" +
+                "                      AND PD.CREATETIME <= :createtimeend\n" +
+                "                      AND((:in_rptSprocedureId IS NULL)\n" +
+                "                         OR(:in_rptSprocedureId = 11 AND(GDD.Twoleveltime IS NULL OR pd.createtime < GDD.Twoleveltime))\n" +
+                "                         OR(:in_rptSprocedureId = 58 AND GDD.Twoleveltime IS NOT NULL AND pd.createtime >= GDD.Twoleveltime)) ) T\n" +
+                "            WHERE T.RK <= 1) PD\n" +
+                 "   ON TP_PM_Defect.PRODUCTIONDATAID = PD.PRODUCTIONDATAID\n" +
                     "        --LEFT JOIN TP_PM_ProductionData\n" +
                     "        --  ON TP_PM_ProductionData.ProductionDataID =\n" +
                     "        --    TP_PM_Defect.ProductionDataID\n" +