|
|
@@ -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;
|
|
|
+ }
|
|
|
}
|
|
|
}
|