using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Dongke.IBOSS.PRD.Basics.DataAccess;
using Dongke.IBOSS.PRD.Service.SAPHegiiDataService;
using Dongke.IBOSS.PRD.Service.SAPHegiiDataService.HGSAPDK_ZPPFM008;
using Dongke.IBOSS.PRD.Service.SAPHegiiDataService.HGSAPDK_ZPPFM010;
using Dongke.IBOSS.PRD.WCF.DataModels;
using Oracle.ManagedDataAccess.Client;
namespace SAPTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 潮州1厂
//DataManager.ConnectionString = string.Format(DataManager.ConnectionStringFormat, "172.19.22.61", "1521", "hgcz1", "hgcz1", "dongke" );
// 潮州2厂
DataManager.ConnectionString = string.Format(DataManager.ConnectionStringFormat, "172.19.22.61", "1521", "hgcz2", "hgcz2", "dongke");
}
private void button1_Click(object sender, EventArgs e)
{
try
{
//开始时间
string dateString = "2022-09-25 00:00:00";
DateTime dt = DateTime.ParseExact(dateString, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture);
string dateString2 = "2022-10-02 13:00:00";
//结束时间
DateTime ndt = DateTime.ParseExact(dateString2, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture);
//跨车间
//SAPDataLogic.CrossWorkshopToSAP_test(dt, ndt);
//报工移库
//SAPDataLogic.BGYKToSAP_TEST(dt, ndt);
//报工
SAPDataLogic.SyncSap5000(ndt, "10");
SAPDataLogic.SyncSap5000(ndt, "20");
SAPDataLogic.SyncSap5000(ndt, "30");
SAPDataLogic.SyncSap5000(ndt, "40");
SAPDataLogic.SyncSap5000(ndt, "50");
SAPDataLogic.SyncSap5000(ndt, "60");
//报工-60节点-暂废
//string dateString60 = "2022-09-29 00:00:00";
//DateTime dt60 = DateTime.ParseExact(dateString60, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture);
//SAPDataLogic.SyncSap5000_60_BSJ(dt60);
// 记得换地址---正式--post中的密码
//4号补数据专用
//报工60节点
//SAPDataLogic.SyncSap5000_test_jj(dt,"60", ndt);
//跨车间
//SAPDataLogic.CrossWorkshopToSAP(dt, ndt);
MessageBox.Show("OK");
}
catch (Exception ex)
{
}
}
#region 手动调用同步SAP,补系统异常造成的SAP数据同步错误
///
/// 撤销整板交接
///
///
///
///
///
public static ServiceResultEntity BackFinishedHandover()
{
ServiceResultEntity sre = new ServiceResultEntity();
IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
string sql = string.Empty;
OracleParameter[] Paras = null;
oracleTrConn.Connect();
#region 同步SAP
#region 取相关数据
object isExists;
string sqlString = string.Empty;
OracleParameter[] oracleParameter = null;
int r = 0;
// 条码串
//string fifter = " AND (bar.barcode = '";
//foreach (DataRow row in dtData.Rows)
//{
// fifter += row["barcode"] + "' OR bar.barcode = '";
//}
//fifter = fifter.Substring(0, fifter.Length - 18) + ")";
DateTime date = DateTime.Now;
string yyyymmdd = date.ToString("yyyyMMdd");
sqlString = "select workcode from tp_mst_account where rownum = 1";
string workcode = oracleTrConn.GetSqlResultToStr(sqlString);
//DateTime datebegin = date.Date;
//DateTime dateend = date.Date.AddDays(1);
sqlString =
"SELECT :yyyymmdd AS yyyymmdd\n" +
" ,SYSDATE AS createtime\n" +
" ,tt.goodscode\n" +
" ,tt.sapcode\n" +
" ,tt.usercode\n" +
" ,tt.ordercode\n" +
" ,tt.orderitem\n" +
" ,tt.zscs\n" +
" ,to_char(tt.outputnum) AS outputnum\n" +
" ,to_char(tt.recoverynum) AS recoverynum\n" +
" FROM (SELECT t.goodscode\n" +
" ,t.sapcode\n" +
" ,t.usercode\n" +
" ,t.ordercode\n" +
" ,t.orderitem\n" +
" ,t.zscs\n" +
" ,0 - SUM(decode(t.recyclingflag, '1', 0, decode(t.datatype, 51, 1, -1))) outputnum\n" +
" ,0 - SUM(decode(t.recyclingflag, '0', 0, decode(t.datatype, 51, 1, -1))) recoverynum\n" +
" FROM (SELECT gh.goodscode\n" +
" ,gh.sapcode\n" +
" ,u.usercode\n" +
" ,o.orderno\n" +
" ,bar.recyclingflag\n" +
" ,gh.datatype\n" +
" ,'' zscs\n" +
//" ,case when g.goods_line_type = 1 or gl.highpressureflag = '1' then 'G' else 'L' end zscs\n" +
" ,CASE\n" +
" WHEN o.orderid IS NULL\n" +
" OR o.orderno LIKE 'HEGII%' THEN\n" +
" ' '\n" +
" WHEN instr(o.orderno, '/') = 0 THEN\n" +
" to_char(o.orderno)\n" +
" ELSE\n" +
" to_char(substr(o.orderno, 1, instr(o.orderno, '/') - 1))\n" +
" END ordercode -- 销售凭证\n" +
" ,CASE\n" +
" WHEN o.orderid IS NULL\n" +
" OR o.orderno LIKE 'HEGII%'\n" +
" OR instr(o.orderno, '/') = 0 THEN\n" +
" '0'\n" +
" WHEN instr(o.orderno, '#') = 0 THEN\n" +
" to_char(substr(o.orderno, instr(o.orderno, '/') + 1))\n" +
" ELSE\n" +
" to_char(substr(o.orderno\n" +
" ,instr(o.orderno, '/') + 1\n" +
" ,instr(o.orderno, '#') - instr(o.orderno, '/') - 1))\n" +
" END orderitem -- 销售凭证项目\n" +
" FROM (SELECT gch.goodscode\n" +
" ,gch.sapcode\n" +
" ,decode(gch.datatype, 53, 51, gch.datatype) datatype\n" +
" ,gch.userid\n" +
" ,gch.groutingdailydetailid\n" +
" ,gch.otherid\n" +
" FROM tp_pm_goodschangehistory gch\n" +
" WHERE gch.datatype IN (51, 53)\n" +
//" WHERE gch.datatype IN (51, 52, 53)\n" +
" UNION ALL\n" +
" SELECT gch.goodscode\n" +
" ,gch.sapcode\n" +
" ,52 datatype\n" +
" ,gch.userid\n" +
" ,gch.groutingdailydetailid\n" +
" ,gch.goodsidafter\n" +
" FROM tp_pm_goodschangehistory gch\n" +
" WHERE gch.datatype = 53) gh\n" +
" INNER JOIN tp_mst_user u\n" +
" ON u.userid = gh.userid\n" +
" INNER JOIN tp_pm_groutingdailydetail bar\n" +
" ON bar.groutingdailydetailid = gh.groutingdailydetailid\n" +
@" AND (bar.barcode = '80000975390' OR bar.barcode = '80000988487' OR bar.barcode = '80000983841' OR bar.barcode = '80000975382' OR bar.barcode = '80000960940' OR bar.barcode = '80000885561' OR bar.barcode = '80000874073' OR bar.barcode = '80000785446' OR bar.barcode = '80000802029' OR bar.barcode = '80000983400' OR bar.barcode = '80000975368' OR bar.barcode = '80000895382' OR bar.barcode = '80000975395' OR bar.barcode = '80000988905' OR bar.barcode = '80000988481' OR bar.barcode = '80000874563' OR bar.barcode = '80000983091'
or bar.barcode = '80000901455' OR bar.barcode = '80000942388' OR bar.barcode = '80000983531' OR bar.barcode = '80000942155' OR bar.barcode = '80000798305' OR bar.barcode = '80000808142' OR bar.barcode = '80000983516' OR bar.barcode = '80000983497' )
" +
" INNER JOIN tp_pc_groutingline gl\n" +
" ON gl.groutinglineid = bar.groutinglineid\n" +
" INNER JOIN tp_mst_goods g\n" +
" ON g.goodsid = bar.goodsid\n" +
" LEFT JOIN tp_pm_order o\n" +
" ON o.orderid = gh.otherid) t\n" +
" GROUP BY t.goodscode\n" +
" ,t.sapcode\n" +
" ,t.usercode\n" +
" ,t.ordercode\n" +
" ,t.orderitem,t.zscs) tt\n" +
" WHERE tt.outputnum <> 0\n" +
" OR tt.recoverynum <> 0\n" +
" ORDER BY tt.goodscode\n" +
" ,tt.sapcode\n" +
" ,tt.usercode\n" +
" ,tt.ordercode\n" +
" ,tt.orderitem,tt.zscs";
oracleParameter = new OracleParameter[]
{
new OracleParameter(":yyyymmdd", yyyymmdd)
};
DataTable workData = oracleTrConn.GetSqlResultToDt(sqlString, oracleParameter);
string logid = oracleTrConn.GetSqlResultToStr("select SEQ_SAP_HEGII_DataLog_ID.Nextval from dual");
string msg = $"整板撤销[{logid}]:80000901455,80000975390" ;
sqlString = "insert into tsap_hegii_datalog\n" +
" (LogID\n" +
" ,LogType\n" +
" ,BeginTime\n" +
" ,YYYYMMDD\n" +
" ,WorkCode\n" +
" ,DataCode\n" +
" ,DataStuts\n" +
" ,DataMSG\n" +
" ,CreateUserID\n" +
" ,DataLogID)\n" +
"values\n" +
" (:LogID\n" +
" ,'2'\n" +
" ,sysdate\n" +
" ,:YYYYMMDD\n" +
" ,:WorkCode\n" +
" ,'60'\n" +
" ,'S'\n" +
" ,:DataMSG\n" +
" ,:CreateUserID\n" +
" ,:LogID)";
oracleParameter = new OracleParameter[]
{
new OracleParameter(":LogID",OracleDbType.Int32, logid, ParameterDirection.Input),
new OracleParameter(":CreateUserID",OracleDbType.Int32, 4, ParameterDirection.Input),
new OracleParameter(":YYYYMMDD",OracleDbType.Varchar2, yyyymmdd, ParameterDirection.Input),
new OracleParameter(":WorkCode",OracleDbType.Varchar2, workcode, ParameterDirection.Input),
new OracleParameter(":DataMSG",OracleDbType.Varchar2, msg, ParameterDirection.Input),
};
r = oracleTrConn.ExecuteNonQuery(sqlString, oracleParameter);
#endregion
#region 同步条码明细(注销)
sqlString =
"select bar.yyyymmdd\n" +
" ,bar.workcode\n" +
" ,bar.barcode\n" +
" ,bar.outcode\n" +
" ,bar.goodscode\n" +
" ,bar.sapcode\n" +
" ,bar.sapflbatchno\n" +
" ,bar.sapfhundoflag\n" +
" ,bar.ordercode\n" +
" ,bar.orderitem\n" +
// 保留条码同步履历 2020-10-14 by chenxy ztype = 'S'
//" from tsap_hegii_finishedproduct bar where 1 = 1" + fifter +
" from tsap_hegii_finishedproduct bar where ztype = 'S' "
+
@" AND (bar.barcode = '80000975390' OR bar.barcode = '80000988487' OR bar.barcode = '80000983841' OR bar.barcode = '80000975382' OR bar.barcode = '80000960940' OR bar.barcode = '80000885561' OR bar.barcode = '80000874073' OR bar.barcode = '80000785446' OR bar.barcode = '80000802029' OR bar.barcode = '80000983400' OR bar.barcode = '80000975368' OR bar.barcode = '80000895382' OR bar.barcode = '80000975395' OR bar.barcode = '80000988905' OR bar.barcode = '80000988481' OR bar.barcode = '80000874563' OR bar.barcode = '80000983091'
or bar.barcode = '80000901455' OR bar.barcode = '80000942388' OR bar.barcode = '80000983531' OR bar.barcode = '80000942155' OR bar.barcode = '80000798305' OR bar.barcode = '80000808142' OR bar.barcode = '80000983516' OR bar.barcode = '80000983497' )
" +
" order by bar.sapflbatchno, bar.barcode";
DataTable fpData = oracleTrConn.GetSqlResultToDt(sqlString, oracleParameter);
// 单次传输最大条数
int maxCount = 100000;
List sapParameterList = new List();
if (fpData != null && fpData.Rows.Count > 0)
{
int index = 0;
//Zppfm010 sapParameter = new Zppfm010();
//sapParameter.Zsum = maxCount;
//sapParameter.TableIn = new Zspp110[sapParameter.Zsum];
List tableInList = new List();
foreach (DataRow item in fpData.Rows)
{
if (index >= maxCount)
{
Zppfm010 sapItem = new Zppfm010();
sapItem.ZSUM = tableInList.Count;
sapItem.TABLE_IN = tableInList.ToArray();
sapParameterList.Add(sapItem);
index = 0;
tableInList.Clear();
}
ZSPP110 info110 = new ZSPP110();
// 时间戳
info110.ZSCNU = yyyymmdd;
// 工厂
info110.WERKS = workcode;
// 生产条码
info110.ZSCTM = item["barcode"].ToString();
// 包装条码
info110.ZBZTM = item["outcode"].ToString();
// 产品编码
info110.ZCPBM = item["goodscode"].ToString();
// 物料编号
info110.MATNR = item["sapcode"].ToString();
// 包装整板标识
info110.ZBZBS = item["sapflbatchno"].ToString();
// 重新绑定标识
info110.ZCXBD = "X";
// 销售凭证
info110.KDAUF = item["ordercode"].ToString();
// 销售凭证项目
info110.KDPOS = item["orderitem"].ToString();
info110.UZEIT = date.ToString("HH:mm:ss");
info110.ZCODEN = "";
info110.ZCODEYZM = "";
//if (info110.WERKS == "5011" && info110.ZCPBM == "K047L")
//{
// continue;
//}
tableInList.Add(info110);
index++;
}
Zppfm010 sapParameter010 = new Zppfm010();
sapParameter010.ZSUM = tableInList.Count;
sapParameter010.TABLE_IN = tableInList.ToArray();
sapParameterList.Add(sapParameter010);
index = 0;
tableInList.Clear();
}
else
{
Zppfm010 sapParameter010 = new Zppfm010();
sapParameter010.ZSUM = 0;
sapParameter010.TABLE_IN = new ZSPP110[sapParameter010.ZSUM];
sapParameterList.Add(sapParameter010);
}
foreach (Zppfm010 sapParameter010 in sapParameterList)
{
ZPPFM010Response result010 = SAPDataLogic.HGSAPDK_ZPPFM010(sapParameter010, yyyymmdd);
//sre.Message = result010.ZMSG;
sre.Message = $"{result010.ZMSG}({sapParameter010.ZSUM})";
sre.Result = result010.ZTYPE;
if (result010.TABLE_OUT != null && result010.TABLE_OUT.Length > 0)
{
// 保留条码同步履历 2020-10-14 by chenxy ztype = 'S'
//sqlString = "update tsap_hegii_finishedproduct t set t.ZTime =sysdate, ZTYPE = nvl(:ZTYPE,'S'), ZMSG = :ZMSG where barcode=:barcode and sapflbatchno=:sapflbatchno";
sqlString = "update tsap_hegii_finishedproduct t set t.ZTime =sysdate, ZTYPE = 'D', ZMSG = :ZMSG where barcode=:barcode and ztype = 'S' and sapflbatchno=:sapflbatchno";
foreach (ZSPP110 item in result010.TABLE_OUT)
{
oracleParameter = new OracleParameter[]
{
new OracleParameter(":ZTYPE",OracleDbType.Varchar2, item.ZTYPE, ParameterDirection.Input),
new OracleParameter(":ZMSG",OracleDbType.Varchar2, item.ZMSG, ParameterDirection.Input),
new OracleParameter(":barcode",OracleDbType.Varchar2, item.ZSCTM, ParameterDirection.Input),
new OracleParameter(":sapflbatchno",OracleDbType.Varchar2, item.ZBZBS, ParameterDirection.Input),
};
r = oracleTrConn.ExecuteNonQuery(sqlString, oracleParameter);
}
}
if (result010.ZTYPE != "S")
{
sre.Result = -2;
sre.Message = "同步条码失败," + result010.ZMSG;
return sre;
}
}
// 删除已同步条码
// 保留条码同步履历 2020-10-14 by chenxy ztype = 'S'
//sql = "Delete from tsap_hegii_finishedproduct bar where 1 = 1" + fifter;
//r = oracleTrConn.ExecuteNonQuery(sql);
#endregion
#region 同步产量
// 潮州 暂时不同步产量 2020-10-25 chenxy
Zppfm008 sapParameter = new Zppfm008();
if (workData != null && workData.Rows.Count > 0)
{
sapParameter.ZSUM = workData.Rows.Count;
sapParameter.TABLE_IN = new ZSPP100[sapParameter.ZSUM];
sqlString = "insert into TSAP_HEGII_WorkData\n" +
" (YYYYMMDD\n" +
" ,WorkCode\n" +
" ,DataCode\n" +
" ,GoodsCode\n" +
" ,SAPCode\n" +
" ,UserCode\n" +
" ,OutputNum\n" +
" ,RECOVERYNUM\n" +
" ,ORDERCODE\n" +
" ,ORDERITEM\n" +
" ,zscs\n" +
" ,LogID,createtime)\n" +
"values\n" +
" ('" + yyyymmdd + "'\n" +
" ,'" + workcode + "'\n" +
" ,'60'\n" +
" ,:GoodsCode\n" +
" ,:SAPCode\n" +
" ,:UserCode\n" +
" ,:OutputNum\n" +
" ,:RECOVERYNUM\n" +
" ,:ORDERCODE\n" +
" ,:ORDERITEM\n" +
" ,:zscs\n" +
" ," + logid + ",:createtime)";
int index = 0;
DateTime now = DateTime.Now;
foreach (DataRow item in workData.Rows)
{
ZSPP100 info100 = new ZSPP100();
// 工厂
info100.WERKS = workcode;
// 型号
info100.GROES = item["GoodsCode"].ToString();
// 物料编号
info100.MATNR = item["SAPCode"].ToString();
// 生产工号
info100.ZGHNU = item["UserCode"].ToString();
// 数据节点
info100.ZJDNU = "60";
// 时间戳
info100.ZSCNU = yyyymmdd;
// 销售凭证
info100.VBELN = item["ORDERCODE"].ToString().Trim();
// 销售凭证项目
info100.POSNR = item["ORDERITEM"].ToString();
// 产量
info100.ZCLNG = item["OutputNum"].ToString();
// 损坯
info100.ZSPNG = "0";
// 清除
info100.ZQCNG = "0";
// 回收
info100.ZHSNG = item["RECOVERYNUM"].ToString();
// 干补
info100.ZGBNG = "0";
// 注浆类型 G高压 L普通
info100.ZSCS = item["ZSCS"].ToString();
info100.ZKSSJ = now.ToString("HHmmss");
info100.ZJSRQ = Convert.ToDecimal(now.ToString("yyyyMMddHHmmss"));
oracleParameter = new OracleParameter[]
{
new OracleParameter(":GoodsCode",OracleDbType.Varchar2, item["GoodsCode"], ParameterDirection.Input),
new OracleParameter(":SAPCode",OracleDbType.Varchar2, item["SAPCode"], ParameterDirection.Input),
new OracleParameter(":UserCode",OracleDbType.Varchar2, item["UserCode"], ParameterDirection.Input),
new OracleParameter(":OutputNum",OracleDbType.Varchar2, item["OutputNum"], ParameterDirection.Input),
new OracleParameter(":RECOVERYNUM",OracleDbType.Varchar2, item["RECOVERYNUM"], ParameterDirection.Input),
new OracleParameter(":ORDERCODE",OracleDbType.Varchar2, item["ORDERCODE"], ParameterDirection.Input),
new OracleParameter(":ORDERITEM",OracleDbType.Varchar2, item["ORDERITEM"], ParameterDirection.Input),
new OracleParameter(":ZSCS",OracleDbType.Varchar2, item["ZSCS"], ParameterDirection.Input),
new OracleParameter(":createtime",OracleDbType.Date, item["createtime"], ParameterDirection.Input),
};
r = oracleTrConn.ExecuteNonQuery(sqlString, oracleParameter);
sapParameter.TABLE_IN[index++] = info100;
}
}
else
{
sapParameter.ZSUM = 0;
sapParameter.TABLE_IN = new ZSPP100[sapParameter.ZSUM];
}
ZPPFM008Response result = SAPDataLogic.HGSAPDK_ZPPFM008(sapParameter, yyyymmdd, "60");
//if (result.Ztype == "E")
//{
// sqlString = "update tsap_hegii_datalog t set t.EndTime = sysdate, DataStuts = 'E', DataMSG = DataMSG||:msg where logid = :logid";
// oracleParameter = new OracleParameter[]
// {
// new OracleParameter(":msg",OracleDbType.Varchar2, result.Zmsg, ParameterDirection.Input),
// new OracleParameter(":logid",OracleDbType.Int32, logid, ParameterDirection.Input),
// };
// r = oracleConn.ExecuteNonQuery(sqlString, oracleParameter);
//}
//else
if (result.TABLE_OUT != null && result.TABLE_OUT.Length > 0)
{
sqlString = "update TSAP_HEGII_WorkData t set t.ZTime =sysdate, ZTYPE = :ZTYPE, ZMSG = :ZMSG where logid = " + logid +
" \n and YYYYMMDD='" + yyyymmdd + "' and WorkCode='" + workcode +
"' and DataCode='60' and GoodsCode=:GoodsCode and SAPCode=:SAPCode and UserCode=:UserCode \n" +
"and OrderCode=:OrderCode and OrderItem=:OrderItem";
foreach (ZSPP100 item in result.TABLE_OUT)
{
string posnr = item.POSNR.TrimStart('0');
oracleParameter = new OracleParameter[]
{
new OracleParameter(":ZTYPE",OracleDbType.Varchar2, item.ZTYPE, ParameterDirection.Input),
new OracleParameter(":ZMSG",OracleDbType.Varchar2, item.ZMSG, ParameterDirection.Input),
new OracleParameter(":GoodsCode",OracleDbType.Varchar2, item.GROES, ParameterDirection.Input),
new OracleParameter(":SAPCode",OracleDbType.Varchar2, item.MATNR, ParameterDirection.Input),
new OracleParameter(":UserCode",OracleDbType.Varchar2, item.ZGHNU, ParameterDirection.Input),
new OracleParameter(":OrderCode",OracleDbType.Varchar2, (string.IsNullOrEmpty(item.VBELN) ? " " : item.VBELN), ParameterDirection.Input),
new OracleParameter(":OrderItem",OracleDbType.Varchar2, (string.IsNullOrEmpty(posnr) ? "0" : posnr), ParameterDirection.Input),
};
r = oracleTrConn.ExecuteNonQuery(sqlString, oracleParameter);
}
//:msg||chr(13)||DataMSG
result.ZMSG = $"{result.ZMSG}({sapParameter.ZSUM})";
sqlString = "update tsap_hegii_datalog t set t.EndTime = sysdate, DataStuts = :DataStuts, DataMSG =nvl2(:msg,:msg||' '||chr(13)||DataMSG,DataMSG) where logid = :logid";
oracleParameter = new OracleParameter[]
{
new OracleParameter(":DataStuts",OracleDbType.Varchar2, result.ZTYPE, ParameterDirection.Input),
new OracleParameter(":msg",OracleDbType.Varchar2, result.ZMSG, ParameterDirection.Input),
new OracleParameter(":logid",OracleDbType.Int32, logid, ParameterDirection.Input),
};
r = oracleTrConn.ExecuteNonQuery(sqlString, oracleParameter);
}
if (result.ZTYPE != "S")
{
sre.Result = -2;
sre.Message = "同步产量失败," + result.ZMSG;
return sre;
}
//sqlString =
//"UPDATE tp_pm_groutingdailydetail bar\n" +
//" SET bar.issync = NULL\n" +
//" WHERE 1 = 1" + fifter;
//r = oracleTrConn.ExecuteNonQuery(sqlString);
//*/
#endregion
#endregion
sre.Result = 1;
oracleTrConn.Commit();
oracleTrConn.Disconnect();
return sre;
}
catch (Exception ex)
{
if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
{
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
}
throw ex;
}
finally
{
if (oracleTrConn.ConnState == ConnectionState.Open)
{
oracleTrConn.Disconnect();
}
}
}
#endregion
}
}