Просмотр исходного кода

Merge branch 'master' of http://git.dongkesoft.com:9001/hg5000/dk.hg5000.wcf

qinqi 3 лет назад
Родитель
Сommit
5dbb30bc01

+ 10 - 7
DK.Client/ReportModule/R04/M01/F_RPT_040105.Designer.cs

@@ -208,7 +208,7 @@
             this.lblAccountDateStart.BackColor = System.Drawing.Color.Transparent;
             this.lblAccountDateStart.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.lblAccountDateStart.ForeColor = System.Drawing.SystemColors.ControlText;
-            this.lblAccountDateStart.Location = new System.Drawing.Point(318, 49);
+            this.lblAccountDateStart.Location = new System.Drawing.Point(119, 49);
             this.lblAccountDateStart.Name = "lblAccountDateStart";
             this.lblAccountDateStart.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
             this.lblAccountDateStart.Size = new System.Drawing.Size(53, 12);
@@ -221,7 +221,7 @@
             this.lblAccountDateEnd.BackColor = System.Drawing.Color.Transparent;
             this.lblAccountDateEnd.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.lblAccountDateEnd.ForeColor = System.Drawing.SystemColors.ControlText;
-            this.lblAccountDateEnd.Location = new System.Drawing.Point(517, 49);
+            this.lblAccountDateEnd.Location = new System.Drawing.Point(318, 49);
             this.lblAccountDateEnd.Name = "lblAccountDateEnd";
             this.lblAccountDateEnd.Size = new System.Drawing.Size(53, 12);
             this.lblAccountDateEnd.TabIndex = 9;
@@ -232,10 +232,10 @@
             this.dtpAccountDateEnd.CustomFormat = "yyyy-MM-dd HH:mm";
             this.dtpAccountDateEnd.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.dtpAccountDateEnd.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
-            this.dtpAccountDateEnd.Location = new System.Drawing.Point(575, 44);
+            this.dtpAccountDateEnd.Location = new System.Drawing.Point(377, 44);
             this.dtpAccountDateEnd.Name = "dtpAccountDateEnd";
             this.dtpAccountDateEnd.ShowUpDown = true;
-            this.dtpAccountDateEnd.Size = new System.Drawing.Size(133, 21);
+            this.dtpAccountDateEnd.Size = new System.Drawing.Size(132, 21);
             this.dtpAccountDateEnd.TabIndex = 10;
             // 
             // dtpAccountDateStart
@@ -243,7 +243,7 @@
             this.dtpAccountDateStart.CustomFormat = "yyyy-MM-dd HH:mm";
             this.dtpAccountDateStart.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.dtpAccountDateStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
-            this.dtpAccountDateStart.Location = new System.Drawing.Point(378, 45);
+            this.dtpAccountDateStart.Location = new System.Drawing.Point(179, 45);
             this.dtpAccountDateStart.Name = "dtpAccountDateStart";
             this.dtpAccountDateStart.ShowUpDown = true;
             this.dtpAccountDateStart.Size = new System.Drawing.Size(133, 21);
@@ -308,7 +308,7 @@
             this.chkTestMouldFlag.BackColor = System.Drawing.SystemColors.Control;
             this.chkTestMouldFlag.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("chkTestMouldFlag.BackgroundImage")));
             this.chkTestMouldFlag.FalseText = "否";
-            this.chkTestMouldFlag.Location = new System.Drawing.Point(714, 48);
+            this.chkTestMouldFlag.Location = new System.Drawing.Point(515, 48);
             this.chkTestMouldFlag.Margin = new System.Windows.Forms.Padding(3, 1, 3, 1);
             this.chkTestMouldFlag.Name = "chkTestMouldFlag";
             this.chkTestMouldFlag.Size = new System.Drawing.Size(130, 16);
@@ -336,7 +336,7 @@
             this.dkProcedureSearchBox2.Enabled = false;
             this.dkProcedureSearchBox2.IsEnablePurview = false;
             this.dkProcedureSearchBox2.IsMustInput = true;
-            this.dkProcedureSearchBox2.Location = new System.Drawing.Point(85, 45);
+            this.dkProcedureSearchBox2.Location = new System.Drawing.Point(651, 44);
             this.dkProcedureSearchBox2.ModelType = null;
             this.dkProcedureSearchBox2.Name = "dkProcedureSearchBox2";
             this.dkProcedureSearchBox2.ProcedureCode = "";
@@ -350,6 +350,7 @@
             this.dkProcedureSearchBox2.TabIndex = 3;
             this.dkProcedureSearchBox2.Title = "出窑数统计工序";
             this.dkProcedureSearchBox2.TxtGoodsTypeBackColor = System.Drawing.SystemColors.Control;
+            this.dkProcedureSearchBox2.Visible = false;
             // 
             // btnClearCondition
             // 
@@ -437,6 +438,7 @@
             this.dgvRptProcedure.EnableHeadersVisualStyles = false;
             this.dgvRptProcedure.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.dgvRptProcedure.FormatQuantityColumns = null;
+            this.dgvRptProcedure.HasNode = false;
             this.dgvRptProcedure.HorizontalMergeColumn = null;
             this.dgvRptProcedure.IsAutoCountSum = true;
             this.dgvRptProcedure.IsAutoResizeColumns = false;
@@ -465,6 +467,7 @@
             this.dgvRptProcedure.Tag = true;
             this.dgvRptProcedure.TotalSumColumns = null;
             this.dgvRptProcedure.ViewRowFilter = "";
+            this.dgvRptProcedure.VirtualNodes = false;
             // 
             // ProductionLineId
             // 

+ 10 - 10
DK.Client/ReportModule/R04/M01/F_RPT_040105.cs

@@ -172,7 +172,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
             //this.dkUserInfoSearchBox.ClearControl();
 
             this.chkAll.Checked = false;
-            this.dkProcedureSearchBox2.ClearControl();
+            //this.dkProcedureSearchBox2.ClearControl();
             this.chkTestMouldFlag.AllItemCheck();
             this.scbGoodsType.ClearValue();
         }
@@ -193,13 +193,13 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
                 RPT040105_SE se = new RPT040105_SE();
                 if (this.chkAll.Checked)
                 {
-                    if (string.IsNullOrEmpty(dkProcedureSearchBox2.ProcedureIDS))
-                    {
-                        MessageBox.Show("请选择出窑数统计工序", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
-                        this.dkProcedureSearchBox2.Focus();
-                        return null;
-                    }
-                    se.OutProcedureIDS = dkProcedureSearchBox2.ProcedureIDS;
+                    //if (string.IsNullOrEmpty(dkProcedureSearchBox2.ProcedureIDS))
+                    //{
+                    //    MessageBox.Show("请选择出窑数统计工序", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    //    this.dkProcedureSearchBox2.Focus();
+                    //    return null;
+                    //}
+                    //se.OutProcedureIDS = dkProcedureSearchBox2.ProcedureIDS;
                 }
                 else
                 {
@@ -373,12 +373,12 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
             if (this.chkAll.Checked)
             {
                 dropRptProcedure.Enabled = false;
-                dkProcedureSearchBox2.Enabled = true;
+                //dkProcedureSearchBox2.Enabled = true;
             }
             else
             {
                 dropRptProcedure.Enabled = true;
-                dkProcedureSearchBox2.Enabled = false;
+                //dkProcedureSearchBox2.Enabled = false;
             }
         }
     }

+ 69 - 36
DK.Service/ReportModuleLogic/ReportModuleLogic.cs

@@ -3364,7 +3364,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "                      ,1                   cc\n" +
             "                  from tp_pm_productiondata pd\n" +
             "                 where pd.valueflag = '1'\n" +
-            "                   and pd.procedureid = :in_rptSprocedureId\n" +
+            "                   and pd.procedureid IN(11, 104)\n" +
             "                   and pd.accountid = :in_AccountID\n";
 
             StringBuilder selSql = new StringBuilder(sqlString);
@@ -3411,16 +3411,22 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                            ppd.KILNID,
                            ppd.KILNCARBATCHNO,
                            dd.defectprocedureid as procedureid,
-                           RANK() OVER(PARTITION BY dd.BARCODE ORDER BY dd.PRODUCTIONDATAID DESC) AS RK
-                      FROM (select pd.productiondataid
-                                        ,pd.goodsleveltypeid
-                                       ,pd.kilnid
-                                       ,pd.kilncarbatchno
-                                    from tp_pm_productiondata pd
-                                     WHERE PD.VALUEFLAG = '1'
-                                       AND PD.MODELTYPE IN (-1, -4, -5)
-                                       AND PD.ACCOUNTID = :in_AccountID
-                                       AND LENGTH(PD.KILNCARBATCHNO) > 0 ";
+                           RANK() OVER(PARTITION BY ppd.BARCODE, ppd.KILNID ORDER BY ppd.PRODUCTIONDATAID DESC) AS RK
+                      FROM (SELECT PD.BARCODE
+                                  ,PD.PRODUCTIONDATAID
+                                  ,PD.GOODSLEVELTYPEID
+                                  ,PD.KILNID
+                                  ,PD.KILNCARBATCHNO
+                              FROM TP_PM_PRODUCTIONDATA PD
+                             INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD
+                                ON GDD.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
+                             WHERE PD.VALUEFLAG = '1'
+                               AND PD.MODELTYPE IN (-1, -4, -5)
+                               AND PD.ACCOUNTID = :in_AccountID
+                               AND LENGTH(PD.KILNCARBATCHNO) > 0 
+                               AND ((:in_rptSprocedureId IS NULL) 
+                                 OR (:in_rptSprocedureId = 11 AND (GDD.Twoleveltime IS NULL OR pd.createtime < GDD.Twoleveltime)) 
+                                 OR (:in_rptSprocedureId = 58 AND GDD.Twoleveltime IS NOT NULL AND pd.createtime >= GDD.Twoleveltime)) ";
             //sqlString =
             //"                union all\n" +
             //"                select distinct ppd.goodsleveltypeid\n" +
@@ -3469,13 +3475,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 parameters.Add(new OracleParameter(":KilnID", OracleDbType.Int32, se.KilnID, ParameterDirection.Input));
             }
             sqlString =
-            "                           and exists\n" +
-            "                         (select 1\n" +
-            "                                  from tp_pm_productiondata outpd\n" +
-            "                                 where outpd.barcode = pd.barcode\n" +
-            "                                   and outpd.procedureid = :in_rptSprocedureId\n" +
-            "                                   and outpd.valueflag = '1'\n" +
-            "                                   and outpd.kilncarbatchno = pd.kilncarbatchno)) ppd\n" +
+            " ) ppd\n" +
             "                 inner join tp_pm_defect dd\n" +
             "                    on dd.productiondataid = ppd.productiondataid\n" +
             //"                --and dd.checktime >= in_DateBegin\n" +
@@ -4001,7 +4001,8 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "                 where pd.accountid = :in_AccountID\n" +
             "           AND ((:in_rptSprocedureId = 11 AND ((pd.procedureid = 11 AND pd.valueflag = '1') OR (pd.procedureid =104 AND pd.isrefire = '0' AND pd.checkflag = '1'))) \n" +
             "               OR (:in_rptSprocedureId = 58 AND ((pd.procedureid = 58 AND pd.valueflag = '1') OR (pd.procedureid =104 AND pd.isrefire = '6' AND pd.checkflag = '1'))) \n" +
-            "               OR (:in_rptSprocedureId not in (11,58) AND pd.valueflag = '1' AND pd.procedureid = :in_rptSprocedureId))\n"
+            "               OR (:in_rptSprocedureId not in (11,58) AND pd.valueflag = '1' AND pd.procedureid = :in_rptSprocedureId))\n" +
+            "           AND pd.procedureid IN(11,104)\n"
             //"                   and pd.accountid = :in_AccountID\n";
             ;
             // end
@@ -4065,14 +4066,17 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                            PD.GOODSID,
                            PD.KILNID,
                            PD.KILNCARBATCHNO,
-                           RANK() OVER(PARTITION BY PD.BARCODE ORDER BY PD.PRODUCTIONDATAID DESC) AS RK
+                           RANK() OVER(PARTITION BY PD.BARCODE, PD.KILNID ORDER BY PD.PRODUCTIONDATAID DESC) AS RK
                       FROM TP_PM_PRODUCTIONDATA PD
                      INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD
                         ON GDD.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
                      WHERE PD.VALUEFLAG = '1'
                        AND PD.MODELTYPE IN (-1, -4, -5)
                        AND PD.ACCOUNTID = :in_AccountID
-                       AND LENGTH(PD.KILNCARBATCHNO) > 0 ";
+                       AND LENGTH(PD.KILNCARBATCHNO) > 0 
+                       AND ((:in_rptSprocedureId IS NULL) 
+                            OR (:in_rptSprocedureId = 11 AND (GDD.Twoleveltime IS NULL OR pd.createtime < GDD.Twoleveltime)) 
+                            OR (:in_rptSprocedureId = 58 AND GDD.Twoleveltime IS NOT NULL AND pd.createtime >= GDD.Twoleveltime)) ";
 
             //sqlString =
             //"                union all\n" +
@@ -4483,7 +4487,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
         private static string GetRPT040105S1SQL(SUserInfo user, RPT040105_SE se, ref List<OracleParameter> parameters)
         {
             parameters.Add(new OracleParameter(":in_AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
-            parameters.Add(new OracleParameter(":in_OutProcedureIDS", OracleDbType.Varchar2, se.OutProcedureIDS, ParameterDirection.Input));
+            //parameters.Add(new OracleParameter(":in_OutProcedureIDS", OracleDbType.Varchar2, se.OutProcedureIDS, ParameterDirection.Input));
             parameters.Add(new OracleParameter(":in_rptSprocedureId", OracleDbType.Int32, se.RptSProcedureID, ParameterDirection.Input));
 
             string sqlString = "select qdgroup.gid\n" +
@@ -4569,8 +4573,9 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "                   and (:in_rptSprocedureId is null or ((:in_rptSprocedureId = 11 AND ((pd.procedureid = 11 ) OR (pd.procedureid =104 AND pd.isrefire = '0'))) \n" +
             "               OR (:in_rptSprocedureId = 58 AND ((pd.procedureid = 58) OR (pd.procedureid =104 AND pd.isrefire = '6'))) \n" +
             "               OR (:in_rptSprocedureId not in (11,58) AND pd.procedureid = :in_rptSprocedureId)))\n" +
+            "                   and pd.procedureid IN(11,104)\n" +
             // end
-            "                   and (:in_OutProcedureIDS is null or instr(','||:in_OutProcedureIDS||',', ','||pd.procedureid||',') > 0)\n" +
+            //"                   and (:in_OutProcedureIDS is null or instr(','||:in_OutProcedureIDS||',', ','||pd.procedureid||',') > 0)\n" +
             "                   and pd.accountid = :in_AccountID\n";
 
             StringBuilder selSql = new StringBuilder(sqlString);
@@ -4631,21 +4636,24 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                            PD.GOODSID,
                            PD.KILNID,
                            PD.KILNCARBATCHNO,
-                           RANK() OVER(PARTITION BY PD.BARCODE ORDER BY PD.PRODUCTIONDATAID DESC) AS RK
+                           RANK() OVER(PARTITION BY PD.BARCODE, PD.KILNID ORDER BY PD.PRODUCTIONDATAID DESC) AS RK
                       FROM TP_PM_PRODUCTIONDATA PD
                      INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD
                         ON GDD.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID
                      WHERE PD.VALUEFLAG = '1'
                        AND PD.MODELTYPE IN (-1, -4, -5)
                        AND PD.ACCOUNTID = :in_AccountID
-                       AND LENGTH(PD.KILNCARBATCHNO) > 0 ";
+                       AND LENGTH(PD.KILNCARBATCHNO) > 0
+                       AND ((:in_rptSprocedureId IS NULL) 
+                            OR (:in_rptSprocedureId = 11 AND (GDD.Twoleveltime IS NULL OR pd.createtime < GDD.Twoleveltime)) 
+                            OR (:in_rptSprocedureId = 58 AND GDD.Twoleveltime IS NOT NULL AND pd.createtime >= GDD.Twoleveltime)) ";
             //sqlString =
             //"                union all\n" +
             //"                select distinct pd.goodsleveltypeid\n" +
             //"                               ,pd.barcode\n" +
             //"                               ,pd.productionlineid\n" +
             //"                               ,pd.goodsid\n" +
-            //"                               ,pd.kilnid\n" +
+            //"                               ,pd.kilnid\n" +   
             //"                               ,pd.kilncarbatchno\n" +
             //"                               ,1 cc\n" +
             //"                  from tp_pm_productiondata pd\n" +
@@ -4709,7 +4717,8 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             //"                   and (:in_OutProcedureIDS is null or instr(','||:in_OutProcedureIDS||',', ','||outpd.procedureid||',') > 0)\n" +
             //"                           and outpd.valueflag = '1'\n" +
             //"                           and outpd.kilncarbatchno = pd.kilncarbatchno)" +
-            " and ((:in_rptSprocedureId IS NULL) OR (:in_rptSprocedureId <> 58 and pd.isrefire = '0') or (:in_rptSprocedureId = 58 and pd.isrefire = '6')) ) T WHERE T.RK <= 1 \n" +
+            //" and ((:in_rptSprocedureId IS NULL) OR (:in_rptSprocedureId <> 58 and pd.isrefire = '0') or (:in_rptSprocedureId = 58 and pd.isrefire = '6')) ) T WHERE T.RK <= 1 \n" +
+            " ) T WHERE T.RK <= 1 \n" +
             // end
             ") ppcc\n" +
             "         inner join tp_pc_productionline pcpl\n" +
@@ -10002,12 +10011,17 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
 
                 "INNER JOIN (SELECT T.*\n" +
                 "             FROM (SELECT PD.*,\n" +
-                "                          RANK() OVER(PARTITION BY PD.BARCODE ORDER BY PD.PRODUCTIONDATAID DESC) AS RK\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 >= :CreateTimeStart\n" +
-                "                      AND PD.CREATETIME <= :CreateTimeEnd) T\n" +
+                "                      AND PD.CREATETIME <= :CreateTimeEnd\n" +
+                "                      AND((:HandOverProcedureID IS NULL)\n" +
+                "                         OR(:HandOverProcedureID = 1 AND(GDD.Twoleveltime IS NULL OR pd.createtime < GDD.Twoleveltime))\n" +
+                "                         OR(:HandOverProcedureID = 5 AND GDD.Twoleveltime IS NOT NULL AND pd.createtime >= GDD.Twoleveltime)) ) T\n" +
                 "            WHERE T.RK <= 1) PD\n" +
                 "   ON PMD.PRODUCTIONDATAID = PD.PRODUCTIONDATAID\n" +
 
@@ -10020,7 +10034,8 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 //"           AND hopd.valueflag = '1'\n" +
                 "           AND ((:HandOverProcedureID = 1 AND ((hopd.procedureid = 11 AND hopd.valueflag = '1') OR (hopd.procedureid =104 AND hopd.isrefire = '0' AND hopd.checkflag = '1'))) \n" +
                 "               OR (:HandOverProcedureID = 5 AND ((hopd.procedureid = 58 AND hopd.valueflag = '1') OR (hopd.procedureid =104 AND hopd.isrefire = '6' AND hopd.checkflag = '1'))) \n" +
-                "               OR (:HandOverProcedureID not in (1,5) AND hopd.valueflag = '1' AND hopd.procedureid = (select procedureid from tp_mst_rptsprocedure t where t.rptprocedureid = :HandOverProcedureID)))\n";
+                "               OR (:HandOverProcedureID not in (1,5) AND hopd.valueflag = '1' AND hopd.procedureid = (select procedureid from tp_mst_rptsprocedure t where t.rptprocedureid = :HandOverProcedureID)))\n" +
+                "           AND HOPD.PROCEDUREID IN (11, 104)\n";
             // end
             if (!string.IsNullOrEmpty(se.TestFormFlag.ToString()) && se.TestFormFlag == 1)
             {
@@ -10356,12 +10371,17 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
 
                 "INNER JOIN (SELECT T.*\n" +
                 "              FROM (SELECT PD.*,\n" +
-                "                           RANK() OVER(PARTITION BY PD.BARCODE ORDER BY PD.PRODUCTIONDATAID DESC) AS RK\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 >= :CreateTimeStart\n" +
-                "                       AND PD.CREATETIME <= :CreateTimeEnd) T\n" +
+                "                       AND PD.CREATETIME <= :CreateTimeEnd"+
+                "                      AND((:HandOverProcedureID IS NULL)\n" +
+                "                         OR(:HandOverProcedureID = 1 AND(GDD.Twoleveltime IS NULL OR pd.createtime < GDD.Twoleveltime))\n" +
+                "                         OR(:HandOverProcedureID = 5 AND GDD.Twoleveltime IS NOT NULL AND pd.createtime >= GDD.Twoleveltime)) ) T\n" +
                 "             WHERE T.RK <= 1) PD\n" +
                 "   ON PMD.PRODUCTIONDATAID = PD.PRODUCTIONDATAID\n" +
 
@@ -10381,6 +10401,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 "           AND ((:HandOverProcedureID = 1 AND ((hopd.procedureid = 11 AND hopd.valueflag = '1') OR (hopd.procedureid =104 AND hopd.isrefire = '0' AND hopd.checkflag = '1'))) \n" +
                 "               OR (:HandOverProcedureID = 5 AND ((hopd.procedureid = 58 AND hopd.valueflag = '1') OR (hopd.procedureid =104 AND hopd.isrefire = '6' AND hopd.checkflag = '1'))) \n" +
                 "               OR (:HandOverProcedureID not in (1,5) AND hopd.valueflag = '1' AND hopd.procedureid = (select procedureid from tp_mst_rptsprocedure t where t.rptprocedureid = :HandOverProcedureID)))\n" +
+                "   AND HOPD.PROCEDUREID IN (11, 104)\n" +
                 // end
                 "  LEFT JOIN TP_MST_DefectFine mstdf\n" +
                 "    ON pmd.DefectFine = mstdf.DefectFineID\n" +
@@ -10744,12 +10765,17 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
 
                 "INNER JOIN (SELECT T.*\n" +
                 "              FROM (SELECT PD.*,\n" +
-                "                           RANK() OVER(PARTITION BY PD.BARCODE ORDER BY PD.PRODUCTIONDATAID DESC) AS RK\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 >= :CreateTimeStart\n" +
-                "                       AND PD.CREATETIME <= :CreateTimeEnd) T\n" +
+                "                       AND PD.CREATETIME <= :CreateTimeEnd"+
+                "                      AND((:HandOverProcedureID IS NULL)\n" +
+                "                         OR(:HandOverProcedureID = 1 AND(GDD.Twoleveltime IS NULL OR pd.createtime < GDD.Twoleveltime))\n" +
+                "                         OR(:HandOverProcedureID = 5 AND GDD.Twoleveltime IS NOT NULL AND pd.createtime >= GDD.Twoleveltime)) ) T\n" +
                 "             WHERE T.RK <= 1) PD\n" +
                 "   ON PMD.PRODUCTIONDATAID = PD.PRODUCTIONDATAID\n" +
 
@@ -10772,6 +10798,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 "               OR (:HandOverProcedureID = 5 AND ((hopd.procedureid = 58 AND hopd.valueflag = '1') OR (hopd.procedureid =104 AND hopd.isrefire = '6' AND hopd.checkflag = '1'))) \n" +
                 "               OR (:HandOverProcedureID not in (1,5) AND hopd.valueflag = '1' AND hopd.procedureid = (select procedureid from tp_mst_rptsprocedure t where t.rptprocedureid = :HandOverProcedureID)))\n" +
                 // end
+                "   AND HOPD.PROCEDUREID IN (11, 104)\n" +
                 "  LEFT JOIN TP_MST_DefectFine mstdf\n" +
                 "    ON pmd.DefectFine = mstdf.DefectFineID\n" +
                 "  LEFT JOIN tp_mst_logo logo\n" +
@@ -11110,12 +11137,17 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
 
                 "INNER JOIN (SELECT T.*\n" +
                 "              FROM (SELECT PD.*,\n" +
-                "                           RANK() OVER(PARTITION BY PD.BARCODE ORDER BY PD.PRODUCTIONDATAID DESC) AS RK\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 >= :CreateTimeStart\n" +
-                "                       AND PD.CREATETIME <= :CreateTimeEnd) T\n" +
+                "                       AND PD.CREATETIME <= :CreateTimeEnd\n" +
+                "                       AND((:HandOverProcedureID IS NULL)\n" +
+                "                         OR(:HandOverProcedureID = 1 AND(GDD.Twoleveltime IS NULL OR pd.createtime < GDD.Twoleveltime))\n" +
+                "                         OR(:HandOverProcedureID = 5 AND GDD.Twoleveltime IS NOT NULL AND pd.createtime >= GDD.Twoleveltime)) ) T\n" +
                 "             WHERE T.RK <= 1) PD\n" +
                 "   ON PMD.PRODUCTIONDATAID = PD.PRODUCTIONDATAID\n" +
 
@@ -11147,6 +11179,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 "               OR (:HandOverProcedureID = 5 AND ((hopd.procedureid = 58 AND hopd.valueflag = '1') OR (hopd.procedureid =104 AND hopd.isrefire = '6' AND hopd.checkflag = '1'))) \n" +
                 "               OR (:HandOverProcedureID not in (1,5) AND hopd.valueflag = '1' AND hopd.procedureid = (select procedureid from tp_mst_rptsprocedure t where t.rptprocedureid = :HandOverProcedureID)))\n" +
                 //end
+                "   AND HOPD.PROCEDUREID IN (11, 104)\n" +
                 "  LEFT JOIN TP_MST_DefectFine mstdf\n" +
                 "    ON pmd.DefectFine = mstdf.DefectFineID\n" +
                 "  LEFT JOIN tp_mst_logo logo\n" +

+ 2 - 2
WCF.Service/WCF.Hosting/Config.ini

@@ -17,8 +17,8 @@ Description=
 #DBUser=hgiboss
 #DBPassword=etLHPkLTOLw=
 
-DBIP=dkmes.xuwell.cn
-#DBIP=172.18.32.31
+#DBIP=dkmes.xuwell.cn
+DBIP=172.18.32.31
 DBPort=1521
 SID=dkmes
 DBUser=dkmes