C2025-024 Electronic Procedures Phase 2 - XML Export
Multi-Unit Resolution, and Fix RO Annotation resolution in Text
This commit is contained in:
@@ -128,10 +128,6 @@ namespace VEPROMS
|
|||||||
MyProcedure = procedureInfo;
|
MyProcedure = procedureInfo;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.Text = mode + " Dialog for " + procedureInfo.DisplayNumber;
|
this.Text = mode + " Dialog for " + procedureInfo.DisplayNumber;
|
||||||
|
|
||||||
//Preset path for single procedures.
|
|
||||||
PEIPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\PEI_" + Database.VEPROMS_SqlConnection.Database;
|
|
||||||
txtExport.Text = string.Format(@"{0}\{1}.pxml", PEIPath, MyProcedure.DisplayNumber.Replace("/", "_").Replace("\\", "_"));
|
|
||||||
_UnitIndex = unitIndex;
|
_UnitIndex = unitIndex;
|
||||||
|
|
||||||
if (_UnitIndex > 0)
|
if (_UnitIndex > 0)
|
||||||
@@ -140,6 +136,10 @@ namespace VEPROMS
|
|||||||
MyProcedure.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex;
|
MyProcedure.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = _UnitIndex;
|
||||||
FormClosed += RemoveUnit_OnClose;
|
FormClosed += RemoveUnit_OnClose;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Preset path for single procedures.
|
||||||
|
PEIPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\PEI_" + Database.VEPROMS_SqlConnection.Database;
|
||||||
|
txtExport.Text = string.Format(@"{0}\{1}.pxml", PEIPath, MyProcedure.DisplayNumber.Replace("/", "_").Replace("\\", "_"));
|
||||||
}
|
}
|
||||||
private void dlgExportImport_Load(object sender, EventArgs e)
|
private void dlgExportImport_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -1972,23 +1972,29 @@ namespace VEPROMS
|
|||||||
private string ResolveMultiUnitROs(ContentInfo ci)
|
private string ResolveMultiUnitROs(ContentInfo ci)
|
||||||
{
|
{
|
||||||
string ciText = ci.Text;
|
string ciText = ci.Text;
|
||||||
|
DocVersionInfo docver = null;
|
||||||
if (_UnitIndex != 0 && ci.ContentRoUsageCount > 0)
|
|
||||||
{
|
|
||||||
ROFSTLookup lookup = null;
|
|
||||||
if (MyProcedure?.MyDocVersion != null)
|
if (MyProcedure?.MyDocVersion != null)
|
||||||
{
|
{
|
||||||
lookup = MyProcedure.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyProcedure.MyDocVersion);
|
docver = MyProcedure.MyDocVersion;
|
||||||
}
|
}
|
||||||
else if (MyDocVersion != null)
|
else if (MyDocVersion != null)
|
||||||
{
|
{
|
||||||
lookup = MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyDocVersion);
|
docver = MyDocVersion;
|
||||||
}
|
}
|
||||||
else if (MyFolder.FolderDocVersions != null && MyFolder.FolderDocVersions.Count > 0)
|
else if (MyFolder.FolderDocVersions != null && MyFolder.FolderDocVersions.Count > 0)
|
||||||
{
|
{
|
||||||
lookup = MyFolder.FolderDocVersions[0].DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyFolder.FolderDocVersions[0]);
|
docver = MyFolder.FolderDocVersions[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (_UnitIndex != 0 && docver != null)
|
||||||
|
{
|
||||||
|
ciText = DisplayText.ResolveUnitSpecific(docver, ciText);
|
||||||
|
|
||||||
|
if (ci.ContentRoUsageCount > 0)
|
||||||
|
{
|
||||||
|
ROFSTLookup lookup = docver.DocVersionAssociations[0].MyROFst.GetROFSTLookup(docver);
|
||||||
|
|
||||||
if (lookup != null)
|
if (lookup != null)
|
||||||
{
|
{
|
||||||
foreach (var RO in ci.ContentRoUsages)
|
foreach (var RO in ci.ContentRoUsages)
|
||||||
@@ -2006,6 +2012,7 @@ namespace VEPROMS
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return ciText;
|
return ciText;
|
||||||
|
@@ -115,6 +115,12 @@ namespace VEPROMS
|
|||||||
|
|
||||||
if (epexportblank || !string.IsNullOrEmpty(val))
|
if (epexportblank || !string.IsNullOrEmpty(val))
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (_UnitIndex != 0)
|
||||||
|
{
|
||||||
|
val = DisplayText.ResolveUnitSpecific(ii.MyDocVersion, val);
|
||||||
|
}
|
||||||
|
|
||||||
XmlElement xindivid = xe.OwnerDocument.CreateElement(EP.name);
|
XmlElement xindivid = xe.OwnerDocument.CreateElement(EP.name);
|
||||||
|
|
||||||
//need to resolve ROs ROSingle, ROMulti, in text
|
//need to resolve ROs ROSingle, ROMulti, in text
|
||||||
@@ -140,14 +146,14 @@ namespace VEPROMS
|
|||||||
//XML element with the same xml name as the AccID
|
//XML element with the same xml name as the AccID
|
||||||
foreach (Match m in matches)
|
foreach (Match m in matches)
|
||||||
{
|
{
|
||||||
ROFSTLookup.rochild roc = lookup.GetROChildByAccPageID(m.Groups[1].Value);
|
ROFSTLookup.rochild roc = lookup.GetROChildByAccPageID(m.Groups[0].Value);
|
||||||
|
|
||||||
// Exclude replacing Images since are binary - for those, add a sub item
|
// Exclude replacing Images since are binary - for those, add a sub item
|
||||||
if (Enumerable.Range(8, 15).Contains(roc.type))
|
if (Enumerable.Range(8, 15).Contains(roc.type))
|
||||||
{
|
{
|
||||||
xindivid.InnerText = val;
|
xindivid.InnerText = val;
|
||||||
|
|
||||||
XmlElement xroid = AddGraphic(xindivid, m.Groups[1].Value, roc, myRODB, roc.type != 8);
|
XmlElement xroid = AddGraphic(xindivid, m.Groups[0].Value, roc, myRODB, roc.type != 8);
|
||||||
|
|
||||||
xindivid.AppendChild(xroid);
|
xindivid.AppendChild(xroid);
|
||||||
}
|
}
|
||||||
@@ -159,7 +165,7 @@ namespace VEPROMS
|
|||||||
rocvalue = rocvalue.Replace("\xF8", "\xB0");
|
rocvalue = rocvalue.Replace("\xF8", "\xB0");
|
||||||
rocvalue = rocvalue.Replace("\x7F", "\x394"); //delta
|
rocvalue = rocvalue.Replace("\x7F", "\x394"); //delta
|
||||||
if (convertCaretToDeltaSymbol) rocvalue = rocvalue.Replace("^", "\x394"); // delta
|
if (convertCaretToDeltaSymbol) rocvalue = rocvalue.Replace("^", "\x394"); // delta
|
||||||
val = val.Replace($"<{m.Groups[1].Value}>", rocvalue);
|
val = val.Replace($"{m.Groups[0].Value}", rocvalue);
|
||||||
xindivid.InnerText = val;
|
xindivid.InnerText = val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -288,6 +294,8 @@ namespace VEPROMS
|
|||||||
// - that has an attribute designating the location of the image file
|
// - that has an attribute designating the location of the image file
|
||||||
private XmlElement AddGraphic(XmlElement xindivid, string Name, ROFSTLookup.rochild roc, RODbInfo rodb, bool isMulti)
|
private XmlElement AddGraphic(XmlElement xindivid, string Name, ROFSTLookup.rochild roc, RODbInfo rodb, bool isMulti)
|
||||||
{
|
{
|
||||||
|
Name = Name.Replace("<", "").Replace(">", "");
|
||||||
|
|
||||||
XmlElement xroid = xindivid.OwnerDocument.CreateElement(Name);
|
XmlElement xroid = xindivid.OwnerDocument.CreateElement(Name);
|
||||||
|
|
||||||
string imgfile = GetROImageFileLocation(roc, rodb, isMulti);
|
string imgfile = GetROImageFileLocation(roc, rodb, isMulti);
|
||||||
|
Reference in New Issue
Block a user