فهرست منبع

条码暂存,留瓷提示

Administrator 5 سال پیش
والد
کامیت
f0b49b01b2

+ 27 - 0
DK.Basics/BaseResources/FormTitles.Designer.cs

@@ -1267,6 +1267,33 @@ namespace Dongke.IBOSS.PRD.Basics.BaseResources {
         }
         
         /// <summary>
+        ///   查找类似 条码预设 的本地化字符串。
+        /// </summary>
+        public static string F_PM_0107 {
+            get {
+                return ResourceManager.GetString("F_PM_0107", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查找类似 新建条码预设 的本地化字符串。
+        /// </summary>
+        public static string F_PM_0107_ADD {
+            get {
+                return ResourceManager.GetString("F_PM_0107_ADD", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   查找类似 编辑条码预设 的本地化字符串。
+        /// </summary>
+        public static string F_PM_0107_EDIT {
+            get {
+                return ResourceManager.GetString("F_PM_0107_EDIT", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   查找类似 变更条码 的本地化字符串。
         /// </summary>
         public static string F_PM_0201 {

+ 9 - 0
DK.Basics/BaseResources/FormTitles.resx

@@ -906,4 +906,13 @@
   <data name="F_RPT_080108" xml:space="preserve">
     <value>半检返修登记明细表</value>
   </data>
+  <data name="F_PM_0107" xml:space="preserve">
+    <value>条码预设</value>
+  </data>
+  <data name="F_PM_0107_ADD" xml:space="preserve">
+    <value>新建条码预设</value>
+  </data>
+  <data name="F_PM_0107_EDIT" xml:space="preserve">
+    <value>编辑条码预设</value>
+  </data>
 </root>

+ 17 - 0
DK.Client/Client.Controls/SearchBox/ScbGroutingLine.cs

@@ -101,6 +101,17 @@ namespace Dongke.IBOSS.PRD.Client.Controls.SearchBox
 				base.ValueMember = value;
 			}
 		}
+
+		/// <summary>
+		/// 成型线状态
+		/// </summary>
+		[Description("获取或设置成型线状态"), Category("CustomerEx")]
+		[DefaultValue("")]
+		public string GmouldStatus
+		{
+			set;
+			get;
+		}
 		#endregion
 
 		#region 重写方法
@@ -126,6 +137,7 @@ namespace Dongke.IBOSS.PRD.Client.Controls.SearchBox
 			if (this.ValueFrom == SearchBoxValueFrom.UserInput)
 			{
 				string display = this.DisplayMember.ToUpper();
+
 				if (display.EndsWith("CODE"))
 				{
 					this.SearchForm.SetConditions(this.txtCondition1.Text, "");
@@ -134,6 +146,11 @@ namespace Dongke.IBOSS.PRD.Client.Controls.SearchBox
 				{
 					this.SearchForm.SetConditions(this.txtCondition1.Text);
 				}
+
+                if (SearchForm is F_GroutingLine)
+                {
+					((F_GroutingLine)SearchForm).GmouldStatus = this.GmouldStatus;
+				}
 			}
 			this._searchForm.Show();
 		}

+ 162 - 149
DK.Client/Client.Controls/SelectForm/F_GroutingLine.cs

@@ -18,153 +18,166 @@ using Dongke.IBOSS.PRD.WCF.Proxys;
 
 namespace Dongke.IBOSS.PRD.Client.Controls.SearchBox
 {
-	/// <summary>
-	/// 成型线
-	/// </summary>
-	public partial class F_GroutingLine : SearchBoxForm
-	{
-		#region 构造函数
-		/// <summary>
-		/// 查询窗体
-		/// </summary>
-		public F_GroutingLine()
-		{
-			InitializeComponent();
-		}
-		#endregion
-
-		#region 公有方法
-		///// <summary>
-		///// 设置查询条件
-		///// </summary>
-		//public override void SetConditions(params object[] values)
-		//{
-		//	if (values.Length > 1)
-		//	{
-		//		this.txtGroutingLineName.Text = values[0].ToString();
-		//	}
-		//}
-
-		/// <summary>
-		/// 清除查询条件
-		/// </summary>
-		public override void ClearConditions()
-		{
-			this.txtGroutingLineCode.Clear();
-			this.txtGroutingLineName.Clear();
-			this.txtUserCode.Clear();
-		}
-		#endregion
-
-		#region 保护方法
-		/// <summary>
-		/// 初始化Form
-		/// </summary>
-		protected override void InitForm()
-		{
-			DataGridViewTextBoxColumn GroutingLineID = new DataGridViewTextBoxColumn();
-			GroutingLineID.Name = "GroutingLineID";
-			GroutingLineID.HeaderText = "成型线ID";
-			GroutingLineID.ReadOnly = true;
-			GroutingLineID.Visible = false;
-			GroutingLineID.SortMode = DataGridViewColumnSortMode.Automatic;
-			GroutingLineID.DataPropertyName = "GroutingLineID";
-			GroutingLineID.DefaultCellStyle = new DataGridViewCellStyle();
-
-			DataGridViewTextBoxColumn GroutingLineCode = new DataGridViewTextBoxColumn();
-			GroutingLineCode.Name = "GroutingLineCode";
-			GroutingLineCode.HeaderText = "成型线编码";
-			GroutingLineCode.ReadOnly = true;
-			GroutingLineCode.SortMode = DataGridViewColumnSortMode.Automatic;
-			GroutingLineCode.DataPropertyName = "GroutingLineCode";
-
-			DataGridViewTextBoxColumn GroutingLineName = new DataGridViewTextBoxColumn();
-			GroutingLineName.Name = "GroutingLineName";
-			GroutingLineName.HeaderText = "成型线名称";
-			GroutingLineName.ReadOnly = true;
-			GroutingLineName.SortMode = DataGridViewColumnSortMode.Automatic;
-			GroutingLineName.DataPropertyName = "GroutingLineName";
-
-			DataGridViewTextBoxColumn UserCode = new DataGridViewTextBoxColumn();
-			UserCode.Name = "UserCode";
-			UserCode.HeaderText = "成型工号";
-			UserCode.ReadOnly = true;
-			UserCode.SortMode = DataGridViewColumnSortMode.Automatic;
-			UserCode.DataPropertyName = "UserCode";
-
-			DataGridViewTextBoxColumn GMouldStatusName = new DataGridViewTextBoxColumn();
-			GMouldStatusName.Name = "GMouldStatusName";
-			GMouldStatusName.HeaderText = "成型线名称";
-			GMouldStatusName.ReadOnly = true;
-			GMouldStatusName.SortMode = DataGridViewColumnSortMode.Automatic;
-			GMouldStatusName.DataPropertyName = "GMouldStatusName";
-
-			DataGridViewTextBoxColumn CreateTime = new DataGridViewTextBoxColumn();
-			CreateTime.Name = "CreateTime";
-			CreateTime.HeaderText = "创建时间";
-			CreateTime.ReadOnly = true;
-			CreateTime.SortMode = DataGridViewColumnSortMode.Automatic;
-			CreateTime.DataPropertyName = "CreateTime";
-			this.dgvSelected.Columns.AddRange(GroutingLineID, GroutingLineCode, GroutingLineName, UserCode, GMouldStatusName, CreateTime);
-			base.InitForm();
-		}
-
-		/// <summary>
-		/// 查询数据。
-		/// </summary>
-		/// <returns>验证通过true,其他false</returns>
-		protected override bool QueryDataFromOther()
-		{
-			ServiceResultEntity sre = this.GetDataTable();
-
-			if (sre.Data != null && sre.Data.Tables.Count > 0 && sre.Data.Tables[0].Rows.Count > 0)
-			{
-				this.dgvSelected.DataSource = sre.Data.Tables[0];
-				this.dgvSelected.Rows[0].Selected = true;
-				return true;
-			}
-			else
-			{
-				return false;
-			}
-		}
-		#endregion
-
-		#region 私有方法
-		private ServiceResultEntity GetDataTable()
-		{
-			try
-			{
-				// 异步处理,获取系统参数信息
-				ClientRequestEntity cre = new ClientRequestEntity();
-				cre.NameSpace = "F_GroutingLine";
-				cre.Name = "GetGroutingLine";
-				cre.Properties["GroutingLineCode"] = this.txtGroutingLineCode.Text.Trim();
-				cre.Properties["GroutingLineName"] = this.txtGroutingLineName.Text.Trim();
-				cre.Properties["UserCode"] = this.txtUserCode.Text.Trim();
-
-				// 调用服务器端获取数据集(DataSet)DoAsync(new BaseAsyncMethod(GetSystemData));
-				ServiceResultEntity sre = null;
-				DoAsync(() => { return CommonModuleProxy.Service.DoRequest(cre); }, out sre);
-
-				if (!(sre.Status == Constant.ServiceResultStatus.Success))
-				{
-					//StateMessageClass.GetErrorMessageByStatus(this, sre.Status);
-
-					// 提示未查找到数据
-					MessageBox.Show(Messages.MSG_CMN_I002, this.Text,
-						 MessageBoxButtons.OK, MessageBoxIcon.Information);
-				}
-				return sre;
-			}
-			catch (Exception ex)
-			{
-				// 对异常进行共通处理
-				ExceptionManager.HandleEventException(this.ToString(),
-					System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
-				return null;
-			}
-		}
-		#endregion
-	}
+    /// <summary>
+    /// 成型线
+    /// </summary>
+    public partial class F_GroutingLine : SearchBoxForm
+    {
+        #region 构造函数
+        /// <summary>
+        /// 查询窗体
+        /// </summary>
+        public F_GroutingLine()
+        {
+            InitializeComponent();
+        }
+        #endregion
+
+        #region 属性
+        /// <summary>
+        /// 成型线状态
+        /// </summary>
+        public string GmouldStatus
+        {
+            set;
+            get;
+        }
+        #endregion
+
+        #region 公有方法
+        ///// <summary>
+        ///// 设置查询条件
+        ///// </summary>
+        //public override void SetConditions(params object[] values)
+        //{
+        //	if (values.Length > 1)
+        //	{
+        //		this.txtGroutingLineName.Text = values[0].ToString();
+        //	}
+        //}
+
+        /// <summary>
+        /// 清除查询条件
+        /// </summary>
+        public override void ClearConditions()
+        {
+            this.txtGroutingLineCode.Clear();
+            this.txtGroutingLineName.Clear();
+            this.txtUserCode.Clear();
+        }
+        #endregion
+
+        #region 保护方法
+        /// <summary>
+        /// 初始化Form
+        /// </summary>
+        protected override void InitForm()
+        {
+            DataGridViewTextBoxColumn GroutingLineID = new DataGridViewTextBoxColumn();
+            GroutingLineID.Name = "GroutingLineID";
+            GroutingLineID.HeaderText = "成型线ID";
+            GroutingLineID.ReadOnly = true;
+            GroutingLineID.Visible = false;
+            GroutingLineID.SortMode = DataGridViewColumnSortMode.Automatic;
+            GroutingLineID.DataPropertyName = "GroutingLineID";
+            GroutingLineID.DefaultCellStyle = new DataGridViewCellStyle();
+
+            DataGridViewTextBoxColumn GroutingLineCode = new DataGridViewTextBoxColumn();
+            GroutingLineCode.Name = "GroutingLineCode";
+            GroutingLineCode.HeaderText = "成型线编码";
+            GroutingLineCode.ReadOnly = true;
+            GroutingLineCode.SortMode = DataGridViewColumnSortMode.Automatic;
+            GroutingLineCode.DataPropertyName = "GroutingLineCode";
+
+            DataGridViewTextBoxColumn GroutingLineName = new DataGridViewTextBoxColumn();
+            GroutingLineName.Name = "GroutingLineName";
+            GroutingLineName.HeaderText = "成型线名称";
+            GroutingLineName.ReadOnly = true;
+            GroutingLineName.SortMode = DataGridViewColumnSortMode.Automatic;
+            GroutingLineName.DataPropertyName = "GroutingLineName";
+
+            DataGridViewTextBoxColumn UserCode = new DataGridViewTextBoxColumn();
+            UserCode.Name = "UserCode";
+            UserCode.HeaderText = "成型工号";
+            UserCode.ReadOnly = true;
+            UserCode.SortMode = DataGridViewColumnSortMode.Automatic;
+            UserCode.DataPropertyName = "UserCode";
+
+            DataGridViewTextBoxColumn GMouldStatusName = new DataGridViewTextBoxColumn();
+            GMouldStatusName.Name = "GMouldStatusName";
+            GMouldStatusName.HeaderText = "成型线名称";
+            GMouldStatusName.ReadOnly = true;
+            GMouldStatusName.SortMode = DataGridViewColumnSortMode.Automatic;
+            GMouldStatusName.DataPropertyName = "GMouldStatusName";
+
+            DataGridViewTextBoxColumn CreateTime = new DataGridViewTextBoxColumn();
+            CreateTime.Name = "CreateTime";
+            CreateTime.HeaderText = "创建时间";
+            CreateTime.ReadOnly = true;
+            CreateTime.SortMode = DataGridViewColumnSortMode.Automatic;
+            CreateTime.DataPropertyName = "CreateTime";
+            this.dgvSelected.Columns.AddRange(GroutingLineID, GroutingLineCode, GroutingLineName, UserCode, GMouldStatusName, CreateTime);
+            base.InitForm();
+        }
+
+        /// <summary>
+        /// 查询数据。
+        /// </summary>
+        /// <returns>验证通过true,其他false</returns>
+        protected override bool QueryDataFromOther()
+        {
+            ServiceResultEntity sre = this.GetDataTable();
+
+            if (sre.Data != null && sre.Data.Tables.Count > 0 && sre.Data.Tables[0].Rows.Count > 0)
+            {
+                this.dgvSelected.DataSource = sre.Data.Tables[0];
+                this.dgvSelected.Rows[0].Selected = true;
+                return true;
+            }
+            else
+            {
+                return false;
+            }
+        }
+        #endregion
+
+        #region 私有方法
+        private ServiceResultEntity GetDataTable()
+        {
+            try
+            {
+                // 异步处理,获取系统参数信息
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_GroutingLine";
+                cre.Name = "GetGroutingLine";
+                cre.Properties["GroutingLineCode"] = this.txtGroutingLineCode.Text.Trim();
+                cre.Properties["GroutingLineName"] = this.txtGroutingLineName.Text.Trim();
+                cre.Properties["UserCode"] = this.txtUserCode.Text.Trim();
+                cre.Properties["GmouldStatus"] = GmouldStatus;
+
+                // 调用服务器端获取数据集(DataSet)DoAsync(new BaseAsyncMethod(GetSystemData));
+                ServiceResultEntity sre = null;
+                DoAsync(() => { return CommonModuleProxy.Service.DoRequest(cre); }, out sre);
+
+                if (!(sre.Status == Constant.ServiceResultStatus.Success))
+                {
+                    //StateMessageClass.GetErrorMessageByStatus(this, sre.Status);
+
+                    // 提示未查找到数据
+                    MessageBox.Show(Messages.MSG_CMN_I002, this.Text,
+                         MessageBoxButtons.OK, MessageBoxIcon.Information);
+                }
+                
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+                return null;
+            }
+        }
+        #endregion
+    }
 }

+ 28 - 11
DK.Client/PMModule/F_PM_0103.Designer.cs

@@ -66,6 +66,7 @@
             this.tsbtnAdaptive = new System.Windows.Forms.ToolStripButton();
             this.tsbtnClose = new System.Windows.Forms.ToolStripButton();
             this.gbxInfo = new System.Windows.Forms.GroupBox();
+            this.txtGrouting = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
             this.btnNGRSetting = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
             this.cmbLogo = new Dongke.IBOSS.PRD.Basics.BaseControls.C_ComboBox();
             this.btnClearBarCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
@@ -75,7 +76,7 @@
             this.lblGroutingDateValue = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
             this.lblGrouting = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
             this.c_Label1 = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
-            this.txtGrouting = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.btnQuickBindBarCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
             ((System.ComponentModel.ISupportInitialize)(this.dgvDetail)).BeginInit();
             this.tsrOperate.SuspendLayout();
             this.gbxInfo.SuspendLayout();
@@ -450,6 +451,7 @@
             this.gbxInfo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
             this.gbxInfo.BackgroundImage = global::Dongke.IBOSS.PRD.Client.PMModule.Properties.Resources.bg;
+            this.gbxInfo.Controls.Add(this.btnQuickBindBarCode);
             this.gbxInfo.Controls.Add(this.txtGrouting);
             this.gbxInfo.Controls.Add(this.btnNGRSetting);
             this.gbxInfo.Controls.Add(this.cmbLogo);
@@ -468,6 +470,17 @@
             this.gbxInfo.TabStop = false;
             this.gbxInfo.Text = "注浆信息";
             // 
+            // txtGrouting
+            // 
+            this.txtGrouting.AutoSize = true;
+            this.txtGrouting.BackColor = System.Drawing.Color.Transparent;
+            this.txtGrouting.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtGrouting.Location = new System.Drawing.Point(220, 23);
+            this.txtGrouting.Name = "txtGrouting";
+            this.txtGrouting.Size = new System.Drawing.Size(17, 12);
+            this.txtGrouting.TabIndex = 3;
+            this.txtGrouting.Text = "--";
+            // 
             // btnNGRSetting
             // 
             this.btnNGRSetting.BackColor = System.Drawing.Color.Transparent;
@@ -501,7 +514,7 @@
             this.btnClearBarCode.Enabled = false;
             this.btnClearBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
             this.btnClearBarCode.ForeColor = System.Drawing.Color.White;
-            this.btnClearBarCode.Location = new System.Drawing.Point(586, 42);
+            this.btnClearBarCode.Location = new System.Drawing.Point(590, 41);
             this.btnClearBarCode.Name = "btnClearBarCode";
             this.btnClearBarCode.Size = new System.Drawing.Size(85, 30);
             this.btnClearBarCode.TabIndex = 7;
@@ -591,16 +604,19 @@
             this.c_Label1.TabIndex = 0;
             this.c_Label1.Text = "产品商标";
             // 
-            // txtGrouting
+            // btnQuickBindBarCode
             // 
-            this.txtGrouting.AutoSize = true;
-            this.txtGrouting.BackColor = System.Drawing.Color.Transparent;
-            this.txtGrouting.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.txtGrouting.Location = new System.Drawing.Point(220, 23);
-            this.txtGrouting.Name = "txtGrouting";
-            this.txtGrouting.Size = new System.Drawing.Size(17, 12);
-            this.txtGrouting.TabIndex = 3;
-            this.txtGrouting.Text = "--";
+            this.btnQuickBindBarCode.BackColor = System.Drawing.Color.Transparent;
+            this.btnQuickBindBarCode.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnQuickBindBarCode.BackgroundImage")));
+            this.btnQuickBindBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnQuickBindBarCode.ForeColor = System.Drawing.Color.White;
+            this.btnQuickBindBarCode.Location = new System.Drawing.Point(681, 41);
+            this.btnQuickBindBarCode.Name = "btnQuickBindBarCode";
+            this.btnQuickBindBarCode.Size = new System.Drawing.Size(85, 30);
+            this.btnQuickBindBarCode.TabIndex = 10;
+            this.btnQuickBindBarCode.Text = "一键绑定(&D)";
+            this.btnQuickBindBarCode.UseVisualStyleBackColor = false;
+            this.btnQuickBindBarCode.Click += new System.EventHandler(this.btnQuickBindBarCode_Click);
             // 
             // F_PM_0103
             // 
@@ -678,5 +694,6 @@
         private System.Windows.Forms.DataGridViewCheckBoxColumn colOScrapFlag;
         private System.Windows.Forms.DataGridViewTextBoxColumn DeliverFlag;
         private Basics.BaseControls.C_Label txtGrouting;
+        private Basics.BaseControls.C_Button btnQuickBindBarCode;
     }
 }

+ 505 - 454
DK.Client/PMModule/F_PM_0103.cs

@@ -23,16 +23,16 @@ using Dongke.IBOSS.PRD.WCF.Proxys;
 
 namespace Dongke.IBOSS.PRD.Client.PMModule
 {
-	/// <summary>
-	/// 注浆明细条码绑定
-	/// </summary>
-	public partial class F_PM_0103 : DKFormBase
-	{
-		#region 成员变量
-		// 注浆日报ID
-		private int _dailyId;
-		// 注浆日期
-		private DateTime _groutingDate = DateTime.Now.Date;
+    /// <summary>
+    /// 注浆明细条码绑定
+    /// </summary>
+    public partial class F_PM_0103 : DKFormBase
+    {
+        #region 成员变量
+        // 注浆日报ID
+        private int _dailyId;
+        // 注浆日期
+        private DateTime _groutingDate = DateTime.Now.Date;
         private bool _canEdit = true;
         #endregion
 
@@ -41,42 +41,42 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
         /// 构造函数
         /// </summary>
         public F_PM_0103()
-			:this(0)
-		{
-		}
-
-		/// <summary>
-		/// 构造函数
-		/// </summary>
-		/// <param name="dailyID">注浆日报ID</param>
-		public F_PM_0103(int dailyID)
-		{
-			this.InitializeComponent();
-			this._dailyId = dailyID;
-			this.InitializeControls();
-		}
-		#endregion
-
-		#region 属性
-		/// <summary>
-		/// 注浆登记ID
-		/// </summary>
-		public List<int> GroutingDailyIDs
-		{
-			get;
-			private set;
-		}
-		#endregion
-
-		#region 事件
-		/// <summary>
-		/// 窗体加载
-		/// </summary>
-		private void F_PM_0103_Load(object sender, EventArgs e)
-		{
-			try
-			{
-				this.lblGroutingDateValue.Text = string.Empty;
+            : this(0)
+        {
+        }
+
+        /// <summary>
+        /// 构造函数
+        /// </summary>
+        /// <param name="dailyID">注浆日报ID</param>
+        public F_PM_0103(int dailyID)
+        {
+            this.InitializeComponent();
+            this._dailyId = dailyID;
+            this.InitializeControls();
+        }
+        #endregion
+
+        #region 属性
+        /// <summary>
+        /// 注浆登记ID
+        /// </summary>
+        public List<int> GroutingDailyIDs
+        {
+            get;
+            private set;
+        }
+        #endregion
+
+        #region 事件
+        /// <summary>
+        /// 窗体加载
+        /// </summary>
+        private void F_PM_0103_Load(object sender, EventArgs e)
+        {
+            try
+            {
+                this.lblGroutingDateValue.Text = string.Empty;
 
                 DataSet logoInfo = SystemModuleProxy.Service.GetLogoInfo();
                 if (logoInfo != null && logoInfo.Tables.Count > 0)
@@ -90,103 +90,103 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                     this.collogo.ValueMember = "LogoID";
                 }
 
-				// 设置列表未注浆原因选项数据源
-				this.InitializeData();
-			}
-			catch (Exception ex)
-			{
-				// 对异常进行共通处理
-				ExceptionManager.HandleEventException(this.ToString(),
-					MethodBase.GetCurrentMethod().Name, this.Text, ex);
-			}
-		}
-
-		/// <summary>
-		/// 选择注浆登记信息
-		/// </summary>
-		/// <param name="sender"></param>
-		/// <param name="e"></param>
-		private void tsbtnGrouting_Click(object sender, EventArgs e)
-		{
-			try
-			{
-				F_PM_0105 frmPM0105 = new F_PM_0105();
-				//frmPM0105.GroutingDate = this._groutingDate;
-				DialogResult dialogResult = frmPM0105.ShowDialog();
-				if (dialogResult != DialogResult.OK)
-				{
-					return;
-				}
-
-				this._dailyId = frmPM0105.GroutingDailyID;
-				this.InitializeData();
-			}
-			catch (Exception ex)
-			{
-				// 对异常进行共通处理
-				ExceptionManager.HandleEventException(this.ToString(),
-					MethodBase.GetCurrentMethod().Name, this.Text, ex);
-			}
-		}
-
-		/// <summary>
-		/// 提交选择列内容的修改
-		/// </summary>
-		/// <param name="sender"></param>
-		/// <param name="e"></param>
-		private void dgvDetail_CurrentCellDirtyStateChanged(object sender, EventArgs e)
-		{
-			try
-			{
-				if (this.dgvDetail.CurrentRow != null && this.dgvDetail.IsCurrentCellDirty)
-				{
-					if ("ScrapFlag".Equals(this.dgvDetail.Columns
-							[this.dgvDetail.CurrentCell.ColumnIndex].Name))
-					{
-						this.dgvDetail.CommitEdit(DataGridViewDataErrorContexts.Commit);
-					}
-					//else if ("BarCode".Equals(this.dgvDetail.Columns
-					//		[this.dgvDetail.CurrentCell.ColumnIndex].Name))
-					//{
-					//	this.dgvDetail.CommitEdit(DataGridViewDataErrorContexts.Commit);
-					//}
-				}
-			}
-			catch (Exception ex)
-			{
-				// 对异常进行共通处理
-				ExceptionManager.HandleEventException(this.ToString(),
-					MethodBase.GetCurrentMethod().Name, this.Text, ex);
-			}
-		}
-
-		/// <summary>
-		/// 损坯时,不能绑定条码
-		/// </summary>
-		private void dgvDetail_CellValueChanged(object sender, DataGridViewCellEventArgs e)
-		{
-			if (e.RowIndex < 0)
-			{
-				return;
-			}
-			try
-			{
-				DataGridViewRow dataGridViewRow = this.dgvDetail.Rows[e.RowIndex];
-				if ("ScrapFlag".Equals(this.dgvDetail.Columns[e.ColumnIndex].Name))
-				{
-					// 未绑定时,如果是改变了损坯标识,则对绑定条码进行控制输入
-					object obarCode = dataGridViewRow.Cells["colOBarCode"].Value;
-					if (obarCode == null || obarCode == DBNull.Value || string.IsNullOrWhiteSpace(obarCode.ToString()))
-					{
-						// 选择了损坯
-						if (((int)Constant.GroutingScrapFlag.Yes).ToString() ==
-							dataGridViewRow.Cells["ScrapFlag"].Value.ToString())
-						{
-							dataGridViewRow.Cells["BarCode"].ReadOnly = true;
-							dataGridViewRow.Cells["BarCode"].Value = DBNull.Value;
-						}
-						else
-						{
+                // 设置列表未注浆原因选项数据源
+                this.InitializeData();
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 选择注浆登记信息
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnGrouting_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                F_PM_0105 frmPM0105 = new F_PM_0105();
+                //frmPM0105.GroutingDate = this._groutingDate;
+                DialogResult dialogResult = frmPM0105.ShowDialog();
+                if (dialogResult != DialogResult.OK)
+                {
+                    return;
+                }
+
+                this._dailyId = frmPM0105.GroutingDailyID;
+                this.InitializeData();
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 提交选择列内容的修改
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void dgvDetail_CurrentCellDirtyStateChanged(object sender, EventArgs e)
+        {
+            try
+            {
+                if (this.dgvDetail.CurrentRow != null && this.dgvDetail.IsCurrentCellDirty)
+                {
+                    if ("ScrapFlag".Equals(this.dgvDetail.Columns
+                            [this.dgvDetail.CurrentCell.ColumnIndex].Name))
+                    {
+                        this.dgvDetail.CommitEdit(DataGridViewDataErrorContexts.Commit);
+                    }
+                    //else if ("BarCode".Equals(this.dgvDetail.Columns
+                    //		[this.dgvDetail.CurrentCell.ColumnIndex].Name))
+                    //{
+                    //	this.dgvDetail.CommitEdit(DataGridViewDataErrorContexts.Commit);
+                    //}
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 损坯时,不能绑定条码
+        /// </summary>
+        private void dgvDetail_CellValueChanged(object sender, DataGridViewCellEventArgs e)
+        {
+            if (e.RowIndex < 0)
+            {
+                return;
+            }
+            try
+            {
+                DataGridViewRow dataGridViewRow = this.dgvDetail.Rows[e.RowIndex];
+                if ("ScrapFlag".Equals(this.dgvDetail.Columns[e.ColumnIndex].Name))
+                {
+                    // 未绑定时,如果是改变了损坯标识,则对绑定条码进行控制输入
+                    object obarCode = dataGridViewRow.Cells["colOBarCode"].Value;
+                    if (obarCode == null || obarCode == DBNull.Value || string.IsNullOrWhiteSpace(obarCode.ToString()))
+                    {
+                        // 选择了损坯
+                        if (((int)Constant.GroutingScrapFlag.Yes).ToString() ==
+                            dataGridViewRow.Cells["ScrapFlag"].Value.ToString())
+                        {
+                            dataGridViewRow.Cells["BarCode"].ReadOnly = true;
+                            dataGridViewRow.Cells["BarCode"].Value = DBNull.Value;
+                        }
+                        else
+                        {
                             if (_canEdit)
                             {
                                 dataGridViewRow.Cells["BarCode"].ReadOnly = false;
@@ -195,168 +195,168 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                             {
                                 dataGridViewRow.Cells["BarCode"].ReadOnly = true;
                             }
-						}
-						this.dgvDetail.IsSetInputColumnsColor = true;
-					}
-				}
-			}
-			catch (Exception ex)
-			{
-				// 对异常进行共通处理
-				ExceptionManager.HandleEventException(this.ToString(),
-					MethodBase.GetCurrentMethod().Name, this.Text, ex);
-			}
-		}
-
-		/// <summary>
-		/// 排序后设置Grid状态
-		/// </summary>
-		/// <param name="sender"></param>
-		/// <param name="e"></param>
-		private void dgvDetail_Sorted(object sender, EventArgs e)
-		{
-			this.SetEditGrid();
-		}
-
-		/// <summary>
-		/// 自动列宽
-		/// </summary>
-		/// <param name="sender"></param>
-		/// <param name="e"></param>
-		private void tsbtnAdaptive_Click(object sender, EventArgs e)
-		{
-			this.dgvDetail.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		}
-
-		/// <summary>
-		/// 页面关闭
-		/// </summary>
-		/// <param name="sender"></param>
-		/// <param name="e"></param>
-		private void tsbtnClose_Click(object sender, EventArgs e)
-		{
-			this.DialogResult = DialogResult.Cancel;
-			this.Close();
-		}
-
-		/// <summary>
-		/// 绑定条码
-		/// </summary>
-		/// <param name="sender"></param>
-		/// <param name="e"></param>
-		private void txtBarCodeStart_KeyPress(object sender, KeyPressEventArgs e)
-		{
+                        }
+                        this.dgvDetail.IsSetInputColumnsColor = true;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 排序后设置Grid状态
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void dgvDetail_Sorted(object sender, EventArgs e)
+        {
+            this.SetEditGrid();
+        }
+
+        /// <summary>
+        /// 自动列宽
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnAdaptive_Click(object sender, EventArgs e)
+        {
+            this.dgvDetail.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+        }
+
+        /// <summary>
+        /// 页面关闭
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnClose_Click(object sender, EventArgs e)
+        {
+            this.DialogResult = DialogResult.Cancel;
+            this.Close();
+        }
+
+        /// <summary>
+        /// 绑定条码
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void txtBarCodeStart_KeyPress(object sender, KeyPressEventArgs e)
+        {
             if (txtBarCodeStart.ReadOnly || !_canEdit)
             {
                 return;
             }
-			if (e.KeyChar == Constant.SYSTEM_KEYBOARD_ENTER_VALUE)
-			{
-				this.btnBindBarCode_Click(sender, e);
-			}
-		}
-
-		/// <summary>
-		/// 绑定条码
-		/// </summary>
-		/// <param name="sender"></param>
-		/// <param name="e"></param>
-		private void btnBindBarCode_Click(object sender, EventArgs e)
-		{
+            if (e.KeyChar == Constant.SYSTEM_KEYBOARD_ENTER_VALUE)
+            {
+                this.btnBindBarCode_Click(sender, e);
+            }
+        }
+
+        /// <summary>
+        /// 绑定条码
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnBindBarCode_Click(object sender, EventArgs e)
+        {
             if (!_canEdit)
             {
                 return;
             }
             try
-			{
-				string barcodeBegin = this.txtBarCodeStart.Text.Trim();
-				if (barcodeBegin.Length <= 0)
-				{
-					DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_C_003, this.lblBarCodeStart.Text);
-					this.txtBarCodeStart.Focus();
-					return;
-				}
-
-				System.Text.RegularExpressions.Match mc =
-					System.Text.RegularExpressions.Regex.Match(barcodeBegin, @"^([a-zA-Z]*|[a-zA-Z0-9]*[a-zA-Z]+)([0-9]{10,})$");
-				if (!mc.Success)
-				{
-					DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_C_005, barcodeBegin);
-					this.txtBarCodeStart.Focus();
-					return;
-				}
-
-				string strLetter = mc.Groups[1].Value;
-				string strDigit = mc.Groups[2].Value;
-
-				decimal digit = Convert.ToDecimal(strDigit);
-				int len = strDigit.Length;
-				foreach (DataGridViewRow row in this.dgvDetail.Rows)
-				{
-					object sf = row.Cells["ScrapFlag"].Value;
-					if (row.Cells["BarCode"].ReadOnly || sf == null || "1" == sf.ToString())
-					{
-						continue;
-					}
-
-					string barcode = strLetter + (digit++).ToString().PadLeft(len, '0');
-					row.Cells["BarCode"].Value = barcode;
-					DataRowView dataRow = row.DataBoundItem as DataRowView;
-					if (dataRow != null)
-					{
-						dataRow.EndEdit();
-					}
-				}
-			}
-			catch (Exception ex)
-			{
-				// 对异常进行共通处理
-				ExceptionManager.HandleEventException(this.ToString(),
-					MethodBase.GetCurrentMethod().Name, this.Text, ex);
-			}
-		}
-
-		/// <summary>
-		/// 清空条码
-		/// </summary>
-		/// <param name="sender"></param>
-		/// <param name="e"></param>
-		private void btnClearBarCode_Click(object sender, EventArgs e)
-		{
-			try
-			{
-				this.txtBarCodeStart.Clear();
-				foreach (DataGridViewRow row in this.dgvDetail.Rows)
-				{
-					if (!row.Cells["BarCode"].ReadOnly)
-					{
-						row.Cells["BarCode"].Value = DBNull.Value;
-					}
-				}
-			}
-			catch (Exception ex)
-			{
-				// 对异常进行共通处理
-				ExceptionManager.HandleEventException(this.ToString(),
-					MethodBase.GetCurrentMethod().Name, this.Text, ex);
-			}
-		}
-
-		/// <summary>
-		/// 保存数据
-		/// </summary>
-		private void btnSave_Click(object sender, EventArgs e)
-		{
-			// 没有注浆数据
-			if (this.DataSource == null || this._dailyId <= 0)
-			{
-				return;
-			}
-
-			try
-			{
+            {
+                string barcodeBegin = this.txtBarCodeStart.Text.Trim();
+                if (barcodeBegin.Length <= 0)
+                {
+                    DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_C_003, this.lblBarCodeStart.Text);
+                    this.txtBarCodeStart.Focus();
+                    return;
+                }
+
+                System.Text.RegularExpressions.Match mc =
+                    System.Text.RegularExpressions.Regex.Match(barcodeBegin, @"^([a-zA-Z]*|[a-zA-Z0-9]*[a-zA-Z]+)([0-9]{10,})$");
+                if (!mc.Success)
+                {
+                    DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_C_005, barcodeBegin);
+                    this.txtBarCodeStart.Focus();
+                    return;
+                }
+
+                string strLetter = mc.Groups[1].Value;
+                string strDigit = mc.Groups[2].Value;
+
+                decimal digit = Convert.ToDecimal(strDigit);
+                int len = strDigit.Length;
+                foreach (DataGridViewRow row in this.dgvDetail.Rows)
+                {
+                    object sf = row.Cells["ScrapFlag"].Value;
+                    if (row.Cells["BarCode"].ReadOnly || sf == null || "1" == sf.ToString())
+                    {
+                        continue;
+                    }
+
+                    string barcode = strLetter + (digit++).ToString().PadLeft(len, '0');
+                    row.Cells["BarCode"].Value = barcode;
+                    DataRowView dataRow = row.DataBoundItem as DataRowView;
+                    if (dataRow != null)
+                    {
+                        dataRow.EndEdit();
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 清空条码
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnClearBarCode_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                this.txtBarCodeStart.Clear();
+                foreach (DataGridViewRow row in this.dgvDetail.Rows)
+                {
+                    if (!row.Cells["BarCode"].ReadOnly)
+                    {
+                        row.Cells["BarCode"].Value = DBNull.Value;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 保存数据
+        /// </summary>
+        private void btnSave_Click(object sender, EventArgs e)
+        {
+            // 没有注浆数据
+            if (this.DataSource == null || this._dailyId <= 0)
+            {
+                return;
+            }
+
+            try
+            {
                 // 验证条码重复
-                DataTable dtGROUTINGDAILYDETAIL =this.DataSource.Tables[1];
+                DataTable dtGROUTINGDAILYDETAIL = this.DataSource.Tables[1];
                 foreach (DataRow row in dtGROUTINGDAILYDETAIL.Rows)
                 {
                     string barcode = row["Barcode"].ToString().Trim();
@@ -370,7 +370,7 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                         row["Barcode"] = barcode;
                     }
                     DataRow[] drs = dtGROUTINGDAILYDETAIL.Select("Barcode = '" + barcode
-                        + "' AND GROUTINGDAILYDETAILID <> "+row["GROUTINGDAILYDETAILID"]);
+                        + "' AND GROUTINGDAILYDETAILID <> " + row["GROUTINGDAILYDETAILID"]);
                     if (drs != null && drs.Length > 0)
                     {
                         MessageBox.Show("注浆信息中有重复条码【" + barcode + "】",
@@ -381,118 +381,118 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                     }
                 }
 
-				ServiceResultEntity sre = this.DoAsync<ServiceResultEntity>(() =>
-					{
-						return PMModuleProxyNew.Service.SetFPM0103Data(this.DataSource);
-					}
-				);
-
-				if (sre.Status == Constant.ServiceResultStatus.Success)
-				{
-					DKMessageBox.ShowDialog(this, DKMessageCode.I_CMN_S_002);
-					if (this.GroutingDailyIDs == null)
-					{
-						this.GroutingDailyIDs = new List<int>();
-					}
-					this.GroutingDailyIDs.Add(this._dailyId);
-					//this.DialogResult = DialogResult.OK;
-					//this.Close();
-					this._dailyId = 0;
-					this.lblGroutingDateValue.Text = string.Empty;
+                ServiceResultEntity sre = this.DoAsync<ServiceResultEntity>(() =>
+                    {
+                        return PMModuleProxyNew.Service.SetFPM0103Data(this.DataSource);
+                    }
+                );
+
+                if (sre.Status == Constant.ServiceResultStatus.Success)
+                {
+                    DKMessageBox.ShowDialog(this, DKMessageCode.I_CMN_S_002);
+                    if (this.GroutingDailyIDs == null)
+                    {
+                        this.GroutingDailyIDs = new List<int>();
+                    }
+                    this.GroutingDailyIDs.Add(this._dailyId);
+                    //this.DialogResult = DialogResult.OK;
+                    //this.Close();
+                    this._dailyId = 0;
+                    this.lblGroutingDateValue.Text = string.Empty;
                     //this.txtGrouting.Clear();
                     this.txtGrouting.Text = null;
                     this.txtBarCodeStart.Clear();
-					this.dgvDetail.DataSource = null;
-					this.btnSave.Enabled = false;
-					return;
-				}
-
-				if (sre.Status == Constant.ServiceResultStatus.Other)
-				{
-					DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_S_004, sre.Message);
-				}
-				this.SetEditGrid();
-			}
-			catch (Exception ex)
-			{
-				this.SetEditGrid();
-				// 对异常进行共通处理
-				ExceptionManager.HandleEventException(this.ToString(),
-					MethodBase.GetCurrentMethod().Name, this.Text, ex);
-			}
-		}
-
-		/// <summary>
-		/// 关闭窗体
-		/// </summary>
-		private void btnCancel_Click(object sender, EventArgs e)
-		{
-			this.DialogResult = DialogResult.Cancel;
-			this.Close();
-		}
-		#endregion
-
-		#region 私有方法
-		/// <summary>
-		/// 初始化控件
-		/// </summary>
-		private void InitializeControls()
-		{
-			this.Text = FormTitles.F_PM_0103;
-			// 功能按钮文本赋值
-			//this.tsbtnGrouting.Text = ButtonText.TSBTN_;
-			this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
-			this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
-			this.btnSave.Text = ButtonText.BTN_SAVE;
-			this.btnClose.Text = ButtonText.BTN_CLOSE;
-			this.dgvDetail.AutoGenerateColumns = false;
-			this.lblGroutingDateValue.Text = string.Empty;
-			this.btnBindBarCode.Text = ButtonText.BTN_BINDBARCODE;
-			this.btnClearBarCode.Text = ButtonText.BTN_CLEARBARCODE;
-			this.txtBarCodeStart.ReadOnly = true;
-			this.btnBindBarCode.Enabled = false;
-			this.btnClearBarCode.Enabled = false;
-		}
-
-		/// <summary>
-		/// 取得注浆日报信息
-		/// </summary>
-		private void InitializeData()
-		{
-			try
-			{
-				if (this._dailyId > 0)
-				{
-					this.DataSource = null;
-					this.dgvDetail.DataSource = null;
-					this.txtBarCodeStart.Clear();
+                    this.dgvDetail.DataSource = null;
+                    this.btnSave.Enabled = false;
+                    return;
+                }
+
+                if (sre.Status == Constant.ServiceResultStatus.Other)
+                {
+                    DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_S_004, sre.Message);
+                }
+                this.SetEditGrid();
+            }
+            catch (Exception ex)
+            {
+                this.SetEditGrid();
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 关闭窗体
+        /// </summary>
+        private void btnCancel_Click(object sender, EventArgs e)
+        {
+            this.DialogResult = DialogResult.Cancel;
+            this.Close();
+        }
+        #endregion
+
+        #region 私有方法
+        /// <summary>
+        /// 初始化控件
+        /// </summary>
+        private void InitializeControls()
+        {
+            this.Text = FormTitles.F_PM_0103;
+            // 功能按钮文本赋值
+            //this.tsbtnGrouting.Text = ButtonText.TSBTN_;
+            this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
+            this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
+            this.btnSave.Text = ButtonText.BTN_SAVE;
+            this.btnClose.Text = ButtonText.BTN_CLOSE;
+            this.dgvDetail.AutoGenerateColumns = false;
+            this.lblGroutingDateValue.Text = string.Empty;
+            this.btnBindBarCode.Text = ButtonText.BTN_BINDBARCODE;
+            this.btnClearBarCode.Text = ButtonText.BTN_CLEARBARCODE;
+            this.txtBarCodeStart.ReadOnly = true;
+            this.btnBindBarCode.Enabled = false;
+            this.btnClearBarCode.Enabled = false;
+        }
+
+        /// <summary>
+        /// 取得注浆日报信息
+        /// </summary>
+        private void InitializeData()
+        {
+            try
+            {
+                if (this._dailyId > 0)
+                {
+                    this.DataSource = null;
+                    this.dgvDetail.DataSource = null;
+                    this.txtBarCodeStart.Clear();
                     //this.txtGrouting.Clear();
                     this.txtGrouting.Text = null;
 
                     // 获取成型线类型数据并绑定到控件上
                     ServiceResultEntity sre = this.DoAsync<ServiceResultEntity>(() =>
-						{
-							return PMModuleProxyNew.Service.GetFPM0103Data(this._dailyId);
-						}
-					);
-
-					if (sre.Status == Constant.ServiceResultStatus.Other)
-					{
-						DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_S_004, sre.Message);
-						return;
-					}
-
-					if (sre.Status != Constant.ServiceResultStatus.Success)
-					{
-						return;
-					}
+                        {
+                            return PMModuleProxyNew.Service.GetFPM0103Data(this._dailyId);
+                        }
+                    );
+
+                    if (sre.Status == Constant.ServiceResultStatus.Other)
+                    {
+                        DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_S_004, sre.Message);
+                        return;
+                    }
+
+                    if (sre.Status != Constant.ServiceResultStatus.Success)
+                    {
+                        return;
+                    }
 
                     _canEdit = ((int)sre.Result == 1);
                     this.DataSource = sre.Data;
-					DataRow lineDataRow = sre.Data.Tables[0].Rows[0];
-					this._groutingDate = Convert.ToDateTime(lineDataRow["GroutingDate"]);
+                    DataRow lineDataRow = sre.Data.Tables[0].Rows[0];
+                    this._groutingDate = Convert.ToDateTime(lineDataRow["GroutingDate"]);
 
-					this.lblGroutingDateValue.Text = this._groutingDate.ToString(Constant.S_DATE_YYYY_MM_DD);
+                    this.lblGroutingDateValue.Text = this._groutingDate.ToString(Constant.S_DATE_YYYY_MM_DD);
                     if (_canEdit)
                     {
                         this.txtGrouting.Text = string.Format("{0}({1})", lineDataRow["GroutingLineCode"], lineDataRow["MouldQuantity"]);
@@ -503,8 +503,8 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                         this.txtGrouting.Text = string.Format("{0}({1}) {2}", lineDataRow["GroutingLineCode"], lineDataRow["MouldQuantity"], sre.Message);
                         this.txtGrouting.ForeColor = System.Drawing.Color.Red;
                     }
-					this.dgvDetail.DataSource = sre.Data.Tables[1];
-					this.SetEditGrid();
+                    this.dgvDetail.DataSource = sre.Data.Tables[1];
+                    this.SetEditGrid();
                     if (_canEdit)
                     {
                         this.btnBindBarCode.Enabled = true;
@@ -515,66 +515,66 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                         this.btnBindBarCode.Enabled = false;
                         this.txtBarCodeStart.ReadOnly = true;
                     }
-					this.btnClearBarCode.Enabled = true;
-					this.btnSave.Enabled = true;
-					this.txtBarCodeStart.Focus();
-				}
-			}
-			catch (Exception ex)
-			{
-				throw ex;
-			}
-		}
-
-		/// <summary>
-		/// 编辑模式下设置Grid编辑状态
-		/// </summary>
-		private void SetEditGrid()
-		{
-			foreach (DataGridViewRow row in this.dgvDetail.Rows)
-			{
-				// 未注浆的,不能编辑
-				object groutingFlag = row.Cells["GroutingFlag"].Value;
-				if (groutingFlag == null || ((int)Constant.GroutingFlag.Yes).ToString() != groutingFlag.ToString())
-				{
-					row.Cells["BarCode"].ReadOnly = true;
+                    this.btnClearBarCode.Enabled = true;
+                    this.btnSave.Enabled = true;
+                    this.txtBarCodeStart.Focus();
+                }
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
+        /// <summary>
+        /// 编辑模式下设置Grid编辑状态
+        /// </summary>
+        private void SetEditGrid()
+        {
+            foreach (DataGridViewRow row in this.dgvDetail.Rows)
+            {
+                // 未注浆的,不能编辑
+                object groutingFlag = row.Cells["GroutingFlag"].Value;
+                if (groutingFlag == null || ((int)Constant.GroutingFlag.Yes).ToString() != groutingFlag.ToString())
+                {
+                    row.Cells["BarCode"].ReadOnly = true;
                     row.Cells["ScrapFlag"].ReadOnly = true;
                     //row.Cells["Remarks"].ReadOnly = true;
                     //row.Cells["colLogo"].ReadOnly = true;
 
-					continue;
-				}
-				// 交坯后,不能编辑
-				object deliverFlag = row.Cells["DeliverFlag"].Value;
-				if (deliverFlag != null && "1" == deliverFlag.ToString())
-				{
-					row.Cells["BarCode"].ReadOnly = true;
+                    continue;
+                }
+                // 交坯后,不能编辑
+                object deliverFlag = row.Cells["DeliverFlag"].Value;
+                if (deliverFlag != null && "1" == deliverFlag.ToString())
+                {
+                    row.Cells["BarCode"].ReadOnly = true;
                     row.Cells["ScrapFlag"].ReadOnly = true;
                     //row.Cells["Remarks"].ReadOnly = true;
                     row.Cells["colLogo"].ReadOnly = true;
 
-					continue;
-				}
-
-				// 绑定条码后,不能编辑条码
-				object obarCode = row.Cells["colOBarCode"].Value;
-				if (obarCode != null && !string.IsNullOrWhiteSpace(obarCode.ToString()))
-				{
-					row.Cells["BarCode"].ReadOnly = true;
-					continue;
-				}
-				//object oscrapFlag = row.Cells["colOScrapFlag"].Value;
-				//if (oscrapFlag != null && ((int)Constant.GroutingScrapFlag.Yes).ToString() == oscrapFlag.ToString())
-				//{
-				//	row.ReadOnly = true;
-				//	row.Cells["Remarks"].ReadOnly = false;
-				//}
-
-				// 损坯后,不能编辑
-				if (((int)Constant.GroutingScrapFlag.Yes).ToString() == row.Cells["ScrapFlag"].Value.ToString())
-				{
-					row.Cells["BarCode"].Value = DBNull.Value;
-					row.Cells["BarCode"].ReadOnly = true;
+                    continue;
+                }
+
+                // 绑定条码后,不能编辑条码
+                object obarCode = row.Cells["colOBarCode"].Value;
+                if (obarCode != null && !string.IsNullOrWhiteSpace(obarCode.ToString()))
+                {
+                    row.Cells["BarCode"].ReadOnly = true;
+                    continue;
+                }
+                //object oscrapFlag = row.Cells["colOScrapFlag"].Value;
+                //if (oscrapFlag != null && ((int)Constant.GroutingScrapFlag.Yes).ToString() == oscrapFlag.ToString())
+                //{
+                //	row.ReadOnly = true;
+                //	row.Cells["Remarks"].ReadOnly = false;
+                //}
+
+                // 损坯后,不能编辑
+                if (((int)Constant.GroutingScrapFlag.Yes).ToString() == row.Cells["ScrapFlag"].Value.ToString())
+                {
+                    row.Cells["BarCode"].Value = DBNull.Value;
+                    row.Cells["BarCode"].ReadOnly = true;
                     continue;
                 }
 
@@ -586,9 +586,9 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
 
                 row.Cells["BarCode"].ReadOnly = false;
             }
-			this.dgvDetail.IsSetInputColumnsColor = true;
-		}
-		#endregion
+            this.dgvDetail.IsSetInputColumnsColor = true;
+        }
+        #endregion
 
         private void btnNGRSetting_Click(object sender, EventArgs e)
         {
@@ -618,5 +618,56 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                     MethodBase.GetCurrentMethod().Name, this.Text, ex);
             }
         }
-	}
+
+        /// <summary>
+        /// 一键绑定条码功能
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnQuickBindBarCode_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                DataTable dtDetail = dgvDetail.DataSource as DataTable;
+                if (dtDetail == null || dtDetail.Rows.Count == 0)
+                {
+                    return;
+                }
+
+                // 异步处理,获取信息
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_PM_0108";
+                cre.Name = "GetBarcodeDraft";
+                cre.Properties["groutingdate"] = _groutingDate;
+
+                // 调用服务器端获取数据集
+                ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() =>
+                {
+                    return PMModuleProxyNew.Service.HandleRequest(cre);
+                }));
+
+                if (sre.Data != null && sre.Data.Tables.Count > 0)
+                {
+                    DataRow[] drBarcodeDraft = null;
+                    foreach (DataRow row in dtDetail.Rows)
+                    {
+                        drBarcodeDraft = sre.Data.Tables[0].Select("groutinglinecode = '" + row["groutinglinecode"]
+                            + "' AND groutingbatchno = " + row["groutingbatchno"]
+                            + " AND groutingmouldcode = '" + row["groutingmouldcode"] + "'");
+
+                        if (drBarcodeDraft.Length > 0 && (row["GroutingFlag"]+"") == "1" && (row["ScrapFlag"]+"") == "0")
+                        {
+                            row["Barcode"] = drBarcodeDraft[0]["Barcode"];
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+    }
 }

+ 8 - 0
DK.Client/PMModule/F_PM_0103.resx

@@ -203,6 +203,14 @@
   <metadata name="tsrOperate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>147, 17</value>
   </metadata>
+  <data name="btnQuickBindBarCode.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAFUAAAAeCAYAAABdalL1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAI5JREFUaEPt0KERxCAUQMFrEImOowUsioJSAb3gaOLfnLjJRMNzT2wD+ymlhPb1
+        3mOMEWutMPUQUwGmAkwFmAowFWAqwFSAqQBTAaYCTAWYCnilXtcV2tdaM/U0UwGmAmqtT2rOObTvnzrn
+        NPUUUwGmAkwFmAowFWAqwFSAqYBf6n3fpp70Sk0phfY9qTO+PIZEBQZ3CrAAAAAASUVORK5CYII=
+</value>
+  </data>
   <data name="btnNGRSetting.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAAFUAAAAeCAYAAABdalL1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO

+ 721 - 0
DK.Client/PMModule/F_PM_0107.Designer.cs

@@ -0,0 +1,721 @@
+namespace Dongke.IBOSS.PRD.Client.PMModule
+{
+    partial class F_PM_0107
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(F_PM_0107));
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+            this.tsrOperate = new Dongke.IBOSS.PRD.Basics.BaseControls.C_ToolStrip();
+            this.tsbtnAdd = new System.Windows.Forms.ToolStripButton();
+            this.tsbtnEdit = new System.Windows.Forms.ToolStripButton();
+            this.tsbtnDelete = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
+            this.tsbtnAdaptive = new System.Windows.Forms.ToolStripButton();
+            this.tsbtnClose = new System.Windows.Forms.ToolStripButton();
+            this.gbxCondition = new Dongke.IBOSS.PRD.Basics.BaseControls.C_GroupBox();
+            this.txtRemarks = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TXT_Digital();
+            this.btnSearch = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.btnClearCondition = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.lblRemarks = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.txtGoodsCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
+            this.c_Label1 = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.lblGoodsCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.txtGroutingMouldCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
+            this.lblGroutingMouldCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.dtpGroutingDateTo = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DateTimePicker();
+            this.dtpGroutingDateFrom = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DateTimePicker();
+            this.c_Label2 = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.lblGroutingDate = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.txtGroutingLineCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
+            this.lblGroutingLineCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.txtGroutingBatchNo = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TXT_Digital();
+            this.dgvDetail = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView();
+            this.lblUser = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.scbUser = new Dongke.IBOSS.PRD.Client.Controls.SearchBox.ScbUser();
+            this.GroutingLineCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingUserCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingMouldCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GMouldStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.groutingdate = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.groutingbatchno = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.CreateUserCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.CreateUserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Remarks = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineId = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineDetailID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.UserID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.tsrOperate.SuspendLayout();
+            this.gbxCondition.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvDetail)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // tsrOperate
+            // 
+            this.tsrOperate.AutoSize = false;
+            this.tsrOperate.BackColor = System.Drawing.SystemColors.Control;
+            this.tsrOperate.BackgroundImage = global::Dongke.IBOSS.PRD.Client.PMModule.Properties.Resources.functionbackground;
+            this.tsrOperate.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tsrOperate.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.tsbtnAdd,
+            this.tsbtnEdit,
+            this.tsbtnDelete,
+            this.toolStripSeparator3,
+            this.tsbtnAdaptive,
+            this.tsbtnClose});
+            this.tsrOperate.Location = new System.Drawing.Point(0, 0);
+            this.tsrOperate.Name = "tsrOperate";
+            this.tsrOperate.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
+            this.tsrOperate.ShowItemToolTips = false;
+            this.tsrOperate.Size = new System.Drawing.Size(1151, 35);
+            this.tsrOperate.TabIndex = 0;
+            // 
+            // tsbtnAdd
+            // 
+            this.tsbtnAdd.AutoSize = false;
+            this.tsbtnAdd.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tsbtnAdd.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.tsbtnAdd.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.tsbtnAdd.Name = "tsbtnAdd";
+            this.tsbtnAdd.Size = new System.Drawing.Size(60, 25);
+            this.tsbtnAdd.Text = "新建(&N)";
+            this.tsbtnAdd.Click += new System.EventHandler(this.tsbtnAdd_Click);
+            // 
+            // tsbtnEdit
+            // 
+            this.tsbtnEdit.AutoSize = false;
+            this.tsbtnEdit.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tsbtnEdit.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.tsbtnEdit.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.tsbtnEdit.Name = "tsbtnEdit";
+            this.tsbtnEdit.Size = new System.Drawing.Size(60, 25);
+            this.tsbtnEdit.Text = "编辑(&E)";
+            this.tsbtnEdit.Click += new System.EventHandler(this.tsbtnEdit_Click);
+            // 
+            // tsbtnDelete
+            // 
+            this.tsbtnDelete.AutoSize = false;
+            this.tsbtnDelete.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tsbtnDelete.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.tsbtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.tsbtnDelete.Name = "tsbtnDelete";
+            this.tsbtnDelete.Size = new System.Drawing.Size(60, 25);
+            this.tsbtnDelete.Text = "删除(&D)";
+            this.tsbtnDelete.Click += new System.EventHandler(this.tsbtnDelete_Click);
+            // 
+            // toolStripSeparator3
+            // 
+            this.toolStripSeparator3.AutoSize = false;
+            this.toolStripSeparator3.Name = "toolStripSeparator3";
+            this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
+            // 
+            // tsbtnAdaptive
+            // 
+            this.tsbtnAdaptive.AutoSize = false;
+            this.tsbtnAdaptive.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tsbtnAdaptive.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.tsbtnAdaptive.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.tsbtnAdaptive.Name = "tsbtnAdaptive";
+            this.tsbtnAdaptive.Size = new System.Drawing.Size(90, 25);
+            this.tsbtnAdaptive.Text = "自适应列宽(&A)";
+            this.tsbtnAdaptive.Click += new System.EventHandler(this.tsbtnAdaptive_Click);
+            // 
+            // tsbtnClose
+            // 
+            this.tsbtnClose.AutoSize = false;
+            this.tsbtnClose.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tsbtnClose.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.tsbtnClose.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.tsbtnClose.Name = "tsbtnClose";
+            this.tsbtnClose.Size = new System.Drawing.Size(60, 25);
+            this.tsbtnClose.Text = "关闭(&X)";
+            this.tsbtnClose.Click += new System.EventHandler(this.tsbtnClose_Click);
+            // 
+            // gbxCondition
+            // 
+            this.gbxCondition.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | 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.lblUser);
+            this.gbxCondition.Controls.Add(this.scbUser);
+            this.gbxCondition.Controls.Add(this.txtRemarks);
+            this.gbxCondition.Controls.Add(this.btnSearch);
+            this.gbxCondition.Controls.Add(this.btnClearCondition);
+            this.gbxCondition.Controls.Add(this.lblRemarks);
+            this.gbxCondition.Controls.Add(this.txtGoodsCode);
+            this.gbxCondition.Controls.Add(this.c_Label1);
+            this.gbxCondition.Controls.Add(this.lblGoodsCode);
+            this.gbxCondition.Controls.Add(this.txtGroutingMouldCode);
+            this.gbxCondition.Controls.Add(this.lblGroutingMouldCode);
+            this.gbxCondition.Controls.Add(this.dtpGroutingDateTo);
+            this.gbxCondition.Controls.Add(this.dtpGroutingDateFrom);
+            this.gbxCondition.Controls.Add(this.c_Label2);
+            this.gbxCondition.Controls.Add(this.lblGroutingDate);
+            this.gbxCondition.Controls.Add(this.txtGroutingLineCode);
+            this.gbxCondition.Controls.Add(this.lblGroutingLineCode);
+            this.gbxCondition.Controls.Add(this.txtGroutingBatchNo);
+            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, 38);
+            this.gbxCondition.Name = "gbxCondition";
+            this.gbxCondition.OriginalHeight = -1;
+            this.gbxCondition.Size = new System.Drawing.Size(1139, 79);
+            this.gbxCondition.TabIndex = 0;
+            this.gbxCondition.TabStop = false;
+            this.gbxCondition.Text = "查询条件 ▼";
+            // 
+            // txtRemarks
+            // 
+            this.txtRemarks.BackColor = System.Drawing.SystemColors.Window;
+            this.txtRemarks.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtRemarks.ErrorMessage = "";
+            this.txtRemarks.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtRemarks.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtRemarks.Location = new System.Drawing.Point(726, 15);
+            this.txtRemarks.MaxValue = new decimal(new int[] {
+            1000,
+            0,
+            0,
+            0});
+            this.txtRemarks.MinValue = new decimal(new int[] {
+            1,
+            0,
+            0,
+            0});
+            this.txtRemarks.Name = "txtRemarks";
+            this.txtRemarks.Number = new System.Drawing.Point(3, 0);
+            this.txtRemarks.Size = new System.Drawing.Size(121, 21);
+            this.txtRemarks.TabIndex = 32;
+            this.txtRemarks.TextValue = "";
+            // 
+            // btnSearch
+            // 
+            this.btnSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnSearch.BackColor = System.Drawing.Color.Gray;
+            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(957, 38);
+            this.btnSearch.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.btnSearch.Name = "btnSearch";
+            this.btnSearch.Size = new System.Drawing.Size(85, 30);
+            this.btnSearch.TabIndex = 30;
+            this.btnSearch.Text = "查询(&Q)";
+            this.btnSearch.UseVisualStyleBackColor = false;
+            this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
+            // 
+            // btnClearCondition
+            // 
+            this.btnClearCondition.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnClearCondition.BackColor = System.Drawing.Color.Gray;
+            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(1048, 38);
+            this.btnClearCondition.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.btnClearCondition.Name = "btnClearCondition";
+            this.btnClearCondition.Size = new System.Drawing.Size(85, 30);
+            this.btnClearCondition.TabIndex = 31;
+            this.btnClearCondition.Text = "清空条件(&C)";
+            this.btnClearCondition.UseVisualStyleBackColor = false;
+            this.btnClearCondition.Click += new System.EventHandler(this.btnClearCondition_Click);
+            // 
+            // lblRemarks
+            // 
+            this.lblRemarks.AutoSize = true;
+            this.lblRemarks.BackColor = System.Drawing.Color.Transparent;
+            this.lblRemarks.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblRemarks.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblRemarks.Location = new System.Drawing.Point(691, 20);
+            this.lblRemarks.Name = "lblRemarks";
+            this.lblRemarks.Size = new System.Drawing.Size(29, 12);
+            this.lblRemarks.TabIndex = 8;
+            this.lblRemarks.Text = "备注";
+            // 
+            // txtGoodsCode
+            // 
+            this.txtGoodsCode.BackColor = System.Drawing.SystemColors.Window;
+            this.txtGoodsCode.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtGoodsCode.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtGoodsCode.ErrorMessage = "";
+            this.txtGoodsCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtGoodsCode.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtGoodsCode.Location = new System.Drawing.Point(77, 45);
+            this.txtGoodsCode.MaxLength = 10;
+            this.txtGoodsCode.Name = "txtGoodsCode";
+            this.txtGoodsCode.Size = new System.Drawing.Size(121, 21);
+            this.txtGoodsCode.TabIndex = 19;
+            // 
+            // c_Label1
+            // 
+            this.c_Label1.AutoSize = true;
+            this.c_Label1.BackColor = System.Drawing.Color.Transparent;
+            this.c_Label1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.c_Label1.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.c_Label1.Location = new System.Drawing.Point(564, 21);
+            this.c_Label1.Name = "c_Label1";
+            this.c_Label1.Size = new System.Drawing.Size(17, 12);
+            this.c_Label1.TabIndex = 6;
+            this.c_Label1.Text = "至";
+            // 
+            // lblGoodsCode
+            // 
+            this.lblGoodsCode.AutoSize = true;
+            this.lblGoodsCode.BackColor = System.Drawing.Color.Transparent;
+            this.lblGoodsCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblGoodsCode.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblGoodsCode.Location = new System.Drawing.Point(18, 49);
+            this.lblGoodsCode.Name = "lblGoodsCode";
+            this.lblGoodsCode.Size = new System.Drawing.Size(53, 12);
+            this.lblGoodsCode.TabIndex = 18;
+            this.lblGoodsCode.Text = "产品编码";
+            // 
+            // txtGroutingMouldCode
+            // 
+            this.txtGroutingMouldCode.BackColor = System.Drawing.SystemColors.Window;
+            this.txtGroutingMouldCode.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtGroutingMouldCode.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtGroutingMouldCode.ErrorMessage = "";
+            this.txtGroutingMouldCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtGroutingMouldCode.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtGroutingMouldCode.Location = new System.Drawing.Point(275, 17);
+            this.txtGroutingMouldCode.MaxLength = 40;
+            this.txtGroutingMouldCode.Name = "txtGroutingMouldCode";
+            this.txtGroutingMouldCode.Size = new System.Drawing.Size(121, 21);
+            this.txtGroutingMouldCode.TabIndex = 13;
+            // 
+            // lblGroutingMouldCode
+            // 
+            this.lblGroutingMouldCode.AutoSize = true;
+            this.lblGroutingMouldCode.BackColor = System.Drawing.Color.Transparent;
+            this.lblGroutingMouldCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblGroutingMouldCode.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblGroutingMouldCode.Location = new System.Drawing.Point(216, 21);
+            this.lblGroutingMouldCode.Name = "lblGroutingMouldCode";
+            this.lblGroutingMouldCode.Size = new System.Drawing.Size(53, 12);
+            this.lblGroutingMouldCode.TabIndex = 12;
+            this.lblGroutingMouldCode.Text = "模具编号";
+            // 
+            // dtpGroutingDateTo
+            // 
+            this.dtpGroutingDateTo.CustomFormat = "yyyy-MM-dd";
+            this.dtpGroutingDateTo.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dtpGroutingDateTo.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+            this.dtpGroutingDateTo.Location = new System.Drawing.Point(587, 17);
+            this.dtpGroutingDateTo.Name = "dtpGroutingDateTo";
+            this.dtpGroutingDateTo.Size = new System.Drawing.Size(98, 21);
+            this.dtpGroutingDateTo.TabIndex = 7;
+            // 
+            // dtpGroutingDateFrom
+            // 
+            this.dtpGroutingDateFrom.CustomFormat = "yyyy-MM-dd";
+            this.dtpGroutingDateFrom.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dtpGroutingDateFrom.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+            this.dtpGroutingDateFrom.Location = new System.Drawing.Point(460, 17);
+            this.dtpGroutingDateFrom.Name = "dtpGroutingDateFrom";
+            this.dtpGroutingDateFrom.Size = new System.Drawing.Size(98, 21);
+            this.dtpGroutingDateFrom.TabIndex = 5;
+            // 
+            // c_Label2
+            // 
+            this.c_Label2.AutoSize = true;
+            this.c_Label2.BackColor = System.Drawing.Color.Transparent;
+            this.c_Label2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.c_Label2.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.c_Label2.Location = new System.Drawing.Point(216, 48);
+            this.c_Label2.Name = "c_Label2";
+            this.c_Label2.Size = new System.Drawing.Size(53, 12);
+            this.c_Label2.TabIndex = 26;
+            this.c_Label2.Text = "注浆批次";
+            // 
+            // lblGroutingDate
+            // 
+            this.lblGroutingDate.AutoSize = true;
+            this.lblGroutingDate.BackColor = System.Drawing.Color.Transparent;
+            this.lblGroutingDate.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblGroutingDate.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblGroutingDate.Location = new System.Drawing.Point(402, 21);
+            this.lblGroutingDate.Name = "lblGroutingDate";
+            this.lblGroutingDate.Size = new System.Drawing.Size(53, 12);
+            this.lblGroutingDate.TabIndex = 4;
+            this.lblGroutingDate.Text = "注浆日期";
+            // 
+            // txtGroutingLineCode
+            // 
+            this.txtGroutingLineCode.BackColor = System.Drawing.SystemColors.Window;
+            this.txtGroutingLineCode.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtGroutingLineCode.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtGroutingLineCode.ErrorMessage = "";
+            this.txtGroutingLineCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtGroutingLineCode.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtGroutingLineCode.Location = new System.Drawing.Point(77, 18);
+            this.txtGroutingLineCode.MaxLength = 30;
+            this.txtGroutingLineCode.Name = "txtGroutingLineCode";
+            this.txtGroutingLineCode.Size = new System.Drawing.Size(121, 21);
+            this.txtGroutingLineCode.TabIndex = 1;
+            // 
+            // lblGroutingLineCode
+            // 
+            this.lblGroutingLineCode.AutoSize = true;
+            this.lblGroutingLineCode.BackColor = System.Drawing.Color.Transparent;
+            this.lblGroutingLineCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblGroutingLineCode.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblGroutingLineCode.Location = new System.Drawing.Point(6, 22);
+            this.lblGroutingLineCode.Name = "lblGroutingLineCode";
+            this.lblGroutingLineCode.Size = new System.Drawing.Size(65, 12);
+            this.lblGroutingLineCode.TabIndex = 0;
+            this.lblGroutingLineCode.Text = "成型线编码";
+            // 
+            // txtGroutingBatchNo
+            // 
+            this.txtGroutingBatchNo.BackColor = System.Drawing.SystemColors.Window;
+            this.txtGroutingBatchNo.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtGroutingBatchNo.ErrorMessage = "";
+            this.txtGroutingBatchNo.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtGroutingBatchNo.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtGroutingBatchNo.Location = new System.Drawing.Point(275, 44);
+            this.txtGroutingBatchNo.MaxValue = new decimal(new int[] {
+            1000,
+            0,
+            0,
+            0});
+            this.txtGroutingBatchNo.MinValue = new decimal(new int[] {
+            1,
+            0,
+            0,
+            0});
+            this.txtGroutingBatchNo.Name = "txtGroutingBatchNo";
+            this.txtGroutingBatchNo.Number = new System.Drawing.Point(3, 0);
+            this.txtGroutingBatchNo.Size = new System.Drawing.Size(121, 21);
+            this.txtGroutingBatchNo.TabIndex = 27;
+            this.txtGroutingBatchNo.TextValue = "";
+            // 
+            // dgvDetail
+            // 
+            this.dgvDetail.AllowUserToAddRows = false;
+            this.dgvDetail.AllowUserToDeleteRows = false;
+            this.dgvDetail.AllowUserToModifyRows = true;
+            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
+            this.dgvDetail.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvDetail.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.dgvDetail.CellBackColorNochanged = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+            this.dgvDetail.CellBackColorReadOnly = System.Drawing.SystemColors.Control;
+            this.dgvDetail.CellHeight = 23;
+            this.dgvDetail.ChildNodeColumnName = null;
+            this.dgvDetail.ChildNodeColumnText = null;
+            this.dgvDetail.ColumnDeep = 1;
+            this.dgvDetail.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
+            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(58)))), ((int)(((byte)(70)))));
+            dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvDetail.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+            this.dgvDetail.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvDetail.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.GroutingLineCode,
+            this.GroutingLineName,
+            this.GroutingUserCode,
+            this.GoodsCode,
+            this.GoodsName,
+            this.GroutingMouldCode,
+            this.GMouldStatus,
+            this.groutingdate,
+            this.groutingbatchno,
+            this.BarCode,
+            this.CreateUserCode,
+            this.CreateUserName,
+            this.Remarks,
+            this.GroutingLineId,
+            this.GroutingLineDetailID,
+            this.UserID});
+            this.dgvDetail.ColumnTreeView = null;
+            this.dgvDetail.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)));
+            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvDetail.DefaultCellStyle = dataGridViewCellStyle3;
+            this.dgvDetail.DynamicColumnName = "";
+            this.dgvDetail.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter;
+            this.dgvDetail.EnableHeadersVisualStyles = false;
+            this.dgvDetail.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvDetail.FormatQuantityColumns = null;
+            this.dgvDetail.HorizontalMergeColumn = null;
+            this.dgvDetail.IsAutoCountSum = true;
+            this.dgvDetail.IsAutoResizeColumns = false;
+            this.dgvDetail.IsClickF12 = false;
+            this.dgvDetail.IsOpenMergeCellFlag = false;
+            this.dgvDetail.IsSubTotalFlag = false;
+            this.dgvDetail.IsTopDeep = false;
+            this.dgvDetail.Location = new System.Drawing.Point(0, 123);
+            this.dgvDetail.MergeColumnNames = null;
+            this.dgvDetail.MergeDetailColumnNames = null;
+            this.dgvDetail.MergeDetailOnlyColumn = null;
+            this.dgvDetail.MergeOnlyColumn = null;
+            this.dgvDetail.MultiSelect = false;
+            this.dgvDetail.Name = "dgvDetail";
+            this.dgvDetail.ReadOnly = true;
+            this.dgvDetail.RefreshAtHscroll = false;
+            this.dgvDetail.RowHeadersWidth = 50;
+            this.dgvDetail.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.dgvDetail.RowsDefaultCellStyle = dataGridViewCellStyle4;
+            this.dgvDetail.RowTemplate.Height = 21;
+            this.dgvDetail.Size = new System.Drawing.Size(1139, 427);
+            this.dgvDetail.SortOrderColumnName = null;
+            this.dgvDetail.TabIndex = 3;
+            this.dgvDetail.Tag = true;
+            this.dgvDetail.TotalSumColumns = null;
+            this.dgvDetail.ViewRowFilter = "";
+            this.dgvDetail.VirtualMode = true;
+            this.dgvDetail.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDetail_CellDoubleClick);
+            // 
+            // lblUser
+            // 
+            this.lblUser.AutoSize = true;
+            this.lblUser.BackColor = System.Drawing.Color.Transparent;
+            this.lblUser.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblUser.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblUser.Location = new System.Drawing.Point(413, 49);
+            this.lblUser.Name = "lblUser";
+            this.lblUser.Size = new System.Drawing.Size(41, 12);
+            this.lblUser.TabIndex = 35;
+            this.lblUser.Text = "操作者";
+            // 
+            // scbUser
+            // 
+            this.scbUser.CheckedData = null;
+            this.scbUser.DisplayMember = "UserCode";
+            this.scbUser.IsWorker = false;
+            this.scbUser.Location = new System.Drawing.Point(460, 44);
+            this.scbUser.Name = "scbUser";
+            this.scbUser.Size = new System.Drawing.Size(121, 21);
+            this.scbUser.TabIndex = 34;
+            // 
+            // GroutingLineCode
+            // 
+            this.GroutingLineCode.DataPropertyName = "GroutingLineCode";
+            this.GroutingLineCode.HeaderText = "成型线编码";
+            this.GroutingLineCode.Name = "GroutingLineCode";
+            this.GroutingLineCode.ReadOnly = true;
+            // 
+            // GroutingLineName
+            // 
+            this.GroutingLineName.DataPropertyName = "GroutingLineName";
+            this.GroutingLineName.HeaderText = "成型线名称";
+            this.GroutingLineName.Name = "GroutingLineName";
+            this.GroutingLineName.ReadOnly = true;
+            // 
+            // GroutingUserCode
+            // 
+            this.GroutingUserCode.DataPropertyName = "GroutingUserCode";
+            this.GroutingUserCode.HeaderText = "成型工号";
+            this.GroutingUserCode.Name = "GroutingUserCode";
+            this.GroutingUserCode.ReadOnly = true;
+            // 
+            // GoodsCode
+            // 
+            this.GoodsCode.DataPropertyName = "GoodsCode";
+            this.GoodsCode.HeaderText = "产品编码";
+            this.GoodsCode.Name = "GoodsCode";
+            this.GoodsCode.ReadOnly = true;
+            // 
+            // GoodsName
+            // 
+            this.GoodsName.DataPropertyName = "GoodsName";
+            this.GoodsName.HeaderText = "产品名称";
+            this.GoodsName.Name = "GoodsName";
+            this.GoodsName.ReadOnly = true;
+            // 
+            // GroutingMouldCode
+            // 
+            this.GroutingMouldCode.DataPropertyName = "GroutingMouldCode";
+            this.GroutingMouldCode.HeaderText = "模具编号";
+            this.GroutingMouldCode.Name = "GroutingMouldCode";
+            this.GroutingMouldCode.ReadOnly = true;
+            this.GroutingMouldCode.Width = 120;
+            // 
+            // GMouldStatus
+            // 
+            this.GMouldStatus.DataPropertyName = "GMouldStatusName";
+            this.GMouldStatus.HeaderText = "模具状态";
+            this.GMouldStatus.Name = "GMouldStatus";
+            this.GMouldStatus.ReadOnly = true;
+            this.GMouldStatus.Width = 60;
+            // 
+            // groutingdate
+            // 
+            this.groutingdate.DataPropertyName = "groutingdate";
+            this.groutingdate.HeaderText = "注浆日期";
+            this.groutingdate.Name = "groutingdate";
+            this.groutingdate.ReadOnly = true;
+            // 
+            // groutingbatchno
+            // 
+            this.groutingbatchno.DataPropertyName = "groutingbatchno";
+            this.groutingbatchno.HeaderText = "注浆批次";
+            this.groutingbatchno.Name = "groutingbatchno";
+            this.groutingbatchno.ReadOnly = true;
+            // 
+            // BarCode
+            // 
+            this.BarCode.DataPropertyName = "BarCode";
+            this.BarCode.HeaderText = "绑定条码";
+            this.BarCode.MaxInputLength = 11;
+            this.BarCode.Name = "BarCode";
+            this.BarCode.ReadOnly = true;
+            // 
+            // CreateUserCode
+            // 
+            this.CreateUserCode.DataPropertyName = "CreateUserCode";
+            this.CreateUserCode.HeaderText = "操作者工号";
+            this.CreateUserCode.Name = "CreateUserCode";
+            this.CreateUserCode.ReadOnly = true;
+            // 
+            // CreateUserName
+            // 
+            this.CreateUserName.DataPropertyName = "CreateUserName";
+            this.CreateUserName.HeaderText = "操作者";
+            this.CreateUserName.Name = "CreateUserName";
+            this.CreateUserName.ReadOnly = true;
+            // 
+            // Remarks
+            // 
+            this.Remarks.DataPropertyName = "Remarks";
+            this.Remarks.HeaderText = "备注";
+            this.Remarks.Name = "Remarks";
+            this.Remarks.ReadOnly = true;
+            // 
+            // GroutingLineId
+            // 
+            this.GroutingLineId.DataPropertyName = "GroutingLineId";
+            this.GroutingLineId.HeaderText = "成型线ID";
+            this.GroutingLineId.Name = "GroutingLineId";
+            this.GroutingLineId.ReadOnly = true;
+            this.GroutingLineId.Visible = false;
+            // 
+            // GroutingLineDetailID
+            // 
+            this.GroutingLineDetailID.DataPropertyName = "GroutingLineDetailID";
+            this.GroutingLineDetailID.HeaderText = "成型线明细ID";
+            this.GroutingLineDetailID.Name = "GroutingLineDetailID";
+            this.GroutingLineDetailID.ReadOnly = true;
+            this.GroutingLineDetailID.Visible = false;
+            // 
+            // UserID
+            // 
+            this.UserID.DataPropertyName = "UserID";
+            this.UserID.HeaderText = "成型工号ID";
+            this.UserID.Name = "UserID";
+            this.UserID.ReadOnly = true;
+            this.UserID.Visible = false;
+            // 
+            // F_PM_0107
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1151, 562);
+            this.Controls.Add(this.dgvDetail);
+            this.Controls.Add(this.gbxCondition);
+            this.Controls.Add(this.tsrOperate);
+            this.Name = "F_PM_0107";
+            this.Text = "条码预设";
+            this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.F_PM_0107_FormClosed);
+            this.Load += new System.EventHandler(this.F_PM_0107_Load);
+            this.tsrOperate.ResumeLayout(false);
+            this.tsrOperate.PerformLayout();
+            this.gbxCondition.ResumeLayout(false);
+            this.gbxCondition.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvDetail)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private Basics.BaseControls.C_ToolStrip tsrOperate;
+        private System.Windows.Forms.ToolStripButton tsbtnEdit;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
+        private System.Windows.Forms.ToolStripButton tsbtnAdaptive;
+        private System.Windows.Forms.ToolStripButton tsbtnClose;
+        private Basics.BaseControls.C_GroupBox gbxCondition;
+        private Basics.BaseControls.C_TextBox txtGroutingLineCode;
+        private Basics.BaseControls.C_Label lblGroutingLineCode;
+        private Basics.BaseControls.C_Label lblGroutingDate;
+        private Basics.BaseControls.C_DateTimePicker dtpGroutingDateFrom;
+        private Basics.BaseControls.C_Label lblRemarks;
+        private Basics.BaseControls.C_TextBox txtGoodsCode;
+        private Basics.BaseControls.C_Label lblGoodsCode;
+        private Basics.BaseControls.C_TextBox txtGroutingMouldCode;
+        private Basics.BaseControls.C_Label lblGroutingMouldCode;
+        private Basics.BaseControls.C_Button btnSearch;
+        private Basics.BaseControls.C_Button btnClearCondition;
+        private Basics.BaseControls.C_Label c_Label1;
+        private Basics.BaseControls.C_DateTimePicker dtpGroutingDateTo;
+        private System.Windows.Forms.ToolStripButton tsbtnAdd;
+		private Basics.BaseControls.C_Label c_Label2;
+        private Basics.BaseControls.C_TXT_Digital txtGroutingBatchNo;
+        private Basics.BaseControls.C_TXT_Digital txtRemarks;
+        private Basics.BaseControls.C_DataGridView dgvDetail;
+        private System.Windows.Forms.ToolStripButton tsbtnDelete;
+        private Basics.BaseControls.C_Label lblUser;
+        private Controls.SearchBox.ScbUser scbUser;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingUserCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingMouldCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GMouldStatus;
+        private System.Windows.Forms.DataGridViewTextBoxColumn groutingdate;
+        private System.Windows.Forms.DataGridViewTextBoxColumn groutingbatchno;
+        private System.Windows.Forms.DataGridViewTextBoxColumn BarCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn CreateUserCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn CreateUserName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Remarks;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineId;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineDetailID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn UserID;
+    }
+}

+ 344 - 0
DK.Client/PMModule/F_PM_0107.cs

@@ -0,0 +1,344 @@
+/*******************************************************************************
+ * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
+ * 类的信息:
+ *      1.程序名称:F_PM_0107.cs
+ *      2.功能描述:注浆登记一览
+ * 编辑履历:
+ *      作者            日期                版本            修改内容
+ *      陈晓野          2015/03/25          1.00            新建
+ *******************************************************************************/
+using System;
+using System.Data;
+using System.Reflection;
+using System.Windows.Forms;
+
+using Dongke.IBOSS.PRD.Basics.BaseControls;
+using Dongke.IBOSS.PRD.Basics.BaseResources;
+using Dongke.IBOSS.PRD.Basics.DockPanel;
+using Dongke.IBOSS.PRD.Client.CommonModule;
+using Dongke.IBOSS.PRD.Client.Controls;
+using Dongke.IBOSS.PRD.Client.DataModels;
+using Dongke.IBOSS.PRD.WCF.DataModels;
+using Dongke.IBOSS.PRD.WCF.Proxys;
+
+namespace Dongke.IBOSS.PRD.Client.PMModule
+{
+    /// <summary>
+    /// 注浆登记一览
+    /// </summary>
+    public partial class F_PM_0107 : DKDockPanelBase
+    {
+        #region 成员变量
+        // 单例模式
+        private static F_PM_0107 _instance;
+        #endregion
+
+        #region 构造函数
+        /// <summary>
+        /// 注浆日报一览窗体构造
+        /// </summary>
+        private F_PM_0107()
+        {
+            this.InitializeComponent();
+
+            this.Text = FormTitles.F_PM_0107;
+            this.tsbtnAdd.Text = ButtonText.TSBTN_ADD;
+            this.tsbtnEdit.Text = ButtonText.TSBTN_EDIT;
+            this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
+            this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
+            this.btnSearch.Text = ButtonText.BTN_SEARCH;
+            this.btnClearCondition.Text = ButtonText.BTN_CLEARCONDITION;
+            this.gbxCondition.Text = Constant.LABEL_QUERY_CONDITIONS;
+        }
+        #endregion
+
+        #region 单例模式
+        /// <summary>
+        /// 单例模式,防止重复创建窗体
+        /// </summary>
+        public static F_PM_0107 Instance
+        {
+            get
+            {
+                if (_instance == null)
+                {
+                    _instance = new F_PM_0107();
+                }
+                return _instance;
+            }
+        }
+        #endregion
+
+        #region 事件
+        /// <summary>
+        /// 窗体加载
+        /// </summary>
+        private void F_PM_0107_Load(object sender, EventArgs e)
+        {
+            try
+            {
+                // 按钮权限控制
+                FormPermissionManager.FormPermissionControl(this.Name, this,
+                    LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData,
+                    LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
+                this.dtpGroutingDateFrom.Value = DateTime.Now.Date.AddDays(1);
+                this.dtpGroutingDateTo.Value = DateTime.Now.Date.AddDays(1);
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 清空条件
+        /// </summary>
+        private void btnClearCondition_Click(object sender, EventArgs e)
+        {
+            this.txtRemarks.Clear();
+            this.txtGoodsCode.Clear();
+            this.txtGroutingLineCode.Clear();
+            this.txtGroutingMouldCode.Clear();
+            this.dtpGroutingDateFrom.Value = DateTime.Now.Date.AddDays(1);
+            this.dtpGroutingDateTo.Value = DateTime.Now.Date.AddDays(1);
+            this.txtGroutingBatchNo.Clear();
+            scbUser.ClearValue();
+        }
+
+        /// <summary>
+        /// 查询数据
+        /// </summary>
+        private void btnSearch_Click(object sender, System.EventArgs e)
+        {
+            try
+            {
+                dgvDetail.DataSource = null;
+
+                // 异步处理,获取信息
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_PM_0107";
+                cre.Name = "GetBarcodeDraft";
+
+                cre.Properties["GroutingDateFrom"] = dtpGroutingDateFrom.Value;
+                cre.Properties["GroutingDateTo"] = dtpGroutingDateTo.Value.AddDays(1);
+                cre.Properties["GroutingLineCode"] = txtGroutingLineCode.Text.Trim();
+                cre.Properties["GroutingMouldCode"] = txtGroutingMouldCode.Text.Trim();
+                cre.Properties["GoodsCode"] = txtGoodsCode.Text.Trim();
+                cre.Properties["GroutingBatchNo"] = txtGroutingBatchNo.Text.Trim();
+                cre.Properties["Remarks"] = txtRemarks.Text.Trim();
+                cre.Properties["UserID"] = scbUser.SearchedPKMember;
+
+                // 调用服务器端获取数据集
+                ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new AsyncMethod(() =>
+                {
+                    return PMModuleProxyNew.Service.HandleRequest(cre);
+                }));
+
+                if (sre.Data != null && sre.Data.Tables.Count > 0 && sre.Data.Tables[0].Rows.Count > 0)
+                {
+                    dgvDetail.DataSource = sre.Data.Tables[0];
+                }
+                else
+                {
+                    MessageBox.Show(Messages.I_CMN_S_001,
+                        this.Text,
+                        MessageBoxButtons.OK,
+                        MessageBoxIcon.Information);
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        ///  新建条码预设
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnAdd_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                F_PM_0108 frm = new F_PM_0108();
+                frm.FormMode = Constant.FormMode.Add;
+                DialogResult dialogresult = frm.ShowDialog();
+
+                if (dialogresult == DialogResult.OK)
+                {
+                    this.btnSearch_Click(sender, e);
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 编辑条码预设
+        /// </summary>
+        private void tsbtnEdit_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                DataGridViewRow currentRow = this.dgvDetail.CurrentRow;
+                if (currentRow != null)
+                {
+                    F_PM_0108 frm = new F_PM_0108();
+                    frm.FormMode = Constant.FormMode.Edit;
+                    frm.DrRow = (this.dgvDetail.CurrentRow.DataBoundItem as DataRowView).Row;
+                    DialogResult dialogresult = frm.ShowDialog();
+
+                    if (dialogresult == DialogResult.OK)
+                    {
+                        this.btnSearch_Click(sender, e);
+                    }
+                }
+                else
+                {
+                    DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_C_001);
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 删除当前成型线当前批次的条码
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnDelete_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                // 验证条码重复
+                DataRow drDetail = (this.dgvDetail.CurrentRow?.DataBoundItem as DataRowView).Row;
+                if (drDetail == null)
+                {
+                    MessageBox.Show(string.Format(Messages.W_CMN_C_006, "没有任何数据"),
+                        this.Text,
+                        MessageBoxButtons.OK,
+                        MessageBoxIcon.Warning);
+                    return;
+                }
+
+                DialogResult drs = MessageBox.Show("是否删除"+ Convert.ToDateTime(drDetail["groutingdate"]).ToString("yyyy-MM-dd") 
+                    + ",【" + drDetail["GroutingLineCode"] + "】,第"+ drDetail["groutingbatchno"] + "批次的条码数据?",
+                            this.Text,
+                            MessageBoxButtons.YesNo,
+                            MessageBoxIcon.Question);
+
+                if (drs == DialogResult.No)
+                {
+                    return;
+                }
+
+                // 异步处理,获取信息
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_PM_0108";
+                cre.Name = "SaveBarcodeDraft";
+                cre.Properties["groutingdate"] = drDetail["groutingdate"];
+                cre.Properties["groutinglineid"] = drDetail["groutinglineid"];
+                cre.Properties["groutingbatchno"] = drDetail["groutingbatchno"];
+
+                // 调用服务器端获取数据集
+                ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new AsyncMethod(() =>
+                {
+                    return PMModuleProxyNew.Service.HandleRequest(cre);
+                }));
+
+                if (sre.OtherStatus > 0)
+                {
+                    // 提示未查找到数据
+                    MessageBox.Show(string.Format(Messages.MSG_CMN_I001, Text, "删除"),
+                        this.Text,
+                        MessageBoxButtons.OK,
+                        MessageBoxIcon.Warning);
+                    btnSearch_Click(null, null);
+                }
+                else if (sre.OtherStatus < 0 && !string.IsNullOrEmpty(sre.Message))
+                {
+                    // 提示未查找到数据
+                    MessageBox.Show(string.Format(Messages.W_CMN_C_006, sre.Message),
+                        this.Text,
+                        MessageBoxButtons.OK,
+                        MessageBoxIcon.Warning);
+                }
+                else
+                {
+                    // 提示未查找到数据
+                    MessageBox.Show(Messages.MSG_CMN_W007,
+                        this.Text,
+                        MessageBoxButtons.OK,
+                        MessageBoxIcon.Warning);
+                }
+            }
+            catch (Exception ex)
+            {
+                //this.SetEditGrid();
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 编辑注浆日报
+        /// </summary>
+        private void dgvDetail_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
+        {
+            if (e.RowIndex < 0 || e.ColumnIndex < 0)
+            {
+                return;
+            }
+
+            this.tsbtnEdit_Click(sender, null);
+        }
+
+        /// <summary>
+        /// 关闭按钮事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnClose_Click(object sender, EventArgs e)
+        {
+            this.Close();
+        }
+
+        /// <summary>
+        /// 自动列宽事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnAdaptive_Click(object sender, EventArgs e)
+        {
+            this.dgvDetail.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+        }
+
+        /// <summary>
+        /// 窗体关闭
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void F_PM_0107_FormClosed(object sender, FormClosedEventArgs e)
+        {
+            _instance = null;
+        }
+
+        #endregion
+
+    }
+}

+ 248 - 0
DK.Client/PMModule/F_PM_0107.resx

@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="tsrOperate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="gbxCondition.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAPAAAAB4CAIAAABD1OhwAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
+        DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
+        bGUAAEjHnZZ3VFTXFofPvXd6oc0w0hl6ky4wgPQuIB0EURhmBhjKAMMMTWyIqEBEEREBRZCggAGjoUis
+        iGIhKKhgD0gQUGIwiqioZEbWSnx5ee/l5ffHvd/aZ+9z99l7n7UuACRPHy4vBZYCIJkn4Ad6ONNXhUfQ
+        sf0ABniAAaYAMFnpqb5B7sFAJC83F3q6yAn8i94MAUj8vmXo6U+ng/9P0qxUvgAAyF/E5mxOOkvE+SJO
+        yhSkiu0zIqbGJIoZRomZL0pQxHJijlvkpZ99FtlRzOxkHlvE4pxT2clsMfeIeHuGkCNixEfEBRlcTqaI
+        b4tYM0mYzBXxW3FsMoeZDgCKJLYLOKx4EZuImMQPDnQR8XIAcKS4LzjmCxZwsgTiQ7mkpGbzuXHxArou
+        S49uam3NoHtyMpM4AoGhP5OVyOSz6S4pyalMXjYAi2f+LBlxbemiIluaWltaGpoZmX5RqP+6+Dcl7u0i
+        vQr43DOI1veH7a/8UuoAYMyKarPrD1vMfgA6tgIgd/8Pm+YhACRFfWu/8cV5aOJ5iRcIUm2MjTMzM424
+        HJaRuKC/6386/A198T0j8Xa/l4fuyollCpMEdHHdWClJKUI+PT2VyeLQDf88xP848K/zWBrIieXwOTxR
+        RKhoyri8OFG7eWyugJvCo3N5/6mJ/zDsT1qca5Eo9Z8ANcoISN2gAuTnPoCiEAESeVDc9d/75oMPBeKb
+        F6Y6sTj3nwX9+65wifiRzo37HOcSGExnCfkZi2viawnQgAAkARXIAxWgAXSBITADVsAWOAI3sAL4gWAQ
+        DtYCFogHyYAPMkEu2AwKQBHYBfaCSlAD6kEjaAEnQAc4DS6Ay+A6uAnugAdgBIyD52AGvAHzEARhITJE
+        geQhVUgLMoDMIAZkD7lBPlAgFA5FQ3EQDxJCudAWqAgqhSqhWqgR+hY6BV2ArkID0D1oFJqCfoXewwhM
+        gqmwMqwNG8MM2An2hoPhNXAcnAbnwPnwTrgCroOPwe3wBfg6fAcegZ/DswhAiAgNUUMMEQbigvghEUgs
+        wkc2IIVIOVKHtCBdSC9yCxlBppF3KAyKgqKjDFG2KE9UCIqFSkNtQBWjKlFHUe2oHtQt1ChqBvUJTUYr
+        oQ3QNmgv9Cp0HDoTXYAuRzeg29CX0HfQ4+g3GAyGhtHBWGE8MeGYBMw6TDHmAKYVcx4zgBnDzGKxWHms
+        AdYO64dlYgXYAux+7DHsOewgdhz7FkfEqeLMcO64CBwPl4crxzXhzuIGcRO4ebwUXgtvg/fDs/HZ+BJ8
+        Pb4LfwM/jp8nSBN0CHaEYEICYTOhgtBCuER4SHhFJBLVidbEACKXuIlYQTxOvEIcJb4jyZD0SS6kSJKQ
+        tJN0hHSedI/0ikwma5MdyRFkAXknuZF8kfyY/FaCImEk4SXBltgoUSXRLjEo8UISL6kl6SS5VjJHslzy
+        pOQNyWkpvJS2lIsUU2qDVJXUKalhqVlpirSptJ90snSxdJP0VelJGayMtoybDFsmX+awzEWZMQpC0aC4
+        UFiULZR6yiXKOBVD1aF6UROoRdRvqP3UGVkZ2WWyobJZslWyZ2RHaAhNm+ZFS6KV0E7QhmjvlygvcVrC
+        WbJjScuSwSVzcopyjnIcuUK5Vrk7cu/l6fJu8onyu+U75B8poBT0FQIUMhUOKlxSmFakKtoqshQLFU8o
+        3leClfSVApXWKR1W6lOaVVZR9lBOVd6vfFF5WoWm4qiSoFKmclZlSpWiaq/KVS1TPaf6jC5Ld6In0Svo
+        PfQZNSU1TzWhWq1av9q8uo56iHqeeqv6Iw2CBkMjVqNMo1tjRlNV01czV7NZ874WXouhFa+1T6tXa05b
+        RztMe5t2h/akjpyOl06OTrPOQ12yroNumm6d7m09jB5DL1HvgN5NfVjfQj9ev0r/hgFsYGnANThgMLAU
+        vdR6KW9p3dJhQ5Khk2GGYbPhqBHNyMcoz6jD6IWxpnGE8W7jXuNPJhYmSSb1Jg9MZUxXmOaZdpn+aqZv
+        xjKrMrttTjZ3N99o3mn+cpnBMs6yg8vuWlAsfC22WXRbfLS0suRbtlhOWWlaRVtVWw0zqAx/RjHjijXa
+        2tl6o/Vp63c2ljYCmxM2v9ga2ibaNtlOLtdZzllev3zMTt2OaVdrN2JPt4+2P2Q/4qDmwHSoc3jiqOHI
+        dmxwnHDSc0pwOub0wtnEme/c5jznYuOy3uW8K+Lq4Vro2u8m4xbiVun22F3dPc692X3Gw8Jjncd5T7Sn
+        t+duz2EvZS+WV6PXzAqrFetX9HiTvIO8K72f+Oj78H26fGHfFb57fB+u1FrJW9nhB/y8/Pb4PfLX8U/z
+        /z4AE+AfUBXwNNA0MDewN4gSFBXUFPQm2Dm4JPhBiG6IMKQ7VDI0MrQxdC7MNaw0bGSV8ar1q66HK4Rz
+        wzsjsBGhEQ0Rs6vdVu9dPR5pEVkQObRGZ03WmqtrFdYmrT0TJRnFjDoZjY4Oi26K/sD0Y9YxZ2O8Yqpj
+        ZlgurH2s52xHdhl7imPHKeVMxNrFlsZOxtnF7YmbineIL4+f5rpwK7kvEzwTahLmEv0SjyQuJIUltSbj
+        kqOTT/FkeIm8nhSVlKyUgVSD1ILUkTSbtL1pM3xvfkM6lL4mvVNAFf1M9Ql1hVuFoxn2GVUZbzNDM09m
+        SWfxsvqy9bN3ZE/kuOd8vQ61jrWuO1ctd3Pu6Hqn9bUboA0xG7o3amzM3zi+yWPT0c2EzYmbf8gzySvN
+        e70lbEtXvnL+pvyxrR5bmwskCvgFw9tst9VsR23nbu/fYb5j/45PhezCa0UmReVFH4pZxde+Mv2q4quF
+        nbE7+0ssSw7uwuzi7Rra7bD7aKl0aU7p2B7fPe1l9LLCstd7o/ZeLV9WXrOPsE+4b6TCp6Jzv+b+Xfs/
+        VMZX3qlyrmqtVqreUT13gH1g8KDjwZYa5ZqimveHuIfu1nrUttdp15UfxhzOOPy0PrS+92vG140NCg1F
+        DR+P8I6MHA082tNo1djYpNRU0gw3C5unjkUeu/mN6zedLYYtta201qLj4Ljw+LNvo78dOuF9ovsk42TL
+        d1rfVbdR2grbofbs9pmO+I6RzvDOgVMrTnV32Xa1fW/0/ZHTaqerzsieKTlLOJt/duFczrnZ86nnpy/E
+        XRjrjup+cHHVxds9AT39l7wvXbnsfvlir1PvuSt2V05ftbl66hrjWsd1y+vtfRZ9bT9Y/NDWb9nffsPq
+        RudN65tdA8sHzg46DF645Xrr8m2v29fvrLwzMBQydHc4cnjkLvvu5L2key/vZ9yff7DpIfph4SOpR+WP
+        lR7X/aj3Y+uI5ciZUdfRvidBTx6Mscae/5T+04fx/Kfkp+UTqhONk2aTp6fcp24+W/1s/Hnq8/npgp+l
+        f65+ofviu18cf+mbWTUz/pL/cuHX4lfyr468Xva6e9Z/9vGb5Dfzc4Vv5d8efcd41/s+7P3EfOYH7IeK
+        j3ofuz55f3q4kLyw8Bv3hPP74uYdwgAAAAlwSFlzAAALDAAACwwBP0AiyAAAAXlJREFUeF7t2EENADAM
+        A7Hyp7pJK4TxONkY8jhlDoTMhZB5EDILIRqaFIMmRXKQYtCkSA5S/NCk+KFJ0dCkaGhSDJoUyUGKQZMi
+        OUjxQ5PihyZFQ5OioUkxaFIkBykGTYrkIMUPTYofmhQNTYqGJsWgSZEcpBg0KZKDFD80KX5oUjQ0KRqa
+        FIMmRXKQYtCkSA5S/NCk+KFJ0dCkaGhSDJoUyUGKQZMiOUjxQ5PihyZFQ5OioUkxaFIkBykGTYrkIMUP
+        TYofmhQNTYqGJsWgSZEcpBg0KZKDFD80KX5oUjQ0KRqaFIMmRXKQYtCkSA5S/NCk+KFJ0dCkaGhSDJoU
+        yUGKQZMiOUjxQ5PihyZFQ5OioUkxaFIkBykGTYrkIMUPTYofmhQNTYqGJsWgSZEcpBg0KZKDFD80KX5o
+        UjQ0KRqaFIMmRXKQYtCkSA5S/NCk+KFJ0dCkaGhSDJoUyUGKQZMiOUjxQ5PihyZFQ5OioUkxaFIkBykG
+        TcjuBwk6Lpiwp2VcAAAAAElFTkSuQmCC
+</value>
+  </data>
+  <data name="btnSearch.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAFUAAAAeCAYAAABdalL1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAI5JREFUaEPt0KERxCAUQMFrEImOowUsioJSAb3gaOLfnLjJRMNzT2wD+ymlhPb1
+        3mOMEWutMPUQUwGmAkwFmAowFWAqwFSAqQBTAaYCTAWYCnilXtcV2tdaM/U0UwGmAmqtT2rOObTvnzrn
+        NPUUUwGmAkwFmAowFWAqwFSAqYBf6n3fpp70Sk0phfY9qTO+PIZEBQZ3CrAAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="btnClearCondition.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAFUAAAAeCAYAAABdalL1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAI5JREFUaEPt0KERxCAUQMFrEImOowUsioJSAb3gaOLfnLjJRMNzT2wD+ymlhPb1
+        3mOMEWutMPUQUwGmAkwFmAowFWAqwFSAqQBTAaYCTAWYCnilXtcV2tdaM/U0UwGmAmqtT2rOObTvnzrn
+        NPUUUwGmAkwFmAowFWAqwFSAqYBf6n3fpp70Sk0phfY9qTO+PIZEBQZ3CrAAAAAASUVORK5CYII=
+</value>
+  </data>
+  <metadata name="GroutingLineCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingLineName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingUserCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GoodsCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GoodsName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingMouldCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GMouldStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="groutingdate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="groutingbatchno.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="BarCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="CreateUserCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="CreateUserName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Remarks.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingLineId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingLineDetailID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="UserID.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>36</value>
+  </metadata>
+</root>

+ 534 - 0
DK.Client/PMModule/F_PM_0108.Designer.cs

@@ -0,0 +1,534 @@
+namespace Dongke.IBOSS.PRD.Client.PMModule
+{
+	partial class F_PM_0108
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(F_PM_0108));
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+            this.btnClose = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.btnSave = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.dgvDetail = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView();
+            this.GroutingLineCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingUserCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingMouldCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GMouldStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Remarks = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineId = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineDetailID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.UserID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.lblGroutingDate = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.tsrOperate = new Dongke.IBOSS.PRD.Basics.BaseControls.C_ToolStrip();
+            this.tsbtnAdaptive = new System.Windows.Forms.ToolStripButton();
+            this.tsbtnClose = new System.Windows.Forms.ToolStripButton();
+            this.gbxInfo = new System.Windows.Forms.GroupBox();
+            this.lblGroutingLine = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.scbGroutingLine = new Dongke.IBOSS.PRD.Client.Controls.SearchBox.ScbGroutingLine();
+            this.dtpGroutingDate = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DateTimePicker();
+            this.txtGroutingBatchno = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TXT_BarCode();
+            this.lblGroutingBatchno = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.btnClearBarCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.txtBarCodeStart = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TXT_BarCode();
+            this.btnBindBarCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.lblBarCodeStart = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvDetail)).BeginInit();
+            this.tsrOperate.SuspendLayout();
+            this.gbxInfo.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // btnClose
+            // 
+            this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnClose.BackColor = System.Drawing.Color.Transparent;
+            this.btnClose.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnClose.BackgroundImage")));
+            this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+            this.btnClose.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnClose.ForeColor = System.Drawing.Color.White;
+            this.btnClose.Location = new System.Drawing.Point(987, 557);
+            this.btnClose.Name = "btnClose";
+            this.btnClose.Size = new System.Drawing.Size(85, 30);
+            this.btnClose.TabIndex = 4;
+            this.btnClose.Text = "关闭";
+            this.btnClose.UseVisualStyleBackColor = false;
+            this.btnClose.Click += new System.EventHandler(this.btnCancel_Click);
+            // 
+            // btnSave
+            // 
+            this.btnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnSave.BackColor = System.Drawing.Color.Transparent;
+            this.btnSave.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnSave.BackgroundImage")));
+            this.btnSave.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnSave.ForeColor = System.Drawing.Color.White;
+            this.btnSave.Location = new System.Drawing.Point(896, 557);
+            this.btnSave.Name = "btnSave";
+            this.btnSave.Size = new System.Drawing.Size(85, 30);
+            this.btnSave.TabIndex = 3;
+            this.btnSave.Text = "保存(&S)";
+            this.btnSave.UseVisualStyleBackColor = false;
+            this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
+            // 
+            // dgvDetail
+            // 
+            this.dgvDetail.AllowUserToAddRows = false;
+            this.dgvDetail.AllowUserToDeleteRows = false;
+            this.dgvDetail.AllowUserToModifyRows = true;
+            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
+            this.dgvDetail.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvDetail.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.dgvDetail.CellBackColorNochanged = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+            this.dgvDetail.CellBackColorReadOnly = System.Drawing.SystemColors.Control;
+            this.dgvDetail.CellHeight = 23;
+            this.dgvDetail.ChildNodeColumnName = null;
+            this.dgvDetail.ChildNodeColumnText = null;
+            this.dgvDetail.ColumnDeep = 1;
+            this.dgvDetail.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
+            dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(58)))), ((int)(((byte)(70)))));
+            dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle2.ForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvDetail.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+            this.dgvDetail.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvDetail.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.GroutingLineCode,
+            this.GroutingLineName,
+            this.GroutingUserCode,
+            this.GoodsCode,
+            this.GoodsName,
+            this.GroutingMouldCode,
+            this.GMouldStatus,
+            this.BarCode,
+            this.Remarks,
+            this.GroutingLineId,
+            this.GroutingLineDetailID,
+            this.UserID});
+            this.dgvDetail.ColumnTreeView = null;
+            this.dgvDetail.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)));
+            dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvDetail.DefaultCellStyle = dataGridViewCellStyle3;
+            this.dgvDetail.DynamicColumnName = "";
+            this.dgvDetail.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter;
+            this.dgvDetail.EnableHeadersVisualStyles = false;
+            this.dgvDetail.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvDetail.FormatQuantityColumns = null;
+            this.dgvDetail.HorizontalMergeColumn = null;
+            this.dgvDetail.IsAutoCountSum = true;
+            this.dgvDetail.IsAutoResizeColumns = false;
+            this.dgvDetail.IsClickF12 = false;
+            this.dgvDetail.IsOpenMergeCellFlag = false;
+            this.dgvDetail.IsSubTotalFlag = false;
+            this.dgvDetail.IsTopDeep = false;
+            this.dgvDetail.Location = new System.Drawing.Point(12, 122);
+            this.dgvDetail.MergeColumnNames = null;
+            this.dgvDetail.MergeDetailColumnNames = null;
+            this.dgvDetail.MergeDetailOnlyColumn = null;
+            this.dgvDetail.MergeOnlyColumn = null;
+            this.dgvDetail.MultiSelect = false;
+            this.dgvDetail.Name = "dgvDetail";
+            this.dgvDetail.RefreshAtHscroll = false;
+            this.dgvDetail.RowHeadersWidth = 50;
+            this.dgvDetail.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            dataGridViewCellStyle4.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.dgvDetail.RowsDefaultCellStyle = dataGridViewCellStyle4;
+            this.dgvDetail.RowTemplate.Height = 21;
+            this.dgvDetail.Size = new System.Drawing.Size(1060, 429);
+            this.dgvDetail.SortOrderColumnName = null;
+            this.dgvDetail.TabIndex = 2;
+            this.dgvDetail.Tag = true;
+            this.dgvDetail.TotalSumColumns = null;
+            this.dgvDetail.ViewRowFilter = "";
+            this.dgvDetail.VirtualMode = true;
+            this.dgvDetail.CurrentCellDirtyStateChanged += new System.EventHandler(this.dgvDetail_CurrentCellDirtyStateChanged);
+            this.dgvDetail.Sorted += new System.EventHandler(this.dgvDetail_Sorted);
+            // 
+            // GroutingLineCode
+            // 
+            this.GroutingLineCode.DataPropertyName = "GroutingLineCode";
+            this.GroutingLineCode.HeaderText = "成型线编码";
+            this.GroutingLineCode.Name = "GroutingLineCode";
+            this.GroutingLineCode.ReadOnly = true;
+            // 
+            // GroutingLineName
+            // 
+            this.GroutingLineName.DataPropertyName = "GroutingLineName";
+            this.GroutingLineName.HeaderText = "成型线名称";
+            this.GroutingLineName.Name = "GroutingLineName";
+            this.GroutingLineName.ReadOnly = true;
+            // 
+            // GroutingUserCode
+            // 
+            this.GroutingUserCode.DataPropertyName = "GroutingUserCode";
+            this.GroutingUserCode.HeaderText = "成型工号";
+            this.GroutingUserCode.Name = "GroutingUserCode";
+            this.GroutingUserCode.ReadOnly = true;
+            // 
+            // GoodsCode
+            // 
+            this.GoodsCode.DataPropertyName = "GoodsCode";
+            this.GoodsCode.HeaderText = "产品编码";
+            this.GoodsCode.Name = "GoodsCode";
+            this.GoodsCode.ReadOnly = true;
+            // 
+            // GoodsName
+            // 
+            this.GoodsName.DataPropertyName = "GoodsName";
+            this.GoodsName.HeaderText = "产品名称";
+            this.GoodsName.Name = "GoodsName";
+            this.GoodsName.ReadOnly = true;
+            // 
+            // GroutingMouldCode
+            // 
+            this.GroutingMouldCode.DataPropertyName = "GroutingMouldCode";
+            this.GroutingMouldCode.HeaderText = "模具编号";
+            this.GroutingMouldCode.Name = "GroutingMouldCode";
+            this.GroutingMouldCode.ReadOnly = true;
+            this.GroutingMouldCode.Width = 120;
+            // 
+            // GMouldStatus
+            // 
+            this.GMouldStatus.DataPropertyName = "GMouldStatusName";
+            this.GMouldStatus.HeaderText = "模具状态";
+            this.GMouldStatus.Name = "GMouldStatus";
+            this.GMouldStatus.ReadOnly = true;
+            this.GMouldStatus.Width = 60;
+            // 
+            // BarCode
+            // 
+            this.BarCode.DataPropertyName = "BarCode";
+            this.BarCode.HeaderText = "绑定条码";
+            this.BarCode.MaxInputLength = 11;
+            this.BarCode.Name = "BarCode";
+            // 
+            // Remarks
+            // 
+            this.Remarks.DataPropertyName = "Remarks";
+            this.Remarks.HeaderText = "备注";
+            this.Remarks.Name = "Remarks";
+            // 
+            // GroutingLineId
+            // 
+            this.GroutingLineId.DataPropertyName = "GroutingLineId";
+            this.GroutingLineId.HeaderText = "成型线ID";
+            this.GroutingLineId.Name = "GroutingLineId";
+            this.GroutingLineId.ReadOnly = true;
+            this.GroutingLineId.Visible = false;
+            // 
+            // GroutingLineDetailID
+            // 
+            this.GroutingLineDetailID.DataPropertyName = "GroutingLineDetailID";
+            this.GroutingLineDetailID.HeaderText = "成型线明细ID";
+            this.GroutingLineDetailID.Name = "GroutingLineDetailID";
+            this.GroutingLineDetailID.ReadOnly = true;
+            this.GroutingLineDetailID.Visible = false;
+            // 
+            // UserID
+            // 
+            this.UserID.DataPropertyName = "UserID";
+            this.UserID.HeaderText = "成型工号ID";
+            this.UserID.Name = "UserID";
+            this.UserID.ReadOnly = true;
+            this.UserID.Visible = false;
+            // 
+            // lblGroutingDate
+            // 
+            this.lblGroutingDate.AutoSize = true;
+            this.lblGroutingDate.BackColor = System.Drawing.Color.Transparent;
+            this.lblGroutingDate.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblGroutingDate.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.lblGroutingDate.IsMustInput = true;
+            this.lblGroutingDate.Location = new System.Drawing.Point(6, 23);
+            this.lblGroutingDate.Name = "lblGroutingDate";
+            this.lblGroutingDate.Size = new System.Drawing.Size(53, 12);
+            this.lblGroutingDate.TabIndex = 0;
+            this.lblGroutingDate.Text = "注浆日期";
+            // 
+            // tsrOperate
+            // 
+            this.tsrOperate.AutoSize = false;
+            this.tsrOperate.BackColor = System.Drawing.SystemColors.Control;
+            this.tsrOperate.BackgroundImage = global::Dongke.IBOSS.PRD.Client.PMModule.Properties.Resources.functionbackground;
+            this.tsrOperate.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tsrOperate.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+            this.tsbtnAdaptive,
+            this.tsbtnClose});
+            this.tsrOperate.Location = new System.Drawing.Point(0, 0);
+            this.tsrOperate.Name = "tsrOperate";
+            this.tsrOperate.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
+            this.tsrOperate.ShowItemToolTips = false;
+            this.tsrOperate.Size = new System.Drawing.Size(1084, 35);
+            this.tsrOperate.TabIndex = 0;
+            // 
+            // tsbtnAdaptive
+            // 
+            this.tsbtnAdaptive.AutoSize = false;
+            this.tsbtnAdaptive.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tsbtnAdaptive.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.tsbtnAdaptive.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.tsbtnAdaptive.Name = "tsbtnAdaptive";
+            this.tsbtnAdaptive.Size = new System.Drawing.Size(90, 25);
+            this.tsbtnAdaptive.Text = "自适应列宽(&A)";
+            this.tsbtnAdaptive.Click += new System.EventHandler(this.tsbtnAdaptive_Click);
+            // 
+            // tsbtnClose
+            // 
+            this.tsbtnClose.AutoSize = false;
+            this.tsbtnClose.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tsbtnClose.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
+            this.tsbtnClose.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.tsbtnClose.Name = "tsbtnClose";
+            this.tsbtnClose.Size = new System.Drawing.Size(60, 25);
+            this.tsbtnClose.Text = "关闭(&X)";
+            this.tsbtnClose.Click += new System.EventHandler(this.tsbtnClose_Click);
+            // 
+            // gbxInfo
+            // 
+            this.gbxInfo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.gbxInfo.BackgroundImage = global::Dongke.IBOSS.PRD.Client.PMModule.Properties.Resources.bg;
+            this.gbxInfo.Controls.Add(this.lblGroutingLine);
+            this.gbxInfo.Controls.Add(this.scbGroutingLine);
+            this.gbxInfo.Controls.Add(this.dtpGroutingDate);
+            this.gbxInfo.Controls.Add(this.txtGroutingBatchno);
+            this.gbxInfo.Controls.Add(this.lblGroutingBatchno);
+            this.gbxInfo.Controls.Add(this.btnClearBarCode);
+            this.gbxInfo.Controls.Add(this.txtBarCodeStart);
+            this.gbxInfo.Controls.Add(this.btnBindBarCode);
+            this.gbxInfo.Controls.Add(this.lblBarCodeStart);
+            this.gbxInfo.Controls.Add(this.lblGroutingDate);
+            this.gbxInfo.Location = new System.Drawing.Point(12, 38);
+            this.gbxInfo.Name = "gbxInfo";
+            this.gbxInfo.Size = new System.Drawing.Size(1060, 78);
+            this.gbxInfo.TabIndex = 1;
+            this.gbxInfo.TabStop = false;
+            this.gbxInfo.Text = "注浆信息";
+            // 
+            // lblGroutingLine
+            // 
+            this.lblGroutingLine.AutoSize = true;
+            this.lblGroutingLine.BackColor = System.Drawing.Color.Transparent;
+            this.lblGroutingLine.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblGroutingLine.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.lblGroutingLine.IsMustInput = true;
+            this.lblGroutingLine.Location = new System.Drawing.Point(169, 23);
+            this.lblGroutingLine.Name = "lblGroutingLine";
+            this.lblGroutingLine.Size = new System.Drawing.Size(65, 12);
+            this.lblGroutingLine.TabIndex = 41;
+            this.lblGroutingLine.Text = "成型线编码";
+            // 
+            // scbGroutingLine
+            // 
+            this.scbGroutingLine.CheckedData = null;
+            this.scbGroutingLine.DisplayMember = "GroutingLineCode";
+            this.scbGroutingLine.GmouldStatus = "1";
+            this.scbGroutingLine.Location = new System.Drawing.Point(240, 19);
+            this.scbGroutingLine.MustInput = true;
+            this.scbGroutingLine.Name = "scbGroutingLine";
+            this.scbGroutingLine.Size = new System.Drawing.Size(164, 21);
+            this.scbGroutingLine.TabIndex = 40;
+            this.scbGroutingLine.TextValueChanged += new Dongke.WinForm.Controls.ScbSearchBox.TextBoxChangedHandle(this.scbGroutingLine_TextValueChanged);
+            // 
+            // dtpGroutingDate
+            // 
+            this.dtpGroutingDate.CustomFormat = "yyyy-MM-dd";
+            this.dtpGroutingDate.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dtpGroutingDate.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+            this.dtpGroutingDate.Location = new System.Drawing.Point(65, 17);
+            this.dtpGroutingDate.Name = "dtpGroutingDate";
+            this.dtpGroutingDate.Size = new System.Drawing.Size(98, 21);
+            this.dtpGroutingDate.TabIndex = 10;
+            // 
+            // txtGroutingBatchno
+            // 
+            this.txtGroutingBatchno.BackColor = System.Drawing.SystemColors.Window;
+            this.txtGroutingBatchno.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtGroutingBatchno.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtGroutingBatchno.ErrorMessage = "";
+            this.txtGroutingBatchno.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtGroutingBatchno.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtGroutingBatchno.IsMustInput = true;
+            this.txtGroutingBatchno.Location = new System.Drawing.Point(65, 43);
+            this.txtGroutingBatchno.MaxLength = 11;
+            this.txtGroutingBatchno.Name = "txtGroutingBatchno";
+            this.txtGroutingBatchno.Size = new System.Drawing.Size(98, 21);
+            this.txtGroutingBatchno.TabIndex = 9;
+            this.txtGroutingBatchno.Text = "1";
+            this.txtGroutingBatchno.TextValue = "1";
+            // 
+            // lblGroutingBatchno
+            // 
+            this.lblGroutingBatchno.AutoSize = true;
+            this.lblGroutingBatchno.BackColor = System.Drawing.Color.Transparent;
+            this.lblGroutingBatchno.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblGroutingBatchno.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.lblGroutingBatchno.IsMustInput = true;
+            this.lblGroutingBatchno.Location = new System.Drawing.Point(6, 46);
+            this.lblGroutingBatchno.Name = "lblGroutingBatchno";
+            this.lblGroutingBatchno.Size = new System.Drawing.Size(53, 12);
+            this.lblGroutingBatchno.TabIndex = 8;
+            this.lblGroutingBatchno.Text = "注浆批次";
+            // 
+            // btnClearBarCode
+            // 
+            this.btnClearBarCode.BackColor = System.Drawing.Color.Transparent;
+            this.btnClearBarCode.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnClearBarCode.BackgroundImage")));
+            this.btnClearBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnClearBarCode.ForeColor = System.Drawing.Color.White;
+            this.btnClearBarCode.Location = new System.Drawing.Point(497, 38);
+            this.btnClearBarCode.Name = "btnClearBarCode";
+            this.btnClearBarCode.Size = new System.Drawing.Size(85, 30);
+            this.btnClearBarCode.TabIndex = 7;
+            this.btnClearBarCode.Text = "清空条码(&C)";
+            this.btnClearBarCode.UseVisualStyleBackColor = false;
+            this.btnClearBarCode.Click += new System.EventHandler(this.btnClearBarCode_Click);
+            // 
+            // txtBarCodeStart
+            // 
+            this.txtBarCodeStart.BackColor = System.Drawing.Color.Yellow;
+            this.txtBarCodeStart.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtBarCodeStart.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtBarCodeStart.ErrorMessage = "";
+            this.txtBarCodeStart.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtBarCodeStart.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtBarCodeStart.IsMustInput = true;
+            this.txtBarCodeStart.Location = new System.Drawing.Point(240, 43);
+            this.txtBarCodeStart.MaxLength = 11;
+            this.txtBarCodeStart.Name = "txtBarCodeStart";
+            this.txtBarCodeStart.Size = new System.Drawing.Size(164, 21);
+            this.txtBarCodeStart.TabIndex = 5;
+            this.txtBarCodeStart.TextValue = "";
+            this.txtBarCodeStart.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtBarCodeStart_KeyPress);
+            // 
+            // btnBindBarCode
+            // 
+            this.btnBindBarCode.BackColor = System.Drawing.Color.Transparent;
+            this.btnBindBarCode.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnBindBarCode.BackgroundImage")));
+            this.btnBindBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnBindBarCode.ForeColor = System.Drawing.Color.White;
+            this.btnBindBarCode.Location = new System.Drawing.Point(410, 38);
+            this.btnBindBarCode.Name = "btnBindBarCode";
+            this.btnBindBarCode.Size = new System.Drawing.Size(85, 30);
+            this.btnBindBarCode.TabIndex = 6;
+            this.btnBindBarCode.Text = "绑定条码(&B)";
+            this.btnBindBarCode.UseVisualStyleBackColor = false;
+            this.btnBindBarCode.Click += new System.EventHandler(this.btnBindBarCode_Click);
+            // 
+            // lblBarCodeStart
+            // 
+            this.lblBarCodeStart.AutoSize = true;
+            this.lblBarCodeStart.BackColor = System.Drawing.Color.Transparent;
+            this.lblBarCodeStart.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblBarCodeStart.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblBarCodeStart.Location = new System.Drawing.Point(181, 47);
+            this.lblBarCodeStart.Name = "lblBarCodeStart";
+            this.lblBarCodeStart.Size = new System.Drawing.Size(53, 12);
+            this.lblBarCodeStart.TabIndex = 4;
+            this.lblBarCodeStart.Text = "起始条码";
+            // 
+            // F_PM_0108
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.CancelButton = this.btnClose;
+            this.ClientSize = new System.Drawing.Size(1084, 612);
+            this.Controls.Add(this.gbxInfo);
+            this.Controls.Add(this.tsrOperate);
+            this.Controls.Add(this.btnClose);
+            this.Controls.Add(this.btnSave);
+            this.Controls.Add(this.dgvDetail);
+            this.IsSaveFormSize = false;
+            this.Name = "F_PM_0108";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.Text = "新建条码预设";
+            this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
+            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.F_PM_0108_FormClosing);
+            this.Load += new System.EventHandler(this.F_PM_0108_Load);
+            this.Shown += new System.EventHandler(this.F_PM_0108_Shown);
+            this.Controls.SetChildIndex(this.dgvDetail, 0);
+            this.Controls.SetChildIndex(this.btnSave, 0);
+            this.Controls.SetChildIndex(this.btnClose, 0);
+            this.Controls.SetChildIndex(this.tsrOperate, 0);
+            this.Controls.SetChildIndex(this.gbxInfo, 0);
+            ((System.ComponentModel.ISupportInitialize)(this.dgvDetail)).EndInit();
+            this.tsrOperate.ResumeLayout(false);
+            this.tsrOperate.PerformLayout();
+            this.gbxInfo.ResumeLayout(false);
+            this.gbxInfo.PerformLayout();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+		private Basics.BaseControls.C_Label lblGroutingDate;
+        private Basics.BaseControls.C_DataGridView dgvDetail;
+        private Basics.BaseControls.C_Button btnSave;
+		private Basics.BaseControls.C_Button btnClose;
+		private Basics.BaseControls.C_ToolStrip tsrOperate;
+		private System.Windows.Forms.ToolStripButton tsbtnAdaptive;
+		private System.Windows.Forms.ToolStripButton tsbtnClose;
+		private System.Windows.Forms.GroupBox gbxInfo;
+		private Basics.BaseControls.C_Button btnClearBarCode;
+		private Basics.BaseControls.C_TXT_BarCode txtBarCodeStart;
+		private Basics.BaseControls.C_Button btnBindBarCode;
+        private Basics.BaseControls.C_Label lblBarCodeStart;
+        private Basics.BaseControls.C_TXT_BarCode txtGroutingBatchno;
+        private Basics.BaseControls.C_Label lblGroutingBatchno;
+        private Basics.BaseControls.C_DateTimePicker dtpGroutingDate;
+        private Basics.BaseControls.C_Label lblGroutingLine;
+        private Controls.SearchBox.ScbGroutingLine scbGroutingLine;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingUserCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingMouldCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GMouldStatus;
+        private System.Windows.Forms.DataGridViewTextBoxColumn BarCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Remarks;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineId;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineDetailID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn UserID;
+    }
+}

+ 484 - 0
DK.Client/PMModule/F_PM_0108.cs

@@ -0,0 +1,484 @@
+/*******************************************************************************
+ * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
+ * 类的信息:
+ *      1.程序名称:F_PM_0108.cs
+ *      2.功能描述:注浆明细条码绑定
+ * 编辑履历:
+ *      作者            日期                版本            修改内容
+ *      陈晓野          2015/04/03          1.00            新建
+ *******************************************************************************/
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Reflection;
+using System.Text;
+using System.Windows.Forms;
+
+using Dongke.IBOSS.PRD.Basics.BaseControls;
+using Dongke.IBOSS.PRD.Basics.BaseResources;
+using Dongke.IBOSS.PRD.Basics.Library;
+using Dongke.IBOSS.PRD.Client.CommonModule;
+using Dongke.IBOSS.PRD.Client.Controls;
+using Dongke.IBOSS.PRD.WCF.DataModels;
+using Dongke.IBOSS.PRD.WCF.Proxys;
+
+namespace Dongke.IBOSS.PRD.Client.PMModule
+{
+    /// <summary>
+    /// 注浆明细条码绑定
+    /// </summary>
+    public partial class F_PM_0108 : DKFormBase
+    {
+        #region 成员变量
+        private bool _isSave = false;       // 保存标识
+        #endregion
+
+        #region 构造函数
+        /// <summary>
+        /// 构造函数
+        /// </summary>
+        public F_PM_0108()
+        {
+            this.InitializeComponent();
+
+            // 功能按钮文本赋值
+            this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
+            this.tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
+            this.btnSave.Text = ButtonText.BTN_SAVE;
+            this.btnClose.Text = ButtonText.BTN_CLOSE;
+            this.dgvDetail.AutoGenerateColumns = false;
+            this.btnBindBarCode.Text = ButtonText.BTN_BINDBARCODE;
+            this.btnClearBarCode.Text = ButtonText.BTN_CLEARBARCODE;
+        }
+        #endregion
+
+        #region 属性
+        /// <summary>
+        /// 窗体状态
+        /// </summary>
+        public Constant.FormMode FormMode
+        {
+            get;
+            set;
+        }
+
+        /// <summary>
+        /// 注浆登记ID
+        /// </summary>
+        public DataRow DrRow
+        {
+            get;
+            set;
+        }
+        #endregion
+
+        #region 事件
+        /// <summary>
+        /// 窗体加载
+        /// </summary>
+        private void F_PM_0108_Load(object sender, EventArgs e)
+        {
+            try
+            {
+                // 设置列表未注浆原因选项数据源
+                this.InitializeData();
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 窗体首次显示事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void F_PM_0108_Shown(object sender, EventArgs e)
+        {
+            if (FormMode == Constant.FormMode.Add)
+            {
+                scbGroutingLine.ShowSearchForm();
+            }
+        }
+
+        /// <summary>
+        /// 提交选择列内容的修改
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void dgvDetail_CurrentCellDirtyStateChanged(object sender, EventArgs e)
+        {
+            try
+            {
+                if (this.dgvDetail.CurrentRow != null && this.dgvDetail.IsCurrentCellDirty)
+                {
+                    if ("ScrapFlag".Equals(this.dgvDetail.Columns
+                            [this.dgvDetail.CurrentCell.ColumnIndex].Name))
+                    {
+                        this.dgvDetail.CommitEdit(DataGridViewDataErrorContexts.Commit);
+                    }
+                    //else if ("BarCode".Equals(this.dgvDetail.Columns
+                    //		[this.dgvDetail.CurrentCell.ColumnIndex].Name))
+                    //{
+                    //	this.dgvDetail.CommitEdit(DataGridViewDataErrorContexts.Commit);
+                    //}
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 排序后设置Grid状态
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void dgvDetail_Sorted(object sender, EventArgs e)
+        {
+            //this.SetEditGrid();
+        }
+
+        /// <summary>
+        /// 自动列宽
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnAdaptive_Click(object sender, EventArgs e)
+        {
+            this.dgvDetail.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+        }
+
+        /// <summary>
+        /// 页面关闭
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnClose_Click(object sender, EventArgs e)
+        {
+            this.DialogResult = DialogResult.Cancel;
+            this.Close();
+        }
+
+        /// <summary>
+        /// 绑定条码
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void txtBarCodeStart_KeyPress(object sender, KeyPressEventArgs e)
+        {
+            if (e.KeyChar == Constant.SYSTEM_KEYBOARD_ENTER_VALUE)
+            {
+                this.btnBindBarCode_Click(sender, e);
+            }
+        }
+
+        /// <summary>
+        /// 绑定条码
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnBindBarCode_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                string barcodeBegin = this.txtBarCodeStart.Text.Trim();
+                if (barcodeBegin.Length <= 0)
+                {
+                    DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_C_003, this.lblBarCodeStart.Text);
+                    this.txtBarCodeStart.Focus();
+                    return;
+                }
+
+                System.Text.RegularExpressions.Match mc =
+                    System.Text.RegularExpressions.Regex.Match(barcodeBegin, @"^([a-zA-Z]*|[a-zA-Z0-9]*[a-zA-Z]+)([0-9]{10,})$");
+                if (!mc.Success)
+                {
+                    DKMessageBox.ShowDialog(this, DKMessageCode.W_CMN_C_005, barcodeBegin);
+                    this.txtBarCodeStart.Focus();
+                    return;
+                }
+
+                string strLetter = mc.Groups[1].Value;
+                string strDigit = mc.Groups[2].Value;
+
+                decimal digit = Convert.ToDecimal(strDigit);
+                int len = strDigit.Length;
+                foreach (DataGridViewRow row in this.dgvDetail.Rows)
+                {
+                    string barcode = strLetter + (digit++).ToString().PadLeft(len, '0');
+                    row.Cells["BarCode"].Value = barcode;
+                    DataRowView dataRow = row.DataBoundItem as DataRowView;
+                    if (dataRow != null)
+                    {
+                        dataRow.EndEdit();
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 清空条码
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnClearBarCode_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                this.txtBarCodeStart.Clear();
+                foreach (DataGridViewRow row in this.dgvDetail.Rows)
+                {
+                    if (!row.Cells["BarCode"].ReadOnly)
+                    {
+                        row.Cells["BarCode"].Value = DBNull.Value;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 保存数据
+        /// </summary>
+        private void btnSave_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                // 验证条码重复
+                DataTable dtDetail = dgvDetail.DataSource as DataTable;
+                if (dtDetail == null || dtDetail.Rows.Count == 0)
+                {
+                    MessageBox.Show(string.Format(Messages.W_CMN_C_006, "没有任何数据"),
+                        this.Text,
+                        MessageBoxButtons.OK,
+                        MessageBoxIcon.Warning);
+                    return;
+                }
+                DataRow[] drs = null;
+
+                foreach (DataRow row in dtDetail.Rows)
+                {
+                    string barcode = row["Barcode"].ToString().Trim();
+                    if (string.IsNullOrWhiteSpace(barcode))
+                    {
+                        row["Barcode"] = DBNull.Value;
+                        continue;
+                    }
+                    else
+                    {
+                        row["Barcode"] = barcode;
+                    }
+
+                    drs = dtDetail.Select("Barcode = '" + barcode + "' AND groutinglinedetailid <> " + row["groutinglinedetailid"]);
+                    if (drs != null && drs.Length > 0)
+                    {
+                        MessageBox.Show("有重复条码【" + barcode + "】",
+                            this.Text,
+                            MessageBoxButtons.OK,
+                            MessageBoxIcon.Warning);
+                        return;
+                    }
+                }
+
+                // 异步处理,获取信息
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_PM_0108";
+                cre.Name = "SaveBarcodeDraft";
+                cre.Properties["groutingdate"] = dtpGroutingDate.Value;
+                cre.Properties["groutinglineid"] = scbGroutingLine.SearchedPKMember;
+                cre.Properties["groutingbatchno"] = txtGroutingBatchno.Text.Trim();
+                cre.Data = new DataSet();
+                cre.Data.Tables.Add(dtDetail.Copy());
+
+                // 调用服务器端获取数据集
+                ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() =>
+                {
+                    return PMModuleProxyNew.Service.HandleRequest(cre);
+                }));
+
+                if (sre.OtherStatus > 0)
+                {
+                    MessageBox.Show(string.Format(Messages.MSG_CMN_I001, Text, "保存"),
+                        this.Text,
+                        MessageBoxButtons.OK,
+                        MessageBoxIcon.Information);
+
+                    _isSave = true;
+
+                    if (FormMode == Constant.FormMode.Add)
+                    {
+                        txtGroutingBatchno.Text = (cre.Properties["groutingbatchno"].ToNullableInt32() + 1) + "";
+                        txtBarCodeStart.Text = string.Empty;
+
+                        foreach (DataRow row in dtDetail.Rows)
+                        {
+                            row["Barcode"] = DBNull.Value;
+                        }
+                    }
+                    else
+                    {
+                        Close();
+                    }
+                }
+                else if (sre.OtherStatus < 0 && !string.IsNullOrEmpty(sre.Message))
+                {
+                    // 提示未查找到数据
+                    MessageBox.Show(string.Format(Messages.W_CMN_C_006, sre.Message),
+                        this.Text,
+                        MessageBoxButtons.OK,
+                        MessageBoxIcon.Warning);
+                }
+                else
+                {
+                    // 提示未查找到数据
+                    MessageBox.Show(Messages.MSG_CMN_W007,
+                        this.Text,
+                        MessageBoxButtons.OK,
+                        MessageBoxIcon.Warning);
+                }
+            }
+            catch (Exception ex)
+            {
+                //this.SetEditGrid();
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 成型线改变事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void scbGroutingLine_TextValueChanged(object sender, WinForm.Controls.ScbSearchBox.TextChangeEventArgs e)
+        {
+            try
+            {
+                dgvDetail.DataSource = null;
+                if (scbGroutingLine.SearchedPKMember != 0)
+                {
+                    // 异步处理,获取信息
+                    ClientRequestEntity cre = new ClientRequestEntity();
+                    cre.NameSpace = "F_PM_0108";
+                    cre.Name = "GetGroutingLineByGroutingID";
+                    cre.Properties["groutinglineid"] = scbGroutingLine.SearchedPKMember;
+                    cre.Properties["groutingdate"] = dtpGroutingDate.Value;
+
+                    // 调用服务器端获取数据集
+                    ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() =>
+                    {
+                        return PMModuleProxyNew.Service.HandleRequest(cre);
+                    }));
+
+                    if (sre.Data != null && sre.Data.Tables.Count > 0)
+                    {
+                        dgvDetail.DataSource = sre.Data.Tables[0];
+                        txtGroutingBatchno.Text = sre.Result + "";
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                //this.SetEditGrid();
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 关闭窗体
+        /// </summary>
+        private void btnCancel_Click(object sender, EventArgs e)
+        {
+            this.Close();
+        }
+
+        /// <summary>
+        /// 窗体关闭事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void F_PM_0108_FormClosing(object sender, FormClosingEventArgs e)
+        {
+            if (_isSave)
+            {
+                DialogResult = DialogResult.OK;
+            }
+        }
+        #endregion
+
+        #region 私有方法
+        /// <summary>
+        /// 取得注浆日报信息
+        /// </summary>
+        private void InitializeData()
+        {
+            try
+            {
+                if (FormMode == Constant.FormMode.Add)
+                {
+                    this.Text = FormTitles.F_PM_0107_ADD;
+
+                    dtpGroutingDate.Value = DateTime.Now.Date.AddDays(1);
+                    dtpGroutingDate.MinDate = DateTime.Now.Date;
+                }
+                else if (FormMode == Constant.FormMode.Edit)
+                {
+                    this.Text = FormTitles.F_PM_0107_EDIT;
+                    dtpGroutingDate.Value = Convert.ToDateTime(DrRow["groutingdate"]);
+                    scbGroutingLine.Text = DrRow["GroutingLineCode"] + "";
+                    scbGroutingLine.SearchedPKMember = Convert.ToInt32(DrRow["groutinglineid"]);
+                    txtGroutingBatchno.Text = DrRow["GroutingBatchno"] + "";
+
+                    dtpGroutingDate.Enabled = false;
+                    scbGroutingLine.Enabled = false;
+                    txtGroutingBatchno.ReadOnly = true;
+
+                    // 异步处理,获取信息
+                    ClientRequestEntity cre = new ClientRequestEntity();
+                    cre.NameSpace = "F_PM_0108";
+                    cre.Name = "GetBarcodeDraft";
+                    cre.Properties["groutinglineid"] = DrRow["groutinglineid"];
+                    cre.Properties["groutingbatchno"] = DrRow["groutingbatchno"];
+                    cre.Properties["groutingdate"] = DrRow["groutingdate"];
+
+                    // 调用服务器端获取数据集
+                    ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() =>
+                    {
+                        return PMModuleProxyNew.Service.HandleRequest(cre);
+                    }));
+
+                    if (sre.Data != null && sre.Data.Tables.Count > 0)
+                    {
+                        dgvDetail.DataSource = sre.Data.Tables[0];
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+        #endregion
+    }
+}

+ 195 - 0
DK.Client/PMModule/F_PM_0108.resx

@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="btnClose.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAFUAAAAeCAYAAABdalL1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAI5JREFUaEPt0KERxCAUQMFrEImOowUsioJSAb3gaOLfnLjJRMNzT2wD+ymlhPb1
+        3mOMEWutMPUQUwGmAkwFmAowFWAqwFSAqQBTAaYCTAWYCnilXtcV2tdaM/U0UwGmAmqtT2rOObTvnzrn
+        NPUUUwGmAkwFmAowFWAqwFSAqYBf6n3fpp70Sk0phfY9qTO+PIZEBQZ3CrAAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="btnSave.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAFUAAAAeCAYAAABdalL1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAI5JREFUaEPt0KERxCAUQMFrEImOowUsioJSAb3gaOLfnLjJRMNzT2wD+ymlhPb1
+        3mOMEWutMPUQUwGmAkwFmAowFWAqwFSAqQBTAaYCTAWYCnilXtcV2tdaM/U0UwGmAmqtT2rOObTvnzrn
+        NPUUUwGmAkwFmAowFWAqwFSAqYBf6n3fpp70Sk0phfY9qTO+PIZEBQZ3CrAAAAAASUVORK5CYII=
+</value>
+  </data>
+  <metadata name="GroutingLineCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingLineName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingUserCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GoodsCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GoodsName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingMouldCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GMouldStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="BarCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Remarks.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingLineId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingLineDetailID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="UserID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="tsrOperate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>147, 17</value>
+  </metadata>
+  <data name="btnClearBarCode.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAFUAAAAeCAYAAABdalL1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAI5JREFUaEPt0KERxCAUQMFrEImOowUsioJSAb3gaOLfnLjJRMNzT2wD+ymlhPb1
+        3mOMEWutMPUQUwGmAkwFmAowFWAqwFSAqQBTAaYCTAWYCnilXtcV2tdaM/U0UwGmAmqtT2rOObTvnzrn
+        NPUUUwGmAkwFmAowFWAqwFSAqYBf6n3fpp70Sk0phfY9qTO+PIZEBQZ3CrAAAAAASUVORK5CYII=
+</value>
+  </data>
+  <data name="btnBindBarCode.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAAFUAAAAeCAYAAABdalL1AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        vAAADrwBlbxySQAAAI5JREFUaEPt0KERxCAUQMFrEImOowUsioJSAb3gaOLfnLjJRMNzT2wD+ymlhPb1
+        3mOMEWutMPUQUwGmAkwFmAowFWAqwFSAqQBTAaYCTAWYCnilXtcV2tdaM/U0UwGmAmqtT2rOObTvnzrn
+        NPUUUwGmAkwFmAowFWAqwFSAqYBf6n3fpp70Sk0phfY9qTO+PIZEBQZ3CrAAAAAASUVORK5CYII=
+</value>
+  </data>
+  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>35</value>
+  </metadata>
+</root>

+ 18 - 0
DK.Client/PMModule/PMModule.csproj

@@ -97,6 +97,12 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="F_PM_0107.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="F_PM_0107.Designer.cs">
+      <DependentUpon>F_PM_0107.cs</DependentUpon>
+    </Compile>
     <Compile Include="F_PM_0101.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -109,6 +115,12 @@
     <Compile Include="F_PM_0102.Designer.cs">
       <DependentUpon>F_PM_0102.cs</DependentUpon>
     </Compile>
+    <Compile Include="F_PM_0108.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="F_PM_0108.Designer.cs">
+      <DependentUpon>F_PM_0108.cs</DependentUpon>
+    </Compile>
     <Compile Include="F_PM_0106.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -749,12 +761,18 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
+    <EmbeddedResource Include="F_PM_0107.resx">
+      <DependentUpon>F_PM_0107.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="F_PM_0101.resx">
       <DependentUpon>F_PM_0101.cs</DependentUpon>
     </EmbeddedResource>
     <EmbeddedResource Include="F_PM_0102.resx">
       <DependentUpon>F_PM_0102.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="F_PM_0108.resx">
+      <DependentUpon>F_PM_0108.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="F_PM_0106.resx">
       <DependentUpon>F_PM_0106.cs</DependentUpon>
     </EmbeddedResource>

+ 155 - 0
DK.Service/PDAModuleLogic/PDAModuleLogic.cs

@@ -7273,5 +7273,160 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
         }
         #endregion
 
+        #region 试验留瓷标记
+        /// <summary>
+        /// 验证留瓷条码
+        /// </summary>
+        /// <param name="barcode"></param>
+        /// <param name="user"></param>
+        /// <param name="saveFlag"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity CheckRetainBarcode(string barcode, SUserInfo user, string saveFlag)
+        {
+            IDBConnection conn = null;
+            try
+            {
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn.Open();
+
+                string sqlString =
+                "SELECT gdd.barcode\n" +
+                "      ,gdd.groutingmouldcode\n" +
+                "      ,gdd.groutingdate\n" +
+                "      ,gdd.goodscode\n" +
+                "      ,gdd.usercode\n" +
+                "      ,gdd.retainflag\n" +
+                "  FROM tp_pm_groutingdailydetail gdd\n" +
+                " WHERE gdd.accountid = :accountid\n" +
+                "   AND gdd.barcode = :barcode";
+
+                IDataParameter[] paras = new OracleParameter[]
+                {
+                    new OracleParameter(":accountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input),
+                    new OracleParameter(":barcode", OracleDbType.NVarchar2, barcode, ParameterDirection.Input),
+                };
+                DataSet data = conn.GetSqlResultToDs(sqlString, paras);
+
+                ServiceResultEntity sre = new ServiceResultEntity();
+                if (data == null || data.Tables.Count == 0 || data.Tables[0].Rows.Count == 0)
+                {
+                    sre.OtherStatus = -1;
+                    sre.Message = "无效条码";
+                    return sre;
+                }
+
+                DataRow row = data.Tables[0].Rows[0];
+                if (saveFlag == "1" && row["retainflag"] + "" == "1")
+                {
+                    sre.OtherStatus = -1;
+                    sre.Message = "此条码已经留瓷";
+                    return sre;
+                }
+
+                if (saveFlag == "0" && (row["retainflag"] + "" == "0" || string.IsNullOrEmpty(row["retainflag"] + "")))
+                {
+                    sre.OtherStatus = -1;
+                    sre.Message = "此条码已经撤销留瓷";
+                    return sre;
+                }
+
+                sre.Data = data;
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                if (conn != null &&
+                    conn.ConnState == ConnectionState.Open)
+                {
+                    conn.Close();
+                }
+            }
+        }
+
+        /// <summary>
+        /// 保存留瓷标识
+        /// </summary>
+        /// <param name="barcode"></param>
+        /// <param name="saveFlag"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity SaveRetainFlag(string[] barcodes, string saveFlag)
+        {
+            IDBTransaction oracleConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
+            try
+            {
+                ServiceResultEntity sre = new ServiceResultEntity();
+                string sqlString = string.Empty;
+
+                foreach (string barcode in barcodes)
+                {
+                    sqlString = "SELECT gdd.retainflag\n" +
+                                "  FROM tp_pm_groutingdailydetail gdd\n" +
+                                " WHERE gdd.barcode = :barcode";
+
+                    OracleParameter[] paras = new OracleParameter[]
+                    {
+                    new OracleParameter(":barcode", barcode)
+                    };
+
+                    string retainflag = oracleConn.GetSqlResultToStr(sqlString, paras);
+
+                    // 设为留瓷
+                    if (saveFlag == "1")
+                    {
+                        // 已经留瓷
+                        if ("1".Equals(retainflag))
+                        {
+                            sre.OtherStatus = -1;
+                            sre.Message = "【"+ barcode + "】已留瓷";
+                            return sre;
+                        }
+                    }
+                    // 取消留瓷
+                    else
+                    {
+                        // 已经取消留瓷
+                        if ("0".Equals(retainflag) || string.IsNullOrEmpty(retainflag))
+                        {
+                            sre.OtherStatus = -1;
+                            sre.Message = "【" + barcode + "】已取消留瓷";
+                            return sre;
+                        }
+                    }
+
+                    sqlString =
+                    "UPDATE tp_pm_groutingdailydetail gdd\n" +
+                    "   SET gdd.retainflag = :retainflag\n" +
+                    " WHERE gdd.barcode = :barcode";
+
+                    paras = new OracleParameter[]
+                    {
+                        new OracleParameter(":retainflag", saveFlag),
+                        new OracleParameter(":barcode", barcode)
+                    };
+
+                    sre.OtherStatus += oracleConn.ExecuteNonQuery(sqlString, paras);
+                }
+               
+                oracleConn.Commit();
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                if (oracleConn.ConnState == ConnectionState.Open)
+                {
+                    oracleConn.Disconnect();
+                }
+            }
+        }
+        #endregion
+
     }
 }

+ 1 - 0
DK.Service/PDAModuleLogic/PDAModuleLogic.csproj

@@ -99,6 +99,7 @@
     <Reference Include="System.Drawing" />
     <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.XML" />
+    <Reference Include="Utilities, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\DK.Basics\BaseResources\BaseResources.csproj">

+ 323 - 0
DK.Service/PMModuleService/PMModuleLogic.cs

@@ -12,6 +12,7 @@ using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Text;
+using Curtain.Core;
 using Curtain.DataAccess;
 using Dongke.IBOSS.PRD.Basics.BaseResources;
 using Dongke.IBOSS.PRD.Basics.DataAccess;
@@ -9618,5 +9619,327 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             }
         }
         #endregion
+
+        #region 条码预设
+        /// <summary>
+        /// 通过成型线ID获取要绑码的产品
+        /// </summary>
+        /// <param name="groutingID"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity GetBarcodeDraft(ClientRequestEntity cre, SUserInfo userInfo)
+        {
+            IDataAccess dataAccess = DataAccess.Create(DataBaseType.Oracle, DataManager.ConnectionString);
+            ServiceResultEntity sre = new ServiceResultEntity();
+            try
+            {
+                List<CDAParameter> paras = new List<CDAParameter>();
+                string sqlString =
+                "SELECT gl.groutinglinecode\n" +
+                "      ,gl.groutinglinename\n" +
+                "      ,gmt.gmouldtypename\n" +
+                "      ,gld.groutingmouldcode\n" +
+                "      ,decode(gl.usercount, 1, u.usercode, NULL) groutingusercode\n" +
+                "      ,mg.goodscode\n" +
+                "      ,mg.goodsname\n" +
+                "      ,gms.gmouldstatusname\n" +
+                "      ,bd.groutingdate\n" +
+                "      ,bd.groutingbatchno\n" +
+                "      ,bd.barcode\n" +
+                "      ,bd.remarks\n" +
+                "      ,gl.groutinglineid\n" +
+                "      ,gld.groutinglinedetailid\n" +
+                "      ,cu.usercode as createusercode\n" +
+                "      ,cu.username as createusername\n" +
+                "  FROM tp_pm_barcodedraft bd\n" +
+                " INNER JOIN tp_pc_groutingline gl\n" +
+                "    ON gl.groutinglineid = bd.groutinglineid\n" +
+                " INNER JOIN tp_pc_groutinglinedetail gld\n" +
+                "    ON gl.groutinglineid = gld.groutinglineid\n" +
+                "   AND gld.groutinglinedetailid = bd.groutinglinedetailid\n" +
+                " INNER JOIN tp_sys_gmouldstatus gms\n" +
+                "    ON gms.gmouldstatusid = gld.gmouldstatus\n" +
+                " INNER JOIN tp_mst_goods mg\n" +
+                "    ON mg.goodsid = gld.goodsid\n" +
+                " INNER JOIN tp_mst_user u\n" +
+                "    ON u.userid = gl.userid\n" +
+                "  LEFT JOIN tp_mst_gmouldtype gmt\n" +
+                "    ON gmt.gmouldtypeid = gl.gmouldtypeid\n" +
+                "  LEFT JOIN tp_mst_user cu\n" +
+                "    ON cu.userid = bd.createuserid\n" +
+                " WHERE bd.valueflag = '1'\n" +
+                "   AND bd.accountid = @accoundid@\n";
+
+                #region 查询条件
+                paras.Add(new CDAParameter("accoundid", userInfo.AccountID));
+
+                if (cre.Properties["groutinglineid"].ToInt32() != 0)
+                {
+                    sqlString += " AND bd.groutinglineid = @groutinglineid@\n";
+                    paras.Add(new CDAParameter("groutinglineid", cre.Properties["groutinglineid"]));
+                }
+
+                if (cre.Properties["groutingbatchno"].ToInt32() != 0)
+                {
+                    sqlString += "AND bd.groutingbatchno = @groutingbatchno@\n";
+                    paras.Add(new CDAParameter("groutingbatchno", cre.Properties["groutingbatchno"]));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["groutingdate"] + ""))
+                {
+                    sqlString += "AND bd.groutingdate = @groutingdate@\n";
+                    paras.Add(new CDAParameter("groutingdate", cre.Properties["groutingdate"]));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["GroutingDateFrom"] + ""))
+                {
+                    sqlString += " AND bd.GroutingDate >= @GroutingDateFrom@\n";
+                    paras.Add(new CDAParameter("GroutingDateFrom", cre.Properties["GroutingDateFrom"]));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["GroutingDateTo"] + ""))
+                {
+                    sqlString += " AND bd.GroutingDate < @GroutingDateTo@\n";
+                    paras.Add(new CDAParameter("GroutingDateTo", cre.Properties["GroutingDateTo"]));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["GroutingLineCode"] + ""))
+                {
+                    sqlString += " AND gl.groutinglinecode LIKE @GroutingLineCode@\n";
+                    paras.Add(new CDAParameter("GroutingLineCode", "%" + cre.Properties["GroutingLineCode"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["GroutingLineCode"] + ""))
+                {
+                    sqlString += " AND gld.GroutingMouldCode LIKE @GroutingMouldCode@\n";
+                    paras.Add(new CDAParameter("GroutingMouldCode", "%" + cre.Properties["GroutingMouldCode"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["GoodsCode"] + ""))
+                {
+                    sqlString += " AND mg.GoodsCode LIKE @GoodsCode@\n";
+                    paras.Add(new CDAParameter("GoodsCode", "%" + cre.Properties["GoodsCode"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["GroutingBatchNo"] + ""))
+                {
+                    sqlString += " AND bd.GroutingBatchNo = @GroutingBatchNo@\n";
+                    paras.Add(new CDAParameter("GroutingBatchNo", cre.Properties["GroutingBatchNo"]));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["Remarks"] + ""))
+                {
+                    sqlString += " AND bd.Remarks LIKE @Remarks@\n";
+                    paras.Add(new CDAParameter("Remarks", "%" + cre.Properties["Remarks"] + "%"));
+                }
+                if (cre.Properties["UserID"].ToInt32() != 0)
+                {
+                    sqlString += " AND bd.createuserid = @createuserid@\n";
+                    paras.Add(new CDAParameter("createuserid", cre.Properties["UserID"]));
+                }
+
+                #endregion
+                sqlString += " ORDER BY bd.groutingdate,gl.groutinglinecode,bd.groutingbatchno,gld.groutingmouldcode";
+
+                sre.Data = dataAccess.ExecuteDataset(sqlString, paras.ToArray());
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                dataAccess?.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// 通过成型线ID获取要绑码的产品
+        /// </summary>
+        /// <param name="groutingID"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity GetGroutingLineByGroutingID(ClientRequestEntity cre)
+        {
+            IDataAccess dataAccess = DataAccess.Create(DataBaseType.Oracle, DataManager.ConnectionString);
+            ServiceResultEntity sre = new ServiceResultEntity();
+            try
+            {
+                string sqlString =
+                "SELECT gl.groutinglinecode\n" +
+                "      ,gl.groutinglinename\n" +
+                "      ,gmt.gmouldtypename\n" +
+                "      ,gld.groutingmouldcode\n" +
+                "      ,decode(gl.usercount, 1, u.usercode, NULL) groutingusercode\n" +
+                "      ,mg.goodscode\n" +
+                "      ,mg.goodsname\n" +
+                "      ,gms.gmouldstatusname\n" +
+                "      ,0 AS groutingbatchno\n" +
+                "      ,'' AS barcode\n" +
+                "      ,'' AS remarks\n" +
+                "      ,gl.groutinglineid\n" +
+                "      ,gld.groutinglinedetailid\n" +
+                "  FROM tp_pc_groutingline gl\n" +
+                " INNER JOIN tp_pc_groutinglinedetail gld\n" +
+                "    ON gl.groutinglineid = gld.groutinglineid\n" +
+                "   AND gld.valueflag = '1'\n" +
+                "   AND gld.gmouldstatus = '1'\n" +
+                " INNER JOIN tp_sys_gmouldstatus gms\n" +
+                "    ON gms.gmouldstatusid = gld.gmouldstatus\n" +
+                " INNER JOIN tp_mst_goods mg\n" +
+                "    ON mg.goodsid = gld.goodsid\n" +
+                " INNER JOIN tp_mst_user u\n" +
+                "    ON u.userid = gl.userid\n" +
+                "  LEFT JOIN tp_mst_gmouldtype gmt\n" +
+                "    ON gmt.gmouldtypeid = gl.gmouldtypeid\n" +
+                " WHERE gl.groutinglineid = @groutinglineid@\n" +
+                " ORDER BY gld.groutingmouldcode";
+
+                CDAParameter[] paras = new CDAParameter[]
+                {
+                    new CDAParameter("groutinglineid", cre.Properties["groutinglineid"])
+                };
+
+                sre.Data = dataAccess.ExecuteDataset(sqlString, paras);
+
+                sqlString = "SELECT nvl(MAX(b.groutingbatchno), 0) + 1 AS groutingbatchno\n" +
+                            "  FROM tp_pm_barcodedraft b\n" +
+                            " WHERE b.groutinglineid = @groutinglineid@\n" +
+                            "   AND b.groutingdate = @groutingdate@";
+
+                paras = new CDAParameter[]
+                {
+                    new CDAParameter("groutinglineid", cre.Properties["groutinglineid"]),
+                    new CDAParameter("groutingdate",  cre.Properties["groutingdate"])
+                };
+
+                sre.Result = dataAccess.ExecuteScalar(sqlString, paras);
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                dataAccess?.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// 保存条码预设
+        /// </summary>
+        /// <param name="cre"></param>
+        /// <param name="userInfo"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity SaveBarcodeDraft(ClientRequestEntity cre, SUserInfo userInfo)
+        {
+            IDataAccess dataAccess = DataAccess.Create(DataBaseType.Oracle, DataManager.ConnectionString);
+            ServiceResultEntity sre = new ServiceResultEntity();
+            try
+            {
+                CDAParameter[] paras = null;
+                string sqlString = string.Empty;
+                dataAccess.Open(true);
+
+                // 如果是新建,判断批次号是否重复
+                if (cre.Data != null && cre.Data.Tables[0].Rows[0]["groutingbatchno"].ToInt32() == 0)
+                {
+                    sqlString = "SELECT 1 FROM tp_pm_barcodedraft b\n" +
+                                " WHERE b.groutinglineid = @groutinglineid@\n" +
+                                "   AND b.groutingdate = @groutingdate@\n" +
+                                "   AND b.groutingbatchno = @groutingbatchno@";
+
+                    paras = new CDAParameter[]
+                    {
+                        new CDAParameter("groutinglineid", cre.Properties["groutinglineid"]),
+                        new CDAParameter("groutingdate",  cre.Properties["groutingdate"]),
+                        new CDAParameter("groutingbatchno",  cre.Properties["groutingbatchno"])
+                    };
+
+                    object isExists = dataAccess.ExecuteScalar(sqlString, paras);
+
+                    if (isExists != null)
+                    {
+                        sre.OtherStatus = -1;
+                        sre.Message = "当前批次号已经存在";
+                        return sre;
+                    }
+                }
+
+                #region 删除
+                sqlString = "DELETE FROM tp_pm_barcodedraft b\n" +
+                            " WHERE b.groutinglineid = @groutinglineid@\n" +
+                            "   AND b.groutingdate = @groutingdate@\n" +
+                            "   AND b.groutingbatchno = @groutingbatchno@";
+
+                paras = new CDAParameter[]
+                {
+                    new CDAParameter("groutinglineid", cre.Properties["groutinglineid"]),
+                    new CDAParameter("groutingdate",  cre.Properties["groutingdate"]),
+                    new CDAParameter("groutingbatchno",  cre.Properties["groutingbatchno"])
+                };
+
+                sre.OtherStatus += dataAccess.ExecuteNonQuery(sqlString, paras);
+                #endregion
+
+                #region 新建
+                if (cre.Data != null)
+                {
+                    sqlString = "INSERT INTO tp_pm_barcodedraft\n" +
+                                "    (groutinglineid\n" +
+                                "    ,groutinglinedetailid\n" +
+                                "    ,groutingbatchno\n" +
+                                "    ,groutingdate\n" +
+                                "    ,groutingmouldcode\n" +
+                                "    ,barcode\n" +
+                                "    ,remarks\n" +
+                                "    ,accountid\n" +
+                                "    ,createuserid)\n" +
+                                "VALUES\n" +
+                                "    (@groutinglineid@\n" +
+                                "    ,@groutinglinedetailid@\n" +
+                                "    ,@groutingbatchno@\n" +
+                                "    ,@groutingdate@\n" +
+                                "    ,@groutingmouldcode@\n" +
+                                "    ,@barcode@\n" +
+                                "    ,@remarks@\n" +
+                                "    ,@accountid@\n" +
+                                "    ,@createuserid@)";
+
+                    foreach (DataRow item in cre.Data.Tables[0].Rows)
+                    {
+                        paras = new CDAParameter[]
+                        {
+                            new CDAParameter("groutinglineid", cre.Properties["groutinglineid"]),
+                            new CDAParameter("groutinglinedetailid", item["groutinglinedetailid"]),
+                            new CDAParameter("groutingbatchno",  cre.Properties["groutingbatchno"]),
+                            new CDAParameter("groutingdate",  cre.Properties["groutingdate"]),
+                            new CDAParameter("groutingmouldcode",  item["groutingmouldcode"]),
+                            new CDAParameter("barcode", item["barcode"]),
+                            new CDAParameter("remarks", item["remarks"]),
+                            new CDAParameter("accountid", userInfo.AccountID),
+                            new CDAParameter("createuserid", userInfo.UserID)
+                        };
+
+                        sre.OtherStatus += dataAccess.ExecuteNonQuery(sqlString, paras);
+                    }
+                }
+                #endregion
+
+                dataAccess.Commit();
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                dataAccess?.Dispose();
+            }
+        }
+        #endregion
     }
 }

+ 5 - 0
DK.Service/SystemModuleLogic/SystemModuleLogic.cs

@@ -1151,6 +1151,11 @@ namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
 					sqlString += " AND GUSER.UserCode LIKE :UserCode\n";
 					parameters.Add(new OracleParameter(":UserCode", OracleDbType.Varchar2, "%" + UserCode + "%", ParameterDirection.Input));
 				}
+
+                if (!string.IsNullOrEmpty(cre.Properties["GmouldStatus"]+""))
+                {
+					sqlString += " AND GROUT.GMOULDSTATUS IN("+ cre.Properties["GmouldStatus"] + ")\n";
+				}
 				sqlString += " ORDER BY GROUT.GROUTINGLINECODE";
 				sre.Data = con.GetSqlResultToDs(sqlString, parameters.ToArray());
 				return sre;

+ 4 - 0
IBOSS.PRD/F_SYS_0202.cs

@@ -1023,6 +1023,10 @@ namespace Dongke.IBOSS.PRD.Client
 									//生产管理-开模报损
 									this.ShowDialogForm(new F_PM_2901());
 									break;
+								case "060207":
+									//生产管理-条码预设
+									this.ShowInDockPanel(F_PM_0107.Instance);
+									break;
 								#endregion
 
 								#region 生产管理-生产数据采集

+ 81 - 2
WCF.Service/WCF.Services/PDAModuleService.cs

@@ -11012,9 +11012,88 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                         return actionResult;
                     }
                 }
-                #endregion
+				#endregion
+
+				#region 试验留瓷标记
+				if (module == "RetainBarcode")
+				{
+                    #region 留瓷
+                    if (action == "CheckRetainBarcode")
+                    {
+                        string barcode = data["Barcode"] + "";
+						ServiceResultEntity sre = PDAModuleLogic.CheckRetainBarcode(barcode, sUserInfo, "1");
+
+                        if (sre.OtherStatus >= 0)
+                        {
+                            actionResult.Status = (int)Constant.PDAResult.Success;
+                            actionResult.Result = JsonHelper.ToJson(sre.Data);
+                        }
+                        else
+                        {
+                            actionResult.Status = (int)Constant.PDAResult.Fail;
+                            actionResult.Result = sre.OtherStatus;
+                            actionResult.Message = sre.Message;
+                        }
+                        return actionResult;
+                    }
+                    else if (action == "SaveRetainFlag")
+                    {
+						string[] barcodes = JsonHelper.FromJson<string[]>(data["Barcodes"] + "");
+						ServiceResultEntity sre = PDAModuleLogic.SaveRetainFlag(barcodes, "1");
+
+                        if (sre.OtherStatus > 0)
+                        {
+                            actionResult.Status = (int)Constant.PDAResult.Success;
+                        }
+                        else
+                        {
+                            actionResult.Status = (int)Constant.PDAResult.Fail;
+                            actionResult.Message = sre.Message;
+                        }
+                        return actionResult;
+                    }
+                    #endregion
 
-                return actionResult;
+                    #region 撤销留瓷
+                    if (action == "CheckBackRetainBarcode")
+                    {
+                        string barcode = data["Barcode"] + "";
+                        ServiceResultEntity sre = PDAModuleLogic.CheckRetainBarcode(barcode, sUserInfo, "0");
+
+						if (sre.OtherStatus >= 0)
+						{
+							actionResult.Status = (int)Constant.PDAResult.Success;
+							actionResult.Result = JsonHelper.ToJson(sre.Data);
+						}
+						else
+						{
+							actionResult.Status = (int)Constant.PDAResult.Fail;
+							actionResult.Result = sre.OtherStatus;
+							actionResult.Message = sre.Message;
+						}
+						return actionResult;
+					}
+                    else if (action == "SaveBackRetainFlag")
+                    {
+						string[] barcodes = JsonHelper.FromJson<string[]>(data["Barcodes"] + "");
+						ServiceResultEntity sre = PDAModuleLogic.SaveRetainFlag(barcodes, "0");
+
+						if (sre.OtherStatus > 0)
+						{
+							actionResult.Status = (int)Constant.PDAResult.Success;
+						}
+						else
+						{
+							actionResult.Status = (int)Constant.PDAResult.Fail;
+							actionResult.Message = sre.Message;
+						}
+						return actionResult;
+                    } 
+                    #endregion
+                }
+				#endregion
+
+				return actionResult;
 			}
 			catch (Exception ex)
 			{

+ 29 - 0
WCF.Service/WCF.Services/PMModuleServiceNew.cs

@@ -545,6 +545,35 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 }
                 #endregion
 
+                #region 条码预设 fubin add 2020-09-29
+                // 一览页面
+                if (cre.NameSpace == "F_PM_0107")
+                {
+                    if (cre.Name == "GetBarcodeDraft")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetBarcodeDraft(cre, SUserInfo));
+                    }
+                    return null;
+                }
+                // 新建编辑页面
+                if (cre.NameSpace == "F_PM_0108")
+                {
+                    if (cre.Name == "GetGroutingLineByGroutingID")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetGroutingLineByGroutingID(cre));
+                    }
+                    if (cre.Name == "GetBarcodeDraft")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PMModuleLogic.GetBarcodeDraft(cre, SUserInfo));
+                    }
+                    if (cre.Name == "SaveBarcodeDraft")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PMModuleLogic.SaveBarcodeDraft(cre, SUserInfo));
+                    }
+                    return null;
+                }
+                #endregion
+
                 return null;
             }
             catch (Exception ex)