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

1.增加干补列。
2.报废率改为合格率。合格率= 1 – (半检不合格+复检不合格+损坯数–干补数) / 交坯数。

feiy 4 лет назад
Родитель
Сommit
f7d2755cb3

+ 23 - 1
DK.Client/ReportModule/R04/M01/F_RPT_040114.Designer.cs

@@ -69,7 +69,9 @@
             this.b_num = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.f_num = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.s_num = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.g_num = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.sp_r = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.hg_r = new System.Windows.Forms.DataGridViewTextBoxColumn();
             this.tsrOperate.SuspendLayout();
             this.gbxCondition.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.dgvRpt)).BeginInit();
@@ -247,7 +249,9 @@
             this.b_num,
             this.f_num,
             this.s_num,
-            this.sp_r});
+            this.g_num,
+            this.sp_r,
+            this.hg_r});
             this.dgvRpt.ColumnTreeView = null;
             this.dgvRpt.ContextMenuVisible = ((Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags)((Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags.Refine | Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags.FileOut)));
             this.dgvRpt.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -482,6 +486,13 @@
             this.s_num.Name = "s_num";
             this.s_num.ReadOnly = true;
             // 
+            // g_num
+            // 
+            this.g_num.DataPropertyName = "g_num";
+            this.g_num.HeaderText = "干补数";
+            this.g_num.Name = "g_num";
+            this.g_num.ReadOnly = true;
+            // 
             // sp_r
             // 
             this.sp_r.DataPropertyName = "sp_r";
@@ -493,6 +504,15 @@
             this.sp_r.Name = "sp_r";
             this.sp_r.ReadOnly = true;
             this.sp_r.ToolTipText = "(半检不合格数+复检不合格数+损坯数)/交坯数\n";
+            this.sp_r.Visible = false;
+            // 
+            // hg_r
+            // 
+            this.hg_r.DataPropertyName = "hg_r";
+            this.hg_r.HeaderText = "合格率";
+            this.hg_r.Name = "hg_r";
+            this.hg_r.ReadOnly = true;
+            this.hg_r.ToolTipText = "1–(半检不合格+复检不合格+损坯数–干补数)/交坯数";
             // 
             // F_RPT_040114
             // 
@@ -546,6 +566,8 @@
         private System.Windows.Forms.DataGridViewTextBoxColumn b_num;
         private System.Windows.Forms.DataGridViewTextBoxColumn f_num;
         private System.Windows.Forms.DataGridViewTextBoxColumn s_num;
+        private System.Windows.Forms.DataGridViewTextBoxColumn g_num;
         private System.Windows.Forms.DataGridViewTextBoxColumn sp_r;
+        private System.Windows.Forms.DataGridViewTextBoxColumn hg_r;
     }
 }

+ 6 - 0
DK.Client/ReportModule/R04/M01/F_RPT_040114.resx

@@ -206,9 +206,15 @@
   <metadata name="s_num.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="g_num.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="sp_r.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="hg_r.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="g2goodscode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>

+ 64 - 1
DK.Service/ReportModuleLogic/ReportModuleLogic.cs

@@ -16517,7 +16517,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 List<OracleParameter> oracleParameters = new List<OracleParameter>();
                 oracleParameters.Add(new OracleParameter(":accountid", sUserInfo.AccountID));
 
-                string sqlString = "select g.goodscode\n" +
+                /*string sqlString = "select g.goodscode\n" +
                 "      ,tt.d_num\n" +
                 "      ,tt.b_num\n" +
                 "      ,tt.f_num\n" +
@@ -16559,7 +16559,70 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 "         group by t.goodsid) tt\n" +
                 " inner join tp_mst_goods g\n" +
                 "    on tt.goodsid = g.goodsid\n" +
+                " order by g.goodscode";*/
+
+                //2021年11月12日08:40:51 by fy modify 增加干补列,报废率改为合格率。合格率= 1 – (半检不合格+复检不合格+损坯数–干补数) / 交坯数
+                ////*************************************************修改开始*******************************************************
+                string sqlString = "select g.goodscode\n" +
+                "      ,tt.d_num\n" +
+                "      ,tt.b_num\n" +
+                "      ,tt.f_num\n" +
+                "      ,tt.s_num\n" +
+                "      ,tt.g_num\n" +
+                "      ,decode(tt.d_num\n" +
+                "             ,0\n" +
+                "             ,to_number(null)\n" +
+                "             ,round(1-(tt.b_num + tt.f_num + tt.s_num - tt.g_num) / tt.d_num,4)) hg_r\n" +
+                "  from (select t.goodsid\n" +
+                "              ,nvl(sum(decode(t.numtype, 'A', t.id_num, 0)), 0) d_num -- 交坯\n" +
+                "              ,nvl(sum(decode(t.numtype, '2', t.id_num, 0)), 0) b_num -- 半检不合格数\n" +
+                "              ,nvl(sum(decode(t.numtype, '3', t.id_num, 0)), 0) f_num -- 复检不合格数\n" +
+                "              ,nvl(sum(decode(t.numtype, '0', t.id_num, 0)), 0) s_num -- 损坯数\n" +
+                "              ,nvl(sum(decode(t.numtype, 'B', t.id_num, 0)), 0) g_num -- 干补数\n" +
+                "          from (select gdd.goodsid\n" +
+                "                      ,'A' numtype\n" +
+                "                      ,count(gdd.groutingdailydetailid) id_num\n" +
+                "                  from tp_pm_groutingdailydetail gdd\n" +
+                "                 where gdd.groutingflag = '1'\n" +
+                "                   and gdd.valueflag = '1'\n" +
+                "                   and gdd.accountid = :accountid\n" +
+                "                   and gdd.deliverflag = '1'\n" +
+                "                   and gdd.delivertime >= :datebegin\n" +
+                "                   and gdd.delivertime < :dateend\n" +
+                "                 group by gdd.goodsid\n" +
+                "                union all\n" +
+                "                -- 半检不合格数  复检不合格数  损坯数\n" +
+                "                select sp.goodsid\n" +
+                "                      ,sp.SCRAPTYPE numtype\n" +
+                "                      ,count(sp.scrapproductid) id_num\n" +
+                "                  from tp_pm_scrapproduct sp\n" +
+                "                 where sp.valueflag = '1'\n" +
+                "                   and sp.accountid = :accountid\n" +
+                "                   and sp.auditstatus = 1\n" +
+                "                   and sp.KILNID is null\n" +
+                "                   and sp.SCRAPTYPE <> '1'\n" +
+                "                   and sp.AUDITDATE >= :datebegin\n" +
+                "                   and sp.AUDITDATE < :dateend\n" +
+                "                 group by sp.goodsid, sp.SCRAPTYPE" +
+                "                union all\n" +
+                "                -- 干补数\n" +
+                "                select pd.goodsid\n" +
+                "	                   ,'B' numtype\n" +
+                "	                   ,count( pd.productiondataid ) id_num \n" +
+                "                 from tp_pm_productiondata pd \n" +
+                "                where pd.valueflag = 1 \n" +
+                "	               and pd.accountid = :accountid \n" +
+                "	               and pd.procedureid = 18 \n" +
+                "	               and pd.specialrepairflag = 1\n" +
+                "	               and pd.createtime >= :datebegin \n" +
+                "	               and pd.createtime < :dateend \n" +
+                "                group by pd.goodsid \n" +
+                ") t\n" +
+                "         group by t.goodsid) tt\n" +
+                " inner join tp_mst_goods g\n" +
+                "    on tt.goodsid = g.goodsid\n" +
                 " order by g.goodscode";
+               //*************************************************修改结束*******************************************************
 
                 oracleParameters.Add(new OracleParameter(":datebegin", cre.Properties["datebegin"]));
                 oracleParameters.Add(new OracleParameter(":dateend", cre.Properties["dateend"]));