chenxy 6 жил өмнө
parent
commit
8d1a10812f

+ 71 - 69
DK.Client/PMModule/F_PM_0504.Designer.cs

@@ -28,12 +28,12 @@
         /// </summary>
         private void InitializeComponent()
         {
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
-            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = 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 dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+            System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = 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 dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(F_PM_0504));
             this.tsrOperate = new Dongke.IBOSS.PRD.Basics.BaseControls.C_ToolStrip();
             this.tsbtnDelete = new System.Windows.Forms.ToolStripButton();
@@ -73,13 +73,13 @@
             this.btnCancel = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
             this.btnSave = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
             this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.btnOk = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
+            this.txtFiredBatchNo = new Dongke.WinForm.Controls.TxtNumerical();
+            this.dtpFiredDate = new Dongke.WinForm.Controls.DtpDate();
             this.txtKiln = new Dongke.IBOSS.PRD.Basics.BaseControls.C_TextBox();
             this.lblKiln = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
-            this.dtpFiredDate = new Dongke.WinForm.Controls.DtpDate();
             this.c_Label3 = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
             this.c_Label4 = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Label();
-            this.txtFiredBatchNo = new Dongke.WinForm.Controls.TxtNumerical();
-            this.btnOk = new Dongke.IBOSS.PRD.Basics.BaseControls.C_Button();
             this.tsrOperate.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.dgvProduction)).BeginInit();
             this.groupBox1.SuspendLayout();
@@ -257,8 +257,8 @@
             this.dgvProduction.AllowUserToDeleteRows = false;
             this.dgvProduction.AllowUserToModifyRows = true;
             this.dgvProduction.AllowUserToOrderColumns = true;
-            dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
-            this.dgvProduction.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7;
+            dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
+            this.dgvProduction.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
             this.dgvProduction.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)));
@@ -269,14 +269,14 @@
             this.dgvProduction.ChildNodeColumnText = null;
             this.dgvProduction.ColumnDeep = 1;
             this.dgvProduction.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.dgvProduction.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
+            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.dgvProduction.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
             this.dgvProduction.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
             this.dgvProduction.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
             this.BarCode,
@@ -323,8 +323,8 @@
             this.dgvProduction.RefreshAtHscroll = false;
             this.dgvProduction.RowHeadersWidth = 50;
             this.dgvProduction.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
-            dataGridViewCellStyle12.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
-            this.dgvProduction.RowsDefaultCellStyle = dataGridViewCellStyle12;
+            dataGridViewCellStyle6.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(159)))), ((int)(((byte)(39)))), ((int)(((byte)(39)))));
+            this.dgvProduction.RowsDefaultCellStyle = dataGridViewCellStyle6;
             this.dgvProduction.RowTemplate.Height = 21;
             this.dgvProduction.Size = new System.Drawing.Size(903, 286);
             this.dgvProduction.SortOrderColumnName = null;
@@ -373,8 +373,8 @@
             // Status
             // 
             this.Status.DataPropertyName = "Status";
-            dataGridViewCellStyle9.NullValue = "本次登车";
-            this.Status.DefaultCellStyle = dataGridViewCellStyle9;
+            dataGridViewCellStyle3.NullValue = "本次登车";
+            this.Status.DefaultCellStyle = dataGridViewCellStyle3;
             this.Status.HeaderText = "产品状态";
             this.Status.Name = "Status";
             this.Status.ReadOnly = true;
@@ -458,9 +458,9 @@
             // GroutingDate
             // 
             this.GroutingDate.DataPropertyName = "GroutingDate";
-            dataGridViewCellStyle10.Format = "yyyy-MM-dd";
-            dataGridViewCellStyle10.NullValue = null;
-            this.GroutingDate.DefaultCellStyle = dataGridViewCellStyle10;
+            dataGridViewCellStyle4.Format = "yyyy-MM-dd";
+            dataGridViewCellStyle4.NullValue = null;
+            this.GroutingDate.DefaultCellStyle = dataGridViewCellStyle4;
             this.GroutingDate.HeaderText = "注浆日期";
             this.GroutingDate.Name = "GroutingDate";
             this.GroutingDate.ReadOnly = true;
@@ -486,8 +486,8 @@
             // GroutingNum
             // 
             this.GroutingNum.DataPropertyName = "GroutingNum";
-            dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
-            this.GroutingNum.DefaultCellStyle = dataGridViewCellStyle11;
+            dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleRight;
+            this.GroutingNum.DefaultCellStyle = dataGridViewCellStyle5;
             this.GroutingNum.HeaderText = "注浆次数";
             this.GroutingNum.Name = "GroutingNum";
             this.GroutingNum.ReadOnly = true;
@@ -559,6 +559,49 @@
             this.groupBox1.TabStop = false;
             this.groupBox1.Text = "基础数据";
             // 
+            // btnOk
+            // 
+            this.btnOk.BackColor = System.Drawing.Color.Transparent;
+            this.btnOk.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnOk.BackgroundImage")));
+            this.btnOk.CausesValidation = false;
+            this.btnOk.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnOk.ForeColor = System.Drawing.Color.White;
+            this.btnOk.Location = new System.Drawing.Point(586, 15);
+            this.btnOk.Name = "btnOk";
+            this.btnOk.Size = new System.Drawing.Size(85, 30);
+            this.btnOk.TabIndex = 8;
+            this.btnOk.Text = "确定";
+            this.btnOk.UseVisualStyleBackColor = true;
+            this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
+            // 
+            // txtFiredBatchNo
+            // 
+            this.txtFiredBatchNo.Location = new System.Drawing.Point(520, 20);
+            this.txtFiredBatchNo.MaxValue = new decimal(new int[] {
+            999,
+            0,
+            0,
+            0});
+            this.txtFiredBatchNo.MinValue = new decimal(new int[] {
+            0,
+            0,
+            0,
+            0});
+            this.txtFiredBatchNo.Name = "txtFiredBatchNo";
+            this.txtFiredBatchNo.Number = new System.Drawing.Point(3, 0);
+            this.txtFiredBatchNo.Size = new System.Drawing.Size(60, 21);
+            this.txtFiredBatchNo.TabIndex = 7;
+            this.txtFiredBatchNo.Validating += new System.ComponentModel.CancelEventHandler(this.txtFiredBatchNo_Validating);
+            // 
+            // dtpFiredDate
+            // 
+            this.dtpFiredDate.AllowNull = false;
+            this.dtpFiredDate.Location = new System.Drawing.Point(355, 20);
+            this.dtpFiredDate.Name = "dtpFiredDate";
+            this.dtpFiredDate.Size = new System.Drawing.Size(100, 21);
+            this.dtpFiredDate.TabIndex = 5;
+            this.dtpFiredDate.Value = new System.DateTime(2019, 12, 10, 0, 0, 0, 0);
+            // 
             // txtKiln
             // 
             this.txtKiln.BackColor = System.Drawing.SystemColors.Window;
@@ -588,15 +631,6 @@
             this.lblKiln.TabIndex = 0;
             this.lblKiln.Text = "窑炉编码";
             // 
-            // dtpFiredDate
-            // 
-            this.dtpFiredDate.AllowNull = false;
-            this.dtpFiredDate.Location = new System.Drawing.Point(355, 20);
-            this.dtpFiredDate.Name = "dtpFiredDate";
-            this.dtpFiredDate.Size = new System.Drawing.Size(100, 21);
-            this.dtpFiredDate.TabIndex = 5;
-            this.dtpFiredDate.Value = new System.DateTime(2019, 12, 10, 0, 0, 0, 0);
-            // 
             // c_Label3
             // 
             this.c_Label3.AutoSize = true;
@@ -623,38 +657,6 @@
             this.c_Label4.TabIndex = 4;
             this.c_Label4.Text = "装车日期";
             // 
-            // txtFiredBatchNo
-            // 
-            this.txtFiredBatchNo.Location = new System.Drawing.Point(520, 20);
-            this.txtFiredBatchNo.MaxValue = new decimal(new int[] {
-            999,
-            0,
-            0,
-            0});
-            this.txtFiredBatchNo.MinValue = new decimal(new int[] {
-            0,
-            0,
-            0,
-            0});
-            this.txtFiredBatchNo.Name = "txtFiredBatchNo";
-            this.txtFiredBatchNo.Number = new System.Drawing.Point(3, 0);
-            this.txtFiredBatchNo.Size = new System.Drawing.Size(60, 21);
-            this.txtFiredBatchNo.TabIndex = 7;
-            // 
-            // btnOk
-            // 
-            this.btnOk.BackColor = System.Drawing.Color.Transparent;
-            this.btnOk.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("btnOk.BackgroundImage")));
-            this.btnOk.CausesValidation = false;
-            this.btnOk.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnOk.ForeColor = System.Drawing.Color.White;
-            this.btnOk.Location = new System.Drawing.Point(586, 15);
-            this.btnOk.Name = "btnOk";
-            this.btnOk.Size = new System.Drawing.Size(85, 30);
-            this.btnOk.TabIndex = 8;
-            this.btnOk.Text = "确定";
-            this.btnOk.UseVisualStyleBackColor = true;
-            // 
             // F_PM_0504
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);

+ 184 - 123
DK.Client/PMModule/F_PM_0504.cs

@@ -209,6 +209,13 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                                 this.txtKiln.SelectAll();
                                 this.txtKiln.Focus();
                                 //return;
+                                _productionEntity.KilnID = null;
+                                _productionEntity.KilnCode = null;
+                            }
+                            else
+                            {
+                                _productionEntity.KilnID = Convert.ToInt32(dt.Rows[0]["KilnID"]);
+                                _productionEntity.KilnCode = this.txtKiln.Text.Trim();
                             }
                         }
 
@@ -359,82 +366,37 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                 }
                 else if (!this.txtKilnCarCode.ReadOnly)
                 {
-                    // 是否存在此用户编码的生产工号
-                    CheckKilnCarResultEntity kilnCarEntity = (CheckKilnCarResultEntity)DoAsync(new BaseAsyncMethod(() =>
-                    {
-                        return PMModuleProxy.Service.CheckKilnCar(this._procedureID, this.txtKiln.Text.Trim() + this.txtKilnCarCode.Text.Trim(), this._procedureDataEntity.ModelType);
-                    }));
-                    if (!string.IsNullOrEmpty(kilnCarEntity.ErrMsg))
+                    ClientRequestEntity cre = new ClientRequestEntity();
+                    cre.NameSpace = "F_PM_0504";
+                    cre.Name = "CheckKilnCar";
+                    cre.Properties["kilncarcode"]= this.txtKiln.Text.Trim() + this.txtKilnCarCode.Text.Trim();
+                    cre.Properties["procedureID"] = this._procedureID;
+                    ServiceResultEntity sre = PMModuleProxyNew.Service.HandleRequest(cre);
+
+                    this._productionEntity.KilnCarID = null;
+                    this._productionEntity.KilnCarCode = null;
+                    if (sre == null)
                     {
-                        MessageBox.Show(kilnCarEntity.ErrMsg,
+                        MessageBox.Show("此窑车不存在",
                                   this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                         this.txtKilnCarCode.SelectAll();
                         e.Cancel = true;
                         return;
                     }
-                    if (this._productionEntity.KilnID != -Constant.INT_IS_ONE)
-                    {
-                        if (kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnID != this._productionEntity.KilnID)
-                        {
-                            this.SaveDataInfo();
-                        }
-                    }
-                    this._productionEntity.KilnID = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnID;
-                    this._productionEntity.KilnCode = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnCode;
-                    this._productionEntity.KilnName = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnName;
-                    this._productionEntity.KilnCarID = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnCarID;
-                    //this._productionEntity.KilnCarCode = this.txtKiln.Text.Trim() + this.txtKilnCarCode.Text.Trim();
-                    this._productionEntity.KilnCarCode = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnCarCode;
-                    this._productionEntity.KilnCarName = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].KilnCarName;
-                    this.MaxGoodsNum = kilnCarEntity.KilnCarInfos[Constant.INT_IS_ZERO].MaxGoodsNum;
-                    this.txtKilnCarCode.ReadOnly = true;
-                    this.txtKiln.ReadOnly = true;
-
-                    //获取此窑车上是否有产品,并显示
-                    DataSet dsGoods = (DataSet)DoAsync(new BaseAsyncMethod(() =>
-                    {
-                        return PMModuleProxy.Service.GetKilnCarGoodsByKilnCarID(Convert.ToInt32(this._productionEntity.KilnCarID == null ? 0 : this._productionEntity.KilnCarID));
-                    }));
-                    if (dsGoods != null && dsGoods.Tables[0].Rows.Count > 0)
+                    if (sre.Status == Constant.ServiceResultStatus.Other)
                     {
-                        for (int i = 0; i < dsGoods.Tables[0].Rows.Count; i++)
-                        {
-                            DataRow[] drRows = this.DataSourceTable.Select("BarCode='" + dsGoods.Tables[0].Rows[i]["BarCode"].ToString() + "'");
-                            if (drRows.Length > Constant.INT_IS_ZERO)
-                            {
-                                this.txtBarcode.Text = "";
-                                continue;
-                            }
-                            DataRow dr = this.DataSourceTable.NewRow();
-                            dr["BarCode"] = dsGoods.Tables[0].Rows[i]["BarCode"].ToString();
-                            dr["GoodsID"] = dsGoods.Tables[0].Rows[i]["GoodsID"].ToString();
-                            dr["GoodsCode"] = dsGoods.Tables[0].Rows[i]["GoodsCode"].ToString();
-                            dr["GoodsName"] = dsGoods.Tables[0].Rows[i]["GoodsName"].ToString();
-                            dr["UserID"] = dsGoods.Tables[0].Rows[i]["UserID"].ToString();
-                            dr["UserCode"] = dsGoods.Tables[0].Rows[i]["UserCode"].ToString();
-                            dr["UserName"] = dsGoods.Tables[0].Rows[i]["UserName"].ToString();
-                            dr["KilnID"] = dsGoods.Tables[0].Rows[i]["KilnID"].ToString();
-                            dr["KilnCode"] = dsGoods.Tables[0].Rows[i]["KilnCode"].ToString();
-                            dr["KilnName"] = dsGoods.Tables[0].Rows[i]["KilnName"].ToString();
-                            dr["KilnCarID"] = dsGoods.Tables[0].Rows[i]["KilnCarID"].ToString();
-                            dr["KilnCarCode"] = dsGoods.Tables[0].Rows[i]["Kilncarcode"].ToString();
-                            dr["KilnCarName"] = dsGoods.Tables[0].Rows[i]["Kilncarname"].ToString();
-                            dr["KilnCarPosition"] = dsGoods.Tables[0].Rows[i]["KilnCarPosition"].ToString();
-                            dr["IsSave"] = 1;
-                            dr["Status"] = "己登车";
-                            dr["MouldCode"] = dsGoods.Tables[0].Rows[i]["MouldCode"];
-                            dr["GroutingUserCode"] = dsGoods.Tables[0].Rows[i]["GroutingUserCode"];
-                            dr["GroutingNum"] = dsGoods.Tables[0].Rows[i]["GroutingNum"];
-                            dr["IsPublicBody"] = dsGoods.Tables[0].Rows[i]["IsPublicBody"].ToString() != "1" ? 0 : 1;
-                            dr["GroutingDate"] = Convert.ToDateTime(dsGoods.Tables[0].Rows[i]["GroutingDate"]);
-                            dr["LogoCodeName"] = dsGoods.Tables[0].Rows[i]["logoname"] + "[" + dsGoods.Tables[0].Rows[i]["logocode"] + "]";
-                            this.DataSourceTable.Rows.Add(dr);
-                            //this.dgvProduction.CurrentCell = null;
-                            //this.dgvProduction.Rows[dgvProduction.RowCount - 1].Selected = true;
-                            //this.dgvProduction.CurrentCell = this.dgvProduction.Rows[dgvProduction.RowCount - 1].Cells[0];
-                        }
+                        MessageBox.Show(sre.Message,
+                                  this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                        this.txtKilnCarCode.SelectAll();
+                        e.Cancel = true;
+                        return;
                     }
 
+                    this._productionEntity.KilnCarID = Convert.ToInt32(sre.Result);
+                    this._productionEntity.KilnCarCode = this.txtKiln.Text.Trim() + this.txtKilnCarCode.Text.Trim();
+
+                    //this.txtKilnCarCode.ReadOnly = true;
+                    //this.txtKiln.ReadOnly = true;
                 }
             }
             catch (Exception ex)
@@ -458,11 +420,14 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                 {
                     return;
                 }
-                if (this._productionEntity.KilnID == null || this._productionEntity.KilnID <= 0)
+                if (!this.txtFiredBatchNo.ReadOnly)
                 {
+                    e.Handled = true;
+                    txtBarcode.Clear();
                     // 提示信息
-                    MessageBox.Show("请输入窑炉车号",
+                    MessageBox.Show("请输入窑车烧成批次号",
                          this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    this.txtFiredBatchNo.Focus();
                     return;
                 }
 
@@ -706,7 +671,7 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
         /// </summary>
         private void SetFromTitleInfo()
         {
-            this.Text = this._fromTitle;
+            this.Text = "漏扫补件【" + this._fromTitle + "】";
             this.tsbtnDelete.Text = ButtonText.TSBTN_DELETE;
             //自动适应列宽
             this.tsbtnAdaptive.Text = ButtonText.TSBTN_ADAPTIVE;
@@ -895,7 +860,7 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
         private void SaveDataInfo()
         {
             this.DataSourceTable.AcceptChanges();
-            this.DataSourceCollectTypeTable.Clear();
+            this.DataSourceCollectTypeTable = null;
             if (this.DataSourceTable.Rows.Count > Constant.INT_IS_ZERO)
             {
                 //if (this.MaxGoodsNum > 0 && this.DataSourceTable.Rows.Count > this.MaxGoodsNum)
@@ -911,18 +876,18 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                     {
                         DataRow drCollectType = DataSourceCollectTypeTable.NewRow();
                         drCollectType["BarCode"] = drproductionData["BarCode"];
-                        drCollectType["GoodsID"] = drproductionData["GoodsID"];
-                        drCollectType["GoodsCode"] = drproductionData["GoodsCode"];
-                        drCollectType["GoodsName"] = drproductionData["GoodsName"];
-                        drCollectType["UserID"] = drproductionData["UserID"];
-                        drCollectType["UserCode"] = drproductionData["UserCode"];
-                        drCollectType["UserName"] = drproductionData["UserName"];
-                        drCollectType["KilnID"] = drproductionData["KilnID"];
-                        drCollectType["KilnCode"] = drproductionData["KilnCode"];
-                        drCollectType["KilnName"] = drproductionData["KilnName"];
-                        drCollectType["KilnCarID"] = drproductionData["KilnCarID"];
-                        drCollectType["KilnCarCode"] = drproductionData["KilnCarCode"];
-                        drCollectType["KilnCarName"] = drproductionData["KilnCarName"];
+                        //drCollectType["GoodsID"] = drproductionData["GoodsID"];
+                        //drCollectType["GoodsCode"] = drproductionData["GoodsCode"];
+                        //drCollectType["GoodsName"] = drproductionData["GoodsName"];
+                        //drCollectType["UserID"] = drproductionData["UserID"];
+                        //drCollectType["UserCode"] = drproductionData["UserCode"];
+                        //drCollectType["UserName"] = drproductionData["UserName"];
+                        //drCollectType["KilnID"] = drproductionData["KilnID"];
+                        //drCollectType["KilnCode"] = drproductionData["KilnCode"];
+                        //drCollectType["KilnName"] = drproductionData["KilnName"];
+                        //drCollectType["KilnCarID"] = drproductionData["KilnCarID"];
+                        //drCollectType["KilnCarCode"] = drproductionData["KilnCarCode"];
+                        //drCollectType["KilnCarName"] = drproductionData["KilnCarName"];
                         drCollectType["KilnCarPosition"] = drproductionData["KilnCarPosition"];
                         DataSourceCollectTypeTable.Rows.Add(drCollectType);
                     }
@@ -934,55 +899,63 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                          this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
-                DataTable returnRow = (DataTable)DoAsync(new BaseAsyncMethod(() =>
+
+
+                string KilnCarBatchNo = string.Format("{0}#{1}#{2}#{3}",
+                    this._productionEntity.KilnCode,
+                    this._productionEntity.KilnCarCode,
+                    this.dtpFiredDate.Value.Value.ToString("yyyyMMdd"),
+                    this.txtFiredBatchNo.DataValue.Value.ToString("000"));
+
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_PM_0504";
+                cre.Name = "SetKilnCarMissing";
+                cre.Properties["KilnID"] = this._productionEntity.KilnID.Value;
+                cre.Properties["KilnCarID"] = this._productionEntity.KilnCarID.Value;
+                cre.Properties["FiredDate"] = this.dtpFiredDate.Value.Value;
+                cre.Properties["KilnCarBatchNo"] = KilnCarBatchNo;
+                cre.Properties["ProcedureID"] = this._procedureID;
+                cre.Properties["ModelType"] = this._procedureDataEntity.ModelType;
+
+                cre.Data = new DataSet();
+                cre.Data.Tables.Add(DataSourceCollectTypeTable);
+
+                ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() =>
                 {
-                    return PMModuleProxy.Service.AddWorkPiece(this._procedureID, DataSourceCollectTypeTable);
+                    return PMModuleProxyNew.Service.HandleRequest(cre);
                 }));
-                if (returnRow.Rows.Count <= Constant.INT_IS_ZERO)
+
+                if (sre == null)
                 {
                     // 提示信息
-                    MessageBox.Show(Messages.MSG_PM_W012,
-                         this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+                    MessageBox.Show("操作失败",
+                          this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    return;
                 }
-                else
+
+                if (sre.Status != Constant.ServiceResultStatus.Success)
                 {
-                    if (string.IsNullOrEmpty(returnRow.Rows[0][Constant.BarCodeResultTableColumns.out_errMsg.ToString()].ToString()))//成功
-                    {
-                        // 提示信息
-                        MessageBox.Show(string.Format(Messages.MSG_CMN_I001, "新增" + this.Text, "保存"),
-                             this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
-                    }
-                    else
-                    {
-                        // 提示信息
-                        MessageBox.Show(string.Format(returnRow.Rows[0][Constant.BarCodeResultTableColumns.out_errMsg.ToString()].ToString()),
-                              this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
-                        return;
-                    }
+                    MessageBox.Show(sre.Message,
+                          this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    return;
                 }
-                this.txtBarcode.Text = "";
+
+                // 提示信息
+                MessageBox.Show(string.Format(Messages.MSG_CMN_I001, this.Text, "保存"),
+                     this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+                this.txtBarcode.Clear();
                 this._productionDataEntity.Clear();
                 this.DataSourceTable.Rows.Clear();
-                this.txtKilnCarCode.Text = "";
-                //this.txtKiln.Text = "";
-                if (this._procedureDataEntity.CollectType == (int)Constant.ProcedureCollectType.Togather)
-                {
-                    this.txtUserCode.Text = "";
-                    this.txtUserCode.Focus();
-                    this.txtUserCode.ReadOnly = false;
-                    this.txtKilnCarCode.ReadOnly = false;
-                    this.txtKiln.ReadOnly = false;
-                    this.txtKilnCarCode.Enabled = true;
-                    this.txtKiln.Enabled = true;
-                }
-                else
-                {
-                    this.txtBarcode.Focus();
-                    this.txtKilnCarCode.ReadOnly = false;
-                    this.txtKiln.ReadOnly = false;
-                    this.txtKilnCarCode.Enabled = true;
-                    this.txtKiln.Enabled = true;
-                }
+                this.txtKilnCarCode.Clear();
+                this.txtFiredBatchNo.Clear();
+
+                this._productionEntity = new ProductionDataEntity();
+
+                this.txtKilnCarCode.ReadOnly = false;
+                this.txtKiln.ReadOnly = false;
+                this.dtpFiredDate.Enabled = true;
+                this.txtFiredBatchNo.ReadOnly = false;
             }
         }
 
@@ -1011,6 +984,8 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                             DataTable dt = dv.ToTable();
                             if (dt.Rows.Count == 0)
                             {
+                                _productionEntity.KilnID = null;
+                                _productionEntity.KilnCode = null;
                                 // 提示信息
                                 MessageBox.Show("不存在此窑炉编号",
                                       this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
@@ -1018,6 +993,11 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                                 this.txtKiln.Focus();
                                 return;
                             }
+                            else
+                            {
+                                _productionEntity.KilnID = Convert.ToInt32(dt.Rows[0]["KilnID"]);
+                                _productionEntity.KilnCode = this.txtKiln.Text.Trim();
+                            }
                             // 保存业务系统配置
                             Utility.WriteIniFile(Constant.INI_SECTION_SETTINGS, Constant.INI_KEY_KILN_CODE,
                                 this.txtKiln.Text.Trim(), this._iniFilePath);
@@ -1083,5 +1063,86 @@ namespace Dongke.IBOSS.PRD.Client.PMModule
                     System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
             }
         }
+
+        private void btnOk_Click(object sender, EventArgs e)
+        {
+            try
+            {
+                if (string.IsNullOrWhiteSpace(this.txtKiln.Text) || this._productionEntity.KilnID == null)
+                {
+                    MessageBox.Show("没有输入窑炉", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    this.txtKiln.Focus();
+                    return;
+                }
+                if (string.IsNullOrWhiteSpace(this.txtKilnCarCode.Text) || this._productionEntity.KilnCarID == null)
+                {
+                    MessageBox.Show("没有输入窑车", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    this.txtKilnCarCode.Focus();
+                    return;
+                }
+                if (string.IsNullOrWhiteSpace(this.txtFiredBatchNo.Text))
+                {
+                    MessageBox.Show("没有输入烧成批次", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    this.txtFiredBatchNo.Focus();
+                    return;
+                }
+
+                string KilnCarBatchNo = string.Format("{0}#{1}#{2}#{3}",
+                    this._productionEntity.KilnCode,
+                    this._productionEntity.KilnCarCode,
+                    this.dtpFiredDate.Value.Value.ToString("yyyyMMdd"),
+                    this.txtFiredBatchNo.DataValue.Value.ToString("000"));
+
+                ClientRequestEntity cre = new ClientRequestEntity();
+                cre.NameSpace = "F_PM_0504";
+                cre.Name = "CheckKilnCarBatchNo";
+                cre.Properties["KilnID"] = this._productionEntity.KilnID.Value;
+                cre.Properties["KilnCarID"] = this._productionEntity.KilnCarID.Value;
+                cre.Properties["FiredDate"] = this.dtpFiredDate.Value.Value;
+                cre.Properties["KilnCarBatchNo"] = KilnCarBatchNo;
+                cre.Properties["ProcedureID"] = this._procedureID;
+                cre.Properties["ModelType"] = this._procedureDataEntity.ModelType;
+
+                ServiceResultEntity sre = (ServiceResultEntity)DoAsync(new BaseAsyncMethod(() =>
+                {
+                    return PMModuleProxyNew.Service.HandleRequest(cre);
+                }));
+
+                if (sre == null)
+                {
+                    MessageBox.Show("此窑车烧成批次不存在",
+                              this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    this.txtFiredBatchNo.SelectAll();
+                    return;
+                }
+                if (sre.Status == Constant.ServiceResultStatus.Other)
+                {
+                    MessageBox.Show(sre.Message,
+                              this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    this.txtFiredBatchNo.SelectAll();
+                    return;
+                }
+
+                this.txtKilnCarCode.ReadOnly = true;
+                this.txtKiln.ReadOnly = true;
+                this.txtFiredBatchNo.ReadOnly = true;
+                this.dtpFiredDate.Enabled = false;
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+
+        private void txtFiredBatchNo_Validating(object sender, System.ComponentModel.CancelEventArgs e)
+        {
+            if (this.txtFiredBatchNo.ReadOnly || string.IsNullOrWhiteSpace(this.txtFiredBatchNo.Text))
+            {
+                return;
+            }
+            btnOk_Click(null, null);
+        }
     }
 }

+ 1 - 1
DK.Service/PMModuleLogic/PMModuleLogicDAL.cs

@@ -2942,7 +2942,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
             }
             if (firedbatchno < 0)
             {
-                // 日第一车
+                // 日第一车
                 sqlString = "update TP_MST_Kiln k\n" +
                 "   set k.fireddate = :fireddate, k.firedbatchno = 1\n" +
                 " where k.kilnid = :kilnid";

+ 400 - 61
DK.Service/PMModuleService/PMModuleLogic.cs

@@ -12,7 +12,7 @@ using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Text;
-
+using Curtain.DataAccess;
 using Dongke.IBOSS.PRD.Basics.BaseResources;
 using Dongke.IBOSS.PRD.Basics.DataAccess;
 using Dongke.IBOSS.PRD.Service.CMNModuleService;
@@ -20,6 +20,7 @@ using Dongke.IBOSS.PRD.Service.DataModels;
 using Dongke.IBOSS.PRD.WCF.DataModels;
 using Dongke.WinForm.Utilities;
 using Oracle.ManagedDataAccess.Client;
+using DataBaseType = Curtain.DataAccess.DataBaseType;
 
 namespace Dongke.IBOSS.PRD.Service.PMModuleService
 {
@@ -42,7 +43,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 DataTable dataTable = CMNModuleLogic.GetTP_MST_GMouldType(conn, user, Constant.ValueFlag.Effective);
                 ServiceResultEntity sre = new ServiceResultEntity();
                 sre.Data = new DataSet();
@@ -74,7 +75,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 List<OracleParameter> parameters = new List<OracleParameter>();
                 StringBuilder sql = new StringBuilder(PMModuleLogic.GetFPM0101SSQL());
                 parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
@@ -125,7 +126,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 List<OracleParameter> parameters = new List<OracleParameter>();
                 StringBuilder sql = new StringBuilder(PMModuleLogic.GetFPM0101SSQL());
                 parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
@@ -381,7 +382,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 ServiceResultEntity sre = new ServiceResultEntity();
                 DataTable dataTable = CMNModuleLogic.GetTP_MST_DataDictionary(conn, user, Constant.DictionaryType.TPC004, Constant.ValueFlag.Effective);
                 // 账务日期
@@ -542,7 +543,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 ServiceResultEntity sre = new ServiceResultEntity();
                 // 账务日期
                 object date = CMNModuleLogic.GetAccountDate(conn, user);
@@ -787,7 +788,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 ServiceResultEntity sre = new ServiceResultEntity();
 
                 // 'S_PM_021', '注浆登记限制天数' add by chenxy 2018-12-15 begin
@@ -1037,7 +1038,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
                     return sre;
                 }
 
-                tran = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+                tran = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 int executeResult = 0;
 
                 DataTable dtGroutingLine = groutingInfo.Tables[0];
@@ -2029,7 +2030,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 ServiceResultEntity sre = new ServiceResultEntity();
 
                 // 'S_PM_023', '注浆绑码限制天数' add by chenxy 2019-05-07 begin
@@ -2193,7 +2194,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
 
                 StringBuilder sql = new StringBuilder();
                 List<OracleParameter> parameters = new List<OracleParameter>();
@@ -2375,7 +2376,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
                     return sre;
                 }
 
-                tran = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+                tran = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 int executeResult = 0;
 
                 // 绑定条码
@@ -2890,7 +2891,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
 
                 // 'S_PM_024', '未交坯可否替换条码' add by chenxy 2019-05-07 begin
                 string spm024 = conn.GetSqlResultToStr("select ss.SETTINGVALUE from tp_mst_systemsetting ss where ss.SETTINGCODE = 'S_PM_024' and ss.AccountID = " + user.AccountID);
@@ -3186,7 +3187,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
                     return sre;
                 }
 
-                tran = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+                tran = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
 
                 #region 校验条码
                 /*
@@ -3365,7 +3366,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 List<OracleParameter> parameters = new List<OracleParameter>();
                 StringBuilder sql = new StringBuilder(PMModuleLogic.GetFPM0203SSQL());
                 parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
@@ -3492,7 +3493,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 List<OracleParameter> parameters = new List<OracleParameter>();
                 StringBuilder sql = new StringBuilder(PMModuleLogic.GetFPM0203SSQL());
                 parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
@@ -3624,7 +3625,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
                     return sre;
                 }
 
-                tran = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+                tran = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 int executeResult = 0;
 
                 #region 校验时间戳
@@ -3765,7 +3766,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 //SearchProductionDataEntity searchEntity = cre.Request as SearchProductionDataEntity;
@@ -3955,7 +3956,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         public static ServiceResultEntity GetGBCheckedList(SUserInfo sUserInfo, ClientRequestEntity cre)
         {
             ServiceResultEntity sre = new ServiceResultEntity();
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 con.Open();
@@ -3986,7 +3987,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         public static ServiceResultEntity GetAllGBCheckList(SUserInfo sUserInfo, ClientRequestEntity cre)
         {
             ServiceResultEntity sre = new ServiceResultEntity();
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 con.Open();
@@ -4042,7 +4043,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         {
             ServiceResultEntity sre = new ServiceResultEntity();
             int checkedID = Convert.ToInt32(cre.Properties["CheckedID"]);
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 sre.Data = new DataSet();
@@ -4164,7 +4165,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         {
             ServiceResultEntity sre = new ServiceResultEntity();
             int checkedID = Convert.ToInt32(cre.Properties["CheckedID"]);
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 con.Open();
@@ -4214,7 +4215,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             string remarks = cre.Properties["Remarks"].ToString();
 
             int returnRows = 0;
-            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 string sql = null;
@@ -4524,7 +4525,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             ServiceResultEntity sre = new ServiceResultEntity();
             int checkedID = Convert.ToInt32(cre.Properties["CheckedID"]);
             int returnRows = 0;
-            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 string sql = "update TP_PM_GroutingChecked set valueflag='0', updateuserid=:updateuserid where GBCheckedID=:GBCheckedID and valueflag='1'";
@@ -4578,7 +4579,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             int checkedID = Convert.ToInt32(cre.Properties["CheckedID"]);
             string barcode = cre.Properties["Barcode"].ToString();
             int returnRows = 0;
-            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 string sql = null;
@@ -4835,7 +4836,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
                 barcodes = cre.Properties["Barcodes"].ToString();
             }
             int returnRows = 0;
-            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
 
             string sql = null;
             OracleParameter[] paras = null;
@@ -4955,7 +4956,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// <returns>DataSet</returns>
         public static DataSet GetUpdateGBCheckedInfo(int checkedID, SUserInfo sUserInfo)
         {
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 con.Open();
@@ -5044,7 +5045,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
                 barcodes = cre.Properties["Barcodes"].ToString();
             }
             int returnRows = 0;
-            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 string sql = null;
@@ -5126,7 +5127,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
                 barcodes = cre.Properties["Barcodes"].ToString();
             }
             int returnRows = 0;
-            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 string sql = null;
@@ -5207,7 +5208,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 //// 列表中产品数量
@@ -5277,7 +5278,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// <returns>DataSet</returns>
         public static ServiceResultEntity GetGroutingScrapProduct(ClientRequestEntity cre, SUserInfo userInfo)
         {
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 ServiceResultEntity result = new ServiceResultEntity();
@@ -5491,7 +5492,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         {
             ServiceResultEntity result = new ServiceResultEntity();
             result.Status = Constant.ServiceResultStatus.Success;
-            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             string sqlString = string.Empty;
             int returnRow = Constant.INT_IS_ZERO;
 
@@ -5896,7 +5897,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         public static ServiceResultEntity AuditGroutingScrapProduct(ClientRequestEntity cre, SUserInfo userInfo)
         {
             ServiceResultEntity result = new ServiceResultEntity();
-            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             string sqlString = string.Empty;
             int returnRow = Constant.INT_IS_ZERO;
 
@@ -5972,7 +5973,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             ServiceResultEntity result = new ServiceResultEntity();
             result.Status = Constant.ServiceResultStatus.Success;
 
-            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             string sqlString = string.Empty;
             int returnRow = Constant.INT_IS_ZERO;
 
@@ -6070,7 +6071,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// <returns></returns>
         public static ServiceResultEntity GetGroutingDailyDetail(ClientRequestEntity cre, SUserInfo userInfo)
         {
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 ServiceResultEntity result = new ServiceResultEntity();
@@ -6151,7 +6152,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 string sqlString = "SELECT p.procedureid, p.procedurename\n" +
@@ -6203,7 +6204,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 string sqlString = "SELECT 1 AS SEL, gdd.groutingdailydetailid\n" +
@@ -6275,7 +6276,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBTransaction conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
 
                 string suspendBatchNo = Guid.NewGuid().ToString();
 
@@ -6375,7 +6376,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 string sqlString = "SELECT 0 AS SEL, gdd.barcode\n" +
@@ -6465,7 +6466,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBTransaction conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
 
                 string suspendBatchNo = Guid.NewGuid().ToString();
 
@@ -6518,7 +6519,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
 				//string sqlString = "SELECT gdd.barcode\n" +
@@ -6678,7 +6679,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 string sqlString = "SELECT gdd.groutingdailydetailid\n" +
@@ -6759,7 +6760,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBTransaction conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
 
                 string sqlInsert = "INSERT INTO TP_PM_QASpotCheck\n" +
                 "  (GroutingDailyDetailID\n" +
@@ -6821,7 +6822,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBTransaction conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
 
                 string sqlString = "SELECT gdd.groutingdailydetailid\n" +
                 "      ,gdd.barcode\n" +
@@ -6928,7 +6929,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 string sqlString = "select gdd.barcode\n" +
@@ -7017,7 +7018,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 //string sqlString = "select gdd.barcode,\n" +
@@ -7166,7 +7167,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 string sqlString = "select nvl(max(fl.loadingno), 0) + 1\n" +
@@ -7212,7 +7213,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// <returns></returns>
         public static ServiceResultEntity CheckFinishedLaodingBarcode(SUserInfo sUserInfo, string barcode)
         {
-            IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 oracleConn.Open();
@@ -7342,7 +7343,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         public static ServiceResultEntity SaveFinishedLoading(SUserInfo sUserInfo, int loadingNo,
             string carLicense, int palletNum, int goodsNum, string remarks, Dictionary<string, object>[] details)
         {
-            IDBTransaction oracleConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction oracleConn = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 oracleConn.Connect();
@@ -7452,7 +7453,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 string sqlString = "select sr.SemiReworkID\n" +
@@ -7545,7 +7546,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             {
                 if (conn == null)
                 {
-                    conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                    conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                     conn.Open();
                 }
 
@@ -7605,7 +7606,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         public static int GetSemiReworkEditFuntion(SUserInfo userInfo)
         {
 
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 con.Open();
@@ -7638,7 +7639,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// <returns></returns>
         public static ServiceResultEntity CheckSemiReworkBarcode(string barcode)
         {
-            IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 oracleConn.Open();
@@ -7718,7 +7719,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 string sqlString = "select sr.SemiReworkID\n" +
@@ -7867,7 +7868,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             IDBConnection conn = null;
             try
             {
-                conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+                conn = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
                 conn.Open();
 
                 string sqlString = "select p.procedureid, p.procedurecode, p.procedurename\n" +
@@ -7907,7 +7908,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// <returns>DataSet</returns>
         public static ServiceResultEntity GetSemiReworkPassProcedure(string barcode)
         {
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 con.Open();
@@ -7954,7 +7955,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// <returns></returns>
         public static ServiceResultEntity GetSemiReworkDefectStaffByProductionDataID(int productionDataID)
         {
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 con.Open();
@@ -8001,7 +8002,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// <returns>DataSet</returns>
         public static ServiceResultEntity GetSemiReworkDefectStaffByUserID(int userid)
         {
-            IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBConnection con = ClsDbFactory.CreateDBConnection(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 con.Open();
@@ -8048,7 +8049,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// </remarks>
         public static ServiceResultEntity AddSemiRework(SemiReworkEntity entityobj, SUserInfo sUserInfo)
         {
-            IDBTransaction con = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction con = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 ServiceResultEntity resultEntity = new ServiceResultEntity();
@@ -8350,7 +8351,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// <returns></returns>
         public static ServiceResultEntity EditSemiRework(SemiReworkEntity entityobj, SUserInfo sUserInfo)
         {
-            IDBTransaction con = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction con = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 ServiceResultEntity resultEntity = new ServiceResultEntity();
@@ -8696,7 +8697,7 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
         /// <returns></returns>
         public static ServiceResultEntity CancelSemiRework(SemiReworkEntity entityobj, SUserInfo sUserInfo)
         {
-            IDBTransaction con = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+            IDBTransaction con = ClsDbFactory.CreateDBTransaction(Basics.DataAccess.DataBaseType.ORACLE, DataManager.ConnectionString);
             try
             {
                 ServiceResultEntity resultEntity = new ServiceResultEntity();
@@ -8815,11 +8816,349 @@ namespace Dongke.IBOSS.PRD.Service.PMModuleService
             }
         }
 
-
         public static ServiceResultEntity GetSemiReworkForPDAEdit(int semiReworkID, SUserInfo sUserInfo)
         {
             return null;
         }
         #endregion
+
+        #region 窑车漏扫补件
+        /// <summary>
+        /// 验证窑车是否存在
+        /// </summary>
+        /// <param name="cre"></param>
+        /// <param name="userInfo"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity CheckKilnCar(ClientRequestEntity cre, SUserInfo userInfo)
+        {
+            IDataAccess dataAccess = DataAccess.Create(DataBaseType.Oracle, DataManager.ConnectionString);
+            try
+            {
+                string sqlString = "select kc.kilncarid,kc.kilnid\n" +
+                "  from tp_mst_kilncar kc\n" +
+                " where kc.valueflag = '1'\n" +
+                "   and kc.accountid = @accountID@\n" +
+                "   and kc.kilncarcode = @kilncarcode@";
+
+                CDAParameter[] paras = new CDAParameter[]
+                {
+                    new CDAParameter("accountID", userInfo.AccountID),
+                    new CDAParameter("kilncarcode", cre.Properties["kilncarcode"]),
+                };
+
+                ServiceResultEntity sre = new ServiceResultEntity();
+                DataTable data = dataAccess.ExecuteDatatable(sqlString, paras);
+                if (data == null || data.Rows.Count == 0)
+                {
+                    sre.Status = Constant.ServiceResultStatus.Other;
+                    sre.OtherStatus = 1;
+                    sre.Message = "此窑车不存在";
+                    return sre;
+                }
+                sre.Result = data.Rows[0]["kilncarid"];
+
+                sqlString = "Select procedureID From tp_pc_procedureKiln t where t.KilnID = @KilnID@ and t.procedureID = @procedureID@";
+                paras = new CDAParameter[]
+                {
+                    new CDAParameter("KilnID", data.Rows[0]["kilnid"]),
+                    new CDAParameter("procedureID", cre.Properties["procedureID"]),
+                };
+
+                data = dataAccess.ExecuteDatatable(sqlString, paras);
+                if (data == null || data.Rows.Count == 0)
+                {
+                    sre.Status = Constant.ServiceResultStatus.Other;
+                    sre.OtherStatus = 2;
+                    sre.Message = "此窑车不不允许经过此工序";
+                    return sre;
+                }
+
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                dataAccess?.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// 验证窑车烧成批次号是否存在 和 是否能补漏扫
+        /// </summary>
+        /// <param name="cre"></param>
+        /// <param name="userInfo"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity CheckKilnCarBatchNo(ClientRequestEntity cre, SUserInfo userInfo)
+        {
+            IDataAccess dataAccess = DataAccess.Create(DataBaseType.Oracle, DataManager.ConnectionString);
+            try
+            {
+                string sqlString = "select t.kilncardataid, t.modelType, t.procedureid\n" +
+                "  from tp_pm_kilncardata t\n" +
+                " where t.kilnid = @kilnid@\n" +
+                "   and t.kilncarid = @kilncarid@\n" +
+                "   and t.valueflag = '1'\n" +
+                "   and t.kilncarbatchno = @kilncarbatchno@";
+
+                CDAParameter[] paras = new CDAParameter[]
+                {
+                    new CDAParameter("kilnid", cre.Properties["KilnID"]),
+                    new CDAParameter("kilncarid", cre.Properties["KilnCarID"]),
+                    new CDAParameter("kilncarbatchno", cre.Properties["KilnCarBatchNo"]),
+                };
+
+                ServiceResultEntity sre = new ServiceResultEntity();
+                DataTable data = dataAccess.ExecuteDatatable(sqlString, paras);
+                if (data == null || data.Rows.Count == 0)
+                {
+                    sre.Status = Constant.ServiceResultStatus.Other;
+                    sre.OtherStatus = 1;
+                    sre.Message = "此烧成批次号不存在";
+                    return sre;
+                }
+
+                int carProcedureid = Convert.ToInt32(data.Rows[0]["procedureid"]);
+                string modelType = data.Rows[data.Rows.Count-1]["modelType"] + "";
+
+                if (modelType != "4")
+                {
+                    sre.Status = Constant.ServiceResultStatus.Other;
+                    sre.OtherStatus = 2;
+                    sre.Message = "此窑车还未卸窑不能补件";
+                    return sre;
+                }
+                if (carProcedureid != Convert.ToInt32(cre.Properties["ProcedureID"]))
+                {
+                    sre.Status = Constant.ServiceResultStatus.Other;
+                    sre.OtherStatus = 3;
+                    sre.Message = "此窑车烧成批次不是在当前工序登窑";
+                    return sre;
+                }
+
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                dataAccess?.Dispose();
+            }
+        }
+
+        /// <summary>
+        /// 窑车漏扫补件
+        /// </summary>
+        /// <param name="cre"></param>
+        /// <param name="userInfo"></param>
+        /// <returns></returns>
+        public static ServiceResultEntity SetKilnCarMissing(ClientRequestEntity cre, SUserInfo userInfo)
+        {
+            IDataAccess dataAccess = DataAccess.Create(DataBaseType.Oracle, DataManager.ConnectionString);
+            try
+            {
+                ServiceResultEntity sre = new ServiceResultEntity();
+                dataAccess.Open(true);
+
+                DataTable data = cre.Data.Tables[0];
+                string CENTRALIZEDBATCHNO = System.Guid.NewGuid().ToString();
+
+                string sqlString = "\n" +
+                "insert into tp_pm_productiondatain\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" +
+                "  ,ORGANIZATIONID\n" +
+                "  ,GOODSID\n" +
+                "  ,GOODSCODE\n" +
+                "  ,GOODSNAME\n" +
+                "  ,USERID\n" +
+                "  ,USERCODE\n" +
+                "  ,USERNAME\n" +
+                "  ,KILNID\n" +
+                "  ,KILNCODE\n" +
+                "  ,KILNNAME\n" +
+                "  ,KILNCARID\n" +
+                "  ,KILNCARCODE\n" +
+                "  ,KILNCARNAME\n" +
+                "  ,KILNCARBATCHNO\n" +
+                "  ,KILNCARPOSITION\n" +
+                "  ,REMARKS\n" +
+                "  ,ACCOUNTDATE\n" +
+                "  ,ACCOUNTID\n" +
+                "  ,VALUEFLAG\n" +
+                "  ,CREATEUSERID\n" +
+                "  ,UPDATEUSERID\n" +
+                "  ,GROUTINGDATE\n" +
+                "  ,GROUTINGMOULDCODE\n" +
+                "  ,MOULDCODE\n" +
+                "  ,GROUTINGUSERID\n" +
+                "  ,GROUTINGUSERCODE\n" +
+                "  ,GROUTINGNUM\n" +
+                "  ,GROUTINGDAILYID\n" +
+                "  ,GROUTINGDAILYDETAILID\n" +
+                "  ,GROUTINGLINEID\n" +
+                "  ,GROUTINGLINECODE\n" +
+                "  ,GROUTINGLINENAME\n" +
+                "  ,GMOULDTYPEID\n" +
+                "  ,CANMANYTIMES\n" +
+                "  ,GROUTINGLINEDETAILID\n" +
+                "  ,SPECIALREPAIRFLAG\n" +
+                "  ,CLASSESSETTINGID\n" +
+                "  ,LOGOID\n" +
+                "  ,CHECKTIME)\n" +
+                "  select inp.barcode\n" +
+                "        ,@CENTRALIZEDBATCHNO@\n" +
+                "        ,kd.productionlineid\n" +
+                "        ,pline.PRODUCTIONLINECODE\n" +
+                "        ,pline.PRODUCTIONLINENAME\n" +
+                "        ,kd.procedureid\n" +
+                "        ,pcp.PROCEDURECODE\n" +
+                "        ,pcp.PROCEDURENAME\n" +
+                "        ,pcp.proceduremodel\n" +
+                "        ,pcp.modeltype\n" +
+                "        ,pcp.piecetype\n" +
+                "        ,'0'\n" +
+                "        ,pcp.nodetype\n" +
+                "        ,inp.ispublicbody\n" +
+                "        ,inp.isrefire\n" +
+                "        ,pcp.organizationid\n" +
+                "        ,inp.goodsid\n" +
+                "        ,inp.goodscode\n" +
+                "        ,inp.goodsname\n" +
+                "        ,kd.USERID\n" +
+                "        ,kd.USERCODE\n" +
+                "        ,kd.USERNAME\n" +
+                "        ,kd.KILNID\n" +
+                "        ,k.KILNCODE\n" +
+                "        ,k.KILNNAME\n" +
+                "        ,kc.KILNCARID\n" +
+                "        ,kc.KILNCARCODE\n" +
+                "        ,kc.KILNCARNAME\n" +
+                "        ,kd.KILNCARBATCHNO\n" +
+                "        ,@KILNCARPOSITION@\n" +
+                "        ,'窑车漏扫补件'\n" +
+                "        ,trunc(sysdate)\n" +
+                "        ,@ACCOUNTID@\n" +
+                "        ,'1'\n" +
+                "        ,@CREATEUSERID@\n" +
+                "        ,@CREATEUSERID@\n" +
+                "        ,inp.GROUTINGDATE\n" +
+                "        ,inp.GROUTINGMOULDCODE\n" +
+                "        ,inp.MOULDCODE\n" +
+                "        ,inp.GROUTINGUSERID\n" +
+                "        ,inp.GROUTINGUSERCODE\n" +
+                "        ,inp.GROUTINGNUM\n" +
+                "        ,inp.GROUTINGDAILYID\n" +
+                "        ,inp.GROUTINGDAILYDETAILID\n" +
+                "        ,inp.GROUTINGLINEID\n" +
+                "        ,inp.GROUTINGLINECODE\n" +
+                "        ,inp.GROUTINGLINENAME\n" +
+                "        ,inp.GMOULDTYPEID\n" +
+                "        ,inp.CANMANYTIMES\n" +
+                "        ,inp.GROUTINGLINEDETAILID\n" +
+                "        ,inp.SPECIALREPAIRFLAG\n" +
+                "        ,kd.CLASSESSETTINGID\n" +
+                "        ,inp.LOGOID\n" +
+                "        ,kd.CREATETIME\n" +
+                "    from tp_pm_inproduction inp\n" +
+                "   inner join tp_pm_kilncardata kd\n" +
+                "      on kd.kilncarbatchno = @kilncarbatchno@\n" +
+                "     and kd.valueflag = '1'\n" +
+                "   inner join tp_pc_productionline pline\n" +
+                "      on pline.productionlineid = kd.productionlineid\n" +
+                "   inner join tp_pc_procedure pcp\n" +
+                "      on pcp.procedureid = kd.procedureid\n" +
+                "   inner join tp_mst_kiln k\n" +
+                "      on kd.kilnid = k.kilnid\n" +
+                "   inner join tp_mst_kilncar kc\n" +
+                "      on kc.kilncarid = kd.kilncarid\n" +
+                "   where inp.barcode = @barcode@\n" +
+                "   order by kd.kilncardataid";
+
+                string sqlUpdate = "update tp_pm_inproduction t\n" +
+                "   set (t.KILNID\n" +
+                "      ,t.KILNCODE\n" +
+                "      ,t.KILNNAME\n" +
+                "      ,t.KILNCARID\n" +
+                "      ,t.KILNCARCODE\n" +
+                "      ,t.KILNCARNAME\n" +
+                "      ,t.KILNCARBATCHNO\n" +
+                "      ,t.KILNCARPOSITION\n" +
+                "      ,t.PROCEDUREMODEL\n" +
+                "      ,t.MODELTYPE\n" +
+                "      ,t.FLOWPROCEDUREID\n" +
+                "      ,t.FLOWPROCEDURETIME\n" +
+                "      ,t.PROCEDUREID\n" +
+                "      ,t.PROCEDURETIME\n" +
+                "      ,t.PRODUCTIONDATAID) =\n" +
+                "       (select pin.KILNID\n" +
+                "              ,pin.KILNCODE\n" +
+                "              ,pin.KILNNAME\n" +
+                "              ,pin.KILNCARID\n" +
+                "              ,pin.KILNCARCODE\n" +
+                "              ,pin.KILNCARNAME\n" +
+                "              ,pin.KILNCARBATCHNO\n" +
+                "              ,pin.KILNCARPOSITION\n" +
+                "              ,pin.PROCEDUREMODEL\n" +
+                "              ,pin.MODELTYPE\n" +
+                "              ,pin.PROCEDUREID\n" +
+                "              ,sysdate\n" +
+                "              ,pin.PROCEDUREID\n" +
+                "              ,sysdate\n" +
+                "              ,pin.PRODUCTIONDATAID\n" +
+                "          from tp_pm_productiondatain pin\n" +
+                "         where pin.productiondataid =\n" +
+                "               (select max(productiondataid)\n" +
+                "                  from tp_pm_productiondatain ppin\n" +
+                "                 where ppin.barcode = t.barcode))\n" +
+                " where t.barcode = @barcode@";
+                foreach (DataRow item in data.Rows)
+                {
+                    CDAParameter[] paras = new CDAParameter[]
+                    {
+                        new CDAParameter("CENTRALIZEDBATCHNO", CENTRALIZEDBATCHNO),
+                        new CDAParameter("ACCOUNTID", userInfo.AccountID),
+                        new CDAParameter("CREATEUSERID", userInfo.UserID),
+                        new CDAParameter("kilncarbatchno", cre.Properties["KilnCarBatchNo"]),
+                        new CDAParameter("barcode", item["barcode"]),
+                        new CDAParameter("KILNCARPOSITION", item["KILNCARPOSITION"]),
+                    };
+
+                    // 插入生产数据
+                    dataAccess.ExecuteNonQuery(sqlString, paras);
+                    // 更新在产数据
+                    dataAccess.ExecuteNonQuery(sqlUpdate, new CDAParameter("barcode", item["barcode"]));
+                }
+
+                dataAccess.Commit();
+                return sre;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+            finally
+            {
+                dataAccess?.Dispose();
+            }
+        }
+        #endregion
     }
 }

+ 6 - 0
DK.Service/PMModuleService/PMModuleService.csproj

@@ -74,6 +74,12 @@
     <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="Curtain.Core">
+      <HintPath>..\..\DLL\Curtain.Core.dll</HintPath>
+    </Reference>
+    <Reference Include="Curtain.DataAccess">
+      <HintPath>..\..\DLL\Curtain.DataAccess.dll</HintPath>
+    </Reference>
     <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\DK.Basics\Library\Dll\Newtonsoft.Json.dll</HintPath>

BIN
DLL/Curtain.Core.dll


+ 2 - 2
DLL/Curtain.Core.xml

@@ -1808,12 +1808,12 @@
         </member>
         <member name="F:Curtain.Log.Logger.DefaultLogDirectory">
             <summary>
-            默认日志路径
+            默认日志路径(\Logs)
             </summary>
         </member>
         <member name="F:Curtain.Log.Logger.DefaultLogEextension">
             <summary>
-            默认LOG文件扩展名
+            默认LOG文件扩展名(.log)
             </summary>
         </member>
         <member name="P:Curtain.Log.Logger.DefaultLogger">

+ 3 - 1
WCF.Service/WCF.Hosting/ConfigMain.cs

@@ -7,7 +7,7 @@ using System.Text.RegularExpressions;
 using System.Threading;
 using System.Windows.Forms;
 using System.Xml.Linq;
-
+using Curtain.Log;
 using Dongke.IBOSS.PRD.Basics.BaseResources;
 using Dongke.IBOSS.PRD.Basics.DataAccess;
 using Dongke.IBOSS.PRD.Basics.Library;
@@ -36,6 +36,8 @@ namespace Dongke.IBOSS.PRD.WCF.Hosting
             //ServiceInvoker.ServiceDoneEvent += DKIMSSWCFService_ServiceDoneEvent;
             //ServiceInvoker.ServiceExceptionEvent += DKIMSSWCFService_ServiceExceptionEvent;
 
+            Logger.DefaultLogDirectory = AppDomain.CurrentDomain.BaseDirectory + @"Log\";
+
             // 启动内存回收(每小时)
             timer1.Interval = 1000 * 60 * 60;
             timer1.Start();

+ 4 - 0
WCF.Service/WCF.Hosting/WCF.Hosting.csproj

@@ -124,6 +124,10 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
+    <Reference Include="Curtain.Core, Version=1.1.7284.23729, Culture=neutral, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\DLL\Curtain.Core.dll</HintPath>
+    </Reference>
     <Reference Include="Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\DLL\Oracle.ManagedDataAccess.dll</HintPath>

+ 10 - 6
WCF.Service/WCF.Services/PCModuleServiceNew.cs

@@ -12,18 +12,21 @@ using System;
 using System.Data;
 using System.ServiceModel;
 using System.ServiceModel.Activation;
+
+using Curtain.Log;
+
 using Dongke.IBOSS.PRD.Service.PCModuleService;
 using Dongke.IBOSS.PRD.WCF.Contracts;
 using Dongke.IBOSS.PRD.WCF.DataModels;
 
 namespace Dongke.IBOSS.PRD.WCF.Services
 {
-	/// <summary>
-	/// 生产配置模块WCF服务
-	/// </summary>
-	// 服务实现类,继承服务声明接口
-	// 该标签声明该服务可以在ASP.NET下运行
-	[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
+    /// <summary>
+    /// 生产配置模块WCF服务
+    /// </summary>
+    // 服务实现类,继承服务声明接口
+    // 该标签声明该服务可以在ASP.NET下运行
+    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
 	[ServiceBehavior(ConfigurationName = "PCModuleServiceNew",
 	InstanceContextMode = InstanceContextMode.PerCall,
 	ConcurrencyMode = ConcurrencyMode.Multiple,
@@ -387,6 +390,7 @@ namespace Dongke.IBOSS.PRD.WCF.Services
             }
             catch (Exception ex)
             {
+                Logger.Error(ex);
                 throw ex;
             }
         }

+ 8 - 7
WCF.Service/WCF.Services/PDAModuleService.cs

@@ -15,6 +15,8 @@ using System.IO;
 using System.ServiceModel;
 using System.ServiceModel.Activation;
 
+using Curtain.Log;
+
 using Dongke.IBOSS.PRD.Basics.BaseResources;
 using Dongke.IBOSS.PRD.Basics.Library;
 using Dongke.IBOSS.PRD.Service.BarcodePrintService;
@@ -57,14 +59,13 @@ namespace Dongke.IBOSS.PRD.WCF.Services
 			set;
 		}
 
-		#endregion
-
-		#region 构造函数
+        #endregion
 
-		/// <summary>
-		/// 构造函数
-		/// </summary>
-		public PDAModuleService()
+        #region 构造函数
+        /// <summary>
+        /// 构造函数
+        /// </summary>
+        public PDAModuleService()
 			: base()
 		{
 		}

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

@@ -507,6 +507,27 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                 }
                 #endregion
 
+                #region 窑车漏扫补件
+                if (cre.NameSpace == "F_PM_0504")
+                {
+                    // 验证窑车编码是否存在
+                    if (cre.Name == "CheckKilnCar")
+                    {
+                        return PMModuleLogic.CheckKilnCar(cre, SUserInfo);
+                    }
+                    // 验证窑车烧成批次号是否存在 和 是否能补漏扫
+                    if (cre.Name == "CheckKilnCarBatchNo")
+                    {
+                        return PMModuleLogic.CheckKilnCarBatchNo(cre, SUserInfo);
+                    }
+                    // 窑车漏扫补件
+                    if (cre.Name == "SetKilnCarMissing")
+                    {
+                        return PMModuleLogic.SetKilnCarMissing(cre, SUserInfo);
+                    }
+                }
+                #endregion
+
                 return null;
             }
             catch (Exception ex)

+ 1 - 0
WCF.Service/WCF.Services/ServiceHost/ServiceBase.cs

@@ -10,6 +10,7 @@
 
 using System;
 using System.ServiceModel;
+using Curtain.Log;
 using Dongke.IBOSS.PRD.Basics.BaseResources;
 using Dongke.IBOSS.PRD.Basics.Library;
 using Dongke.IBOSS.PRD.Service.DataModels;

+ 4 - 0
WCF.Service/WCF.Services/WCF.Services.csproj

@@ -105,6 +105,10 @@
     <Compile Include="WCFTestSerice.cs" />
   </ItemGroup>
   <ItemGroup>
+    <Reference Include="Curtain.Core, Version=1.1.7283.30513, Culture=neutral, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\DLL\Curtain.Core.dll</HintPath>
+    </Reference>
     <Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\DLL\Newtonsoft.Json.dll</HintPath>

+ 2 - 1
WCF.Service/WCF.WebHosting/Global.asax.cs

@@ -4,7 +4,7 @@ using System.ServiceModel.Activation;
 using System.Timers;
 using System.Web;
 using System.Web.Routing;
-
+using Curtain.Log;
 using Dongke.IBOSS.PRD.Basics.BaseResources;
 using Dongke.IBOSS.PRD.Basics.DataAccess;
 using Dongke.IBOSS.PRD.Basics.Library;
@@ -16,6 +16,7 @@ namespace Dongke.IBOSS.PRD.WCF.WebHosting
 	{
 		protected void Application_Start(object sender, EventArgs e)
         {
+            Logger.DefaultLogDirectory = AppDomain.CurrentDomain.BaseDirectory + @"Log\";
             InitService();
 
             // 更改连接串

+ 4 - 0
WCF.Service/WCF.WebHosting/WCF.WebHosting.csproj

@@ -101,6 +101,10 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
+    <Reference Include="Curtain.Core, Version=1.1.7284.23729, Culture=neutral, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\DLL\Curtain.Core.dll</HintPath>
+    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Data" />
     <Reference Include="System.ServiceModel" />