프로젝트

일반

사용자정보

개정판 08b33e44

ID08b33e449252adf75c32c4b707a166884581a271
상위 6f404d45
하위 8d4723aa

gaqhf 이(가) 약 3년 전에 추가함

issue #000: No Pocket 기능 추가

Change-Id: Ia571ce289d700882397361a8a2040d631ea2d7a4

차이점 보기:

DTI_PID/ID2PSN/DB.cs
174 174
                    dicColCheck.Add("PBS", "NVARCHAR(255)");
175 175
                    dicColCheck.Add("Drawings", "NVARCHAR(255)");
176 176
                    dicColCheck.Add("IncludingVirtualData", "NVARCHAR(10)");
177
                    dicColCheck.Add("PSNAccuracy", "REAL"); 
178

  
177
                    dicColCheck.Add("PSNAccuracy", "REAL");
178
                    dicColCheck.Add("Pocket", "NVARCHAR(10)");
179
                    
179 180
                    if (matched == null)
180 181
                    {
181 182
                        var query = $"CREATE TABLE {PSN_PIPESYSTEMNETWORK} (OID NVARCHAR(255), Type NVARCHAR(255), OrderNumber NVARCHAR(255), Pipeline_OID NVARCHAR(255), From_Data NVARCHAR(255), " +
182 183
                            "To_Data NVARCHAR(255), TopologySet_OID_Key NVARCHAR(125), PSNRevisionNumber NVARCHAR(255), IsValid INTEGER, Status NVARCHAR(255), PBS NVARCHAR(255), Drawings NVARCHAR(255), " +
183
                            "IncludingVirtualData NVARCHAR(10),  PSNAccuracy REAL)";
184
                            "IncludingVirtualData NVARCHAR(10), PSNAccuracy REAL, Pocket NVARCHAR(10))";
184 185
                        using (var cmd = connection.GetSqlStringCommand(query))
185 186
                        {
186 187
                            cmd.ExecuteNonQuery();
......
1111 1112
            return dt;
1112 1113
        }
1113 1114

  
1115
  
1114 1116
        public static DataTable SelectEquipmentNoPocketSetting()
1115 1117
        {
1116 1118
            DataTable dt = null;
......
1794 1796
                            foreach (DataRow row in item.PipeSystemNetwork.Rows)
1795 1797
                            {
1796 1798
                                query = $"INSERT INTO {PSN_PIPESYSTEMNETWORK} " +
1797
                                    $"(OID, Type, OrderNumber, Pipeline_OID, FROM_DATA, TO_DATA, TopologySet_OID_Key, PSNRevisionNumber, PBS, Drawings, IsValid, Status, IncludingVirtualData, PSNAccuracy) VALUES " +
1798
                                    $"(@OID, @Type, @OrderNumber, @Pipeline_OID, @FROM_DATA, @TO_DATA, @TopologySet_OID_Key, @PSNRevisionNumber,  @PBS, @Drawings, @IsValid, @Status, @IncludingVirtualData, @PSNAccuracy)";
1799
                                    $"(OID, Type, OrderNumber, Pipeline_OID, FROM_DATA, TO_DATA, TopologySet_OID_Key, PSNRevisionNumber, PBS, Drawings, IsValid, Status, IncludingVirtualData, PSNAccuracy, Pocket) VALUES " +
1800
                                    $"(@OID, @Type, @OrderNumber, @Pipeline_OID, @FROM_DATA, @TO_DATA, @TopologySet_OID_Key, @PSNRevisionNumber,  @PBS, @Drawings, @IsValid, @Status, @IncludingVirtualData, @PSNAccuracy, @Pocket)";
1799 1801
                                var cmd = connection.GetSqlStringCommand(query);
1800 1802
                                AddWithValue(cmd, "@OID", string.IsNullOrEmpty(row["OID"].ToString()) ? "" : row["OID"].ToString());
1801 1803
                                AddWithValue(cmd, "@Type", string.IsNullOrEmpty(row["Type"].ToString()) ? "" : row["Type"].ToString());
......
1826 1828
                                else
1827 1829
                                    AddWithValue(cmd, "@PSNAccuracy", row["PSNAccuracy"].ToString().Replace("%", ""));
1828 1830

  
1831
                                AddWithValue(cmd, "@Pocket", string.IsNullOrEmpty(row["Pocket"].ToString()) ? "Yes" : row["Pocket"].ToString());
1832

  
1829 1833
                                connection.ExecuteNonQuery(cmd, txn);
1830 1834
                            }
1831 1835

  
......
2248 2252
                            newRow["IncludingVirtualData"] = row["IncludingVirtualData"].ToString();
2249 2253
                            newRow["PSNAccuracy"] = row["PSNAccuracy"].ToString();
2250 2254

  
2255
                            newRow["Pocket"] = row["Pocket"].ToString();
2256
                            
2251 2257
                            result.PipeSystemNetwork.Rows.Add(newRow);
2252 2258
                        }
2253 2259
                    }
......
2441 2447
                            newRow["Drawings"] = row["Drawings"].ToString();
2442 2448
                            
2443 2449
                            newRow["IncludingVirtualData"] = row["IncludingVirtualData"].ToString();
2444
                            newRow["PSNAccuracy"] = row["PSNAccuracy"].ToString();                                           
2445
                                                        
2450
                            newRow["PSNAccuracy"] = row["PSNAccuracy"].ToString();
2451

  
2452
                            newRow["Pocket"] = row["Pocket"].ToString();
2453
                            
2446 2454
                            dt.Rows.Add(newRow);
2447 2455
                        }
2448 2456
                    }
......
2574 2582
                    dicColCheck.Add("Drawings", "NVARCHAR(255)");
2575 2583
                    dicColCheck.Add("IncludingVirtualData", "NVARCHAR(10)");
2576 2584
                    dicColCheck.Add("PSNAccuracy", "REAL");
2577

  
2585
                    dicColCheck.Add("Pocket", "NVARCHAR(10)");
2586
                    
2578 2587
                    if (matched == null)
2579 2588
                    {
2580 2589
                        var query = $"CREATE TABLE {PSN_PIPESYSTEMNETWORK} (OID NVARCHAR(255), Type NVARCHAR(255), OrderNumber NVARCHAR(255), Pipeline_OID NVARCHAR(255), From_Data NVARCHAR(255), " +
2581 2590
                            "To_Data NVARCHAR(255), TopologySet_OID_Key NVARCHAR(125), PSNRevisionNumber NVARCHAR(255), IsValid INTEGER, Status NVARCHAR(255), PBS NVARCHAR(255), Drawings NVARCHAR(255), " +
2582
                            "IncludingVirtualData NVARCHAR(10),  PSNAccuracy REAL)";
2591
                            "IncludingVirtualData NVARCHAR(10),  PSNAccuracy REAL, Pocket NVARCHAR(10))";
2583 2592
                        using (var cmd = connection.GetSqlStringCommand(query))
2584 2593
                        {
2585 2594
                            cmd.ExecuteNonQuery();
......
3280 3289
                            foreach (DataRow row in item.PipeSystemNetwork.Rows)
3281 3290
                            {
3282 3291
                                query = $"INSERT INTO {PSN_PIPESYSTEMNETWORK} " +
3283
                                    $"(OID, Type, OrderNumber, Pipeline_OID, FROM_DATA, TO_DATA, TopologySet_OID_Key, PSNRevisionNumber, PBS, Drawings, IsValid, Status, IncludingVirtualData, PSNAccuracy) VALUES " +
3284
                                    $"(@OID, @Type, @OrderNumber, @Pipeline_OID, @FROM_DATA, @TO_DATA, @TopologySet_OID_Key, @PSNRevisionNumber,  @PBS, @Drawings, @IsValid, @Status, @IncludingVirtualData, @PSNAccuracy)";
3292
                                    $"(OID, Type, OrderNumber, Pipeline_OID, FROM_DATA, TO_DATA, TopologySet_OID_Key, PSNRevisionNumber, PBS, Drawings, IsValid, Status, IncludingVirtualData, PSNAccuracy, Pocket) VALUES " +
3293
                                    $"(@OID, @Type, @OrderNumber, @Pipeline_OID, @FROM_DATA, @TO_DATA, @TopologySet_OID_Key, @PSNRevisionNumber,  @PBS, @Drawings, @IsValid, @Status, @IncludingVirtualData, @PSNAccuracy, @Pocket)";
3285 3294
                                var cmd = connection.GetSqlStringCommand(query);
3286 3295
                                AddWithValue(cmd, "@OID", string.IsNullOrEmpty(row["OID"].ToString()) ? "" : row["OID"].ToString());
3287 3296
                                AddWithValue(cmd, "@Type", string.IsNullOrEmpty(row["Type"].ToString()) ? "" : row["Type"].ToString());
......
3312 3321
                                else
3313 3322
                                    AddWithValue(cmd, "@PSNAccuracy", row["PSNAccuracy"].ToString().Replace("%", ""));
3314 3323

  
3324
                                AddWithValue(cmd, "@Pocket", string.IsNullOrEmpty(row["Pocket"].ToString()) ? "Yes" : row["Pocket"].ToString());
3315 3325
                                connection.ExecuteNonQuery(cmd, txn);
3316 3326
                            }
3317 3327

  
DTI_PID/ID2PSN/Form/MainForm.cs
344 344
                            || selectRow["PBS"].ToString() != row["PBS"].ToString()
345 345
                            || selectRow["Drawings"].ToString() != row["Drawings"].ToString()
346 346
                            || selectRow["IncludingVirtualData"].ToString() != row["IncludingVirtualData"].ToString()
347
                            || Convert.ToDouble(selectRow["PSNAccuracy"].ToString().Replace("%", "")) != Convert.ToDouble(row["PSNAccuracy"].ToString().Replace("%", "")))
347
                            || Convert.ToDouble(selectRow["PSNAccuracy"].ToString().Replace("%", "")) != Convert.ToDouble(row["PSNAccuracy"].ToString().Replace("%", ""))
348
                            || selectRow["Pocket"].ToString() != row["Pocket"].ToString())
348 349
                        {
349 350
                            bCheck = true;
350 351
                        }
......
522 523
            PSNPageDT.Columns.Add("Status", typeof(string));                    
523 524
            
524 525
            PSNPageDT.Columns.Add("IncludingVirtualData", typeof(string));
525
            PSNPageDT.Columns.Add("PSNAccuracy", typeof(string));      
526
            PSNPageDT.Columns.Add("PSNAccuracy", typeof(string));
527

  
528
            PSNPageDT.Columns.Add("Pocket", typeof(string));
529
            
526 530
            PSNPageDT.Columns.Add("Show", typeof(string));
527 531

  
528 532
            gridControlPSN.DataSource = PSNPageDT;
......
535 539
            gridViewPSN.Columns["PSNRevisionNumber"].Caption = "Revision";
536 540
            gridViewPSN.Columns["Show"].Caption = " ";
537 541
            gridViewPSN.Columns["PSNAccuracy"].DisplayFormat.FormatString = "{ 0:#.##}";
542
            gridViewPSN.Columns["Pocket"].Caption = "Pocket";
538 543
            
539 544
            #region PathItems Table
540 545
            DataTable pathItemsDT = new DataTable();
......
636 641
                newRow["Drawings"] = row["Drawings"].ToString();
637 642
               
638 643
                newRow["IncludingVirtualData"] = row["IncludingVirtualData"].ToString();
639
                newRow["PSNAccuracy"] = String.Format("{0:0.00}", Convert.ToDouble(row["PSNAccuracy"])) + "%";               
644
                newRow["PSNAccuracy"] = String.Format("{0:0.00}", Convert.ToDouble(row["PSNAccuracy"])) + "%";
645

  
646
                newRow["Pocket"] = row["Pocket"].ToString();
647
                
640 648
                PSNPageDT.Rows.Add(newRow);
641 649
            }
642 650

  
DTI_PID/ID2PSN/PSN.cs
357 357
                            }
358 358
                        }
359 359
                    }
360

  
361
                    if(valveitem.GroupType.Contains("PSV"))
362
                    {
363
                        DataRow[] psnRows = PipeSystemNetwork.Select(string.Format("OID = '{0}'", drPathitem["PipeSystemNetwork_OID"].ToString()));
364
                        foreach (DataRow row in psnRows)
365
                            row["Pocket"] = "Yes";
366
                    }
360 367
                }
361 368
            }
362 369
            catch (Exception ex)
......
1124 1131
                pipeSystemNetworkDT.Columns.Add("Status", typeof(string));
1125 1132
                pipeSystemNetworkDT.Columns.Add("IncludingVirtualData", typeof(string));
1126 1133
                pipeSystemNetworkDT.Columns.Add("PSNAccuracy", typeof(string));
1134
                pipeSystemNetworkDT.Columns.Add("Pocket", typeof(string));
1127 1135

  
1128 1136
                DataTable topologySetDT = new DataTable();
1129 1137
                topologySetDT.Columns.Add("OID", typeof(string));
......
1215 1223
                }
1216 1224
                #endregion
1217 1225

  
1226

  
1227
                #region EquipmentNoPocket Info
1228
                EquipmentNoPocketInfo EquipmentNoPocket = new EquipmentNoPocketInfo();
1229
                DataTable dtEquipmentNoPocket = DB.SelectEquipmentNoPocketSetting();
1230
                foreach (DataRow row in dtEquipmentNoPocket.Rows)
1231
                {
1232
                    EquipmentNoPocket.EquipmentNoPocketItem.Add(new EquipmentNoPocketItem()
1233
                    {
1234
                        Index = Convert.ToInt32(row["INDEX"]),
1235
                        Type = row["TYPE"].ToString(),
1236
                        Name = row["NAME"].ToString()
1237
                    });
1238
                }
1239
                #endregion
1240

  
1218 1241
                // key = 미입력 branch
1219 1242
                Dictionary<Item, Item> startBranchDic = new Dictionary<Item, Item>();
1220 1243
                Dictionary<Item, Item> endBranchDic = new Dictionary<Item, Item>();
......
1429 1452
                                    void CreatePipeSystemNetworkDataRow()
1430 1453
                                    {
1431 1454
                                        LineNumber lineNumber = item.Document.LineNumbers.Find(x => x.UID == item.Owner);
1455
                                        string FluidCode = string.Empty;
1432 1456
                                        if (lineNumber != null)
1433 1457
                                        {
1434 1458
                                            List<Attribute> att = lineNumber.Attributes;
1435 1459
                                            if (att != null)
1436 1460
                                            {
1437 1461
                                                List<string> oid = new List<string>();
1438
                                                string FluidCode = att.Where(x => x.Name.ToUpper().Equals("FLUIDCODE")).FirstOrDefault() != null ? att.Where(x => x.Name.ToUpper().Equals("FLUIDCODE")).FirstOrDefault().Value : string.Empty;
1462
                                                FluidCode = att.Where(x => x.Name.ToUpper().Equals("FLUIDCODE")).FirstOrDefault() != null ? att.Where(x => x.Name.ToUpper().Equals("FLUIDCODE")).FirstOrDefault().Value : string.Empty;
1439 1463
                                                string PMC = lineNumber.Attributes.Where(x => x.Name.ToUpper().Equals("PIPINGMATERIALSCLASS")).FirstOrDefault() != null ? lineNumber.Attributes.Where(x => x.Name.ToUpper().Equals("PIPINGMATERIALSCLASS")).FirstOrDefault().Value : string.Empty;
1440 1464
                                                string SEQNUMBER = lineNumber.Attributes.Where(x => x.Name.ToUpper().Equals("TAG SEQ NO")).FirstOrDefault() != null ? lineNumber.Attributes.Where(x => x.Name.ToUpper().Equals("TAG SEQ NO")).FirstOrDefault().Value : string.Empty;
1441 1465
                                                string INSULATION = lineNumber.Attributes.Where(x => x.Name.ToUpper().Equals("INSULATIONPURPOSE")).FirstOrDefault() != null ? lineNumber.Attributes.Where(x => x.Name.ToUpper().Equals("INSULATIONPURPOSE")).FirstOrDefault().Value : string.Empty;
......
1547 1571

  
1548 1572
                                            }
1549 1573

  
1550

  
1551

  
1552 1574
                                            if (dr != null)
1553 1575
                                            {
1554 1576
                                                newRow["FROM_DATA"] = dr.Field<string>("FROM_DATA");
......
1594 1616
                                        //    return;
1595 1617
                                        //newRow["IncludingVirtualData"] = "No";
1596 1618
                                        newRow["PSNAccuracy"] = "100";
1619

  
1620
                                        string Pocket = "No";
1621
                                        string Condition = PSNFluidDT.Select(string.Format("Code = '{0}'", FluidCode)).FirstOrDefault().Field<string>("Condition");
1622
                                        if (Condition.Equals("Flare"))
1623
                                            Pocket = "Yes";
1624

  
1625
                                        if (PSNItem.StartType == PSNType.Equipment) //From은 Pump 제외
1626
                                        {
1627
                                          //  string itemName = From_item.Name;
1628
                                            Equipment Equipment = From_item.Equipment;
1629
                                            EquipmentNoPocketItem nopocket = EquipmentNoPocket.EquipmentNoPocketItem.Where(x => x.Name == Equipment.Name && x.Type != "Pump(To)").FirstOrDefault();
1630
                                            if(nopocket != null)
1631
                                            {
1632
                                                Pocket = "Yes";
1633
                                            }
1634
                                        }
1635

  
1636
                                        if (PSNItem.EndType == PSNType.Equipment) //To는 전체
1637
                                        {
1638
                                           // string itemName = To_item.Name;
1639
                                            Equipment Equipment = To_item.Equipment;
1640
                                            EquipmentNoPocketItem nopocket = EquipmentNoPocket.EquipmentNoPocketItem.Where(x => x.Name == Equipment.Name).FirstOrDefault();
1641
                                            if (nopocket != null)
1642
                                            {
1643
                                                Pocket = "Yes";
1644
                                            }
1645
                                        }
1646

  
1647
                                        newRow["Pocket"] = Pocket;
1648
                                        
1597 1649
                                        pipeSystemNetworkDT.Rows.Add(newRow);
1598 1650
                                    }
1599 1651
                                }
......
2511 2563
                IsKeyword = false;
2512 2564
            try
2513 2565
            {
2566
                item = Groups.First().Items.First();
2567

  
2514 2568
                if (StartType == PSNType.Header)
2515 2569
                    result = "ENDOFHEADER";
2516 2570
                else if (StartType == PSNType.Branch)
2517 2571
                {
2518

  
2519
                    item = Groups.First().Items.First();
2520 2572
                    //if (!item.MissingLineNumber && item.Relations.First().Item.LineNumber != null && !string.IsNullOrEmpty(item.Relations.First().Item.LineNumber.Name))
2521 2573
                    if (!item.MissingLineNumber2)
2522 2574
                        result = item.Relations.First().Item.LineNumber.Name;
......
2634 2686
            if (IsKeyword)
2635 2687
                IsKeyword = false;
2636 2688

  
2689
            item = Groups.Last().Items.Last();
2690

  
2637 2691
            if (EndType == PSNType.Header)
2638 2692
                result = "ENDOFHEADER";
2639 2693
            else if (EndType == PSNType.Branch)
2640 2694
            {
2641 2695

  
2642
                item = Groups.Last().Items.Last();
2696
                
2643 2697
                //if (!item.MissingLineNumber && item.Relations.Last().Item.LineNumber != null && !string.IsNullOrEmpty(item.Relations.Last().Item.LineNumber.Name))
2644 2698
                if (!item.MissingLineNumber2)
2645 2699
                    result = item.Relations.Last().Item.LineNumber.Name;

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)