개정판 ddc1c369
issue #000: UI 추가중, Pathitems 안나오는 현상 수정, PipeSystemNetwork Table 열추가 및 해당 데이터 관련 Save, load 수정
Change-Id: Iae7d0dcb99a4710bfecc5782c840b8a9e22731ab
DTI_PID/ID2PSN/DB.cs | ||
---|---|---|
14 | 14 |
const string PSN_HEADER_SETTING = "T_PSN_HEADER_SETTING"; |
15 | 15 |
const string PSN_VENTDRAIN_SETTING = "T_PSN_VENTDRAIN_SETTING"; |
16 | 16 |
const string PSN_VIEW = "T_PSN_VIEW"; |
17 |
const string PSN_TRANSFORMKEYWORD_SETTING = "T_PSN_TRANSFORMKEYWORD_SETTING"; |
|
17 | 18 | |
18 | 19 |
const string PSN_PATHITEMS = "SPPIDPathItem"; |
19 | 20 |
const string PSN_SEQUENCEDATA = "SPPIDSequenceData"; |
... | ... | |
148 | 149 |
{ |
149 | 150 |
var query = $"CREATE TABLE {PSN_PIPESYSTEMNETWORK} (OID NVARCHAR(50), Type NVARCHAR(20), OrderNumber NVARCHAR(20), Pipeline_OID NVARCHAR(125), FROM_DATA NVARCHAR(255), " + |
150 | 151 |
"TO_DATA NVARCHAR(255), TopologySet_OID_Key NVARCHAR(125), PSNRevisionNumber NVARCHAR(255), PBS NVARCHAR(255), PIDDrawings NVARCHAR(255), " + |
151 |
"Validity INTEGER, Status NVARCHAR(255))"; |
|
152 |
"Validity INTEGER, Status NVARCHAR(255), IncludingVirtualData NVARCHAR(10), PSNAccuracy REAL)";
|
|
152 | 153 |
using (var cmd = connection.GetSqlStringCommand(query)) |
153 | 154 |
{ |
154 | 155 |
cmd.ExecuteNonQuery(); |
... | ... | |
215 | 216 |
cmd.ExecuteNonQuery(); |
216 | 217 |
} |
217 | 218 |
} |
219 |
|
|
220 |
matched = names.FirstOrDefault(param => param == PSN_TRANSFORMKEYWORD_SETTING); |
|
221 |
if (matched == null) |
|
222 |
{ |
|
223 |
var query = $"CREATE TABLE {PSN_TRANSFORMKEYWORD_SETTING} (KEYWORD_ID NVARCHAR(125), KeyWord NVARCHAR(255), Description NVARCHAR(255), Remarks NVARCHAR(255), TargetSymbol NVARCHAR(255))"; |
|
224 |
using (var cmd = connection.GetSqlStringCommand(query)) |
|
225 |
{ |
|
226 |
cmd.ExecuteNonQuery(); |
|
227 |
} |
|
228 |
} |
|
229 | ||
218 | 230 |
result = true; |
219 | 231 |
} |
220 | 232 |
catch (Exception ex) |
... | ... | |
655 | 667 |
return dt; |
656 | 668 |
} |
657 | 669 | |
670 |
public static DataTable SelectKeywordsSetting() |
|
671 |
{ |
|
672 |
DataTable dt = null; |
|
673 |
ID2Info id2Info = ID2Info.GetInstance(); |
|
674 | ||
675 |
using (IAbstractDatabase connection = id2Info.CreateConnection(ID2DB_Type.SQLite)) |
|
676 |
{ |
|
677 |
try |
|
678 |
{ |
|
679 |
var query = $@"SELECT KEYWORD_ID, KeyWord, Description, Remarks, TargetSymbol FROM {PSN_TRANSFORMKEYWORD_SETTING};"; |
|
680 |
using (var ds = connection.ExecuteDataSet(connection.GetSqlStringCommand(query))) |
|
681 |
{ |
|
682 |
dt = ds.Tables[0].Copy(); |
|
683 |
} |
|
684 |
} |
|
685 |
catch (Exception ex) |
|
686 |
{ |
|
687 |
Log.Write(ex.Message + "\r\n" + ex.StackTrace); |
|
688 |
} |
|
689 |
} |
|
690 | ||
691 |
return dt; |
|
692 |
} |
|
693 | ||
658 | 694 |
public static bool SaveHeaderSetting(List<HeaderInfo> headerInfos) |
659 | 695 |
{ |
660 | 696 |
ID2Info id2Info = ID2Info.GetInstance(); |
... | ... | |
728 | 764 |
return true; |
729 | 765 |
} |
730 | 766 | |
767 |
public static bool SaveKeywordsSetting(List<KeywordInfo> keywordInfos) |
|
768 |
{ |
|
769 |
ID2Info id2Info = ID2Info.GetInstance(); |
|
770 |
using (IAbstractDatabase connection = id2Info.CreateConnection(ID2DB_Type.SQLite)) |
|
771 |
{ |
|
772 |
using (var txn = connection.BeginTransaction()) |
|
773 |
{ |
|
774 |
try |
|
775 |
{ |
|
776 |
var query = $"DELETE FROM {PSN_VENTDRAIN_SETTING}"; |
|
777 |
connection.ExecuteNonQuery(connection.GetSqlStringCommand(query), txn); |
|
778 | ||
779 |
foreach (KeywordInfo keywordInfo in keywordInfos) |
|
780 |
{ |
|
781 |
foreach (KeywordItem KeywordIItem in keywordInfo.KeywordItems) |
|
782 |
{ |
|
783 |
query = $"INSERT INTO {PSN_VENTDRAIN_SETTING} VALUES (@KEYWORD_ID, @KeyWord, @Description, @Remarks, @TargetSymbol)"; |
|
784 |
var cmd = connection.GetSqlStringCommand(query); |
|
785 |
AddWithValue(cmd, "@KEYWORD_ID", keywordInfo.UID); |
|
786 |
AddWithValue(cmd, "@KeyWord", keywordInfo.KeyWord); |
|
787 |
AddWithValue(cmd, "@Description", keywordInfo.Description); |
|
788 |
AddWithValue(cmd, "@Remarks", KeywordIItem.Remarks); |
|
789 |
AddWithValue(cmd, "@TargetSymbol", KeywordIItem.TargetSymbol); |
|
790 |
connection.ExecuteNonQuery(cmd, txn); |
|
791 |
} |
|
792 |
} |
|
793 |
} |
|
794 |
catch (Exception ex) |
|
795 |
{ |
|
796 |
Log.Write(ex.Message + "\r\n" + ex.StackTrace); |
|
797 |
return false; |
|
798 |
} |
|
799 |
} |
|
800 |
} |
|
801 | ||
802 |
return true; |
|
803 |
} |
|
804 | ||
731 | 805 |
public static bool SaveTopologyRule(DataTable dt) |
732 | 806 |
{ |
733 | 807 |
ID2Info id2Info = ID2Info.GetInstance(); |
... | ... | |
902 | 976 |
connection.ExecuteNonQuery(connection.GetSqlStringCommand(query), txn); |
903 | 977 |
foreach (DataRow row in item.PipeSystemNetwork.Rows) |
904 | 978 |
{ |
905 |
query = $"INSERT INTO {PSN_PIPESYSTEMNETWORK} VALUES (@OID, @Type, @OrderNumber, @Pipeline_OID, @FROM_DATA, @TO_DATA, @TopologySet_OID_Key, @PSNRevisionNumber, @PBS, @PIDDrawings, @Validity, @Status)"; |
|
979 |
query = $"INSERT INTO {PSN_PIPESYSTEMNETWORK} VALUES (@OID, @Type, @OrderNumber, @Pipeline_OID, @FROM_DATA, @TO_DATA, @TopologySet_OID_Key, @PSNRevisionNumber, " + |
|
980 |
$"@PBS, @PIDDrawings, @Validity, @Status, @IncludingVirtualData, @PSNAccuracy)"; |
|
906 | 981 |
var cmd = connection.GetSqlStringCommand(query); |
907 | 982 |
AddWithValue(cmd, "@OID", row["OID"].ToString()); |
908 | 983 |
AddWithValue(cmd, "@Type", row["Type"].ToString()); |
... | ... | |
923 | 998 |
Validity = -1; |
924 | 999 |
AddWithValue(cmd, "@Validity", Validity); |
925 | 1000 |
AddWithValue(cmd, "@Status", row["Status"].ToString()); |
1001 |
AddWithValue(cmd, "@IncludingVirtualData", row["IncludingVirtualData"].ToString()); |
|
1002 |
AddWithValue(cmd, "@PSNAccuracy", row["PSNAccuracy"].ToString()); |
|
926 | 1003 |
connection.ExecuteNonQuery(cmd, txn); |
927 | 1004 |
} |
928 | 1005 | |
... | ... | |
1187 | 1264 |
newRow["Validity"] = Validity; |
1188 | 1265 | |
1189 | 1266 |
newRow["Status"] = row["Status"].ToString(); |
1267 |
newRow["IncludingVirtualData"] = row["IncludingVirtualData"].ToString(); |
|
1268 |
newRow["PSNAccuracy"] = row["PSNAccuracy"].ToString(); |
|
1269 | ||
1190 | 1270 |
result.PipeSystemNetwork.Rows.Add(newRow); |
1191 | 1271 |
} |
1192 | 1272 |
} |
... | ... | |
1347 | 1427 |
newRow["Validity"] = Validity; |
1348 | 1428 | |
1349 | 1429 |
newRow["Status"] = row["Status"].ToString(); |
1430 |
newRow["IncludingVirtualData"] = row["IncludingVirtualData"].ToString(); |
|
1431 |
newRow["PSNAccuracy"] = row["PSNAccuracy"].ToString(); |
|
1350 | 1432 |
dt.Rows.Add(newRow); |
1351 | 1433 |
} |
1352 | 1434 |
} |
내보내기 Unified diff