张忠帅 1 год назад
Родитель
Сommit
53455aa650

Разница между файлами не показана из-за своего большого размера
+ 732 - 723
DK.Client/PCModule/F_PC_0101_1_1.Designer.cs


+ 50 - 2
DK.Client/PCModule/F_PC_0101_1_1.cs

@@ -1675,6 +1675,54 @@ namespace Dongke.IBOSS.PRD.Client.PCModule
             this._newGoodsId = GoodsId;
         }
 
-        #endregion
-    }
+		#endregion
+
+		private void toolStripLabel1_Click(object sender, EventArgs e)
+		{
+            try
+            {
+                if (this.isAllLine)
+                {
+                    MessageBox.Show("整线变产后不允许其他操作", this.Text,
+                        MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    return;
+                }
+
+                if (this.dgvGroutingLineDetail.CurrentCell != null)
+                {
+                    DataTable dt = this.dgvGroutingLineDetail.DataSource as DataTable;
+                    dt.AcceptChanges();
+                    DataRow[] drSelRow = dt.Select("Sel=1 and GMouldStatus = 1");
+                    if (drSelRow.Length == 0)
+                    {
+                        MessageBox.Show("没有选择任何【正常】状态的数据", this.Text,
+                        MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                        return;
+                    }
+                    else
+                    {
+                        DataTable dtNew = drSelRow.CopyToDataTable();
+                        for (int i = 0; i < dtNew.Rows.Count; i++)
+                        {
+                            //dtNew.Rows[i]["RecordRemarks"] = "[停用" + dtNew.Rows[i]["MouldBarcode"] + "]";
+                            dtNew.Rows[i]["RecordRemarks"] = "[甩模]";
+                        }
+                        dtNew.AcceptChanges();
+                        F_PC_0101_1_2 frmFPC0101 = new F_PC_0101_1_2(dtNew, this.Text + "-甩模", 7);
+                        DialogResult dialogresult = frmFPC0101.ShowDialog();
+                        if (dialogresult.Equals(DialogResult.OK))
+                        {
+                            btnSearch_Click(sender, e);
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                // 对异常进行共通处理
+                ExceptionManager.HandleEventException(this.ToString(),
+                    System.Reflection.MethodBase.GetCurrentMethod().Name, this.Text, ex);
+            }
+        }
+	}
 }

+ 12 - 0
DK.Client/PCModule/F_PC_0101_1_2.cs

@@ -149,6 +149,18 @@ namespace Dongke.IBOSS.PRD.Client.PCModule
                         return PCModuleProxy.Service.StopGroutingLineDetail(dtName);
                     }));
                 }
+                else if (this._GMouldStatus == 7)
+                {
+                    ClientRequestEntity cre = new ClientRequestEntity();
+                    cre.NameSpace = "F_PC_0101_1_2";
+                    cre.Name = "DeactivatedGroutingLineDetail";
+                    DataSet ds = new DataSet();
+                    ds.Tables.Add(dtName);
+                    cre.Data = ds;
+                    ServiceResultEntity sre = SystemModuleProxy.Service.DoRequest(cre);
+                    returnRow = sre.OtherStatus;
+
+                }
                 else if (this._GMouldStatus == 1)
                 {
                     // 启用

+ 127 - 0
DK.Service/SystemModuleLogic/SystemModuleLogicPartial.cs

@@ -2907,5 +2907,132 @@ GOODSNAME,
 			}
 		}
 		#endregion
+		public static ServiceResultEntity DeactivatedGroutingLineDetail(ClientRequestEntity cre, SUserInfo user)
+		{
+			int returnRows = 0;
+			ServiceResultEntity sre = new ServiceResultEntity();
+			IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
+			try
+			{
+				
+				DataTable dtGroutingLineDetail = cre.Data.Tables[0];
+				oracleTrConn.Connect();
+				OracleParameter[] Paras = null;
+				StringBuilder sbSql = new StringBuilder();
+				int GMouldRecordID = 0;
+				bool isError = false;
+				if (dtGroutingLineDetail.Rows.Count > 0)
+				{
+					// 更新成型线UpdateUserID
+					sbSql.Append("update TP_PC_GroutingLine set UpdateUserID=" + user.UserID + " where GroutingLineID=" + dtGroutingLineDetail.Rows[0]["GroutingLineID"] + " and OPTimeStamp=:OPTimeStamp and GMouldStatus=1");
+					Paras = new OracleParameter[] {
+						 new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,
+							dtGroutingLineDetail.Rows[0]["LineOPTimeStamp"],ParameterDirection.Input)
+					};
+					//oracleTrConn.ExecuteNonQuery(sbSql.ToString());
+					int row = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
+					if (row == 0)
+					{
+						oracleTrConn.Rollback();
+						oracleTrConn.Disconnect();
+						sre.OtherStatus = -1001;
+						return sre;
+					}
+
+				}
+				for (int i = 0; i < dtGroutingLineDetail.Rows.Count; i++)
+				{
+					sbSql.Clear();
+					sbSql.Append("select SEQ_PC_GMouldRecord_ID.nextval from dual");
+					GMouldRecordID = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));//变更履历
+					sbSql.Clear();
+					// 1.插入变更履历
+					sbSql.Append("insert into TP_PC_GMouldRecord");
+					sbSql.Append("(GMouldRecordID,");
+					sbSql.Append("GroutingLineID,GroutingLineDetailID,GoodsID,");
+					sbSql.Append("GroutingMouldCode,MouldCode,GroutingCount,");
+					sbSql.Append("GMouldRecordType,BeginDate,");
+					sbSql.Append("Remarks,AccountID,CreateTime,");
+					sbSql.Append("CreateUserID,UpdateTime,UpdateUserID");
+					sbSql.Append(")");
+					sbSql.Append("select :GMouldRecordID,");
+					sbSql.Append("GroutingLineID,GroutingLineDetailID,GoodsID,");
+					sbSql.Append("GroutingMouldCode,MouldCode,GroutingCount,");
+					sbSql.Append(":GMouldRecordType,trunc(sysdate),");
+					sbSql.Append(":Remarks,:AccountID,sysdate,");
+					sbSql.Append(":CreateUserID,sysdate,:UpdateUserID");
+					sbSql.Append(" from TP_PC_GroutingLineDetail where GroutingLineDetailID=:GroutingLineDetailID ");
+					Paras = new OracleParameter[] {
+						new OracleParameter(":GMouldRecordType",OracleDbType.Int32,
+						   7,ParameterDirection.Input),
+						new OracleParameter(":GroutingLineDetailID",OracleDbType.Int32,
+							dtGroutingLineDetail.Rows[i]["GroutingLineDetailID"],ParameterDirection.Input),
+						new OracleParameter(":Remarks",OracleDbType.NVarchar2,
+							dtGroutingLineDetail.Rows[i]["RecordRemarks"],ParameterDirection.Input),
+						new OracleParameter(":AccountID",OracleDbType.Int32,
+							user.AccountID,ParameterDirection.Input),
+						new OracleParameter(":CreateUserID",OracleDbType.Int32,
+							user.UserID,ParameterDirection.Input),
+						new OracleParameter(":UpdateUserID",OracleDbType.Int32,
+							user.UserID,ParameterDirection.Input),
+						new OracleParameter(":GMouldRecordID",OracleDbType.Int32,
+							GMouldRecordID,ParameterDirection.Input)
+					};
+					returnRows += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
+					//2.更新成型线模具状态
+					sbSql.Clear();
+					sbSql.Append("update TP_PC_GroutingLineDetail set GMouldStatus=0,LastGMouldRecordID=:LastGMouldRecordID, ");
+					sbSql.Append("UpdateUserID=:UpdateUserID,EndUsedDate=trunc(sysdate) where  GroutingLineDetailID=:GroutingLineDetailID and OPTimeStamp=:OPTimeStamp and GMouldStatus=1");
+					Paras = new OracleParameter[] {
+						new OracleParameter(":LastGMouldRecordID",OracleDbType.Int32,
+						   GMouldRecordID,ParameterDirection.Input),
+						new OracleParameter(":UpdateUserID",OracleDbType.Int32,
+							user.UserID,ParameterDirection.Input),
+						new OracleParameter(":GroutingLineDetailID",OracleDbType.Int32,
+							dtGroutingLineDetail.Rows[i]["GroutingLineDetailID"],ParameterDirection.Input),
+						 new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,
+							dtGroutingLineDetail.Rows[i]["OPTimeStamp"],ParameterDirection.Input)
+					};
+					int row = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
+					if (row == 0)
+					{
+						isError = true;  //即更新了,也可以用这个判断时间戳
+						break;
+					}
+					returnRows += row;
+				}
+				//更新明细信息
+				if (isError)
+				{
+					returnRows = -500;
+					oracleTrConn.Rollback();
+					oracleTrConn.Disconnect();
+				}
+				else
+				{
+					//提交数据
+					sre.OtherStatus = 1;
+					oracleTrConn.Commit();
+					oracleTrConn.Disconnect();
+				}
+			}
+			catch (Exception ex)
+			{
+				if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
+				{
+					oracleTrConn.Rollback();
+					oracleTrConn.Disconnect();
+				}
+				throw ex;
+			}
+			finally
+			{
+				if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
+				{
+					oracleTrConn.Disconnect();
+				}
+			}
+			return sre;
+		}
 	}
 }

+ 12 - 0
WCF.Service/WCF.Services/SystemModuleService.cs

@@ -2825,6 +2825,18 @@ namespace Dongke.IBOSS.PRD.WCF.Services
                     }
                     return null;
                 }
+                else if ("F_PC_0101_1_2" == cre.NameSpace)
+                {
+                    //查询产品对应釉料
+                    if ("DeactivatedGroutingLineDetail" == cre.Name)
+                    {
+                        ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
+                           () => SystemModuleLogic.DeactivatedGroutingLineDetail(cre, SUserInfo));
+                        return result;
+                    }
+
+                }
+
                 return null;
             }
             catch (Exception ex)

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