프로젝트

일반

사용자정보

개정판 ddc1c369

IDddc1c3698212d6d252112170ca9fcd92b92d9cae
상위 3b2a2291
하위 81bdaeed

이지연이(가) 3년 이상 전에 추가함

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