From f5f65379fc47a5cfd692baeccef0af1c26f7a723 Mon Sep 17 00:00:00 2001 From: guojhb Date: Wed, 17 Jan 2024 16:35:18 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SRC/MEStc_SXS/tcENT/clsENT.cs | 393 +++++++++++++++++++++++++++++++--- SRC/wsSXS/wsSXS.csproj.user | 2 +- 2 files changed, 370 insertions(+), 25 deletions(-) diff --git a/SRC/MEStc_SXS/tcENT/clsENT.cs b/SRC/MEStc_SXS/tcENT/clsENT.cs index 2af6c9d..60e0890 100644 --- a/SRC/MEStc_SXS/tcENT/clsENT.cs +++ b/SRC/MEStc_SXS/tcENT/clsENT.cs @@ -13,7 +13,7 @@ using static iMESCore.Base.iMESConst; using static iMESCore.DataBase.iMESSql; namespace MEStc_SXS { - public class clsENT : IDisposable + public class clsENT : IDisposable { /*不使用modXX,不再使用OleDb * 資料庫相關(建立連線/讀取資料/異動資料),使用data_access_service.dll @@ -32,7 +32,7 @@ namespace MEStc_SXS private string strSQL = ""; private string strSQLAddField; private string strSQLAddValue; - + #region --- Initial Object --- public clsENT() @@ -139,7 +139,7 @@ namespace MEStc_SXS try { - strSQLAddField = "Insert into tblENTSubcontractor (SubcontractorNo, SubcontractorName, IssueState"; + strSQLAddField = "Insert into tblENTSubcontractor_21706 (SubcontractorNo, SubcontractorName, IssueState"; strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0"; if ((Description ?? "") != defString) @@ -190,6 +190,75 @@ namespace MEStc_SXS } + public string AddSubcontractorCustom(string SubcontractorNo, string SubcontractorName, string NotNull, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string Note21706 = defString, string AdditionalXml = "") + { + string AddSubcontractorRet = default(string); + // 此 Function 为用作练习之自定义 Function + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + if (CreateDate == defDateTime) + CreateDate = DateTime.Now; + + try + { + // 插入供货商编号、供货商名称、签核状态、自定义非空字段 + strSQLAddField = "Insert into tblENTSubcontractor_21706 (SubcontractorNo, SubcontractorName, IssueState, NotNull"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0, '" + NotNull + "'"; + + // 插入描述、创建人、创建日期、自定义字段 + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if ((Creator ?? "") != defString) + { + strSQLAddField += ",Creator"; + strSQLAddValue += ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField += ",CreateDate"; + strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + if ((Note21706 ?? "") != defString) + { + strSQLAddField += ",Note21706"; + strSQLAddValue += ",'" + Note21706 + "'"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorRet = "success"; + } + catch (Exception e1) + { + AddSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractor: " & e1.Message) + + return AddSubcontractorRet; + + } + public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) { string EditSubcontractorRet = default(string); @@ -200,7 +269,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractor Set "; + strSQL = "Update tblENTSubcontractor_21706 Set "; if ((SubcontractorName ?? "") != defString) { @@ -264,6 +333,93 @@ namespace MEStc_SXS return EditSubcontractorRet; } + + public string EditSubcontractorCustom(string SubcontractorNo, string SubcontractorName = defString, string NotNull = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime), string Note21706 = defString) + { + string EditSubcontractorRet = default(string); + // 此 Function 为用作练习之自定义 Function + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractor_21706 Set "; + + if ((SubcontractorName ?? "") != defString) + { + strSQL += "SubcontractorName = '" + SubcontractorName + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + + // 以下为自定义字段 + if ((NotNull ?? "") != defString) + { + strSQL += "NotNull = '" + NotNull + "',"; + } + if ((Note21706 ?? "") != defString) + { + strSQL += "Note21706 = '" + Note21706 + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractor: " & e1.Message) + + return EditSubcontractorRet; + + } + public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "") { string DelSubcontractorRet = default(string); @@ -275,11 +431,11 @@ namespace MEStc_SXS try { // 1. 刪除Contactor - strSQL = "Delete From tblENTSubcontractorCont " + "Where SubcontractorNo='" + SubcontractorNo + "'"; + strSQL = "Delete From tblENTSubcontractorCont_21706 " + "Where SubcontractorNo='" + SubcontractorNo + "'"; CollectionSQL.Add(strSQL); // 2. 刪除主檔 - strSQL = "Delete From tblENTSubcontractor " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; + strSQL = "Delete From tblENTSubcontractor_21706 " + " Where SubcontractorNo ='" + SubcontractorNo + "'"; if (!string.IsNullOrEmpty(AdditionalXml)) { @@ -323,7 +479,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractor_21706 Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { @@ -342,10 +498,10 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21706", cnnTemp); // //Combine return value - LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor_21706", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); } catch (Exception e1) @@ -383,7 +539,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractor_21706 Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { @@ -402,7 +558,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21706", cnnTemp); // //Return data ShowSubcontractorRet = dsENT; @@ -443,7 +599,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractor_21706 Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { @@ -462,7 +618,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor_21706", cnnTemp); // //Return data if (dsENT.Tables[0].Rows.Count > 0) @@ -503,7 +659,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractor Set IssueState = " + IssueState + ","; + strSQL = "Update tblENTSubcontractor_21706 Set IssueState = " + IssueState + ","; if (Reviser != defString) strSQL = strSQL + "Reviser = '" + Reviser + "',"; @@ -554,7 +710,7 @@ namespace MEStc_SXS try { - strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName"; + strSQLAddField = "Insert into tblENTSubcontractorCont_21706 (SubcontractorNo, ContactorName"; strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; if ((TelNo ?? "") != defString) @@ -630,6 +786,98 @@ namespace MEStc_SXS } + public string AddSubcontractorContCustom(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime), string Note21706 = defString) + { + string AddSubcontractorContRet = default(string); + // 此 Function 为用作练习之自定义 Function + // 此 Function 將新增一筆資料 + // 傳入值: 各欄位新增值 + // 傳回值: success(成功), fail(失敗) + + try + { + strSQLAddField = "Insert into tblENTSubcontractorCont_21706 (SubcontractorNo, ContactorName"; + strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'"; + + if ((TelNo ?? "") != defString) + { + strSQLAddField += ",TelNo"; + strSQLAddValue += ",'" + TelNo + "'"; + } + if ((FaxNo ?? "") != defString) + { + strSQLAddField += ",FaxNo"; + strSQLAddValue += ",'" + FaxNo + "'"; + } + if ((Title ?? "") != defString) + { + strSQLAddField += ",Title"; + strSQLAddValue += ",'" + Title + "'"; + } + if ((Address ?? "") != defString) + { + strSQLAddField += ",Address"; + strSQLAddValue += ",'" + Address + "'"; + } + if ((EMail ?? "") != defString) + { + strSQLAddField += ",EMail"; + strSQLAddValue += ",'" + EMail + "'"; + } + if ((Description ?? "") != defString) + { + strSQLAddField += ",Description"; + strSQLAddValue += ",'" + Description + "'"; + } + if (Creator != defString) + { + strSQLAddField = strSQLAddField + ",Creator"; + strSQLAddValue = strSQLAddValue + ",'" + Creator + "'"; + } + if (CreateDate != defDateTime) + { + strSQLAddField = strSQLAddField + ",CreateDate"; + strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')"; + } + // 以下为自定义字段 + if ((Note21706 ?? "") != defString) + { + strSQLAddField += ",Note21706"; + strSQLAddValue += ",'" + Note21706 + "'"; + } + + if (string.IsNullOrEmpty(AdditionalXml)) + { + // 當沒有額外的欄位時,直接給定strSQL + strSQL = strSQLAddField + ")" + strSQLAddValue + ")"; + } + + else + { + // 加上additional的field & value 後傳回 + strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml); + + } + + // //執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL); + + // //Return success + AddSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + AddSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.AddSubcontractorCont: " & e1.Message) + + return AddSubcontractorContRet; + + } + public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime)) { @@ -642,7 +890,7 @@ namespace MEStc_SXS try { // 先給定strSQL一定有的欄位 - strSQL = "Update tblENTSubcontractorCont Set "; + strSQL = "Update tblENTSubcontractorCont_21706 Set "; if ((TelNo ?? "") != defString) { @@ -723,6 +971,103 @@ namespace MEStc_SXS } + public string EditSubcontractorContCustom(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime), string Note21706 = defString) + { + string EditSubcontractorContRet = default(string); + // 此 Function 为用作练习之自定义 Function + // 此 Function 將修改一筆資料 + // 傳入值: 各欄位修改值 + // 傳回值: success(成功), fail(失敗) + + try + { + // 先給定strSQL一定有的欄位 + strSQL = "Update tblENTSubcontractorCont_21706 Set "; + + if ((TelNo ?? "") != defString) + { + strSQL += "TelNo = '" + TelNo + "',"; + } + if ((FaxNo ?? "") != defString) + { + strSQL += "FaxNo = '" + FaxNo + "',"; + } + if ((Title ?? "") != defString) + { + strSQL += "Title = '" + Title + "',"; + } + if ((Address ?? "") != defString) + { + strSQL += "Address = '" + Address + "',"; + } + if ((EMail ?? "") != defString) + { + strSQL += "EMail = '" + EMail + "',"; + } + if ((Description ?? "") != defString) + { + strSQL += "Description = '" + Description + "',"; + } + // 以下为自定义字段 + if ((Note21706 ?? "") != defString) + { + strSQL += "Note21706 = '" + Note21706 + "',"; + } + + if (Reviser != defString) + strSQL = strSQL + "Reviser = '" + Reviser + "',"; + + if (ReviseDate != defDateTime) + strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),"; + + if (DataStamp != defInteger) + strSQL = strSQL + "DataStamp = DataStamp + 1 ,"; + + // 有額外的欄位時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的field & value + strSQL += SeparateAddXML_Edit(AdditionalXml); + } + + // 去除strSQL中最後一個 "," + if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位 + { + if (Strings.Right(strSQL, 1) == ",") + { + strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1); + } + + strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'"; + strSQL = strSQL + " And DataStamp = '" + DataStamp + "'"; + + // 有額外的條件式時再Append進原來的strSQL中 + if (!string.IsNullOrEmpty(AdditionalXml)) + { + // 加上additional的condition + strSQL += SeparateAddXML_Condition(AdditionalXml); + } + + // 呼叫執行SQL指令 + ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true); + } + + // //Return success + EditSubcontractorContRet = "success"; + } + + catch (Exception e1) + { + EditSubcontractorContRet = "fail"; + // 發生錯誤時丟回本身的Function Name及系統錯誤訊息 + throw; + + } // New Exception("kcENT.EditSubcontractorCont: " & e1.Message) + + return EditSubcontractorContRet; + + } + public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "") { string DelSubcontractorContRet = default(string); @@ -732,7 +1077,7 @@ namespace MEStc_SXS try { - strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'"; + strSQL = "Delete From tblENTSubcontractorCont_21706 " + " Where SubcontractorNo='" + SubcontractorNo + "'"; if ((ContactorName ?? "") != defString) { @@ -779,7 +1124,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractorCont_21706 Where SubcontractorNo Is Not Null"; // 有傳入SubcontractorNo表示只取該SubcontractorNo之資料 if ((SubcontractorNo ?? "") != defString) @@ -799,10 +1144,10 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21706", cnnTemp); // //Combine return value - LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); + LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont_21706", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), ""); } catch (Exception e1) @@ -841,7 +1186,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractorCont_21706 Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; @@ -859,7 +1204,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21706", cnnTemp); // //Return data ShowSubcontractorContRet = dsENT; @@ -901,7 +1246,7 @@ namespace MEStc_SXS // //Create connection cnnTemp = CreateConnection(strConnectionString); - strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null"; + strSQL = "Select * From tblENTSubcontractorCont_21706 Where SubcontractorNo Is Not Null"; if ((SubcontractorNo ?? "") != defString) { strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'"; @@ -919,7 +1264,7 @@ namespace MEStc_SXS // //Select data dsENT = new DataSet(); - ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp); + ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont_21706", cnnTemp); // //Return data if (dsENT.Tables[0].Rows.Count > 0) diff --git a/SRC/wsSXS/wsSXS.csproj.user b/SRC/wsSXS/wsSXS.csproj.user index 3c48538..f5460a5 100644 --- a/SRC/wsSXS/wsSXS.csproj.user +++ b/SRC/wsSXS/wsSXS.csproj.user @@ -1,6 +1,6 @@  - E:\code\SRC\MES_S_DLL\ + E:\code\SRC\MES_S_DLL\;E:\Project\digihua\iMES\SYS20240115\SRC\MES_S_DLL\;E:\Project\digihua\iMES\SYS20240115\SRC\MEStc_SXS\ \ No newline at end of file