Kaynağa Gözat

工厂调出

Administrator 5 yıl önce
ebeveyn
işleme
579ebea611

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

@@ -808,6 +808,15 @@ namespace Dongke.IBOSS.PRD.Basics.BaseResources {
         }
         
         /// <summary>
+        ///   查找类似 员工工位 的本地化字符串。
+        /// </summary>
+        public static string F_MST_1301 {
+            get {
+                return ResourceManager.GetString("F_MST_1301", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   查找类似 参数设定 的本地化字符串。
         /// </summary>
         public static string F_PAM_0101 {
@@ -1672,6 +1681,15 @@ namespace Dongke.IBOSS.PRD.Basics.BaseResources {
         }
         
         /// <summary>
+        ///   查找类似 工厂调出 的本地化字符串。
+        /// </summary>
+        public static string F_PM_3301 {
+            get {
+                return ResourceManager.GetString("F_PM_3301", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   查找类似 半检审批 的本地化字符串。
         /// </summary>
         public static string F_RM_1603 {
@@ -1852,6 +1870,15 @@ namespace Dongke.IBOSS.PRD.Basics.BaseResources {
         }
         
         /// <summary>
+        ///   查找类似 工厂调出汇总表 的本地化字符串。
+        /// </summary>
+        public static string F_RPT_030120 {
+            get {
+                return ResourceManager.GetString("F_RPT_030120", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   查找类似 注浆交坯比率分析表 的本地化字符串。
         /// </summary>
         public static string F_RPT_040101 {

+ 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_3301" xml:space="preserve">
+    <value>工厂调出</value>
+  </data>
+  <data name="F_RPT_030120" xml:space="preserve">
+    <value>工厂调出汇总表</value>
+  </data>
+  <data name="F_MST_1301" xml:space="preserve">
+    <value>员工工位</value>
+  </data>
 </root>

+ 869 - 0
DK.Client/PMModule/F_PM_3301.Designer.cs

@@ -0,0 +1,869 @@
+namespace Dongke.IBOSS.PRD.Client.PMModule
+{
+    partial class F_PM_3301
+    {
+        /// <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_3301));
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = 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.gbSelect = new Dongke.IBOSS.PRD.Basics.BaseControls.C_GroupBox();
+            this.txtGroutingLineName = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
+            this.lblGroutingLineName = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.txtGoodsName = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
+            this.lblGoodsName = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.lblScrapDateStart = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.cmbRreason = new Dongke.IBOSS.PRD.Basics.BaseControls.C_ComboBox();
+            this.c_Label1 = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.txtRemarks = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
+            this.txtGoodsCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
+            this.lblGoodsCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.dtpScrapDateEnd = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DateTimePicker();
+            this.lblScrapDateEnd = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.dtpScrapDateStart = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DateTimePicker();
+            this.lblRemarks = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.txtBarCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
+            this.lblBarCode = 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.btnClearCondition = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.btnSearch = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            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.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
+            this.tsbtnAdaptive = new System.Windows.Forms.ToolStripButton();
+            this.tsbtnClose = new System.Windows.Forms.ToolStripButton();
+            this.dgvScrapProduct = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView();
+            this.BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Rreason = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ScrapDate = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ProcedureName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ProductionLineCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ProductionLineName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingDate = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingUserCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingMouldCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.MouldCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsLevelName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Remarks = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ISPUBLICBODY = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.SPECIALREPAIRFLAG = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.ProductionLineID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingDailyID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingDailyDetailID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GMouldTypeID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineDetailID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsLevelTypeID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.AccountID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ValueFlag = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ScrapProductID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.gbSelect.SuspendLayout();
+            this.tsrOperate.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvScrapProduct)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // gbSelect
+            // 
+            this.gbSelect.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.gbSelect.BackColor = System.Drawing.Color.Transparent;
+            this.gbSelect.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("gbSelect.BackgroundImage")));
+            this.gbSelect.Controls.Add(this.txtGroutingLineName);
+            this.gbSelect.Controls.Add(this.lblGroutingLineName);
+            this.gbSelect.Controls.Add(this.txtGoodsName);
+            this.gbSelect.Controls.Add(this.lblGoodsName);
+            this.gbSelect.Controls.Add(this.lblScrapDateStart);
+            this.gbSelect.Controls.Add(this.cmbRreason);
+            this.gbSelect.Controls.Add(this.c_Label1);
+            this.gbSelect.Controls.Add(this.txtRemarks);
+            this.gbSelect.Controls.Add(this.txtGoodsCode);
+            this.gbSelect.Controls.Add(this.lblGoodsCode);
+            this.gbSelect.Controls.Add(this.dtpScrapDateEnd);
+            this.gbSelect.Controls.Add(this.lblScrapDateEnd);
+            this.gbSelect.Controls.Add(this.dtpScrapDateStart);
+            this.gbSelect.Controls.Add(this.lblRemarks);
+            this.gbSelect.Controls.Add(this.txtBarCode);
+            this.gbSelect.Controls.Add(this.lblBarCode);
+            this.gbSelect.Controls.Add(this.txtGroutingLineCode);
+            this.gbSelect.Controls.Add(this.lblGroutingLineCode);
+            this.gbSelect.Controls.Add(this.btnClearCondition);
+            this.gbSelect.Controls.Add(this.btnSearch);
+            this.gbSelect.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.gbSelect.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.gbSelect.IsMustInput = false;
+            this.gbSelect.Location = new System.Drawing.Point(0, 38);
+            this.gbSelect.Name = "gbSelect";
+            this.gbSelect.OriginalHeight = -1;
+            this.gbSelect.Size = new System.Drawing.Size(1320, 78);
+            this.gbSelect.TabIndex = 13;
+            this.gbSelect.TabStop = false;
+            this.gbSelect.Text = "查询条件 ▼";
+            // 
+            // txtGroutingLineName
+            // 
+            this.txtGroutingLineName.BackColor = System.Drawing.SystemColors.Window;
+            this.txtGroutingLineName.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtGroutingLineName.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtGroutingLineName.ErrorMessage = "";
+            this.txtGroutingLineName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtGroutingLineName.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtGroutingLineName.Location = new System.Drawing.Point(493, 47);
+            this.txtGroutingLineName.MaxLength = 20;
+            this.txtGroutingLineName.Name = "txtGroutingLineName";
+            this.txtGroutingLineName.Size = new System.Drawing.Size(134, 21);
+            this.txtGroutingLineName.TabIndex = 106;
+            // 
+            // lblGroutingLineName
+            // 
+            this.lblGroutingLineName.AutoSize = true;
+            this.lblGroutingLineName.BackColor = System.Drawing.Color.Transparent;
+            this.lblGroutingLineName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblGroutingLineName.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblGroutingLineName.Location = new System.Drawing.Point(422, 52);
+            this.lblGroutingLineName.Name = "lblGroutingLineName";
+            this.lblGroutingLineName.Size = new System.Drawing.Size(65, 12);
+            this.lblGroutingLineName.TabIndex = 107;
+            this.lblGroutingLineName.Text = "成型线名称";
+            // 
+            // txtGoodsName
+            // 
+            this.txtGoodsName.BackColor = System.Drawing.SystemColors.Window;
+            this.txtGoodsName.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtGoodsName.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtGoodsName.ErrorMessage = "";
+            this.txtGoodsName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtGoodsName.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtGoodsName.Location = new System.Drawing.Point(493, 20);
+            this.txtGoodsName.MaxLength = 10;
+            this.txtGoodsName.Name = "txtGoodsName";
+            this.txtGoodsName.Size = new System.Drawing.Size(134, 21);
+            this.txtGoodsName.TabIndex = 104;
+            // 
+            // lblGoodsName
+            // 
+            this.lblGoodsName.AutoSize = true;
+            this.lblGoodsName.BackColor = System.Drawing.Color.Transparent;
+            this.lblGoodsName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblGoodsName.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblGoodsName.Location = new System.Drawing.Point(434, 25);
+            this.lblGoodsName.Name = "lblGoodsName";
+            this.lblGoodsName.Size = new System.Drawing.Size(53, 12);
+            this.lblGoodsName.TabIndex = 105;
+            this.lblGoodsName.Text = "产品名称";
+            // 
+            // lblScrapDateStart
+            // 
+            this.lblScrapDateStart.AutoSize = true;
+            this.lblScrapDateStart.BackColor = System.Drawing.Color.Transparent;
+            this.lblScrapDateStart.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblScrapDateStart.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblScrapDateStart.Location = new System.Drawing.Point(633, 23);
+            this.lblScrapDateStart.Name = "lblScrapDateStart";
+            this.lblScrapDateStart.Size = new System.Drawing.Size(53, 12);
+            this.lblScrapDateStart.TabIndex = 103;
+            this.lblScrapDateStart.Text = "调出日期";
+            // 
+            // cmbRreason
+            // 
+            this.cmbRreason.BackColor = System.Drawing.SystemColors.Window;
+            this.cmbRreason.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.cmbRreason.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.cmbRreason.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.cmbRreason.FormattingEnabled = true;
+            this.cmbRreason.Location = new System.Drawing.Point(69, 50);
+            this.cmbRreason.Name = "cmbRreason";
+            this.cmbRreason.Size = new System.Drawing.Size(136, 20);
+            this.cmbRreason.TabIndex = 102;
+            // 
+            // 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(12, 54);
+            this.c_Label1.Name = "c_Label1";
+            this.c_Label1.Size = new System.Drawing.Size(53, 12);
+            this.c_Label1.TabIndex = 101;
+            this.c_Label1.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.Location = new System.Drawing.Point(692, 47);
+            this.txtRemarks.MaxLength = 500;
+            this.txtRemarks.Name = "txtRemarks";
+            this.txtRemarks.Size = new System.Drawing.Size(297, 21);
+            this.txtRemarks.TabIndex = 12;
+            // 
+            // 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(282, 20);
+            this.txtGoodsCode.MaxLength = 10;
+            this.txtGoodsCode.Name = "txtGoodsCode";
+            this.txtGoodsCode.Size = new System.Drawing.Size(134, 21);
+            this.txtGoodsCode.TabIndex = 8;
+            // 
+            // 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(223, 26);
+            this.lblGoodsCode.Name = "lblGoodsCode";
+            this.lblGoodsCode.Size = new System.Drawing.Size(53, 12);
+            this.lblGoodsCode.TabIndex = 94;
+            this.lblGoodsCode.Text = "产品编码";
+            // 
+            // dtpScrapDateEnd
+            // 
+            this.dtpScrapDateEnd.CustomFormat = "yyyy-MM-dd";
+            this.dtpScrapDateEnd.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dtpScrapDateEnd.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+            this.dtpScrapDateEnd.Location = new System.Drawing.Point(855, 17);
+            this.dtpScrapDateEnd.Name = "dtpScrapDateEnd";
+            this.dtpScrapDateEnd.Size = new System.Drawing.Size(134, 21);
+            this.dtpScrapDateEnd.TabIndex = 5;
+            // 
+            // lblScrapDateEnd
+            // 
+            this.lblScrapDateEnd.AutoSize = true;
+            this.lblScrapDateEnd.BackColor = System.Drawing.Color.Transparent;
+            this.lblScrapDateEnd.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblScrapDateEnd.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblScrapDateEnd.Location = new System.Drawing.Point(832, 20);
+            this.lblScrapDateEnd.Name = "lblScrapDateEnd";
+            this.lblScrapDateEnd.Size = new System.Drawing.Size(17, 12);
+            this.lblScrapDateEnd.TabIndex = 92;
+            this.lblScrapDateEnd.Text = "至";
+            // 
+            // dtpScrapDateStart
+            // 
+            this.dtpScrapDateStart.CustomFormat = "yyyy-MM-dd";
+            this.dtpScrapDateStart.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dtpScrapDateStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+            this.dtpScrapDateStart.Location = new System.Drawing.Point(692, 17);
+            this.dtpScrapDateStart.Name = "dtpScrapDateStart";
+            this.dtpScrapDateStart.Size = new System.Drawing.Size(134, 21);
+            this.dtpScrapDateStart.TabIndex = 4;
+            // 
+            // 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(657, 50);
+            this.lblRemarks.Name = "lblRemarks";
+            this.lblRemarks.Size = new System.Drawing.Size(29, 12);
+            this.lblRemarks.TabIndex = 83;
+            this.lblRemarks.Text = "备注";
+            // 
+            // txtBarCode
+            // 
+            this.txtBarCode.BackColor = System.Drawing.SystemColors.Window;
+            this.txtBarCode.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtBarCode.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtBarCode.ErrorMessage = "";
+            this.txtBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtBarCode.Location = new System.Drawing.Point(71, 22);
+            this.txtBarCode.MaxLength = 11;
+            this.txtBarCode.Name = "txtBarCode";
+            this.txtBarCode.Size = new System.Drawing.Size(134, 21);
+            this.txtBarCode.TabIndex = 10;
+            // 
+            // lblBarCode
+            // 
+            this.lblBarCode.AutoSize = true;
+            this.lblBarCode.BackColor = System.Drawing.Color.Transparent;
+            this.lblBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblBarCode.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblBarCode.Location = new System.Drawing.Point(12, 26);
+            this.lblBarCode.Name = "lblBarCode";
+            this.lblBarCode.Size = new System.Drawing.Size(53, 12);
+            this.lblBarCode.TabIndex = 80;
+            this.lblBarCode.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(282, 47);
+            this.txtGroutingLineCode.MaxLength = 20;
+            this.txtGroutingLineCode.Name = "txtGroutingLineCode";
+            this.txtGroutingLineCode.Size = new System.Drawing.Size(134, 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(211, 54);
+            this.lblGroutingLineCode.Name = "lblGroutingLineCode";
+            this.lblGroutingLineCode.Size = new System.Drawing.Size(65, 12);
+            this.lblGroutingLineCode.TabIndex = 76;
+            this.lblGroutingLineCode.Text = "成型线编码";
+            // 
+            // 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(1229, 37);
+            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 = 75;
+            this.btnClearCondition.Text = "清空条件(&C)";
+            this.btnClearCondition.UseVisualStyleBackColor = false;
+            this.btnClearCondition.Click += new System.EventHandler(this.btnClearCondition_Click);
+            // 
+            // 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(1138, 37);
+            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 = 74;
+            this.btnSearch.Text = "查询(&Q)";
+            this.btnSearch.UseVisualStyleBackColor = false;
+            this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
+            // 
+            // 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.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(1332, 35);
+            this.tsrOperate.TabIndex = 14;
+            // 
+            // 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 = "调出(&O)";
+            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(80, 25);
+            this.tsbtnEdit.Text = "撤销调出(&Z)";
+            this.tsbtnEdit.Click += new System.EventHandler(this.tsbtnEdit_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);
+            // 
+            // dgvScrapProduct
+            // 
+            this.dgvScrapProduct.AllowUserToAddRows = false;
+            this.dgvScrapProduct.AllowUserToDeleteRows = false;
+            this.dgvScrapProduct.AllowUserToModifyRows = true;
+            this.dgvScrapProduct.AllowUserToOrderColumns = true;
+            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
+            this.dgvScrapProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvScrapProduct.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.dgvScrapProduct.CellBackColorNochanged = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+            this.dgvScrapProduct.CellBackColorReadOnly = System.Drawing.SystemColors.Control;
+            this.dgvScrapProduct.CellHeight = 23;
+            this.dgvScrapProduct.ChildNodeColumnName = null;
+            this.dgvScrapProduct.ChildNodeColumnText = null;
+            this.dgvScrapProduct.ColumnDeep = 1;
+            this.dgvScrapProduct.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.dgvScrapProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+            this.dgvScrapProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvScrapProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.BarCode,
+            this.GoodsCode,
+            this.GoodsName,
+            this.Rreason,
+            this.ScrapDate,
+            this.ProcedureName,
+            this.ProductionLineCode,
+            this.ProductionLineName,
+            this.GroutingDate,
+            this.GroutingUserCode,
+            this.GroutingLineCode,
+            this.GroutingLineName,
+            this.GroutingMouldCode,
+            this.MouldCode,
+            this.GoodsLevelName,
+            this.Remarks,
+            this.ISPUBLICBODY,
+            this.SPECIALREPAIRFLAG,
+            this.ProductionLineID,
+            this.GoodsID,
+            this.GroutingDailyID,
+            this.GroutingDailyDetailID,
+            this.GroutingLineID,
+            this.GMouldTypeID,
+            this.GroutingLineDetailID,
+            this.GoodsLevelTypeID,
+            this.AccountID,
+            this.ValueFlag,
+            this.ScrapProductID});
+            this.dgvScrapProduct.ColumnTreeView = null;
+            this.dgvScrapProduct.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)));
+            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvScrapProduct.DefaultCellStyle = dataGridViewCellStyle5;
+            this.dgvScrapProduct.DynamicColumnName = "";
+            this.dgvScrapProduct.EnableHeadersVisualStyles = false;
+            this.dgvScrapProduct.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvScrapProduct.FormatQuantityColumns = null;
+            this.dgvScrapProduct.HorizontalMergeColumn = null;
+            this.dgvScrapProduct.IsAutoCountSum = true;
+            this.dgvScrapProduct.IsAutoResizeColumns = false;
+            this.dgvScrapProduct.IsClickF12 = false;
+            this.dgvScrapProduct.IsOpenMergeCellFlag = false;
+            this.dgvScrapProduct.IsSubTotalFlag = false;
+            this.dgvScrapProduct.IsTopDeep = false;
+            this.dgvScrapProduct.Location = new System.Drawing.Point(0, 122);
+            this.dgvScrapProduct.MergeColumnNames = null;
+            this.dgvScrapProduct.MergeDetailColumnNames = null;
+            this.dgvScrapProduct.MergeDetailOnlyColumn = null;
+            this.dgvScrapProduct.MergeOnlyColumn = null;
+            this.dgvScrapProduct.Name = "dgvScrapProduct";
+            this.dgvScrapProduct.ReadOnly = true;
+            this.dgvScrapProduct.RefreshAtHscroll = false;
+            this.dgvScrapProduct.RowHeadersWidth = 50;
+            this.dgvScrapProduct.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.dgvScrapProduct.RowsDefaultCellStyle = dataGridViewCellStyle6;
+            this.dgvScrapProduct.RowTemplate.Height = 21;
+            this.dgvScrapProduct.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
+            this.dgvScrapProduct.Size = new System.Drawing.Size(1320, 504);
+            this.dgvScrapProduct.SortOrderColumnName = null;
+            this.dgvScrapProduct.TabIndex = 14;
+            this.dgvScrapProduct.Tag = true;
+            this.dgvScrapProduct.TotalSumColumns = null;
+            this.dgvScrapProduct.ViewRowFilter = "";
+            this.dgvScrapProduct.VirtualMode = true;
+            // 
+            // BarCode
+            // 
+            this.BarCode.DataPropertyName = "BarCode";
+            this.BarCode.HeaderText = "产品条码";
+            this.BarCode.Name = "BarCode";
+            this.BarCode.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;
+            // 
+            // Rreason
+            // 
+            this.Rreason.DataPropertyName = "Rreason";
+            this.Rreason.HeaderText = "调出类型";
+            this.Rreason.Name = "Rreason";
+            this.Rreason.ReadOnly = true;
+            // 
+            // ScrapDate
+            // 
+            this.ScrapDate.DataPropertyName = "ScrapDate";
+            dataGridViewCellStyle3.Format = "yyyy-MM-dd";
+            dataGridViewCellStyle3.NullValue = null;
+            this.ScrapDate.DefaultCellStyle = dataGridViewCellStyle3;
+            this.ScrapDate.HeaderText = "调出日期";
+            this.ScrapDate.Name = "ScrapDate";
+            this.ScrapDate.ReadOnly = true;
+            // 
+            // ProcedureName
+            // 
+            this.ProcedureName.DataPropertyName = "ProcedureName";
+            this.ProcedureName.HeaderText = "完成工序";
+            this.ProcedureName.Name = "ProcedureName";
+            this.ProcedureName.ReadOnly = true;
+            // 
+            // ProductionLineCode
+            // 
+            this.ProductionLineCode.DataPropertyName = "ProductionLineCode";
+            this.ProductionLineCode.HeaderText = "生产线编码";
+            this.ProductionLineCode.Name = "ProductionLineCode";
+            this.ProductionLineCode.ReadOnly = true;
+            // 
+            // ProductionLineName
+            // 
+            this.ProductionLineName.DataPropertyName = "ProductionLineName";
+            this.ProductionLineName.HeaderText = "生产线名称";
+            this.ProductionLineName.Name = "ProductionLineName";
+            this.ProductionLineName.ReadOnly = true;
+            // 
+            // GroutingDate
+            // 
+            this.GroutingDate.DataPropertyName = "GroutingDate";
+            dataGridViewCellStyle4.Format = "yyyy-MM-dd";
+            dataGridViewCellStyle4.NullValue = null;
+            this.GroutingDate.DefaultCellStyle = dataGridViewCellStyle4;
+            this.GroutingDate.HeaderText = "注浆日期";
+            this.GroutingDate.Name = "GroutingDate";
+            this.GroutingDate.ReadOnly = true;
+            // 
+            // GroutingUserCode
+            // 
+            this.GroutingUserCode.DataPropertyName = "GroutingUserCode";
+            this.GroutingUserCode.HeaderText = "成型工号";
+            this.GroutingUserCode.Name = "GroutingUserCode";
+            this.GroutingUserCode.ReadOnly = true;
+            // 
+            // 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;
+            // 
+            // GroutingMouldCode
+            // 
+            this.GroutingMouldCode.DataPropertyName = "GroutingMouldCode";
+            this.GroutingMouldCode.HeaderText = "注浆模具编号";
+            this.GroutingMouldCode.Name = "GroutingMouldCode";
+            this.GroutingMouldCode.ReadOnly = true;
+            // 
+            // MouldCode
+            // 
+            this.MouldCode.DataPropertyName = "MouldCode";
+            this.MouldCode.HeaderText = "模具编号";
+            this.MouldCode.Name = "MouldCode";
+            this.MouldCode.ReadOnly = true;
+            this.MouldCode.Visible = false;
+            // 
+            // GoodsLevelName
+            // 
+            this.GoodsLevelName.DataPropertyName = "GoodsLevelName";
+            this.GoodsLevelName.HeaderText = "产品分级";
+            this.GoodsLevelName.Name = "GoodsLevelName";
+            this.GoodsLevelName.ReadOnly = true;
+            // 
+            // Remarks
+            // 
+            this.Remarks.DataPropertyName = "Remarks";
+            this.Remarks.HeaderText = "备注";
+            this.Remarks.Name = "Remarks";
+            this.Remarks.ReadOnly = true;
+            // 
+            // ISPUBLICBODY
+            // 
+            this.ISPUBLICBODY.DataPropertyName = "ISPUBLICBODY";
+            this.ISPUBLICBODY.FalseValue = "0";
+            this.ISPUBLICBODY.HeaderText = "公坯标识";
+            this.ISPUBLICBODY.Name = "ISPUBLICBODY";
+            this.ISPUBLICBODY.ReadOnly = true;
+            this.ISPUBLICBODY.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+            this.ISPUBLICBODY.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+            this.ISPUBLICBODY.TrueValue = "1";
+            // 
+            // SPECIALREPAIRFLAG
+            // 
+            this.SPECIALREPAIRFLAG.DataPropertyName = "SPECIALREPAIRFLAG";
+            this.SPECIALREPAIRFLAG.FalseValue = "0";
+            this.SPECIALREPAIRFLAG.HeaderText = "干补标识";
+            this.SPECIALREPAIRFLAG.Name = "SPECIALREPAIRFLAG";
+            this.SPECIALREPAIRFLAG.ReadOnly = true;
+            this.SPECIALREPAIRFLAG.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+            this.SPECIALREPAIRFLAG.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+            this.SPECIALREPAIRFLAG.TrueValue = "1";
+            // 
+            // ProductionLineID
+            // 
+            this.ProductionLineID.DataPropertyName = "ProductionLineID";
+            this.ProductionLineID.HeaderText = "生产线ID";
+            this.ProductionLineID.Name = "ProductionLineID";
+            this.ProductionLineID.ReadOnly = true;
+            this.ProductionLineID.Visible = false;
+            // 
+            // GoodsID
+            // 
+            this.GoodsID.DataPropertyName = "GoodsID";
+            this.GoodsID.HeaderText = "产品ID";
+            this.GoodsID.Name = "GoodsID";
+            this.GoodsID.ReadOnly = true;
+            this.GoodsID.Visible = false;
+            // 
+            // GroutingDailyID
+            // 
+            this.GroutingDailyID.DataPropertyName = "GroutingDailyID";
+            this.GroutingDailyID.HeaderText = "注浆日报ID";
+            this.GroutingDailyID.Name = "GroutingDailyID";
+            this.GroutingDailyID.ReadOnly = true;
+            this.GroutingDailyID.Visible = false;
+            // 
+            // GroutingDailyDetailID
+            // 
+            this.GroutingDailyDetailID.DataPropertyName = "GroutingDailyDetailID";
+            this.GroutingDailyDetailID.HeaderText = "注浆日报明细ID";
+            this.GroutingDailyDetailID.Name = "GroutingDailyDetailID";
+            this.GroutingDailyDetailID.ReadOnly = true;
+            this.GroutingDailyDetailID.Visible = false;
+            // 
+            // GroutingLineID
+            // 
+            this.GroutingLineID.DataPropertyName = "GroutingLineID";
+            this.GroutingLineID.HeaderText = "成型线ID";
+            this.GroutingLineID.Name = "GroutingLineID";
+            this.GroutingLineID.ReadOnly = true;
+            this.GroutingLineID.Visible = false;
+            // 
+            // GMouldTypeID
+            // 
+            this.GMouldTypeID.DataPropertyName = "GMouldTypeID";
+            this.GMouldTypeID.HeaderText = "成型线类型ID";
+            this.GMouldTypeID.Name = "GMouldTypeID";
+            this.GMouldTypeID.ReadOnly = true;
+            this.GMouldTypeID.Visible = false;
+            // 
+            // GroutingLineDetailID
+            // 
+            this.GroutingLineDetailID.DataPropertyName = "GroutingLineDetailID";
+            this.GroutingLineDetailID.HeaderText = "成型线明细ID";
+            this.GroutingLineDetailID.Name = "GroutingLineDetailID";
+            this.GroutingLineDetailID.ReadOnly = true;
+            this.GroutingLineDetailID.Visible = false;
+            // 
+            // GoodsLevelTypeID
+            // 
+            this.GoodsLevelTypeID.DataPropertyName = "GoodsLevelTypeID";
+            this.GoodsLevelTypeID.HeaderText = "产品分级类别ID";
+            this.GoodsLevelTypeID.Name = "GoodsLevelTypeID";
+            this.GoodsLevelTypeID.ReadOnly = true;
+            this.GoodsLevelTypeID.Visible = false;
+            // 
+            // AccountID
+            // 
+            this.AccountID.DataPropertyName = "AccountID";
+            this.AccountID.HeaderText = "帐套ID";
+            this.AccountID.Name = "AccountID";
+            this.AccountID.ReadOnly = true;
+            this.AccountID.Visible = false;
+            // 
+            // ValueFlag
+            // 
+            this.ValueFlag.DataPropertyName = "ValueFlag";
+            this.ValueFlag.HeaderText = "有效标识";
+            this.ValueFlag.Name = "ValueFlag";
+            this.ValueFlag.ReadOnly = true;
+            this.ValueFlag.Visible = false;
+            // 
+            // ScrapProductID
+            // 
+            this.ScrapProductID.DataPropertyName = "ScrapProductID";
+            this.ScrapProductID.HeaderText = "报损ID";
+            this.ScrapProductID.Name = "ScrapProductID";
+            this.ScrapProductID.ReadOnly = true;
+            this.ScrapProductID.Visible = false;
+            // 
+            // F_PM_3301
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1332, 638);
+            this.Controls.Add(this.dgvScrapProduct);
+            this.Controls.Add(this.tsrOperate);
+            this.Controls.Add(this.gbSelect);
+            this.Name = "F_PM_3301";
+            this.Text = "工厂调出";
+            this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.F_PM_3301_FormClosed);
+            this.Load += new System.EventHandler(this.F_PM_3301_Load);
+            this.gbSelect.ResumeLayout(false);
+            this.gbSelect.PerformLayout();
+            this.tsrOperate.ResumeLayout(false);
+            this.tsrOperate.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvScrapProduct)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private Basics.BaseControls.C_GroupBox gbSelect;
+        private Basics.BaseControls.C_Button btnClearCondition;
+        private Basics.BaseControls.C_Button btnSearch;
+        private Basics.BaseControls.C_TextBox txtRemarks;
+        private Basics.BaseControls.C_TextBox txtGoodsCode;
+        private Basics.BaseControls.C_Label lblGoodsCode;
+        private Basics.BaseControls.C_DateTimePicker dtpScrapDateEnd;
+        private Basics.BaseControls.C_Label lblScrapDateEnd;
+        private Basics.BaseControls.C_DateTimePicker dtpScrapDateStart;
+        private Basics.BaseControls.C_Label lblRemarks;
+        private Basics.BaseControls.C_TextBox txtBarCode;
+        private Basics.BaseControls.C_Label lblBarCode;
+        private Basics.BaseControls.C_TextBox txtGroutingLineCode;
+        private Basics.BaseControls.C_Label lblGroutingLineCode;
+        private Basics.BaseControls.C_ToolStrip tsrOperate;
+        private System.Windows.Forms.ToolStripButton tsbtnAdd;
+        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_DataGridView dgvScrapProduct;
+        private Basics.BaseControls.C_ComboBox cmbRreason;
+        private Basics.BaseControls.C_Label c_Label1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn BarCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Rreason;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ScrapDate;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ProcedureName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ProductionLineCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ProductionLineName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingDate;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingUserCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingMouldCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn MouldCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsLevelName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Remarks;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn ISPUBLICBODY;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn SPECIALREPAIRFLAG;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ProductionLineID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingDailyID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingDailyDetailID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GMouldTypeID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineDetailID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsLevelTypeID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn AccountID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ValueFlag;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ScrapProductID;
+        private Basics.BaseControls.C_TextBox txtGroutingLineName;
+        private Basics.BaseControls.C_Label lblGroutingLineName;
+        private Basics.BaseControls.C_TextBox txtGoodsName;
+        private Basics.BaseControls.C_Label lblGoodsName;
+        private Basics.BaseControls.C_Label lblScrapDateStart;
+    }
+}

+ 251 - 0
DK.Client/PMModule/F_PM_3301.cs

@@ -0,0 +1,251 @@
+/*******************************************************************************
+ * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
+ * 类的信息:
+ *      1.程序名称:F_PM_3301.cs
+ *      2.功能描述:废弃产品信息一览
+ * 编辑履历:
+ *      作者            日期                版本            修改内容
+ *      付斌            2020/11/06         1.00            新建
+ *******************************************************************************/
+
+using System;
+using System.Data;
+using System.Windows.Forms;
+
+using Dongke.IBOSS.PRD.Basics.BaseResources;
+using Dongke.IBOSS.PRD.Basics.DockPanel;
+using Dongke.IBOSS.PRD.Client.CommonModule;
+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_3301 : DockPanelBase
+    {
+        #region 成员变量
+        private static F_PM_3301 _instance;        //单例模式
+        #endregion
+
+        #region 构造函数
+        /// <summary>
+        /// 废弃一览构造
+        /// </summary>
+        public F_PM_3301()
+        {
+            InitializeComponent();
+            Text = FormTitles.F_PM_3301;
+            dtpScrapDateStart.Enabled = true;
+            dtpScrapDateEnd.Enabled = true;
+            tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
+            tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
+        }
+        #endregion
+
+        #region 单例模式
+        /// <summary>
+        /// 单例模式,防止重复创建窗体
+        /// </summary>
+        public static F_PM_3301 Instance
+        {
+            get
+            {
+                if (_instance == null)
+                {
+                    _instance = new F_PM_3301();
+                }
+                return _instance;
+            }
+        }
+        #endregion
+
+        #region 事件
+        /// <summary>
+        /// 窗体加载
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void F_PM_3301_Load(object sender, EventArgs e)
+        {
+            try
+            {
+                // 加载权限
+                FormPermissionManager.FormPermissionControl(Name, this,
+                    DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData,
+                    DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
+
+                // 损坯原因
+                DataSet dsRreason = (DataSet)DoAsync(
+                    () => { return SystemModuleProxy.Service.GetDictionaryData(0, "TPC009"); });
+
+                DataRow row = dsRreason.Tables[0].NewRow();
+                row["DictionaryValue"] = "";
+                row["DictionaryID"] = 0;
+                dsRreason.Tables[0].Rows.InsertAt(row, 0);
+
+                cmbRreason.DisplayMember = "DictionaryValue";
+                cmbRreason.ValueMember = "DictionaryID";
+                cmbRreason.DataSource = dsRreason.Tables[0];
+
+                dgvScrapProduct.AutoGenerateColumns = false;
+                dtpScrapDateStart.Value = DateTime.Now.Date;
+                dtpScrapDateEnd.Value = DateTime.Now.Date;
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 查询事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnSearch_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                dgvScrapProduct.DataSource = null;
+
+                // 异步处理
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_PM_3302";
+                cre.Name = "GetAllocateOut";
+                cre.Data = new DataSet();
+                cre.Properties["barcode"] = txtBarCode.Text.Trim();
+                cre.Properties["goodscode"] = txtGoodsCode.Text.Trim();
+                cre.Properties["goodsname"] = txtGoodsName.Text.Trim();
+                cre.Properties["scrapdatestart"] = dtpScrapDateStart.Value;
+                cre.Properties["scrapdateend"] = dtpScrapDateStart.Value.AddDays(1);
+                cre.Properties["groutinglinecode"] = txtGroutingLineCode.Text.Trim();
+                cre.Properties["groutinglinename"] = txtGroutingLineName.Text.Trim();
+                cre.Properties["rreason"] = cmbRreason.Text.Trim();
+                cre.Properties["remarks"] = txtRemarks.Text.Trim();
+
+                ServiceResultEntity sre = (ServiceResultEntity)DoAsync(
+                    () => { return PMModuleProxyNew.Service.HandleRequest(cre); });
+
+                if (sre.Data != null && sre.Data.Tables[0].Rows.Count > 0)
+                {
+                    dgvScrapProduct.DataSource = sre.Data.Tables[Constant.INT_IS_ZERO];
+                }
+                else
+                {
+                    // 提示未查找到数据
+                    MessageBox.Show(Messages.MSG_CMN_I002, Text,
+                        MessageBoxButtons.OK, MessageBoxIcon.Information);
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 清空条件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnClearCondition_Click(object sender, EventArgs e)
+        {
+            txtBarCode.Text = "";
+            txtGoodsCode.Text = "";
+            txtGoodsName.Text = "";
+            txtGroutingLineCode.Text = "";
+            txtGroutingLineName.Text = "";
+            txtRemarks.Text = "";
+            cmbRreason.SelectedIndex = 0;
+            dtpScrapDateStart.Value = DateTime.Now.Date;
+            dtpScrapDateEnd.Value = DateTime.Now.Date;
+        }
+
+        /// <summary>
+        /// 调出窗体打开事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnAdd_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                F_PM_3302 frm = new F_PM_3302();
+                frm.FormType = Constant.FormMode.Add;
+                DialogResult dialogresult = frm.ShowDialog();
+                if (dialogresult.Equals(DialogResult.OK))
+                {
+                    btnSearch_Click(null, null);
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 撤销窗体打开事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnEdit_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                F_PM_3302 frm = new F_PM_3302();
+                frm.FormType = Constant.FormMode.Edit;
+                DialogResult dialogresult = frm.ShowDialog();
+                if (dialogresult.Equals(DialogResult.OK))
+                {
+                    btnSearch_Click(null, null);
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 自动列宽
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnAdaptive_Click(object sender, EventArgs e)
+        {
+            dgvScrapProduct.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+        }
+
+        /// <summary>
+        /// 关闭一览窗体
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnClose_Click(object sender, EventArgs e)
+        {
+            Close();
+        }
+
+        /// <summary>
+        /// 窗体关闭事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void F_PM_3301_FormClosed(object sender, FormClosedEventArgs e)
+        {
+            _instance = null;
+        }
+        #endregion
+    }
+}

+ 284 - 0
DK.Client/PMModule/F_PM_3301.resx

@@ -0,0 +1,284 @@
+<?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="gbSelect.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        TcjuBwk6Lpiwp2VcAAAAAElFTkSuQmCC
+</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>
+  <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>
+  <metadata name="tsrOperate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</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="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="Rreason.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ScrapDate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ProcedureName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ProductionLineCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ProductionLineName.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="GroutingUserCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <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="GroutingMouldCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="MouldCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GoodsLevelName.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="ISPUBLICBODY.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="SPECIALREPAIRFLAG.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ProductionLineID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GoodsID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingDailyID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingDailyDetailID.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="GMouldTypeID.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="GoodsLevelTypeID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="AccountID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ValueFlag.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ScrapProductID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+</root>

+ 317 - 0
DK.Client/PMModule/F_PM_3302.Designer.cs

@@ -0,0 +1,317 @@
+namespace Dongke.IBOSS.PRD.Client.PMModule
+{
+    partial class F_PM_3302
+    {
+        /// <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_3302));
+            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();
+            this.lblBarCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.lblRreason = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.lblRemarks = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.btnSave = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.btnCancel = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.dgvBarcode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView();
+            this.Barcode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.MouldCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.txtBarCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TXT_BarCode();
+            this.cmbRreason = new Dongke.IBOSS.PRD.Basics.BaseControls.C_ComboBox();
+            this.txtRemarks = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TXT_BarCode();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvBarcode)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // lblBarCode
+            // 
+            this.lblBarCode.AutoSize = true;
+            this.lblBarCode.BackColor = System.Drawing.Color.Transparent;
+            this.lblBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblBarCode.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblBarCode.Location = new System.Drawing.Point(11, 16);
+            this.lblBarCode.Name = "lblBarCode";
+            this.lblBarCode.Size = new System.Drawing.Size(53, 12);
+            this.lblBarCode.TabIndex = 0;
+            this.lblBarCode.Text = "产品条码";
+            // 
+            // lblRreason
+            // 
+            this.lblRreason.AutoSize = true;
+            this.lblRreason.BackColor = System.Drawing.Color.Transparent;
+            this.lblRreason.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblRreason.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.lblRreason.IsMustInput = true;
+            this.lblRreason.Location = new System.Drawing.Point(216, 15);
+            this.lblRreason.Name = "lblRreason";
+            this.lblRreason.Size = new System.Drawing.Size(53, 12);
+            this.lblRreason.TabIndex = 31;
+            this.lblRreason.Text = "调出类型";
+            // 
+            // 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(35, 43);
+            this.lblRemarks.Name = "lblRemarks";
+            this.lblRemarks.Size = new System.Drawing.Size(29, 12);
+            this.lblRemarks.TabIndex = 32;
+            this.lblRemarks.Text = "备注";
+            // 
+            // 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(393, 454);
+            this.btnSave.Name = "btnSave";
+            this.btnSave.Size = new System.Drawing.Size(85, 30);
+            this.btnSave.TabIndex = 8;
+            this.btnSave.Text = "保存(&S)";
+            this.btnSave.UseVisualStyleBackColor = false;
+            this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
+            // 
+            // btnCancel
+            // 
+            this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnCancel.BackColor = System.Drawing.Color.Transparent;
+            this.btnCancel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnCancel.BackgroundImage")));
+            this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+            this.btnCancel.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnCancel.ForeColor = System.Drawing.Color.White;
+            this.btnCancel.Location = new System.Drawing.Point(484, 454);
+            this.btnCancel.Name = "btnCancel";
+            this.btnCancel.Size = new System.Drawing.Size(85, 30);
+            this.btnCancel.TabIndex = 9;
+            this.btnCancel.Text = "关闭";
+            this.btnCancel.UseVisualStyleBackColor = false;
+            this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+            // 
+            // dgvBarcode
+            // 
+            this.dgvBarcode.AllowUserToAddRows = false;
+            this.dgvBarcode.AllowUserToModifyRows = true;
+            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
+            this.dgvBarcode.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvBarcode.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.dgvBarcode.CellBackColorNochanged = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+            this.dgvBarcode.CellBackColorReadOnly = System.Drawing.SystemColors.Control;
+            this.dgvBarcode.CellHeight = 23;
+            this.dgvBarcode.ChildNodeColumnName = null;
+            this.dgvBarcode.ChildNodeColumnText = null;
+            this.dgvBarcode.ColumnDeep = 1;
+            this.dgvBarcode.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.dgvBarcode.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+            this.dgvBarcode.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvBarcode.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.Barcode,
+            this.GoodsCode,
+            this.GoodsName,
+            this.GroutingLineCode,
+            this.MouldCode});
+            this.dgvBarcode.ColumnTreeView = null;
+            this.dgvBarcode.ContextMenuVisible = ((Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags)((Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags.Refine | Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags.FileOut)));
+            this.dgvBarcode.DynamicColumnName = "";
+            this.dgvBarcode.EnableHeadersVisualStyles = false;
+            this.dgvBarcode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvBarcode.FormatQuantityColumns = null;
+            this.dgvBarcode.HorizontalMergeColumn = null;
+            this.dgvBarcode.IsAutoCountSum = true;
+            this.dgvBarcode.IsAutoResizeColumns = false;
+            this.dgvBarcode.IsClickF12 = false;
+            this.dgvBarcode.IsOpenMergeCellFlag = false;
+            this.dgvBarcode.IsSubTotalFlag = false;
+            this.dgvBarcode.IsTopDeep = false;
+            this.dgvBarcode.Location = new System.Drawing.Point(13, 66);
+            this.dgvBarcode.MergeColumnNames = null;
+            this.dgvBarcode.MergeDetailColumnNames = null;
+            this.dgvBarcode.MergeDetailOnlyColumn = null;
+            this.dgvBarcode.MergeOnlyColumn = null;
+            this.dgvBarcode.Name = "dgvBarcode";
+            this.dgvBarcode.RefreshAtHscroll = false;
+            this.dgvBarcode.RowHeadersWidth = 50;
+            this.dgvBarcode.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.dgvBarcode.RowsDefaultCellStyle = dataGridViewCellStyle3;
+            this.dgvBarcode.RowTemplate.Height = 21;
+            this.dgvBarcode.Size = new System.Drawing.Size(556, 382);
+            this.dgvBarcode.SortOrderColumnName = null;
+            this.dgvBarcode.TabIndex = 5;
+            this.dgvBarcode.Tag = true;
+            this.dgvBarcode.TotalSumColumns = null;
+            this.dgvBarcode.ViewRowFilter = "";
+            // 
+            // Barcode
+            // 
+            this.Barcode.DataPropertyName = "Barcode";
+            this.Barcode.HeaderText = "产品条码";
+            this.Barcode.Name = "Barcode";
+            this.Barcode.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;
+            // 
+            // GroutingLineCode
+            // 
+            this.GroutingLineCode.DataPropertyName = "GroutingLineCode";
+            this.GroutingLineCode.HeaderText = "成型线";
+            this.GroutingLineCode.Name = "GroutingLineCode";
+            this.GroutingLineCode.ReadOnly = true;
+            // 
+            // MouldCode
+            // 
+            this.MouldCode.DataPropertyName = "MouldCode";
+            this.MouldCode.HeaderText = "模具编号";
+            this.MouldCode.Name = "MouldCode";
+            this.MouldCode.ReadOnly = true;
+            // 
+            // txtBarCode
+            // 
+            this.txtBarCode.BackColor = System.Drawing.SystemColors.Window;
+            this.txtBarCode.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtBarCode.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtBarCode.ErrorMessage = "";
+            this.txtBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtBarCode.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtBarCode.Location = new System.Drawing.Point(70, 12);
+            this.txtBarCode.MaxLength = 11;
+            this.txtBarCode.Name = "txtBarCode";
+            this.txtBarCode.Size = new System.Drawing.Size(140, 21);
+            this.txtBarCode.TabIndex = 1;
+            this.txtBarCode.TextValue = "";
+            this.txtBarCode.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtBarCode_KeyPress);
+            // 
+            // cmbRreason
+            // 
+            this.cmbRreason.BackColor = System.Drawing.SystemColors.Window;
+            this.cmbRreason.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.cmbRreason.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.cmbRreason.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.cmbRreason.FormattingEnabled = true;
+            this.cmbRreason.Location = new System.Drawing.Point(276, 12);
+            this.cmbRreason.Name = "cmbRreason";
+            this.cmbRreason.Size = new System.Drawing.Size(200, 20);
+            this.cmbRreason.TabIndex = 46;
+            // 
+            // txtRemarks
+            // 
+            this.txtRemarks.BackColor = System.Drawing.SystemColors.Window;
+            this.txtRemarks.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtRemarks.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            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(70, 39);
+            this.txtRemarks.MaxLength = 11;
+            this.txtRemarks.Name = "txtRemarks";
+            this.txtRemarks.Size = new System.Drawing.Size(406, 21);
+            this.txtRemarks.TabIndex = 47;
+            this.txtRemarks.TextValue = "";
+            // 
+            // F_PM_3302
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.CancelButton = this.btnCancel;
+            this.ClientSize = new System.Drawing.Size(581, 508);
+            this.Controls.Add(this.txtRemarks);
+            this.Controls.Add(this.cmbRreason);
+            this.Controls.Add(this.txtBarCode);
+            this.Controls.Add(this.dgvBarcode);
+            this.Controls.Add(this.btnCancel);
+            this.Controls.Add(this.btnSave);
+            this.Controls.Add(this.lblRemarks);
+            this.Controls.Add(this.lblRreason);
+            this.Controls.Add(this.lblBarCode);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+            this.IsSaveFormSize = false;
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "F_PM_3302";
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+            this.StatusSizingGrip = false;
+            this.Text = "工厂调出";
+            this.Load += new System.EventHandler(this.F_PM_3302_Load);
+            this.Controls.SetChildIndex(this.lblBarCode, 0);
+            this.Controls.SetChildIndex(this.lblRreason, 0);
+            this.Controls.SetChildIndex(this.lblRemarks, 0);
+            this.Controls.SetChildIndex(this.btnSave, 0);
+            this.Controls.SetChildIndex(this.btnCancel, 0);
+            this.Controls.SetChildIndex(this.dgvBarcode, 0);
+            this.Controls.SetChildIndex(this.txtBarCode, 0);
+            this.Controls.SetChildIndex(this.cmbRreason, 0);
+            this.Controls.SetChildIndex(this.txtRemarks, 0);
+            ((System.ComponentModel.ISupportInitialize)(this.dgvBarcode)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private Basics.BaseControls.C_Label lblBarCode;
+        private Basics.BaseControls.C_Label lblRreason;
+        private Basics.BaseControls.C_Label lblRemarks;
+        private Basics.BaseControls.C_Button btnSave;
+        private Basics.BaseControls.C_Button btnCancel;
+        private Basics.BaseControls.C_DataGridView dgvBarcode;
+        private Basics.BaseControls.C_TXT_BarCode txtBarCode;
+        private Basics.BaseControls.C_ComboBox cmbRreason;
+        private Basics.BaseControls.C_TXT_BarCode txtRemarks;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Barcode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn MouldCode;
+    }
+}

+ 270 - 0
DK.Client/PMModule/F_PM_3302.cs

@@ -0,0 +1,270 @@
+/*******************************************************************************
+ * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
+ * 类的信息:
+ *       1.程序名称:F_PM_3302.cs
+ *       2.功能描述:新建/编辑产品废弃信息窗体
+ * 编辑履历:
+ *      作者            日期                版本            修改内容
+ *      付斌            2020/11/06         1.00            新建
+ *******************************************************************************/
+
+using System;
+using System.Data;
+using System.Windows.Forms;
+
+using Dongke.IBOSS.PRD.Basics.BaseControls;
+using Dongke.IBOSS.PRD.Basics.BaseResources;
+using Dongke.IBOSS.PRD.Client.CommonModule;
+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_3302 : FormBase
+    {
+        #region 属性
+        /// <summary>
+        /// 窗体模式
+        /// </summary>
+        public Constant.FormMode FormType
+        {
+            get;
+            set;
+        }
+        #endregion
+
+        #region 构造函数
+        /// <summary>
+        /// 窗体构造
+        /// </summary>
+        public F_PM_3302()
+        {
+            InitializeComponent();
+
+            btnSave.Text = ButtonText.BTN_SAVE;
+            btnCancel.Text = ButtonText.BTN_CLOSE;
+        }
+        #endregion
+
+        #region 事件
+        /// <summary>
+        /// 窗体加载
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void F_PM_3302_Load(object sender, EventArgs e)
+        {
+            try
+            {
+                dgvBarcode.AutoGenerateColumns = false;
+                if (FormType == Constant.FormMode.Add)
+                {
+                    // 调出原因
+                    DataSet dsRreason = (DataSet)DoAsync(new BaseAsyncMethod(() =>
+                    {
+                        return SystemModuleProxy.Service.GetDictionaryData(0, "TPC009");
+                    }));
+
+                    cmbRreason.DisplayMember = "DictionaryValue";
+                    cmbRreason.ValueMember = "DictionaryID";
+                    cmbRreason.DataSource = dsRreason.Tables[0];
+                }
+                else if (FormType == Constant.FormMode.Edit)
+                {
+                    Text = "工厂调出撤销";
+                    cmbRreason.Enabled = false;
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 提交操作
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnSave_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                txtRemarks.Focus();//把光标移开,由于删除工号后,值未变
+                DataTable dtBarcode = dgvBarcode.DataSource as DataTable;
+                dtBarcode.AcceptChanges();
+                if (dtBarcode == null || dtBarcode.Rows.Count == 0)
+                {
+                    MessageBox.Show("没有选择任何条码",
+                        Text,
+                        MessageBoxButtons.OK,
+                        MessageBoxIcon.Warning,
+                        MessageBoxDefaultButton.Button1);
+                    txtBarCode.Focus();
+                    return;
+                }
+
+                if (FormType == Constant.FormMode.Add)
+                {
+                    if (cmbRreason.Text == string.Empty)
+                    {
+                        MessageBox.Show("调出类型必须填写!",
+                            Text,
+                            MessageBoxButtons.OK,
+                            MessageBoxIcon.Warning,
+                            MessageBoxDefaultButton.Button1);
+                        return;
+                    }
+
+                    // 异步处理
+                    ClientRequestEntity cre = new ClientRequestEntity();
+                    cre.NameSpace = "F_PM_3302";
+                    cre.Name = "SaveAllocateOut";
+                    cre.Properties["rreason"] = cmbRreason.Text.Trim();
+                    cre.Properties["remarks"] = txtRemarks.Text.Trim();
+                    cre.Data = new DataSet();
+                    cre.Data.Tables.Add(dtBarcode.Copy());
+
+                    ServiceResultEntity sre = (ServiceResultEntity)DoAsync(
+                        () => { return PMModuleProxyNew.Service.HandleRequest(cre); });
+
+                    if (sre.OtherStatus > 0)
+                    {
+                        MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "工厂调出", "保存"),
+                            Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+                        DialogResult = DialogResult.OK;
+                    }
+                    else if (sre.OtherStatus < 0 && !string.IsNullOrEmpty(sre.Message))
+                    {
+                        MessageBox.Show(string.Format(Messages.MSG_CMN_W007, sre.Message),
+                           Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+                    }
+                    else
+                    {
+                        MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "工厂调出", "保存"),
+                            Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    }
+                }
+                else if (FormType == Constant.FormMode.Edit)
+                {
+                    // 异步处理
+                    ClientRequestEntity cre = new ClientRequestEntity();
+                    cre.NameSpace = "F_PM_3302";
+                    cre.Name = "CancelAllocateOut";
+                    cre.Data = new DataSet();
+                    cre.Data.Tables.Add(dtBarcode.Copy());
+
+                    ServiceResultEntity sre = (ServiceResultEntity)DoAsync(
+                        () => { return PMModuleProxyNew.Service.HandleRequest(cre); });
+
+                    if (sre.OtherStatus > 0)
+                    {
+                        MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "工厂调出撤销", "保存"),
+                            Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+                        DialogResult = DialogResult.OK;
+                    }
+                    else if (sre.OtherStatus < 0 && !string.IsNullOrEmpty(sre.Message))
+                    {
+                        MessageBox.Show(string.Format(Messages.MSG_CMN_W007, sre.Message),
+                           Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+                    }
+                    else
+                    {
+                        MessageBox.Show(string.Format(Messages.MSG_CMN_W001, "工厂调出撤销", "保存"),
+                            Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 条码回车事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void txtBarCode_KeyPress(object sender, KeyPressEventArgs e)
+        {
+            try
+            {
+                if ((int)e.KeyChar == 13) // 按了回车键
+                {
+                    string barcode = txtBarCode.Text.Trim();
+                    if (!string.IsNullOrEmpty(barcode))
+                    {
+                        DataTable dtBarcode = dgvBarcode.DataSource as DataTable;
+                        if (dtBarcode != null)
+                        {
+                            DataRow[] rows = dtBarcode.Select("Barcode = '" + barcode + "'");
+                            if (rows.Length > 0)
+                            {
+                                MessageBox.Show(string.Format(Messages.MSG_CMN_W007, "当前编码在列表中已存在"),
+                                    Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+                                return;
+                            }
+                        }
+
+                        // 异步处理
+                        ClientRequestEntity cre = new ClientRequestEntity();
+                        cre.NameSpace = "F_PM_3302";
+                        cre.Name = "CheckAllocateOut";
+                        cre.Data = new DataSet();
+                        cre.Properties["Barcode"] = barcode;
+                        cre.Properties["OutFlag"] = FormType == Constant.FormMode.Add ? 1 : 0;
+
+                        ServiceResultEntity sre = (ServiceResultEntity)DoAsync(
+                            () => { return PMModuleProxyNew.Service.HandleRequest(cre); });
+
+                        if (sre.OtherStatus < 0 && !string.IsNullOrEmpty(sre.Message))
+                        {
+                            MessageBox.Show(string.Format(Messages.MSG_CMN_W007, sre.Message),
+                               Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+                            return;
+                        }
+
+                        if (sre.Data != null && sre.Data.Tables[0].Rows.Count > 0)
+                        {
+                            if (dtBarcode == null)
+                            {
+                                dgvBarcode.DataSource = sre.Data.Tables[0];
+                            }
+                            else
+                            {
+                                DataRow row = dtBarcode.NewRow();
+                                row.ItemArray = sre.Data.Tables[0].Rows[0].ItemArray;
+                                dtBarcode.Rows.Add(row);
+                            }
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 窗体关闭
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnCancel_Click(object sender, EventArgs e)
+        {
+            Close();
+        }
+        #endregion
+    }
+}

+ 152 - 0
DK.Client/PMModule/F_PM_3302.resx

@@ -0,0 +1,152 @@
+<?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="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>
+  <data name="btnCancel.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="Barcode.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="GroutingLineCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="MouldCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+</root>

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

@@ -121,6 +121,18 @@
     <Compile Include="F_PM_0504.Designer.cs">
       <DependentUpon>F_PM_0504.cs</DependentUpon>
     </Compile>
+    <Compile Include="F_PM_3302.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="F_PM_3302.Designer.cs">
+      <DependentUpon>F_PM_3302.cs</DependentUpon>
+    </Compile>
+    <Compile Include="F_PM_3301.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="F_PM_3301.Designer.cs">
+      <DependentUpon>F_PM_3301.cs</DependentUpon>
+    </Compile>
     <Compile Include="F_PM_2405.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -767,6 +779,12 @@
     <EmbeddedResource Include="F_PM_0504.resx">
       <DependentUpon>F_PM_0504.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="F_PM_3302.resx">
+      <DependentUpon>F_PM_3302.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="F_PM_3301.resx">
+      <DependentUpon>F_PM_3301.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="F_PM_2405.resx">
       <DependentUpon>F_PM_2405.cs</DependentUpon>
     </EmbeddedResource>

+ 889 - 0
DK.Client/ReportModule/R03/M01/F_RPT_030120.Designer.cs

@@ -0,0 +1,889 @@
+namespace Dongke.IBOSS.PRD.Client.ReportModule
+{
+    partial class F_RPT_030120
+    {
+        /// <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_RPT_030120));
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = 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();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
+            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.gbxCondition = new Dongke.IBOSS.PRD.Basics.BaseControls.C_GroupBox();
+            this.txtBarCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
+            this.lblBarCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.cmbRreason = new Dongke.IBOSS.PRD.Basics.BaseControls.C_ComboBox();
+            this.c_Label1 = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.lblScrapDateStart = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.dtpScrapDateEnd = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DateTimePicker();
+            this.lblScrapDateEnd = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.dtpScrapDateStart = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DateTimePicker();
+            this.btnSearch = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.btnClearCondition = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.txtGoodsCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
+            this.lblGoodsModel = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.tapUndoDetail = new System.Windows.Forms.TabPage();
+            this.dgvScrapProductDetail = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView();
+            this.BarCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Rreason = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ScrapDate = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ProcedureName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ProductionLineCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ProductionLineName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingDate = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingUserCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingMouldCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.MouldCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsLevelName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Remarks = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ISPUBLICBODY = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.SPECIALREPAIRFLAG = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.ProductionLineID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingDailyID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingDailyDetailID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GMouldTypeID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GroutingLineDetailID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsLevelTypeID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.AccountID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ValueFlag = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ScrapProductID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.tapUndoTotal = new System.Windows.Forms.TabPage();
+            this.dgvScrapProductTotal = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView();
+            this.ScrapDate1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Rreason1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsCode1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.GoodsName1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Quantity = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.page = new System.Windows.Forms.TabControl();
+            this.tsrOperate.SuspendLayout();
+            this.gbxCondition.SuspendLayout();
+            this.tapUndoDetail.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvScrapProductDetail)).BeginInit();
+            this.tapUndoTotal.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvScrapProductTotal)).BeginInit();
+            this.page.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // tsrOperate
+            // 
+            this.tsrOperate.AutoSize = false;
+            this.tsrOperate.BackColor = System.Drawing.Color.Transparent;
+            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(1203, 35);
+            this.tsrOperate.TabIndex = 0;
+            this.tsrOperate.Text = "toolStrip1";
+            // 
+            // 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.txtBarCode);
+            this.gbxCondition.Controls.Add(this.lblBarCode);
+            this.gbxCondition.Controls.Add(this.cmbRreason);
+            this.gbxCondition.Controls.Add(this.c_Label1);
+            this.gbxCondition.Controls.Add(this.lblScrapDateStart);
+            this.gbxCondition.Controls.Add(this.dtpScrapDateEnd);
+            this.gbxCondition.Controls.Add(this.lblScrapDateEnd);
+            this.gbxCondition.Controls.Add(this.dtpScrapDateStart);
+            this.gbxCondition.Controls.Add(this.btnSearch);
+            this.gbxCondition.Controls.Add(this.btnClearCondition);
+            this.gbxCondition.Controls.Add(this.txtGoodsCode);
+            this.gbxCondition.Controls.Add(this.lblGoodsModel);
+            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(4, 38);
+            this.gbxCondition.Name = "gbxCondition";
+            this.gbxCondition.OriginalHeight = -1;
+            this.gbxCondition.Size = new System.Drawing.Size(1183, 55);
+            this.gbxCondition.TabIndex = 1;
+            this.gbxCondition.TabStop = false;
+            this.gbxCondition.Text = "查询条件 ▼";
+            // 
+            // txtBarCode
+            // 
+            this.txtBarCode.BackColor = System.Drawing.SystemColors.Window;
+            this.txtBarCode.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.txtBarCode.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtBarCode.ErrorMessage = "";
+            this.txtBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtBarCode.Location = new System.Drawing.Point(839, 18);
+            this.txtBarCode.MaxLength = 11;
+            this.txtBarCode.Name = "txtBarCode";
+            this.txtBarCode.Size = new System.Drawing.Size(145, 21);
+            this.txtBarCode.TabIndex = 110;
+            // 
+            // lblBarCode
+            // 
+            this.lblBarCode.AutoSize = true;
+            this.lblBarCode.BackColor = System.Drawing.Color.Transparent;
+            this.lblBarCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblBarCode.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblBarCode.Location = new System.Drawing.Point(780, 21);
+            this.lblBarCode.Name = "lblBarCode";
+            this.lblBarCode.Size = new System.Drawing.Size(53, 12);
+            this.lblBarCode.TabIndex = 111;
+            this.lblBarCode.Text = "产品条码";
+            // 
+            // cmbRreason
+            // 
+            this.cmbRreason.BackColor = System.Drawing.SystemColors.Window;
+            this.cmbRreason.BackgroundColor = System.Drawing.SystemColors.Window;
+            this.cmbRreason.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.cmbRreason.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.cmbRreason.FormattingEnabled = true;
+            this.cmbRreason.Location = new System.Drawing.Point(275, 20);
+            this.cmbRreason.Name = "cmbRreason";
+            this.cmbRreason.Size = new System.Drawing.Size(136, 20);
+            this.cmbRreason.TabIndex = 109;
+            // 
+            // 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(218, 24);
+            this.c_Label1.Name = "c_Label1";
+            this.c_Label1.Size = new System.Drawing.Size(53, 12);
+            this.c_Label1.TabIndex = 108;
+            this.c_Label1.Text = "调出类型";
+            // 
+            // lblScrapDateStart
+            // 
+            this.lblScrapDateStart.AutoSize = true;
+            this.lblScrapDateStart.BackColor = System.Drawing.Color.Transparent;
+            this.lblScrapDateStart.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblScrapDateStart.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblScrapDateStart.Location = new System.Drawing.Point(418, 24);
+            this.lblScrapDateStart.Name = "lblScrapDateStart";
+            this.lblScrapDateStart.Size = new System.Drawing.Size(53, 12);
+            this.lblScrapDateStart.TabIndex = 107;
+            this.lblScrapDateStart.Text = "调出日期";
+            // 
+            // dtpScrapDateEnd
+            // 
+            this.dtpScrapDateEnd.CustomFormat = "yyyy-MM-dd";
+            this.dtpScrapDateEnd.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dtpScrapDateEnd.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+            this.dtpScrapDateEnd.Location = new System.Drawing.Point(640, 18);
+            this.dtpScrapDateEnd.Name = "dtpScrapDateEnd";
+            this.dtpScrapDateEnd.Size = new System.Drawing.Size(134, 21);
+            this.dtpScrapDateEnd.TabIndex = 105;
+            // 
+            // lblScrapDateEnd
+            // 
+            this.lblScrapDateEnd.AutoSize = true;
+            this.lblScrapDateEnd.BackColor = System.Drawing.Color.Transparent;
+            this.lblScrapDateEnd.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblScrapDateEnd.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblScrapDateEnd.Location = new System.Drawing.Point(617, 21);
+            this.lblScrapDateEnd.Name = "lblScrapDateEnd";
+            this.lblScrapDateEnd.Size = new System.Drawing.Size(17, 12);
+            this.lblScrapDateEnd.TabIndex = 106;
+            this.lblScrapDateEnd.Text = "至";
+            // 
+            // dtpScrapDateStart
+            // 
+            this.dtpScrapDateStart.CustomFormat = "yyyy-MM-dd";
+            this.dtpScrapDateStart.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dtpScrapDateStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+            this.dtpScrapDateStart.Location = new System.Drawing.Point(477, 18);
+            this.dtpScrapDateStart.Name = "dtpScrapDateStart";
+            this.dtpScrapDateStart.Size = new System.Drawing.Size(134, 21);
+            this.dtpScrapDateStart.TabIndex = 104;
+            // 
+            // btnSearch
+            // 
+            this.btnSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.btnSearch.BackColor = System.Drawing.Color.Transparent;
+            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(1001, 15);
+            this.btnSearch.Name = "btnSearch";
+            this.btnSearch.Size = new System.Drawing.Size(85, 30);
+            this.btnSearch.TabIndex = 12;
+            this.btnSearch.Text = "查询";
+            this.btnSearch.UseVisualStyleBackColor = true;
+            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.Transparent;
+            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(1092, 15);
+            this.btnClearCondition.Name = "btnClearCondition";
+            this.btnClearCondition.Size = new System.Drawing.Size(85, 30);
+            this.btnClearCondition.TabIndex = 13;
+            this.btnClearCondition.Text = "清空条件";
+            this.btnClearCondition.UseVisualStyleBackColor = true;
+            this.btnClearCondition.Click += new System.EventHandler(this.btnClearCondition_Click);
+            // 
+            // 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(67, 20);
+            this.txtGoodsCode.MaxLength = 21;
+            this.txtGoodsCode.Name = "txtGoodsCode";
+            this.txtGoodsCode.Size = new System.Drawing.Size(145, 21);
+            this.txtGoodsCode.TabIndex = 10;
+            this.txtGoodsCode.TextValue = "";
+            // 
+            // lblGoodsModel
+            // 
+            this.lblGoodsModel.AutoSize = true;
+            this.lblGoodsModel.BackColor = System.Drawing.Color.Transparent;
+            this.lblGoodsModel.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblGoodsModel.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblGoodsModel.Location = new System.Drawing.Point(8, 24);
+            this.lblGoodsModel.Name = "lblGoodsModel";
+            this.lblGoodsModel.Size = new System.Drawing.Size(53, 12);
+            this.lblGoodsModel.TabIndex = 9;
+            this.lblGoodsModel.Text = "产品编码";
+            // 
+            // tapUndoDetail
+            // 
+            this.tapUndoDetail.Controls.Add(this.dgvScrapProductDetail);
+            this.tapUndoDetail.Location = new System.Drawing.Point(4, 22);
+            this.tapUndoDetail.Margin = new System.Windows.Forms.Padding(0);
+            this.tapUndoDetail.Name = "tapUndoDetail";
+            this.tapUndoDetail.Size = new System.Drawing.Size(1179, 509);
+            this.tapUndoDetail.TabIndex = 1;
+            this.tapUndoDetail.Text = "工厂调出明细表";
+            this.tapUndoDetail.UseVisualStyleBackColor = true;
+            // 
+            // dgvScrapProductDetail
+            // 
+            this.dgvScrapProductDetail.AllowUserToAddRows = false;
+            this.dgvScrapProductDetail.AllowUserToDeleteRows = false;
+            this.dgvScrapProductDetail.AllowUserToModifyRows = true;
+            this.dgvScrapProductDetail.AllowUserToOrderColumns = true;
+            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
+            this.dgvScrapProductDetail.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvScrapProductDetail.CellBackColorNochanged = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+            this.dgvScrapProductDetail.CellBackColorReadOnly = System.Drawing.SystemColors.Control;
+            this.dgvScrapProductDetail.CellHeight = 23;
+            this.dgvScrapProductDetail.ChildNodeColumnName = null;
+            this.dgvScrapProductDetail.ChildNodeColumnText = null;
+            this.dgvScrapProductDetail.ColumnDeep = 1;
+            this.dgvScrapProductDetail.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.dgvScrapProductDetail.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+            this.dgvScrapProductDetail.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvScrapProductDetail.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.BarCode,
+            this.GoodsCode,
+            this.GoodsName,
+            this.Rreason,
+            this.ScrapDate,
+            this.ProcedureName,
+            this.ProductionLineCode,
+            this.ProductionLineName,
+            this.GroutingDate,
+            this.GroutingUserCode,
+            this.GroutingLineCode,
+            this.GroutingLineName,
+            this.GroutingMouldCode,
+            this.MouldCode,
+            this.GoodsLevelName,
+            this.Remarks,
+            this.ISPUBLICBODY,
+            this.SPECIALREPAIRFLAG,
+            this.ProductionLineID,
+            this.GoodsID,
+            this.GroutingDailyID,
+            this.GroutingDailyDetailID,
+            this.GroutingLineID,
+            this.GMouldTypeID,
+            this.GroutingLineDetailID,
+            this.GoodsLevelTypeID,
+            this.AccountID,
+            this.ValueFlag,
+            this.ScrapProductID});
+            this.dgvScrapProductDetail.ColumnTreeView = null;
+            this.dgvScrapProductDetail.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)));
+            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvScrapProductDetail.DefaultCellStyle = dataGridViewCellStyle5;
+            this.dgvScrapProductDetail.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.dgvScrapProductDetail.DynamicColumnName = "";
+            this.dgvScrapProductDetail.EnableHeadersVisualStyles = false;
+            this.dgvScrapProductDetail.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvScrapProductDetail.FormatQuantityColumns = null;
+            this.dgvScrapProductDetail.HorizontalMergeColumn = null;
+            this.dgvScrapProductDetail.IsAutoCountSum = true;
+            this.dgvScrapProductDetail.IsAutoResizeColumns = false;
+            this.dgvScrapProductDetail.IsClickF12 = false;
+            this.dgvScrapProductDetail.IsOpenMergeCellFlag = false;
+            this.dgvScrapProductDetail.IsSubTotalFlag = false;
+            this.dgvScrapProductDetail.IsTopDeep = false;
+            this.dgvScrapProductDetail.Location = new System.Drawing.Point(0, 0);
+            this.dgvScrapProductDetail.MergeColumnNames = null;
+            this.dgvScrapProductDetail.MergeDetailColumnNames = null;
+            this.dgvScrapProductDetail.MergeDetailOnlyColumn = null;
+            this.dgvScrapProductDetail.MergeOnlyColumn = null;
+            this.dgvScrapProductDetail.Name = "dgvScrapProductDetail";
+            this.dgvScrapProductDetail.ReadOnly = true;
+            this.dgvScrapProductDetail.RefreshAtHscroll = false;
+            this.dgvScrapProductDetail.RowHeadersWidth = 50;
+            this.dgvScrapProductDetail.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.dgvScrapProductDetail.RowsDefaultCellStyle = dataGridViewCellStyle6;
+            this.dgvScrapProductDetail.RowTemplate.Height = 21;
+            this.dgvScrapProductDetail.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
+            this.dgvScrapProductDetail.Size = new System.Drawing.Size(1179, 509);
+            this.dgvScrapProductDetail.SortOrderColumnName = null;
+            this.dgvScrapProductDetail.TabIndex = 15;
+            this.dgvScrapProductDetail.Tag = true;
+            this.dgvScrapProductDetail.TotalSumColumns = null;
+            this.dgvScrapProductDetail.ViewRowFilter = "";
+            this.dgvScrapProductDetail.VirtualMode = true;
+            // 
+            // BarCode
+            // 
+            this.BarCode.DataPropertyName = "BarCode";
+            this.BarCode.HeaderText = "产品条码";
+            this.BarCode.Name = "BarCode";
+            this.BarCode.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;
+            // 
+            // Rreason
+            // 
+            this.Rreason.DataPropertyName = "Rreason";
+            this.Rreason.HeaderText = "调出类型";
+            this.Rreason.Name = "Rreason";
+            this.Rreason.ReadOnly = true;
+            // 
+            // ScrapDate
+            // 
+            this.ScrapDate.DataPropertyName = "ScrapDate";
+            dataGridViewCellStyle3.Format = "yyyy-MM-dd";
+            dataGridViewCellStyle3.NullValue = null;
+            this.ScrapDate.DefaultCellStyle = dataGridViewCellStyle3;
+            this.ScrapDate.HeaderText = "调出日期";
+            this.ScrapDate.Name = "ScrapDate";
+            this.ScrapDate.ReadOnly = true;
+            // 
+            // ProcedureName
+            // 
+            this.ProcedureName.DataPropertyName = "ProcedureName";
+            this.ProcedureName.HeaderText = "完成工序";
+            this.ProcedureName.Name = "ProcedureName";
+            this.ProcedureName.ReadOnly = true;
+            // 
+            // ProductionLineCode
+            // 
+            this.ProductionLineCode.DataPropertyName = "ProductionLineCode";
+            this.ProductionLineCode.HeaderText = "生产线编码";
+            this.ProductionLineCode.Name = "ProductionLineCode";
+            this.ProductionLineCode.ReadOnly = true;
+            // 
+            // ProductionLineName
+            // 
+            this.ProductionLineName.DataPropertyName = "ProductionLineName";
+            this.ProductionLineName.HeaderText = "生产线名称";
+            this.ProductionLineName.Name = "ProductionLineName";
+            this.ProductionLineName.ReadOnly = true;
+            // 
+            // GroutingDate
+            // 
+            this.GroutingDate.DataPropertyName = "GroutingDate";
+            dataGridViewCellStyle4.Format = "yyyy-MM-dd";
+            dataGridViewCellStyle4.NullValue = null;
+            this.GroutingDate.DefaultCellStyle = dataGridViewCellStyle4;
+            this.GroutingDate.HeaderText = "注浆日期";
+            this.GroutingDate.Name = "GroutingDate";
+            this.GroutingDate.ReadOnly = true;
+            // 
+            // GroutingUserCode
+            // 
+            this.GroutingUserCode.DataPropertyName = "GroutingUserCode";
+            this.GroutingUserCode.HeaderText = "成型工号";
+            this.GroutingUserCode.Name = "GroutingUserCode";
+            this.GroutingUserCode.ReadOnly = true;
+            // 
+            // 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;
+            // 
+            // GroutingMouldCode
+            // 
+            this.GroutingMouldCode.DataPropertyName = "GroutingMouldCode";
+            this.GroutingMouldCode.HeaderText = "注浆模具编号";
+            this.GroutingMouldCode.Name = "GroutingMouldCode";
+            this.GroutingMouldCode.ReadOnly = true;
+            // 
+            // MouldCode
+            // 
+            this.MouldCode.DataPropertyName = "MouldCode";
+            this.MouldCode.HeaderText = "模具编号";
+            this.MouldCode.Name = "MouldCode";
+            this.MouldCode.ReadOnly = true;
+            this.MouldCode.Visible = false;
+            // 
+            // GoodsLevelName
+            // 
+            this.GoodsLevelName.DataPropertyName = "GoodsLevelName";
+            this.GoodsLevelName.HeaderText = "产品分级";
+            this.GoodsLevelName.Name = "GoodsLevelName";
+            this.GoodsLevelName.ReadOnly = true;
+            // 
+            // Remarks
+            // 
+            this.Remarks.DataPropertyName = "Remarks";
+            this.Remarks.HeaderText = "备注";
+            this.Remarks.Name = "Remarks";
+            this.Remarks.ReadOnly = true;
+            // 
+            // ISPUBLICBODY
+            // 
+            this.ISPUBLICBODY.DataPropertyName = "ISPUBLICBODY";
+            this.ISPUBLICBODY.FalseValue = "0";
+            this.ISPUBLICBODY.HeaderText = "公坯标识";
+            this.ISPUBLICBODY.Name = "ISPUBLICBODY";
+            this.ISPUBLICBODY.ReadOnly = true;
+            this.ISPUBLICBODY.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+            this.ISPUBLICBODY.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+            this.ISPUBLICBODY.TrueValue = "1";
+            // 
+            // SPECIALREPAIRFLAG
+            // 
+            this.SPECIALREPAIRFLAG.DataPropertyName = "SPECIALREPAIRFLAG";
+            this.SPECIALREPAIRFLAG.FalseValue = "0";
+            this.SPECIALREPAIRFLAG.HeaderText = "干补标识";
+            this.SPECIALREPAIRFLAG.Name = "SPECIALREPAIRFLAG";
+            this.SPECIALREPAIRFLAG.ReadOnly = true;
+            this.SPECIALREPAIRFLAG.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+            this.SPECIALREPAIRFLAG.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+            this.SPECIALREPAIRFLAG.TrueValue = "1";
+            // 
+            // ProductionLineID
+            // 
+            this.ProductionLineID.DataPropertyName = "ProductionLineID";
+            this.ProductionLineID.HeaderText = "生产线ID";
+            this.ProductionLineID.Name = "ProductionLineID";
+            this.ProductionLineID.ReadOnly = true;
+            this.ProductionLineID.Visible = false;
+            // 
+            // GoodsID
+            // 
+            this.GoodsID.DataPropertyName = "GoodsID";
+            this.GoodsID.HeaderText = "产品ID";
+            this.GoodsID.Name = "GoodsID";
+            this.GoodsID.ReadOnly = true;
+            this.GoodsID.Visible = false;
+            // 
+            // GroutingDailyID
+            // 
+            this.GroutingDailyID.DataPropertyName = "GroutingDailyID";
+            this.GroutingDailyID.HeaderText = "注浆日报ID";
+            this.GroutingDailyID.Name = "GroutingDailyID";
+            this.GroutingDailyID.ReadOnly = true;
+            this.GroutingDailyID.Visible = false;
+            // 
+            // GroutingDailyDetailID
+            // 
+            this.GroutingDailyDetailID.DataPropertyName = "GroutingDailyDetailID";
+            this.GroutingDailyDetailID.HeaderText = "注浆日报明细ID";
+            this.GroutingDailyDetailID.Name = "GroutingDailyDetailID";
+            this.GroutingDailyDetailID.ReadOnly = true;
+            this.GroutingDailyDetailID.Visible = false;
+            // 
+            // GroutingLineID
+            // 
+            this.GroutingLineID.DataPropertyName = "GroutingLineID";
+            this.GroutingLineID.HeaderText = "成型线ID";
+            this.GroutingLineID.Name = "GroutingLineID";
+            this.GroutingLineID.ReadOnly = true;
+            this.GroutingLineID.Visible = false;
+            // 
+            // GMouldTypeID
+            // 
+            this.GMouldTypeID.DataPropertyName = "GMouldTypeID";
+            this.GMouldTypeID.HeaderText = "成型线类型ID";
+            this.GMouldTypeID.Name = "GMouldTypeID";
+            this.GMouldTypeID.ReadOnly = true;
+            this.GMouldTypeID.Visible = false;
+            // 
+            // GroutingLineDetailID
+            // 
+            this.GroutingLineDetailID.DataPropertyName = "GroutingLineDetailID";
+            this.GroutingLineDetailID.HeaderText = "成型线明细ID";
+            this.GroutingLineDetailID.Name = "GroutingLineDetailID";
+            this.GroutingLineDetailID.ReadOnly = true;
+            this.GroutingLineDetailID.Visible = false;
+            // 
+            // GoodsLevelTypeID
+            // 
+            this.GoodsLevelTypeID.DataPropertyName = "GoodsLevelTypeID";
+            this.GoodsLevelTypeID.HeaderText = "产品分级类别ID";
+            this.GoodsLevelTypeID.Name = "GoodsLevelTypeID";
+            this.GoodsLevelTypeID.ReadOnly = true;
+            this.GoodsLevelTypeID.Visible = false;
+            // 
+            // AccountID
+            // 
+            this.AccountID.DataPropertyName = "AccountID";
+            this.AccountID.HeaderText = "帐套ID";
+            this.AccountID.Name = "AccountID";
+            this.AccountID.ReadOnly = true;
+            this.AccountID.Visible = false;
+            // 
+            // ValueFlag
+            // 
+            this.ValueFlag.DataPropertyName = "ValueFlag";
+            this.ValueFlag.HeaderText = "有效标识";
+            this.ValueFlag.Name = "ValueFlag";
+            this.ValueFlag.ReadOnly = true;
+            this.ValueFlag.Visible = false;
+            // 
+            // ScrapProductID
+            // 
+            this.ScrapProductID.DataPropertyName = "ScrapProductID";
+            this.ScrapProductID.HeaderText = "报损ID";
+            this.ScrapProductID.Name = "ScrapProductID";
+            this.ScrapProductID.ReadOnly = true;
+            this.ScrapProductID.Visible = false;
+            // 
+            // tapUndoTotal
+            // 
+            this.tapUndoTotal.Controls.Add(this.dgvScrapProductTotal);
+            this.tapUndoTotal.Location = new System.Drawing.Point(4, 22);
+            this.tapUndoTotal.Margin = new System.Windows.Forms.Padding(0);
+            this.tapUndoTotal.Name = "tapUndoTotal";
+            this.tapUndoTotal.Size = new System.Drawing.Size(1179, 509);
+            this.tapUndoTotal.TabIndex = 0;
+            this.tapUndoTotal.Text = "工厂调出汇总表";
+            this.tapUndoTotal.UseVisualStyleBackColor = true;
+            // 
+            // dgvScrapProductTotal
+            // 
+            this.dgvScrapProductTotal.AllowUserToAddRows = false;
+            this.dgvScrapProductTotal.AllowUserToDeleteRows = false;
+            this.dgvScrapProductTotal.AllowUserToModifyRows = true;
+            this.dgvScrapProductTotal.AllowUserToOrderColumns = true;
+            dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
+            this.dgvScrapProductTotal.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7;
+            this.dgvScrapProductTotal.CellBackColorNochanged = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+            this.dgvScrapProductTotal.CellBackColorReadOnly = System.Drawing.SystemColors.Control;
+            this.dgvScrapProductTotal.CellHeight = 23;
+            this.dgvScrapProductTotal.ChildNodeColumnName = null;
+            this.dgvScrapProductTotal.ChildNodeColumnText = null;
+            this.dgvScrapProductTotal.ColumnDeep = 1;
+            this.dgvScrapProductTotal.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
+            dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(58)))), ((int)(((byte)(70)))));
+            dataGridViewCellStyle8.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle8.ForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvScrapProductTotal.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
+            this.dgvScrapProductTotal.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvScrapProductTotal.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.ScrapDate1,
+            this.Rreason1,
+            this.GoodsCode1,
+            this.GoodsName1,
+            this.Quantity});
+            this.dgvScrapProductTotal.ColumnTreeView = null;
+            this.dgvScrapProductTotal.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)));
+            dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Window;
+            dataGridViewCellStyle10.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.ControlText;
+            dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+            this.dgvScrapProductTotal.DefaultCellStyle = dataGridViewCellStyle10;
+            this.dgvScrapProductTotal.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.dgvScrapProductTotal.DynamicColumnName = "";
+            this.dgvScrapProductTotal.EnableHeadersVisualStyles = false;
+            this.dgvScrapProductTotal.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvScrapProductTotal.FormatQuantityColumns = null;
+            this.dgvScrapProductTotal.HorizontalMergeColumn = null;
+            this.dgvScrapProductTotal.IsAutoCountSum = true;
+            this.dgvScrapProductTotal.IsAutoResizeColumns = false;
+            this.dgvScrapProductTotal.IsClickF12 = false;
+            this.dgvScrapProductTotal.IsOpenMergeCellFlag = false;
+            this.dgvScrapProductTotal.IsSubTotalFlag = false;
+            this.dgvScrapProductTotal.IsTopDeep = false;
+            this.dgvScrapProductTotal.Location = new System.Drawing.Point(0, 0);
+            this.dgvScrapProductTotal.MergeColumnNames = null;
+            this.dgvScrapProductTotal.MergeDetailColumnNames = null;
+            this.dgvScrapProductTotal.MergeDetailOnlyColumn = null;
+            this.dgvScrapProductTotal.MergeOnlyColumn = null;
+            this.dgvScrapProductTotal.Name = "dgvScrapProductTotal";
+            this.dgvScrapProductTotal.ReadOnly = true;
+            this.dgvScrapProductTotal.RefreshAtHscroll = false;
+            this.dgvScrapProductTotal.RowHeadersWidth = 50;
+            this.dgvScrapProductTotal.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            dataGridViewCellStyle11.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.dgvScrapProductTotal.RowsDefaultCellStyle = dataGridViewCellStyle11;
+            this.dgvScrapProductTotal.RowTemplate.Height = 21;
+            this.dgvScrapProductTotal.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
+            this.dgvScrapProductTotal.Size = new System.Drawing.Size(1179, 509);
+            this.dgvScrapProductTotal.SortOrderColumnName = null;
+            this.dgvScrapProductTotal.TabIndex = 16;
+            this.dgvScrapProductTotal.Tag = true;
+            this.dgvScrapProductTotal.TotalSumColumns = null;
+            this.dgvScrapProductTotal.ViewRowFilter = "";
+            this.dgvScrapProductTotal.VirtualMode = true;
+            this.dgvScrapProductTotal.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvScrapProductTotal_CellDoubleClick);
+            // 
+            // ScrapDate1
+            // 
+            this.ScrapDate1.DataPropertyName = "ScrapDate";
+            dataGridViewCellStyle9.Format = "yyyy-MM-dd";
+            dataGridViewCellStyle9.NullValue = null;
+            this.ScrapDate1.DefaultCellStyle = dataGridViewCellStyle9;
+            this.ScrapDate1.HeaderText = "调出日期";
+            this.ScrapDate1.Name = "ScrapDate1";
+            this.ScrapDate1.ReadOnly = true;
+            this.ScrapDate1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            // 
+            // Rreason1
+            // 
+            this.Rreason1.DataPropertyName = "Rreason";
+            this.Rreason1.HeaderText = "调出类型";
+            this.Rreason1.Name = "Rreason1";
+            this.Rreason1.ReadOnly = true;
+            this.Rreason1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            // 
+            // GoodsCode1
+            // 
+            this.GoodsCode1.DataPropertyName = "GoodsCode";
+            this.GoodsCode1.HeaderText = "产品编码";
+            this.GoodsCode1.Name = "GoodsCode1";
+            this.GoodsCode1.ReadOnly = true;
+            this.GoodsCode1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            // 
+            // GoodsName1
+            // 
+            this.GoodsName1.DataPropertyName = "GoodsName";
+            this.GoodsName1.HeaderText = "产品名称";
+            this.GoodsName1.Name = "GoodsName1";
+            this.GoodsName1.ReadOnly = true;
+            this.GoodsName1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            // 
+            // Quantity
+            // 
+            this.Quantity.DataPropertyName = "Quantity";
+            this.Quantity.HeaderText = "数量";
+            this.Quantity.Name = "Quantity";
+            this.Quantity.ReadOnly = true;
+            this.Quantity.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+            // 
+            // page
+            // 
+            this.page.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.page.Controls.Add(this.tapUndoTotal);
+            this.page.Controls.Add(this.tapUndoDetail);
+            this.page.Location = new System.Drawing.Point(0, 96);
+            this.page.Margin = new System.Windows.Forms.Padding(0);
+            this.page.Name = "page";
+            this.page.Padding = new System.Drawing.Point(0, 0);
+            this.page.SelectedIndex = 0;
+            this.page.Size = new System.Drawing.Size(1187, 535);
+            this.page.TabIndex = 2;
+            // 
+            // F_RPT_030120
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(1203, 629);
+            this.Controls.Add(this.gbxCondition);
+            this.Controls.Add(this.page);
+            this.Controls.Add(this.tsrOperate);
+            this.Name = "F_RPT_030120";
+            this.Text = "工厂调出汇总表";
+            this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.F_RPT_030102_1_FormClosed);
+            this.Load += new System.EventHandler(this.F_RPT_030102_1_Load);
+            this.tsrOperate.ResumeLayout(false);
+            this.tsrOperate.PerformLayout();
+            this.gbxCondition.ResumeLayout(false);
+            this.gbxCondition.PerformLayout();
+            this.tapUndoDetail.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.dgvScrapProductDetail)).EndInit();
+            this.tapUndoTotal.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.dgvScrapProductTotal)).EndInit();
+            this.page.ResumeLayout(false);
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private Basics.BaseControls.C_ToolStrip tsrOperate;
+        private System.Windows.Forms.ToolStripButton tsbtnAdaptive;
+        private System.Windows.Forms.ToolStripButton tsbtnClose;
+        private Basics.BaseControls.C_GroupBox gbxCondition;
+        private Basics.BaseControls.C_Button btnSearch;
+        private Basics.BaseControls.C_Button btnClearCondition;
+        private Basics.BaseControls.C_TextBox txtGoodsCode;
+        private Basics.BaseControls.C_Label lblGoodsModel;
+		private System.Windows.Forms.TabPage tapUndoDetail;
+		private System.Windows.Forms.TabPage tapUndoTotal;
+		private System.Windows.Forms.TabControl page;
+        private Basics.BaseControls.C_DataGridView dgvScrapProductDetail;
+        private System.Windows.Forms.DataGridViewTextBoxColumn BarCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Rreason;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ScrapDate;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ProcedureName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ProductionLineCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ProductionLineName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingDate;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingUserCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingMouldCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn MouldCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsLevelName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Remarks;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn ISPUBLICBODY;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn SPECIALREPAIRFLAG;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ProductionLineID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingDailyID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingDailyDetailID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GMouldTypeID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GroutingLineDetailID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsLevelTypeID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn AccountID;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ValueFlag;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ScrapProductID;
+        private Basics.BaseControls.C_Label lblScrapDateStart;
+        private Basics.BaseControls.C_DateTimePicker dtpScrapDateEnd;
+        private Basics.BaseControls.C_Label lblScrapDateEnd;
+        private Basics.BaseControls.C_DateTimePicker dtpScrapDateStart;
+        private Basics.BaseControls.C_ComboBox cmbRreason;
+        private Basics.BaseControls.C_Label c_Label1;
+        private Basics.BaseControls.C_TextBox txtBarCode;
+        private Basics.BaseControls.C_Label lblBarCode;
+        private Basics.BaseControls.C_DataGridView dgvScrapProductTotal;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ScrapDate1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Rreason1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsCode1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn GoodsName1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Quantity;
+    }
+}

+ 376 - 0
DK.Client/ReportModule/R03/M01/F_RPT_030120.cs

@@ -0,0 +1,376 @@
+/*******************************************************************************
+ * Copyright(c) 2015 DongkeSoft All rights reserved. / Confidential
+ * 类的信息:
+ *      1.程序名称:F_RPT_030120.cs
+ *      2.功能描述:工厂调出汇总表
+ * 编辑履历:
+ *      作者            日期                版本            修改内容
+ *      付斌            2020/11/06         1.00            新建
+ *******************************************************************************/
+
+using System;
+using System.Data;
+using System.Windows.Forms;
+
+using Dongke.IBOSS.PRD.Basics.BaseResources;
+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.ReportModule
+{
+    public partial class F_RPT_030120 : DKDockPanelBase
+    {
+        #region 成员变量
+        private static F_RPT_030120 _instance;                      // 窗体的单例模式
+        #endregion
+
+        #region 构造函数
+        /// <summary>
+        /// 构造函数
+        /// </summary>
+        private F_RPT_030120()
+        {
+            InitializeComponent();
+
+            // 控件赋值
+            Text = FormTitles.F_RPT_030120;
+            gbxCondition.Text = Constant.LABEL_QUERY_CONDITIONS;
+            tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
+            tsbtnClose.Text = ButtonText.TSBTN_CLOSE;
+            btnSearch.Text = ButtonText.BTN_SEARCH;
+            btnClearCondition.Text = ButtonText.BTN_CLEARCONDITION;
+        }
+
+        /// <summary>
+        /// 单例模式,防止重复创建窗体
+        /// </summary>
+        public static F_RPT_030120 Instance
+        {
+            get
+            {
+                if (_instance == null || _instance.IsDisposed)
+                {
+                    _instance = new F_RPT_030120();
+                }
+                return _instance;
+            }
+        }
+        #endregion
+
+        #region 事件
+        /// <summary>
+        /// 窗体加载事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void F_RPT_030102_1_Load(object sender, EventArgs e)
+        {
+            try
+            {
+                // 加载权限
+                FormPermissionManager.FormPermissionControl(Name, this,
+                    LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData,
+                    LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
+
+                // 损坯原因
+                DataSet dsRreason = DoAsync(
+                    () => { return SystemModuleProxy.Service.GetDictionaryData(0, "TPC009"); });
+
+                DataRow row = dsRreason.Tables[0].NewRow();
+                row["DictionaryValue"] = "";
+                row["DictionaryID"] = 0;
+                dsRreason.Tables[0].Rows.InsertAt(row, 0);
+
+                cmbRreason.DisplayMember = "DictionaryValue";
+                cmbRreason.ValueMember = "DictionaryID";
+                cmbRreason.DataSource = dsRreason.Tables[0];
+
+                // 设置表格不自动创建列
+                dgvScrapProductTotal.AutoGenerateColumns = false;
+                dgvScrapProductDetail.AutoGenerateColumns = false;
+                dtpScrapDateStart.Value = DateTime.Now.Date;
+                dtpScrapDateEnd.Value = DateTime.Now.Date;
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+            }
+        }
+
+        /// <summary>
+        /// 查询按钮点击事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnSearch_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                btnSearch.Enabled = false;
+                btnClearCondition.Enabled = false;
+
+                // 汇总表查询
+                if (page.SelectedIndex == Constant.INT_IS_ZERO)
+                {
+                    dgvScrapProductTotal.DataSource = null;
+                    dgvScrapProductTotal.DataSource = GetSearchTotalData();
+                }
+                // 明细表查询
+                else
+                {
+                    dgvScrapProductDetail.DataSource = null;
+                    dgvScrapProductDetail.DataSource = GetSearchDetailData();
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+            }
+            finally
+            {
+                btnSearch.Enabled = true;
+                btnClearCondition.Enabled = true;
+            }
+        }
+
+        /// <summary>
+        /// 双击单元格事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void dgvScrapProductTotal_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
+        {
+            try
+            {
+                // 判断是否为空
+                if (this.dgvScrapProductTotal.CurrentRow == null)
+                {
+                    return;
+                }
+                dgvScrapProductDetail.DataSource = null;
+                DataGridViewRow dgvr = dgvScrapProductTotal.CurrentRow;
+
+                // 异步处理,验证挂起条码
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_RPT_030120";
+                cre.Name = "GetAllocateOutDetail";
+
+                // 创建实体,获取数据信息
+                DateTime scrapDate = new DateTime();
+                DateTime.TryParse(dgvr.Cells["ScrapDate1"].Value + "", out scrapDate);
+                string rreason = dgvr.Cells["rreason1"].Value + "";
+                string goodsCode = dgvr.Cells["GoodsCode1"].Value + "";
+
+                // 正常选择统计行
+                if (!goodsCode.Equals("--"))
+                {
+                    page.SelectTab(1);
+
+                    // 获取查询条件
+                    cre.Properties["goodscode"] = goodsCode;
+                    cre.Properties["rreason"] = rreason;
+                    cre.Properties["scrapdatestart"] = scrapDate;
+                    cre.Properties["scrapdateend"] = scrapDate.AddDays(1);
+                }
+
+                // 调出类型小计行
+                if (rreason.StartsWith("小计"))
+                {
+                    page.SelectTab(1);
+                    dgvr = dgvScrapProductTotal.Rows[dgvScrapProductTotal.CurrentCell.RowIndex - 1];
+
+                    // 获取查询条件
+                    rreason = dgvr.Cells["rreason1"].Value + "";
+                    cre.Properties["rreason"] = rreason;
+                    cre.Properties["scrapdatestart"] = scrapDate;
+                    cre.Properties["scrapdateend"] = scrapDate.AddDays(1);
+                }
+
+                // 日期小计行
+                if ((dgvr.Cells["ScrapDate1"].Value + "").StartsWith("小计"))
+                {
+                    page.SelectTab(1);
+                    dgvr = dgvScrapProductTotal.Rows[dgvScrapProductTotal.CurrentCell.RowIndex - 1];
+
+                    // 获取查询条件
+                    scrapDate = Convert.ToDateTime(dgvr.Cells["ScrapDate1"].Value);
+                    cre.Properties["scrapdatestart"] = scrapDate;
+                    cre.Properties["scrapdateend"] = scrapDate.AddDays(1);
+                }
+
+                // 合计行
+                if ((dgvr.Cells["ScrapDate1"].Value + "").StartsWith("合计"))
+                {
+                    page.SelectTab(1);
+                    dgvr = dgvScrapProductTotal.Rows[dgvScrapProductTotal.CurrentCell.RowIndex - 2];
+                    DataGridViewRow dgvr1 = dgvScrapProductTotal.Rows[0];
+                    cre.Properties["scrapdatestart"] = Convert.ToDateTime(dgvr1.Cells["ScrapDate1"].Value);
+                    scrapDate = Convert.ToDateTime(dgvr.Cells["ScrapDate1"].Value);
+                    cre.Properties["scrapdateend"] = scrapDate.AddDays(1);
+                }
+
+                // 调用服务器端获取数据集
+                ServiceResultEntity sre = DoAsync(
+                    () => { return PMModuleProxyNew.Service.HandleRequest(cre); });
+
+                if (sre.Data.Tables[0].Rows.Count == 0)
+                {
+                    // 提示未查找到数据
+                    MessageBox.Show(Messages.MSG_CMN_I002, Text,
+                        MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                }
+                dgvScrapProductDetail.DataSource = sre.Data.Tables[0];
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+            }
+            finally
+            {
+                btnSearch.Enabled = true;
+                btnClearCondition.Enabled = true;
+            }
+        }
+
+        /// <summary>
+        /// 清空条件按钮点击事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnClearCondition_Click(object sender, EventArgs e)
+        {
+            dtpScrapDateStart.Value = DateTime.Now.Date;
+            dtpScrapDateEnd.Value = DateTime.Now.Date;
+            txtGoodsCode.Clear();
+            cmbRreason.SelectedIndex = 0;
+            txtBarCode.Clear();
+        }
+
+        /// <summary>
+        /// 自动适应列宽按钮点击事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnAdaptive_Click(object sender, EventArgs e)
+        {
+            if (page.SelectedIndex == Constant.INT_IS_ZERO)
+            {
+                dgvScrapProductTotal.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+            }
+            else
+            {
+                dgvScrapProductDetail.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+            }
+        }
+
+        /// <summary>
+        /// 关闭按钮点击事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tsbtnClose_Click(object sender, EventArgs e)
+        {
+            Close();
+        }
+
+        /// <summary>
+        /// 窗体关闭事件
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void F_RPT_030102_1_FormClosed(object sender, FormClosedEventArgs e)
+        {
+            _instance = null;
+        }
+        #endregion
+
+        #region 私有方法
+        /// <summary>
+        /// 查询汇总表
+        /// </summary>
+        private DataTable GetSearchTotalData()
+        {
+            try
+            {
+                // 异步处理,验证挂起条码
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_RPT_030120";
+                cre.Name = "GetAllocateOutTotal";
+                cre.Properties["barcode"] = txtBarCode.Text.Trim();
+                cre.Properties["goodscode"] = txtGoodsCode.Text.Trim();
+                cre.Properties["scrapdatestart"] = dtpScrapDateStart.Value;
+                cre.Properties["scrapdateend"] = dtpScrapDateStart.Value.AddDays(1);
+                cre.Properties["rreason"] = cmbRreason.Text.Trim();
+
+                // 调用服务器端获取数据集
+                ServiceResultEntity sre = DoAsync(
+                    () => { return PMModuleProxyNew.Service.HandleRequest(cre); });
+
+                if (sre.Data.Tables[0].Rows.Count == 0)
+                {
+                    // 提示未查找到数据
+                    MessageBox.Show(Messages.MSG_CMN_I002, Text,
+                        MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    return null;
+                }
+                return sre.Data.Tables[0];
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+                return null;
+            }
+        }
+
+        /// <summary>
+        /// 查询明细表
+        /// </summary>
+        private DataTable GetSearchDetailData()
+        {
+            try
+            {
+                // 异步处理,验证挂起条码
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_RPT_030120";
+                cre.Name = "GetAllocateOutDetail";
+                cre.Properties["barcode"] = txtBarCode.Text.Trim();
+                cre.Properties["goodscode"] = txtGoodsCode.Text.Trim();
+                cre.Properties["scrapdatestart"] = dtpScrapDateStart.Value;
+                cre.Properties["scrapdateend"] = dtpScrapDateStart.Value.AddDays(1);
+                cre.Properties["rreason"] = cmbRreason.Text.Trim();
+
+                // 调用服务器端获取数据集
+                ServiceResultEntity sre = DoAsync(
+                    () => { return PMModuleProxyNew.Service.HandleRequest(cre); });
+
+                if (sre.Status == Constant.ServiceResultStatus.NoSearchResults)
+                {
+                    // 提示未查找到数据
+                    MessageBox.Show(Messages.MSG_CMN_I002, tapUndoDetail.Text,
+                        MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    return null;
+                }
+                return sre.Data.Tables[0];
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, Text, ex);
+                return null;
+            }
+        }
+        #endregion
+    }
+}

+ 302 - 0
DK.Client/ReportModule/R03/M01/F_RPT_030120.resx

@@ -0,0 +1,302 @@
+<?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>
+        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
+        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="BarCode.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="Rreason.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ScrapDate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ProcedureName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ProductionLineCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ProductionLineName.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="GroutingUserCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <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="GroutingMouldCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="MouldCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GoodsLevelName.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="ISPUBLICBODY.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="SPECIALREPAIRFLAG.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ProductionLineID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GoodsID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingDailyID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GroutingDailyDetailID.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="GMouldTypeID.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="GoodsLevelTypeID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="AccountID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ValueFlag.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ScrapProductID.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="ScrapDate1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Rreason1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GoodsCode1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="GoodsName1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="Quantity.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>53</value>
+  </metadata>
+</root>

+ 9 - 0
DK.Client/ReportModule/ReportModule.csproj

@@ -217,6 +217,12 @@
     <Compile Include="R02\M01\F_RPT_020104.Designer.cs">
       <DependentUpon>F_RPT_020104.cs</DependentUpon>
     </Compile>
+    <Compile Include="R03\M01\F_RPT_030120.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="R03\M01\F_RPT_030120.Designer.cs">
+      <DependentUpon>F_RPT_030120.cs</DependentUpon>
+    </Compile>
     <Compile Include="R03\M01\F_RPT_030119.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -539,6 +545,9 @@
     <EmbeddedResource Include="R02\M01\F_RPT_020104.resx">
       <DependentUpon>F_RPT_020104.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="R03\M01\F_RPT_030120.resx">
+      <DependentUpon>F_RPT_030120.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="R03\M01\F_RPT_030119.resx">
       <DependentUpon>F_RPT_030119.cs</DependentUpon>
     </EmbeddedResource>

+ 665 - 0
DK.Client/SystemModule/F_MST_1301.Designer.cs

@@ -0,0 +1,665 @@
+namespace Dongke.IBOSS.PRD.Client.SystemModule
+{
+    partial class F_MST_1301
+    {
+        /// <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_MST_1301));
+            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();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = 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.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.lblOrganization = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.scbOrganization = new Dongke.IBOSS.PRD.Client.Controls.SearchBox.ScbOrganization();
+            this.chkIsWorker = new Dongke.IBOSS.PRD.Basics.BaseControls.C_CheckBox();
+            this.txtUserCode = new System.Windows.Forms.TextBox();
+            this.btnClearCondition = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.btnSearch = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.txtUserName = new System.Windows.Forms.TextBox();
+            this.lblRemarks = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.lblUserName = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.txtRemarks = new System.Windows.Forms.TextBox();
+            this.lblUserCode = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
+            this.dgvStaff = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView();
+            this.dgvUser = new Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView();
+            this.UserCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.UserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.OrganizationName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.OrganizationFullName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.limitMAC = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Telephone = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Remarks = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.Column1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+            this.ValueFlag = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.UserID = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.splLine = new System.Windows.Forms.SplitContainer();
+            this.WorkStationName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.ProcedureName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+            this.tsrOperate.SuspendLayout();
+            this.gbxCondition.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvStaff)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvUser)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.splLine)).BeginInit();
+            this.splLine.Panel1.SuspendLayout();
+            this.splLine.Panel2.SuspendLayout();
+            this.splLine.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // tsrOperate
+            // 
+            this.tsrOperate.AutoSize = false;
+            this.tsrOperate.BackColor = System.Drawing.Color.Transparent;
+            this.tsrOperate.BackgroundImage = global::Dongke.IBOSS.PRD.Client.SystemModule.Resource1.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.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(820, 33);
+            this.tsrOperate.TabIndex = 1;
+            // 
+            // 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.tsbtnAddUser_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.tsbtnEditUser_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.lblOrganization);
+            this.gbxCondition.Controls.Add(this.scbOrganization);
+            this.gbxCondition.Controls.Add(this.chkIsWorker);
+            this.gbxCondition.Controls.Add(this.txtUserCode);
+            this.gbxCondition.Controls.Add(this.btnClearCondition);
+            this.gbxCondition.Controls.Add(this.btnSearch);
+            this.gbxCondition.Controls.Add(this.txtUserName);
+            this.gbxCondition.Controls.Add(this.lblRemarks);
+            this.gbxCondition.Controls.Add(this.lblUserName);
+            this.gbxCondition.Controls.Add(this.txtRemarks);
+            this.gbxCondition.Controls.Add(this.lblUserCode);
+            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(12, 36);
+            this.gbxCondition.Name = "gbxCondition";
+            this.gbxCondition.OriginalHeight = -1;
+            this.gbxCondition.Size = new System.Drawing.Size(796, 83);
+            this.gbxCondition.TabIndex = 21;
+            this.gbxCondition.TabStop = false;
+            this.gbxCondition.Text = "查询条件 ▼";
+            // 
+            // lblOrganization
+            // 
+            this.lblOrganization.AutoSize = true;
+            this.lblOrganization.BackColor = System.Drawing.Color.Transparent;
+            this.lblOrganization.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblOrganization.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblOrganization.Location = new System.Drawing.Point(335, 24);
+            this.lblOrganization.Name = "lblOrganization";
+            this.lblOrganization.Size = new System.Drawing.Size(53, 12);
+            this.lblOrganization.TabIndex = 29;
+            this.lblOrganization.Text = "所属组织";
+            // 
+            // scbOrganization
+            // 
+            this.scbOrganization.CheckedData = null;
+            this.scbOrganization.IsOnlyDisplayEnd = false;
+            this.scbOrganization.Location = new System.Drawing.Point(394, 20);
+            this.scbOrganization.Name = "scbOrganization";
+            this.scbOrganization.Size = new System.Drawing.Size(124, 21);
+            this.scbOrganization.TabIndex = 28;
+            // 
+            // chkIsWorker
+            // 
+            this.chkIsWorker.AutoSize = true;
+            this.chkIsWorker.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.chkIsWorker.Location = new System.Drawing.Point(524, 23);
+            this.chkIsWorker.Name = "chkIsWorker";
+            this.chkIsWorker.Size = new System.Drawing.Size(72, 16);
+            this.chkIsWorker.TabIndex = 20;
+            this.chkIsWorker.Text = "生产工号";
+            this.chkIsWorker.UseVisualStyleBackColor = true;
+            // 
+            // txtUserCode
+            // 
+            this.txtUserCode.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
+            this.txtUserCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtUserCode.ImeMode = System.Windows.Forms.ImeMode.Off;
+            this.txtUserCode.Location = new System.Drawing.Point(70, 20);
+            this.txtUserCode.MaxLength = 20;
+            this.txtUserCode.Name = "txtUserCode";
+            this.txtUserCode.Size = new System.Drawing.Size(97, 21);
+            this.txtUserCode.TabIndex = 2;
+            // 
+            // 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(705, 42);
+            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 = 10;
+            this.btnClearCondition.Text = "清空条件(&C)";
+            this.btnClearCondition.UseVisualStyleBackColor = false;
+            this.btnClearCondition.Click += new System.EventHandler(this.btnClearCondition_Click);
+            // 
+            // 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(613, 42);
+            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 = 9;
+            this.btnSearch.Text = "查询(&Q)";
+            this.btnSearch.UseVisualStyleBackColor = false;
+            this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
+            // 
+            // txtUserName
+            // 
+            this.txtUserName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtUserName.Location = new System.Drawing.Point(220, 20);
+            this.txtUserName.MaxLength = 20;
+            this.txtUserName.Name = "txtUserName";
+            this.txtUserName.Size = new System.Drawing.Size(109, 21);
+            this.txtUserName.TabIndex = 4;
+            // 
+            // lblRemarks
+            // 
+            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(33, 51);
+            this.lblRemarks.Name = "lblRemarks";
+            this.lblRemarks.Size = new System.Drawing.Size(31, 13);
+            this.lblRemarks.TabIndex = 7;
+            this.lblRemarks.Text = "备注";
+            // 
+            // lblUserName
+            // 
+            this.lblUserName.AutoSize = true;
+            this.lblUserName.BackColor = System.Drawing.Color.Transparent;
+            this.lblUserName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblUserName.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblUserName.Location = new System.Drawing.Point(173, 24);
+            this.lblUserName.Name = "lblUserName";
+            this.lblUserName.Size = new System.Drawing.Size(41, 12);
+            this.lblUserName.TabIndex = 3;
+            this.lblUserName.Text = "用户名";
+            // 
+            // txtRemarks
+            // 
+            this.txtRemarks.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtRemarks.Location = new System.Drawing.Point(70, 47);
+            this.txtRemarks.MaxLength = 500;
+            this.txtRemarks.Name = "txtRemarks";
+            this.txtRemarks.Size = new System.Drawing.Size(448, 21);
+            this.txtRemarks.TabIndex = 8;
+            // 
+            // lblUserCode
+            // 
+            this.lblUserCode.AutoSize = true;
+            this.lblUserCode.BackColor = System.Drawing.Color.Transparent;
+            this.lblUserCode.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.lblUserCode.ForeColor = System.Drawing.SystemColors.ControlText;
+            this.lblUserCode.Location = new System.Drawing.Point(11, 24);
+            this.lblUserCode.Name = "lblUserCode";
+            this.lblUserCode.Size = new System.Drawing.Size(53, 12);
+            this.lblUserCode.TabIndex = 1;
+            this.lblUserCode.Text = "用户编码";
+            // 
+            // dgvStaff
+            // 
+            this.dgvStaff.AllowUserToAddRows = false;
+            this.dgvStaff.AllowUserToDeleteRows = false;
+            this.dgvStaff.AllowUserToModifyRows = true;
+            this.dgvStaff.AllowUserToOrderColumns = true;
+            this.dgvStaff.AllowUserToResizeRows = false;
+            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
+            dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvStaff.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+            this.dgvStaff.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.dgvStaff.CellBackColorNochanged = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+            this.dgvStaff.CellBackColorReadOnly = System.Drawing.SystemColors.Control;
+            this.dgvStaff.CellHeight = 23;
+            this.dgvStaff.ChildNodeColumnName = null;
+            this.dgvStaff.ChildNodeColumnText = null;
+            this.dgvStaff.ColumnDeep = 1;
+            this.dgvStaff.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.dgvStaff.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+            this.dgvStaff.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvStaff.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.WorkStationName,
+            this.ProcedureName});
+            this.dgvStaff.ColumnTreeView = null;
+            this.dgvStaff.ContextMenuVisible = ((Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags)((Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags.Refine | Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags.FileOut)));
+            this.dgvStaff.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.dgvStaff.DynamicColumnName = "";
+            this.dgvStaff.EnableHeadersVisualStyles = false;
+            this.dgvStaff.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvStaff.FormatQuantityColumns = null;
+            this.dgvStaff.HorizontalMergeColumn = null;
+            this.dgvStaff.IsAutoCountSum = true;
+            this.dgvStaff.IsAutoResizeColumns = false;
+            this.dgvStaff.IsClickF12 = false;
+            this.dgvStaff.IsOpenMergeCellFlag = false;
+            this.dgvStaff.IsSubTotalFlag = false;
+            this.dgvStaff.IsTopDeep = false;
+            this.dgvStaff.Location = new System.Drawing.Point(0, 0);
+            this.dgvStaff.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.dgvStaff.MergeColumnNames = null;
+            this.dgvStaff.MergeDetailColumnNames = null;
+            this.dgvStaff.MergeDetailOnlyColumn = null;
+            this.dgvStaff.MergeOnlyColumn = null;
+            this.dgvStaff.MultiSelect = false;
+            this.dgvStaff.Name = "dgvStaff";
+            this.dgvStaff.ReadOnly = true;
+            this.dgvStaff.RefreshAtHscroll = false;
+            this.dgvStaff.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
+            this.dgvStaff.RowHeadersWidth = 50;
+            this.dgvStaff.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            dataGridViewCellStyle3.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.dgvStaff.RowsDefaultCellStyle = dataGridViewCellStyle3;
+            this.dgvStaff.RowTemplate.Height = 21;
+            this.dgvStaff.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
+            this.dgvStaff.Size = new System.Drawing.Size(796, 158);
+            this.dgvStaff.SortOrderColumnName = null;
+            this.dgvStaff.TabIndex = 23;
+            this.dgvStaff.Tag = true;
+            this.dgvStaff.TotalSumColumns = null;
+            this.dgvStaff.ViewRowFilter = "";
+            // 
+            // dgvUser
+            // 
+            this.dgvUser.AllowUserToAddRows = false;
+            this.dgvUser.AllowUserToDeleteRows = false;
+            this.dgvUser.AllowUserToModifyRows = true;
+            this.dgvUser.AllowUserToOrderColumns = true;
+            this.dgvUser.AllowUserToResizeRows = false;
+            dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
+            dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvUser.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle4;
+            this.dgvUser.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.dgvUser.CellBackColorNochanged = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
+            this.dgvUser.CellBackColorReadOnly = System.Drawing.SystemColors.Control;
+            this.dgvUser.CellHeight = 23;
+            this.dgvUser.ChildNodeColumnName = null;
+            this.dgvUser.ChildNodeColumnText = null;
+            this.dgvUser.ColumnDeep = 1;
+            this.dgvUser.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
+            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(58)))), ((int)(((byte)(70)))));
+            dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            dataGridViewCellStyle5.ForeColor = System.Drawing.Color.White;
+            dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+            dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+            dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+            this.dgvUser.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5;
+            this.dgvUser.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
+            this.dgvUser.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+            this.UserCode,
+            this.UserName,
+            this.OrganizationName,
+            this.OrganizationFullName,
+            this.limitMAC,
+            this.Telephone,
+            this.Remarks,
+            this.Column1,
+            this.ValueFlag,
+            this.UserID});
+            this.dgvUser.ColumnTreeView = null;
+            this.dgvUser.ContextMenuVisible = ((Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags)((Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags.Refine | Dongke.IBOSS.PRD.Basics.BaseControls.C_DataGridView.ContextMenuVisibleFlags.FileOut)));
+            this.dgvUser.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.dgvUser.DynamicColumnName = "";
+            this.dgvUser.EnableHeadersVisualStyles = false;
+            this.dgvUser.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.dgvUser.FormatQuantityColumns = null;
+            this.dgvUser.HorizontalMergeColumn = null;
+            this.dgvUser.IsAutoCountSum = true;
+            this.dgvUser.IsAutoResizeColumns = false;
+            this.dgvUser.IsClickF12 = false;
+            this.dgvUser.IsOpenMergeCellFlag = false;
+            this.dgvUser.IsSubTotalFlag = false;
+            this.dgvUser.IsTopDeep = false;
+            this.dgvUser.Location = new System.Drawing.Point(0, 0);
+            this.dgvUser.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.dgvUser.MergeColumnNames = null;
+            this.dgvUser.MergeDetailColumnNames = null;
+            this.dgvUser.MergeDetailOnlyColumn = null;
+            this.dgvUser.MergeOnlyColumn = null;
+            this.dgvUser.MultiSelect = false;
+            this.dgvUser.Name = "dgvUser";
+            this.dgvUser.ReadOnly = true;
+            this.dgvUser.RefreshAtHscroll = false;
+            this.dgvUser.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
+            this.dgvUser.RowHeadersWidth = 50;
+            this.dgvUser.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
+            dataGridViewCellStyle13.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.dgvUser.RowsDefaultCellStyle = dataGridViewCellStyle13;
+            this.dgvUser.RowTemplate.Height = 21;
+            this.dgvUser.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
+            this.dgvUser.Size = new System.Drawing.Size(796, 188);
+            this.dgvUser.SortOrderColumnName = null;
+            this.dgvUser.TabIndex = 22;
+            this.dgvUser.Tag = true;
+            this.dgvUser.TotalSumColumns = null;
+            this.dgvUser.ViewRowFilter = "";
+            this.dgvUser.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvUser_CellDoubleClick);
+            this.dgvUser.CellMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgvUser_CellMouseClick);
+            this.dgvUser.SelectionChanged += new System.EventHandler(this.dgvUser_SelectionChanged);
+            // 
+            // UserCode
+            // 
+            this.UserCode.DataPropertyName = "UserCode";
+            dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle6.BackColor = System.Drawing.Color.White;
+            this.UserCode.DefaultCellStyle = dataGridViewCellStyle6;
+            this.UserCode.HeaderText = "用户编号";
+            this.UserCode.MaxInputLength = 20;
+            this.UserCode.Name = "UserCode";
+            this.UserCode.ReadOnly = true;
+            this.UserCode.Width = 80;
+            // 
+            // UserName
+            // 
+            this.UserName.DataPropertyName = "UserName";
+            dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle7.BackColor = System.Drawing.Color.White;
+            this.UserName.DefaultCellStyle = dataGridViewCellStyle7;
+            this.UserName.HeaderText = "用户姓名";
+            this.UserName.MaxInputLength = 20;
+            this.UserName.Name = "UserName";
+            this.UserName.ReadOnly = true;
+            this.UserName.Width = 80;
+            // 
+            // OrganizationName
+            // 
+            this.OrganizationName.DataPropertyName = "OrganizationName";
+            dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+            dataGridViewCellStyle8.BackColor = System.Drawing.Color.White;
+            this.OrganizationName.DefaultCellStyle = dataGridViewCellStyle8;
+            this.OrganizationName.HeaderText = "所属部门";
+            this.OrganizationName.MaxInputLength = 20;
+            this.OrganizationName.Name = "OrganizationName";
+            this.OrganizationName.ReadOnly = true;
+            this.OrganizationName.Width = 80;
+            // 
+            // OrganizationFullName
+            // 
+            this.OrganizationFullName.DataPropertyName = "OrganizationFullName";
+            this.OrganizationFullName.HeaderText = "部门全称";
+            this.OrganizationFullName.Name = "OrganizationFullName";
+            this.OrganizationFullName.ReadOnly = true;
+            // 
+            // limitMAC
+            // 
+            this.limitMAC.DataPropertyName = "limitMAC";
+            dataGridViewCellStyle9.BackColor = System.Drawing.Color.White;
+            this.limitMAC.DefaultCellStyle = dataGridViewCellStyle9;
+            this.limitMAC.HeaderText = "MAC地址";
+            this.limitMAC.MaxInputLength = 17;
+            this.limitMAC.Name = "limitMAC";
+            this.limitMAC.ReadOnly = true;
+            this.limitMAC.Visible = false;
+            // 
+            // Telephone
+            // 
+            this.Telephone.DataPropertyName = "Telephone";
+            dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
+            dataGridViewCellStyle10.BackColor = System.Drawing.Color.White;
+            this.Telephone.DefaultCellStyle = dataGridViewCellStyle10;
+            this.Telephone.HeaderText = "联系电话";
+            this.Telephone.MaxInputLength = 50;
+            this.Telephone.Name = "Telephone";
+            this.Telephone.ReadOnly = true;
+            // 
+            // Remarks
+            // 
+            this.Remarks.DataPropertyName = "Remarks";
+            dataGridViewCellStyle11.BackColor = System.Drawing.Color.White;
+            this.Remarks.DefaultCellStyle = dataGridViewCellStyle11;
+            this.Remarks.HeaderText = "备注";
+            this.Remarks.MaxInputLength = 255;
+            this.Remarks.Name = "Remarks";
+            this.Remarks.ReadOnly = true;
+            this.Remarks.Width = 120;
+            // 
+            // Column1
+            // 
+            this.Column1.DataPropertyName = "ValueFlag";
+            this.Column1.FalseValue = "0";
+            this.Column1.HeaderText = "有效标识";
+            this.Column1.Name = "Column1";
+            this.Column1.ReadOnly = true;
+            this.Column1.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+            this.Column1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+            this.Column1.TrueValue = "1";
+            // 
+            // ValueFlag
+            // 
+            this.ValueFlag.DataPropertyName = "ValueFlag";
+            this.ValueFlag.HeaderText = "有效标识值";
+            this.ValueFlag.Name = "ValueFlag";
+            this.ValueFlag.ReadOnly = true;
+            this.ValueFlag.Visible = false;
+            // 
+            // UserID
+            // 
+            this.UserID.DataPropertyName = "UserID";
+            dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
+            dataGridViewCellStyle12.BackColor = System.Drawing.Color.White;
+            this.UserID.DefaultCellStyle = dataGridViewCellStyle12;
+            this.UserID.HeaderText = "用户ID";
+            this.UserID.MaxInputLength = 4;
+            this.UserID.Name = "UserID";
+            this.UserID.ReadOnly = true;
+            this.UserID.Visible = false;
+            // 
+            // splLine
+            // 
+            this.splLine.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.splLine.Location = new System.Drawing.Point(12, 125);
+            this.splLine.Name = "splLine";
+            this.splLine.Orientation = System.Windows.Forms.Orientation.Horizontal;
+            // 
+            // splLine.Panel1
+            // 
+            this.splLine.Panel1.Controls.Add(this.dgvUser);
+            // 
+            // splLine.Panel2
+            // 
+            this.splLine.Panel2.Controls.Add(this.dgvStaff);
+            this.splLine.Size = new System.Drawing.Size(796, 350);
+            this.splLine.SplitterDistance = 188;
+            this.splLine.TabIndex = 106;
+            // 
+            // WorkStationName
+            // 
+            this.WorkStationName.DataPropertyName = "WorkStationName";
+            this.WorkStationName.HeaderText = "工位名称";
+            this.WorkStationName.MaxInputLength = 20;
+            this.WorkStationName.Name = "WorkStationName";
+            this.WorkStationName.ReadOnly = true;
+            // 
+            // ProcedureName
+            // 
+            this.ProcedureName.DataPropertyName = "ProcedureName";
+            this.ProcedureName.HeaderText = "工序名称";
+            this.ProcedureName.MaxInputLength = 20;
+            this.ProcedureName.Name = "ProcedureName";
+            this.ProcedureName.ReadOnly = true;
+            // 
+            // F_MST_1301
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(820, 482);
+            this.Controls.Add(this.splLine);
+            this.Controls.Add(this.gbxCondition);
+            this.Controls.Add(this.tsrOperate);
+            this.Name = "F_MST_1301";
+            this.Text = "员工工位";
+            this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.F_MST_1301_FormClosed);
+            this.Load += new System.EventHandler(this.F_MST_1301_Load);
+            this.tsrOperate.ResumeLayout(false);
+            this.tsrOperate.PerformLayout();
+            this.gbxCondition.ResumeLayout(false);
+            this.gbxCondition.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvStaff)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.dgvUser)).EndInit();
+            this.splLine.Panel1.ResumeLayout(false);
+            this.splLine.Panel2.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.splLine)).EndInit();
+            this.splLine.ResumeLayout(false);
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private Basics.BaseControls.C_ToolStrip tsrOperate;
+        private System.Windows.Forms.ToolStripButton tsbtnAdd;
+        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 System.Windows.Forms.TextBox txtUserCode;
+        private Basics.BaseControls.C_Button btnClearCondition;
+        private Basics.BaseControls.C_Button btnSearch;
+        private System.Windows.Forms.TextBox txtUserName;
+        private Basics.BaseControls.C_Label lblRemarks;
+        private Basics.BaseControls.C_Label lblUserName;
+        private System.Windows.Forms.TextBox txtRemarks;
+        private Basics.BaseControls.C_Label lblUserCode;
+        private Basics.BaseControls.C_CheckBox chkIsWorker;
+        private Basics.BaseControls.C_DataGridView dgvStaff;
+        private Basics.BaseControls.C_DataGridView dgvUser;
+        private System.Windows.Forms.SplitContainer splLine;
+        private System.Windows.Forms.DataGridViewTextBoxColumn UserCode;
+        private System.Windows.Forms.DataGridViewTextBoxColumn UserName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn OrganizationName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn OrganizationFullName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn limitMAC;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Telephone;
+        private System.Windows.Forms.DataGridViewTextBoxColumn Remarks;
+        private System.Windows.Forms.DataGridViewCheckBoxColumn Column1;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ValueFlag;
+        private System.Windows.Forms.DataGridViewTextBoxColumn UserID;
+		private Basics.BaseControls.C_Label lblOrganization;
+		private Controls.SearchBox.ScbOrganization scbOrganization;
+        private System.Windows.Forms.DataGridViewTextBoxColumn WorkStationName;
+        private System.Windows.Forms.DataGridViewTextBoxColumn ProcedureName;
+    }
+}

+ 357 - 0
DK.Client/SystemModule/F_MST_1301.cs

@@ -0,0 +1,357 @@
+/*******************************************************************************
+ * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
+ * 类的信息:
+ *      1.程序名称:F_MST_1301.cs
+ *      2.功能描述:员工工位
+ * 编辑履历:
+ *      作者            日期                版本            修改内容
+ *      付斌            2020/11/06         1.00            新建
+ *******************************************************************************/
+
+using System;
+using System.Data;
+using System.Windows.Forms;
+
+using Dongke.IBOSS.PRD.Basics.BaseResources;
+using Dongke.IBOSS.PRD.Basics.DockPanel;
+using Dongke.IBOSS.PRD.Client.CommonModule;
+using Dongke.IBOSS.PRD.WCF.DataModels;
+using Dongke.IBOSS.PRD.WCF.Proxys;
+
+namespace Dongke.IBOSS.PRD.Client.SystemModule
+{
+    /// <summary>
+    /// 员工工位
+    /// </summary>
+    public partial class F_MST_1301 : DockPanelBase
+	{
+		#region 成员变量
+
+		// 单例模式
+		private static F_MST_1301 _instance;
+		// 最后选择行
+		private int _selecedRow;
+		// 用户管理实体类
+		private SUserEntity _userInfo;
+
+		#endregion
+
+		#region 构造函数
+
+		public F_MST_1301()
+		{
+			InitializeComponent();
+			this.Text = FormTitles.F_MST_1301;
+			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;
+		}
+
+		#endregion
+
+		#region 单例模式
+
+		/// <summary>
+		/// 单例模式,防止重复创建窗体
+		/// </summary>
+		public static F_MST_1301 Instance
+		{
+			get
+			{
+				if (_instance == null)
+				{
+					_instance = new F_MST_1301();
+				}
+				return _instance;
+			}
+		}
+
+		#endregion
+
+		#region 事件
+
+		/// <summary>
+		/// 搜索按钮事件
+		/// </summary>
+		/// <param name="sender"></param>
+		/// <param name="e"></param>
+		private void btnSearch_Click(object sender, EventArgs e)
+		{
+			try
+			{
+				// 根据页面设定用户实体值
+				this.GetUserEntityFromLayout();
+				// 记录当前选中行
+				int selectRowIndex = this._selecedRow;
+				// 异步处理
+				this.btnSearch.Enabled = false;
+				this.btnClearCondition.Enabled = false;
+				DataSet userDataSet = (DataSet)DoAsync(new AsyncMethod(this.SearchUserData));
+				this.btnSearch.Enabled = true;
+				this.btnClearCondition.Enabled = true;
+				this.scbOrganization.EditReadOnly = true;
+				if (userDataSet != null)
+				{
+					base.DataSource = (DataSet)userDataSet;
+					if (this.DataSource != null && this.DataSource.Tables.Count > Constant.INT_IS_ZERO)
+					{
+						this.dgvUser.DataSource = this.DataSource.Tables[0];
+						if (this.DataSource.Tables[0].Rows.Count <= Constant.INT_IS_ZERO)
+						{
+							dgvStaff.DataSource = null;
+							// 提示未查找到数据
+							MessageBox.Show(Messages.MSG_CMN_I002, this.Text,
+								MessageBoxButtons.OK, MessageBoxIcon.Information);
+						}
+						else
+						{
+							if (selectRowIndex >= Constant.INT_IS_ZERO)
+							{
+								if (selectRowIndex >= userDataSet.Tables[0].Rows.Count)
+								{
+									this.dgvUser.Rows[this.dgvUser.Rows.Count - 1].Selected = true;
+									this.dgvUser.CurrentCell = this.dgvUser.Rows[this.dgvUser.Rows.Count - 1].Cells["UserCode"];
+								}
+								else
+								{
+									this.dgvUser.Rows[selectRowIndex].Selected = true;
+									this.dgvUser.CurrentCell = this.dgvUser.Rows[selectRowIndex].Cells["UserCode"];
+								}
+							}
+						}
+					}
+				}
+			}
+			catch (Exception ex)
+			{
+				this.btnSearch.Enabled = true;
+				this.btnClearCondition.Enabled = true;
+				// 对异常进行共通处理
+				ExceptionManager.HandleEventException(this.ToString(),
+					System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+			}
+		}
+
+		/// <summary>
+		/// 清空按钮事件
+		/// </summary>
+		/// <param name="sender"></param>
+		/// <param name="e"></param>
+		private void btnClearCondition_Click(object sender, EventArgs e)
+		{
+			this.txtUserCode.Clear();
+			this.txtUserName.Clear();
+			this.txtRemarks.Clear();
+			this.scbOrganization.ClearValue();
+			this.chkIsWorker.Checked = false;
+		}
+
+		/// <summary>
+		/// 单元格鼠标事件
+		/// </summary>
+		/// <param name="sender"></param>
+		/// <param name="e"></param>
+		private void dgvUser_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
+		{
+			if (e.RowIndex != -1)
+			{
+				int UserId = Convert.ToInt32(this.dgvUser.Rows[e.RowIndex].Cells["UserID"].Value.ToString());
+				DataSet dsStaff = SystemModuleProxy.Service.GetUserStaffByUserId(UserId);
+				this.dgvStaff.AutoGenerateColumns = false;
+				this.dgvStaff.DataSource = dsStaff.Tables[0];
+			}
+		}
+
+		/// <summary>
+		/// 选定项改变事件
+		/// </summary>
+		/// <param name="sender"></param>
+		/// <param name="e"></param>
+		private void dgvUser_SelectionChanged(object sender, EventArgs e)
+		{
+			try
+			{
+				if (dgvUser.CurrentCell != null)
+				{
+					int UserId = Convert.ToInt32(this.dgvUser.Rows[dgvUser.CurrentCell.RowIndex].Cells["UserID"].Value.ToString());
+					DataSet dsStaff = SystemModuleProxy.Service.GetUserStaffByUserId(UserId);
+					this.dgvStaff.AutoGenerateColumns = false;
+					this.dgvStaff.DataSource = dsStaff.Tables[0];
+				}
+			}
+			catch (Exception ex)
+			{
+				// 对异常进行共通处理
+				ExceptionManager.HandleEventException(this.ToString(),
+				System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+			}
+		}
+
+		/// <summary>
+		/// 新增按钮事件
+		/// </summary>
+		/// <param name="sender"></param>
+		/// <param name="e"></param>
+		private void tsbtnAddUser_Click(object sender, EventArgs e)
+		{
+			try
+			{
+				F_MST_0211 frmFMST0211 = new F_MST_0211(null, null);
+				DialogResult dialogresult = frmFMST0211.ShowDialog();
+			}
+			catch (Exception ex)
+			{
+				// 对异常进行共通处理
+				ExceptionManager.HandleEventException(this.ToString(),
+					System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+			}
+		}
+
+		/// <summary>
+		/// 单元格双击事件
+		/// </summary>
+		/// <param name="sender"></param>
+		/// <param name="e"></param>
+		private void dgvUser_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
+		{
+			try
+			{
+				if (e.RowIndex != -Constant.INT_IS_ONE)
+				{
+					string userId = this.dgvUser.Rows[e.RowIndex].Cells["userId"].Value.ToString();
+					string userCode = this.dgvUser.Rows[e.RowIndex].Cells["userCode"].Value.ToString();
+					F_MST_0211 frmFMST0207 = new F_MST_0211(Convert.ToInt32(userId), userCode);
+					DialogResult dialogresult = frmFMST0207.ShowDialog();
+				}
+			}
+			catch (Exception ex)
+			{
+				// 对异常进行共通处理
+				ExceptionManager.HandleEventException(this.ToString(),
+					 System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+			}
+		}
+
+		/// <summary>
+		/// 编辑按钮事件
+		/// </summary>
+		/// <param name="sender"></param>
+		/// <param name="e"></param>
+		private void tsbtnEditUser_Click(object sender, EventArgs e)
+		{
+			try
+			{
+				if (this.dgvUser.SelectedRows.Count != 0)
+				{
+					string userId = this.dgvUser.SelectedRows[0].Cells["userId"].Value.ToString();
+					string userCode = this.dgvUser.SelectedRows[0].Cells["userCode"].Value.ToString();
+
+					F_MST_0211 frmFMST0211 = new F_MST_0211(Convert.ToInt32(userId), userCode);
+					DialogResult dialogresult = frmFMST0211.ShowDialog();
+				}
+			}
+			catch (Exception ex)
+			{
+				// 对异常进行共通处理
+				ExceptionManager.HandleEventException(this.ToString(),
+					System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+			}
+		}
+
+		/// <summary>
+		/// 窗体加载事件
+		/// </summary>
+		/// <param name="sender"></param>
+		/// <param name="e"></param>
+		private void F_MST_1301_Load(object sender, EventArgs e)
+		{
+			// 加载权限
+			FormPermissionManager.FormPermissionControl(this.Name, this,
+				Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.UserRightData,
+				Dongke.IBOSS.PRD.Client.DataModels.LogInUserInfo.CurrentUser.CurrentUserEntity.FunctionData);
+		}
+
+		/// <summary>
+		/// 自适应列宽
+		/// </summary>
+		/// <param name="sender"></param>
+		/// <param name="e"></param>
+		private void tsbtnAdaptive_Click(object sender, EventArgs e)
+		{
+			this.dgvUser.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+		}
+
+		/// <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 F_MST_1301_FormClosed(object sender, FormClosedEventArgs e)
+		{
+			_instance = null;
+		}
+
+		#endregion
+
+		#region 私有方法
+
+		/// <summary>
+		/// 获取输入的用户信息
+		/// </summary>
+		/// <returns></returns>
+		private SUserEntity GetUserEntityFromLayout()
+		{
+			this._userInfo = new SUserEntity();
+			// 用户编码
+			this._userInfo.UserCode = this.txtUserCode.Text.Trim();
+			// 用户姓名
+			this._userInfo.UserName = this.txtUserName.Text.Trim();
+			// 所属部门
+			this._userInfo.OrganizationCode = scbOrganization.SearchedValue + "";
+			// 所属部门
+			this._userInfo.OrganizationID = scbOrganization.SearchedPKMember;
+			// 备注
+			this._userInfo.Remarks = this.txtRemarks.Text.Trim();
+			if (this.chkIsWorker.Checked == true)
+			{
+				_userInfo.IsWorker = 1;
+			}
+			else
+			{
+				_userInfo.IsWorker = 0;
+			}
+			return _userInfo;
+		}
+
+		/// <summary>
+		/// 获取用户列表
+		/// </summary>
+		/// <returns></returns>
+		private DataSet SearchUserData()
+		{
+			try
+			{
+				return SystemModuleProxy.Service.SearchUserData(this._userInfo);
+			}
+			catch (Exception ex)
+			{
+				throw ex;
+			}
+		}
+
+		#endregion
+	}
+}

+ 197 - 0
DK.Client/SystemModule/F_MST_1301.resx

@@ -0,0 +1,197 @@
+<?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>
+        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
+        TcjuBwk6Lpiwp2VcAAAAAElFTkSuQmCC
+</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>
+  <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>
+</root>

+ 9 - 0
DK.Client/SystemModule/SystemModule.csproj

@@ -98,6 +98,12 @@
     <Compile Include="F_MST_0103.Designer.cs">
       <DependentUpon>F_MST_0103.cs</DependentUpon>
     </Compile>
+    <Compile Include="F_MST_1301.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="F_MST_1301.Designer.cs">
+      <DependentUpon>F_MST_1301.cs</DependentUpon>
+    </Compile>
     <Compile Include="F_MST_040101.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -434,6 +440,9 @@
     <EmbeddedResource Include="F_MST_0103.resx">
       <DependentUpon>F_MST_0103.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="F_MST_1301.resx">
+      <DependentUpon>F_MST_1301.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="F_MST_040101.resx">
       <DependentUpon>F_MST_040101.cs</DependentUpon>
     </EmbeddedResource>

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

@@ -7273,5 +7273,1269 @@ namespace Dongke.IBOSS.PRD.Service.PDAModuleLogic
         }
         #endregion
 
+        #region 工厂调出
+        /// <summary>
+		/// 获取工厂调出记录
+		/// </summary>
+		/// <param name="procedureID">工序ID</param>
+		/// <param name="barcode">产品条码</param>
+		/// <returns>DataSet</returns>
+		public static ServiceResultEntity GetAllocateOut(ClientRequestEntity cre, SUserInfo sUserInfo)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            List<OracleParameter> paras = new List<OracleParameter>();
+            try
+            {
+                con.Open();
+                string sqlString =
+                "SELECT sp.barcode\n" +
+                "      ,sp.productionlinecode\n" +
+                "      ,sp.productionlinename\n" +
+                "      ,sp.goodscode\n" +
+                "      ,sp.goodsname\n" +
+                "      ,sp.groutingdate\n" +
+                "      ,sp.groutinglinecode\n" +
+                "      ,sp.groutinglinename\n" +
+                "      ,sp.groutingmouldcode\n" +
+                "      ,sp.mouldcode\n" +
+                "      ,sp.scrapdate\n" +
+                "      ,sp.rreason\n" +
+                "      ,sp.remarks\n" +
+                "      ,sp.accountdate\n" +
+                "      ,sp.groutingusercode\n" +
+                "      ,sp.procedurecode\n" +
+                "      ,sp.procedurename\n" +
+                "      ,sp.scraptype\n" +
+                "      ,sp.recyclingflag\n" +
+                "      ,sp.recyclingusercode\n" +
+                "      ,sp.recyclingtime\n" +
+                "      ,sp.responsibleusercode\n" +
+                "      ,sp.backouttime\n" +
+                "      ,gl.goodslevelname\n" +
+                "      ,gdd.ispublicbody\n" +
+                "      ,gdd.specialrepairflag\n" +
+                "  FROM tp_pm_scrapproduct sp\n" +
+                " INNER JOIN tp_mst_goodslevel gl\n" +
+                "    ON sp.goodslevelid = gl.goodslevelid\n" +
+                "  LEFT JOIN tp_pm_groutingdailydetail gdd\n" +
+                "    ON sp.barcode = gdd.barcode\n" +
+                " WHERE sp.valueflag = '1'\n" +
+                "   AND gl.goodsleveltypeid = 10\n" +
+                "   AND sp.accountid = :accountid\n" +
+                "   AND sp.createtime >= :scrapdatestart\n" +
+                "   AND sp.createtime < :scrapdateend\n";
+
+                paras.Add(new OracleParameter(":accountid", sUserInfo.AccountID));
+                paras.Add(new OracleParameter(":scrapdatestart", cre.Properties["scrapdatestart"]));
+                paras.Add(new OracleParameter(":scrapdateend", cre.Properties["scrapdateend"]));
+
+                if (!string.IsNullOrEmpty(cre.Properties["barcode"] + ""))
+                {
+                    sqlString += " AND sp.barcode LIKE :barcode ";
+                    paras.Add(new OracleParameter(":barcode", "%" + cre.Properties["barcode"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["goodscode"] + ""))
+                {
+                    sqlString += " AND sp.goodscode LIKE :goodscode ";
+                    paras.Add(new OracleParameter(":goodscode", "%" + cre.Properties["goodscode"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["goodsname"] + ""))
+                {
+                    sqlString += " AND sp.goodsname LIKE :goodsname ";
+                    paras.Add(new OracleParameter(":goodsname", "%" + cre.Properties["goodsname"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["groutinglinecode"] + ""))
+                {
+                    sqlString += " AND sp.groutinglinecode LIKE :groutinglinecode ";
+                    paras.Add(new OracleParameter(":groutinglinecode", "%" + cre.Properties["groutinglinecode"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["groutinglinename"] + ""))
+                {
+                    sqlString += " AND sp.groutinglinename LIKE :groutinglinename ";
+                    paras.Add(new OracleParameter(":groutinglinename", "%" + cre.Properties["groutinglinename"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["rreason"] + ""))
+                {
+                    sqlString += " AND sp.rreason LIKE :rreason ";
+                    paras.Add(new OracleParameter(":rreason", "%" + cre.Properties["rreason"]+ "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["remarks"] + ""))
+                {
+                    sqlString += " AND sp.remarks LIKE :remarks ";
+                    paras.Add(new OracleParameter(":remarks", "%" + cre.Properties["remarks"] + "%"));
+                }
+
+                sqlString += " ORDER BY sp.barcode";
+                sre.Data = con.GetSqlResultToDs(sqlString, paras.ToArray());
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                if (con.ConnState == ConnectionState.Open)
+                {
+                    con.Close();
+                }
+            }
+        }
+
+        /// <summary>
+        /// 验证工厂调出条码
+        /// </summary>
+        /// <param name="barcode">条码</param>
+        /// <param name="outFlag">1:调出;0:撤销调出</param>
+        /// <param name="sUserInfo"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity CheckAllocateOut(string barcode, int outFlag, SUserInfo sUserInfo)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            try
+            {
+                string sqlString = string.Empty;
+                OracleParameter[] paras = null;
+                con.Open();
+                if (outFlag == 1)
+                {
+                    // 当前工号是否有条码所在工序的操作权限
+                    sqlString =
+                    "SELECT inp.procedureid\n" +
+                    "      ,p.procedurename\n" +
+                    "      ,p.MODELTYPE\n" +
+                    "      ,(SELECT 1\n" +
+                    "          FROM tp_mst_userpurview t\n" +
+                    "         WHERE t.purviewtype = 10\n" +
+                    "           AND t.userid = :userid\n" +
+                    "           AND (t.purviewid = -1 OR t.purviewid = inp.procedureid)\n" +
+                    "           AND rownum = 1) userpurview\n" +
+                    "  FROM tp_pm_inproduction inp\n" +
+                    "  LEFT JOIN tp_pc_procedure p\n" +
+                    "    ON p.procedureid = inp.procedureid\n" +
+                    " WHERE inp.barcode = :barcode";
+
+                    paras = new OracleParameter[]
+                    {
+                        new OracleParameter(":userid",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
+                        new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
+                    };
+
+                    DataTable dt = con.GetSqlResultToDt(sqlString, paras);
+
+                    if (dt == null || dt.Rows.Count == 0)
+                    {
+                        sre.OtherStatus = -1;
+                        sre.Message = "条码不在产";
+                        return sre;
+                    }
+                    object userpurview = dt.Rows[0]["userpurview"];
+                    if (userpurview == null || userpurview == DBNull.Value)
+                    {
+                        sre.OtherStatus = -1;
+                        sre.Message = "当前工号没有条码所在工序【" + dt.Rows[0]["procedurename"] + "】的操作权限";
+                        return sre;
+                    }
+                    int MODELTYPE = Convert.ToInt32(dt.Rows[0]["MODELTYPE"]);
+                    if (MODELTYPE == 1 ||
+                        MODELTYPE == 2 ||
+                        MODELTYPE == 3 ||
+                        MODELTYPE == 6)
+                    {
+                        sre.OtherStatus = -1;
+                        sre.Message = "该产品处于无法报损的特殊工序中";
+                        return sre;
+                    }
+                }
+
+                #region 判断产品是否被挂起
+                sqlString = "select 1 as res\n" +
+                            "  from tp_pm_productsuspend ps\n" +
+                            " inner join tp_pm_groutingdailydetail gdd\n" +
+                            "    on gdd.groutingdailydetailid = ps.groutingdailydetailid\n" +
+                            " where gdd.barcode = :barcode";
+
+                OracleParameter[] pars = new OracleParameter[]
+                {
+                    new OracleParameter(":barcode", barcode),
+                };
+
+                object objResult = con.GetSqlResultToObj(sqlString, pars);
+                if (objResult != null)
+                {
+                    sre.OtherStatus = -1;
+                    sre.Message = "该产品被挂起";
+                    return sre;
+                }
+                #endregion
+
+                string strSql =
+                "SELECT 1\n" +
+                "  FROM tp_pm_scrapproduct\n" +
+                " WHERE valueflag = '1'\n" +
+                "   AND goodsleveltypeid = 10\n" +
+                "   AND barcode = :barcode\n" +
+                "   AND createtime = (SELECT MAX(createtime)\n" +
+                "                       FROM tp_pm_scrapproduct\n" +
+                "                      WHERE valueflag = '1'\n" +
+                "                        AND goodsleveltypeid = 10\n" +
+                "                        AND barcode = :barcode)";
+
+                paras = new OracleParameter[]
+                {
+                    new OracleParameter(":barcode", barcode),
+                };
+
+                object isExists = con.GetSqlResultToObj(strSql, paras);
+
+                if (outFlag == 1 && isExists != null)
+                {
+                    sre.OtherStatus = -1;
+                    sre.Message = "该产品已调出";
+                    return sre;
+                }
+                if (outFlag == 0 && isExists == null)
+                {
+                    sre.OtherStatus = -1;
+                    sre.Message = "该产品未调出";
+                    return sre;
+                }
+
+                sqlString = "SELECT gdd.barcode\n" +
+                            "      ,gdd.goodscode\n" +
+                            "      ,gdd.goodsname\n" +
+                            "      ,gdd.groutinglinecode\n" +
+                            "      ,gdd.mouldcode\n" +
+                            "  FROM tp_pm_groutingdailydetail gdd\n" +
+                            " WHERE gdd.barcode = :barcode";
+
+                OracleParameter[] Paras = new OracleParameter[]
+                {
+                    new OracleParameter(":barcode", barcode)
+                };
+                sre.Data = con.GetSqlResultToDs(sqlString, Paras);
+                sre.Data.Tables[0].TableName = "AllocateOutData";
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                if (con.ConnState == ConnectionState.Open)
+                {
+                    con.Close();
+                }
+            }
+        }
+
+        /// <summary>
+        /// 添加工厂调出
+        /// </summary>
+        /// <param name="SProductEntity"></param>
+        /// <param name="userInfo"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity SaveAllocateOut(ClientRequestEntity cre, SUserInfo userInfo)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            try
+            {
+                string sqlString = string.Empty;
+                string barcode = string.Empty;
+                OracleParameter[] oracleParameter = null;
+                oracleTrConn.Connect();
+
+                #region SQL
+                // 检查在产表
+                string checkInproduction = 
+                "SELECT 1\n" +
+                "  FROM tp_pm_inproduction i\n" +
+                "  LEFT JOIN tp_pc_procedure p\n" +
+                "    ON i.procedureid = p.procedureid\n" +
+                " WHERE i.barcode = :barcode\n" +
+                "   FOR UPDATE";
+
+                // 废弃产品主体信息
+                string insertScrapproduct =
+                "INSERT INTO tp_pm_scrapproduct\n" +
+                "    (barcode\n" +
+                "    ,productionlineid\n" +
+                "    ,productionlinecode\n" +
+                "    ,productionlinename\n" +
+                "    ,goodsid\n" +
+                "    ,goodscode\n" +
+                "    ,goodsname\n" +
+                "    ,groutingdailyid\n" +
+                "    ,groutingdailydetailid\n" +
+                "    ,groutingdate\n" +
+                "    ,groutinglineid\n" +
+                "    ,groutinglinecode\n" +
+                "    ,groutinglinename\n" +
+                "    ,gmouldtypeid\n" +
+                "    ,groutinglinedetailid\n" +
+                "    ,groutingmouldcode\n" +
+                "    ,mouldcode\n" +
+                "    ,goodslevelid\n" +
+                "    ,goodsleveltypeid\n" +
+                "    ,respontype\n" +
+                "    ,scrapdate\n" +
+                "    ,rreason\n" +
+                "    ,remarks\n" +
+                "    ,auditstatus\n" +
+                "    ,accountid\n" +
+                "    ,createuserid\n" +
+                "    ,updateuserid\n" +
+                "    ,groutinguserid\n" +
+                "    ,groutingusercode\n" +
+                "    ,groutingnum\n" +
+                "    ,ispublicbody\n" +
+                "    ,isrefire\n" +
+                "    ,specialrepairflag\n" +
+                "    ,procedureid\n" +
+                "    ,procedurename\n" +
+                "    ,procedurecode\n" +
+                "    ,logoid\n" +
+                "    ,productiondataid)\n" +
+                "    SELECT gdd.barcode\n" +
+                "          ,ip.productionlineid\n" +
+                "          ,ip.productionlinecode\n" +
+                "          ,ip.productionlinename\n" +
+                "          ,gdd.goodsid\n" +
+                "          ,gdd.goodscode\n" +
+                "          ,gdd.goodsname\n" +
+                "          ,gdd.groutingdailyid\n" +
+                "          ,gdd.groutingdailydetailid\n" +
+                "          ,gdd.groutingdate\n" +
+                "          ,gdd.groutinglineid\n" +
+                "          ,gdd.groutinglinecode\n" +
+                "          ,gdd.groutinglinename\n" +
+                "          ,gdd.gmouldtypeid\n" +
+                "          ,gdd.groutinglinedetailid\n" +
+                "          ,gdd.groutingmouldcode\n" +
+                "          ,gdd.mouldcode\n" +
+                "          ,(SELECT g.goodslevelid\n" +
+                "             FROM tp_mst_goodslevel g\n" +
+                "            WHERE g.goodsleveltypeid = 10\n" +
+                "              AND rownum = 1)\n" +
+                "          ,10\n" +
+                "          ,'1'\n" +
+                "          ,:scrapdate\n" +
+                "          ,:rreason\n" +
+                "          ,:remarks\n" +
+                "          ,1\n" +
+                "          ,:accountid\n" +
+                "          ,:userid\n" +
+                "          ,:userid\n" +
+                "          ,ip.groutinguserid\n" +
+                "          ,ip.groutingusercode\n" +
+                "          ,ip.groutingnum\n" +
+                "          ,gdd.ispublicbody\n" +
+                "          ,ip.isrefire\n" +
+                "          ,gdd.specialrepairflag\n" +
+                "          ,ip.procedureid\n" +
+                "          ,p.procedurename\n" +
+                "          ,p.procedurecode\n" +
+                "          ,gdd.logoid\n" +
+                "          ,ip.productiondataid\n" +
+                "      FROM tp_pm_groutingdailydetail gdd\n" +
+                "     INNER JOIN tp_pm_inproduction ip\n" +
+                "        ON ip.groutingdailydetailid = gdd.groutingdailydetailid\n" +
+                "     INNER JOIN tp_pc_procedure p\n" +
+                "        ON p.procedureid = ip.procedureid\n" +
+                "     WHERE gdd.barcode = :barcode";
+
+                // 在产产品回收站
+                string insertInproductiontrash =
+                "INSERT INTO tp_pm_inproductiontrash\n" +
+                "    (barcode\n" +
+                "    ,productionlineid\n" +
+                "    ,productionlinecode\n" +
+                "    ,productionlinename\n" +
+                "    ,proceduremodel\n" +
+                "    ,modeltype\n" +
+                "    ,defectflag\n" +
+                "    ,reworkprocedureid\n" +
+                "    ,ispublicbody\n" +
+                "    ,isrefire\n" +
+                "    ,goodslevelid\n" +
+                "    ,goodsleveltypeid\n" +
+                "    ,goodsid\n" +
+                "    ,goodscode\n" +
+                "    ,goodsname\n" +
+                "    ,userid\n" +
+                "    ,groutingdailyid\n" +
+                "    ,groutingdailydetailid\n" +
+                "    ,groutingdate\n" +
+                "    ,groutinglineid\n" +
+                "    ,groutinglinecode\n" +
+                "    ,groutinglinename\n" +
+                "    ,gmouldtypeid\n" +
+                "    ,canmanytimes\n" +
+                "    ,groutinglinedetailid\n" +
+                "    ,groutingmouldcode\n" +
+                "    ,mouldcode\n" +
+                "    ,groutinguserid\n" +
+                "    ,groutingusercode\n" +
+                "    ,groutingnum\n" +
+                "    ,remarks\n" +
+                "    ,kilnid\n" +
+                "    ,kilncode\n" +
+                "    ,kilnname\n" +
+                "    ,kilncarid\n" +
+                "    ,kilncarcode\n" +
+                "    ,kilncarname\n" +
+                "    ,kilncarbatchno\n" +
+                "    ,kilncarposition\n" +
+                "    ,accountid\n" +
+                "    ,valueflag\n" +
+                "    ,createuserid\n" +
+                "    ,updateuserid\n" +
+                "    ,specialrepairflag\n" +
+                "    ,flowprocedureid\n" +
+                "    ,flowproceduretime\n" +
+                "    ,procedureid\n" +
+                "    ,proceduretime\n" +
+                "    ,productiondataid\n" +
+                "    ,logoid\n" +
+                "    ,isreworkflag\n" +
+                "    ,semicheckid)\n" +
+                "    SELECT barcode\n" +
+                "          ,productionlineid\n" +
+                "          ,productionlinecode\n" +
+                "          ,productionlinename\n" +
+                "          ,proceduremodel\n" +
+                "          ,modeltype\n" +
+                "          ,defectflag\n" +
+                "          ,reworkprocedureid\n" +
+                "          ,ispublicbody\n" +
+                "          ,isrefire\n" +
+                "          ,(SELECT g.goodslevelid\n" +
+                "              FROM tp_mst_goodslevel g\n" +
+                "             WHERE g.goodsleveltypeid = 10\n" +
+                "               AND rownum = 1)\n" +
+                "          ,10\n" +
+                "          ,goodsid\n" +
+                "          ,goodscode\n" +
+                "          ,goodsname\n" +
+                "          ,userid\n" +
+                "          ,groutingdailyid\n" +
+                "          ,groutingdailydetailid\n" +
+                "          ,groutingdate\n" +
+                "          ,groutinglineid\n" +
+                "          ,groutinglinecode\n" +
+                "          ,groutinglinename\n" +
+                "          ,gmouldtypeid\n" +
+                "          ,canmanytimes\n" +
+                "          ,groutinglinedetailid\n" +
+                "          ,groutingmouldcode\n" +
+                "          ,mouldcode\n" +
+                "          ,groutinguserid\n" +
+                "          ,groutingusercode\n" +
+                "          ,groutingnum\n" +
+                "          ,remarks\n" +
+                "          ,kilnid\n" +
+                "          ,kilncode\n" +
+                "          ,kilnname\n" +
+                "          ,kilncarid\n" +
+                "          ,kilncarcode\n" +
+                "          ,kilncarname\n" +
+                "          ,kilncarbatchno\n" +
+                "          ,kilncarposition\n" +
+                "          ,accountid\n" +
+                "          ,valueflag\n" +
+                "          ,:userid\n" +
+                "          ,:userid\n" +
+                "          ,specialrepairflag\n" +
+                "          ,flowprocedureid\n" +
+                "          ,flowproceduretime\n" +
+                "          ,procedureid\n" +
+                "          ,proceduretime\n" +
+                "          ,productiondataid\n" +
+                "          ,logoid\n" +
+                "          ,isreworkflag\n" +
+                "          ,semicheckid\n" +
+                "      FROM tp_pm_inproduction\n" +
+                "     WHERE barcode = :barcode";
+                #endregion
+
+                #region 执行
+                foreach (DataRow row in cre.Data.Tables[0].Rows)
+                {
+                    barcode = row["barcode"] + "";
+
+                    // 检查在产表
+                    oracleParameter = new OracleParameter[]
+                    {
+                        new OracleParameter(":barcode", barcode),
+                    };
+                    object isExists = oracleTrConn.GetSqlResultToDt(checkInproduction, oracleParameter);
+
+                    if (isExists == null)
+                    {
+                        sre.OtherStatus = -1;
+                        sre.Message = "操作的数据已经发生了变化";
+                        return sre;
+                    }
+
+                    // 插入废弃产品主体信息
+                    oracleParameter = new OracleParameter[]
+                    {
+                        new OracleParameter(":scrapdate", DateTime.Now.Date),
+                        new OracleParameter(":rreason",cre.Properties["rreason"]),
+                        new OracleParameter(":remarks",cre.Properties["remarks"]),
+                        new OracleParameter(":accountid",userInfo.AccountID),
+                        new OracleParameter(":userid",userInfo.UserID),
+                        new OracleParameter(":barcode", barcode)
+                    };
+                    sre.OtherStatus += oracleTrConn.ExecuteNonQuery(insertScrapproduct, oracleParameter);
+
+                    // 插入在产产品回收站
+                    oracleParameter = new OracleParameter[]
+                    {
+                        new OracleParameter(":userid",userInfo.UserID),
+                        new OracleParameter(":barcode", barcode),
+                    };
+                    sre.OtherStatus += oracleTrConn.ExecuteNonQuery(insertInproductiontrash, oracleParameter);
+
+                    // 更新在产表
+                    sqlString = "update TP_PM_InProduction set inscrapflag='0' where BarCode=:barcode";
+                    oracleParameter = new OracleParameter[]
+                    {
+                        new OracleParameter(":barcode", barcode),
+                    };
+                    sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, oracleParameter);
+
+                    // 删除在产表
+                    sqlString = "Delete from TP_PM_InProduction where BarCode=:barcode";
+                    sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, oracleParameter);
+                } 
+                #endregion
+
+                oracleTrConn.Commit();
+                oracleTrConn.Disconnect();
+            }
+            catch (Exception ex)
+            {
+                if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
+                {
+                    oracleTrConn.Rollback();
+                    oracleTrConn.Disconnect();
+                }
+                throw new Exception(ex.ToString(), ex);
+            }
+            finally
+            {
+                if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
+                {
+                    oracleTrConn.Disconnect();
+                }
+            }
+            return sre;
+        }
+
+        /// <summary>
+		/// 撤销工厂调出
+		/// </summary>
+		/// <param name="barcode">产品条码</param>
+		/// <param name="sUserInfo"></param>
+		/// <returns></returns>
+		public static ServiceResultEntity CancelAllocateOut(ClientRequestEntity cre, SUserInfo sUserInfo)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            try
+            {
+                string sqlString = string.Empty;
+                string barcode = string.Empty;
+                OracleParameter[] paras = null;
+                int ScrapProductID = 0;
+                oracleTrConn.Connect();
+
+                #region SQL
+                string chenkScrapproduct = 
+                "SELECT scrapproductid\n" +
+                "      ,recyclingflag\n" +
+                "  FROM tp_pm_scrapproduct\n" +
+                " WHERE barcode = :barcode\n" +
+                "   AND valueflag = '1'\n" +
+                "   AND goodsleveltypeid = 10\n" +
+                "   AND createtime = (SELECT MAX(createtime)\n" +
+                "                       FROM tp_pm_scrapproduct\n" +
+                "                      WHERE barcode = :barcode\n" +
+                "                        AND valueflag = '1'\n" +
+                "                        AND goodsleveltypeid = 10)";
+
+                // 回收站中数据回到在产中
+                string insertInproduction = 
+                "INSERT INTO tp_pm_inproduction\n" +
+                "    (barcode\n" +
+                "    ,productionlineid\n" +
+                "    ,productionlinecode\n" +
+                "    ,productionlinename\n" +
+                "    ,proceduremodel\n" +
+                "    ,modeltype\n" +
+                "    ,reworkprocedureid\n" +
+                "    ,ispublicbody\n" +
+                "    ,goodsid\n" +
+                "    ,goodscode\n" +
+                "    ,goodsname\n" +
+                "    ,userid\n" +
+                "    ,groutingdailyid\n" +
+                "    ,groutingdailydetailid\n" +
+                "    ,groutingdate\n" +
+                "    ,groutinglineid\n" +
+                "    ,groutinglinecode\n" +
+                "    ,groutinglinename\n" +
+                "    ,gmouldtypeid\n" +
+                "    ,canmanytimes\n" +
+                "    ,groutinglinedetailid\n" +
+                "    ,groutingmouldcode\n" +
+                "    ,mouldcode\n" +
+                "    ,remarks\n" +
+                "    ,accountid\n" +
+                "    ,valueflag\n" +
+                "    ,createtime\n" +
+                "    ,createuserid\n" +
+                "    ,updatetime\n" +
+                "    ,updateuserid\n" +
+                "    ,isrefire\n" +
+                "    ,goodslevelid\n" +
+                "    ,goodsleveltypeid\n" +
+                "    ,defectflag\n" +
+                "    ,groutinguserid\n" +
+                "    ,groutingusercode\n" +
+                "    ,groutingnum\n" +
+                "    ,kilnid\n" +
+                "    ,kilncode\n" +
+                "    ,kilnname\n" +
+                "    ,kilncarid\n" +
+                "    ,kilncarcode\n" +
+                "    ,kilncarname\n" +
+                "    ,kilncarbatchno\n" +
+                "    ,kilncarposition\n" +
+                "    ,specialrepairflag\n" +
+                "    ,flowprocedureid\n" +
+                "    ,flowproceduretime\n" +
+                "    ,procedureid\n" +
+                "    ,proceduretime\n" +
+                "    ,productiondataid\n" +
+                "    ,logoid\n" +
+                "    ,isreworkflag\n" +
+                "    ,semicheckid)\n" +
+                "    SELECT barcode\n" +
+                "          ,productionlineid\n" +
+                "          ,productionlinecode\n" +
+                "          ,productionlinename\n" +
+                "          ,proceduremodel\n" +
+                "          ,modeltype\n" +
+                "          ,reworkprocedureid\n" +
+                "          ,ispublicbody\n" +
+                "          ,goodsid\n" +
+                "          ,goodscode\n" +
+                "          ,goodsname\n" +
+                "          ,userid\n" +
+                "          ,groutingdailyid\n" +
+                "          ,groutingdailydetailid\n" +
+                "          ,groutingdate\n" +
+                "          ,groutinglineid\n" +
+                "          ,groutinglinecode\n" +
+                "          ,groutinglinename\n" +
+                "          ,gmouldtypeid\n" +
+                "          ,canmanytimes\n" +
+                "          ,groutinglinedetailid\n" +
+                "          ,groutingmouldcode\n" +
+                "          ,mouldcode\n" +
+                "          ,remarks\n" +
+                "          ,accountid\n" +
+                "          ,valueflag\n" +
+                "          ,createtime\n" +
+                "          ,createuserid\n" +
+                "          ,updatetime\n" +
+                "          ,:updateuserid\n" +
+                "          ,isrefire\n" +
+                "          ,NULL\n" +
+                "          ,NULL\n" +
+                "          ,defectflag\n" +
+                "          ,groutinguserid\n" +
+                "          ,groutingusercode\n" +
+                "          ,groutingnum\n" +
+                "          ,kilnid\n" +
+                "          ,kilncode\n" +
+                "          ,kilnname\n" +
+                "          ,kilncarid\n" +
+                "          ,kilncarcode\n" +
+                "          ,kilncarname\n" +
+                "          ,kilncarbatchno\n" +
+                "          ,kilncarposition\n" +
+                "          ,specialrepairflag\n" +
+                "          ,flowprocedureid\n" +
+                "          ,flowproceduretime\n" +
+                "          ,procedureid\n" +
+                "          ,SYSDATE\n" +
+                "          ,productiondataid\n" +
+                "          ,logoid\n" +
+                "          ,isreworkflag\n" +
+                "          ,semicheckid\n" +
+                "      FROM tp_pm_inproductiontrash\n" +
+                "     WHERE barcode = :barcode";
+
+                // 生产数据恢复到在产生产数据
+                string insertProductiondatain = 
+                "INSERT INTO tp_pm_productiondatain\n" +
+                "    (productiondataid\n" +
+                "    ,barcode\n" +
+                "    ,centralizedbatchno\n" +
+                "    ,productionlineid\n" +
+                "    ,productionlinecode\n" +
+                "    ,productionlinename\n" +
+                "    ,procedureid\n" +
+                "    ,procedurecode\n" +
+                "    ,procedurename\n" +
+                "    ,proceduremodel\n" +
+                "    ,modeltype\n" +
+                "    ,piecetype\n" +
+                "    ,isreworked\n" +
+                "    ,nodetype\n" +
+                "    ,ispublicbody\n" +
+                "    ,isrefire\n" +
+                "    ,goodslevelid\n" +
+                "    ,goodsleveltypeid\n" +
+                "    ,specialrepairflag\n" +
+                "    ,organizationid\n" +
+                "    ,goodsid\n" +
+                "    ,goodscode\n" +
+                "    ,goodsname\n" +
+                "    ,userid\n" +
+                "    ,usercode\n" +
+                "    ,username\n" +
+                "    ,classessettingid\n" +
+                "    ,kilnid\n" +
+                "    ,kilncode\n" +
+                "    ,kilnname\n" +
+                "    ,kilncarid\n" +
+                "    ,kilncarcode\n" +
+                "    ,kilncarname\n" +
+                "    ,kilncarbatchno\n" +
+                "    ,kilncarposition\n" +
+                "    ,reworkprocedureid\n" +
+                "    ,reworkprocedurecode\n" +
+                "    ,reworkprocedurename\n" +
+                "    ,groutingdailyid\n" +
+                "    ,groutingdailydetailid\n" +
+                "    ,groutinglineid\n" +
+                "    ,groutinglinecode\n" +
+                "    ,groutinglinename\n" +
+                "    ,gmouldtypeid\n" +
+                "    ,canmanytimes\n" +
+                "    ,groutinglinedetailid\n" +
+                "    ,groutingdate\n" +
+                "    ,groutingmouldcode\n" +
+                "    ,mouldcode\n" +
+                "    ,groutinguserid\n" +
+                "    ,groutingusercode\n" +
+                "    ,groutingnum\n" +
+                "    ,remarks\n" +
+                "    ,accountdate\n" +
+                "    ,settlementflag\n" +
+                "    ,accountid\n" +
+                "    ,valueflag\n" +
+                "    ,createtime\n" +
+                "    ,createuserid\n" +
+                "    ,updatetime\n" +
+                "    ,updateuserid\n" +
+                "    ,optimestamp\n" +
+                "    ,triggerflag\n" +
+                "    ,logoid\n" +
+                "    ,backouttime\n" +
+                "    ,backoutuserid\n" +
+                "    ,backoutusercode\n" +
+                "    ,checktime)\n" +
+                "    SELECT productiondataid\n" +
+                "          ,barcode\n" +
+                "          ,centralizedbatchno\n" +
+                "          ,productionlineid\n" +
+                "          ,productionlinecode\n" +
+                "          ,productionlinename\n" +
+                "          ,procedureid\n" +
+                "          ,procedurecode\n" +
+                "          ,procedurename\n" +
+                "          ,proceduremodel\n" +
+                "          ,modeltype\n" +
+                "          ,piecetype\n" +
+                "          ,isreworked\n" +
+                "          ,nodetype\n" +
+                "          ,ispublicbody\n" +
+                "          ,isrefire\n" +
+                "          ,goodslevelid\n" +
+                "          ,goodsleveltypeid\n" +
+                "          ,specialrepairflag\n" +
+                "          ,organizationid\n" +
+                "          ,goodsid\n" +
+                "          ,goodscode\n" +
+                "          ,goodsname\n" +
+                "          ,userid\n" +
+                "          ,usercode\n" +
+                "          ,username\n" +
+                "          ,classessettingid\n" +
+                "          ,kilnid\n" +
+                "          ,kilncode\n" +
+                "          ,kilnname\n" +
+                "          ,kilncarid\n" +
+                "          ,kilncarcode\n" +
+                "          ,kilncarname\n" +
+                "          ,kilncarbatchno\n" +
+                "          ,kilncarposition\n" +
+                "          ,reworkprocedureid\n" +
+                "          ,reworkprocedurecode\n" +
+                "          ,reworkprocedurename\n" +
+                "          ,groutingdailyid\n" +
+                "          ,groutingdailydetailid\n" +
+                "          ,groutinglineid\n" +
+                "          ,groutinglinecode\n" +
+                "          ,groutinglinename\n" +
+                "          ,gmouldtypeid\n" +
+                "          ,canmanytimes\n" +
+                "          ,groutinglinedetailid\n" +
+                "          ,groutingdate\n" +
+                "          ,groutingmouldcode\n" +
+                "          ,mouldcode\n" +
+                "          ,groutinguserid\n" +
+                "          ,groutingusercode\n" +
+                "          ,groutingnum\n" +
+                "          ,remarks\n" +
+                "          ,accountdate\n" +
+                "          ,settlementflag\n" +
+                "          ,accountid\n" +
+                "          ,valueflag\n" +
+                "          ,createtime\n" +
+                "          ,createuserid\n" +
+                "          ,updatetime\n" +
+                "          ,updateuserid\n" +
+                "          ,optimestamp\n" +
+                "          ,1\n" +
+                "          ,logoid\n" +
+                "          ,backouttime\n" +
+                "          ,backoutuserid\n" +
+                "          ,backoutusercode\n" +
+                "          ,checktime\n" +
+                "      FROM tp_pm_productiondata\n" +
+                "     WHERE valueflag = 1\n" +
+                "       AND barcode = :barcode";
+                #endregion
+                foreach (DataRow row in cre.Data.Tables[0].Rows)
+                {
+                    barcode = row["barcode"] + "";
+
+                    // 校验废品表
+                    paras = new OracleParameter[]
+                    {
+                        new OracleParameter(":barcode", barcode),
+                    };
+
+                    DataSet ds = oracleTrConn.GetSqlResultToDs(chenkScrapproduct, paras);
+                    if (ds != null && ds.Tables[0].Rows.Count == 0)
+                    {
+                        sre.OtherStatus = -1;
+                        sre.Message = "此产品没有损坯,不能撤销";
+                        return sre;
+                    }
+                    else
+                    {
+                        if (Convert.ToInt32(ds.Tables[0].Rows[0]["recyclingflag"]) > 0)
+                        {
+                            sre.Result = -1;
+                            sre.Message = "此产品已经回收,不能撤销";
+                            return sre;
+                        }
+
+                        ScrapProductID = Convert.ToInt32(ds.Tables[0].Rows[0]["ScrapProductID"]);
+                    }
+
+                    // 第二步,回收站中数据回到在产中。 
+                    paras = new OracleParameter[]
+                    {
+                        new OracleParameter(":updateuserid", sUserInfo.UserID),
+                        new OracleParameter(":barcode", barcode),
+                    };
+
+                    sre.OtherStatus += oracleTrConn.ExecuteNonQuery(insertInproduction, paras);
+
+                    //第三步,删除回收站中的条码
+                    sqlString = "DELETE FROM TP_PM_InProductionTrash WHERE barcode=:barcode ";
+                    paras = new OracleParameter[]
+                    {
+                        new OracleParameter(":barcode", barcode)
+                    };
+                    sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, paras);
+
+                    //第四步,停用对应报损产品
+                    sqlString = "UPDATE TP_PM_ScrapProduct SET valueflag = '0' WHERE scrapproductid = :scrapproductid ";
+                    paras = new OracleParameter[]
+                    {
+                        new OracleParameter(":scrapproductid", ScrapProductID)
+                    };
+                    sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, paras);
+
+                    //第五步,回添加生产数据
+                    sqlString = "SELECT 1 FROM tp_pm_productiondatain WHERE valueflag = '1' AND barcode=:barcode ";
+                    paras = new OracleParameter[]
+                    {
+                        new OracleParameter(":barcode", barcode)
+                    };
+                    ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        // 2 生产数据恢复到在产生产数据
+                        paras = new OracleParameter[]
+                        {
+                            new OracleParameter(":barcode", barcode)
+                        };
+
+                        ds = oracleTrConn.GetSqlResultToDs(insertProductiondatain, paras);
+                        sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, paras);
+                    } 
+                }
+
+                oracleTrConn.Commit();
+                oracleTrConn.Disconnect();
+            }
+            catch (Exception ex)
+            {
+                oracleTrConn.Rollback();
+                throw ex;
+            }
+            finally
+            {
+                // 释放资源
+                if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
+                {
+                    oracleTrConn.Disconnect();
+                }
+            }
+            return sre;
+        }
+
+        /// <summary>
+        /// 工厂调出汇总表
+        /// </summary>
+        /// <param name="procedureID">工序ID</param>
+        /// <param name="barcode">产品条码</param>
+        /// <returns>DataSet</returns>
+        public static ServiceResultEntity GetAllocateOutTotal(ClientRequestEntity cre, SUserInfo sUserInfo)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            List<OracleParameter> paras = new List<OracleParameter>();
+            try
+            {
+                con.Open();
+                string sqlString =
+                "SELECT decode(t.groupingid\n" +
+                "             ,7\n" +
+                "             ,'小计[' || to_char(t.scrapdate, 'yyyy-MM-dd') || ']'\n" +
+                "             ,15\n" +
+                "             ,'合计'\n" +
+                "             ,to_char(t.scrapdate, 'yyyy-MM-dd')) AS scrapdate\n" +
+                "      ,decode(t.groupingid, 3, '小计[' || t.rreason || ']', t.rreason) AS rreason\n" +
+                "      ,decode(t.groupingid, 0, t.goodscode, '--') AS goodscode\n" +
+                "      ,decode(t.groupingid, 0, t.goodsname, '--') AS goodsname\n" +
+                "      ,t.quantity\n" +
+                "  FROM (SELECT grouping_id(sp.scrapdate, sp.rreason, sp.goodscode, sp.goodsname) AS groupingid\n" +
+                "              ,sp.scrapdate\n" +
+                "              ,sp.rreason\n" +
+                "              ,sp.goodscode\n" +
+                "              ,sp.goodsname\n" +
+                "              ,COUNT(1) AS quantity\n" +
+                "          FROM tp_pm_scrapproduct sp\n" +
+                "         INNER JOIN tp_mst_goodslevel gl\n" +
+                "            ON sp.goodslevelid = gl.goodslevelid\n" +
+                "         WHERE sp.valueflag = '1'\n" +
+                "           AND gl.goodsleveltypeid = 10\n" +
+                "           AND sp.accountid = :accountid\n" +
+                "           AND sp.createtime >= :scrapdatestart\n" +
+                "           AND sp.createtime < :scrapdateend ";
+
+                paras.Add(new OracleParameter(":accountid", sUserInfo.AccountID));
+                paras.Add(new OracleParameter(":scrapdatestart", cre.Properties["scrapdatestart"]));
+                paras.Add(new OracleParameter(":scrapdateend", cre.Properties["scrapdateend"]));
+
+                if (!string.IsNullOrEmpty(cre.Properties["barcode"] + ""))
+                {
+                    sqlString += " AND sp.barcode LIKE :barcode ";
+                    paras.Add(new OracleParameter(":barcode", "%" + cre.Properties["barcode"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["goodscode"] + ""))
+                {
+                    sqlString += " AND sp.goodscode LIKE :goodscode ";
+                    paras.Add(new OracleParameter(":goodscode", "%" + cre.Properties["goodscode"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["rreason"] + ""))
+                {
+                    sqlString += " AND sp.rreason = :rreason ";
+                    paras.Add(new OracleParameter(":rreason", cre.Properties["rreason"]));
+                }
+
+                sqlString +=
+                " GROUP BY GROUPING SETS(\n" +
+                "       (sp.scrapdate, sp.rreason, sp.goodscode, sp.goodsname),\n" +
+                "       (sp.scrapdate, sp.rreason),(sp.scrapdate),())\n" +
+                " ORDER BY sp.scrapdate\n" +
+                "       ,sp.rreason\n" +
+                "       ,sp.goodscode) t";
+
+                sre.Data = con.GetSqlResultToDs(sqlString, paras.ToArray());
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                if (con.ConnState == ConnectionState.Open)
+                {
+                    con.Close();
+                }
+            }
+        }
+
+        /// <summary>
+        /// 工厂调出明细表
+        /// </summary>
+        /// <param name="procedureID">工序ID</param>
+        /// <param name="barcode">产品条码</param>
+        /// <returns>DataSet</returns>
+        public static ServiceResultEntity GetAllocateOutDetail(ClientRequestEntity cre, SUserInfo sUserInfo)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            List<OracleParameter> paras = new List<OracleParameter>();
+            try
+            {
+                con.Open();
+                string sqlString =
+                "SELECT sp.barcode\n" +
+                "      ,sp.productionlinecode\n" +
+                "      ,sp.productionlinename\n" +
+                "      ,sp.goodscode\n" +
+                "      ,sp.goodsname\n" +
+                "      ,sp.groutingdate\n" +
+                "      ,sp.groutinglinecode\n" +
+                "      ,sp.groutinglinename\n" +
+                "      ,sp.groutingmouldcode\n" +
+                "      ,sp.mouldcode\n" +
+                "      ,sp.scrapdate\n" +
+                "      ,sp.rreason\n" +
+                "      ,sp.remarks\n" +
+                "      ,sp.accountdate\n" +
+                "      ,sp.groutingusercode\n" +
+                "      ,sp.procedurecode\n" +
+                "      ,sp.procedurename\n" +
+                "      ,sp.scraptype\n" +
+                "      ,sp.recyclingflag\n" +
+                "      ,sp.recyclingusercode\n" +
+                "      ,sp.recyclingtime\n" +
+                "      ,sp.responsibleusercode\n" +
+                "      ,sp.backouttime\n" +
+                "      ,gl.goodslevelname\n" +
+                "      ,gdd.ispublicbody\n" +
+                "      ,gdd.specialrepairflag\n" +
+                "  FROM tp_pm_scrapproduct sp\n" +
+                " INNER JOIN tp_mst_goodslevel gl\n" +
+                "    ON sp.goodslevelid = gl.goodslevelid\n" +
+                "  LEFT JOIN tp_pm_groutingdailydetail gdd\n" +
+                "    ON sp.barcode = gdd.barcode\n" +
+                " WHERE sp.valueflag = '1'\n" +
+                "   AND gl.goodsleveltypeid = 10\n" +
+                "   AND sp.accountid = :accountid\n" +
+                "   AND sp.createtime >= :scrapdatestart\n" +
+                "   AND sp.createtime < :scrapdateend\n";
+
+                paras.Add(new OracleParameter(":accountid", sUserInfo.AccountID));
+                paras.Add(new OracleParameter(":scrapdatestart", cre.Properties["scrapdatestart"]));
+                paras.Add(new OracleParameter(":scrapdateend", cre.Properties["scrapdateend"]));
+
+                if (!string.IsNullOrEmpty(cre.Properties["barcode"] + ""))
+                {
+                    sqlString += " AND sp.barcode LIKE :barcode ";
+                    paras.Add(new OracleParameter(":barcode", "%" + cre.Properties["barcode"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["goodscode"] + ""))
+                {
+                    sqlString += " AND sp.goodscode LIKE :goodscode ";
+                    paras.Add(new OracleParameter(":goodscode", "%" + cre.Properties["goodscode"] + "%"));
+                }
+
+                if (!string.IsNullOrEmpty(cre.Properties["rreason"] + ""))
+                {
+                    sqlString += " AND sp.rreason LIKE :rreason ";
+                    paras.Add(new OracleParameter(":rreason", "%" + cre.Properties["rreason"] + "%"));
+                }
+
+                sqlString += " ORDER BY sp.barcode";
+                sre.Data = con.GetSqlResultToDs(sqlString, paras.ToArray());
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                if (con.ConnState == ConnectionState.Open)
+                {
+                    con.Close();
+                }
+            }
+        }
+        #endregion
+
+        #region 工位打卡
+        /// <summary>
+        /// 获取工号工位
+        /// </summary>
+        /// <param name="sUserInfo"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity GetWorkStationUser(SUserInfo sUserInfo)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            try
+            {
+                string sqlString =
+                "SELECT w.workstationid\n" +
+                "      ,w.workstationname\n" +
+                "  FROM tp_mst_workstationuser wu\n" +
+                " INNER JOIN tp_mst_workstation w\n" +
+                "    ON w.workstationid = wu.workstationid\n" +
+                " WHERE w.valueflag = '1'\n" +
+                "   AND wu.usercode = :usercode\n" +
+                " ORDER BY w.displayno";
+
+                OracleParameter[] paras = new OracleParameter[]
+                {
+                    new OracleParameter(":usercode", sUserInfo.UserCode)
+                };
+
+                con.Open();
+                sre.Data = con.GetSqlResultToDs(sqlString, paras);
+                if (sre.Data.Tables[0].Rows.Count == 0)
+                {
+                    sre.Message = "当前工号未配置工位";
+                }
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                if (con.ConnState == ConnectionState.Open)
+                {
+                    con.Close();
+                }
+            }
+        }
+
+        /// <summary>
+        /// 工号工位打卡
+        /// </summary>
+        /// <param name="SProductEntity"></param>
+        /// <param name="userInfo"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity SaveWorkStationUser(int workStationID, SUserInfo userInfo)
+        {
+            ServiceResultEntity sre = new ServiceResultEntity();
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            try
+            {
+                string sqlString = string.Empty;
+                OracleParameter[] paras = null;
+                oracleTrConn.Connect();
+
+                // 校验当前工号是否配置该工位
+                sqlString = "SELECT 1\n" +
+                            "  FROM tp_mst_workstationuser wu\n" +
+                            " WHERE wu.userid = :userid\n" +
+                            "   AND wu.workstationid = :workstationid";
+
+                paras = new OracleParameter[]
+                {
+                    new OracleParameter(":userid", userInfo.UserID),
+                    new OracleParameter(":workstationid", workStationID)
+                };
+
+                object isExists = oracleTrConn.GetSqlResultToObj(sqlString, paras);
+                if (isExists== null)
+                {
+                    sre.OtherStatus = -1;
+                    sre.Message = "当前工号未配置该工位";
+                    return sre;
+                }
+
+                // 删除当前工号在任何一个工位,以确保当前工号在工位中唯一
+                sqlString = "UPDATE tp_mst_workstation\n" +
+                            "   SET usercode = NULL\n" +
+                            " WHERE usercode = :usercode";
+
+                paras = new OracleParameter[]
+                {
+                    new OracleParameter(":usercode", userInfo.UserCode)
+                };
+
+                sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, paras);
+
+                // 更新工位当前工号
+                sqlString = "UPDATE tp_mst_workstation\n" +
+                            "   SET usercode     = :usercode\n" +
+                            "      ,updateuserid = :userid\n" +
+                            " WHERE workstationid = :workstationid";
+
+                paras = new OracleParameter[]
+                {
+                    new OracleParameter(":usercode", userInfo.UserCode),
+                    new OracleParameter(":userid", userInfo.UserID),
+                    new OracleParameter(":workstationid", workStationID)
+                };
+
+                sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, paras);
+
+                oracleTrConn.Commit();
+                oracleTrConn.Disconnect();
+            }
+            catch (Exception ex)
+            {
+                if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
+                {
+                    oracleTrConn.Rollback();
+                    oracleTrConn.Disconnect();
+                }
+                throw new Exception(ex.ToString(), ex);
+            }
+            finally
+            {
+                if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
+                {
+                    oracleTrConn.Disconnect();
+                }
+            }
+            return sre;
+        }
+        #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">

+ 19 - 6
IBOSS.PRD/F_SYS_0202.cs

@@ -242,6 +242,11 @@ namespace Dongke.IBOSS.PRD.Client
 									F_MST_0207 frm0207 = new F_MST_0207();
 									frm0207.ShowDialog();
 									break;
+								case "010206":
+									//系统管理-用户及组织-员工工位
+									F_MST_1301 frm1301 = new F_MST_1301();
+									frm1301.ShowDialog();
+									break;
 								#endregion
 
 								#region 系统管理-产品信息
@@ -891,10 +896,14 @@ namespace Dongke.IBOSS.PRD.Client
                                     // 半检返修缺陷汇总表
                                     this.ShowInDockPanel(F_RPT_030119.Instance);
                                     break;
-                                #endregion
+								case "070721":
+									// 工厂调出汇总表
+									this.ShowInDockPanel(F_RPT_030120.Instance);
+									break;
+								#endregion
 
-                                #region 分析表
-                                case "070501":
+								#region 分析表
+								case "070501":
 									//注浆交坯比率分析表
 									this.ShowInDockPanel(F_RPT_040101_1.Instance);
 									break;
@@ -1135,10 +1144,14 @@ namespace Dongke.IBOSS.PRD.Client
                                     //品保抽查
                                     this.ShowInDockPanel(F_PM_3101.Instance);
                                     break;
-                                #endregion
+								case "0627":
+									//工厂调出
+									this.ShowInDockPanel(F_PM_3301.Instance);
+									break;
+								#endregion
 
-                                #region SAP
-                                case "SAP0101":
+								#region SAP
+								case "SAP0101":
                                     this.ShowInDockPanel(F_SAP_HEGII_0101.Instance);
                                     break;
                                 case "SAP0102":

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

@@ -11090,9 +11090,115 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                         return actionResult;
                     }
                 }
-                #endregion
+				#endregion
+
+				#region 工厂调出功能
+				if (module == "F_PM_3302")
+				{
+					// 工厂调出条码验证
+					if (action == "CheckAllocateOut")
+					{
+						ServiceResultEntity sre = PDAModuleLogic.CheckAllocateOut(
+							data["Barcode"] + "", Convert.ToInt32(data["OutFlag"]), sUserInfo);
+
+						if (sre.Data != null)
+						{
+							actionResult.Status = (int)Constant.PDAResult.Success;
+							actionResult.Result = JsonHelper.ToJson(sre.Data.Tables[0]);
+						}
+						else{
+							actionResult.Status = (int)Constant.PDAResult.Fail;
+							actionResult.Message = sre.Message;
+						}
+						return actionResult;
+					}
+					// 保存工厂调出
+					if (action == "SaveAllocateOut")
+					{
+						ClientRequestEntity cre = new ClientRequestEntity();
+						cre.Properties["rreason"] = data["Rreason"];
+						cre.Properties["remarks"] = data["Remarks"];
+						DataTable dtAllocateOutData = JsonHelper.FromJson<DataTable>(data["AllocateOutData"] + "");
+						cre.Data = new DataSet();
+						cre.Data.Tables.Add(dtAllocateOutData);
+
+						ServiceResultEntity sre = PDAModuleLogic.SaveAllocateOut(cre, sUserInfo);
+
+						if (sre.OtherStatus > 0)
+						{
+							actionResult.Status = (int)Constant.PDAResult.Success;
+						}
+						else
+						{
+							actionResult.Status = (int)Constant.PDAResult.Fail;
+							actionResult.Message = sre.Message;
+						}
+						return actionResult;
+					}
+					// 撤销工厂调出
+					if (action == "CancelAllocateOut")
+					{
+						ClientRequestEntity cre = new ClientRequestEntity();
+						DataTable dtAllocateOutData = JsonHelper.FromJson<DataTable>(data["AllocateOutData"] + "");
+						cre.Data = new DataSet();
+						cre.Data.Tables.Add(dtAllocateOutData);
+
+						ServiceResultEntity sre = PDAModuleLogic.CancelAllocateOut(cre, sUserInfo);
 
-                return actionResult;
+						if (sre.OtherStatus > 0)
+						{
+							actionResult.Status = (int)Constant.PDAResult.Success;
+						}
+						else
+						{
+							actionResult.Status = (int)Constant.PDAResult.Fail;
+							actionResult.Message = sre.Message;
+						}
+						return actionResult;
+					}
+				}
+				#endregion
+
+				#region 工位打卡
+				if (module == "F_PM_3302")
+				{
+					// 获取工号工位
+					if (action == "GetWorkStationUser")
+					{
+						ServiceResultEntity sre = PDAModuleLogic.GetWorkStationUser(sUserInfo);
+
+						if (!string.IsNullOrEmpty(sre.Message))
+						{
+							actionResult.Status = (int)Constant.PDAResult.Fail;
+							actionResult.Message = sre.Message;
+						}
+						else
+						{
+							actionResult.Status = (int)Constant.PDAResult.Success;
+							actionResult.Result = JsonHelper.ToJson(sre.Data.Tables[0]);
+						}
+						return actionResult;
+					}
+					// 工号工位打卡
+					if (action == "SaveAllocateOut")
+					{
+						ServiceResultEntity sre = PDAModuleLogic.SaveWorkStationUser(Convert.ToInt32(data["WorkStationID"]), sUserInfo);
+
+						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;
 			}
 			catch (Exception ex)
 			{

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

@@ -572,6 +572,49 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 }
                 #endregion
 
+                #region 工厂调出
+
+                #region 工厂调出功能
+                if (cre.NameSpace == "F_PM_3302")
+                {
+                    if (cre.Name == "GetAllocateOut")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PDAModuleLogic.GetAllocateOut(cre, this.SUserInfo));
+                    }
+                    else if (cre.Name == "CheckAllocateOut")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PDAModuleLogic.CheckAllocateOut(
+                            cre.Properties["Barcode"] + "", cre.Properties["OutFlag"].ToInt32(), this.SUserInfo));
+                    }
+                    else if (cre.Name == "SaveAllocateOut")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PDAModuleLogic.SaveAllocateOut(cre, this.SUserInfo));
+                    }
+                    else if (cre.Name == "CancelAllocateOut")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PDAModuleLogic.CancelAllocateOut(cre, this.SUserInfo));
+                    }
+                    return null;
+                }
+                #endregion
+
+                #region 工厂调出汇总表
+                if (cre.NameSpace == "F_RPT_030120")
+                {
+                    if (cre.Name == "GetAllocateOutTotal")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PDAModuleLogic.GetAllocateOutTotal(cre, this.SUserInfo));
+                    }
+                    else if (cre.Name == "GetAllocateOutDetail")
+                    {
+                        return ServiceInvoker.Invoke(this, () => PDAModuleLogic.GetAllocateOutDetail(cre, this.SUserInfo));
+                    }
+                    return null;
+                } 
+                #endregion
+
+                #endregion
+
                 return null;
             }
             catch (Exception ex)