xiacm 3 лет назад
Родитель
Сommit
55b7efb9e6

Разница между файлами не показана из-за своего большого размера
+ 767 - 717
DK.Client/ReportModule/R03/M01/F_RPT_030106.Designer.cs


+ 25 - 0
DK.Client/ReportModule/R03/M01/F_RPT_030106.cs

@@ -121,6 +121,8 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 					this.dropRptProcedure.ValueMember = "Rptprocedureid";
 					this.dropRptProcedure.DisplayMember = "Rptprocedurename";
 				}
+				this.dkCJProcedureSearchBox.IsEnablePurview = true;//add xiacm 2022-10-31
+				getPurview();//add xiacm 2022-10-31
 				this.chkTestMouldFlag.AllItemCheck();
 			}
 			catch (Exception ex)
@@ -279,6 +281,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 				this.dropRptProcedure.SelectedIndex = 0;
 			}
 			this.chkTestMouldFlag.AllItemCheck();
+			this.dkCJProcedureSearchBox.ClearControl(); //add xiacm 2022-10-31
 		}
 
 		/// <summary>
@@ -405,6 +408,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
             rptse.DefectName = this.txtDefectName.Text.Trim();
 			rptse.GoodsCode = this.txtGoodsCode.Text.Trim();
 			rptse.GoodsIDS = scbGoods.CheckedPKMember;
+			rptse.CJProcedureIDS = this.dkCJProcedureSearchBox.ProcedureIDS;
 
 			if (this.dropRptProcedure.SelectedValue != null)
 			{
@@ -645,6 +649,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 			try
 			{
 				StringBuilder sbProcedurePurview = new StringBuilder();
+				StringBuilder CJProcedure = new StringBuilder();
 				//得到工序查看权限
 				DataSet dsProcedurePurview = (DataSet)DoAsync(new AsyncMethod(() =>
 				{
@@ -664,6 +669,16 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 							this.dkProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
 							this.dkProcedureSearchBox.ProcedureIDS = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
 							this._currentUserPurview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+							//add xiacm 2022-10-25 成检工序数据
+							this.dkCJProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+							SearchProductionLineEntity line = new SearchProductionLineEntity();
+							DataSet dsCJProcedure = SystemModuleProxy.Service.GetProdureList(line);
+							DataRow[] drCJProcedure = dsCJProcedure.Tables[Constant.INT_IS_ZERO].Select("FINISHEDCHECKPROCEDUREID is not null and ProcedureID in (" + sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1) + ")");
+							foreach (DataRow item in drCJProcedure)
+							{
+								CJProcedure.Append(item["ProcedureID"].ToString() + ",");
+							}
+							this.dkCJProcedureSearchBox.Purview = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
 						}
 					}
 					else
@@ -679,6 +694,16 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 							this.dkProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
 							this.dkProcedureSearchBox.ProcedureIDS = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
 							this._currentUserPurview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+
+							//add xiacm 2022-10-25 成检工序数据
+							this.dkCJProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+
+							DataRow[] drCJProcedure = dsProcedurePurview.Tables[Constant.INT_IS_ZERO].Select("FINISHEDCHECKPROCEDUREID is not null and ProcedureID in (" + sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1) + ")");
+							foreach (DataRow item in drCJProcedure)
+							{
+								CJProcedure.Append(item["ProcedureID"].ToString() + ",");
+							}
+							this.dkCJProcedureSearchBox.Purview = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
 						}
 					}
 				}

+ 9 - 0
DK.Client/ReportModule/R03/M01/F_RPT_030106.resx

@@ -395,6 +395,9 @@
   <metadata name="TestMouldFlag.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="CJprocedurename.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -506,6 +509,9 @@
   <metadata name="Fyear1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="QXCJProcedurename.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="protime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -617,6 +623,9 @@
   <metadata name="dataGridViewTextBoxColumn60.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="GXCJprocedurename.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <data name="panel1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAAPAAAAB4CAIAAABD1OhwAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH

Разница между файлами не показана из-за своего большого размера
+ 665 - 631
DK.Client/ReportModule/R04/M01/F_RPT_040103.Designer.cs


+ 33 - 0
DK.Client/ReportModule/R04/M01/F_RPT_040103.cs

@@ -37,6 +37,8 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 		private string _currentUserPurview = null;
 		//默认清空生产线,重置回用户当前权限生产线
 		private string _currentUserLinePuview = null;
+		//默认清空成检工序 ,重置回用户当前成检工序
+		private string _currentUserCJPurview = null;
 
 		#endregion
 
@@ -95,6 +97,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 				this.dgvRptProcedure.AutoGenerateColumns = false;
 				this.dkproductionLineSearchBox.IsEnablePurview = true;
 				this.dkProcedureSearchBox.IsEnablePurview = true;
+				this.dkCZProcedureSearchBox.IsEnablePurview = true;//add xiacm 2022-10-25
 				this.dropRptProcedure.Focus();
 				// 初始化时间控件为当前日期
 				this.dtpAccountDateStart.Value = DateTime.Now.Date;
@@ -186,6 +189,10 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 			this.dtpAccountDateStart.Value = DateTime.Now.Date;
 			this.dtpAccountDateEnd.Value = DateTime.Now.Date;
 			this.dkProcedureSearchBox.ProcedureIDS = this._currentUserPurview;
+
+			//add xiacm 2022-10-25
+			this.dkCZProcedureSearchBox.ClearControl();
+			this.dkCZProcedureSearchBox.ProcedureIDS = this._currentUserCJPurview;
 		}
 
 
@@ -224,6 +231,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 				//获取数据来源工序Id 
 				se.RptTProcedureIDS = this.dkProcedureSearchBox.ProcedureIDS;
 				se.ProductionLineID = this.dkproductionLineSearchBox.ProductionLineID;
+				se.RptCJProcedureIDS = this.dkCZProcedureSearchBox.ProcedureIDS;
 				se.UserIDS = this.dkUserInfoSearchBox.UserIDS;
 				se.GoodsIDS = scbGoods.CheckedPKMember;
 				se.GoodsTypeIDS = scbGoodsType.SearchedValue + "";
@@ -312,6 +320,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 			try
 			{
 				StringBuilder sbProcedurePurview = new StringBuilder();
+				StringBuilder CJProcedure = new StringBuilder();
 				//得到工序查看权限
 				DataSet dsProcedurePurview = (DataSet)DoAsync(new AsyncMethod(() =>
 				{
@@ -331,6 +340,18 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 							this.dkProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
 							this.dkProcedureSearchBox.ProcedureIDS = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
 							this._currentUserPurview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+							//add xiacm 2022-10-25 成检工序数据
+							this.dkCZProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+							SearchProductionLineEntity line = new SearchProductionLineEntity();
+							DataSet dsCJProcedure = SystemModuleProxy.Service.GetProdureList(line);
+							DataRow[] drCJProcedure = dsCJProcedure.Tables[Constant.INT_IS_ZERO].Select("FINISHEDCHECKPROCEDUREID is not null and ProcedureID in (" + sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1) + ")");
+							foreach (DataRow item in drCJProcedure)
+							{
+								CJProcedure.Append(item["ProcedureID"].ToString() + ",");
+							}
+							//this.dkCZProcedureSearchBox.ProcedureIDS = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
+							this.dkCZProcedureSearchBox.Purview = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
+							//this._currentUserCJPurview = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
 						}
 					}
 					else
@@ -346,6 +367,18 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 							this.dkProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
 							this.dkProcedureSearchBox.ProcedureIDS = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
 							this._currentUserPurview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+
+							//add xiacm 2022-10-25 成检工序数据
+							this.dkCZProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+							
+							DataRow[] drCJProcedure = dsProcedurePurview.Tables[Constant.INT_IS_ZERO].Select("FINISHEDCHECKPROCEDUREID is not null and ProcedureID in (" + sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1) + ")");
+							foreach (DataRow item in drCJProcedure)
+							{
+								CJProcedure.Append(item["ProcedureID"].ToString() + ",");
+							}
+							//this.dkCZProcedureSearchBox.ProcedureIDS = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
+							this.dkCZProcedureSearchBox.Purview = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
+							//this._currentUserCJPurview = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
 						}
 					}
 				}

+ 3 - 0
DK.Client/ReportModule/R04/M01/F_RPT_040103.resx

@@ -239,6 +239,9 @@
   <metadata name="ReFirePercent.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="ProcedureNameCJ.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>45</value>
   </metadata>

+ 57 - 21
DK.Client/ReportModule/R04/M01/F_RPT_040104.Designer.cs

@@ -56,6 +56,7 @@
 			this.dtpAccountDateEnd = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DateTimePicker();
 			this.dtpAccountDateStart = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DateTimePicker();
 			this.gbxCondition = new Dongke.IBOSS.PRD.Basics.BaseControls.C_GroupBox();
+			this.dkCJProcedureSearchBox = new Dongke.IBOSS.PRD.Client.Controls.SearchTextBox.dkProcedureSearchBox();
 			this.GroutingLineXh = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
 			this.c_Label3 = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
 			this.GroutingLineMh = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
@@ -93,6 +94,7 @@
 			this.SubstandardPercent = new System.Windows.Forms.DataGridViewTextBoxColumn();
 			this.ReFireCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
 			this.ReFirePercent = new System.Windows.Forms.DataGridViewTextBoxColumn();
+			this.cjprocedurename = new System.Windows.Forms.DataGridViewTextBoxColumn();
 			this.tsrOperate.SuspendLayout();
 			this.gbxCondition.SuspendLayout();
 			((System.ComponentModel.ISupportInitialize)(this.dgvRptProcedure)).BeginInit();
@@ -260,6 +262,7 @@
             | System.Windows.Forms.AnchorStyles.Right)));
 			this.gbxCondition.BackColor = System.Drawing.Color.Transparent;
 			this.gbxCondition.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("gbxCondition.BackgroundImage")));
+			this.gbxCondition.Controls.Add(this.dkCJProcedureSearchBox);
 			this.gbxCondition.Controls.Add(this.GroutingLineXh);
 			this.gbxCondition.Controls.Add(this.c_Label3);
 			this.gbxCondition.Controls.Add(this.GroutingLineMh);
@@ -297,6 +300,29 @@
 			this.gbxCondition.TabStop = false;
 			this.gbxCondition.Text = "查询条件 ▼";
 			// 
+			// dkCJProcedureSearchBox
+			// 
+			this.dkCJProcedureSearchBox.BackColor = System.Drawing.Color.Transparent;
+			this.dkCJProcedureSearchBox.DataSource = null;
+			this.dkCJProcedureSearchBox.Enabled = true;
+			this.dkCJProcedureSearchBox.IsEnablePurview = false;
+			this.dkCJProcedureSearchBox.IsMustInput = false;
+			this.dkCJProcedureSearchBox.Ispurview = true;
+			this.dkCJProcedureSearchBox.Location = new System.Drawing.Point(797, 19);
+			this.dkCJProcedureSearchBox.ModelType = null;
+			this.dkCJProcedureSearchBox.Name = "dkCJProcedureSearchBox";
+			this.dkCJProcedureSearchBox.ProcedureCode = "";
+			this.dkCJProcedureSearchBox.ProcedureID = null;
+			this.dkCJProcedureSearchBox.ProcedureIDS = null;
+			this.dkCJProcedureSearchBox.ProcedureName = null;
+			this.dkCJProcedureSearchBox.Purview = null;
+			this.dkCJProcedureSearchBox.PurviewType = ((byte)(0));
+			this.dkCJProcedureSearchBox.SelectMore = true;
+			this.dkCJProcedureSearchBox.Size = new System.Drawing.Size(184, 21);
+			this.dkCJProcedureSearchBox.TabIndex = 56;
+			this.dkCJProcedureSearchBox.Title = "成检工序";
+			this.dkCJProcedureSearchBox.TxtGoodsTypeBackColor = System.Drawing.SystemColors.Control;
+			// 
 			// GroutingLineXh
 			// 
 			this.GroutingLineXh.BackColor = System.Drawing.SystemColors.Window;
@@ -567,7 +593,8 @@
             this.SubstandardCount,
             this.SubstandardPercent,
             this.ReFireCount,
-            this.ReFirePercent});
+            this.ReFirePercent,
+            this.cjprocedurename});
 			this.dgvRptProcedure.ColumnTreeView = null;
 			this.dgvRptProcedure.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.dgvRptProcedure.DynamicColumnName = "";
@@ -833,6 +860,13 @@
 			this.ReFirePercent.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
 			this.ReFirePercent.Width = 200;
 			// 
+			// cjprocedurename
+			// 
+			this.cjprocedurename.DataPropertyName = "cjprocedurename";
+			this.cjprocedurename.HeaderText = "成检工序";
+			this.cjprocedurename.Name = "cjprocedurename";
+			this.cjprocedurename.ReadOnly = true;
+			// 
 			// F_RPT_040104
 			// 
 			this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -877,25 +911,6 @@
 		private Basics.BaseControls.C_Label lblGoodsType;
 		private Basics.BaseControls.C_Label lblGoods;
 		private Basics.BaseControls.C_Label lblGroutingLine;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ProductionLineId;
-        private System.Windows.Forms.DataGridViewTextBoxColumn subGoodstypecode;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ProductionLineName;
-        private System.Windows.Forms.DataGridViewTextBoxColumn Kilncode;
-        private System.Windows.Forms.DataGridViewTextBoxColumn goodstypecode;
-        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsTypeName;
-        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsID;
-        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsCode;
-        private System.Windows.Forms.DataGridViewTextBoxColumn OutKilnCount;
-        private System.Windows.Forms.DataGridViewTextBoxColumn Qualified;
-        private System.Windows.Forms.DataGridViewTextBoxColumn QualifiedPercent;
-        private System.Windows.Forms.DataGridViewTextBoxColumn GoodCount;
-        private System.Windows.Forms.DataGridViewTextBoxColumn GoodPercent;
-        private System.Windows.Forms.DataGridViewTextBoxColumn BadCount;
-        private System.Windows.Forms.DataGridViewTextBoxColumn BadPercent;
-        private System.Windows.Forms.DataGridViewTextBoxColumn SubstandardCount;
-        private System.Windows.Forms.DataGridViewTextBoxColumn SubstandardPercent;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ReFireCount;
-        private System.Windows.Forms.DataGridViewTextBoxColumn ReFirePercent;
         private Basics.BaseControls.C_StatusCheckBox chkTestMouldFlag;
         private Basics.BaseControls.C_TextBox GroutingLineLh;
         private Controls.SearchBox.ScbGoodsType scbGoodsType;
@@ -907,5 +922,26 @@
         private Basics.BaseControls.C_Label c_Label3;
         private Basics.BaseControls.C_TextBox GroutingLineMh;
         private Basics.BaseControls.C_Label c_Label4;
-    }
+		private Controls.SearchTextBox.dkProcedureSearchBox dkCJProcedureSearchBox;
+		private System.Windows.Forms.DataGridViewTextBoxColumn ProductionLineId;
+		private System.Windows.Forms.DataGridViewTextBoxColumn subGoodstypecode;
+		private System.Windows.Forms.DataGridViewTextBoxColumn ProductionLineName;
+		private System.Windows.Forms.DataGridViewTextBoxColumn Kilncode;
+		private System.Windows.Forms.DataGridViewTextBoxColumn goodstypecode;
+		private System.Windows.Forms.DataGridViewTextBoxColumn GoodsTypeName;
+		private System.Windows.Forms.DataGridViewTextBoxColumn GoodsID;
+		private System.Windows.Forms.DataGridViewTextBoxColumn GoodsCode;
+		private System.Windows.Forms.DataGridViewTextBoxColumn OutKilnCount;
+		private System.Windows.Forms.DataGridViewTextBoxColumn Qualified;
+		private System.Windows.Forms.DataGridViewTextBoxColumn QualifiedPercent;
+		private System.Windows.Forms.DataGridViewTextBoxColumn GoodCount;
+		private System.Windows.Forms.DataGridViewTextBoxColumn GoodPercent;
+		private System.Windows.Forms.DataGridViewTextBoxColumn BadCount;
+		private System.Windows.Forms.DataGridViewTextBoxColumn BadPercent;
+		private System.Windows.Forms.DataGridViewTextBoxColumn SubstandardCount;
+		private System.Windows.Forms.DataGridViewTextBoxColumn SubstandardPercent;
+		private System.Windows.Forms.DataGridViewTextBoxColumn ReFireCount;
+		private System.Windows.Forms.DataGridViewTextBoxColumn ReFirePercent;
+		private System.Windows.Forms.DataGridViewTextBoxColumn cjprocedurename;
+	}
 }

+ 74 - 2
DK.Client/ReportModule/R04/M01/F_RPT_040104.cs

@@ -89,10 +89,12 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 				this.dgvRptProcedure.AutoGenerateColumns = false;
 				this.dropRptProcedure.Focus();
 				this.dkproductionLineSearchBox.IsEnablePurview = true;
+				this.dkCJProcedureSearchBox.IsEnablePurview = true;//add xiacm 2022-10-26
 				// 初始化时间控件为当前日期
 				this.dtpAccountDateStart.Value = DateTime.Now.Date;
 				this.dtpAccountDateEnd.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
 				this.chkTestMouldFlag.AllItemCheck();
+				getPurview();//add xiacm 2022-10-26
 				getPurviewLine();
 			}
 			catch (Exception ex)
@@ -175,6 +177,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 			this.GroutingLineXh.Clear();
 			this.dkUserInfoSearchBox.ClearControl();
 			this.chkTestMouldFlag.AllItemCheck();
+			this.dkCJProcedureSearchBox.ClearControl();//add xiacm 2022-10-26
 		}
 
 
@@ -227,6 +230,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 				se.GroutingLineLc = this.GroutingLineLc.Text.Trim();
 				se.GroutingLineMh = this.GroutingLineMh.Text.Trim();
 				se.GroutingLineXh = this.GroutingLineXh.Text.Trim();
+				se.CJProcedureIDS = this.dkCJProcedureSearchBox.ProcedureIDS;
 
 				object[] testMouldFlags = this.chkTestMouldFlag.SelectedValues;
 				if (testMouldFlags.Length == 1)
@@ -353,6 +357,74 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 				throw ex;
 			}
 		}
-        #endregion
-    }
+
+		/// <summary>
+		/// 获取权限(成检工序)
+		/// </summary>
+		protected void getPurview()
+		{
+			try
+			{
+				StringBuilder sbProcedurePurview = new StringBuilder();
+				StringBuilder CJProcedure = new StringBuilder();
+				//得到工序查看权限
+				DataSet dsProcedurePurview = (DataSet)DoAsync(new AsyncMethod(() =>
+				{
+					return SystemModuleProxy.Service.GetUserPurview(9, LogInUserInfo.CurrentUser.UserID);
+				}));
+				if (dsProcedurePurview != null)
+				{
+					DataRow[] drPurview = dsProcedurePurview.Tables[Constant.INT_IS_ZERO].Select("PurviewID=-1");
+					if (drPurview.Length == 0)
+					{
+						foreach (DataRow dr in dsProcedurePurview.Tables[Constant.INT_IS_ZERO].Rows)
+						{
+							sbProcedurePurview.Append(dr[Constant.INT_IS_ZERO].ToString() + ",");
+						}
+						if (sbProcedurePurview.Length != Constant.INT_IS_ZERO)
+						{
+							//add xiacm 2022-10-25 成检工序数据
+							this.dkCJProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+							SearchProductionLineEntity line = new SearchProductionLineEntity();
+							DataSet dsCJProcedure = SystemModuleProxy.Service.GetProdureList(line);
+							DataRow[] drCJProcedure = dsCJProcedure.Tables[Constant.INT_IS_ZERO].Select("FINISHEDCHECKPROCEDUREID is not null and ProcedureID in (" + sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1) + ")");
+							foreach (DataRow item in drCJProcedure)
+							{
+								CJProcedure.Append(item["ProcedureID"].ToString() + ",");
+							}
+							this.dkCJProcedureSearchBox.Purview = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
+						}
+					}
+					else
+					{
+						SearchProductionLineEntity line = new SearchProductionLineEntity();
+						dsProcedurePurview = SystemModuleProxy.Service.GetProdureList(line);
+						foreach (DataRow dr in dsProcedurePurview.Tables[Constant.INT_IS_ZERO].Rows)
+						{
+							sbProcedurePurview.Append(dr["ProcedureID"].ToString() + ",");
+						}
+						if (sbProcedurePurview.Length != Constant.INT_IS_ZERO)
+						{
+							
+
+							//add xiacm 2022-10-25 成检工序数据
+							this.dkCJProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+
+							DataRow[] drCJProcedure = dsProcedurePurview.Tables[Constant.INT_IS_ZERO].Select("FINISHEDCHECKPROCEDUREID is not null and ProcedureID in (" + sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1) + ")");
+							foreach (DataRow item in drCJProcedure)
+							{
+								CJProcedure.Append(item["ProcedureID"].ToString() + ",");
+							}
+							this.dkCJProcedureSearchBox.Purview = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
+						}
+					}
+				}
+			}
+			catch (Exception ex)
+			{
+				throw ex;
+			}
+		}
+		#endregion
+	}
 }

+ 3 - 0
DK.Client/ReportModule/R04/M01/F_RPT_040104.resx

@@ -269,6 +269,9 @@
   <metadata name="QualifiedPercent.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="cjprocedurename.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>56</value>
   </metadata>

+ 66 - 60
DK.Client/ReportModule/R04/M01/F_RPT_040106.Designer.cs

@@ -64,6 +64,7 @@
 			this.OutKilnCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
 			this.DefectCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
 			this.DefectPercent = new System.Windows.Forms.DataGridViewTextBoxColumn();
+			this.dkCJProcedureSearchBox = new Dongke.IBOSS.PRD.Client.Controls.SearchTextBox.dkProcedureSearchBox();
 			this.tsrOperate.SuspendLayout();
 			this.gbxCondition.SuspendLayout();
 			((System.ComponentModel.ISupportInitialize)(this.dgvRptProcedure)).BeginInit();
@@ -76,10 +77,9 @@
 			this.dropKilnCode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 			this.dropKilnCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
 			this.dropKilnCode.FormattingEnabled = true;
-			this.dropKilnCode.Location = new System.Drawing.Point(925, 24);
-			this.dropKilnCode.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.dropKilnCode.Location = new System.Drawing.Point(694, 19);
 			this.dropKilnCode.Name = "dropKilnCode";
-			this.dropKilnCode.Size = new System.Drawing.Size(176, 23);
+			this.dropKilnCode.Size = new System.Drawing.Size(133, 20);
 			this.dropKilnCode.TabIndex = 7;
 			this.dropKilnCode.Visible = false;
 			// 
@@ -89,10 +89,9 @@
 			this.lblKilnCode.BackColor = System.Drawing.SystemColors.Control;
 			this.lblKilnCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
 			this.lblKilnCode.ForeColor = System.Drawing.SystemColors.ControlText;
-			this.lblKilnCode.Location = new System.Drawing.Point(848, 29);
-			this.lblKilnCode.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+			this.lblKilnCode.Location = new System.Drawing.Point(636, 23);
 			this.lblKilnCode.Name = "lblKilnCode";
-			this.lblKilnCode.Size = new System.Drawing.Size(67, 15);
+			this.lblKilnCode.Size = new System.Drawing.Size(53, 12);
 			this.lblKilnCode.TabIndex = 6;
 			this.lblKilnCode.Text = "窑炉编号";
 			this.lblKilnCode.Visible = false;
@@ -110,7 +109,7 @@
 			this.tsrOperate.Name = "tsrOperate";
 			this.tsrOperate.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
 			this.tsrOperate.ShowItemToolTips = false;
-			this.tsrOperate.Size = new System.Drawing.Size(1508, 44);
+			this.tsrOperate.Size = new System.Drawing.Size(1223, 35);
 			this.tsrOperate.TabIndex = 0;
 			this.tsrOperate.Text = "toolStrip1";
 			// 
@@ -142,11 +141,10 @@
 			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(323, 29);
-			this.lblAccountDateStart.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+			this.lblAccountDateStart.Location = new System.Drawing.Point(242, 23);
 			this.lblAccountDateStart.Name = "lblAccountDateStart";
 			this.lblAccountDateStart.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
-			this.lblAccountDateStart.Size = new System.Drawing.Size(67, 15);
+			this.lblAccountDateStart.Size = new System.Drawing.Size(53, 12);
 			this.lblAccountDateStart.TabIndex = 2;
 			this.lblAccountDateStart.Text = "登记日期";
 			// 
@@ -156,10 +154,9 @@
 			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(608, 29);
-			this.lblAccountDateEnd.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+			this.lblAccountDateEnd.Location = new System.Drawing.Point(456, 23);
 			this.lblAccountDateEnd.Name = "lblAccountDateEnd";
-			this.lblAccountDateEnd.Size = new System.Drawing.Size(22, 15);
+			this.lblAccountDateEnd.Size = new System.Drawing.Size(17, 12);
 			this.lblAccountDateEnd.TabIndex = 4;
 			this.lblAccountDateEnd.Text = "至";
 			// 
@@ -168,10 +165,9 @@
 			this.dtpAccountDateEnd.CustomFormat = "yyyy-MM-dd HH:mm:ss";
 			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(633, 24);
-			this.dtpAccountDateEnd.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.dtpAccountDateEnd.Location = new System.Drawing.Point(475, 19);
 			this.dtpAccountDateEnd.Name = "dtpAccountDateEnd";
-			this.dtpAccountDateEnd.Size = new System.Drawing.Size(206, 25);
+			this.dtpAccountDateEnd.Size = new System.Drawing.Size(156, 21);
 			this.dtpAccountDateEnd.TabIndex = 5;
 			// 
 			// dtpAccountDateStart
@@ -179,10 +175,9 @@
 			this.dtpAccountDateStart.CustomFormat = "yyyy-MM-dd HH:mm:ss";
 			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(401, 24);
-			this.dtpAccountDateStart.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.dtpAccountDateStart.Location = new System.Drawing.Point(301, 19);
 			this.dtpAccountDateStart.Name = "dtpAccountDateStart";
-			this.dtpAccountDateStart.Size = new System.Drawing.Size(199, 25);
+			this.dtpAccountDateStart.Size = new System.Drawing.Size(150, 21);
 			this.dtpAccountDateStart.TabIndex = 3;
 			// 
 			// gbxCondition
@@ -191,6 +186,7 @@
             | System.Windows.Forms.AnchorStyles.Right)));
 			this.gbxCondition.BackColor = System.Drawing.Color.Transparent;
 			this.gbxCondition.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("gbxCondition.BackgroundImage")));
+			this.gbxCondition.Controls.Add(this.dkCJProcedureSearchBox);
 			this.gbxCondition.Controls.Add(this.chkOutKilnNum);
 			this.gbxCondition.Controls.Add(this.dkProcedureSearchBox3);
 			this.gbxCondition.Controls.Add(this.txtDefectName);
@@ -210,12 +206,10 @@
 			this.gbxCondition.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
 			this.gbxCondition.ForeColor = System.Drawing.SystemColors.ControlText;
 			this.gbxCondition.IsMustInput = false;
-			this.gbxCondition.Location = new System.Drawing.Point(0, 48);
-			this.gbxCondition.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.gbxCondition.Location = new System.Drawing.Point(0, 38);
 			this.gbxCondition.Name = "gbxCondition";
 			this.gbxCondition.OriginalHeight = -1;
-			this.gbxCondition.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4);
-			this.gbxCondition.Size = new System.Drawing.Size(1492, 91);
+			this.gbxCondition.Size = new System.Drawing.Size(1211, 73);
 			this.gbxCondition.TabIndex = 0;
 			this.gbxCondition.TabStop = false;
 			this.gbxCondition.Text = "查询条件 ▼";
@@ -226,10 +220,9 @@
 			this.chkOutKilnNum.Checked = true;
 			this.chkOutKilnNum.CheckState = System.Windows.Forms.CheckState.Checked;
 			this.chkOutKilnNum.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-			this.chkOutKilnNum.Location = new System.Drawing.Point(925, 61);
-			this.chkOutKilnNum.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.chkOutKilnNum.Location = new System.Drawing.Point(833, 49);
 			this.chkOutKilnNum.Name = "chkOutKilnNum";
-			this.chkOutKilnNum.Size = new System.Drawing.Size(179, 19);
+			this.chkOutKilnNum.Size = new System.Drawing.Size(144, 16);
 			this.chkOutKilnNum.TabIndex = 15;
 			this.chkOutKilnNum.Text = "按产品类别统计出窑数";
 			this.chkOutKilnNum.UseVisualStyleBackColor = true;
@@ -241,8 +234,8 @@
 			this.dkProcedureSearchBox3.Enabled = true;
 			this.dkProcedureSearchBox3.IsEnablePurview = false;
 			this.dkProcedureSearchBox3.IsMustInput = false;
-			this.dkProcedureSearchBox3.Location = new System.Drawing.Point(27, 56);
-			this.dkProcedureSearchBox3.Margin = new System.Windows.Forms.Padding(5, 5, 5, 5);
+			this.dkProcedureSearchBox3.Location = new System.Drawing.Point(20, 45);
+			this.dkProcedureSearchBox3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
 			this.dkProcedureSearchBox3.ModelType = "-1";
 			this.dkProcedureSearchBox3.Name = "dkProcedureSearchBox3";
 			this.dkProcedureSearchBox3.ProcedureCode = "";
@@ -252,7 +245,7 @@
 			this.dkProcedureSearchBox3.Purview = null;
 			this.dkProcedureSearchBox3.PurviewType = ((byte)(0));
 			this.dkProcedureSearchBox3.SelectMore = true;
-			this.dkProcedureSearchBox3.Size = new System.Drawing.Size(288, 26);
+			this.dkProcedureSearchBox3.Size = new System.Drawing.Size(216, 21);
 			this.dkProcedureSearchBox3.TabIndex = 8;
 			this.dkProcedureSearchBox3.Title = "质量登记工序";
 			this.dkProcedureSearchBox3.TxtGoodsTypeBackColor = System.Drawing.SystemColors.Control;
@@ -263,10 +256,9 @@
 			this.txtDefectName.BackgroundColor = System.Drawing.SystemColors.Window;
 			this.txtDefectName.ErrorMessage = "";
 			this.txtDefectName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-			this.txtDefectName.Location = new System.Drawing.Point(663, 56);
-			this.txtDefectName.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.txtDefectName.Location = new System.Drawing.Point(497, 45);
 			this.txtDefectName.Name = "txtDefectName";
-			this.txtDefectName.Size = new System.Drawing.Size(176, 25);
+			this.txtDefectName.Size = new System.Drawing.Size(133, 21);
 			this.txtDefectName.TabIndex = 12;
 			this.txtDefectName.TextValue = "";
 			// 
@@ -278,11 +270,10 @@
 			this.txtDefectCode.ErrorMessage = "";
 			this.txtDefectCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
 			this.txtDefectCode.ImeMode = System.Windows.Forms.ImeMode.Off;
-			this.txtDefectCode.Location = new System.Drawing.Point(401, 56);
-			this.txtDefectCode.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.txtDefectCode.Location = new System.Drawing.Point(301, 45);
 			this.txtDefectCode.MaxLength = 20;
 			this.txtDefectCode.Name = "txtDefectCode";
-			this.txtDefectCode.Size = new System.Drawing.Size(176, 25);
+			this.txtDefectCode.Size = new System.Drawing.Size(133, 21);
 			this.txtDefectCode.TabIndex = 10;
 			this.txtDefectCode.TextValue = "";
 			// 
@@ -291,10 +282,9 @@
 			this.lblDefectName.AutoSize = true;
 			this.lblDefectName.BackColor = System.Drawing.Color.Transparent;
 			this.lblDefectName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-			this.lblDefectName.Location = new System.Drawing.Point(584, 61);
-			this.lblDefectName.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+			this.lblDefectName.Location = new System.Drawing.Point(438, 49);
 			this.lblDefectName.Name = "lblDefectName";
-			this.lblDefectName.Size = new System.Drawing.Size(67, 15);
+			this.lblDefectName.Size = new System.Drawing.Size(53, 12);
 			this.lblDefectName.TabIndex = 11;
 			this.lblDefectName.Text = "缺陷名称";
 			// 
@@ -303,10 +293,9 @@
 			this.lblDefectCode.AutoSize = true;
 			this.lblDefectCode.BackColor = System.Drawing.Color.Transparent;
 			this.lblDefectCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-			this.lblDefectCode.Location = new System.Drawing.Point(323, 61);
-			this.lblDefectCode.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+			this.lblDefectCode.Location = new System.Drawing.Point(242, 49);
 			this.lblDefectCode.Name = "lblDefectCode";
-			this.lblDefectCode.Size = new System.Drawing.Size(67, 15);
+			this.lblDefectCode.Size = new System.Drawing.Size(53, 12);
 			this.lblDefectCode.TabIndex = 9;
 			this.lblDefectCode.Text = "缺陷编码";
 			// 
@@ -317,10 +306,9 @@
 			this.btnClearCondition.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnClearCondition.BackgroundImage")));
 			this.btnClearCondition.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
 			this.btnClearCondition.ForeColor = System.Drawing.Color.White;
-			this.btnClearCondition.Location = new System.Drawing.Point(1371, 45);
-			this.btnClearCondition.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.btnClearCondition.Location = new System.Drawing.Point(1120, 36);
 			this.btnClearCondition.Name = "btnClearCondition";
-			this.btnClearCondition.Size = new System.Drawing.Size(113, 38);
+			this.btnClearCondition.Size = new System.Drawing.Size(85, 30);
 			this.btnClearCondition.TabIndex = 14;
 			this.btnClearCondition.Text = "清空条件(&C)";
 			this.btnClearCondition.UseVisualStyleBackColor = true;
@@ -333,10 +321,9 @@
 			this.btnSearch.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnSearch.BackgroundImage")));
 			this.btnSearch.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
 			this.btnSearch.ForeColor = System.Drawing.Color.White;
-			this.btnSearch.Location = new System.Drawing.Point(1249, 45);
-			this.btnSearch.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.btnSearch.Location = new System.Drawing.Point(1029, 36);
 			this.btnSearch.Name = "btnSearch";
-			this.btnSearch.Size = new System.Drawing.Size(113, 38);
+			this.btnSearch.Size = new System.Drawing.Size(85, 30);
 			this.btnSearch.TabIndex = 13;
 			this.btnSearch.Text = "查询(&Q)";
 			this.btnSearch.UseVisualStyleBackColor = true;
@@ -348,10 +335,9 @@
 			this.lblRptProcedureName.BackColor = System.Drawing.SystemColors.Control;
 			this.lblRptProcedureName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
 			this.lblRptProcedureName.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
-			this.lblRptProcedureName.Location = new System.Drawing.Point(27, 29);
-			this.lblRptProcedureName.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+			this.lblRptProcedureName.Location = new System.Drawing.Point(20, 23);
 			this.lblRptProcedureName.Name = "lblRptProcedureName";
-			this.lblRptProcedureName.Size = new System.Drawing.Size(97, 15);
+			this.lblRptProcedureName.Size = new System.Drawing.Size(77, 12);
 			this.lblRptProcedureName.TabIndex = 0;
 			this.lblRptProcedureName.Text = "数据来源名称";
 			// 
@@ -363,10 +349,9 @@
 			this.dropRptProcedure.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
 			this.dropRptProcedure.FormattingEnabled = true;
 			this.dropRptProcedure.IsMustInput = true;
-			this.dropRptProcedure.Location = new System.Drawing.Point(137, 24);
-			this.dropRptProcedure.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.dropRptProcedure.Location = new System.Drawing.Point(103, 19);
 			this.dropRptProcedure.Name = "dropRptProcedure";
-			this.dropRptProcedure.Size = new System.Drawing.Size(176, 23);
+			this.dropRptProcedure.Size = new System.Drawing.Size(133, 20);
 			this.dropRptProcedure.TabIndex = 1;
 			// 
 			// dgvRptProcedure
@@ -420,8 +405,7 @@
 			this.dgvRptProcedure.IsOpenMergeCellFlag = false;
 			this.dgvRptProcedure.IsSubTotalFlag = false;
 			this.dgvRptProcedure.IsTopDeep = false;
-			this.dgvRptProcedure.Location = new System.Drawing.Point(0, 149);
-			this.dgvRptProcedure.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+			this.dgvRptProcedure.Location = new System.Drawing.Point(0, 119);
 			this.dgvRptProcedure.MergeColumnNames = null;
 			this.dgvRptProcedure.MergeDetailColumnNames = null;
 			this.dgvRptProcedure.MergeDetailOnlyColumn = null;
@@ -436,7 +420,7 @@
 			this.dgvRptProcedure.RowsDefaultCellStyle = dataGridViewCellStyle6;
 			this.dgvRptProcedure.RowTemplate.Height = 21;
 			this.dgvRptProcedure.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
-			this.dgvRptProcedure.Size = new System.Drawing.Size(1492, 446);
+			this.dgvRptProcedure.Size = new System.Drawing.Size(1211, 389);
 			this.dgvRptProcedure.SortOrderColumnName = null;
 			this.dgvRptProcedure.TabIndex = 2;
 			this.dgvRptProcedure.Tag = true;
@@ -524,15 +508,36 @@
 			this.DefectPercent.ReadOnly = true;
 			this.DefectPercent.Width = 125;
 			// 
+			// dkCJProcedureSearchBox
+			// 
+			this.dkCJProcedureSearchBox.BackColor = System.Drawing.Color.Transparent;
+			this.dkCJProcedureSearchBox.DataSource = null;
+			this.dkCJProcedureSearchBox.Enabled = true;
+			this.dkCJProcedureSearchBox.IsMustInput = false;
+			this.dkCJProcedureSearchBox.Location = new System.Drawing.Point(636, 46);
+			this.dkCJProcedureSearchBox.ModelType = null;
+			this.dkCJProcedureSearchBox.Name = "dkCJProcedureSearchBox";
+			this.dkCJProcedureSearchBox.ProcedureCode = null;
+			this.dkCJProcedureSearchBox.ProcedureID = null;
+			this.dkCJProcedureSearchBox.ProcedureIDS = null;
+			this.dkCJProcedureSearchBox.ProcedureName = null;
+			this.dkCJProcedureSearchBox.Purview = null;
+			this.dkCJProcedureSearchBox.PurviewType = ((byte)(0));
+			this.dkCJProcedureSearchBox.SelectMore = true;
+			this.dkCJProcedureSearchBox.Size = new System.Drawing.Size(191, 21);
+			this.dkCJProcedureSearchBox.TabIndex = 16;
+			this.dkCJProcedureSearchBox.Title = "成检工序";
+			this.dkCJProcedureSearchBox.TxtGoodsTypeBackColor = System.Drawing.SystemColors.Control;
+			// 
 			// F_RPT_040106
 			// 
-			this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
+			this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
 			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-			this.ClientSize = new System.Drawing.Size(1508, 595);
+			this.ClientSize = new System.Drawing.Size(1223, 508);
 			this.Controls.Add(this.dgvRptProcedure);
 			this.Controls.Add(this.tsrOperate);
 			this.Controls.Add(this.gbxCondition);
-			this.Margin = new System.Windows.Forms.Padding(5, 5, 5, 5);
+			this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
 			this.Name = "F_RPT_040106";
 			this.Text = "缺陷报表";
 			this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.F_RPT_040104_FormClosed);
@@ -577,5 +582,6 @@
         private System.Windows.Forms.DataGridViewTextBoxColumn OutKilnCount;
         private System.Windows.Forms.DataGridViewTextBoxColumn DefectCount;
         private System.Windows.Forms.DataGridViewTextBoxColumn DefectPercent;
-    }
+		private Controls.SearchTextBox.dkProcedureSearchBox dkCJProcedureSearchBox;
+	}
 }

+ 72 - 1
DK.Client/ReportModule/R04/M01/F_RPT_040106.cs

@@ -92,6 +92,8 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
                 this.dtpAccountDateStart.Value = DateTime.Now.Date;
                 this.dtpAccountDateEnd.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
                 getPurviewLine();
+                this.dkCJProcedureSearchBox.IsEnablePurview = true;//add xiacm 2022-11-02
+                getPurview();//add xiacm 2022-11-02
             }
             catch (Exception ex)
             {
@@ -173,6 +175,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
             //this.dkGroutingLineSearchBox.ClearControl();
             //this.dkUserInfoSearchBox.ClearControl();
             this.chkOutKilnNum.Checked = true;
+            this.dkCJProcedureSearchBox.ClearControl();//add xiacm 2022-11-02
         }
         #endregion
 
@@ -215,7 +218,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
                 }
                 // 质量工序id
                 se.ProcedureIDS = dkProcedureSearchBox3.ProcedureIDS == null ? string.Empty : dkProcedureSearchBox3.ProcedureIDS;
-
+                se.CJprocedureids = dkCJProcedureSearchBox.ProcedureIDS; //add xiacm 2022-11-09
                 se.CreateTimeStart = this.dtpAccountDateStart.Value;
                 se.CreateTimeEnd = this.dtpAccountDateEnd.Value;
 
@@ -345,6 +348,74 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
                 }
             */
         }
+
+        /// <summary>
+		/// 获取权限(成检工序)
+		/// </summary>
+		protected void getPurview()
+        {
+            try
+            {
+                StringBuilder sbProcedurePurview = new StringBuilder();
+                StringBuilder CJProcedure = new StringBuilder();
+                //得到工序查看权限
+                DataSet dsProcedurePurview = (DataSet)DoAsync(new AsyncMethod(() =>
+                {
+                    return SystemModuleProxy.Service.GetUserPurview(9, LogInUserInfo.CurrentUser.UserID);
+                }));
+                if (dsProcedurePurview != null)
+                {
+                    DataRow[] drPurview = dsProcedurePurview.Tables[Constant.INT_IS_ZERO].Select("PurviewID=-1");
+                    if (drPurview.Length == 0)
+                    {
+                        foreach (DataRow dr in dsProcedurePurview.Tables[Constant.INT_IS_ZERO].Rows)
+                        {
+                            sbProcedurePurview.Append(dr[Constant.INT_IS_ZERO].ToString() + ",");
+                        }
+                        if (sbProcedurePurview.Length != Constant.INT_IS_ZERO)
+                        {
+                            //add xiacm 2022-10-25 成检工序数据
+                            this.dkCJProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+                            SearchProductionLineEntity line = new SearchProductionLineEntity();
+                            DataSet dsCJProcedure = SystemModuleProxy.Service.GetProdureList(line);
+                            DataRow[] drCJProcedure = dsCJProcedure.Tables[Constant.INT_IS_ZERO].Select("FINISHEDCHECKPROCEDUREID is not null and ProcedureID in (" + sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1) + ")");
+                            foreach (DataRow item in drCJProcedure)
+                            {
+                                CJProcedure.Append(item["ProcedureID"].ToString() + ",");
+                            }
+                            this.dkCJProcedureSearchBox.Purview = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
+                        }
+                    }
+                    else
+                    {
+                        SearchProductionLineEntity line = new SearchProductionLineEntity();
+                        dsProcedurePurview = SystemModuleProxy.Service.GetProdureList(line);
+                        foreach (DataRow dr in dsProcedurePurview.Tables[Constant.INT_IS_ZERO].Rows)
+                        {
+                            sbProcedurePurview.Append(dr["ProcedureID"].ToString() + ",");
+                        }
+                        if (sbProcedurePurview.Length != Constant.INT_IS_ZERO)
+                        {
+
+
+                            //add xiacm 2022-10-25 成检工序数据
+                            this.dkCJProcedureSearchBox.Purview = sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1);
+
+                            DataRow[] drCJProcedure = dsProcedurePurview.Tables[Constant.INT_IS_ZERO].Select("FINISHEDCHECKPROCEDUREID is not null and ProcedureID in (" + sbProcedurePurview.ToString().Substring(Constant.INT_IS_ZERO, sbProcedurePurview.Length - 1) + ")");
+                            foreach (DataRow item in drCJProcedure)
+                            {
+                                CJProcedure.Append(item["ProcedureID"].ToString() + ",");
+                            }
+                            this.dkCJProcedureSearchBox.Purview = CJProcedure.ToString().Substring(Constant.INT_IS_ZERO, CJProcedure.Length - 1);
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
         #endregion
 
         private void dgvRptProcedure_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)

+ 75 - 12
DK.Service/ReportModuleLogic/ReportModuleLogic.cs

@@ -3235,6 +3235,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             parameters.Add(new OracleParameter(":in_AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
             parameters.Add(new OracleParameter(":in_rptProcedureId", OracleDbType.Int32, se.RptProcedureID, ParameterDirection.Input));
             parameters.Add(new OracleParameter(":in_rptSprocedureId", OracleDbType.Int32, se.RptSProcedureID, ParameterDirection.Input));
+            parameters.Add(new OracleParameter(":in_finishedprocedureids", OracleDbType.Varchar2, se.RptCJProcedureIDS, ParameterDirection.Input));
 
             string sqlString = "select qdgroup.gid\n" +
             "      ,qdgroup.productionlinename\n" +
@@ -3287,6 +3288,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "             ,0\n" +
             "             ,to_number(null)\n" +
             "             ,round(qdgroup.ReFireCount / qdgroup.OutKilnCount, 4)) ReFirePercent\n" +
+            "             ,qdgroup.cjprocedurename\n " +//add xiacm 2022-10-25
             "  from (select grouping_id(pcpl.productionlinename\n" +
             "                          ,pcp.procedurename\n" +
             "                          ,mstkiln.kilncode\n" +
@@ -3306,6 +3308,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "              ,nvl(sum(decode(ppcc.goodsleveltypeid, 6, 1, 0)), 0) ReFireCount\n" +
             "              ,nvl(sum(decode(ppcc.goodsleveltypeid, 7, 1, 0)), 0) SubstandardCount\n" +
             "              ,nvl(sum(decode(ppcc.goodsleveltypeid, 0, 1, 5, -1, 6, -1, 7, -1, 0)), 0) GoodCount\n" +
+            "              ,ppcc.cjprocedurename\n" + //add xiacm 2022-10-25
             "          from (select 0                   goodsleveltypeid -- 出窑数量\n" +
             "                      ,pd.barcode\n" +
             "                      ,pd.productionlineid\n" +
@@ -3314,10 +3317,15 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "                      ,pd.kilncarbatchno\n" +
             "                      ,0                   procedureid\n" +
             "                      ,1                   cc\n" +
+            "                      ,tp.procedurename cjprocedurename\n" +//add xiacm 2022-10-25
             "                  from tp_pm_productiondata pd\n" +
+            "                  left join tp_pc_procedure tp--成检工序\n" +//add xiacm 2022-10-25
+            "                       on pd.finishedprocedureid = tp.procedureid\n" +
             "                 where pd.valueflag = '1'\n" +
             "                   and pd.procedureid = :in_rptSprocedureId\n" +
-            "                   and pd.accountid = :in_AccountID\n";
+            "                   and pd.accountid = :in_AccountID\n" +
+            "                   and(:in_finishedprocedureids is null  or :in_finishedprocedureids = '' " +//add xiacm 2022-10-25
+            "                   or instr (','||:in_finishedprocedureids||',',','||pd.finishedprocedureid||',')>0)--成检工序\n";
 
             StringBuilder selSql = new StringBuilder(sqlString);
             if (se.CreateTimeStart.HasValue)
@@ -3356,15 +3364,21 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "                               ,ppd.kilncarbatchno\n" +
             "                               ,dd.defectprocedureid procedureid\n" +
             "                               ,1                    cc\n" +
+            "                               ,ppd.cjprocedurename\n" +//add xiacm 2022-10-25
             "                  from (select pd.productiondataid\n" +
             "                              ,pd.goodsleveltypeid\n" +
             "                              ,pd.kilnid\n" +
             "                              ,pd.kilncarbatchno\n" +
+            "                              ,pcpd.procedurename cjprocedurename\n" + //add xiacm 2022-10-25
             "                          from tp_pm_productiondata pd\n" +
+            "                           left join tp_pc_procedure pcpd\n" +//add xiacm 2022-10-25
+            "                           on pd.finishedprocedureid = pcpd.procedureid\n" +
             "                         where pd.valueflag = '1'\n" +
             "                           and pd.AccountID = :in_AccountID\n" +
             "                           and length(pd.kilncarbatchno) > 0\n" +
-            "                           and pd.modeltype = -1\n";
+            "                           and pd.modeltype = -1\n" +
+            //add xiacm 2022-10-25
+            "and(:in_finishedprocedureids is null  or :in_finishedprocedureids = '' or instr (','||:in_finishedprocedureids||',',','||pd.finishedprocedureid||',')>0)--成检工序\n";
             selSql.Append(sqlString);
             if (se.CreateTimeStart.HasValue)
             {
@@ -3453,7 +3467,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 parameters.Add(new OracleParameter(":GoodsTypeIDS", OracleDbType.NVarchar2, se.GoodsTypeIDS, ParameterDirection.Input));
             }
             sqlString =
-            "         group by grouping sets((pcpl.productionlinename, pcp.displayno, pcp.procedurename, mstkiln.kilncode, mstgoodstype2.goodstypecode, mstgoodstype2.goodstypename, pdata.usercode, mstgoodstype.goodstypecode, mstgoodstype.goodstypename, mstgoods.goodscode),(pcpl.productionlinename, pcp.displayno, pcp.procedurename, mstkiln.kilncode, mstgoodstype2.goodstypecode, mstgoodstype2.goodstypename),(pcpl.productionlinename, pcp.displayno, pcp.procedurename, mstkiln.kilncode),(pcpl.productionlinename, pcp.displayno, pcp.procedurename))\n" +
+            "         group by grouping sets((pcpl.productionlinename, pcp.displayno, pcp.procedurename, mstkiln.kilncode, mstgoodstype2.goodstypecode, mstgoodstype2.goodstypename, pdata.usercode, mstgoodstype.goodstypecode, mstgoodstype.goodstypename, mstgoods.goodscode,ppcc.cjprocedurename),(pcpl.productionlinename, pcp.displayno, pcp.procedurename, mstkiln.kilncode, mstgoodstype2.goodstypecode, mstgoodstype2.goodstypename),(pcpl.productionlinename, pcp.displayno, pcp.procedurename, mstkiln.kilncode),(pcpl.productionlinename, pcp.displayno, pcp.procedurename))\n" +
             "         order by pcpl.productionlinename\n" +
             "                 ,pcp.displayno\n" +
             "                 ,pcp.procedurename\n" +
@@ -3863,7 +3877,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
         {
             parameters.Add(new OracleParameter(":in_AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
             parameters.Add(new OracleParameter(":in_rptSprocedureId", OracleDbType.Int32, se.RptSProcedureID, ParameterDirection.Input));
-
+            parameters.Add(new OracleParameter(":in_CJprocedureids", OracleDbType.Varchar2,se.CJProcedureIDS,ParameterDirection.Input));
             string sqlString = "select qdgroup.gid\n" +
             "      ,decode(qdgroup.gid, 7, '总计', qdgroup.productionlinename) productionlinename\n" +
             "      ,decode(qdgroup.gid\n" +
@@ -3908,6 +3922,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "             ,0\n" +
             "             ,to_number(null)\n" +
             "             ,round(qdgroup.ReFireCount / qdgroup.OutKilnCount, 4)) ReFirePercent\n" +
+            "             ,qdgroup.cjprocedurename --成检工序\n" + //add xiacm 2022-10-26
             "  from (select grouping_id(pcpl.productionlinename\n" +
             "                          ,mstkiln.kilncode\n" +
             "                          ,mstgoodstype2.goodstypecode\n" +
@@ -3922,6 +3937,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "              ,nvl(sum(decode(ppcc.goodsleveltypeid, 6, 1, 0)), 0) ReFireCount\n" +
             "              ,nvl(sum(decode(ppcc.goodsleveltypeid, 7, 1, 0)), 0) SubstandardCount\n" +
             "              ,nvl(sum(decode(ppcc.goodsleveltypeid, 0, 1, 5, -1, 6, -1, 7, -1, 0)), 0) GoodCount\n" +
+            "              ,ppcc.cjprocedurename --成检工序\n" + //add xiacm 2022-10-26
             "          from (select 0                   goodsleveltypeid -- 出窑数量\n" +
             "                      ,pd.barcode\n" +
             "                      ,pd.productionlineid\n" +
@@ -3929,12 +3945,15 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "                      ,pd.kilnid\n" +
             "                      ,pd.kilncarbatchno\n" +
             "                      ,1                   cc\n" +
+            "                      ,cjpd.procedurename cjprocedurename --成检工序\n" + //add xiacm 2022-10-26
             "                  from tp_pm_productiondata pd\n" +
             "                 inner join tp_pm_groutingdailydetail gdd on gdd.groutingdailydetailid = pd.groutingdailydetailid\n" +
+            "                 LEFT join TP_PC_PROCEDURE cjpd on  pd.FINISHEDPROCEDUREID = cjpd.procedureid --成检工序\n" + //add xiacm 2022-10-26
             // 恒洁三车间特殊处理(质量相关)
             //"                 where pd.valueflag = '1'\n" +
             //"                   and pd.procedureid = :in_rptSprocedureId\n" +
             "                 where pd.accountid = :in_AccountID\n" +
+            "              and (:in_CJprocedureids='' or :in_CJprocedureids is null or instr(','||:in_CJprocedureids||',',','||pd.finishedprocedureid||',')>0)--成检工序\n" +//add xiacm 2022-10-26
             "           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"
@@ -4017,11 +4036,14 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
             "                               ,pd.kilnid\n" +
             "                               ,pd.kilncarbatchno\n" +
             "                               ,1 cc\n" +
+            "                               ,cjpd.procedurename cjprocedurename --成检工序\n" +
             "                  from tp_pm_productiondata pd\n" +
             "                 inner join tp_pm_groutingdailydetail gdd on gdd.groutingdailydetailid = pd.groutingdailydetailid\n" +
+            "                 LEFT join TP_PC_PROCEDURE cjpd on  pd.FINISHEDPROCEDUREID = cjpd.procedureid --成检工序\n" +
             "                 where pd.valueflag = '1'\n" +
             "                   and pd.modeltype = -1\n" +
             "                   and pd.AccountID = :in_AccountID\n" +
+            "                   and (:in_CJprocedureids='' or :in_CJprocedureids is null or instr(','||:in_CJprocedureids||',',','||pd.finishedprocedureid||',')>0)--成检工序\n" +//add xiacm 2022-10-26
             "                   and length(pd.kilncarbatchno) > 0\n";
             selSql.Append(sqlString);
             // 试验标识
@@ -4125,7 +4147,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 parameters.Add(new OracleParameter(":GoodsTypeIDS", OracleDbType.NVarchar2, se.GoodsTypeIDS, ParameterDirection.Input));
             }
             sqlString =
-            "         group by grouping sets((pcpl.productionlinename, mstkiln.kilncode, mstgoodstype2.goodstypecode, mstgoodstype2.goodstypename, mstgoodstype.goodstypecode, mstgoodstype.goodstypename, mstgoods.goodscode),(pcpl.productionlinename, mstkiln.kilncode, mstgoodstype2.goodstypecode, mstgoodstype2.goodstypename),(pcpl.productionlinename, mstkiln.kilncode),(pcpl.productionlinename))\n" +
+            "         group by grouping sets((pcpl.productionlinename, mstkiln.kilncode, mstgoodstype2.goodstypecode, mstgoodstype2.goodstypename, mstgoodstype.goodstypecode, mstgoodstype.goodstypename, mstgoods.goodscode,ppcc.cjprocedurename),(pcpl.productionlinename, mstkiln.kilncode, mstgoodstype2.goodstypecode, mstgoodstype2.goodstypename),(pcpl.productionlinename, mstkiln.kilncode),(pcpl.productionlinename))\n" +
             "         order by pcpl.productionlinename\n" +
             "                 ,mstkiln.kilncode\n" +
             "                 ,mstgoodstype2.goodstypecode\n" +
@@ -4703,6 +4725,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                     "              0,\n" +
                     "              to_number(NULL),\n" +
                     "              ROUND(Defect.DefectCount / OUT.outNum, 4)) DefectPercent\n" +
+                    "      ,pcpd.procedurename CJprocedurename --成检工序\n" + //add xiacm 2022-11-02
                     "  FROM (SELECT tp_pc_productionline.productionlinename\n" +
                     "              ,tp_pc_procedure.procedurename\n" +
                     "              ,TP_MST_DefectType.Defecttypename\n" +
@@ -4749,6 +4772,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                     "                 ,goodstype2.goodstypecode\n" +
                     "                 ,goodstype2.goodstypename) Defect\n" +
                     " LEFT JOIN ( SELECT gt2.goodstypecode goodstypecode2, COUNT(pd.barcode) outNum\n" +
+                    "   ,pd.finishedprocedureid\n" + //add xiacm 2022-11-02
                     "  FROM tp_pm_productiondata pd\n" +
                     "  LEFT JOIN tp_mst_goods g on g.goodsid = pd.goodsid\n" +
                     "  LEFT JOIN tp_mst_goodstype gt on g.goodstypeid = gt.goodstypeid\n" +
@@ -4764,8 +4788,15 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                     "   AND pd.AccountID = :AccountID\n" +
                     "   AND (:createtimebegin is null or pd.createtime >= :createtimebegin)\n" +
                     "   AND (:createtimeend is null or pd.createtime <= :createtimeend)\n" +
-                    " GROUP BY gt2.goodstypecode) OUT \n" +
-                    "  ON OUT.goodstypecode2 = Defect.goodstypecode2 \n";
+                    " GROUP BY gt2.goodstypecode,pd.finishedprocedureid) OUT \n" +//add xiacm 2022-11-02 pd.finishedprocedureid
+                    "  ON OUT.goodstypecode2 = Defect.goodstypecode2 \n" +
+                    " left join tp_pc_procedure pcpd on pcpd.procedureid=OUT.finishedprocedureid\n";
+
+                    if (!string.IsNullOrEmpty(se.CJprocedureids))
+					{
+                        sqlString += " where (:CJprocedureid is null or :CJprocedureid = '' or instr(','||:CJprocedureid||',',','||pcpd.procedureid||',')>0)";
+
+                    }
 
                     parameters = new OracleParameter[]
                     {
@@ -4777,6 +4808,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                         new OracleParameter(":DefectName", OracleDbType.NVarchar2, se.DefectName, ParameterDirection.Input),
                         //new OracleParameter(":OutKilnCount", OracleDbType.Int32, outKilnCount, ParameterDirection.Input),
                         new OracleParameter(":in_rptSprocedureId", OracleDbType.Int32, se.RptSProcedureID, ParameterDirection.Input),
+                        new OracleParameter(":CJprocedureid",OracleDbType.Varchar2,se.CJprocedureids,ParameterDirection.Input),
                     };
                 }
                 else
@@ -4786,6 +4818,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                     // 恒洁三车间特殊处理(质量相关)
                     //" WHERE pd.valueflag = '1'\n" +
                     //"   AND pd.procedureid = :procedureid\n" +
+                    "  left join tp_pc_procedure pcpd on pd.finishedprocedureid = pcpd.procedureid\n" +
                     "  where ((pd.procedureid <> 104 and pd.valueflag = '1') or (pd.procedureid = 104 and pd.checkflag = '1')) \n" +
                     "                   and ((: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" +
@@ -4794,13 +4827,18 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                     "   AND pd.AccountID = :AccountID\n" +
                     "   AND (:createtimebegin is null or pd.createtime >= :createtimebegin)\n" +
                     "   AND (:createtimeend is null or pd.createtime <= :createtimeend)";
-
+                    //add xiacm 2022-11-02
+                    if(!string.IsNullOrEmpty(se.ProcedureIDS))
+					{
+                        sqlString += " AND (:CJprocedureids is null or :CJprocedureid = '' or instr(','||:CJprocedureid||',',','||pd.finishedprocedureid||',')>0)";
+                    }
                     parameters = new OracleParameter[]
                     {
                         new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input),
                         new OracleParameter(":in_rptSprocedureId", OracleDbType.Int32, se.RptSProcedureID, ParameterDirection.Input),
                         new OracleParameter(":createtimebegin", OracleDbType.Date, se.CreateTimeStart, ParameterDirection.Input),
                         new OracleParameter(":createtimeend", OracleDbType.Date, se.CreateTimeEnd, ParameterDirection.Input),
+                        new OracleParameter(":CJprocedureids", OracleDbType.Varchar2, se.CJprocedureids, ParameterDirection.Input),
                     };
                     int outKilnCount = Convert.ToInt32(conn.GetSqlResultToStr(sqlString, parameters));
 
@@ -10236,6 +10274,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                     selSql += " ,SUBSTR( pd.KILNCARBATCHNO, INSTR( pd.KILNCARBATCHNO, '$', 1, 1 ) + 1, INSTR( pd.KILNCARBATCHNO, '$', 1, 2 ) - INSTR( pd.KILNCARBATCHNO, '$', 1, 1 ) -1 ) AS Fyear\n";
                 }
             selSql += "     ,tmdd.DICTIONARYVALUE AS KilnLocation\n" +
+                "  ,pcpd.procedurename CJprocedurename\n" +//add xiacm 2022-10-31 成检工序名称
                 "  FROM tp_pm_defect pmd\n" +
                 "  LEFT JOIN TP_MST_Goods g\n" +
                 "    ON pmd.Goodsid = g.Goodsid\n" +
@@ -10263,7 +10302,11 @@ 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" +
-                // end
+                  // end
+                //add xiacm 2022-10-31 成检工序表 start
+                "  left join tp_pc_procedure pcpd\n" +
+                "     on hopd.finishedprocedureid = pcpd.procedureid\n" +
+                //end
                 "  LEFT JOIN TP_MST_DefectFine mstdf\n" +
                 "    ON pmd.DefectFine = mstdf.DefectFineID\n" +
                 "  LEFT JOIN tp_mst_logo logo\n" +
@@ -10418,6 +10461,12 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 selSql += "  AND gdd.TestMouldFlag = :TestMouldFlag  ";
                 parameters.Add(new OracleParameter(":TestMouldFlag", OracleDbType.Char, se.TestMouldFlag, ParameterDirection.Input));
             }
+            // 成检工序 add xiacm 2022-10-31
+            if (!string.IsNullOrEmpty(se.CJProcedureIDS))
+			{
+                selSql += "  and (:CJprocedureid is null or :CJprocedureid = '' or instr(','||:CJprocedureid||',',','||pcpd.procedureid||',')>0)";
+                parameters.Add(new OracleParameter(":CJprocedureid", OracleDbType.Char, se.CJProcedureIDS, ParameterDirection.Input));
+			}
             //if (!string.IsNullOrEmpty(se.PurViewUserCodeIDS))
             //{
             //    selSql = selSql + " AND instr(','||:PurViewUserCodeIDS||',',','||TP_PM_Defect.DefectUserID||',')>0 ";
@@ -10586,6 +10635,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 "     ,SUBSTR( pd.KILNCARBATCHNO, INSTR( pd.KILNCARBATCHNO, '$', 1, 2 ) + 1, INSTR( pd.KILNCARBATCHNO, '$', 1, 3 ) - INSTR( pd.KILNCARBATCHNO, '$', 1, 2 ) -1 ) AS Kcode1\n" +
                 "     ,SUBSTR( pd.KILNCARBATCHNO, INSTR( pd.KILNCARBATCHNO, '$', 1, 1 ) + 1, INSTR( pd.KILNCARBATCHNO, '$', 1, 2 ) - INSTR( pd.KILNCARBATCHNO, '$', 1, 1 ) -1 ) AS Fyear1\n" +
                 "     ,tmdd.DICTIONARYVALUE AS KilnLocation \n" +
+                "     ,PCPD.Procedurename QXCJProcedurename\n" + //add xiacm 2022-11-01
                 "  FROM tp_pm_defect pmd\n" +
                 "  LEFT JOIN TP_PC_Procedure p\n" +
                 "    ON p.procedureid = pmd.procedureid\n" +
@@ -10628,13 +10678,14 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 "    ON pd.logoid = logo.logoid\n" +
                  "  LEFT JOIN TP_MST_DATADICTIONARY tmdd ON pd.kilncarposition = tmdd.dictionaryid\n" +
                 "    AND tmdd.dictionarytype = 'TPC003'\n" +
+                "   LEFT JOIN TP_PC_PROCEDURE PCPD ON HOPD.Finishedprocedureid = pcpd.procedureid\n" + //add xiacm 2022-11-01
                 //"  LEFT JOIN (SELECT def.barcode, wmsys.wm_concat( to_char(def.defectcode)) alldefectcode\n" +
                 //"               FROM tp_pm_defect def\n" +
                 //"              WHERE def.valueflag = '1'\n" +
                 ////def.createtime
                 //"              group by def.barcode ) d\n" +
                 //"    ON d.barcode = pmd.barcode\n" +
-                " WHERE pmd.valueflag = '1' \n" +
+            " WHERE pmd.valueflag = '1' \n" +
                 "   AND pd.ModelType = -1\n" +
                 "   AND pmd.AccountID = :AccountID\n";
 
@@ -10791,7 +10842,12 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 selSql = selSql + "  AND hopd.CreateTime<= :HandOverTimeEnd  ";
                 parameters.Add(new OracleParameter(":HandOverTimeEnd", OracleDbType.Date, se.HandOverTimeEnd.Value, ParameterDirection.Input));
             }
-
+            //add xiacm 2022-11-01
+            if(!string.IsNullOrEmpty(se.CJProcedureIDS))
+			{
+                selSql += "AND (:CJprocedureid is null or :CJprocedureid = '' or instr(','||:CJprocedureid||',',','||pcpd.procedureid||',')>0) ";
+                parameters.Add(new OracleParameter(":CJprocedureid", OracleDbType.Varchar2, se.CJProcedureIDS, ParameterDirection.Input));
+            }
             //selSql = selSql + " order by pmd.productionlinename,pmd.procedurename,pmd.defectprocedurename,pmd.defectusercode ";
             selSql = selSql + " order by pmd.productionlinename,p.DISPLAYNO,pdd.DISPLAYNO,dt.DISPLAYNO,mstd.DISPLAYNO,pmd.defectusercode,pmd.barcode ";
             return selSql;
@@ -10930,6 +10986,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 "      ,proddata.UserCode prousercode\n" +
                 "      ,proddata.PROCEDURENAME proname\n" +
                 "      ,pd.KILNCARCODE KILNCARCODE\n" +
+                "      ,pcpd.procedurename GXCJprocedurename\n"+ //add xiacm 2022-11-01
                 "  FROM tp_pm_defect pmd\n" +
                 " INNER JOIN tp_pm_productiondata proddata\n" +
                 "    ON proddata.barcode = pmd.barcode\n " +
@@ -10976,6 +11033,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 ////def.createtime
                 //"              group by def.barcode ) d\n" +
                 //"    ON d.barcode = pmd.barcode\n" +
+                "left join tp_pc_procedure pcpd on hopd.finishedprocedureid = pcpd.procedureid\n" + //add xiacm 2022-11-01
                 " WHERE pmd.valueflag = '1' \n" +
                 "   AND pd.ModelType = -1\n" +
                 "   AND pmd.AccountID = :AccountID\n";
@@ -11121,7 +11179,12 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 selSql = selSql + "  AND hopd.CreateTime<= :HandOverTimeEnd  ";
                 parameters.Add(new OracleParameter(":HandOverTimeEnd", OracleDbType.Date, se.HandOverTimeEnd.Value, ParameterDirection.Input));
             }
-
+            //add xiacm 2022-11-01
+            if (!string.IsNullOrEmpty(se.CJProcedureIDS))
+			{
+                selSql += " AND (:CJprocedureid is null or :CJprocedureid = '' or instr(','||:CJprocedureid||',',','||pcpd.procedureid||',')>0) ";
+                parameters.Add(new OracleParameter(":CJprocedureid", OracleDbType.Varchar2, se.CJProcedureIDS, ParameterDirection.Input));
+            }
             //selSql = selSql + " order by pmd.productionlinename,p.DISPLAYNO,pdd.DISPLAYNO,dt.DISPLAYNO,mstd.DISPLAYNO,pmd.defectusercode,pmd.barcode ";
             selSql = selSql + " order by proddata.CheckTime ";
             return selSql;

+ 11 - 0
WCF.Service/WCF.DataModels/SearchEntity/RPT/RPT030106_SE.cs

@@ -17,6 +17,17 @@ namespace Dongke.IBOSS.PRD.WCF.DataModels
     [DataContract]
     public class RPT030106_SE
     {
+
+        /// <summary>
+        /// 成检工序ID集 add xiacm 2022-10-31
+        /// </summary>
+        [DataMember]
+        public string CJProcedureIDS
+		{
+            get;
+            set;
+		}
+
         /// <summary>
         /// 责任工序ID集
         /// </summary>

+ 9 - 1
WCF.Service/WCF.DataModels/SearchEntity/RPT/RPT040103_SE.cs

@@ -40,7 +40,15 @@ namespace Dongke.IBOSS.PRD.WCF.DataModels
             get;
             set;
         }
-
+        /// <summary>
+        /// 成检工序IDS
+        /// </summary>
+        [DataMember]
+        public string RptCJProcedureIDS
+		{
+            get;
+            set;
+		}
 
         /// <summary>
         /// 报表查询工序

+ 8 - 0
WCF.Service/WCF.DataModels/SearchEntity/RPT/RPT040104_SE.cs

@@ -41,6 +41,14 @@ namespace Dongke.IBOSS.PRD.WCF.DataModels
             set;
         }
 
+        /// <summary>
+        /// 成检工序ids add xiacm 2022-10-26
+        /// </summary>
+        [DataMember]
+        public string CJProcedureIDS
+		{
+            get;set;
+		}
 
         /// <summary>
         /// 报表查询工序

+ 11 - 1
WCF.Service/WCF.DataModels/SearchEntity/RPT/RPT040106_SE.cs

@@ -29,7 +29,7 @@ namespace Dongke.IBOSS.PRD.WCF.DataModels
             get;
             set;
         }
-
+       
         /// <summary>
         /// 报表查询工序
         /// </summary>
@@ -119,5 +119,15 @@ namespace Dongke.IBOSS.PRD.WCF.DataModels
             get;
             set;
         }
+
+        /// <summary>
+        /// 成检工序ids add xiacm 2022-11-02
+        /// </summary>
+        [DataMember]
+        public string CJprocedureids
+        {
+            get;
+            set;
+        }
     }
 }

Некоторые файлы не были показаны из-за большого количества измененных файлов