pupublic void DoRemove()
{
var c = HttpContext.Current;
NameValueCollection nvc = c.Request.Form;
OracleConnection conn = new OracleConnection(DBService.ConnectionString(DBLINK));//
OracleCommand cmd = new OracleCommand();
OracleDataReader reader;
var response = Request.CreateResponse();
conn.Open();
string Tmp_RtnMsg;
try
{
conn.ClientInfo = User.Identity.Name;
conn.ModuleName = BaseSYS + "_" + BaseMODID;
conn.ActionName = ActionName;
cmd.Connection = conn;
string Tmp_Sql = "";
string Tmp_out_FName = "V20306_系統件除帳_log.txt"; //處理_log.txt
string documentPath=HttpContext.Current.Server.MapPath("~") +"document\\"; //取得實實的路徑
string Tmp_out_pFName = documentPath + Tmp_out_FName; //含 path 的Filename
if (File.Exists(Tmp_out_pFName))
{
File.Delete(Tmp_out_pFName);
}
//將 table 字串轉成 DataTable
//DataTable DataTable1 = (DataTable)JsonConvert.DeserializeObject(Tmp_DataString1, (typeof(DataTable)));
string Tmp_DataString1 = nvc["DataString1"]; //Tmp_DataString: 將目前子畫面的資料. JSON字串
DataTable dt1 = myfunc.JSON2dt(Tmp_DataString1);
//每筆資料列印後, 不分頁列印下一筆
string Tmp_FMNO;
string Tmp_Str, Tmp_RPNOAF, Tmp_CSM_TYPEAF, Tmp_FM_TYPEAF;
//using (StreamWriter sw = new StreamWriter(Tmp_out_pFName)) //小寫TXT
//不用 sw, 改用File.AppendText(Tmp_out_pFName,Tmp_Str)
{
for (var i = 0; i < dt1.Rows.Count; i++)
{
Tmp_FMNO = dt1.Rows[i]["FMNO"].ToString();
Tmp_Sql = " SELECT A.RPNOAF,A.TYPEAF as CSM_TYPEAF,B.TYPEAF as FM_TYPEAF "
+ " FROM CSM_AF@TLS_245 A, AMM_FM B "
+ " WHERE A.RPNOAF = nvl(B.MRPNOAF, B.RPNOAF) "
+ " AND B.FMNO = " + myfunc.AA(Tmp_FMNO);
Tmp_Str = myfunc.SqlValue(Tmp_Sql);
Tmp_RPNOAF = myfunc.StrExtract(Tmp_Str, 1);
Tmp_CSM_TYPEAF = myfunc.StrExtract(Tmp_Str, 2);
Tmp_FM_TYPEAF = myfunc.StrExtract(Tmp_Str, 3);
if (Tmp_CSM_TYPEAF != Tmp_FM_TYPEAF)
{
Tmp_Str = "交修單號(" + Tmp_RPNOAF + ")"
+ " AMM約別(" + Tmp_FM_TYPEAF + ") "
+ "和 TLS的約別(" + Tmp_CSM_TYPEAF + ") 不同 ,"
+ "敬請檢核!!<br>";
// //sw.WriteLine(Tmp_Str);
File.AppendAllText(Tmp_out_pFName, Tmp_Str); //不用 sw , 改用 File.AppendAllText
}
}// for (var i = 0; i < dt1.Rows.Count; i++)
// sw.Close才會實際寫入檔案(Tmp_out_pFName)
// //sw.Close();
//讀取檔案的文字內容 , 若內容>0 ,郥 success : false , 傳回檔案內容
//string Tmp_FStr = File.ReadAllText(Tmp_out_pFName);
//if (Tmp_FStr.Length>0)
//{
// Tmp_RtnMsg = "[確認除帳]失敗 !! <br>"
// + Tmp_FStr;
// response.Content = new StringContent("{success: false,Rtn_Msg:" + Tmp_RtnMsg+ "}"); // 回應內容
//}
//else
// response.Content = new StringContent("{success: true,Rtn_Msg:約別正確}"); // 回應內容
//return response;
////FileInfo fileInfo = new FileInfo(Tmp_out_pFName);
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=\"" + HttpUtility.UrlEncode((string)Tmp_out_FName, System.Text.Encoding.UTF8) + "\"");
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "text/plain";
////HttpContext.Current.Response.BinaryWrite(ms.ToArray());
HttpContext.Current.Response.WriteFile(Tmp_out_pFName);
//////包裝標籤檔產生完成
////Tmp_Str = "產生包裝匯出檔案成功<br>"
//// + "(" + FileName + ")<br>";
////MyCookie = new HttpCookie("EX_DFile", HttpUtility.UrlEncode(Tmp_Str));
////HttpContext.Current.Response.Cookies.Add(MyCookie);
HttpContext.Current.Response.End();
};// using
} // end of try
catch (Exception e)
{
string Tmp_msg;
Tmp_msg = myfunc.Get1ORA(e.Message);
Tmp_RtnMsg = "[確認除帳]失敗 !! <br>"
+ Tmp_msg;
//response.Content = new StringContent("{'success': false,'Rtn_Msg':'" + Tmp_RtnMsg + "'}"); // 回應內容
//return response;
}
finally
{
conn.Close();
}
} // end of DoRemove