개정판 08b33e44
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